bi-components-library 1.0.29 → 1.0.30
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/index.es.js +1618 -1492
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +3 -3
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
(function(ae,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("react/jsx-runtime"),require("react"),require("antd"),require("@ant-design/icons"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","antd","@ant-design/icons","react-dom"],s):(ae=typeof globalThis<"u"?globalThis:ae||self,s(ae.SealSeekBIComponents={},ae.React,ae.React,ae.antd,ae.AntdIcons,ae.ReactDOM))})(this,function(ae,s,c,R,xe,Be){"use strict";const Pe=({variant:t="primary",loading:w=!1,children:f,...i})=>{const p=T=>{switch(T){case"primary":return"primary";case"ghost":return"default";case"dashed":return"dashed";case"link":return"link";case"text":return"text";default:return"primary"}};return s.jsx(R.Button,{...i,type:p(t),loading:w,ghost:t==="ghost",children:f})};Pe.__docgenInfo={displayName:"Button",description:"基础按钮,用于触发操作",props:{variant:{name:"variant",required:!1,description:"视觉风格",type:{name:"ButtonVariant",raw:'"primary" | "ghost" | "dashed" | "link" | "text"'},defaultValue:{value:'"primary"'}},loading:{name:"loading",required:!1,description:"是否加载中",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},children:{name:"children",required:!1,description:"按钮内容",type:{name:"ReactNode",raw:"React.ReactNode"}},size:{name:"size",required:!1,description:"按钮大小",type:{name:"ButtonSize",raw:'"small" | "middle" | "large"'}},disabled:{name:"disabled",required:!1,description:"是否禁用",type:{name:"boolean",raw:"boolean"}},onClick:{name:"onClick",required:!1,description:"点击事件",type:{name:"function",raw:"(event: MouseEvent) => void"}}}};const Oe=({title:t,children:w,bordered:f=!0,hoverable:i=!1,size:p="default",...T})=>s.jsx(R.Card,{...T,title:t,bordered:f,hoverable:i,size:p,children:w});Oe.__docgenInfo={displayName:"Card",description:"卡片容器,用于分组内容",props:{title:{name:"title",required:!1,description:"标题",type:{name:"ReactNode",raw:"React.ReactNode"}},children:{name:"children",required:!1,description:"内容区域",type:{name:"ReactNode",raw:"React.ReactNode"}},bordered:{name:"bordered",required:!1,description:"是否显示边框",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},hoverable:{name:"hoverable",required:!1,description:"是否可悬停",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},size:{name:"size",required:!1,description:"卡片大小",type:{name:"CardSize",raw:'"default" | "small"'},defaultValue:{value:'"default"'}},loading:{name:"loading",required:!1,description:"是否加载中",type:{name:"boolean",raw:"boolean"}},actions:{name:"actions",required:!1,description:"卡片操作组",type:{name:"ReactNode[]",raw:"React.ReactNode[]"}}}};const Ge=({showDefaultFooter:t=!0,...w})=>{const f=w.footer!==void 0?w.footer:t?(i,{OkBtn:p,CancelBtn:T})=>s.jsxs(s.Fragment,{children:[s.jsx(p,{}),s.jsx(T,{})]}):null;return s.jsx(R.Modal,{...w,footer:f})};Ge.__docgenInfo={displayName:"AppModal",description:"应用级模态框组件,基于 Ant Design Modal 封装",props:{showDefaultFooter:{name:"showDefaultFooter",required:!1,description:"是否显示默认的确定和取消按钮",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},title:{name:"title",required:!1,description:"模态框标题",type:{name:"ReactNode",raw:"React.ReactNode"}},open:{name:"open",required:!1,description:"是否显示模态框",type:{name:"boolean",raw:"boolean"}},onCancel:{name:"onCancel",required:!1,description:"取消按钮点击事件",type:{name:"function",raw:"(e: React.MouseEvent<HTMLElement>) => void"}},onOk:{name:"onOk",required:!1,description:"确定按钮点击事件",type:{name:"function",raw:"(e: React.MouseEvent<HTMLElement>) => void"}},children:{name:"children",required:!1,description:"模态框内容",type:{name:"ReactNode",raw:"React.ReactNode"}},width:{name:"width",required:!1,description:"模态框宽度",type:{name:"string | number",raw:"string | number"}},centered:{name:"centered",required:!1,description:"是否居中显示",type:{name:"boolean",raw:"boolean"}},maskClosable:{name:"maskClosable",required:!1,description:"点击蒙层是否允许关闭",type:{name:"boolean",raw:"boolean"}}}};const He=({scrollX:t,showPagination:w=!0,defaultPageSize:f=10,...i})=>s.jsx(R.Table,{...i,scroll:{x:t||"max-content",y:"50vh"},pagination:w?{hideOnSinglePage:!0,showSizeChanger:!0,showQuickJumper:!0,defaultPageSize:f,...i.pagination}:!1});He.__docgenInfo={displayName:"PageTable",description:"页面级表格组件,高度铺满容器,自动滚动",props:{scrollX:{name:"scrollX",required:!1,description:"水平滚动宽度",type:{name:"number",raw:"number"}},showPagination:{name:"showPagination",required:!1,description:"是否显示分页器",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},defaultPageSize:{name:"defaultPageSize",required:!1,description:"默认页面大小",type:{name:"number",raw:"number"},defaultValue:{value:"10"}},columns:{name:"columns",required:!1,description:"表格列配置",type:{name:"ColumnType[]",raw:"ColumnType<any>[]"}},dataSource:{name:"dataSource",required:!1,description:"数据源",type:{name:"any[]",raw:"any[]"}},loading:{name:"loading",required:!1,description:"是否加载中",type:{name:"boolean",raw:"boolean"}},rowKey:{name:"rowKey",required:!1,description:"行数据的 Key",type:{name:"string | function",raw:"string | ((record: any) => string)"}}}};const nt=xe.createFromIconfontCN({scriptUrl:["https://at.alicdn.com/t/c/font_4968458_eh91gfr4j9e.js"]}),Fe=({name:t,size:w,color:f,style:i,...p})=>{const T={fontSize:w,color:f,...i};return s.jsx(nt,{...p,type:t,style:T})};Fe.__docgenInfo={displayName:"XcIcon",description:"自定义图标组件,基于 iconfont",props:{name:{name:"name",required:!0,description:"图标名称",type:{name:"string",raw:"string"}},size:{name:"size",required:!1,description:"图标大小",type:{name:"number | string",raw:"number | string"}},color:{name:"color",required:!1,description:"图标颜色",type:{name:"string",raw:"string"}},className:{name:"className",required:!1,description:"自定义类名",type:{name:"string",raw:"string"}},style:{name:"style",required:!1,description:"自定义样式",type:{name:"CSSProperties",raw:"React.CSSProperties"}}}};const ze=({loading:t,description:w="暂无数据",className:f,emptyChildren:i,loadingText:p,emptyImage:T})=>t?s.jsxs(R.Flex,{className:`pt-10 w-full ${f||""}`,align:"center",justify:"center",vertical:!0,children:[s.jsx(R.Spin,{size:"large"}),p&&s.jsx("div",{className:"mt-4 text-gray-500",children:p})]}):s.jsx(R.Flex,{className:`pt-10 w-full ${f||""}`,align:"center",justify:"center",children:s.jsx(R.Empty,{image:T,description:w,imageStyle:{height:180},children:i})});ze.__docgenInfo={displayName:"EmptyAndSpin",description:"空状态和加载状态组合组件",props:{loading:{name:"loading",required:!0,description:"是否加载中",type:{name:"boolean",raw:"boolean"}},description:{name:"description",required:!1,description:"空状态描述",type:{name:"ReactNode",raw:"React.ReactNode"},defaultValue:{value:'"暂无数据"'}},className:{name:"className",required:!1,description:"自定义类名",type:{name:"string",raw:"string"}},emptyChildren:{name:"emptyChildren",required:!1,description:"空状态额外内容",type:{name:"ReactNode",raw:"React.ReactNode"}},loadingText:{name:"loadingText",required:!1,description:"加载中提示文字",type:{name:"string",raw:"string"}},emptyImage:{name:"emptyImage",required:!1,description:"空状态图片",type:{name:"string",raw:"string"}}}};const We=({onClick:t,showText:w=!1,className:f,size:i="small",type:p="default"})=>s.jsx(R.Button,{size:i,type:p,icon:s.jsx(xe.LeftOutlined,{}),className:`cursor-pointer ${f||""}`,onClick:t,children:w&&"返回"});We.__docgenInfo={displayName:"BackButton",description:"返回按钮组件",props:{onClick:{name:"onClick",required:!1,description:"点击事件",type:{name:"function",raw:"() => void"}},showText:{name:"showText",required:!1,description:"是否显示文字",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},className:{name:"className",required:!1,description:"自定义类名",type:{name:"string",raw:"string"}},size:{name:"size",required:!1,description:"按钮大小",type:{name:"ButtonSize",raw:'"small" | "middle" | "large"'},defaultValue:{value:'"small"'}},type:{name:"type",required:!1,description:"按钮类型",type:{name:"ButtonType",raw:'"primary" | "default" | "dashed" | "link" | "text"'},defaultValue:{value:'"default"'}}}};const je=({removePadding:t=!0,className:w,...f})=>{const i=t?`px-0 h-auto ${w||""}`:w;return s.jsx(R.Button,{type:"link",...f,className:i,children:f.children})};je.__docgenInfo={displayName:"LinkButton",description:"链接样式按钮组件,适用于表格操作列",props:{removePadding:{name:"removePadding",required:!1,description:"是否去除默认内边距",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},children:{name:"children",required:!1,description:"按钮内容",type:{name:"ReactNode",raw:"React.ReactNode"}},onClick:{name:"onClick",required:!1,description:"点击事件",type:{name:"function",raw:"(event: React.MouseEvent<HTMLButtonElement>) => void"}},disabled:{name:"disabled",required:!1,description:"是否禁用",type:{name:"boolean",raw:"boolean"}},className:{name:"className",required:!1,description:"自定义类名",type:{name:"string",raw:"string"}}}};const{Option:at}=R.Select,Ue=({columns:t,request:w,searchFields:f=[],showSearch:i=!0,showRefresh:p=!0,defaultPageSize:T=10,pageSizeOptions:M=["10","20","50","100"],autoLoad:C=!0,externalParams:$={},...e})=>{const[q,m]=c.useState([]),[l,r]=c.useState(!1),[n,o]=c.useState({current:1,pageSize:T,total:0}),[a,y]=c.useState({}),[h,b]=c.useState({}),[k]=R.Form.useForm(),B=c.useRef(n);B.current=n;const E=c.useRef($);E.current=$;const O=c.useRef(!1),z=c.useMemo(()=>t.map(u=>{const{sortable:d,render:x,...I}=u;return{...I,sorter:d?!0:void 0,render:x||(N=>N)}}),[t]),W=c.useCallback(async(u={})=>{if(w){r(!0);try{const d={page:B.current.current,pageSize:B.current.pageSize,sortField:h.field,sortOrder:h.order,searchParams:{...a,...E.current},...u},x=await w(d);x.success&&(m(x.data),o(I=>({...I,total:x.total,current:d.page||I.current})))}catch(d){console.error("加载数据失败:",d)}finally{r(!1)}}},[w,h,a]),Y=c.useCallback(u=>{y(u),o(d=>({...d,current:1}))},[]),H=c.useCallback(()=>{k.resetFields(),y({}),o(u=>({...u,current:1}))},[k]),Z=c.useCallback(()=>{W()},[W]),ne=c.useCallback((u,d,x)=>{const I={current:u.current||1,pageSize:u.pageSize||T,total:u.total||0},N={field:x?.field,order:x?.order};o(I),b(N)},[T]);return c.useEffect(()=>{const u=Object.keys($).length>0;(C&&!O.current||u)&&(W(),O.current=!0)},[C,$,W]),s.jsxs("div",{children:[i&&f.length>0&&s.jsx(R.Card,{size:"small",style:{marginBottom:16},children:s.jsxs(R.Form,{form:k,layout:"inline",onFinish:Y,initialValues:f.reduce((u,d)=>(d.defaultValue!==void 0&&(u[d.key]=d.defaultValue),u),{}),children:[f.map(u=>s.jsx(R.Form.Item,{name:u.key,label:u.label,children:u.type==="input"?s.jsx(R.Input,{placeholder:u.placeholder||`请输入${u.label}`,style:{width:200}}):s.jsx(R.Select,{placeholder:u.placeholder||`请选择${u.label}`,style:{width:200},allowClear:!0,children:u.options?.map(d=>s.jsx(at,{value:d.value,children:d.label},d.value))})},u.key)),s.jsx(R.Form.Item,{children:s.jsxs(R.Space,{children:[s.jsx(R.Button,{type:"primary",htmlType:"submit",icon:s.jsx(xe.SearchOutlined,{}),children:"查询"}),s.jsx(R.Button,{onClick:H,children:"重置"}),p&&s.jsx(R.Button,{icon:s.jsx(xe.ReloadOutlined,{}),onClick:Z,children:"刷新"})]})})]})}),s.jsx(R.Table,{...e,columns:z,dataSource:q,loading:l,pagination:{...n,showSizeChanger:!0,showQuickJumper:!0,showTotal:(u,d)=>`第 ${d[0]}-${d[1]} 条/共 ${u} 条`,pageSizeOptions:M},onChange:ne,scroll:{x:"max-content",y:"50vh"}})]})};Ue.__docgenInfo={displayName:"AdvancedTable",description:"高阶表格组件,支持异步请求、搜索、排序等功能",props:{columns:{name:"columns",required:!0,description:"列配置",type:{name:"AdvancedColumnType[]",raw:"AdvancedColumnType<any>[]"}},request:{name:"request",required:!1,description:"异步请求函数",type:{name:"function",raw:"(params: RequestParams) => Promise<RequestResponse>"}},searchFields:{name:"searchFields",required:!1,description:"搜索字段配置",type:{name:"SearchFieldConfig[]",raw:"SearchFieldConfig[]"},defaultValue:{value:"[]"}},showSearch:{name:"showSearch",required:!1,description:"是否显示搜索区域",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},showRefresh:{name:"showRefresh",required:!1,description:"是否显示刷新按钮",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},defaultPageSize:{name:"defaultPageSize",required:!1,description:"默认页面大小",type:{name:"number",raw:"number"},defaultValue:{value:"10"}},pageSizeOptions:{name:"pageSizeOptions",required:!1,description:"页面大小选项",type:{name:"string[]",raw:"string[]"},defaultValue:{value:'["10", "20", "50", "100"]'}},autoLoad:{name:"autoLoad",required:!1,description:"是否自动加载",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},externalParams:{name:"externalParams",required:!1,description:"外部请求参数",type:{name:"Record<string, any>",raw:"Record<string, any>"},defaultValue:{value:"{}"}}}};function Le(t,w,f){if(!t.current)return;const i=new Set,p={};for(const m of w)m.exclusionGroup&&m.exclusionGroup!=="separator"&&(i.add(m.exclusionGroup),p[m.exclusionGroup]||(p[m.exclusionGroup]=[]),p[m.exclusionGroup].push({type:m.type,key:m.key,exclusionGroup:m.exclusionGroup}));const T={};for(const m of i){T[m]=!1;for(const l of p[m])if(l.type==="upload"&&l.key){if(f[l.key]!==null&&f[l.key]!==void 0){T[m]=!0;break}}else if(l.type==="variable"&&l.key){const r=t.current.querySelector(`[data-type="variable"][data-key="${l.key}"]`);if(r&&r.innerText.replace(/[\u200B\n]/g,"").trim().length>0){T[m]=!0;break}}}const M=w.some(m=>m.exclusionGroup==="separator"),$=Object.keys(T).filter(m=>T[m]).length>0;let e=null;if($&&M){for(const m of w)if(m.exclusionGroup&&m.exclusionGroup!=="separator"&&T[m.exclusionGroup]){e=m.exclusionGroup;break}}for(const m of i){const l=t.current.querySelectorAll(`[data-group="${m}"]`);M&&$&&e?m===e?l.forEach(r=>{r.classList.contains("required-upload-group")?r.style.setProperty("display","inline-flex","important"):(r.classList.contains("exclusion-wrapper"),r.style.setProperty("display","inline-block","important"))}):l.forEach(r=>{r.style.display="none",r.style.setProperty("display","none","important")}):l.forEach(r=>{r.classList.contains("required-upload-group")?r.style.setProperty("display","inline-flex","important"):(r.classList.contains("exclusion-wrapper"),r.style.setProperty("display","inline-block","important"))})}t.current.querySelectorAll('[data-group="separator"]').forEach(m=>{m.style.display=$?"none":"inline"})}function Ie(t,w,f,i){if(!t.current){i(!1);return}const p=[];for(let l=0;l<w.length;l++){const r=w[l];if((r.type==="variable"||r.type==="upload"||r.type==="multi-variable"||r.type==="select"||r.type==="textarea"||r.type==="richtext"||r.type==="datepicker")&&r.required&&r.key){p.push({exclusionGroup:r.exclusionGroup||"",key:r.key,type:r.type==="multi-variable"?"variable":r.type,isMultiVariable:r.type==="multi-variable",minCount:r.type==="multi-variable"?r.minCount:void 0,__index:l});continue}if(r.type==="text"&&r.className?.includes("rte-text-required"))if(r.exclusionGroup)for(let n=l+1;n<w.length;n++){const o=w[n];if(o.exclusionGroup===r.exclusionGroup&&(o.type==="variable"||o.type==="upload"||o.type==="select"||o.type==="textarea"||o.type==="richtext"||o.type==="datepicker")&&o.key){p.push({exclusionGroup:r.exclusionGroup,key:o.key,type:o.type,__index:n});break}}else for(let n=l+1;n<w.length;n++){const o=w[n];if((o.type==="variable"||o.type==="upload"||o.type==="select"||o.type==="textarea"||o.type==="richtext"||o.type==="datepicker")&&o.key){p.push({exclusionGroup:o.exclusionGroup||"",key:o.key,type:o.type,__index:n});break}}}const T=w.some(l=>l.exclusionGroup==="separator"),M=[];if(T&&p.length>1){const l=[];w.forEach((r,n)=>{r.exclusionGroup==="separator"&&l.push(n)});for(const r of l){const o=p.filter(h=>typeof h.__index=="number"&&h.__index<r).sort((h,b)=>(b.__index??0)-(h.__index??0))[0],y=p.filter(h=>typeof h.__index=="number"&&h.__index>r).sort((h,b)=>(h.__index??0)-(b.__index??0))[0];o&&y&&M.push([o,y])}}if(p.length===0){if(w.length===0){if(!t.current){i(!1);return}const l=t.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";i(l.length>0);return}i(!0);return}const C=p.filter(l=>{if(!t.current)return!1;if(l.exclusionGroup){const r=t.current.querySelectorAll(`[data-group="${l.exclusionGroup}"]`);if(r.length>0)return r[0].style.display!=="none"}if(l.type==="upload"&&l.key){const r=t.current.querySelector(`[data-type="upload"][data-key="${l.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}else if(l.type==="variable"&&l.key)if(l.isMultiVariable){const r=t.current.querySelectorAll(`[data-type="variable"][data-multi-key="${l.key}"]`);if(r.length>0){const n=r[0],o=n.closest("[data-group]")||n.parentElement;return o?o.style.display!=="none":!0}}else{const r=t.current.querySelector(`[data-type="variable"][data-key="${l.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}else if(l.type==="select"&&l.key){const r=t.current.querySelector(`[data-type="select"][data-key="${l.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}else if(l.type==="textarea"&&l.key){const r=t.current.querySelector(`[data-type="textarea"][data-key="${l.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}else if(l.type==="richtext"&&l.key){const r=t.current.querySelector(`[data-type="richtext"][data-key="${l.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}else if(l.type==="datepicker"&&l.key){const r=t.current.querySelector(`[data-type="datepicker"][data-key="${l.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}return!1});if(C.length===0){i(!0);return}const $=new Set;M.forEach(l=>{l.forEach(r=>{r.key&&$.add(r.key)})});const e=C.filter(l=>!l.key||!$.has(l.key));let q=(M.length===0,!0);for(const l of M){const r=l.filter(o=>{if(!t.current)return!1;if(o.exclusionGroup){const a=t.current.querySelectorAll(`[data-group="${o.exclusionGroup}"]`);if(a.length>0)return a[0].style.display!=="none"}return!0});if(r.length===0)continue;let n=!1;for(const o of r)if(o.type==="upload"&&o.key){if(f[o.key]!==null&&f[o.key]!==void 0){n=!0;break}}else if(o.type==="variable"&&o.key)if(o.isMultiVariable){const a=t.current.querySelectorAll(`[data-type="variable"][data-multi-key="${o.key}"]`);let y=0;for(const b of Array.from(a)){if(b.classList.contains("show-placeholder"))continue;b.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&(y+=1)}const h=o.minCount&&o.minCount>0?o.minCount:1;if(y>=h){n=!0;break}}else{const a=t.current.querySelector(`[data-type="variable"][data-key="${o.key}"]`);if(a){if(a.classList.contains("show-placeholder"))continue;if(a.innerText.replace(/[\u200B\n]/g,"").trim().length>0){n=!0;break}}}else if(o.type==="select"&&o.key){const a=t.current.querySelector(`[data-type="select"][data-key="${o.key}"]`);if(a&&(a.value||"").trim().length>0){n=!0;break}}else if(o.type==="textarea"&&o.key){const a=t.current.querySelector(`[data-type="textarea"][data-key="${o.key}"]`);if(a&&(a.value||"").trim().length>0){n=!0;break}}else if(o.type==="richtext"&&o.key){const a=t.current.querySelector(`[data-type="richtext"][data-key="${o.key}"]`);if(a&&(a.textContent||"").replace(/[\u200B]/g,"").trim().length>0){n=!0;break}}else if(o.type==="datepicker"&&o.key){const a=t.current.querySelector(`[data-type="datepicker"][data-key="${o.key}"]`);if(a&&(a.getAttribute("data-value")||"").trim().length>0){n=!0;break}}if(!n){q=!1;break}}let m=!0;for(const l of e)if(l.type==="upload"&&l.key){if(f[l.key]===null||f[l.key]===void 0){m=!1;break}}else if(l.type==="variable"&&l.key)if(l.isMultiVariable){const r=t.current.querySelectorAll(`[data-type="variable"][data-multi-key="${l.key}"]`);let n=0;for(const a of Array.from(r)){if(a.classList.contains("show-placeholder"))continue;a.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&(n+=1)}const o=l.minCount&&l.minCount>0?l.minCount:1;if(n<o){m=!1;break}}else{const r=t.current.querySelector(`[data-type="variable"][data-key="${l.key}"]`);if(!r){m=!1;break}if(r.classList.contains("show-placeholder")){m=!1;break}if(r.innerText.replace(/[\u200B\n]/g,"").trim().length===0){m=!1;break}}else if(l.type==="select"&&l.key){const r=t.current.querySelector(`[data-type="select"][data-key="${l.key}"]`);if(!r||(r.value||"").trim().length===0){m=!1;break}}else if(l.type==="textarea"&&l.key){const r=t.current.querySelector(`[data-type="textarea"][data-key="${l.key}"]`);if(!r||(r.value||"").trim().length===0){m=!1;break}}else if(l.type==="richtext"&&l.key){const r=t.current.querySelector(`[data-type="richtext"][data-key="${l.key}"]`);if(!r||(r.textContent||"").replace(/[\u200B]/g,"").trim().length===0){m=!1;break}}else if(l.type==="datepicker"&&l.key){const r=t.current.querySelector(`[data-type="datepicker"][data-key="${l.key}"]`);if(!r||(r.getAttribute("data-value")||"").trim().length===0){m=!1;break}}i(q&&m)}function _e(t,w){if(!t.current)return;t.current.querySelectorAll('[data-type="variable"]').forEach(i=>{const p=i.innerText.replace(/\n/g,"");p.replace(/\u200B/g,"")?i.classList.remove("show-placeholder"):(p!==""&&(i.innerText=""),i.classList.add("show-placeholder"))})}function rt(t,w,f,i,p,T={},M){if(!t.current)return;let C="",$=0;for(;$<w.length;){const e=w[$],q=$+1<w.length?w[$+1]:null;if(e.type==="text"&&(e.text?.includes("icon-bitian")||e.className==="rte-text-required")&&q){const a=q.type==="upload"&&q.exclusionGroup==="fileInput"&&e.exclusionGroup==="fileInput"&&e.exclusionGroup===q.exclusionGroup,y=q.type==="variable"&&q.exclusionGroup==="textInput"&&e.exclusionGroup==="textInput"&&e.exclusionGroup===q.exclusionGroup;if(a){const b=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group">`,k="</span>";let B="";e.className?B=`<span class="${e.className}">${e.text??""}</span>`:B=e.text??"";const E=q,O=f[E.key]!==null&&f[E.key]!==void 0,z=O?f[E.key]:null,W=O?f[E.key]?.name:E.text,Y=O?"":"hidden",H=E.tooltip&&!O?"":"hidden",Z=O?"has-file":"",ne=O&&W?` data-file-name="${W.replace(/"/g,""")}"`:"";let u="";O&&z&&(z.type?.startsWith("image/")?u=`<img class="upload-icon-img upload-icon-preview" src="${URL.createObjectURL(z)}" alt="preview" />`:u="<i class='iconfont icon-exlwenjian'></i>");const d=`<span contenteditable="false" data-type="upload" data-key="${E.key}" class="upload-chip"><span class="upload-inner-wrapper ${Z}"><span class="upload-icon">${u}</span><span class="upload-label"${ne}>${W||E.text}</span>${E.tooltip?`<i contenteditable="false" class="iconfont icon-tishi upload-info-icon ${H}" data-upload-key="${E.key}" data-tooltip="${E.tooltip}" title="提示"></i>`:""}<span class="file-remove-btn ${Y}" title="移除文件">×</span></span></span>`;C+=b+B+d+k,$+=2;continue}if(y){const b=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group">`,k="</span>";let B="";e.className?B=`<span class="${e.className}">${e.text??""}</span>`:B=e.text??"";const E=q,z=(E.key?p[E.key]:void 0)||E.text||"",W=!z,Y=W?"":z,H=W?"show-placeholder":"",Z=E.exclusionGroup?` data-group="${E.exclusionGroup}"`:"",ne=E.tooltip?` data-tooltip="${E.tooltip.replace(/"/g,""")}" data-variable-key="${E.key||""}"`:"",u=E.tooltip&&W?"":"hidden",d=`<span contenteditable="true" data-type="variable" data-key="${E.key}" data-placeholder="${E.placeholder||""}"${Z}${ne} class="variable-chip ${H}">${Y}${E.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${u}" data-variable-key="${E.key}" data-tooltip="${E.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;C+=b+B+d+k,$+=2;continue}}const l=e.exclusionGroup?`data-group="${e.exclusionGroup}"`:"",r=e.exclusionGroup?`<span ${l} class="exclusion-wrapper">`:"",n=e.exclusionGroup?"</span>":"";let o="";if(e.type==="tag"){const y=i||M==="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>',h=i?' data-locked="true"':"",b=e.tooltip?` data-tooltip="${e.tooltip.replace(/"/g,""")}" data-tag-key="${e.key||""}"`:"";o=`<span contenteditable="false" class="tag-node group"${h}${b}><span class="tag-label">${e.text}</span>${y}</span>`}else if(e.type==="text"){const a=i?' data-locked="true" contenteditable="false"':' contenteditable="false"',h=(e.text??"").replace(/\n/g,"<br/>");e.className?o=`<span class="${e.className}"${a}>${h}</span>`:o=i?`<span${a}>${h}</span>`:`<span contenteditable="false">${h}</span>`}else if(e.type==="variable"&&e.key){const y=p[e.key]||e.text||"",h=!y,b=h?"":y,k=h?"show-placeholder":"",B=e.exclusionGroup?` data-group="${e.exclusionGroup}"`:"",E=e.tooltip?` data-tooltip="${e.tooltip.replace(/"/g,""")}" data-variable-key="${e.key||""}"`:"",O=e.tooltip&&h?"":"hidden",z=`<span contenteditable="true" data-type="variable" data-key="${e.key}" data-placeholder="${e.placeholder||""}"${B}${E} class="variable-chip ${k}">${b}${e.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${O}" data-variable-key="${e.key}" data-tooltip="${e.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;e.required?o=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${z}</span>`:o=z}else if(e.type==="upload"&&e.key){const a=f[e.key]!==null&&f[e.key]!==void 0,y=a?f[e.key]:null,h=a?f[e.key]?.name:e.text,b=a?"":"hidden",k=e.tooltip&&!a?"":"hidden",B=a?"has-file":"",E=a&&h?` data-file-name="${h.replace(/"/g,""")}"`:"";let O="";a&&y&&(y.type?.startsWith("image/")?O=`<img class="upload-icon-img upload-icon-preview" src="${URL.createObjectURL(y)}" alt="preview" />`:O="<i class='iconfont icon-exlwenjian'></i>");const z=`<span contenteditable="false" data-type="upload" data-key="${e.key}" class="upload-chip"><span class="upload-inner-wrapper ${B}"><span class="upload-icon">${O}</span><span class="upload-label"${E}>${h||e.text}</span>${e.tooltip?`<i contenteditable="false" class="iconfont icon-tishi upload-info-icon ${k}" data-upload-key="${e.key}" data-tooltip="${e.tooltip}" title="提示"></i>`:""}<span class="file-remove-btn ${b}" title="移除文件">×</span></span></span>`;e.required?o=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${z}</span>`:o=z}else if(e.type==="select"&&e.key){const a=p[e.key]||e.defaultValue||"",y=(e.options||[]).map(k=>{const B=a===k.value?"selected":"";return`<option value="${k.value}" ${B}>${k.label}</option>`}).join(""),h=e.placeholder?`<option value="" ${a?"":"selected"} disabled hidden>${e.placeholder}</option>`:"",b=`<select data-type="select" data-key="${e.key}" class="rte-select">${h}${y}</select>`;e.required?o=`<span ${e.exclusionGroup?`data-group="${e.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>`:o=b}else if(e.type==="textarea"&&e.key){const a=p[e.key]||"",y=e.maxHeight||252,h=e.expandable!==!1,b=e.placeholder?` placeholder="${e.placeholder}"`:"",k=`<textarea data-type="textarea" data-key="${e.key}" class="rte-textarea" data-max-height="${y}" style="max-height:${y}px;"${b}>${a}</textarea>`,B=h?`<button type="button" class="rte-textarea-toggle" data-key="${e.key}" data-expanded="false">展开</button>`:"",E=`<div class="rte-textarea-wrapper" data-key="${e.key}">${k}${B}</div>`;e.required?o=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${E}</span>`:o=E}else if(e.type==="richtext"&&e.key){const a=p[e.key]||e.text||"",y=e.minHeight||140,h=e.placeholder?` data-placeholder="${e.placeholder}"`:"",b=e.expandable!==!1,k=a,B=`<div contenteditable="true" data-type="richtext" data-key="${e.key}" class="rte-richtext"${h} style="min-height:${y}px;">${k}</div>`,E=b?`<button type="button" class="rte-richtext-toggle" data-key="${e.key}" data-expanded="false">展开</button>`:"",O=`<div class="rte-richtext-wrapper" data-key="${e.key}">${B}${E}</div>`,z=`<div class="rte-richtext-container" data-key="${e.key}">${O}</div>`;e.required?o=`<div ${e.exclusionGroup?`data-group="${e.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>${z}</div>`:o=z}else if(e.type==="datepicker"&&e.key){const a=p[e.key]||"",y=e.placeholder?` data-placeholder="${e.placeholder}"`:"",h=e.limitRange?` data-limit-range="${e.limitRange}"`:"",b=e.disableFuture?' data-disable-future="true"':"",k=`<div data-type="datepicker" data-key="${e.key}" data-value="${a}" class="rte-datepicker-host"${y}${h}${b}></div>`;e.required?o=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${k}</span>`:o=k}else if(e.type==="multi-variable"&&e.key){const a=e.maxCount||9,y=T[e.key]||1,h=Math.min(y,a);if(e.required){const b=`<span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>`,k=e.exclusionGroup?`data-group="${e.exclusionGroup}"`:"";let B="";for(let E=0;E<h;E++){const O=`${e.key}_${E}`,z=p[O]||"",W=!z,Y=W?"":z,H=W?"show-placeholder":"",Z=e.tooltip?` data-tooltip="${e.tooltip.replace(/"/g,""")}" data-variable-key="${e.key||""}"`:"",ne=e.tooltip&&W?"":"hidden",u=`<span contenteditable="true" data-type="variable" data-key="${O}" data-multi-key="${e.key}" data-index="${E}" data-placeholder="${e.placeholder||""}"${Z} class="variable-chip ${H}">${Y}${e.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${ne}" data-variable-key="${e.key}" data-tooltip="${e.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;E===0?B+=`<span ${k} class="exclusion-wrapper required-upload-group required-multi-first">${b}${u}</span>`:B+=u}o=B}else{let b="";for(let k=0;k<h;k++){const B=`${e.key}_${k}`,E=p[B]||"",O=!E,z=O?"":E,W=O?"show-placeholder":"",Y=e.tooltip?` data-tooltip="${e.tooltip.replace(/"/g,""")}" data-variable-key="${e.key||""}"`:"",H=e.tooltip&&O?"":"hidden",Z=`<span contenteditable="true" data-type="variable" data-key="${B}" data-multi-key="${e.key}" data-index="${k}" data-placeholder="${e.placeholder||""}"${Y} class="variable-chip ${W}">${z}${e.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${H}" data-variable-key="${e.key}" data-tooltip="${e.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;b+=Z}o=b}}C+=r+o+n,$++}t.current&&(t.current.innerHTML=C,setTimeout(()=>{if(!t.current)return;t.current.querySelectorAll('[data-type="variable"]').forEach(q=>{const m=q.innerText.replace(/\n/g,"");m.replace(/\u200B/g,"")?q.classList.remove("show-placeholder"):(m!==""&&(q.innerText=""),q.classList.add("show-placeholder"))})},0))}function ot(t,w,f,i,p={},T,M,C){const $=c.useCallback(()=>{if(!t.current)return;if(w.length===0){t.current.innerHTML="";return}let e={};const m=t.current.__tempVariableValues;if(m?(e=m,setTimeout(()=>{if(t.current){const l=t.current;l.__tempVariableValues===m&&delete l.__tempVariableValues}},100)):(t.current.querySelectorAll('[data-type="variable"]').forEach(y=>{const h=y.dataset.key;if(h){const b=y.innerText.replace(/[\u200B\n]/g,"").trim();b&&(e[h]=b)}}),t.current.querySelectorAll('[data-type="select"]').forEach(y=>{const h=y.dataset.key;if(h){const b=y.value.trim();b&&(e[h]=b)}}),t.current.querySelectorAll('[data-type="textarea"]').forEach(y=>{const h=y.dataset.key;if(h){const b=y.value.replace(/[\u200B]/g,"").trim();b&&(e[h]=b)}}),t.current.querySelectorAll('[data-type="richtext"]').forEach(y=>{const h=y.dataset.key;if(h){const b=(y.textContent||"").replace(/[\u200B]/g,"").trim();b&&(e[h]=b)}}),t.current.querySelectorAll('[data-type="datepicker"]').forEach(y=>{const h=y.dataset.key;if(h){const b=(y.getAttribute("data-value")||"").trim();b&&(e[h]=b)}})),rt(t,w,f,i,e,p,C),T?.current){const{key:l,offset:r}=T.current;setTimeout(()=>{if(!t.current)return;const n=t.current.querySelector(`[data-type="variable"][data-key="${l}"]`);if(n){try{const o=document.createRange(),a=document.createTreeWalker(n,NodeFilter.SHOW_TEXT,null);let y=0,h=null,b=0;for(;a.nextNode();){const k=a.currentNode,B=k.textContent?.length||0;if(y+B>=r){h=k,b=r-y;break}y+=B}if(h){o.setStart(h,Math.min(b,h.textContent?.length||0)),o.collapse(!0);const k=window.getSelection();k&&(k.removeAllRanges(),k.addRange(o),n.focus())}else{o.selectNodeContents(n),o.collapse(!1);const k=window.getSelection();k&&(k.removeAllRanges(),k.addRange(o),n.focus())}}catch{const o=document.createRange();o.selectNodeContents(n),o.collapse(!1);const a=window.getSelection();a&&(a.removeAllRanges(),a.addRange(o),n.focus())}T.current=null}},0)}},[w,f,i,t,p,T,M,C]);c.useEffect(()=>{$()},[$])}function st(t,w,f,i){c.useEffect(()=>{const p=t.current;if(!p)return;const T=C=>{const $=C.target?.closest(".upload-info-icon");if($&&$.classList.contains("upload-info-icon")){const q=$.dataset.uploadKey;q&&i({key:q,anchorEl:$,type:"upload"});return}const e=C.target?.closest('[data-type="upload"]');if(e){const q=e.dataset.key;if(q){const m=f[q];m&&m.type&&m.type.startsWith("image/")&&i({key:q,anchorEl:e,type:"upload-preview"})}}},M=C=>{const $=C.target?.closest(".upload-info-icon"),e=C.relatedTarget;if($&&$.classList.contains("upload-info-icon")){!e||!p.contains(e)?i(null):e.closest(".upload-info-icon")||i(null);return}const q=C.target?.closest('[data-type="upload"]');if(q){const m=e;if(m&&q.contains(m))return;i(null)}};return p.addEventListener("mouseover",T,!0),p.addEventListener("mouseout",M,!0),()=>{p.removeEventListener("mouseover",T,!0),p.removeEventListener("mouseout",M,!0)}},[w,f,t,i])}function lt(t,w,f,i){c.useEffect(()=>{if(!t.current)return;const p=$=>{if(i==="hideTagClose")return;const e=$.currentTarget,q=e.dataset.tooltip,m=e.dataset.tagKey||"";q&&f({key:m,anchorEl:e,type:"tag"})},T=()=>{f(null)};let M;const C=()=>{if(!t.current)return;t.current.querySelectorAll(".tag-node[data-tooltip]").forEach(e=>{e.addEventListener("mouseenter",p),e.addEventListener("mouseleave",T)})};return M=requestAnimationFrame(()=>{M=requestAnimationFrame(C)}),()=>{cancelAnimationFrame(M),t.current&&t.current.querySelectorAll(".tag-node[data-tooltip]").forEach(e=>{e.removeEventListener("mouseenter",p),e.removeEventListener("mouseleave",T)})}},[w,t,f,i])}function it(t,w,f){c.useEffect(()=>{const i=t.current;if(!i)return;const p=M=>{const C=M.target?.closest(".variable-info-icon");if(C&&C.classList.contains("variable-info-icon")){const $=C.dataset.variableKey;$&&f({key:$,anchorEl:C,type:"variable"})}},T=M=>{const C=M.target?.closest(".variable-info-icon"),$=M.relatedTarget;C&&C.classList.contains("variable-info-icon")&&(!$||!i.contains($)?f(null):$.closest(".variable-info-icon")||f(null))};return i.addEventListener("mouseover",p,!0),i.addEventListener("mouseout",T,!0),()=>{i.removeEventListener("mouseover",p,!0),i.removeEventListener("mouseout",T,!0)}},[w,t,f])}function ct(t,w,f,i){c.useEffect(()=>{if(!t.current)return;const p=$=>{const e=$.currentTarget;e.dataset.fileName&&i({key:"",anchorEl:e,type:"upload-label"})},T=()=>{i(null)};let M;const C=()=>{if(!t.current)return;t.current.querySelectorAll(".upload-label[data-file-name]").forEach(e=>{e.addEventListener("mouseenter",p),e.addEventListener("mouseleave",T)})};return M=requestAnimationFrame(()=>{M=requestAnimationFrame(C)}),()=>{cancelAnimationFrame(M),t.current&&t.current.querySelectorAll(".upload-label[data-file-name]").forEach(e=>{e.removeEventListener("mouseenter",p),e.removeEventListener("mouseleave",T)})}},[w,f,t,i])}function ut(t,w,f,i){c.useEffect(()=>{const p=setTimeout(()=>{Le(t,w,f),Ie(t,w,f,i)},0);return()=>clearTimeout(p)},[f,w,t,i])}function dt(t,w){const f=c.useRef(0);c.useEffect(()=>{if(!t.current)return;let i=!1,p=0;const T=a=>a instanceof HTMLElement?!!(a.closest(".rte-datepicker-wrapper")||a.closest(".rte-datepicker-host")||a.closest(".ant-picker")||a.closest(".ant-picker-dropdown")):!1,M=a=>{i=!0,T(a.target)&&(f.current=Date.now(),console.log("[SelectionCtrl] mousedown on datepicker target"))},C=()=>{i=!1,p=Date.now()};let $=!1,e=0;const q=()=>{$=!0},m=()=>{$=!1,e=Date.now()},l=()=>{e=Date.now()},r=a=>{T(a.target)&&(f.current=Date.now(),console.log("[SelectionCtrl] focusin datepicker target"))},n=()=>{if(Date.now()-f.current<800){console.log("[SelectionCtrl] skip selectionchange due to recent datepicker interaction");return}const a=document.activeElement;if(a&&(a.closest(".rte-datepicker-wrapper")||a.closest(".rte-datepicker-host")||a.closest(".ant-picker-dropdown")||a.tagName==="INPUT"&&a.closest(".ant-picker"))){console.log("[SelectionCtrl] activeElement is datepicker; skip");return}if(!t.current)return;const y=window.getSelection();if(!y||y.rangeCount===0||w.current||i||$||Date.now()-e<500)return;const h=y.getRangeAt(0);if(!h.collapsed)return t.current.contains(h.commonAncestorContainer),void 0;const b=y.anchorNode;if(!b||!t.current.contains(b))return;let k=!1;if(b.nodeType===Node.ELEMENT_NODE){const E=b;(E.closest('[data-type="datepicker"]')||E.closest(".rte-datepicker-wrapper")||E.closest(".rte-datepicker-host"))&&(k=!0)}else if(b.parentElement){const E=b.parentElement;(E.closest('[data-type="datepicker"]')||E.closest(".rte-datepicker-wrapper")||E.closest(".rte-datepicker-host"))&&(k=!0)}if(k)return;let B=null;if(b.nodeType===Node.ELEMENT_NODE?B=b.closest('[data-type="variable"]'):b.nodeType===Node.TEXT_NODE&&b.parentElement&&(B=b.parentElement.closest('[data-type="variable"]')),!B){if(Date.now()-p>500)return;const E=t.current.querySelectorAll('[data-type="variable"]');if(E.length>0){let O=null;for(const z of Array.from(E))if(z.style.display!=="none"){O=z;break}if(!O&&E.length>0&&(O=E[0]),O){const z=document.createRange();z.selectNodeContents(O),z.collapse(!1),y.removeAllRanges(),y.addRange(z),O.focus()}else y.removeAllRanges()}else y.removeAllRanges()}},o=t.current;return o&&(o.addEventListener("compositionstart",q),o.addEventListener("compositionend",m),o.addEventListener("input",l)),document.addEventListener("mousedown",M),document.addEventListener("mouseup",C),document.addEventListener("focusin",r),document.addEventListener("selectionchange",n),()=>{const a=t.current;a&&(a.removeEventListener("compositionstart",q),a.removeEventListener("compositionend",m),a.removeEventListener("input",l)),document.removeEventListener("mousedown",M),document.removeEventListener("mouseup",C),document.removeEventListener("focusin",r),document.removeEventListener("selectionchange",n)}},[t,w])}function pt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Se={exports:{}},ft=Se.exports,Ye;function yt(){return Ye||(Ye=1,function(t,w){(function(f,i){t.exports=i()})(ft,function(){var f=1e3,i=6e4,p=36e5,T="millisecond",M="second",C="minute",$="hour",e="day",q="week",m="month",l="quarter",r="year",n="date",o="Invalid Date",a=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(u){var d=["th","st","nd","rd"],x=u%100;return"["+u+(d[(x-20)%10]||d[x]||d[0])+"]"}},b=function(u,d,x){var I=String(u);return!I||I.length>=d?u:""+Array(d+1-I.length).join(x)+u},k={s:b,z:function(u){var d=-u.utcOffset(),x=Math.abs(d),I=Math.floor(x/60),N=x%60;return(d<=0?"+":"-")+b(I,2,"0")+":"+b(N,2,"0")},m:function u(d,x){if(d.date()<x.date())return-u(x,d);var I=12*(x.year()-d.year())+(x.month()-d.month()),N=d.clone().add(I,m),U=x-N<0,j=d.clone().add(I+(U?-1:1),m);return+(-(I+(x-N)/(U?N-j:j-N))||0)},a:function(u){return u<0?Math.ceil(u)||0:Math.floor(u)},p:function(u){return{M:m,y:r,w:q,d:e,D:n,h:$,m:C,s:M,ms:T,Q:l}[u]||String(u||"").toLowerCase().replace(/s$/,"")},u:function(u){return u===void 0}},B="en",E={};E[B]=h;var O="$isDayjsObject",z=function(u){return u instanceof Z||!(!u||!u[O])},W=function u(d,x,I){var N;if(!d)return B;if(typeof d=="string"){var U=d.toLowerCase();E[U]&&(N=U),x&&(E[U]=x,N=U);var j=d.split("-");if(!N&&j.length>1)return u(j[0])}else{var te=d.name;E[te]=d,N=te}return!I&&N&&(B=N),N||!I&&B},Y=function(u,d){if(z(u))return u.clone();var x=typeof d=="object"?d:{};return x.date=u,x.args=arguments,new Z(x)},H=k;H.l=W,H.i=z,H.w=function(u,d){return Y(u,{locale:d.$L,utc:d.$u,x:d.$x,$offset:d.$offset})};var Z=function(){function u(x){this.$L=W(x.locale,null,!0),this.parse(x),this.$x=this.$x||x.x||{},this[O]=!0}var d=u.prototype;return d.parse=function(x){this.$d=function(I){var N=I.date,U=I.utc;if(N===null)return new Date(NaN);if(H.u(N))return new Date;if(N instanceof Date)return new Date(N);if(typeof N=="string"&&!/Z$/i.test(N)){var j=N.match(a);if(j){var te=j[2]-1||0,oe=(j[7]||"0").substring(0,3);return U?new Date(Date.UTC(j[1],te,j[3]||1,j[4]||0,j[5]||0,j[6]||0,oe)):new Date(j[1],te,j[3]||1,j[4]||0,j[5]||0,j[6]||0,oe)}}return new Date(N)}(x),this.init()},d.init=function(){var x=this.$d;this.$y=x.getFullYear(),this.$M=x.getMonth(),this.$D=x.getDate(),this.$W=x.getDay(),this.$H=x.getHours(),this.$m=x.getMinutes(),this.$s=x.getSeconds(),this.$ms=x.getMilliseconds()},d.$utils=function(){return H},d.isValid=function(){return this.$d.toString()!==o},d.isSame=function(x,I){var N=Y(x);return this.startOf(I)<=N&&N<=this.endOf(I)},d.isAfter=function(x,I){return Y(x)<this.startOf(I)},d.isBefore=function(x,I){return this.endOf(I)<Y(x)},d.$g=function(x,I,N){return H.u(x)?this[I]:this.set(N,x)},d.unix=function(){return Math.floor(this.valueOf()/1e3)},d.valueOf=function(){return this.$d.getTime()},d.startOf=function(x,I){var N=this,U=!!H.u(I)||I,j=H.p(x),te=function(ye,pe){var ve=H.w(N.$u?Date.UTC(N.$y,pe,ye):new Date(N.$y,pe,ye),N);return U?ve:ve.endOf(e)},oe=function(ye,pe){return H.w(N.toDate()[ye].apply(N.toDate("s"),(U?[0,0,0,0]:[23,59,59,999]).slice(pe)),N)},ie=this.$W,ue=this.$M,de=this.$D,ge="set"+(this.$u?"UTC":"");switch(j){case r:return U?te(1,0):te(31,11);case m:return U?te(1,ue):te(0,ue+1);case q:var Q=this.$locale().weekStart||0,ce=(ie<Q?ie+7:ie)-Q;return te(U?de-ce:de+(6-ce),ue);case e:case n:return oe(ge+"Hours",0);case $:return oe(ge+"Minutes",1);case C:return oe(ge+"Seconds",2);case M:return oe(ge+"Milliseconds",3);default:return this.clone()}},d.endOf=function(x){return this.startOf(x,!1)},d.$set=function(x,I){var N,U=H.p(x),j="set"+(this.$u?"UTC":""),te=(N={},N[e]=j+"Date",N[n]=j+"Date",N[m]=j+"Month",N[r]=j+"FullYear",N[$]=j+"Hours",N[C]=j+"Minutes",N[M]=j+"Seconds",N[T]=j+"Milliseconds",N)[U],oe=U===e?this.$D+(I-this.$W):I;if(U===m||U===r){var ie=this.clone().set(n,1);ie.$d[te](oe),ie.init(),this.$d=ie.set(n,Math.min(this.$D,ie.daysInMonth())).$d}else te&&this.$d[te](oe);return this.init(),this},d.set=function(x,I){return this.clone().$set(x,I)},d.get=function(x){return this[H.p(x)]()},d.add=function(x,I){var N,U=this;x=Number(x);var j=H.p(I),te=function(ue){var de=Y(U);return H.w(de.date(de.date()+Math.round(ue*x)),U)};if(j===m)return this.set(m,this.$M+x);if(j===r)return this.set(r,this.$y+x);if(j===e)return te(1);if(j===q)return te(7);var oe=(N={},N[C]=i,N[$]=p,N[M]=f,N)[j]||1,ie=this.$d.getTime()+x*oe;return H.w(ie,this)},d.subtract=function(x,I){return this.add(-1*x,I)},d.format=function(x){var I=this,N=this.$locale();if(!this.isValid())return N.invalidDate||o;var U=x||"YYYY-MM-DDTHH:mm:ssZ",j=H.z(this),te=this.$H,oe=this.$m,ie=this.$M,ue=N.weekdays,de=N.months,ge=N.meridiem,Q=function(pe,ve,ke,Ee){return pe&&(pe[ve]||pe(I,U))||ke[ve].slice(0,Ee)},ce=function(pe){return H.s(te%12||12,pe,"0")},ye=ge||function(pe,ve,ke){var Ee=pe<12?"AM":"PM";return ke?Ee.toLowerCase():Ee};return U.replace(y,function(pe,ve){return ve||function(ke){switch(ke){case"YY":return String(I.$y).slice(-2);case"YYYY":return H.s(I.$y,4,"0");case"M":return ie+1;case"MM":return H.s(ie+1,2,"0");case"MMM":return Q(N.monthsShort,ie,de,3);case"MMMM":return Q(de,ie);case"D":return I.$D;case"DD":return H.s(I.$D,2,"0");case"d":return String(I.$W);case"dd":return Q(N.weekdaysMin,I.$W,ue,2);case"ddd":return Q(N.weekdaysShort,I.$W,ue,3);case"dddd":return ue[I.$W];case"H":return String(te);case"HH":return H.s(te,2,"0");case"h":return ce(1);case"hh":return ce(2);case"a":return ye(te,oe,!0);case"A":return ye(te,oe,!1);case"m":return String(oe);case"mm":return H.s(oe,2,"0");case"s":return String(I.$s);case"ss":return H.s(I.$s,2,"0");case"SSS":return H.s(I.$ms,3,"0");case"Z":return j}return null}(pe)||j.replace(":","")})},d.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},d.diff=function(x,I,N){var U,j=this,te=H.p(I),oe=Y(x),ie=(oe.utcOffset()-this.utcOffset())*i,ue=this-oe,de=function(){return H.m(j,oe)};switch(te){case r:U=de()/12;break;case m:U=de();break;case l:U=de()/3;break;case q:U=(ue-ie)/6048e5;break;case e:U=(ue-ie)/864e5;break;case $:U=ue/p;break;case C:U=ue/i;break;case M:U=ue/f;break;default:U=ue}return N?U:H.a(U)},d.daysInMonth=function(){return this.endOf(m).$D},d.$locale=function(){return E[this.$L]},d.locale=function(x,I){if(!x)return this.$L;var N=this.clone(),U=W(x,I,!0);return U&&(N.$L=U),N},d.clone=function(){return H.w(this.$d,this)},d.toDate=function(){return new Date(this.valueOf())},d.toJSON=function(){return this.isValid()?this.toISOString():null},d.toISOString=function(){return this.$d.toISOString()},d.toString=function(){return this.$d.toUTCString()},u}(),ne=Z.prototype;return Y.prototype=ne,[["$ms",T],["$s",M],["$m",C],["$H",$],["$W",e],["$M",m],["$y",r],["$D",n]].forEach(function(u){ne[u[1]]=function(d){return this.$g(d,u[0],u[1])}}),Y.extend=function(u,d){return u.$i||(u(d,Z,Y),u.$i=!0),Y},Y.locale=W,Y.isDayjs=z,Y.unix=function(u){return Y(1e3*u)},Y.en=E[B],Y.Ls=E,Y.p={},Y})}(Se)),Se.exports}var mt=yt();const De=pt(mt),{RangePicker:ht}=R.DatePicker,gt=({host:t,onChange:w})=>{const f=t.dataset.key,i=t.dataset.value,p=t.dataset.placeholder,T=t.dataset.limitRange?parseInt(t.dataset.limitRange,10):void 0,M=t.dataset.disableFuture==="true",[C,$]=c.useState(()=>{if(!i)return null;const o=i.split(",");return o.length===2&&o[0]&&o[1]?[De(o[0]),De(o[1])]:null}),[e,q]=c.useState(null),m=o=>o?M&&o.isAfter(De(),"day")?!0:!T||!e||!e[0]?!1:Math.abs(o.diff(e[0],"days"))>T:!1,l=o=>{console.log("[DatePicker] onCalendarChange",o?.map(a=>a?.format("YYYY-MM-DD")||null)),q(o)},r=o=>{if(console.log("[DatePicker] onChange",o?.map(a=>a?.format("YYYY-MM-DD")||null)),$(o),q(null),o&&o[0]&&o[1]){const a=`${o[0].format("YYYY-MM-DD")},${o[1].format("YYYY-MM-DD")}`;t.setAttribute("data-value",a),w(f,a)}else t.setAttribute("data-value",""),w(f,"")},n=o=>{console.log("[DatePicker] onOpenChange",o),q(o?C:null)};return Be.createPortal(s.jsx("div",{className:"rte-datepicker-wrapper",contentEditable:!1,style:{display:"inline-block",verticalAlign:"middle",width:"240px"},children:s.jsx(ht,{value:C,disabledDate:m,onCalendarChange:l,onChange:r,onOpenChange:n,placeholder:[p||"开始日期",p||"结束日期"],style:{width:"100%"},size:"small",allowClear:!0,getPopupContainer:()=>document.body,popupClassName:"rte-datepicker-dropdown"})}),t)},vt=t=>{const[w,f]=c.useState([]);return c.useEffect(()=>{const i=t.current;if(!i)return;const p=()=>{const M=i.querySelectorAll(".rte-datepicker-host"),C=[];M.forEach($=>{const e=$.getAttribute("data-key");e&&C.push(s.jsx(gt,{host:$,onChange:()=>{if(t.current){const q=new Event("input",{bubbles:!0});t.current.dispatchEvent(q)}}},`datepicker-${e}`))}),f(C)};p();const T=new MutationObserver(M=>{let C=!1;for(const $ of M)if($.type==="childList"){let e=!1;if($.addedNodes.forEach(q=>{if(q.nodeType===Node.ELEMENT_NODE){const m=q;(m.classList?.contains("rte-datepicker-host")||m.querySelector?.(".rte-datepicker-host"))&&(e=!0)}}),$.removedNodes.forEach(q=>{if(q.nodeType===Node.ELEMENT_NODE){const m=q;(m.classList?.contains("rte-datepicker-host")||m.querySelector?.(".rte-datepicker-host"))&&(e=!0)}}),e){C=!0;break}}C&&p()});return T.observe(i,{childList:!0,subtree:!0}),()=>T.disconnect()},[t]),w},Ke=({config:t,onSend:w,isProcessing:f=!1,disabled:i=!1,width:p,lockStructure:T=!1,agentOptions:M=[],onAgentSelect:C,onAgentExit:$,loading:e=!1,placeholder:q,border:m,background:l="transparent",hideButtons:r})=>{const n=c.useRef(null),o=c.useRef(null),[a,y]=c.useState({}),[h,b]=c.useState(null),[k,B]=c.useState(null),E=c.useRef(!1),O=c.useRef(null),[z,W]=c.useState(!1),Y=c.useRef(null),[H,Z]=c.useState(!0),[ne,u]=c.useState(()=>{const v={};return t.forEach(g=>{g.type==="multi-variable"&&g.key&&(v[g.key]=1)}),v}),d=c.useRef({}),x=c.useRef({}),I=c.useRef({});c.useEffect(()=>{x.current=a},[a]),c.useEffect(()=>{I.current=ne},[ne]);const N=c.useCallback(v=>v.find(S=>S.type==="tag")?.text||null,[]),U=c.useRef(t),j=c.useRef(null);c.useEffect(()=>{const v=N(U.current),g=N(t);if(v&&v!==g&&n.current){const S={};n.current.querySelectorAll('[data-type="variable"]').forEach(L=>{const F=L.dataset.key;if(F){const D=L.innerText.replace(/[\u200B\n]/g,"").trim();D&&(S[F]=D)}}),n.current.querySelectorAll('[data-type="select"]').forEach(L=>{const F=L.dataset.key;if(F){const D=L.value.trim();D&&(S[F]=D)}}),n.current.querySelectorAll('[data-type="textarea"]').forEach(L=>{const F=L.dataset.key;if(F){const D=L.value.replace(/[\u200B]/g,"").trim();D&&(S[F]=D)}}),d.current[v]={variableValues:S,files:{...x.current},multiVariableCounts:{...I.current}}}if(g&&d.current[g]){const S=d.current[g];j.current=S,y(S.files),u(S.multiVariableCounts)}else if(g){j.current=null;const S={};t.forEach(V=>{V.type==="multi-variable"&&V.key&&(S[V.key]=1)}),u(S),y({})}else j.current=null,u({}),y({});U.current=t},[t,N]),c.useLayoutEffect(()=>{j.current&&n.current&&(n.current.__tempVariableValues=j.current.variableValues,setTimeout(()=>{j.current&&(j.current=null)},0))}),ot(n,t,a,T,ne,Y,void 0,r),st(n,t,a,B),lt(n,t,B,r),ct(n,t,a,B),it(n,t,B),ut(n,t,a,W),dt(n,E);const te=vt(n);c.useEffect(()=>{if(t.length>0){Z(!1);return}const v=()=>{if(!n.current){Z(!0);return}const S=n.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"",V=n.current.querySelectorAll('[data-type="variable"]'),A=n.current.querySelectorAll('[data-type="upload"]');let _=!1;V.forEach(F=>{(F.textContent?.replace(/[\u200B\n]/g,"").trim()||"")&&(_=!0)}),A.forEach(F=>{F.querySelector(".upload-inner-wrapper.has-file")&&(_=!0)});const L=!S&&!_;Z(L),t.length===0&&W(!L)};v();const g=new MutationObserver(v);return n.current&&g.observe(n.current,{childList:!0,subtree:!0,characterData:!0}),()=>{g.disconnect()}},[t]);const oe=v=>{if(i){v.preventDefault();return}v.preventDefault();const g=v.clipboardData.getData("text/plain"),S=window.getSelection();if(S&&S.rangeCount>0){const V=S.anchorNode;if(V){let A=null;if(V.nodeType===Node.ELEMENT_NODE?A=V.closest('[data-type="variable"]'):V.nodeType===Node.TEXT_NODE&&V.parentElement&&(A=V.parentElement.closest('[data-type="variable"]')),A){const _=A.dataset.multiKey;if(_){const L=/[、,,\s\n\r\t]+/,F=g.split(L).map(D=>D.trim()).filter(D=>D.length>0);if(console.log("[Paste Event] 粘贴的内容:",g),console.log("[Paste Event] 拆分后的值:",F),F.length>1){const D=parseInt(A.dataset.index||"0",10),K=t.find(le=>le.type==="multi-variable"&&le.key===_)?.maxCount||9,X=ne[_]||1,P=Math.min(D+F.length,K);P>X&&u(ee=>({...ee,[_]:P}));const J=[];for(let ee=0;ee<X;ee++){const le=`${_}_${ee}`,me=n.current.querySelector(`[data-type="variable"][data-key="${le}"][data-multi-key="${_}"]`);if(me){const be=me.innerText.replace(/[\u200B\n]/g,"").trim();J.push(be)}}J.splice(D,1,...F.slice(0,K-D));const re=J.slice(0,K);re.length>0&&re[re.length-1]!==""&&re.length<K&&re.push("");const G=Math.max(re.length,1),se={};re.forEach((ee,le)=>{ee&&(se[`${_}_${le}`]=ee)}),n.current.querySelectorAll('[data-type="variable"]').forEach(ee=>{const le=ee.dataset.key,me=ee.dataset.multiKey;if(le&&me!==_){const be=ee.innerText.replace(/[\u200B\n]/g,"").trim();be&&(se[le]=be)}}),n.current.__tempVariableValues=se,u(ee=>({...ee,[_]:G})),console.log("[Paste Event] 粘贴完成,已填充到多个输入框,值:",re);return}else F.length===1&&console.log("[Paste Event] 粘贴单个值,将在失去焦点时检查是否需要拆分")}}}}document.execCommand("insertText",!1,g),pe(),setTimeout(()=>{const V=window.getSelection();if(V&&V.rangeCount>0){const A=V.anchorNode;if(A){let _=null;if(A.nodeType===Node.ELEMENT_NODE?_=A.closest('[data-type="variable"][data-multi-key]'):A.nodeType===Node.TEXT_NODE&&A.parentElement&&(_=A.parentElement.closest('[data-type="variable"][data-multi-key]')),_){const L=_.innerText.replace(/[\u200B\n]/g,"").trim();/[、,,\s]+/.test(L)&&(console.log("[Paste Event] 粘贴后检测到分隔符,内容:",L),console.log("[Paste Event] 提示:失去焦点后将自动拆分"))}}}},0)},ie=v=>{if(v.target.files&&v.target.files[0]&&h){const g=v.target.files[0],S=h;y(V=>({...V,[S]:g}))}v.target&&(v.target.value=""),b(null)},ue=v=>{y(g=>{const S={...g};return delete S[v],S})},de=v=>{const g=v.target;if(g.closest(".rte-datepicker-wrapper")||g.closest(".rte-datepicker-host"))return;if(g.closest(".tag-close-btn")){if(v.preventDefault(),v.stopPropagation(),T)return;B(null),$?$():n.current&&(n.current.innerHTML="",n.current.focus());return}if(T){const A=g.closest(".tag-node"),_=g.closest('[data-type="text"]');if(A||_){v.preventDefault(),v.stopPropagation();const L=window.getSelection();L&&L.removeAllRanges();return}}g.closest('[data-type="variable"]')||(O.current={x:v.clientX,y:v.clientY},E.current=!1,g.closest(".file-remove-btn")&&(v.preventDefault(),v.stopPropagation()))},ge=v=>{if(!v.target.closest('[data-type="variable"]')&&O.current){const V=Math.abs(v.clientX-O.current.x),A=Math.abs(v.clientY-O.current.y);(V>3||A>3)&&(E.current=!0)}},Q=v=>{if(v.target.closest('[data-type="variable"]')){O.current=null,E.current=!1;return}O.current=null,E.current=!1},ce=v=>{if(i)return;const g=v.target;if(g.closest('[data-type="datepicker"]'))return;if(g.closest(".tag-close-btn")){v.preventDefault(),v.stopPropagation();return}if(t.length===0)return;const A=(P,J)=>{if(!n.current)return;Array.from(n.current.children).forEach(G=>{if(G!==P)if(J)G.dataset.prevDisplay===void 0&&(G.dataset.prevDisplay=G.style.display||""),G.style.setProperty("display","none","important");else if(G.dataset.prevDisplay!==void 0){const se=G.dataset.prevDisplay;se?G.style.display=se:G.style.removeProperty("display"),delete G.dataset.prevDisplay}else G.style.removeProperty("display")})},_=g.closest(".rte-textarea-toggle");if(_){v.preventDefault(),v.stopPropagation();const P=_.closest(".rte-textarea-wrapper"),J=P?.querySelector('[data-type="textarea"]'),G=!(_.getAttribute("data-expanded")==="true");_.setAttribute("data-expanded",String(G)),_.textContent=G?"收起":"展开",P&&P.classList.toggle("rte-textarea-expanded",G);const se=P?.closest(".rte-textarea-required");if(se?se.classList.toggle("rte-textarea-overlay",G):P&&P.classList.toggle("rte-textarea-overlay",G),J)if(G)J.classList.add("rte-textarea-expanded"),J.style.maxHeight="none",J.style.height="100%";else{J.classList.remove("rte-textarea-expanded");const fe=J.dataset.maxHeight||"252";J.style.maxHeight=`${fe}px`,J.style.height="auto"}n.current&&(G?n.current.classList.add("rte-overlay-active"):n.current.classList.remove("rte-overlay-active"));return}const L=g.closest(".rte-richtext-toggle");if(L){v.preventDefault(),v.stopPropagation();const P=L.closest(".rte-richtext-wrapper"),J=P?.querySelector('[data-type="richtext"]'),G=!(L.getAttribute("data-expanded")==="true");((le,me)=>{le.setAttribute("data-expanded",String(me)),le.innerHTML=me?'<i class="iconfont icon-shouqi1"></i><span class="rte-richtext-toggle-label">收起</span>':'<i class="iconfont icon-zhankai2"></i><span class="rte-richtext-toggle-label">展开</span>'})(L,G);const fe=P?.closest(".rte-richtext-required");fe?fe.classList.toggle("rte-richtext-expanded",G):P&&P.classList.toggle("rte-richtext-expanded",G);const ee=P?.closest(".exclusion-wrapper")||P?.parentElement;J&&(G?(J.style.height="100%",J.style.overflow="auto"):(J.style.height="",J.style.overflow="")),ee&&(ee.classList.toggle("rte-richtext-host-expanded",G),A(ee,G)),n.current&&n.current.classList.toggle("rte-richtext-fullscreen-active",G);return}if(g.closest('[data-type="text"]')){v.preventDefault(),v.stopPropagation();const P=window.getSelection();P&&P.removeAllRanges();return}if(T&&g.closest(".tag-node")){v.preventDefault(),v.stopPropagation();const J=window.getSelection();J&&J.removeAllRanges();return}if(g.closest('[data-type="variable"]')){if(E.current)return;setTimeout(()=>{const P=window.getSelection();P&&!P.isCollapsed||_e(n)},10);return}const K=g.closest(".file-remove-btn");if(K){v.preventDefault(),v.stopPropagation();const J=K.closest('[data-type="upload"]')?.dataset.key;J&&ue(J);return}const X=g.closest('[data-type="upload"]');if(X){const P=X.dataset.key;P&&(b(P),o.current?.click());return}},ye=v=>{const S=v.target.closest('[data-type="variable"]');if(S){const V=window.getSelection();if(V){const A=document.createRange(),_=S.textContent||"";if(_.replace(/\u200B/g,"")){let F=0,D=_.length;_.startsWith("")&&(F=1),_.endsWith("")&&_.length>1&&(D=_.length-1);const K=S.firstChild;K&&K.nodeType===Node.TEXT_NODE?(A.setStart(K,F),A.setEnd(K,D)):A.selectNodeContents(S)}else A.selectNodeContents(S),A.collapse(!0);V.removeAllRanges(),V.addRange(A)}}},pe=()=>{if(t.length===0){if(n.current){const S=!(n.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"");Z(S),W(!S)}return}if(_e(n),n.current&&n.current.querySelectorAll('[data-type="variable"]').forEach(S=>{const V=S.querySelector(".variable-info-icon");if(V){let A=!1;const _=document.createTreeWalker(S,NodeFilter.SHOW_TEXT,{acceptNode:L=>V.contains(L)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT});for(;_.nextNode();)if(_.currentNode.textContent?.replace(/[\u200B\n]/g,"").trim()){A=!0;break}A?V.classList.add("hidden"):V.classList.remove("hidden")}}),Le(n,t,a),Ie(n,t,a,W),!n.current)return;t.filter(g=>g.type==="multi-variable"&&g.key).forEach(g=>{if(!g.key)return;const S=g.maxCount||9,V=ne[g.key]||1,A=[];for(let K=0;K<V;K++){const X=`${g.key}_${K}`,P=n.current.querySelector(`[data-type="variable"][data-key="${X}"][data-multi-key="${g.key}"]`);if(P){const J=P.innerText.replace(/[\u200B\n]/g,"").trim();A.push(J)}}const L=(A[A.length-1]||"")==="";let F=!1,D=-1;for(let K=0;K<A.length-1;K++)if(A[K]===""){F=!0,D=K;break}if(F&&D>=0){const K=window.getSelection();if(K&&K.rangeCount>0){const G=K.getRangeAt(0),se=G.startContainer,fe=se.nodeType===Node.ELEMENT_NODE?se.closest('[data-type="variable"][data-multi-key]'):se.parentElement?.closest('[data-type="variable"][data-multi-key]');if(fe){const ee=fe.dataset.key;if(ee){const le=document.createRange();le.setStartBefore(fe),le.setEnd(G.startContainer,G.startOffset);const me=le.toString().length;Y.current={key:ee,offset:me}}}}const X=[...A];for(let G=D;G<X.length-1;G++)X[G]=X[G+1];X.pop();const P={};X.forEach((G,se)=>{G&&(P[`${g.key}_${se}`]=G)});const J=Math.max(L?X.length:X.length+1,1);n.current.querySelectorAll('[data-type="variable"]').forEach(G=>{const se=G.dataset.key,fe=G.dataset.multiKey;if(se&&fe!==g.key){const ee=G.innerText.replace(/[\u200B\n]/g,"").trim();ee&&(P[se]=ee)}}),n.current.__tempVariableValues=P,u(G=>({...G,[g.key]:J}));return}if(!L){const K=V-1,X=`${g.key}_${K}`,P=n.current.querySelector(`[data-type="variable"][data-key="${X}"][data-multi-key="${g.key}"]`);if(P&&P.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&V<S){const re=window.getSelection();if(re&&re.rangeCount>0){const G=re.getRangeAt(0),se=G.startContainer,fe=se.nodeType===Node.ELEMENT_NODE?se.closest('[data-type="variable"][data-multi-key]'):se.parentElement?.closest('[data-type="variable"][data-multi-key]');if(fe){const ee=fe.dataset.key;if(ee){const le=document.createRange();le.setStartBefore(fe),le.setEnd(G.startContainer,G.startOffset);const me=le.toString().length;Y.current={key:ee,offset:me}}}}u(G=>({...G,[g.key]:V+1}))}}})};c.useLayoutEffect(()=>{const v=n.current;if(!v)return;const g=new Map,S=_=>{const L=_.target,F=_.relatedTarget;!L||!n.current||!n.current.contains(L)||F&&n.current.contains(F)||setTimeout(()=>{if(n.current){if(t.length===0){const D=n.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";W(D.length>0);return}_e(n),Le(n,t,a),Ie(n,t,a,W)}},0)};v.addEventListener("blur",S,!0);const V=()=>{if(!n.current)return;g.forEach((F,D)=>{D.removeEventListener("blur",F,!1)}),g.clear();const _=n.current.querySelectorAll('[data-type="variable"][data-multi-key]'),L=F=>{F.stopPropagation(),F.stopImmediatePropagation();const D=F.target;if(!D||!n.current||!n.current.contains(D))return;const K=D.closest('[data-type="variable"][data-multi-key]');if(!K||!n.current.contains(K))return;let X=!1;if(g.forEach((le,me)=>{(me===K||me.contains(D))&&(X=!0)}),!X)return;const P=K.dataset.multiKey,J=K.dataset.key,re=K.dataset.index;if(!P||!J||re===void 0)return;const G=F.relatedTarget;if(!(!G||!n.current.contains(G)))return;const fe=K.innerText.replace(/[\u200B\n]/g,"").trim();console.log("[Blur Event] 失去焦点的 multi-variable 输入框:",{multiKey:P,currentKey:J,index:re,content:fe});const ee=/[、,,\s]+/;if(ee.test(fe)){const le=fe.split(ee).map($e=>$e.trim()).filter($e=>$e.length>0);console.log("[Blur Event] 拆分前的内容:",fe),console.log("[Blur Event] 拆分后的部分:",le);const be=le.slice(0,9);if(console.log("[Blur Event] 有效的部分(最多9个):",be),be.length>1){const $e=t.find(Te=>Te.type==="multi-variable"&&Te.key===P);if($e){const Te=ne[P]||1,et=parseInt(re,10),tt=$e.maxCount||9,qe=[];for(let he=0;he<Te;he++){const Ce=`${P}_${he}`,Ne=n.current.querySelector(`[data-type="variable"][data-key="${Ce}"][data-multi-key="${P}"]`);if(Ne){const Ae=Ne.innerText.replace(/[\u200B\n]/g,"").trim();qe.push(Ae)}}console.log("[Blur Event] 拆分前的所有值:",qe),console.log("[Blur Event] 当前索引:",et),console.log("[Blur Event] 要插入的值:",be),qe.splice(et,1,...be);const we=qe.slice(0,tt);console.log("[Blur Event] 拆分后的所有值:",we),we.length>0&&we[we.length-1]!==""&&we.length<tt&&we.push("");const Ct=Math.max(we.length,1),Ve={};we.forEach((he,Ce)=>{he&&(Ve[`${P}_${Ce}`]=he)}),n.current.querySelectorAll('[data-type="variable"]').forEach(he=>{const Ce=he.dataset.key,Ne=he.dataset.multiKey;if(Ce&&Ne!==P){const Ae=he.innerText.replace(/[\u200B\n]/g,"").trim();Ae&&(Ve[Ce]=Ae)}}),n.current.__tempVariableValues=Ve,u(he=>({...he,[P]:Ct}))}}}};_.forEach(F=>{F.addEventListener("blur",L,!1),g.set(F,L)})},A=setTimeout(()=>{V()},0);return()=>{clearTimeout(A),v.removeEventListener("blur",S,!0),g.forEach((_,L)=>{L.removeEventListener("blur",_,!1)}),g.clear()}},[t,ne,a]);const ve=v=>{if(i){v.preventDefault();return}const g=window.getSelection();if(g&&g.rangeCount>0){const S=g.anchorNode;let V=null;if(S&&(S.nodeType===Node.ELEMENT_NODE?V=S.closest('[data-type="text"]'):S.nodeType===Node.TEXT_NODE&&S.parentElement&&(V=S.parentElement.closest('[data-type="text"]'))),V){if(v.preventDefault(),v.stopPropagation(),n.current){const A=n.current.querySelector('[data-type="variable"], [data-type="upload"]');A&&A.focus()}return}}if(T&&g&&g.rangeCount>0){const S=g.anchorNode;let V=null;if(S&&(S.nodeType===Node.ELEMENT_NODE?V=S.closest(".tag-node"):S.nodeType===Node.TEXT_NODE&&S.parentElement&&(V=S.parentElement.closest(".tag-node"))),V){if(v.preventDefault(),v.stopPropagation(),n.current){const A=n.current.querySelector('[data-type="variable"], [data-type="upload"]');A&&A.focus()}return}}if(v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),ke()),v.key==="Escape"&&n.current){if(T){v.preventDefault();return}n.current.innerHTML="",n.current.focus()}if(v.key==="Backspace"){const S=window.getSelection();if(S&&S.rangeCount>0){const V=S.getRangeAt(0),A=S.anchorNode;if(T){let L=null,F=null;if(A&&(A.nodeType===Node.ELEMENT_NODE?(L=A.closest(".tag-node"),F=A.closest('[data-type="text"]')):A.nodeType===Node.TEXT_NODE&&A.parentElement&&(L=A.parentElement.closest(".tag-node"),F=A.parentElement.closest('[data-type="text"]'))),(L||F)&&V.collapsed&&V.startOffset===0){v.preventDefault();return}}let _=null;if(A&&(A.nodeType===Node.ELEMENT_NODE?_=A.closest('[data-type="variable"]'):A.nodeType===Node.TEXT_NODE&&A.parentElement&&(_=A.parentElement.closest('[data-type="variable"]'))),_){if(!V.collapsed)return;const L=_.innerText;if(L===""||L===""){v.preventDefault();return}if(V.startOffset===0){v.preventDefault();return}if(L.startsWith("")&&V.startOffset===1){v.preventDefault();return}}}}},ke=()=>{if(f||i||e||!z||!n.current)return;if(t.length===0){const _=n.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";if(!_)return;w(_,_);return}const v=n.current;let g="";const S={},V=_=>{if(!(_.nodeType===Node.ELEMENT_NODE&&_.style.display==="none")){if(_.nodeType===Node.TEXT_NODE)g+=(_.textContent||"").replace(/\u200B/g,"");else if(_.nodeType===Node.ELEMENT_NODE){const L=_,F=L.dataset.type,D=L.dataset.key;if(F==="variable"&&D){let K="";const X=document.createTreeWalker(L,NodeFilter.SHOW_TEXT,{acceptNode:J=>{const re=L.querySelector(".variable-info-icon");return re&&re.contains(J)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});for(;X.nextNode();)K+=X.currentNode.textContent||"";const P=K.replace(/[\u200B\n]/g,"").trim();if(P){const J=L.dataset.multiKey;if(J){(!S[J]||!Array.isArray(S[J]))&&(S[J]=[]);const re=S[J];re.push(P),re.length>1&&(g+=" "),g+=P}else S[D]=P,g+=P}}else if(F==="select"&&D){const K=L,X=(K.value||"").trim();if(X){S[D]=X;const P=K.selectedOptions?.[0];g+=P?.textContent||X}}else if(F==="textarea"&&D){const X=(L.value||"").replace(/\u200B/g,"").trim();X&&(S[D]=X,g+=X)}else if(F==="richtext"&&D){const X=(L.textContent||"").replace(/\u200B/g,"").trim();X&&(S[D]=X,g+=X)}else if(F==="datepicker"&&D){const X=(L.getAttribute("data-value")||"").trim();if(X)if(X.includes(",")){const P=X.split(",");P.length===2?(S[D]=P,g+=`[${P[0]}, ${P[1]}]`):(S[D]=X,g+=X)}else S[D]=X,g+=X}else if(F==="upload"&&D)S[D]=a[D]??null,a[D]&&(g+=` [附带文件: ${a[D]?.name}] `);else{if(L.classList.contains("tag-close-btn")||L.classList.contains("file-remove-btn"))return;L.getAttribute("contenteditable")==="false"&&!F&&L.classList.contains("tag-node")?g+=L.innerText:L.childNodes.forEach(V)}}}};if(v.childNodes.forEach(V),g=g.trim(),!g)return;const A=new FormData;A.append("fullPrompt",g),Object.keys(S).forEach(_=>{const L=S[_];L!=null&&(L instanceof File?A.append(_,L):Array.isArray(L)?t.some(D=>D.type==="multi-variable"&&D.key===_)?L.forEach(D=>{D!=null&&D!==""&&A.append(_,String(D))}):L.forEach((D,K)=>{D!=null&&(D instanceof File?A.append(`${_}[${K}]`,D):typeof D=="string"?A.append(`${_}[${K}]`,D):A.append(`${_}[${K}]`,String(D)))}):typeof L=="string"?A.append(_,L):A.append(_,String(L)))}),w(A,g)},Ee={...p?{width:typeof p=="number"?`${p}px`:p}:{},...m?{border:m}:{},...l?{background:l}:{}};return s.jsxs("div",{className:"rich-text-editor",style:Ee,"data-disabled":i,children:[s.jsx("div",{ref:n,className:`rte-editor ${t.length===0?"rte-editor-default":""} ${H&&q?"rte-editor-empty":""}`,contentEditable:t.length===0,suppressContentEditableWarning:!0,"data-placeholder":q,onMouseDown:de,onMouseMove:ge,onMouseUp:Q,onClick:ce,onDoubleClick:ye,onInput:pe,onKeyDown:ve,onPaste:oe}),s.jsx("input",{type:"file",ref:o,className:"rte-file-input",accept:".csv,.xlsx,.xls,.txt,.pdf,image/*",onChange:ie}),s.jsxs("div",{className:"rich-text-editor-footer",children:[s.jsx("div",{className:"rich-text-editor-footer-left",children:s.jsxs("div",{className:"rich-text-editor-brand",children:[s.jsxs("div",{className:"rte-brand-badge",children:[s.jsx("img",{src:"https://oospublic.sealseek.cn/file/website/ball.png",alt:""}),s.jsx("span",{className:"rte-brand-text",children:"SealSeek 1.0"})]}),r!=="hideAgent"&&s.jsx(R.Dropdown,{placement:"top",menu:{items:M.map(v=>({key:v.key,label:s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[v.icon&&s.jsx("i",{className:v.icon}),s.jsx("span",{children:v.label})]}),onClick:()=>{C?.(v)}}))},trigger:["click"],disabled:i||f,children:s.jsxs("div",{className:"rte-agent-badge",style:{cursor:M.length>0?"pointer":"default"},children:[s.jsx("i",{className:"iconfont icon-zhinengti"}),s.jsx("span",{className:"rte-agent-text",children:"智能体"})]})})]})}),s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(()=>{const v=t.find(S=>S.type==="tag");if(!v||!v.text)return null;const g=M.find(S=>S.label===v.text);return!g||g.points===void 0||g.points===null?null:s.jsxs("div",{className:"rte-points-badge",children:[s.jsx("i",{className:"iconfont icon-jifen",style:{marginRight:"4px"}}),s.jsxs("span",{style:{fontSize:"16px"},children:["-",String(g.points)]})]})})(),s.jsx("button",{type:"button",onClick:ke,disabled:f||i||e||!z,className:"rich-text-editor-send-button",children:f||e?s.jsx("span",{className:"rte-send-spinner"}):s.jsx("i",{className:"iconfont icon-fasong"})})]})]}),k?.anchorEl&&(()=>{if(!document.body.contains(k.anchorEl))return null;let v="",g={background:"var(--neutral-800, #262626)"};if(k.type==="upload")v=t.find(A=>A.type==="upload"&&A.key===k.key)?.tooltip||"";else if(k.type==="tag")v=k.anchorEl.dataset.tooltip||"";else if(k.type==="upload-label")v=k.anchorEl.dataset.fileName||"";else if(k.type==="variable")v=k.anchorEl.dataset.tooltip||"";else if(k.type==="upload-preview"){const V=a[k.key];if(V&&V.type&&V.type.startsWith("image/")){const A=URL.createObjectURL(V);v=s.jsx("div",{style:{width:120,height:120,display:"flex",alignItems:"center",justifyContent:"center"},children:s.jsx("img",{src:A,style:{maxWidth:120,maxHeight:120,objectFit:"contain"}})}),g={background:"#fff",padding:4},setTimeout(()=>URL.revokeObjectURL(A),1e3)}else v=""}if(!v)return null;const S=k.type==="upload-preview"?"#0A0A0A":"#fff";return Be.createPortal(s.jsx(R.Tooltip,{arrow:!1,title:s.jsx("div",{style:{maxWidth:"200px",fontSize:"12px",color:S},children:v}),open:!0,placement:"top",getPopupContainer:()=>document.body,overlayInnerStyle:g,children:s.jsx("div",{style:{position:"fixed",left:`${k.anchorEl.getBoundingClientRect().left}px`,top:`${k.anchorEl.getBoundingClientRect().top}px`,width:`${k.anchorEl.offsetWidth}px`,height:`${k.anchorEl.offsetHeight}px`,pointerEvents:"none"}})}),document.body)})(),te]})};Ke.__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 Xe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFSSURBVHgB3ZTtccIwDIaVXv83I2SDZgSP0BHMBG0naEZhA2boBGQDswHdQJUOGRxjO0Z8HPDe6eJzJD2W4gjgEYSIn2xwK6EIFHqBGysJpMP3ZB0oRbEtmal1NtIxl4OWWsoxEsvqofJ0rgTNASOYq+7SXKDsuYvAcgkq/PWwBLQWqIfdjeRStaBUc4qzgLi9/BzJNmS/sh6bpvmrTfSFacU3scWy1mQryWdSnXiFE8QVUJINLTuyhWzzz/1OZmTN9hEckqtfUOwIGlGCpVRjE+94JFqpMtTeVzO8/UmPxpZU8Qa7aln8Tb9pfwla4WHWrjPvvbbnTBsX7PmLs83EDAH0BxSw1G31+/1FoDg/vPcXR+wocQS1apj4+P92FfhOoLyuBfYlmPgYnGoCjWADzAkzUyJ430awLmphPaxWQVU22BuuApPkHaanjcXSN3t6/QNjTMSJWDcs1QAAAABJRU5ErkJggg==",bt=[{label:"5页",value:5},{label:"10页",value:10},{label:"15页",value:15},{label:"30页",value:30}],xt=({autoLoading:t,batchSize:w,loadingProgress:f,loadIcon:i,onBatchSizeChange:p,onLoadNextPage:T,onStartAutoLoad:M,onStopLoad:C})=>t&&f?s.jsxs("div",{className:"auto_load_progress",children:[i||s.jsx("img",{src:Xe,alt:"自动加载",width:14,height:14}),s.jsxs("span",{children:["正在加载第",f.currentPage,"/",f.totalPages,"页"]}),s.jsx(R.Progress,{percent:f.percentage,type:"line",size:[160,8]}),s.jsx("span",{onClick:C,className:"auto_load_stop_btn",children:"停止加载"})]}):s.jsxs("div",{className:"auto_load_container",children:[s.jsx("div",{onClick:T,className:"auto_load_next_btn",style:{backgroundColor:t?"#f5f5f5":"#2563eb"},children:"加载下一页"}),s.jsxs("div",{className:"right_control_wrap",style:{backgroundColor:t?"#f5f5f5":"#2563eb"},children:[s.jsxs("div",{className:"auto_load_btn",onClick:t?void 0:M,children:[i||s.jsx("img",{src:Xe,alt:"自动加载",width:14,height:14}),s.jsx("span",{children:"自动加载"})]}),s.jsx(R.Select,{value:w,onChange:p,options:bt,disabled:t,size:"small",className:"auto_load_select",popupMatchSelectWidth:84})]})]}),kt=({current:t,loadIcon:w,pageSize:f,total:i,cachedPages:p,loadedCount:T,autoLoading:M=!1,loadingProgress:C,onChange:$,onLoadNextPage:e,onStartAutoLoad:q,onStopLoading:m})=>{const[l,r]=c.useState(5),n=Math.ceil(i/f),o=c.useMemo(()=>p.length>=n,[p,n]),a=()=>Array.from({length:n},(b,k)=>k+1).filter(b=>!p.includes(b)).slice(0,l),y=(h,b,k)=>{const B=p.includes(h);return b==="prev"||b==="next"||b==="jump-prev"||b==="jump-next"?s.jsx("div",{className:"pageBox",children:k}):s.jsxs("div",{className:"pageBox",style:{backgroundColor:t===h?"#2563EB":"#f5f5f5",color:t===h?"#fff":B?"#171717":"#a3a3a3"},children:[h,!B&&s.jsx("span",{className:"unload_spot"})]})};return s.jsxs("div",{className:"pagination_footer",children:[s.jsxs("div",{className:"pagination_leftWrap",children:[s.jsxs("span",{className:"pagination_total",children:[s.jsx(xe.InfoCircleOutlined,{style:{color:"#2563EB",marginRight:"4px"}}),"已加载: ",T,"/",i,"条数据"]}),!o&&s.jsx(xt,{loadIcon:w||void 0,autoLoading:M,batchSize:l,loadingProgress:C,disabled:!e||!q,onBatchSizeChange:r,onLoadNextPage:()=>e?.(),onStartAutoLoad:()=>{const h=a();q?.(h)},onStopLoad:()=>m?.()})]}),s.jsx(R.Pagination,{current:t,pageSize:f,total:i,onChange:h=>$(h),showSizeChanger:!1,showQuickJumper:!1,showTotal:(h,b)=>"",itemRender:y})]})},Je=t=>{const{loading:w,autoLoading:f,loadingProgress:i,columns:p=[],dataSource:T=[],total:M,current:C,pageSize:$,cachedPages:e,onChangePage:q,onLoadNextPage:m,onStartAutoLoad:l,onStopLoading:r,...n}=t,o=c.useRef(null),a=c.useCallback(y=>{q(y),e.includes(y)&&o.current?.scrollTo({key:`${(y-1)*$+1}`})},[C]);return s.jsxs("div",{className:"flex flex-col",children:[s.jsx(R.Table,{ref:o,...n,columns:p,dataSource:T,pagination:!1,virtual:!0}),s.jsx(kt,{loading:w,autoLoading:f,loadingProgress:i,current:C,pageSize:$,total:M,loadedCount:T.length,cachedPages:e,onChange:a,onLoadNextPage:m,onStartAutoLoad:l,onStopLoading:r})]})};Je.__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 Qe=({texts:t=[],placeholder:w="请输入内容",animationSpeed:f=100,autoPlay:i=!0,value:p,onChange:T,...M})=>{const[C,$]=c.useState(""),[e,q]=c.useState(0),[m,l]=c.useState(!1),[r,n]=c.useState(!1),[o,a]=c.useState(!1),y=c.useRef(void 0),h=c.useRef(void 0),b=c.useRef(t),k=c.useRef(e),B=c.useRef(r),E=c.useRef(C);c.useEffect(()=>{b.current=t,k.current=e,B.current=r,E.current=C});const O=c.useCallback((u,d)=>{let x=0;a(!0);const I=()=>{x<u.length?($(u.slice(0,x+1)),x++,h.current=window.setTimeout(I,f)):(a(!1),d?.())};I()},[f]),z=c.useCallback(u=>{let d=E.current.length;const x=()=>{d>0?($(E.current.slice(0,d-1)),d--,h.current=window.setTimeout(x,f/2)):u?.()};x()},[f]),W=c.useCallback(()=>{if(b.current.length===0||B.current)return;l(!0);const u=b.current[k.current];E.current?z(()=>{O(u,()=>{y.current=window.setTimeout(()=>{q(d=>(d+1)%b.current.length),l(!1)},2e3)})}):O(u,()=>{y.current=window.setTimeout(()=>{q(d=>(d+1)%b.current.length),l(!1)},2e3)})},[z,O]);c.useEffect(()=>(i&&t.length>0&&!r&&W(),()=>{y.current&&window.clearTimeout(y.current),h.current&&window.clearTimeout(h.current)}),[e,r,i,t.length,W]),c.useEffect(()=>{!m&&i&&t.length>0&&!r&&W()},[e,m,i,t.length,r,W]);const Y=u=>{n(!0),y.current&&window.clearTimeout(y.current),h.current&&window.clearTimeout(h.current),l(!1),a(!1),M.onFocus?.(u)},H=u=>{n(!1),!p&&t.length>0&&($(""),q(0)),M.onBlur?.(u)},Z=u=>{T?.(u.target.value),M.onChange?.(u)},ne=()=>r||p?w:C||w;return s.jsxs("div",{style:{position:"relative"},children:[s.jsx(R.Input,{...M,value:p,onChange:Z,onFocus:Y,onBlur:H,placeholder:ne(),style:{...M.style,position:"relative",zIndex:1}}),!r&&!p&&C&&s.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:[s.jsx("span",{children:C}),o&&s.jsx("span",{style:{display:"inline-block",width:1,height:"1.2em",backgroundColor:"#1890ff",marginLeft:2,animation:"blink 1s infinite"}})]}),s.jsx("style",{children:`
|
|
1
|
+
(function(ae,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("react/jsx-runtime"),require("react"),require("antd"),require("@ant-design/icons"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","antd","@ant-design/icons","react-dom"],i):(ae=typeof globalThis<"u"?globalThis:ae||self,i(ae.SealSeekBIComponents={},ae.React,ae.React,ae.antd,ae.AntdIcons,ae.ReactDOM))})(this,function(ae,i,d,R,xe,Oe){"use strict";const He=({variant:t="primary",loading:u=!1,children:l,...s})=>{const p=S=>{switch(S){case"primary":return"primary";case"ghost":return"default";case"dashed":return"dashed";case"link":return"link";case"text":return"text";default:return"primary"}};return i.jsx(R.Button,{...s,type:p(t),loading:u,ghost:t==="ghost",children:l})};He.__docgenInfo={displayName:"Button",description:"基础按钮,用于触发操作",props:{variant:{name:"variant",required:!1,description:"视觉风格",type:{name:"ButtonVariant",raw:'"primary" | "ghost" | "dashed" | "link" | "text"'},defaultValue:{value:'"primary"'}},loading:{name:"loading",required:!1,description:"是否加载中",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},children:{name:"children",required:!1,description:"按钮内容",type:{name:"ReactNode",raw:"React.ReactNode"}},size:{name:"size",required:!1,description:"按钮大小",type:{name:"ButtonSize",raw:'"small" | "middle" | "large"'}},disabled:{name:"disabled",required:!1,description:"是否禁用",type:{name:"boolean",raw:"boolean"}},onClick:{name:"onClick",required:!1,description:"点击事件",type:{name:"function",raw:"(event: MouseEvent) => void"}}}};const Ge=({title:t,children:u,bordered:l=!0,hoverable:s=!1,size:p="default",...S})=>i.jsx(R.Card,{...S,title:t,bordered:l,hoverable:s,size:p,children:u});Ge.__docgenInfo={displayName:"Card",description:"卡片容器,用于分组内容",props:{title:{name:"title",required:!1,description:"标题",type:{name:"ReactNode",raw:"React.ReactNode"}},children:{name:"children",required:!1,description:"内容区域",type:{name:"ReactNode",raw:"React.ReactNode"}},bordered:{name:"bordered",required:!1,description:"是否显示边框",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},hoverable:{name:"hoverable",required:!1,description:"是否可悬停",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},size:{name:"size",required:!1,description:"卡片大小",type:{name:"CardSize",raw:'"default" | "small"'},defaultValue:{value:'"default"'}},loading:{name:"loading",required:!1,description:"是否加载中",type:{name:"boolean",raw:"boolean"}},actions:{name:"actions",required:!1,description:"卡片操作组",type:{name:"ReactNode[]",raw:"React.ReactNode[]"}}}};const Fe=({showDefaultFooter:t=!0,...u})=>{const l=u.footer!==void 0?u.footer:t?(s,{OkBtn:p,CancelBtn:S})=>i.jsxs(i.Fragment,{children:[i.jsx(p,{}),i.jsx(S,{})]}):null;return i.jsx(R.Modal,{...u,footer:l})};Fe.__docgenInfo={displayName:"AppModal",description:"应用级模态框组件,基于 Ant Design Modal 封装",props:{showDefaultFooter:{name:"showDefaultFooter",required:!1,description:"是否显示默认的确定和取消按钮",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},title:{name:"title",required:!1,description:"模态框标题",type:{name:"ReactNode",raw:"React.ReactNode"}},open:{name:"open",required:!1,description:"是否显示模态框",type:{name:"boolean",raw:"boolean"}},onCancel:{name:"onCancel",required:!1,description:"取消按钮点击事件",type:{name:"function",raw:"(e: React.MouseEvent<HTMLElement>) => void"}},onOk:{name:"onOk",required:!1,description:"确定按钮点击事件",type:{name:"function",raw:"(e: React.MouseEvent<HTMLElement>) => void"}},children:{name:"children",required:!1,description:"模态框内容",type:{name:"ReactNode",raw:"React.ReactNode"}},width:{name:"width",required:!1,description:"模态框宽度",type:{name:"string | number",raw:"string | number"}},centered:{name:"centered",required:!1,description:"是否居中显示",type:{name:"boolean",raw:"boolean"}},maskClosable:{name:"maskClosable",required:!1,description:"点击蒙层是否允许关闭",type:{name:"boolean",raw:"boolean"}}}};const Ye=({scrollX:t,showPagination:u=!0,defaultPageSize:l=10,...s})=>i.jsx(R.Table,{...s,scroll:{x:t||"max-content",y:"50vh"},pagination:u?{hideOnSinglePage:!0,showSizeChanger:!0,showQuickJumper:!0,defaultPageSize:l,...s.pagination}:!1});Ye.__docgenInfo={displayName:"PageTable",description:"页面级表格组件,高度铺满容器,自动滚动",props:{scrollX:{name:"scrollX",required:!1,description:"水平滚动宽度",type:{name:"number",raw:"number"}},showPagination:{name:"showPagination",required:!1,description:"是否显示分页器",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},defaultPageSize:{name:"defaultPageSize",required:!1,description:"默认页面大小",type:{name:"number",raw:"number"},defaultValue:{value:"10"}},columns:{name:"columns",required:!1,description:"表格列配置",type:{name:"ColumnType[]",raw:"ColumnType<any>[]"}},dataSource:{name:"dataSource",required:!1,description:"数据源",type:{name:"any[]",raw:"any[]"}},loading:{name:"loading",required:!1,description:"是否加载中",type:{name:"boolean",raw:"boolean"}},rowKey:{name:"rowKey",required:!1,description:"行数据的 Key",type:{name:"string | function",raw:"string | ((record: any) => string)"}}}};const ct=xe.createFromIconfontCN({scriptUrl:["https://at.alicdn.com/t/c/font_4968458_eh91gfr4j9e.js"]}),ze=({name:t,size:u,color:l,style:s,...p})=>{const S={fontSize:u,color:l,...s};return i.jsx(ct,{...p,type:t,style:S})};ze.__docgenInfo={displayName:"XcIcon",description:"自定义图标组件,基于 iconfont",props:{name:{name:"name",required:!0,description:"图标名称",type:{name:"string",raw:"string"}},size:{name:"size",required:!1,description:"图标大小",type:{name:"number | string",raw:"number | string"}},color:{name:"color",required:!1,description:"图标颜色",type:{name:"string",raw:"string"}},className:{name:"className",required:!1,description:"自定义类名",type:{name:"string",raw:"string"}},style:{name:"style",required:!1,description:"自定义样式",type:{name:"CSSProperties",raw:"React.CSSProperties"}}}};const je=({loading:t,description:u="暂无数据",className:l,emptyChildren:s,loadingText:p,emptyImage:S})=>t?i.jsxs(R.Flex,{className:`pt-10 w-full ${l||""}`,align:"center",justify:"center",vertical:!0,children:[i.jsx(R.Spin,{size:"large"}),p&&i.jsx("div",{className:"mt-4 text-gray-500",children:p})]}):i.jsx(R.Flex,{className:`pt-10 w-full ${l||""}`,align:"center",justify:"center",children:i.jsx(R.Empty,{image:S,description:u,imageStyle:{height:180},children:s})});je.__docgenInfo={displayName:"EmptyAndSpin",description:"空状态和加载状态组合组件",props:{loading:{name:"loading",required:!0,description:"是否加载中",type:{name:"boolean",raw:"boolean"}},description:{name:"description",required:!1,description:"空状态描述",type:{name:"ReactNode",raw:"React.ReactNode"},defaultValue:{value:'"暂无数据"'}},className:{name:"className",required:!1,description:"自定义类名",type:{name:"string",raw:"string"}},emptyChildren:{name:"emptyChildren",required:!1,description:"空状态额外内容",type:{name:"ReactNode",raw:"React.ReactNode"}},loadingText:{name:"loadingText",required:!1,description:"加载中提示文字",type:{name:"string",raw:"string"}},emptyImage:{name:"emptyImage",required:!1,description:"空状态图片",type:{name:"string",raw:"string"}}}};const We=({onClick:t,showText:u=!1,className:l,size:s="small",type:p="default"})=>i.jsx(R.Button,{size:s,type:p,icon:i.jsx(xe.LeftOutlined,{}),className:`cursor-pointer ${l||""}`,onClick:t,children:u&&"返回"});We.__docgenInfo={displayName:"BackButton",description:"返回按钮组件",props:{onClick:{name:"onClick",required:!1,description:"点击事件",type:{name:"function",raw:"() => void"}},showText:{name:"showText",required:!1,description:"是否显示文字",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},className:{name:"className",required:!1,description:"自定义类名",type:{name:"string",raw:"string"}},size:{name:"size",required:!1,description:"按钮大小",type:{name:"ButtonSize",raw:'"small" | "middle" | "large"'},defaultValue:{value:'"small"'}},type:{name:"type",required:!1,description:"按钮类型",type:{name:"ButtonType",raw:'"primary" | "default" | "dashed" | "link" | "text"'},defaultValue:{value:'"default"'}}}};const Ue=({removePadding:t=!0,className:u,...l})=>{const s=t?`px-0 h-auto ${u||""}`:u;return i.jsx(R.Button,{type:"link",...l,className:s,children:l.children})};Ue.__docgenInfo={displayName:"LinkButton",description:"链接样式按钮组件,适用于表格操作列",props:{removePadding:{name:"removePadding",required:!1,description:"是否去除默认内边距",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},children:{name:"children",required:!1,description:"按钮内容",type:{name:"ReactNode",raw:"React.ReactNode"}},onClick:{name:"onClick",required:!1,description:"点击事件",type:{name:"function",raw:"(event: React.MouseEvent<HTMLButtonElement>) => void"}},disabled:{name:"disabled",required:!1,description:"是否禁用",type:{name:"boolean",raw:"boolean"}},className:{name:"className",required:!1,description:"自定义类名",type:{name:"string",raw:"string"}}}};const{Option:ut}=R.Select,Ke=({columns:t,request:u,searchFields:l=[],showSearch:s=!0,showRefresh:p=!0,defaultPageSize:S=10,pageSizeOptions:q=["10","20","50","100"],autoLoad:$=!0,externalParams:E={},...e})=>{const[N,h]=d.useState([]),[c,r]=d.useState(!1),[n,o]=d.useState({current:1,pageSize:S,total:0}),[a,m]=d.useState({}),[g,x]=d.useState({}),[w]=R.Form.useForm(),P=d.useRef(n);P.current=n;const C=d.useRef(E);C.current=E;const O=d.useRef(!1),Y=d.useMemo(()=>t.map(f=>{const{sortable:y,render:k,...D}=f;return{...D,sorter:y?!0:void 0,render:k||(A=>A)}}),[t]),z=d.useCallback(async(f={})=>{if(u){r(!0);try{const y={page:P.current.current,pageSize:P.current.pageSize,sortField:g.field,sortOrder:g.order,searchParams:{...a,...C.current},...f},k=await u(y);k.success&&(h(k.data),o(D=>({...D,total:k.total,current:y.page||D.current})))}catch(y){console.error("加载数据失败:",y)}finally{r(!1)}}},[u,g,a]),U=d.useCallback(f=>{m(f),o(y=>({...y,current:1}))},[]),G=d.useCallback(()=>{w.resetFields(),m({}),o(f=>({...f,current:1}))},[w]),Z=d.useCallback(()=>{z()},[z]),ne=d.useCallback((f,y,k)=>{const D={current:f.current||1,pageSize:f.pageSize||S,total:f.total||0},A={field:k?.field,order:k?.order};o(D),x(A)},[S]);return d.useEffect(()=>{const f=Object.keys(E).length>0;($&&!O.current||f)&&(z(),O.current=!0)},[$,E,z]),i.jsxs("div",{children:[s&&l.length>0&&i.jsx(R.Card,{size:"small",style:{marginBottom:16},children:i.jsxs(R.Form,{form:w,layout:"inline",onFinish:U,initialValues:l.reduce((f,y)=>(y.defaultValue!==void 0&&(f[y.key]=y.defaultValue),f),{}),children:[l.map(f=>i.jsx(R.Form.Item,{name:f.key,label:f.label,children:f.type==="input"?i.jsx(R.Input,{placeholder:f.placeholder||`请输入${f.label}`,style:{width:200}}):i.jsx(R.Select,{placeholder:f.placeholder||`请选择${f.label}`,style:{width:200},allowClear:!0,children:f.options?.map(y=>i.jsx(ut,{value:y.value,children:y.label},y.value))})},f.key)),i.jsx(R.Form.Item,{children:i.jsxs(R.Space,{children:[i.jsx(R.Button,{type:"primary",htmlType:"submit",icon:i.jsx(xe.SearchOutlined,{}),children:"查询"}),i.jsx(R.Button,{onClick:G,children:"重置"}),p&&i.jsx(R.Button,{icon:i.jsx(xe.ReloadOutlined,{}),onClick:Z,children:"刷新"})]})})]})}),i.jsx(R.Table,{...e,columns:Y,dataSource:N,loading:c,pagination:{...n,showSizeChanger:!0,showQuickJumper:!0,showTotal:(f,y)=>`第 ${y[0]}-${y[1]} 条/共 ${f} 条`,pageSizeOptions:q},onChange:ne,scroll:{x:"max-content",y:"50vh"}})]})};Ke.__docgenInfo={displayName:"AdvancedTable",description:"高阶表格组件,支持异步请求、搜索、排序等功能",props:{columns:{name:"columns",required:!0,description:"列配置",type:{name:"AdvancedColumnType[]",raw:"AdvancedColumnType<any>[]"}},request:{name:"request",required:!1,description:"异步请求函数",type:{name:"function",raw:"(params: RequestParams) => Promise<RequestResponse>"}},searchFields:{name:"searchFields",required:!1,description:"搜索字段配置",type:{name:"SearchFieldConfig[]",raw:"SearchFieldConfig[]"},defaultValue:{value:"[]"}},showSearch:{name:"showSearch",required:!1,description:"是否显示搜索区域",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},showRefresh:{name:"showRefresh",required:!1,description:"是否显示刷新按钮",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},defaultPageSize:{name:"defaultPageSize",required:!1,description:"默认页面大小",type:{name:"number",raw:"number"},defaultValue:{value:"10"}},pageSizeOptions:{name:"pageSizeOptions",required:!1,description:"页面大小选项",type:{name:"string[]",raw:"string[]"},defaultValue:{value:'["10", "20", "50", "100"]'}},autoLoad:{name:"autoLoad",required:!1,description:"是否自动加载",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},externalParams:{name:"externalParams",required:!1,description:"外部请求参数",type:{name:"Record<string, any>",raw:"Record<string, any>"},defaultValue:{value:"{}"}}}};function Me(t,u,l){if(!t.current)return;const s=new Set,p={};for(const h of u)h.exclusionGroup&&h.exclusionGroup!=="separator"&&(s.add(h.exclusionGroup),p[h.exclusionGroup]||(p[h.exclusionGroup]=[]),p[h.exclusionGroup].push({type:h.type,key:h.key,exclusionGroup:h.exclusionGroup}));const S={};for(const h of s){S[h]=!1;for(const c of p[h])if(c.type==="upload"&&c.key){if(l[c.key]!==null&&l[c.key]!==void 0){S[h]=!0;break}}else if(c.type==="variable"&&c.key){const r=t.current.querySelector(`[data-type="variable"][data-key="${c.key}"]`);if(r&&r.innerText.replace(/[\u200B\n]/g,"").trim().length>0){S[h]=!0;break}}}const q=u.some(h=>h.exclusionGroup==="separator"),E=Object.keys(S).filter(h=>S[h]).length>0;let e=null;if(E&&q){for(const h of u)if(h.exclusionGroup&&h.exclusionGroup!=="separator"&&S[h.exclusionGroup]){e=h.exclusionGroup;break}}for(const h of s){const c=t.current.querySelectorAll(`[data-group="${h}"]`);q&&E&&e?h===e?c.forEach(r=>{r.classList.contains("required-upload-group")?r.style.setProperty("display","inline-flex","important"):(r.classList.contains("exclusion-wrapper"),r.style.setProperty("display","inline-block","important"))}):c.forEach(r=>{r.style.display="none",r.style.setProperty("display","none","important")}):c.forEach(r=>{r.classList.contains("required-upload-group")?r.style.setProperty("display","inline-flex","important"):(r.classList.contains("exclusion-wrapper"),r.style.setProperty("display","inline-block","important"))})}t.current.querySelectorAll('[data-group="separator"]').forEach(h=>{h.style.display=E?"none":"inline"})}function Ie(t,u,l,s){if(!t.current){s(!1);return}const p=[];for(let c=0;c<u.length;c++){const r=u[c];if((r.type==="variable"||r.type==="upload"||r.type==="multi-variable"||r.type==="select"||r.type==="textarea"||r.type==="richtext"||r.type==="datepicker")&&r.required&&r.key){p.push({exclusionGroup:r.exclusionGroup||"",key:r.key,type:r.type==="multi-variable"?"variable":r.type,isMultiVariable:r.type==="multi-variable",minCount:r.type==="multi-variable"?r.minCount:void 0,__index:c});continue}if(r.type==="text"&&r.className?.includes("rte-text-required"))if(r.exclusionGroup)for(let n=c+1;n<u.length;n++){const o=u[n];if(o.exclusionGroup===r.exclusionGroup&&(o.type==="variable"||o.type==="upload"||o.type==="select"||o.type==="textarea"||o.type==="richtext"||o.type==="datepicker")&&o.key){p.push({exclusionGroup:r.exclusionGroup,key:o.key,type:o.type,__index:n});break}}else for(let n=c+1;n<u.length;n++){const o=u[n];if((o.type==="variable"||o.type==="upload"||o.type==="select"||o.type==="textarea"||o.type==="richtext"||o.type==="datepicker")&&o.key){p.push({exclusionGroup:o.exclusionGroup||"",key:o.key,type:o.type,__index:n});break}}}const S=u.some(c=>c.exclusionGroup==="separator"),q=[];if(S&&p.length>1){const c=[];u.forEach((r,n)=>{r.exclusionGroup==="separator"&&c.push(n)});for(const r of c){const o=p.filter(g=>typeof g.__index=="number"&&g.__index<r).sort((g,x)=>(x.__index??0)-(g.__index??0))[0],m=p.filter(g=>typeof g.__index=="number"&&g.__index>r).sort((g,x)=>(g.__index??0)-(x.__index??0))[0];o&&m&&q.push([o,m])}}if(p.length===0){if(u.length===0){if(!t.current){s(!1);return}const c=t.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";s(c.length>0);return}s(!0);return}const $=p.filter(c=>{if(!t.current)return!1;if(c.exclusionGroup){const r=t.current.querySelectorAll(`[data-group="${c.exclusionGroup}"]`);if(r.length>0)return r[0].style.display!=="none"}if(c.type==="upload"&&c.key){const r=t.current.querySelector(`[data-type="upload"][data-key="${c.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}else if(c.type==="variable"&&c.key)if(c.isMultiVariable){const r=t.current.querySelectorAll(`[data-type="variable"][data-multi-key="${c.key}"]`);if(r.length>0){const n=r[0],o=n.closest("[data-group]")||n.parentElement;return o?o.style.display!=="none":!0}}else{const r=t.current.querySelector(`[data-type="variable"][data-key="${c.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}else if(c.type==="select"&&c.key){const r=t.current.querySelector(`[data-type="select"][data-key="${c.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}else if(c.type==="textarea"&&c.key){const r=t.current.querySelector(`[data-type="textarea"][data-key="${c.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}else if(c.type==="richtext"&&c.key){const r=t.current.querySelector(`[data-type="richtext"][data-key="${c.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}else if(c.type==="datepicker"&&c.key){const r=t.current.querySelector(`[data-type="datepicker"][data-key="${c.key}"]`);if(r){const n=r.closest("[data-group]")||r.parentElement;return n?n.style.display!=="none":!0}}return!1});if($.length===0){s(!0);return}const E=new Set;q.forEach(c=>{c.forEach(r=>{r.key&&E.add(r.key)})});const e=$.filter(c=>!c.key||!E.has(c.key));let N=(q.length===0,!0);for(const c of q){const r=c.filter(o=>{if(!t.current)return!1;if(o.exclusionGroup){const a=t.current.querySelectorAll(`[data-group="${o.exclusionGroup}"]`);if(a.length>0)return a[0].style.display!=="none"}return!0});if(r.length===0)continue;let n=!1;for(const o of r)if(o.type==="upload"&&o.key){if(l[o.key]!==null&&l[o.key]!==void 0){n=!0;break}}else if(o.type==="variable"&&o.key)if(o.isMultiVariable){const a=t.current.querySelectorAll(`[data-type="variable"][data-multi-key="${o.key}"]`);let m=0;for(const x of Array.from(a)){if(x.classList.contains("show-placeholder"))continue;x.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&(m+=1)}const g=o.minCount&&o.minCount>0?o.minCount:1;if(m>=g){n=!0;break}}else{const a=t.current.querySelector(`[data-type="variable"][data-key="${o.key}"]`);if(a){if(a.classList.contains("show-placeholder"))continue;if(a.innerText.replace(/[\u200B\n]/g,"").trim().length>0){n=!0;break}}}else if(o.type==="select"&&o.key){const a=t.current.querySelector(`[data-type="select"][data-key="${o.key}"]`);if(a&&(a.value||"").trim().length>0){n=!0;break}}else if(o.type==="textarea"&&o.key){const a=t.current.querySelector(`[data-type="textarea"][data-key="${o.key}"]`);if(a&&(a.value||"").trim().length>0){n=!0;break}}else if(o.type==="richtext"&&o.key){const a=t.current.querySelector(`[data-type="richtext"][data-key="${o.key}"]`);if(a&&(a.textContent||"").replace(/[\u200B]/g,"").trim().length>0){n=!0;break}}else if(o.type==="datepicker"&&o.key){const a=t.current.querySelector(`[data-type="datepicker"][data-key="${o.key}"]`);if(a&&(a.getAttribute("data-value")||"").trim().length>0){n=!0;break}}if(!n){N=!1;break}}let h=!0;for(const c of e)if(c.type==="upload"&&c.key){if(l[c.key]===null||l[c.key]===void 0){h=!1;break}}else if(c.type==="variable"&&c.key)if(c.isMultiVariable){const r=t.current.querySelectorAll(`[data-type="variable"][data-multi-key="${c.key}"]`);let n=0;for(const a of Array.from(r)){if(a.classList.contains("show-placeholder"))continue;a.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&(n+=1)}const o=c.minCount&&c.minCount>0?c.minCount:1;if(n<o){h=!1;break}}else{const r=t.current.querySelector(`[data-type="variable"][data-key="${c.key}"]`);if(!r){h=!1;break}if(r.classList.contains("show-placeholder")){h=!1;break}if(r.innerText.replace(/[\u200B\n]/g,"").trim().length===0){h=!1;break}}else if(c.type==="select"&&c.key){const r=t.current.querySelector(`[data-type="select"][data-key="${c.key}"]`);if(!r||(r.value||"").trim().length===0){h=!1;break}}else if(c.type==="textarea"&&c.key){const r=t.current.querySelector(`[data-type="textarea"][data-key="${c.key}"]`);if(!r||(r.value||"").trim().length===0){h=!1;break}}else if(c.type==="richtext"&&c.key){const r=t.current.querySelector(`[data-type="richtext"][data-key="${c.key}"]`);if(!r||(r.textContent||"").replace(/[\u200B]/g,"").trim().length===0){h=!1;break}}else if(c.type==="datepicker"&&c.key){const r=t.current.querySelector(`[data-type="datepicker"][data-key="${c.key}"]`);if(!r||(r.getAttribute("data-value")||"").trim().length===0){h=!1;break}}s(N&&h)}function Ve(t,u){if(!t.current)return;t.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 dt(t,u,l,s,p,S={},q){if(!t.current)return;let $="",E=0;for(;E<u.length;){const e=u[E],N=E+1<u.length?u[E+1]:null;if(e.type==="text"&&(e.text?.includes("icon-bitian")||e.className==="rte-text-required")&&N){const a=N.type==="upload"&&N.exclusionGroup==="fileInput"&&e.exclusionGroup==="fileInput"&&e.exclusionGroup===N.exclusionGroup,m=N.type==="variable"&&N.exclusionGroup==="textInput"&&e.exclusionGroup==="textInput"&&e.exclusionGroup===N.exclusionGroup;if(a){const x=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group">`,w="</span>";let P="";e.className?P=`<span class="${e.className}">${e.text??""}</span>`:P=e.text??"";const C=N,O=l[C.key]!==null&&l[C.key]!==void 0,Y=O?l[C.key]:null,z=O?l[C.key]?.name:C.text,U=O?"":"hidden",G=C.tooltip&&!O?"":"hidden",Z=O?"has-file":"",ne=O&&z?` data-file-name="${z.replace(/"/g,""")}"`:"";let f="";O&&Y&&(Y.type?.startsWith("image/")?f=`<img class="upload-icon-img upload-icon-preview" src="${URL.createObjectURL(Y)}" alt="preview" />`:f="<i class='iconfont icon-exlwenjian'></i>");const y=`<span contenteditable="false" data-type="upload" data-key="${C.key}" class="upload-chip"><span class="upload-inner-wrapper ${Z}"><span class="upload-icon">${f}</span><span class="upload-label"${ne}>${z||C.text}</span>${C.tooltip?`<i contenteditable="false" class="iconfont icon-tishi upload-info-icon ${G}" data-upload-key="${C.key}" data-tooltip="${C.tooltip}" title="提示"></i>`:""}<span class="file-remove-btn ${U}" title="移除文件">×</span></span></span>`;$+=x+P+y+w,E+=2;continue}if(m){const x=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group">`,w="</span>";let P="";e.className?P=`<span class="${e.className}">${e.text??""}</span>`:P=e.text??"";const C=N,Y=(C.key?p[C.key]:void 0)||C.text||"",z=!Y,U=z?"":Y,G=z?"show-placeholder":"",Z=C.exclusionGroup?` data-group="${C.exclusionGroup}"`:"",ne=C.tooltip?` data-tooltip="${C.tooltip.replace(/"/g,""")}" data-variable-key="${C.key||""}"`:"",f=C.tooltip&&z?"":"hidden",y=`<span contenteditable="true" data-type="variable" data-key="${C.key}" data-placeholder="${C.placeholder||""}"${Z}${ne} class="variable-chip ${G}">${U}${C.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${f}" data-variable-key="${C.key}" data-tooltip="${C.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;$+=x+P+y+w,E+=2;continue}}const c=e.exclusionGroup?`data-group="${e.exclusionGroup}"`:"",r=e.exclusionGroup?`<span ${c} class="exclusion-wrapper">`:"",n=e.exclusionGroup?"</span>":"";let o="";if(e.type==="tag"){const m=s||q==="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>',g=s?' data-locked="true"':"",x=e.tooltip?` data-tooltip="${e.tooltip.replace(/"/g,""")}" data-tag-key="${e.key||""}"`:"";o=`<span contenteditable="false" class="tag-node group"${g}${x}><span class="tag-label">${e.text}</span>${m}</span>`}else if(e.type==="text"){const a=s?' data-locked="true" contenteditable="false"':' contenteditable="false"',g=(e.text??"").replace(/\n/g,"<br/>");e.className?o=`<span class="${e.className}"${a}>${g}</span>`:o=s?`<span${a}>${g}</span>`:`<span contenteditable="false">${g}</span>`}else if(e.type==="variable"&&e.key){const m=p[e.key]||e.text||"",g=!m,x=g?"":m,w=g?"show-placeholder":"",P=e.exclusionGroup?` data-group="${e.exclusionGroup}"`:"",C=e.tooltip?` data-tooltip="${e.tooltip.replace(/"/g,""")}" data-variable-key="${e.key||""}"`:"",O=e.tooltip&&g?"":"hidden",Y=`<span contenteditable="true" data-type="variable" data-key="${e.key}" data-placeholder="${e.placeholder||""}"${P}${C} class="variable-chip ${w}">${x}${e.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${O}" data-variable-key="${e.key}" data-tooltip="${e.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;e.required?o=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${Y}</span>`:o=Y}else if(e.type==="upload"&&e.key){const a=l[e.key]!==null&&l[e.key]!==void 0,m=a?l[e.key]:null,g=a?l[e.key]?.name:e.text,x=a?"":"hidden",w=e.tooltip&&!a?"":"hidden",P=a?"has-file":"",C=a&&g?` data-file-name="${g.replace(/"/g,""")}"`:"";let O="";a&&m&&(m.type?.startsWith("image/")?O=`<img class="upload-icon-img upload-icon-preview" src="${URL.createObjectURL(m)}" alt="preview" />`:O="<i class='iconfont icon-exlwenjian'></i>");const Y=`<span contenteditable="false" data-type="upload" data-key="${e.key}" class="upload-chip"><span class="upload-inner-wrapper ${P}"><span class="upload-icon">${O}</span><span class="upload-label"${C}>${g||e.text}</span>${e.tooltip?`<i contenteditable="false" class="iconfont icon-tishi upload-info-icon ${w}" data-upload-key="${e.key}" data-tooltip="${e.tooltip}" title="提示"></i>`:""}<span class="file-remove-btn ${x}" title="移除文件">×</span></span></span>`;e.required?o=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${Y}</span>`:o=Y}else if(e.type==="select"&&e.key){const a=p[e.key]||e.defaultValue||"",m=(e.options||[]).map(w=>{const P=a===w.value?"selected":"";return`<option value="${w.value}" ${P}>${w.label}</option>`}).join(""),g=e.placeholder?`<option value="" ${a?"":"selected"} disabled hidden>${e.placeholder}</option>`:"",x=`<select data-type="select" data-key="${e.key}" class="rte-select">${g}${m}</select>`;e.required?o=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${x}</span>`:o=x}else if(e.type==="textarea"&&e.key){const a=p[e.key]||"",m=e.maxHeight||252,g=e.expandable!==!1,x=e.placeholder?` placeholder="${e.placeholder}"`:"",w=`<textarea data-type="textarea" data-key="${e.key}" class="rte-textarea" data-max-height="${m}" style="max-height:${m}px;"${x}>${a}</textarea>`,P=g?`<button type="button" class="rte-textarea-toggle" data-key="${e.key}" data-expanded="false">展开</button>`:"",C=`<div class="rte-textarea-wrapper" data-key="${e.key}">${w}${P}</div>`;e.required?o=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${C}</span>`:o=C}else if(e.type==="richtext"&&e.key){const a=p[e.key]||e.text||"",m=e.minHeight||140,g=e.placeholder?` data-placeholder="${e.placeholder}"`:"",x=e.expandable!==!1,w=a,P=`<div contenteditable="true" data-type="richtext" data-key="${e.key}" class="rte-richtext"${g} style="min-height:${m}px;">${w}</div>`,C=x?`<button type="button" class="rte-richtext-toggle" data-key="${e.key}" data-expanded="false">展开</button>`:"",O=`<div class="rte-richtext-wrapper" data-key="${e.key}">${P}${C}</div>`,Y=`<div class="rte-richtext-container" data-key="${e.key}">${O}</div>`;e.required?o=`<div ${e.exclusionGroup?`data-group="${e.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>${Y}</div>`:o=Y}else if(e.type==="datepicker"&&e.key){const a=p[e.key]||"",m=e.placeholder?` data-placeholder="${e.placeholder}"`:"",g=e.limitRange?` data-limit-range="${e.limitRange}"`:"",x=e.disableFuture?' data-disable-future="true"':"",w=`<div data-type="datepicker" data-key="${e.key}" data-value="${a}" class="rte-datepicker-host"${m}${g}${x}></div>`;e.required?o=`<span ${e.exclusionGroup?`data-group="${e.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${w}</span>`:o=w}else if(e.type==="multi-variable"&&e.key){const a=e.maxCount||9,m=S[e.key]||1,g=Math.min(m,a);if(e.required){const x=`<span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>`,w=e.exclusionGroup?`data-group="${e.exclusionGroup}"`:"";let P="";for(let C=0;C<g;C++){const O=`${e.key}_${C}`,Y=p[O]||"",z=!Y,U=z?"":Y,G=z?"show-placeholder":"",Z=e.tooltip?` data-tooltip="${e.tooltip.replace(/"/g,""")}" data-variable-key="${e.key||""}"`:"",ne=e.tooltip&&z?"":"hidden",f=`<span contenteditable="true" data-type="variable" data-key="${O}" data-multi-key="${e.key}" data-index="${C}" data-placeholder="${e.placeholder||""}"${Z} class="variable-chip ${G}">${U}${e.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${ne}" data-variable-key="${e.key}" data-tooltip="${e.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;C===0?P+=`<span ${w} class="exclusion-wrapper required-upload-group required-multi-first">${x}${f}</span>`:P+=f}o=P}else{let x="";for(let w=0;w<g;w++){const P=`${e.key}_${w}`,C=p[P]||"",O=!C,Y=O?"":C,z=O?"show-placeholder":"",U=e.tooltip?` data-tooltip="${e.tooltip.replace(/"/g,""")}" data-variable-key="${e.key||""}"`:"",G=e.tooltip&&O?"":"hidden",Z=`<span contenteditable="true" data-type="variable" data-key="${P}" data-multi-key="${e.key}" data-index="${w}" data-placeholder="${e.placeholder||""}"${U} class="variable-chip ${z}">${Y}${e.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${G}" data-variable-key="${e.key}" data-tooltip="${e.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;x+=Z}o=x}}$+=r+o+n,E++}t.current&&(t.current.innerHTML=$,setTimeout(()=>{if(!t.current)return;t.current.querySelectorAll('[data-type="variable"]').forEach(N=>{const h=N.innerText.replace(/\n/g,"");h.replace(/\u200B/g,"")?N.classList.remove("show-placeholder"):(h!==""&&(N.innerText=""),N.classList.add("show-placeholder"))})},0))}function pt(t,u,l,s,p={},S,q,$){const E=d.useCallback(()=>{if(!t.current)return;if(u.length===0){t.current.innerHTML="";return}let e={};const h=t.current.__tempVariableValues;if(h?(e=h,setTimeout(()=>{if(t.current){const c=t.current;c.__tempVariableValues===h&&delete c.__tempVariableValues}},100)):(t.current.querySelectorAll('[data-type="variable"]').forEach(m=>{const g=m.dataset.key;if(g){const x=m.innerText.replace(/[\u200B\n]/g,"").trim();x&&(e[g]=x)}}),t.current.querySelectorAll('[data-type="select"]').forEach(m=>{const g=m.dataset.key;if(g){const x=m.value.trim();x&&(e[g]=x)}}),t.current.querySelectorAll('[data-type="textarea"]').forEach(m=>{const g=m.dataset.key;if(g){const x=m.value.replace(/[\u200B]/g,"").trim();x&&(e[g]=x)}}),t.current.querySelectorAll('[data-type="richtext"]').forEach(m=>{const g=m.dataset.key;if(g){const x=(m.textContent||"").replace(/[\u200B]/g,"").trim();x&&(e[g]=x)}}),t.current.querySelectorAll('[data-type="datepicker"]').forEach(m=>{const g=m.dataset.key;if(g){const x=(m.getAttribute("data-value")||"").trim();x&&(e[g]=x)}})),dt(t,u,l,s,e,p,$),S?.current){const{key:c,offset:r}=S.current;setTimeout(()=>{if(!t.current)return;const n=t.current.querySelector(`[data-type="variable"][data-key="${c}"]`);if(n){try{const o=document.createRange(),a=document.createTreeWalker(n,NodeFilter.SHOW_TEXT,null);let m=0,g=null,x=0;for(;a.nextNode();){const w=a.currentNode,P=w.textContent?.length||0;if(m+P>=r){g=w,x=r-m;break}m+=P}if(g){o.setStart(g,Math.min(x,g.textContent?.length||0)),o.collapse(!0);const w=window.getSelection();w&&(w.removeAllRanges(),w.addRange(o),n.focus())}else{o.selectNodeContents(n),o.collapse(!1);const w=window.getSelection();w&&(w.removeAllRanges(),w.addRange(o),n.focus())}}catch{const o=document.createRange();o.selectNodeContents(n),o.collapse(!1);const a=window.getSelection();a&&(a.removeAllRanges(),a.addRange(o),n.focus())}S.current=null}},0)}},[u,l,s,t,p,S,q,$]);d.useEffect(()=>{E()},[E])}function ft(t,u,l,s){d.useEffect(()=>{const p=t.current;if(!p)return;const S=$=>{const E=$.target?.closest(".upload-info-icon");if(E&&E.classList.contains("upload-info-icon")){const N=E.dataset.uploadKey;N&&s({key:N,anchorEl:E,type:"upload"});return}const e=$.target?.closest('[data-type="upload"]');if(e){const N=e.dataset.key;if(N){const h=l[N];h&&h.type&&h.type.startsWith("image/")&&s({key:N,anchorEl:e,type:"upload-preview"})}}},q=$=>{const E=$.target?.closest(".upload-info-icon"),e=$.relatedTarget;if(E&&E.classList.contains("upload-info-icon")){!e||!p.contains(e)?s(null):e.closest(".upload-info-icon")||s(null);return}const N=$.target?.closest('[data-type="upload"]');if(N){const h=e;if(h&&N.contains(h))return;s(null)}};return p.addEventListener("mouseover",S,!0),p.addEventListener("mouseout",q,!0),()=>{p.removeEventListener("mouseover",S,!0),p.removeEventListener("mouseout",q,!0)}},[u,l,t,s])}function yt(t,u,l,s){d.useEffect(()=>{if(!t.current)return;const p=E=>{if(s==="hideTagClose")return;const e=E.currentTarget,N=e.dataset.tooltip,h=e.dataset.tagKey||"";N&&l({key:h,anchorEl:e,type:"tag"})},S=()=>{l(null)};let q;const $=()=>{if(!t.current)return;t.current.querySelectorAll(".tag-node[data-tooltip]").forEach(e=>{e.addEventListener("mouseenter",p),e.addEventListener("mouseleave",S)})};return q=requestAnimationFrame(()=>{q=requestAnimationFrame($)}),()=>{cancelAnimationFrame(q),t.current&&t.current.querySelectorAll(".tag-node[data-tooltip]").forEach(e=>{e.removeEventListener("mouseenter",p),e.removeEventListener("mouseleave",S)})}},[u,t,l,s])}function mt(t,u,l){d.useEffect(()=>{const s=t.current;if(!s)return;const p=q=>{const $=q.target?.closest(".variable-info-icon");if($&&$.classList.contains("variable-info-icon")){const E=$.dataset.variableKey;E&&l({key:E,anchorEl:$,type:"variable"})}},S=q=>{const $=q.target?.closest(".variable-info-icon"),E=q.relatedTarget;$&&$.classList.contains("variable-info-icon")&&(!E||!s.contains(E)?l(null):E.closest(".variable-info-icon")||l(null))};return s.addEventListener("mouseover",p,!0),s.addEventListener("mouseout",S,!0),()=>{s.removeEventListener("mouseover",p,!0),s.removeEventListener("mouseout",S,!0)}},[u,t,l])}function ht(t,u,l,s){d.useEffect(()=>{if(!t.current)return;const p=E=>{const e=E.currentTarget;e.dataset.fileName&&s({key:"",anchorEl:e,type:"upload-label"})},S=()=>{s(null)};let q;const $=()=>{if(!t.current)return;t.current.querySelectorAll(".upload-label[data-file-name]").forEach(e=>{e.addEventListener("mouseenter",p),e.addEventListener("mouseleave",S)})};return q=requestAnimationFrame(()=>{q=requestAnimationFrame($)}),()=>{cancelAnimationFrame(q),t.current&&t.current.querySelectorAll(".upload-label[data-file-name]").forEach(e=>{e.removeEventListener("mouseenter",p),e.removeEventListener("mouseleave",S)})}},[u,l,t,s])}function gt(t,u,l,s){d.useEffect(()=>{const p=setTimeout(()=>{Me(t,u,l),Ie(t,u,l,s)},0);return()=>clearTimeout(p)},[l,u,t,s])}function vt(t,u){const l=d.useRef(0);d.useEffect(()=>{if(!t.current)return;let s=!1,p=0;const S=a=>a instanceof HTMLElement?!!(a.closest(".rte-datepicker-wrapper")||a.closest(".rte-datepicker-host")||a.closest(".ant-picker")||a.closest(".ant-picker-dropdown")):!1,q=a=>{s=!0,S(a.target)&&(l.current=Date.now(),console.log("[SelectionCtrl] mousedown on datepicker target"))},$=()=>{s=!1,p=Date.now()};let E=!1,e=0;const N=()=>{E=!0},h=()=>{E=!1,e=Date.now()},c=()=>{e=Date.now()},r=a=>{S(a.target)&&(l.current=Date.now(),console.log("[SelectionCtrl] focusin datepicker target"))},n=()=>{if(Date.now()-l.current<800){console.log("[SelectionCtrl] skip selectionchange due to recent datepicker interaction");return}const a=document.activeElement;if(a&&(a.closest(".rte-datepicker-wrapper")||a.closest(".rte-datepicker-host")||a.closest(".ant-picker-dropdown")||a.tagName==="INPUT"&&a.closest(".ant-picker"))){console.log("[SelectionCtrl] activeElement is datepicker; skip");return}if(!t.current)return;const m=window.getSelection();if(!m||m.rangeCount===0||u.current||s||E||Date.now()-e<500)return;const g=m.getRangeAt(0);if(!g.collapsed)return t.current.contains(g.commonAncestorContainer),void 0;const x=m.anchorNode;if(!x||!t.current.contains(x))return;let w=!1;if(x.nodeType===Node.ELEMENT_NODE){const C=x;(C.closest('[data-type="datepicker"]')||C.closest(".rte-datepicker-wrapper")||C.closest(".rte-datepicker-host"))&&(w=!0)}else if(x.parentElement){const C=x.parentElement;(C.closest('[data-type="datepicker"]')||C.closest(".rte-datepicker-wrapper")||C.closest(".rte-datepicker-host"))&&(w=!0)}if(w)return;let P=null;if(x.nodeType===Node.ELEMENT_NODE?P=x.closest('[data-type="variable"]'):x.nodeType===Node.TEXT_NODE&&x.parentElement&&(P=x.parentElement.closest('[data-type="variable"]')),!P){if(Date.now()-p>500)return;const C=t.current.querySelectorAll('[data-type="variable"]');if(C.length>0){let O=null;for(const Y of Array.from(C))if(Y.style.display!=="none"){O=Y;break}if(!O&&C.length>0&&(O=C[0]),O){const Y=document.createRange();Y.selectNodeContents(O),Y.collapse(!1),m.removeAllRanges(),m.addRange(Y),O.focus()}else m.removeAllRanges()}else m.removeAllRanges()}},o=t.current;return o&&(o.addEventListener("compositionstart",N),o.addEventListener("compositionend",h),o.addEventListener("input",c)),document.addEventListener("mousedown",q),document.addEventListener("mouseup",$),document.addEventListener("focusin",r),document.addEventListener("selectionchange",n),()=>{const a=t.current;a&&(a.removeEventListener("compositionstart",N),a.removeEventListener("compositionend",h),a.removeEventListener("input",c)),document.removeEventListener("mousedown",q),document.removeEventListener("mouseup",$),document.removeEventListener("focusin",r),document.removeEventListener("selectionchange",n)}},[t,u])}function bt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Te={exports:{}},xt=Te.exports,Xe;function Je(){return Xe||(Xe=1,function(t,u){(function(l,s){t.exports=s()})(xt,function(){var l=1e3,s=6e4,p=36e5,S="millisecond",q="second",$="minute",E="hour",e="day",N="week",h="month",c="quarter",r="year",n="date",o="Invalid Date",a=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(f){var y=["th","st","nd","rd"],k=f%100;return"["+f+(y[(k-20)%10]||y[k]||y[0])+"]"}},x=function(f,y,k){var D=String(f);return!D||D.length>=y?f:""+Array(y+1-D.length).join(k)+f},w={s:x,z:function(f){var y=-f.utcOffset(),k=Math.abs(y),D=Math.floor(k/60),A=k%60;return(y<=0?"+":"-")+x(D,2,"0")+":"+x(A,2,"0")},m:function f(y,k){if(y.date()<k.date())return-f(k,y);var D=12*(k.year()-y.year())+(k.month()-y.month()),A=y.clone().add(D,h),W=k-A<0,j=y.clone().add(D+(W?-1:1),h);return+(-(D+(k-A)/(W?A-j:j-A))||0)},a:function(f){return f<0?Math.ceil(f)||0:Math.floor(f)},p:function(f){return{M:h,y:r,w:N,d:e,D:n,h:E,m:$,s:q,ms:S,Q:c}[f]||String(f||"").toLowerCase().replace(/s$/,"")},u:function(f){return f===void 0}},P="en",C={};C[P]=g;var O="$isDayjsObject",Y=function(f){return f instanceof Z||!(!f||!f[O])},z=function f(y,k,D){var A;if(!y)return P;if(typeof y=="string"){var W=y.toLowerCase();C[W]&&(A=W),k&&(C[W]=k,A=W);var j=y.split("-");if(!A&&j.length>1)return f(j[0])}else{var te=y.name;C[te]=y,A=te}return!D&&A&&(P=A),A||!D&&P},U=function(f,y){if(Y(f))return f.clone();var k=typeof y=="object"?y:{};return k.date=f,k.args=arguments,new Z(k)},G=w;G.l=z,G.i=Y,G.w=function(f,y){return U(f,{locale:y.$L,utc:y.$u,x:y.$x,$offset:y.$offset})};var Z=function(){function f(k){this.$L=z(k.locale,null,!0),this.parse(k),this.$x=this.$x||k.x||{},this[O]=!0}var y=f.prototype;return y.parse=function(k){this.$d=function(D){var A=D.date,W=D.utc;if(A===null)return new Date(NaN);if(G.u(A))return new Date;if(A instanceof Date)return new Date(A);if(typeof A=="string"&&!/Z$/i.test(A)){var j=A.match(a);if(j){var te=j[2]-1||0,oe=(j[7]||"0").substring(0,3);return W?new Date(Date.UTC(j[1],te,j[3]||1,j[4]||0,j[5]||0,j[6]||0,oe)):new Date(j[1],te,j[3]||1,j[4]||0,j[5]||0,j[6]||0,oe)}}return new Date(A)}(k),this.init()},y.init=function(){var k=this.$d;this.$y=k.getFullYear(),this.$M=k.getMonth(),this.$D=k.getDate(),this.$W=k.getDay(),this.$H=k.getHours(),this.$m=k.getMinutes(),this.$s=k.getSeconds(),this.$ms=k.getMilliseconds()},y.$utils=function(){return G},y.isValid=function(){return this.$d.toString()!==o},y.isSame=function(k,D){var A=U(k);return this.startOf(D)<=A&&A<=this.endOf(D)},y.isAfter=function(k,D){return U(k)<this.startOf(D)},y.isBefore=function(k,D){return this.endOf(D)<U(k)},y.$g=function(k,D,A){return G.u(k)?this[D]:this.set(A,k)},y.unix=function(){return Math.floor(this.valueOf()/1e3)},y.valueOf=function(){return this.$d.getTime()},y.startOf=function(k,D){var A=this,W=!!G.u(D)||D,j=G.p(k),te=function(ye,pe){var ve=G.w(A.$u?Date.UTC(A.$y,pe,ye):new Date(A.$y,pe,ye),A);return W?ve:ve.endOf(e)},oe=function(ye,pe){return G.w(A.toDate()[ye].apply(A.toDate("s"),(W?[0,0,0,0]:[23,59,59,999]).slice(pe)),A)},ie=this.$W,ue=this.$M,de=this.$D,ge="set"+(this.$u?"UTC":"");switch(j){case r:return W?te(1,0):te(31,11);case h:return W?te(1,ue):te(0,ue+1);case N:var Q=this.$locale().weekStart||0,ce=(ie<Q?ie+7:ie)-Q;return te(W?de-ce:de+(6-ce),ue);case e:case n:return oe(ge+"Hours",0);case E:return oe(ge+"Minutes",1);case $:return oe(ge+"Seconds",2);case q:return oe(ge+"Milliseconds",3);default:return this.clone()}},y.endOf=function(k){return this.startOf(k,!1)},y.$set=function(k,D){var A,W=G.p(k),j="set"+(this.$u?"UTC":""),te=(A={},A[e]=j+"Date",A[n]=j+"Date",A[h]=j+"Month",A[r]=j+"FullYear",A[E]=j+"Hours",A[$]=j+"Minutes",A[q]=j+"Seconds",A[S]=j+"Milliseconds",A)[W],oe=W===e?this.$D+(D-this.$W):D;if(W===h||W===r){var ie=this.clone().set(n,1);ie.$d[te](oe),ie.init(),this.$d=ie.set(n,Math.min(this.$D,ie.daysInMonth())).$d}else te&&this.$d[te](oe);return this.init(),this},y.set=function(k,D){return this.clone().$set(k,D)},y.get=function(k){return this[G.p(k)]()},y.add=function(k,D){var A,W=this;k=Number(k);var j=G.p(D),te=function(ue){var de=U(W);return G.w(de.date(de.date()+Math.round(ue*k)),W)};if(j===h)return this.set(h,this.$M+k);if(j===r)return this.set(r,this.$y+k);if(j===e)return te(1);if(j===N)return te(7);var oe=(A={},A[$]=s,A[E]=p,A[q]=l,A)[j]||1,ie=this.$d.getTime()+k*oe;return G.w(ie,this)},y.subtract=function(k,D){return this.add(-1*k,D)},y.format=function(k){var D=this,A=this.$locale();if(!this.isValid())return A.invalidDate||o;var W=k||"YYYY-MM-DDTHH:mm:ssZ",j=G.z(this),te=this.$H,oe=this.$m,ie=this.$M,ue=A.weekdays,de=A.months,ge=A.meridiem,Q=function(pe,ve,ke,Ee){return pe&&(pe[ve]||pe(D,W))||ke[ve].slice(0,Ee)},ce=function(pe){return G.s(te%12||12,pe,"0")},ye=ge||function(pe,ve,ke){var Ee=pe<12?"AM":"PM";return ke?Ee.toLowerCase():Ee};return W.replace(m,function(pe,ve){return ve||function(ke){switch(ke){case"YY":return String(D.$y).slice(-2);case"YYYY":return G.s(D.$y,4,"0");case"M":return ie+1;case"MM":return G.s(ie+1,2,"0");case"MMM":return Q(A.monthsShort,ie,de,3);case"MMMM":return Q(de,ie);case"D":return D.$D;case"DD":return G.s(D.$D,2,"0");case"d":return String(D.$W);case"dd":return Q(A.weekdaysMin,D.$W,ue,2);case"ddd":return Q(A.weekdaysShort,D.$W,ue,3);case"dddd":return ue[D.$W];case"H":return String(te);case"HH":return G.s(te,2,"0");case"h":return ce(1);case"hh":return ce(2);case"a":return ye(te,oe,!0);case"A":return ye(te,oe,!1);case"m":return String(oe);case"mm":return G.s(oe,2,"0");case"s":return String(D.$s);case"ss":return G.s(D.$s,2,"0");case"SSS":return G.s(D.$ms,3,"0");case"Z":return j}return null}(pe)||j.replace(":","")})},y.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},y.diff=function(k,D,A){var W,j=this,te=G.p(D),oe=U(k),ie=(oe.utcOffset()-this.utcOffset())*s,ue=this-oe,de=function(){return G.m(j,oe)};switch(te){case r:W=de()/12;break;case h:W=de();break;case c:W=de()/3;break;case N:W=(ue-ie)/6048e5;break;case e:W=(ue-ie)/864e5;break;case E:W=ue/p;break;case $:W=ue/s;break;case q:W=ue/l;break;default:W=ue}return A?W:G.a(W)},y.daysInMonth=function(){return this.endOf(h).$D},y.$locale=function(){return C[this.$L]},y.locale=function(k,D){if(!k)return this.$L;var A=this.clone(),W=z(k,D,!0);return W&&(A.$L=W),A},y.clone=function(){return G.w(this.$d,this)},y.toDate=function(){return new Date(this.valueOf())},y.toJSON=function(){return this.isValid()?this.toISOString():null},y.toISOString=function(){return this.$d.toISOString()},y.toString=function(){return this.$d.toUTCString()},f}(),ne=Z.prototype;return U.prototype=ne,[["$ms",S],["$s",q],["$m",$],["$H",E],["$W",e],["$M",h],["$y",r],["$D",n]].forEach(function(f){ne[f[1]]=function(y){return this.$g(y,f[0],f[1])}}),U.extend=function(f,y){return f.$i||(f(y,Z,U),f.$i=!0),U},U.locale=z,U.isDayjs=Y,U.unix=function(f){return U(1e3*f)},U.en=C[P],U.Ls=C,U.p={},U})}(Te)),Te.exports}var kt=Je();const qe=bt(kt);var Ne={exports:{}},wt=Ne.exports,Qe;function Et(){return Qe||(Qe=1,function(t,u){(function(l,s){t.exports=s(Je())})(wt,function(l){function s(q){return q&&typeof q=="object"&&"default"in q?q:{default:q}}var p=s(l),S={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(q,$){return $==="W"?q+"周":q+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(q,$){var E=100*q+$;return E<600?"凌晨":E<900?"早上":E<1100?"上午":E<1300?"中午":E<1800?"下午":"晚上"}};return p.default.locale(S,null,!0),S})}(Ne)),Ne.exports}Et();function Se(t){"@babel/helpers - typeof";return Se=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},Se(t)}function $t(t,u){if(Se(t)!="object"||!t)return t;var l=t[Symbol.toPrimitive];if(l!==void 0){var s=l.call(t,u);if(Se(s)!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(u==="string"?String:Number)(t)}function Ct(t){var u=$t(t,"string");return Se(u)=="symbol"?u:u+""}function St(t,u,l){return(u=Ct(u))in t?Object.defineProperty(t,u,{value:l,enumerable:!0,configurable:!0,writable:!0}):t[u]=l,t}function Re(t,u){var l=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);u&&(s=s.filter(function(p){return Object.getOwnPropertyDescriptor(t,p).enumerable})),l.push.apply(l,s)}return l}function Ze(t){for(var u=1;u<arguments.length;u++){var l=arguments[u]!=null?arguments[u]:{};u%2?Re(Object(l),!0).forEach(function(s){St(t,s,l[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(l)):Re(Object(l)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(l,s))})}return t}var Tt={yearFormat:"YYYY",dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0},qt=Ze(Ze({},Tt),{},{locale:"zh_CN",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",week:"周",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪",yearFormat:"YYYY年",cellDateFormat:"D",monthBeforeYear:!1});const Nt={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]},et={lang:Object.assign({placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"]},qt),timePickerLocale:Object.assign({},Nt)};et.lang.ok="确定",qe.locale("zh-cn");const{RangePicker:At}=R.DatePicker,_t=({host:t,onChange:u})=>{const l=t.dataset.key,s=t.dataset.value,p=t.dataset.placeholder,S=t.dataset.limitRange?parseInt(t.dataset.limitRange,10):void 0,q=t.dataset.disableFuture==="true",[$,E]=d.useState(()=>{if(!s)return null;const o=s.split(",");return o.length===2&&o[0]&&o[1]?[qe(o[0]),qe(o[1])]:null}),[e,N]=d.useState(null),h=o=>o?q&&o.isAfter(qe(),"day")?!0:!S||!e||!e[0]?!1:Math.abs(o.diff(e[0],"days"))>S:!1,c=o=>{console.log("[DatePicker] onCalendarChange",o?.map(a=>a?.format("YYYY-MM-DD")||null)),N(o)},r=o=>{if(console.log("[DatePicker] onChange",o?.map(a=>a?.format("YYYY-MM-DD")||null)),E(o),N(null),o&&o[0]&&o[1]){const a=`${o[0].format("YYYY-MM-DD")},${o[1].format("YYYY-MM-DD")}`;t.setAttribute("data-value",a),u(l,a)}else t.setAttribute("data-value",""),u(l,"")},n=o=>{console.log("[DatePicker] onOpenChange",o),N(o?$:null)};return Oe.createPortal(i.jsx("div",{className:"rte-datepicker-wrapper",contentEditable:!1,style:{display:"inline-block",verticalAlign:"middle",width:"240px"},children:i.jsx(At,{value:$,disabledDate:h,onCalendarChange:c,onChange:r,onOpenChange:n,placeholder:[p||"开始日期",p||"结束日期"],style:{width:"100%"},size:"small",allowClear:!0,locale:et,getPopupContainer:()=>document.body,popupClassName:"rte-datepicker-dropdown"})}),t)},Lt=t=>{const[u,l]=d.useState([]);return d.useEffect(()=>{const s=t.current;if(!s)return;const p=()=>{const q=s.querySelectorAll(".rte-datepicker-host"),$=[];q.forEach(E=>{const e=E.getAttribute("data-key");e&&$.push(i.jsx(_t,{host:E,onChange:()=>{if(t.current){const N=new Event("input",{bubbles:!0});t.current.dispatchEvent(N)}}},`datepicker-${e}`))}),l($)};p();const S=new MutationObserver(q=>{let $=!1;for(const E of q)if(E.type==="childList"){let e=!1;if(E.addedNodes.forEach(N=>{if(N.nodeType===Node.ELEMENT_NODE){const h=N;(h.classList?.contains("rte-datepicker-host")||h.querySelector?.(".rte-datepicker-host"))&&(e=!0)}}),E.removedNodes.forEach(N=>{if(N.nodeType===Node.ELEMENT_NODE){const h=N;(h.classList?.contains("rte-datepicker-host")||h.querySelector?.(".rte-datepicker-host"))&&(e=!0)}}),e){$=!0;break}}$&&p()});return S.observe(s,{childList:!0,subtree:!0}),()=>S.disconnect()},[t]),u},tt=({config:t,onSend:u,isProcessing:l=!1,disabled:s=!1,width:p,lockStructure:S=!1,agentOptions:q=[],onAgentSelect:$,onAgentExit:E,loading:e=!1,placeholder:N,border:h,background:c="transparent",hideButtons:r})=>{const n=d.useRef(null),o=d.useRef(null),[a,m]=d.useState({}),[g,x]=d.useState(null),[w,P]=d.useState(null),C=d.useRef(!1),O=d.useRef(null),[Y,z]=d.useState(!1),U=d.useRef(null),[G,Z]=d.useState(!0),[ne,f]=d.useState(()=>{const b={};return t.forEach(v=>{v.type==="multi-variable"&&v.key&&(b[v.key]=1)}),b}),y=d.useRef({}),k=d.useRef({}),D=d.useRef({});d.useEffect(()=>{k.current=a},[a]),d.useEffect(()=>{D.current=ne},[ne]);const A=d.useCallback(b=>b.find(T=>T.type==="tag")?.text||null,[]),W=d.useRef(t),j=d.useRef(null);d.useEffect(()=>{const b=A(W.current),v=A(t);if(b&&b!==v&&n.current){const T={};n.current.querySelectorAll('[data-type="variable"]').forEach(L=>{const F=L.dataset.key;if(F){const I=L.innerText.replace(/[\u200B\n]/g,"").trim();I&&(T[F]=I)}}),n.current.querySelectorAll('[data-type="select"]').forEach(L=>{const F=L.dataset.key;if(F){const I=L.value.trim();I&&(T[F]=I)}}),n.current.querySelectorAll('[data-type="textarea"]').forEach(L=>{const F=L.dataset.key;if(F){const I=L.value.replace(/[\u200B]/g,"").trim();I&&(T[F]=I)}}),y.current[b]={variableValues:T,files:{...k.current},multiVariableCounts:{...D.current}}}if(v&&y.current[v]){const T=y.current[v];j.current=T,m(T.files),f(T.multiVariableCounts)}else if(v){j.current=null;const T={};t.forEach(V=>{V.type==="multi-variable"&&V.key&&(T[V.key]=1)}),f(T),m({})}else j.current=null,f({}),m({});W.current=t},[t,A]),d.useLayoutEffect(()=>{j.current&&n.current&&(n.current.__tempVariableValues=j.current.variableValues,setTimeout(()=>{j.current&&(j.current=null)},0))}),pt(n,t,a,S,ne,U,void 0,r),ft(n,t,a,P),yt(n,t,P,r),ht(n,t,a,P),mt(n,t,P),gt(n,t,a,z),vt(n,C);const te=Lt(n);d.useEffect(()=>{if(t.length>0){Z(!1);return}const b=()=>{if(!n.current){Z(!0);return}const T=n.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"",V=n.current.querySelectorAll('[data-type="variable"]'),_=n.current.querySelectorAll('[data-type="upload"]');let M=!1;V.forEach(F=>{(F.textContent?.replace(/[\u200B\n]/g,"").trim()||"")&&(M=!0)}),_.forEach(F=>{F.querySelector(".upload-inner-wrapper.has-file")&&(M=!0)});const L=!T&&!M;Z(L),t.length===0&&z(!L)};b();const v=new MutationObserver(b);return n.current&&v.observe(n.current,{childList:!0,subtree:!0,characterData:!0}),()=>{v.disconnect()}},[t]);const oe=b=>{if(s){b.preventDefault();return}b.preventDefault();const v=b.clipboardData.getData("text/plain"),T=window.getSelection();if(T&&T.rangeCount>0){const V=T.anchorNode;if(V){let _=null;if(V.nodeType===Node.ELEMENT_NODE?_=V.closest('[data-type="variable"]'):V.nodeType===Node.TEXT_NODE&&V.parentElement&&(_=V.parentElement.closest('[data-type="variable"]')),_){const M=_.dataset.multiKey;if(M){const L=/[、,,\s\n\r\t]+/,F=v.split(L).map(I=>I.trim()).filter(I=>I.length>0);if(console.log("[Paste Event] 粘贴的内容:",v),console.log("[Paste Event] 拆分后的值:",F),F.length>1){const I=parseInt(_.dataset.index||"0",10),K=t.find(le=>le.type==="multi-variable"&&le.key===M)?.maxCount||9,X=ne[M]||1,B=Math.min(I+F.length,K);B>X&&f(ee=>({...ee,[M]:B}));const J=[];for(let ee=0;ee<X;ee++){const le=`${M}_${ee}`,me=n.current.querySelector(`[data-type="variable"][data-key="${le}"][data-multi-key="${M}"]`);if(me){const be=me.innerText.replace(/[\u200B\n]/g,"").trim();J.push(be)}}J.splice(I,1,...F.slice(0,K-I));const re=J.slice(0,K);re.length>0&&re[re.length-1]!==""&&re.length<K&&re.push("");const H=Math.max(re.length,1),se={};re.forEach((ee,le)=>{ee&&(se[`${M}_${le}`]=ee)}),n.current.querySelectorAll('[data-type="variable"]').forEach(ee=>{const le=ee.dataset.key,me=ee.dataset.multiKey;if(le&&me!==M){const be=ee.innerText.replace(/[\u200B\n]/g,"").trim();be&&(se[le]=be)}}),n.current.__tempVariableValues=se,f(ee=>({...ee,[M]:H})),console.log("[Paste Event] 粘贴完成,已填充到多个输入框,值:",re);return}else F.length===1&&console.log("[Paste Event] 粘贴单个值,将在失去焦点时检查是否需要拆分")}}}}document.execCommand("insertText",!1,v),pe(),setTimeout(()=>{const V=window.getSelection();if(V&&V.rangeCount>0){const _=V.anchorNode;if(_){let M=null;if(_.nodeType===Node.ELEMENT_NODE?M=_.closest('[data-type="variable"][data-multi-key]'):_.nodeType===Node.TEXT_NODE&&_.parentElement&&(M=_.parentElement.closest('[data-type="variable"][data-multi-key]')),M){const L=M.innerText.replace(/[\u200B\n]/g,"").trim();/[、,,\s]+/.test(L)&&(console.log("[Paste Event] 粘贴后检测到分隔符,内容:",L),console.log("[Paste Event] 提示:失去焦点后将自动拆分"))}}}},0)},ie=b=>{if(b.target.files&&b.target.files[0]&&g){const v=b.target.files[0],T=g;m(V=>({...V,[T]:v}))}b.target&&(b.target.value=""),x(null)},ue=b=>{m(v=>{const T={...v};return delete T[b],T})},de=b=>{const v=b.target;if(v.closest(".rte-datepicker-wrapper")||v.closest(".rte-datepicker-host"))return;if(v.closest(".tag-close-btn")){if(b.preventDefault(),b.stopPropagation(),S)return;P(null),E?E():n.current&&(n.current.innerHTML="",n.current.focus());return}if(S){const _=v.closest(".tag-node"),M=v.closest('[data-type="text"]');if(_||M){b.preventDefault(),b.stopPropagation();const L=window.getSelection();L&&L.removeAllRanges();return}}v.closest('[data-type="variable"]')||(O.current={x:b.clientX,y:b.clientY},C.current=!1,v.closest(".file-remove-btn")&&(b.preventDefault(),b.stopPropagation()))},ge=b=>{if(!b.target.closest('[data-type="variable"]')&&O.current){const V=Math.abs(b.clientX-O.current.x),_=Math.abs(b.clientY-O.current.y);(V>3||_>3)&&(C.current=!0)}},Q=b=>{if(b.target.closest('[data-type="variable"]')){O.current=null,C.current=!1;return}O.current=null,C.current=!1},ce=b=>{if(s)return;const v=b.target;if(v.closest('[data-type="datepicker"]'))return;if(v.closest(".tag-close-btn")){b.preventDefault(),b.stopPropagation();return}if(t.length===0)return;const _=(B,J)=>{if(!n.current)return;Array.from(n.current.children).forEach(H=>{if(H!==B)if(J)H.dataset.prevDisplay===void 0&&(H.dataset.prevDisplay=H.style.display||""),H.style.setProperty("display","none","important");else if(H.dataset.prevDisplay!==void 0){const se=H.dataset.prevDisplay;se?H.style.display=se:H.style.removeProperty("display"),delete H.dataset.prevDisplay}else H.style.removeProperty("display")})},M=v.closest(".rte-textarea-toggle");if(M){b.preventDefault(),b.stopPropagation();const B=M.closest(".rte-textarea-wrapper"),J=B?.querySelector('[data-type="textarea"]'),H=!(M.getAttribute("data-expanded")==="true");M.setAttribute("data-expanded",String(H)),M.textContent=H?"收起":"展开",B&&B.classList.toggle("rte-textarea-expanded",H);const se=B?.closest(".rte-textarea-required");if(se?se.classList.toggle("rte-textarea-overlay",H):B&&B.classList.toggle("rte-textarea-overlay",H),J)if(H)J.classList.add("rte-textarea-expanded"),J.style.maxHeight="none",J.style.height="100%";else{J.classList.remove("rte-textarea-expanded");const fe=J.dataset.maxHeight||"252";J.style.maxHeight=`${fe}px`,J.style.height="auto"}n.current&&(H?n.current.classList.add("rte-overlay-active"):n.current.classList.remove("rte-overlay-active"));return}const L=v.closest(".rte-richtext-toggle");if(L){b.preventDefault(),b.stopPropagation();const B=L.closest(".rte-richtext-wrapper"),J=B?.querySelector('[data-type="richtext"]'),H=!(L.getAttribute("data-expanded")==="true");((le,me)=>{le.setAttribute("data-expanded",String(me)),le.innerHTML=me?'<i class="iconfont icon-shouqi1"></i><span class="rte-richtext-toggle-label">收起</span>':'<i class="iconfont icon-zhankai2"></i><span class="rte-richtext-toggle-label">展开</span>'})(L,H);const fe=B?.closest(".rte-richtext-required");fe?fe.classList.toggle("rte-richtext-expanded",H):B&&B.classList.toggle("rte-richtext-expanded",H);const ee=B?.closest(".exclusion-wrapper")||B?.parentElement;J&&(H?(J.style.height="100%",J.style.overflow="auto"):(J.style.height="",J.style.overflow="")),ee&&(ee.classList.toggle("rte-richtext-host-expanded",H),_(ee,H)),n.current&&n.current.classList.toggle("rte-richtext-fullscreen-active",H);return}if(v.closest('[data-type="text"]')){b.preventDefault(),b.stopPropagation();const B=window.getSelection();B&&B.removeAllRanges();return}if(S&&v.closest(".tag-node")){b.preventDefault(),b.stopPropagation();const J=window.getSelection();J&&J.removeAllRanges();return}if(v.closest('[data-type="variable"]')){if(C.current)return;setTimeout(()=>{const B=window.getSelection();B&&!B.isCollapsed||Ve(n)},10);return}const K=v.closest(".file-remove-btn");if(K){b.preventDefault(),b.stopPropagation();const J=K.closest('[data-type="upload"]')?.dataset.key;J&&ue(J);return}const X=v.closest('[data-type="upload"]');if(X){const B=X.dataset.key;B&&(x(B),o.current?.click());return}},ye=b=>{const T=b.target.closest('[data-type="variable"]');if(T){const V=window.getSelection();if(V){const _=document.createRange(),M=T.textContent||"";if(M.replace(/\u200B/g,"")){let F=0,I=M.length;M.startsWith("")&&(F=1),M.endsWith("")&&M.length>1&&(I=M.length-1);const K=T.firstChild;K&&K.nodeType===Node.TEXT_NODE?(_.setStart(K,F),_.setEnd(K,I)):_.selectNodeContents(T)}else _.selectNodeContents(T),_.collapse(!0);V.removeAllRanges(),V.addRange(_)}}},pe=()=>{if(t.length===0){if(n.current){const T=!(n.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"");Z(T),z(!T)}return}if(Ve(n),n.current&&n.current.querySelectorAll('[data-type="variable"]').forEach(T=>{const V=T.querySelector(".variable-info-icon");if(V){let _=!1;const M=document.createTreeWalker(T,NodeFilter.SHOW_TEXT,{acceptNode:L=>V.contains(L)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT});for(;M.nextNode();)if(M.currentNode.textContent?.replace(/[\u200B\n]/g,"").trim()){_=!0;break}_?V.classList.add("hidden"):V.classList.remove("hidden")}}),Me(n,t,a),Ie(n,t,a,z),!n.current)return;t.filter(v=>v.type==="multi-variable"&&v.key).forEach(v=>{if(!v.key)return;const T=v.maxCount||9,V=ne[v.key]||1,_=[];for(let K=0;K<V;K++){const X=`${v.key}_${K}`,B=n.current.querySelector(`[data-type="variable"][data-key="${X}"][data-multi-key="${v.key}"]`);if(B){const J=B.innerText.replace(/[\u200B\n]/g,"").trim();_.push(J)}}const L=(_[_.length-1]||"")==="";let F=!1,I=-1;for(let K=0;K<_.length-1;K++)if(_[K]===""){F=!0,I=K;break}if(F&&I>=0){const K=window.getSelection();if(K&&K.rangeCount>0){const H=K.getRangeAt(0),se=H.startContainer,fe=se.nodeType===Node.ELEMENT_NODE?se.closest('[data-type="variable"][data-multi-key]'):se.parentElement?.closest('[data-type="variable"][data-multi-key]');if(fe){const ee=fe.dataset.key;if(ee){const le=document.createRange();le.setStartBefore(fe),le.setEnd(H.startContainer,H.startOffset);const me=le.toString().length;U.current={key:ee,offset:me}}}}const X=[..._];for(let H=I;H<X.length-1;H++)X[H]=X[H+1];X.pop();const B={};X.forEach((H,se)=>{H&&(B[`${v.key}_${se}`]=H)});const J=Math.max(L?X.length:X.length+1,1);n.current.querySelectorAll('[data-type="variable"]').forEach(H=>{const se=H.dataset.key,fe=H.dataset.multiKey;if(se&&fe!==v.key){const ee=H.innerText.replace(/[\u200B\n]/g,"").trim();ee&&(B[se]=ee)}}),n.current.__tempVariableValues=B,f(H=>({...H,[v.key]:J}));return}if(!L){const K=V-1,X=`${v.key}_${K}`,B=n.current.querySelector(`[data-type="variable"][data-key="${X}"][data-multi-key="${v.key}"]`);if(B&&B.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&V<T){const re=window.getSelection();if(re&&re.rangeCount>0){const H=re.getRangeAt(0),se=H.startContainer,fe=se.nodeType===Node.ELEMENT_NODE?se.closest('[data-type="variable"][data-multi-key]'):se.parentElement?.closest('[data-type="variable"][data-multi-key]');if(fe){const ee=fe.dataset.key;if(ee){const le=document.createRange();le.setStartBefore(fe),le.setEnd(H.startContainer,H.startOffset);const me=le.toString().length;U.current={key:ee,offset:me}}}}f(H=>({...H,[v.key]:V+1}))}}})};d.useLayoutEffect(()=>{const b=n.current;if(!b)return;const v=new Map,T=M=>{const L=M.target,F=M.relatedTarget;!L||!n.current||!n.current.contains(L)||F&&n.current.contains(F)||setTimeout(()=>{if(n.current){if(t.length===0){const I=n.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";z(I.length>0);return}Ve(n),Me(n,t,a),Ie(n,t,a,z)}},0)};b.addEventListener("blur",T,!0);const V=()=>{if(!n.current)return;v.forEach((F,I)=>{I.removeEventListener("blur",F,!1)}),v.clear();const M=n.current.querySelectorAll('[data-type="variable"][data-multi-key]'),L=F=>{F.stopPropagation(),F.stopImmediatePropagation();const I=F.target;if(!I||!n.current||!n.current.contains(I))return;const K=I.closest('[data-type="variable"][data-multi-key]');if(!K||!n.current.contains(K))return;let X=!1;if(v.forEach((le,me)=>{(me===K||me.contains(I))&&(X=!0)}),!X)return;const B=K.dataset.multiKey,J=K.dataset.key,re=K.dataset.index;if(!B||!J||re===void 0)return;const H=F.relatedTarget;if(!(!H||!n.current.contains(H)))return;const fe=K.innerText.replace(/[\u200B\n]/g,"").trim();console.log("[Blur Event] 失去焦点的 multi-variable 输入框:",{multiKey:B,currentKey:J,index:re,content:fe});const ee=/[、,,\s]+/;if(ee.test(fe)){const le=fe.split(ee).map($e=>$e.trim()).filter($e=>$e.length>0);console.log("[Blur Event] 拆分前的内容:",fe),console.log("[Blur Event] 拆分后的部分:",le);const be=le.slice(0,9);if(console.log("[Blur Event] 有效的部分(最多9个):",be),be.length>1){const $e=t.find(Ae=>Ae.type==="multi-variable"&&Ae.key===B);if($e){const Ae=ne[B]||1,lt=parseInt(re,10),it=$e.maxCount||9,_e=[];for(let he=0;he<Ae;he++){const Ce=`${B}_${he}`,Le=n.current.querySelector(`[data-type="variable"][data-key="${Ce}"][data-multi-key="${B}"]`);if(Le){const De=Le.innerText.replace(/[\u200B\n]/g,"").trim();_e.push(De)}}console.log("[Blur Event] 拆分前的所有值:",_e),console.log("[Blur Event] 当前索引:",lt),console.log("[Blur Event] 要插入的值:",be),_e.splice(lt,1,...be);const we=_e.slice(0,it);console.log("[Blur Event] 拆分后的所有值:",we),we.length>0&&we[we.length-1]!==""&&we.length<it&&we.push("");const Ot=Math.max(we.length,1),Be={};we.forEach((he,Ce)=>{he&&(Be[`${B}_${Ce}`]=he)}),n.current.querySelectorAll('[data-type="variable"]').forEach(he=>{const Ce=he.dataset.key,Le=he.dataset.multiKey;if(Ce&&Le!==B){const De=he.innerText.replace(/[\u200B\n]/g,"").trim();De&&(Be[Ce]=De)}}),n.current.__tempVariableValues=Be,f(he=>({...he,[B]:Ot}))}}}};M.forEach(F=>{F.addEventListener("blur",L,!1),v.set(F,L)})},_=setTimeout(()=>{V()},0);return()=>{clearTimeout(_),b.removeEventListener("blur",T,!0),v.forEach((M,L)=>{L.removeEventListener("blur",M,!1)}),v.clear()}},[t,ne,a]);const ve=b=>{if(s){b.preventDefault();return}const v=window.getSelection();if(v&&v.rangeCount>0){const T=v.anchorNode;let V=null;if(T&&(T.nodeType===Node.ELEMENT_NODE?V=T.closest('[data-type="text"]'):T.nodeType===Node.TEXT_NODE&&T.parentElement&&(V=T.parentElement.closest('[data-type="text"]'))),V){if(b.preventDefault(),b.stopPropagation(),n.current){const _=n.current.querySelector('[data-type="variable"], [data-type="upload"]');_&&_.focus()}return}}if(S&&v&&v.rangeCount>0){const T=v.anchorNode;let V=null;if(T&&(T.nodeType===Node.ELEMENT_NODE?V=T.closest(".tag-node"):T.nodeType===Node.TEXT_NODE&&T.parentElement&&(V=T.parentElement.closest(".tag-node"))),V){if(b.preventDefault(),b.stopPropagation(),n.current){const _=n.current.querySelector('[data-type="variable"], [data-type="upload"]');_&&_.focus()}return}}if(b.key==="Enter"&&!b.shiftKey&&(b.preventDefault(),ke()),b.key==="Escape"&&n.current){if(S){b.preventDefault();return}n.current.innerHTML="",n.current.focus()}if(b.key==="Backspace"){const T=window.getSelection();if(T&&T.rangeCount>0){const V=T.getRangeAt(0),_=T.anchorNode;if(S){let L=null,F=null;if(_&&(_.nodeType===Node.ELEMENT_NODE?(L=_.closest(".tag-node"),F=_.closest('[data-type="text"]')):_.nodeType===Node.TEXT_NODE&&_.parentElement&&(L=_.parentElement.closest(".tag-node"),F=_.parentElement.closest('[data-type="text"]'))),(L||F)&&V.collapsed&&V.startOffset===0){b.preventDefault();return}}let M=null;if(_&&(_.nodeType===Node.ELEMENT_NODE?M=_.closest('[data-type="variable"]'):_.nodeType===Node.TEXT_NODE&&_.parentElement&&(M=_.parentElement.closest('[data-type="variable"]'))),M){if(!V.collapsed)return;const L=M.innerText;if(L===""||L===""){b.preventDefault();return}if(V.startOffset===0){b.preventDefault();return}if(L.startsWith("")&&V.startOffset===1){b.preventDefault();return}}}}},ke=()=>{if(l||s||e||!Y||!n.current)return;if(t.length===0){const M=n.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";if(!M)return;u(M,M);return}const b=n.current;let v="";const T={},V=M=>{if(!(M.nodeType===Node.ELEMENT_NODE&&M.style.display==="none")){if(M.nodeType===Node.TEXT_NODE)v+=(M.textContent||"").replace(/\u200B/g,"");else if(M.nodeType===Node.ELEMENT_NODE){const L=M,F=L.dataset.type,I=L.dataset.key;if(F==="variable"&&I){let K="";const X=document.createTreeWalker(L,NodeFilter.SHOW_TEXT,{acceptNode:J=>{const re=L.querySelector(".variable-info-icon");return re&&re.contains(J)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});for(;X.nextNode();)K+=X.currentNode.textContent||"";const B=K.replace(/[\u200B\n]/g,"").trim();if(B){const J=L.dataset.multiKey;if(J){(!T[J]||!Array.isArray(T[J]))&&(T[J]=[]);const re=T[J];re.push(B),re.length>1&&(v+=" "),v+=B}else T[I]=B,v+=B}}else if(F==="select"&&I){const K=L,X=(K.value||"").trim();if(X){T[I]=X;const B=K.selectedOptions?.[0];v+=B?.textContent||X}}else if(F==="textarea"&&I){const X=(L.value||"").replace(/\u200B/g,"").trim();X&&(T[I]=X,v+=X)}else if(F==="richtext"&&I){const X=(L.textContent||"").replace(/\u200B/g,"").trim();X&&(T[I]=X,v+=X)}else if(F==="datepicker"&&I){const X=(L.getAttribute("data-value")||"").trim();if(X)if(X.includes(",")){const B=X.split(",");B.length===2?(T[I]=B,v+=`[${B[0]}, ${B[1]}]`):(T[I]=X,v+=X)}else T[I]=X,v+=X}else if(F==="upload"&&I)T[I]=a[I]??null,a[I]&&(v+=` [附带文件: ${a[I]?.name}] `);else{if(L.classList.contains("tag-close-btn")||L.classList.contains("file-remove-btn"))return;L.getAttribute("contenteditable")==="false"&&!F&&L.classList.contains("tag-node")?v+=L.innerText:L.childNodes.forEach(V)}}}};if(b.childNodes.forEach(V),v=v.trim(),!v)return;const _=new FormData;_.append("fullPrompt",v),Object.keys(T).forEach(M=>{const L=T[M];L!=null&&(L instanceof File?_.append(M,L):Array.isArray(L)?t.some(I=>I.type==="multi-variable"&&I.key===M)?L.forEach(I=>{I!=null&&I!==""&&_.append(M,String(I))}):L.forEach((I,K)=>{I!=null&&(I instanceof File?_.append(`${M}[${K}]`,I):typeof I=="string"?_.append(`${M}[${K}]`,I):_.append(`${M}[${K}]`,String(I)))}):typeof L=="string"?_.append(M,L):_.append(M,String(L)))}),u(_,v)},Ee={...p?{width:typeof p=="number"?`${p}px`:p}:{},...h?{border:h}:{},...c?{background:c}:{}};return i.jsxs("div",{className:"rich-text-editor",style:Ee,"data-disabled":s,children:[i.jsx("div",{ref:n,className:`rte-editor ${t.length===0?"rte-editor-default":""} ${G&&N?"rte-editor-empty":""}`,contentEditable:t.length===0,suppressContentEditableWarning:!0,"data-placeholder":N,onMouseDown:de,onMouseMove:ge,onMouseUp:Q,onClick:ce,onDoubleClick:ye,onInput:pe,onKeyDown:ve,onPaste:oe}),i.jsx("input",{type:"file",ref:o,className:"rte-file-input",accept:".csv,.xlsx,.xls,.txt,.pdf,image/*",onChange:ie}),i.jsxs("div",{className:"rich-text-editor-footer",children:[i.jsx("div",{className:"rich-text-editor-footer-left",children:i.jsxs("div",{className:"rich-text-editor-brand",children:[i.jsxs("div",{className:"rte-brand-badge",children:[i.jsx("img",{src:"https://oospublic.sealseek.cn/file/website/ball.png",alt:""}),i.jsx("span",{className:"rte-brand-text",children:"SealSeek 1.0"})]}),r!=="hideAgent"&&i.jsx(R.Dropdown,{placement:"top",menu:{items:q.map(b=>({key:b.key,label:i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[b.icon&&i.jsx("i",{className:b.icon}),i.jsx("span",{children:b.label})]}),onClick:()=>{$?.(b)}}))},trigger:["click"],disabled:s||l,children:i.jsxs("div",{className:"rte-agent-badge",style:{cursor:q.length>0?"pointer":"default"},children:[i.jsx("i",{className:"iconfont icon-zhinengti"}),i.jsx("span",{className:"rte-agent-text",children:"智能体"})]})})]})}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(()=>{const b=t.find(T=>T.type==="tag");if(!b||!b.text)return null;const v=q.find(T=>T.label===b.text);return!v||v.points===void 0||v.points===null?null:i.jsxs("div",{className:"rte-points-badge",children:[i.jsx("i",{className:"iconfont icon-jifen",style:{marginRight:"4px"}}),i.jsxs("span",{style:{fontSize:"16px"},children:["-",String(v.points)]})]})})(),i.jsx("button",{type:"button",onClick:ke,disabled:l||s||e||!Y,className:"rich-text-editor-send-button",children:l||e?i.jsx("span",{className:"rte-send-spinner"}):i.jsx("i",{className:"iconfont icon-fasong"})})]})]}),w?.anchorEl&&(()=>{if(!document.body.contains(w.anchorEl))return null;let b="",v={background:"var(--neutral-800, #262626)"};if(w.type==="upload")b=t.find(_=>_.type==="upload"&&_.key===w.key)?.tooltip||"";else if(w.type==="tag")b=w.anchorEl.dataset.tooltip||"";else if(w.type==="upload-label")b=w.anchorEl.dataset.fileName||"";else if(w.type==="variable")b=w.anchorEl.dataset.tooltip||"";else if(w.type==="upload-preview"){const V=a[w.key];if(V&&V.type&&V.type.startsWith("image/")){const _=URL.createObjectURL(V);b=i.jsx("div",{style:{width:120,height:120,display:"flex",alignItems:"center",justifyContent:"center"},children:i.jsx("img",{src:_,style:{maxWidth:120,maxHeight:120,objectFit:"contain"}})}),v={background:"#fff",padding:4},setTimeout(()=>URL.revokeObjectURL(_),1e3)}else b=""}if(!b)return null;const T=w.type==="upload-preview"?"#0A0A0A":"#fff";return Oe.createPortal(i.jsx(R.Tooltip,{arrow:!1,title:i.jsx("div",{style:{maxWidth:"200px",fontSize:"12px",color:T},children:b}),open:!0,placement:"top",getPopupContainer:()=>document.body,overlayInnerStyle:v,children:i.jsx("div",{style:{position:"fixed",left:`${w.anchorEl.getBoundingClientRect().left}px`,top:`${w.anchorEl.getBoundingClientRect().top}px`,width:`${w.anchorEl.offsetWidth}px`,height:`${w.anchorEl.offsetHeight}px`,pointerEvents:"none"}})}),document.body)})(),te]})};tt.__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 nt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFSSURBVHgB3ZTtccIwDIaVXv83I2SDZgSP0BHMBG0naEZhA2boBGQDswHdQJUOGRxjO0Z8HPDe6eJzJD2W4gjgEYSIn2xwK6EIFHqBGysJpMP3ZB0oRbEtmal1NtIxl4OWWsoxEsvqofJ0rgTNASOYq+7SXKDsuYvAcgkq/PWwBLQWqIfdjeRStaBUc4qzgLi9/BzJNmS/sh6bpvmrTfSFacU3scWy1mQryWdSnXiFE8QVUJINLTuyhWzzz/1OZmTN9hEckqtfUOwIGlGCpVRjE+94JFqpMtTeVzO8/UmPxpZU8Qa7aln8Tb9pfwla4WHWrjPvvbbnTBsX7PmLs83EDAH0BxSw1G31+/1FoDg/vPcXR+wocQS1apj4+P92FfhOoLyuBfYlmPgYnGoCjWADzAkzUyJ430awLmphPaxWQVU22BuuApPkHaanjcXSN3t6/QNjTMSJWDcs1QAAAABJRU5ErkJggg==",Dt=[{label:"5页",value:5},{label:"10页",value:10},{label:"15页",value:15},{label:"30页",value:30}],Mt=({autoLoading:t,batchSize:u,loadingProgress:l,loadIcon:s,onBatchSizeChange:p,onLoadNextPage:S,onStartAutoLoad:q,onStopLoad:$})=>t&&l?i.jsxs("div",{className:"auto_load_progress",children:[s||i.jsx("img",{src:nt,alt:"自动加载",width:14,height:14}),i.jsxs("span",{children:["正在加载第",l.currentPage,"/",l.totalPages,"页"]}),i.jsx(R.Progress,{percent:l.percentage,type:"line",size:[160,8]}),i.jsx("span",{onClick:$,className:"auto_load_stop_btn",children:"停止加载"})]}):i.jsxs("div",{className:"auto_load_container",children:[i.jsx("div",{onClick:S,className:"auto_load_next_btn",style:{backgroundColor:t?"#f5f5f5":"#2563eb"},children:"加载下一页"}),i.jsxs("div",{className:"right_control_wrap",style:{backgroundColor:t?"#f5f5f5":"#2563eb"},children:[i.jsxs("div",{className:"auto_load_btn",onClick:t?void 0:q,children:[s||i.jsx("img",{src:nt,alt:"自动加载",width:14,height:14}),i.jsx("span",{children:"自动加载"})]}),i.jsx(R.Select,{value:u,onChange:p,options:Dt,disabled:t,size:"small",className:"auto_load_select",popupMatchSelectWidth:84})]})]}),It=({current:t,loadIcon:u,pageSize:l,total:s,cachedPages:p,loadedCount:S,autoLoading:q=!1,loadingProgress:$,onChange:E,onLoadNextPage:e,onStartAutoLoad:N,onStopLoading:h})=>{const[c,r]=d.useState(5),n=Math.ceil(s/l),o=d.useMemo(()=>p.length>=n,[p,n]),a=()=>Array.from({length:n},(x,w)=>w+1).filter(x=>!p.includes(x)).slice(0,c),m=(g,x,w)=>{const P=p.includes(g);return x==="prev"||x==="next"||x==="jump-prev"||x==="jump-next"?i.jsx("div",{className:"pageBox",children:w}):i.jsxs("div",{className:"pageBox",style:{backgroundColor:t===g?"#2563EB":"#f5f5f5",color:t===g?"#fff":P?"#171717":"#a3a3a3"},children:[g,!P&&i.jsx("span",{className:"unload_spot"})]})};return i.jsxs("div",{className:"pagination_footer",children:[i.jsxs("div",{className:"pagination_leftWrap",children:[i.jsxs("span",{className:"pagination_total",children:[i.jsx(xe.InfoCircleOutlined,{style:{color:"#2563EB",marginRight:"4px"}}),"已加载: ",S,"/",s,"条数据"]}),!o&&i.jsx(Mt,{loadIcon:u||void 0,autoLoading:q,batchSize:c,loadingProgress:$,disabled:!e||!N,onBatchSizeChange:r,onLoadNextPage:()=>e?.(),onStartAutoLoad:()=>{const g=a();N?.(g)},onStopLoad:()=>h?.()})]}),i.jsx(R.Pagination,{current:t,pageSize:l,total:s,onChange:g=>E(g),showSizeChanger:!1,showQuickJumper:!1,showTotal:(g,x)=>"",itemRender:m})]})},at=t=>{const{loading:u,autoLoading:l,loadingProgress:s,columns:p=[],dataSource:S=[],total:q,current:$,pageSize:E,cachedPages:e,onChangePage:N,onLoadNextPage:h,onStartAutoLoad:c,onStopLoading:r,...n}=t,o=d.useRef(null),a=d.useCallback(m=>{N(m),e.includes(m)&&o.current?.scrollTo({key:`${(m-1)*E+1}`})},[$]);return i.jsxs("div",{className:"flex flex-col",children:[i.jsx(R.Table,{ref:o,...n,columns:p,dataSource:S,pagination:!1,virtual:!0}),i.jsx(It,{loading:u,autoLoading:l,loadingProgress:s,current:$,pageSize:E,total:q,loadedCount:S.length,cachedPages:e,onChange:a,onLoadNextPage:h,onStartAutoLoad:c,onStopLoading:r})]})};at.__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 rt=({texts:t=[],placeholder:u="请输入内容",animationSpeed:l=100,autoPlay:s=!0,value:p,onChange:S,...q})=>{const[$,E]=d.useState(""),[e,N]=d.useState(0),[h,c]=d.useState(!1),[r,n]=d.useState(!1),[o,a]=d.useState(!1),m=d.useRef(void 0),g=d.useRef(void 0),x=d.useRef(t),w=d.useRef(e),P=d.useRef(r),C=d.useRef($);d.useEffect(()=>{x.current=t,w.current=e,P.current=r,C.current=$});const O=d.useCallback((f,y)=>{let k=0;a(!0);const D=()=>{k<f.length?(E(f.slice(0,k+1)),k++,g.current=window.setTimeout(D,l)):(a(!1),y?.())};D()},[l]),Y=d.useCallback(f=>{let y=C.current.length;const k=()=>{y>0?(E(C.current.slice(0,y-1)),y--,g.current=window.setTimeout(k,l/2)):f?.()};k()},[l]),z=d.useCallback(()=>{if(x.current.length===0||P.current)return;c(!0);const f=x.current[w.current];C.current?Y(()=>{O(f,()=>{m.current=window.setTimeout(()=>{N(y=>(y+1)%x.current.length),c(!1)},2e3)})}):O(f,()=>{m.current=window.setTimeout(()=>{N(y=>(y+1)%x.current.length),c(!1)},2e3)})},[Y,O]);d.useEffect(()=>(s&&t.length>0&&!r&&z(),()=>{m.current&&window.clearTimeout(m.current),g.current&&window.clearTimeout(g.current)}),[e,r,s,t.length,z]),d.useEffect(()=>{!h&&s&&t.length>0&&!r&&z()},[e,h,s,t.length,r,z]);const U=f=>{n(!0),m.current&&window.clearTimeout(m.current),g.current&&window.clearTimeout(g.current),c(!1),a(!1),q.onFocus?.(f)},G=f=>{n(!1),!p&&t.length>0&&(E(""),N(0)),q.onBlur?.(f)},Z=f=>{S?.(f.target.value),q.onChange?.(f)},ne=()=>r||p?u:$||u;return i.jsxs("div",{style:{position:"relative"},children:[i.jsx(R.Input,{...q,value:p,onChange:Z,onFocus:U,onBlur:G,placeholder:ne(),style:{...q.style,position:"relative",zIndex:1}}),!r&&!p&&$&&i.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:[i.jsx("span",{children:$}),o&&i.jsx("span",{style:{display:"inline-block",width:1,height:"1.2em",backgroundColor:"#1890ff",marginLeft:2,animation:"blink 1s infinite"}})]}),i.jsx("style",{children:`
|
|
2
2
|
@keyframes blink {
|
|
3
3
|
0%, 50% { opacity: 1; }
|
|
4
4
|
51%, 100% { opacity: 0; }
|
|
5
5
|
}
|
|
6
|
-
`})]})};
|
|
6
|
+
`})]})};rt.__docgenInfo={displayName:"DynamicInput",description:"动态文案输入框组件,支持流式文字动画效果",props:{texts:{name:"texts",required:!0,description:"动态展示的文案数组",type:{name:"string[]",raw:"string[]"}},placeholder:{name:"placeholder",required:!1,description:"输入框占位符",type:{name:"string",raw:"string"},defaultValue:{value:'"请输入内容"'}},animationSpeed:{name:"animationSpeed",required:!1,description:"动画速度(毫秒)",type:{name:"number",raw:"number"},defaultValue:{value:"100"}},autoPlay:{name:"autoPlay",required:!1,description:"是否自动播放动画",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},value:{name:"value",required:!1,description:"输入框值",type:{name:"string",raw:"string"}},onChange:{name:"onChange",required:!1,description:"输入框变化回调",type:{name:"function",raw:"(value: string) => void"}}}};const ot=({texts:t=[],placeholder:u="请输入内容",animationSpeed:l=100,autoPlay:s=!0,value:p="",onChange:S,onSubmit:q,maxLength:$=500,showCount:E=!0,submitText:e="发送",disabled:N=!1,rows:h=4,style:c,...r})=>{const[n,o]=d.useState(""),[a,m]=d.useState(0),[g,x]=d.useState(!1),[w,P]=d.useState(!1),[C,O]=d.useState(!1),[Y,z]=d.useState(p||""),U=d.useRef(void 0),G=d.useRef(void 0),Z=d.useRef(t),ne=d.useRef(a),f=d.useRef(w),y=d.useRef(n),k=d.useRef(null);d.useEffect(()=>{Z.current=t,ne.current=a,f.current=w,y.current=n});const D=d.useCallback((Q,ce)=>{let ye=0;O(!0);const pe=()=>{ye<Q.length?(o(Q.slice(0,ye+1)),ye++,G.current=window.setTimeout(pe,l)):(O(!1),ce?.())};pe()},[l]),A=d.useCallback(Q=>{let ce=y.current.length;const ye=()=>{ce>0?(o(y.current.slice(0,ce-1)),ce--,G.current=window.setTimeout(ye,l/2)):Q?.()};ye()},[l]),W=d.useCallback(()=>{if(Z.current.length===0||f.current)return;x(!0);const Q=Z.current[ne.current];y.current?A(()=>{D(Q,()=>{U.current=window.setTimeout(()=>{m(ce=>(ce+1)%Z.current.length),x(!1)},2e3)})}):D(Q,()=>{U.current=window.setTimeout(()=>{m(ce=>(ce+1)%Z.current.length),x(!1)},2e3)})},[A,D]);d.useEffect(()=>(s&&t.length>0&&!w&&W(),()=>{U.current&&window.clearTimeout(U.current),G.current&&window.clearTimeout(G.current)}),[a,w,s,t.length,W]),d.useEffect(()=>{!g&&s&&t.length>0&&!w&&W()},[a,g,s,t.length,w,W]);const j=Q=>{P(!0),U.current&&window.clearTimeout(U.current),G.current&&window.clearTimeout(G.current),x(!1),O(!1),r.onFocus?.(Q)},te=Q=>{P(!1),!p&&t.length>0&&(o(""),m(0)),r.onBlur?.(Q)},oe=Q=>{const ce=Q.target.value;$&&ce.length>$||(S?S(ce):z(ce),r.onChange?.(Q))},ie=()=>{const Q=S?p:Y;Q.trim()&&!N&&(q?.(Q),S||z(""))},ue=Q=>{(Q.ctrlKey||Q.metaKey)&&Q.key==="Enter"&&(Q.preventDefault(),ie()),r.onKeyDown?.(Q)},de=S?p:Y,ge=N||!de.trim()||($?de.length>$:!1);return i.jsxs("div",{style:{position:"relative",...c},children:[i.jsxs("div",{style:{position:"relative"},children:[i.jsx("textarea",{ref:k,value:S?p:Y,onChange:oe,onFocus:Q=>{Q.target.style.borderColor="#1890ff",Q.target.style.boxShadow="0 0 0 2px rgba(24, 144, 255, 0.2)",j(Q)},onBlur:Q=>{Q.target.style.borderColor="#d9d9d9",Q.target.style.boxShadow="none",te(Q)},onKeyDown:ue,placeholder:w||de?u:"",maxLength:$,rows:h,disabled:N,style:{width:"100%",minHeight:`${h*24+16}px`,padding:"8px 60px 8px 12px",border:"1px solid #d9d9d9",borderRadius:"6px",fontSize:"14px",lineHeight:"1.5",fontFamily:"inherit",resize:"vertical",outline:"none",transition:"border-color 0.3s, box-shadow 0.3s",backgroundColor:"#fff",...r.style},...r}),!w&&!de&&n&&i.jsxs("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"flex-start",paddingTop:8,paddingLeft:12,paddingRight:12,color:"#bfbfbf",pointerEvents:"none",zIndex:2,fontSize:14,fontFamily:"inherit",lineHeight:"1.5"},children:[i.jsx("span",{children:n}),C&&i.jsx("span",{style:{display:"inline-block",width:1,height:"1.2em",backgroundColor:"#1890ff",marginLeft:2,animation:"blink 1s infinite"}})]}),i.jsx("div",{style:{position:"absolute",bottom:8,right:8,zIndex:3},children:i.jsx(R.Button,{type:"primary",size:"small",icon:i.jsx(xe.SendOutlined,{}),onClick:ie,disabled:ge,style:{borderRadius:6,minWidth:32,height:32,display:"flex",alignItems:"center",justifyContent:"center"},children:e})})]}),E&&i.jsxs("div",{style:{marginTop:4,textAlign:"right",fontSize:"12px",color:"#999"},children:[de.length,"/",$]}),i.jsx("style",{children:`
|
|
7
7
|
@keyframes blink {
|
|
8
8
|
0%, 50% { opacity: 1; }
|
|
9
9
|
51%, 100% { opacity: 0; }
|
|
10
10
|
}
|
|
11
|
-
`})]})};
|
|
11
|
+
`})]})};ot.__docgenInfo={displayName:"DynamicTextArea",description:"动态文案文本域组件,支持流式文字动画效果",props:{texts:{name:"texts",required:!0,description:"动态展示的文案数组",type:{name:"string[]",raw:"string[]"}},placeholder:{name:"placeholder",required:!1,description:"输入框占位符",type:{name:"string",raw:"string"},defaultValue:{value:'"请输入内容"'}},animationSpeed:{name:"animationSpeed",required:!1,description:"动画速度(毫秒)",type:{name:"number",raw:"number"},defaultValue:{value:"100"}},autoPlay:{name:"autoPlay",required:!1,description:"是否自动播放动画",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},value:{name:"value",required:!1,description:"输入框值",type:{name:"string",raw:"string"}},onChange:{name:"onChange",required:!1,description:"输入框变化回调",type:{name:"function",raw:"(value: string) => void"}},onSubmit:{name:"onSubmit",required:!1,description:"提交回调",type:{name:"function",raw:"(value: string) => void"}},maxLength:{name:"maxLength",required:!1,description:"最大输入字数",type:{name:"number",raw:"number"},defaultValue:{value:"500"}},showCount:{name:"showCount",required:!1,description:"是否显示字数统计",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},submitText:{name:"submitText",required:!1,description:"提交按钮文本",type:{name:"string",raw:"string"},defaultValue:{value:'"发送"'}},disabled:{name:"disabled",required:!1,description:"是否禁用提交按钮",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},rows:{name:"rows",required:!1,description:"文本域行数",type:{name:"number",raw:"number"},defaultValue:{value:"4"}}}};const Pe=({src:t,poster:u,width:l=300,height:s,videoWidth:p,videoHeight:S,showPlayButton:q=!0,autoPlayOnHover:$=!0,onClick:E,onVideoLoaded:e,onVideoPlay:N,onVideoPause:h,onVideoEnded:c,className:r,style:n,...o})=>{const a=d.useRef(null),[m,g]=d.useState(!1),[x,w]=d.useState(!1),[P,C]=d.useState(!1),O=d.useCallback(()=>{a.current&&(a.current.play(),g(!0),N?.())},[N]),Y=d.useCallback(()=>{a.current&&(a.current.pause(),g(!1),h?.())},[h]),z=d.useCallback(D=>{D.stopPropagation(),m?Y():O()},[m,O,Y]),U=d.useCallback(()=>{w(!0),$&&!m&&O()},[$,m,O]),G=d.useCallback(()=>{w(!1),$&&m&&Y()},[$,m,Y]),Z=d.useCallback(()=>{C(!0),e?.()},[e]),ne=d.useCallback(()=>{g(!0),N?.()},[N]),f=d.useCallback(()=>{g(!1),h?.()},[h]),y=d.useCallback(()=>{g(!1),c?.()},[c]),k=d.useCallback(D=>{E?.(D)},[E]);return i.jsx(R.Card,{...o,className:`video-card ${r||""}`,style:{width:l,height:s,padding:0,overflow:"hidden",cursor:E?"pointer":"default",border:"none",borderRadius:0,...n},bordered:!1,onMouseEnter:U,onMouseLeave:G,onClick:k,children:i.jsxs("div",{className:"video-card-container",children:[i.jsx("video",{ref:a,src:t,poster:u,preload:"metadata",onLoadedData:Z,onPlay:ne,onPause:f,onEnded:y,muted:!0,loop:!0}),q&&i.jsx("div",{className:`video-play-button ${x?"hovered":""}`,onClick:z,children:m?i.jsx(xe.PauseCircleOutlined,{className:"play-icon"}):i.jsx(xe.PlayCircleOutlined,{className:"play-icon"})}),!P&&i.jsx("div",{className:"video-loading-mask",children:i.jsx("div",{className:"loading-spinner"})})]})})};Pe.__docgenInfo={displayName:"VideoCard",description:"视频卡片组件,支持鼠标悬浮播放控制",props:{src:{name:"src",required:!0,description:"视频源地址",type:{name:"string",raw:"string"}},poster:{name:"poster",required:!1,description:"视频海报图片",type:{name:"string",raw:"string"}},width:{name:"width",required:!1,description:"卡片宽度",type:{name:"number | string",raw:"number | string"},defaultValue:{value:"300"}},height:{name:"height",required:!1,description:"卡片高度",type:{name:"number | string",raw:"number | string"}},videoWidth:{name:"videoWidth",required:!1,description:"视频宽度",type:{name:"number | string",raw:"number | string"},defaultValue:{value:'"100%"'}},videoHeight:{name:"videoHeight",required:!1,description:"视频高度",type:{name:"number | string",raw:"number | string"},defaultValue:{value:'"100%"'}},showPlayButton:{name:"showPlayButton",required:!1,description:"是否显示播放按钮",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},autoPlayOnHover:{name:"autoPlayOnHover",required:!1,description:"是否自动播放(鼠标悬浮时)",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},onClick:{name:"onClick",required:!1,description:"点击事件",type:{name:"function",raw:"(event: React.MouseEvent<HTMLDivElement>) => void"}},onVideoLoaded:{name:"onVideoLoaded",required:!1,description:"视频加载完成事件",type:{name:"function",raw:"() => void"}},onVideoPlay:{name:"onVideoPlay",required:!1,description:"视频播放事件",type:{name:"function",raw:"() => void"}},onVideoPause:{name:"onVideoPause",required:!1,description:"视频暂停事件",type:{name:"function",raw:"() => void"}},onVideoEnded:{name:"onVideoEnded",required:!1,description:"视频结束事件",type:{name:"function",raw:"() => void"}},className:{name:"className",required:!1,description:"自定义样式类名",type:{name:"string",raw:"string"}},style:{name:"style",required:!1,description:"自定义样式",type:{name:"CSSProperties",raw:"React.CSSProperties"}}}};const Vt=t=>[".mp4",".webm",".ogg",".mov",".avi",".wmv",".flv",".mkv"].some(l=>t.toLowerCase().includes(l)),Pt=t=>t.type?t.type:Vt(t.url)?"video":"image",st=({items:t,columns:u,gap:l=0,responsive:s=!0,breakpoints:p={xs:1,sm:2,md:3,lg:4,xl:5,xxl:6},className:S,style:q,onClick:$})=>{const E=d.useRef(null),[e,N]=d.useState(u||p.md||3),h=d.useRef(new Map),c=d.useCallback(()=>{if(!s||u)return u||p.md||3;const a=window.innerWidth;return a<576?p.xs||1:a<768?p.sm||2:a<992?p.md||3:a<1200?p.lg||4:a<1600?p.xl||5:p.xxl||6},[s,u,p]),r=d.useCallback(()=>{if(!E.current)return;const a=e,m=E.current,x=(m.offsetWidth-l*(a-1))/a,w=new Array(a).fill(0);t.forEach((C,O)=>{const Y=C.id||O,z=h.current.get(Y);if(!z)return;const U=Math.min(...w),G=w.indexOf(U),Z=G*(x+l),ne=w[G];z.style.position="absolute",z.style.left=`${Z}px`,z.style.top=`${ne}px`,z.style.width=`${x}px`,w[G]+=z.offsetHeight+l});const P=Math.max(...w);m.style.height=`${P}px`},[t,e,l]);d.useEffect(()=>{const a=()=>{const m=c();m!==e&&N(m)};if(s)return window.addEventListener("resize",a),a(),()=>window.removeEventListener("resize",a)},[s,c,e]),d.useEffect(()=>{const a=setTimeout(()=>{r()},100);return()=>clearTimeout(a)},[t,e,r]);const n=d.useCallback(()=>{r()},[r]),o=d.useCallback(a=>{$&&$(a),a.onClick?.(a)},[$]);return i.jsx("div",{ref:E,className:`waterfall-container ${S||""}`,style:{position:"relative",width:"100%",...q},children:t.map((a,m)=>{const g=a.id||m,x=Pt(a);return i.jsx("div",{ref:w=>{w?h.current.set(g,w):h.current.delete(g)},className:"waterfall-item",children:x==="video"?i.jsx("div",{style:{width:"100%",position:"relative",paddingBottom:"56.25%",cursor:$||a.onClick?"pointer":"default"},children:i.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%"},children:i.jsx(Pe,{src:a.url,poster:a.poster,width:"100%",height:"100%",onClick:()=>o(a),onVideoLoaded:n,autoPlayOnHover:!0,showPlayButton:!1})})}):i.jsx("div",{className:"waterfall-image-wrapper",onClick:()=>o(a),style:{cursor:$||a.onClick?"pointer":"default"},children:i.jsx("img",{src:a.url,alt:`瀑布流图片 ${m+1}`,className:"waterfall-image",onLoad:n,onError:n,style:{display:"block",width:"100%",height:"auto"}})})},g)})})};st.__docgenInfo={displayName:"Waterfall",description:"瀑布流布局组件,支持图片和视频混合展示",props:{items:{name:"items",required:!0,description:"媒体资源数组",type:{name:"WaterfallItem[]",raw:"WaterfallItem[]"}},columns:{name:"columns",required:!1,description:"列数(默认会根据屏幕宽度自动响应)",type:{name:"number",raw:"number"}},gap:{name:"gap",required:!1,description:"间隔大小",type:{name:"number",raw:"number"},defaultValue:{value:"0"}},responsive:{name:"responsive",required:!1,description:"是否启用响应式布局",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"true"}},breakpoints:{name:"breakpoints",required:!1,description:"响应式断点配置",type:{name:"object",raw:"{ xs?: number; sm?: number; md?: number; lg?: number; xl?: number; xxl?: number; }"}},className:{name:"className",required:!1,description:"自定义类名",type:{name:"string",raw:"string"}},style:{name:"style",required:!1,description:"自定义样式",type:{name:"CSSProperties",raw:"React.CSSProperties"}},onClick:{name:"onClick",required:!1,description:"点击回调",type:{name:"function",raw:"(item: any) => void"}}}};const Bt={algorithm:R.theme.defaultAlgorithm,token:{colorPrimary:"#3b82f6",colorSuccess:"#10b981",colorWarning:"#f59e0b",colorError:"#ef4444",colorInfo:"#3b82f6",colorBgBase:"#ffffff",colorBgContainer:"#ffffff",colorBgElevated:"#ffffff",colorBgLayout:"#f8fafc",colorTextBase:"#1e293b",colorText:"#1e293b",colorTextSecondary:"#64748b",colorTextTertiary:"#94a3b8",colorTextQuaternary:"#cbd5e1",colorBorder:"#e2e8f0",colorBorderSecondary:"#f1f5f9",boxShadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",boxShadowSecondary:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",borderRadius:8,borderRadiusLG:12,borderRadiusSM:6,fontFamily:"Inter, system-ui, Arial, sans-serif",fontSize:14,fontSizeLG:16,fontSizeSM:12,padding:16,paddingLG:24,paddingSM:12,paddingXS:8,controlHeight:32,controlHeightLG:40,controlHeightSM:24},components:{Button:{borderRadius:8,controlHeight:32,fontWeight:500},Card:{borderRadiusLG:12,boxShadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)"},Input:{borderRadius:8,controlHeight:32},Table:{borderRadiusLG:8,headerBg:"#f8fafc",headerColor:"#374151"}}};ae.AdvancedTable=Ke,ae.AppModal=Fe,ae.BackButton=We,ae.Button=He,ae.Card=Ge,ae.DynamicInput=rt,ae.DynamicTextArea=ot,ae.EmptyAndSpin=je,ae.LinkButton=Ue,ae.PageTable=Ye,ae.RichTextEditor=tt,ae.VideoCard=Pe,ae.VirtualTable=at,ae.Waterfall=st,ae.XcIcon=ze,ae.lightTheme=Bt,Object.defineProperty(ae,Symbol.toStringTag,{value:"Module"})});
|
|
12
12
|
//# sourceMappingURL=index.umd.js.map
|