@nocobase/client-v2 2.1.0-beta.45 → 2.1.0-beta.46

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/es/index.mjs CHANGED
@@ -162,7 +162,7 @@ import*as __rspack_external__ant_design_icons_a8184985 from"@ant-design/icons";i
162
162
  ... (stack truncated)`}function w(e){let t=String(e||"").split("\n"),l=new Set;for(let e=0;e<t.length;e++){let o=t[e];(f.test(o)||g.test(o))&&l.add(e)}if(0===l.size)return()=>!1;let o=[0];for(let e=1;e<t.length;e++)o[e]=o[e-1]+t[e-1].length+1;let n=e=>{let t=0,l=o.length-1,n=0;for(;t<=l;){let i=t+l>>1;o[i]<=e?(n=i,t=i+1):l=i-1}return n};return e=>l.has(n(e))}function S(e,t){let l=Math.max(0,Math.min(e.length,Math.floor(t))),o=e.lineAt(l);return{line:o.number,column:l-o.from+1}}function k(e){return[...e].sort((e,t)=>{var l,o,n,i,r,a,s,d;let u=+("lint"!==e.type),c=+("lint"!==t.type);if(u!==c)return u-c;let p=(null==(o=e.location)||null==(l=o.start)?void 0:l.line)??Number.MAX_SAFE_INTEGER,m=(null==(i=t.location)||null==(n=i.start)?void 0:n.line)??Number.MAX_SAFE_INTEGER;if(p!==m)return p-m;let h=(null==(a=e.location)||null==(r=a.start)?void 0:r.column)??Number.MAX_SAFE_INTEGER,f=(null==(d=t.location)||null==(s=d.start)?void 0:s.column)??Number.MAX_SAFE_INTEGER;return h!==f?h-f:String(e.ruleId||"").localeCompare(String(t.ruleId||""))})}function F(e){let t={error:0,warn:1,info:2,log:3};return e.map((e,t)=>({log:e,index:t})).sort((e,l)=>{let o=t[e.log.level]??Number.MAX_SAFE_INTEGER,n=t[l.log.level]??Number.MAX_SAFE_INTEGER;return o!==n?o-n:e.index-l.index}).map(e=>e.log)}function C(e){let t,l=String(e||"");if(!l.trim())return[];let o=n.Text.of(l.split("\n")),i=w(l);try{t=h.parse(l).cursor()}catch(e){return[{type:"lint",ruleId:"parse-error",message:`Syntax error: ${y((null==e?void 0:e.message)||e)}`,location:{start:{line:1,column:1}}}]}let r=[],a=new Set,s=e=>{let t=Math.max(0,Math.min(l.length,e));if(i(t)||a.has(t))return;a.add(t);let n=S(o,t),s=l.slice(t,Math.min(l.length,t+24)).replace(/\s+/g," ").trim(),d=s?` near "${s}"`:"";r.push({type:"lint",ruleId:"parse-error",message:`Syntax error${d}.`,location:{start:n}})};do t.type.isError&&s(t.from);while(t.next());return r}function A(e){let t,l=String(e||"");if(!l.trim())return[];let o=w(l),s=n.Text.of(l.split("\n")),u=[],c=(e,t,n)=>{let i=Math.max(0,Math.min(l.length,e));if(o(i))return;let r=S(s,i);u.push({type:"lint",ruleId:t,message:n,location:{start:r}})},p=()=>{let e="no-noncallable-call",t=new Set,n=n=>{let i=Math.max(0,Math.min(l.length,n));o(i)||t.has(i)||(t.add(i),c(i,e,"This expression is not callable."))},i=l.length,r=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},a=e=>{if(!e)return!1;let t=e.charCodeAt(0);return r(e)||t>=48&&t<=57},s=e=>{let t=e;for(;t<i&&/\s/.test(l[t]);)t++;return t},d=e=>!(e>=i)&&("("===l[e]||"?"===l[e]&&"."===l[e+1]&&"("===l[e+2]),u=e=>{let t=1,o="code";for(let n=e+1;n<i;n++){let e=l[n],r=n+1<i?l[n+1]:"";if("lineComment"===o){"\n"===e&&(o="code");continue}if("blockComment"===o){"*"===e&&"/"===r&&(o="code",n+=1);continue}if("single"===o){if("\\"===e){n+=1;continue}"'"===e&&(o="code");continue}if("double"===o){if("\\"===e){n+=1;continue}'"'===e&&(o="code");continue}if("template"===o){if("\\"===e){n+=1;continue}"`"===e&&(o="code");continue}if("/"===e&&"/"===r){o="lineComment",n+=1;continue}if("/"===e&&"*"===r){o="blockComment",n+=1;continue}if("'"===e){o="single";continue}if('"'===e){o="double";continue}if("`"===e){o="template";continue}if("("===e)t++;else if(")"===e&&0==--t)return n}return -1},p=e=>"true"===e||"false"===e||"null"===e,m="code";for(let e=0;e<i;e++){let t=l[e],o=e+1<i?l[e+1]:"";if("lineComment"===m){"\n"===t&&(m="code");continue}if("blockComment"===m){"*"===t&&"/"===o&&(m="code",e+=1);continue}if("/"===t&&"/"===o){m="lineComment",e+=1;continue}if("/"===t&&"*"===o){m="blockComment",e+=1;continue}if("'"===t||'"'===t){let o=t,r=e;for(e+=1;e<i;){let t=l[e];if("\\"===t){e+=2;continue}if(t===o)break;e+=1}d(s(Math.min(i,e+1)))&&n(r);continue}if("`"===t){let t=e;for(e+=1;e<i;){let t=l[e];if("\\"===t){e+=2;continue}if("`"===t)break;e+=1}d(s(Math.min(i,e+1)))&&n(t);continue}if(t>="0"&&t<="9"){let t=e;for(e+=1;e<i&&l[e]>="0"&&l[e]<="9";)e++;if("."===l[e])for(e+=1;e<i&&l[e]>="0"&&l[e]<="9";)e++;if("e"===l[e]||"E"===l[e]){let t=l[e+1],o=e+1;if(("+"===t||"-"===t)&&(o+=1),l[o]>="0"&&l[o]<="9")for(e=o+1;e<i&&l[e]>="0"&&l[e]<="9";)e++}"n"===l[e]&&(e+=1),d(s(e))&&n(t),e-=1;continue}if(r(t)){let t=e;for(e+=1;e<i&&a(l[e]);)e++;p(l.slice(t,e))&&d(s(e))&&n(t),e-=1;continue}if("("===t){let t=s(e+1),o=t,c=!1;("+"===l[t]||"-"===l[t])&&(o=t,t=s(t+1));let m=l[t];if("{"===m||"["===m||"'"===m||'"'===m||"`"===m)c=!0;else if(m>="0"&&m<="9")c=!0;else if(r(m)){let e=t+1;for(;e<i&&a(l[e]);)e++;p(l.slice(t,e))&&(c=!0)}if(c){let t=u(e);t>e&&d(s(t+1))&&n(o)}}}};try{let e=i.Parser||i;t=("function"==typeof r.default?e.extend((0,r.default)()):e).parse(l,{ecmaVersion:2022,sourceType:"script",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,locations:!0})}catch(e){return p(),u}let m=new Set(["ctx","console","window","document","navigator","Math","Date","Array","Object","Number","String","Boolean","Promise","RegExp","Set","Map","WeakSet","WeakMap","JSON","Intl","URL","Error","TypeError","encodeURIComponent","decodeURIComponent","parseInt","parseFloat","isNaN","isFinite","undefined","NaN","Infinity"]),h=e=>{e&&"string"==typeof e.name&&m.add(e.name)},f=e=>{if(!e)return;let t=[e];for(;t.length;){let e=t.pop();e&&("Identifier"===e.type?h(e):"AssignmentPattern"===e.type?t.push(e.left):"ArrayPattern"===e.type?(e.elements||[]).forEach(e=>e&&t.push(e)):"ObjectPattern"===e.type&&(e.properties||[]).forEach(e=>e&&t.push(e.value||e)))}};try{a.full(t,e=>{switch(null==e?void 0:e.type){case"VariableDeclarator":f(e.id);break;case"FunctionDeclaration":case"FunctionExpression":h(e.id),(e.params||[]).forEach(f);break;case"ArrowFunctionExpression":(e.params||[]).forEach(f);break;case"CatchClause":f(e.param);break;case"ClassDeclaration":h(e.id)}},d)}catch(e){}try{a.full(t,e=>{if(!e||"string"!=typeof e.type||"CallExpression"!==e.type)return;let t=e.callee;if(!(t&&("Identifier"===t.type||"MemberExpression"===t.type||"FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type||"CallExpression"===t.type||"ChainExpression"===t.type))){let l=(null==t?void 0:t.start)??e.start??0;c(l,"no-noncallable-call","This expression is not callable.")}},d)}catch(e){}try{let e=new Set,l=new Set(["t"]);a.full(t,t=>{var o,n,i;if(!t||"string"!=typeof t.type||"CallExpression"!==t.type)return;let r=t.callee;if((null==r?void 0:r.type)==="ChainExpression"&&(r=r.expression),!r||"MemberExpression"!==r.type)return;let a=r.object;if(!a||"Identifier"!==a.type||"ctx"!==a.name)return;let s=null;if(r.computed||(null==(o=r.property)?void 0:o.type)!=="Identifier"?r.computed&&(null==(n=r.property)?void 0:n.type)==="Literal"&&"string"==typeof r.property.value&&(s=r.property.value):s=r.property.name,!s||"string"!=typeof s)return;let d=s.trim();if(!d||d.startsWith("_")||d.length>2||l.has(d)||e.has(d))return;let u=(null==(i=r.property)?void 0:i.start)??r.start??t.start??0;c(u,"possible-undefined-ctx-member-call",`Possible undefined ctx method call: ctx.${d}(). This may be a typo or not available in the current ctx API.`),e.add(d)},d)}catch(e){}try{let e=new Set;a.ancestor(t,{Identifier(t,l){let o=null==t?void 0:t.name;if(!o||m.has(o)||e.has(o))return;let n=l[l.length-2];if(!n||"VariableDeclarator"===n.type&&n.id===t||"FunctionDeclaration"===n.type&&n.id===t||"FunctionExpression"===n.type&&n.id===t||"ClassDeclaration"===n.type&&n.id===t||"ClassExpression"===n.type&&n.id===t||"Property"===n.type&&n.key===t&&!0!==n.computed||"MemberExpression"===n.type&&n.property===t&&!0!==n.computed||"LabeledStatement"===n.type&&n.label===t||"BreakStatement"===n.type&&n.label===t||"ContinueStatement"===n.type&&n.label===t)return;let i=t.start??0;c(i,"possible-undefined-variable",`Possible undefined variable: ${o}`),e.add(o)}},d)}catch(e){}return u}function P(e){let t=(t,l)=>{let o=l.map(e=>y(e)).join(" ").trim();e.push({level:t,message:o})},l={trace:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("log",l)},debug:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("log",l)},info:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("info",l)},warn:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("warn",l)},error:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("error",l)},fatal:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("error",l)},child:()=>l};return{consoleCapture:{log:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("log",l)},info:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("info",l)},warn:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("warn",l)},error:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("error",l)}},loggerCapture:l}}function T(e){if(!e.length)return;let t={timeout:0,internal:1,"preview-start-failed":2};return[...e].sort((e,l)=>{let o=t[String(e.ruleId||"")]??10,n=t[String(l.ruleId||"")]??10;return o!==n?o-n:0})[0]}function j(e){var t;let l=null==(t=e.location)?void 0:t.start,o=l?`line ${l.line}:${l.column} `:"",n=e.ruleId?`(${e.ruleId}) `:"";return`${o}${n}${e.message}`.trim()}function I(e){if(!e)return"Preview execution: unknown";let t="number"==typeof e.durationMs?`${Math.round(e.durationMs)}ms`:"unknown";return`Preview execution: started=${e.started}, finished=${e.finished}, timeout=${e.timeout}, duration=${t}`}function L(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"…",o=String(e||"");return o.length<=t?o:`${o.slice(0,Math.max(0,t-l.length))}${l}`}function D(e,t){let{issues:l,logs:o,execution:n}=e,i=l.filter(e=>"lint"===e.type),r=l.filter(e=>"runtime"===e.type),a=F(o),s=T(r),d=[],u=l.length,c=i.length,p=r.length,m=a.length,h=e=>{e.length&&(d.push("Key logs:"),e.forEach(e=>{d.push(`[${e.level}] ${L(e.message,t.maxLogChars)}`)}),a.length>e.length&&d.push(`... ${a.length-e.length} more logs not shown`))};if(0===u){let e=a.some(e=>"warn"===e.level||"error"===e.level);d.push(e?`RunJS preview completed with warning/error logs: no diagnostic issues found. Logs: ${m}.`:`RunJS preview succeeded: no issues found. Logs: ${m}.`),d.push(I(n));let l=a.slice(0,Math.max(0,t.maxLogs));l.length&&(d.push(""),h(l));let o=d.join("\n").trimEnd();return{message:L(o,t.maxChars),truncated:o.length>t.maxChars}}d.push(`RunJS preview failed: ${u} issues (lint ${c} / runtime ${p}), logs: ${m}.`),d.push(I(n)),d.push("");let f=(e,l)=>{if(!l.length)return;d.push(`${e}:`);let o=l.slice(0,Math.max(0,t.maxIssues));o.forEach((e,l)=>{let o=`${l+1}) ${j(e)}`;if(d.push(o),t.includeStack&&e.stack){let l=L(String(e.stack),t.maxStackChars);d.push(L(l,t.maxStackChars))}}),l.length>o.length&&d.push(`... ${l.length-o.length} more not shown`),d.push("")},g=s&&r.length>1?[s,...r.filter(e=>e!==s)]:r;f("Static issues",i),f("Runtime issues",g);let y=a.slice(0,Math.max(0,t.maxLogs));y.length&&h(y);let v=d.join("\n").trimEnd(),_=v.length>t.maxChars;return{message:_?L(v,t.maxChars):v,truncated:_}}function R(e){let t=`(issues total ${e.issues.length}, logs total ${e.logs.length})`,l=!1;for(let o of[{maxLogs:40,maxLogChars:220,maxIssues:12,includeStack:!0,maxStackChars:800},{maxLogs:20,maxLogChars:160,maxIssues:10,includeStack:!0,maxStackChars:400},{maxLogs:12,maxLogChars:140,maxIssues:8,includeStack:!1,maxStackChars:0},{maxLogs:8,maxLogChars:120,maxIssues:5,includeStack:!1,maxStackChars:0},{maxLogs:3,maxLogChars:100,maxIssues:3,includeStack:!1,maxStackChars:0}]){let{message:n,truncated:i}=D(e,{...o,maxChars:u});if(l=l||i,!i){if(!l)return n;return L(`RunJS preview output was truncated.
163
163
  ${t}
164
164
 
165
- ${n}`,u)}}let o=T(e.issues.filter(e=>"runtime"===e.type)),n=o?`Key runtime issue: ${j(o)}`:"",i=["RunJS preview output was truncated.",t,e.execution?I(e.execution):void 0,n||void 0].filter(Boolean).join("\n").trim();return i.length<=u?i:L(i,u-1)+"\n"}function Y(e){return R(e)}async function E(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o="string"==typeof e?e:String(e??""),n=[],i=[],r=null==l?void 0:l.version,a=(0,s.shouldPreprocessRunJSTemplates)({version:r});i.push(...C(o)),i.push(...A(o));let d="u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now(),u={started:!1,finished:!1,timeout:!1,durationMs:void 0};try{u.started=!0;let{consoleCapture:e,loggerCapture:l}=P(n),d={console:e};try{if("u">typeof window){let e=(0,s.createSafeNavigator)();d.navigator=e,d.window=(0,s.createSafeWindow)({navigator:e}),d.document=(0,s.createSafeDocument)()}}catch(e){}let p=o;try{p=await (0,s.prepareRunJsCode)(o,{preprocessTemplates:a})}catch(o){let e=String((null==o?void 0:o.name)||""),t=y((null==o?void 0:o.message)||o),l=o instanceof SyntaxError||/^SyntaxError\b/i.test(e)||/SyntaxError\b/i.test(t);return i.push({type:"runtime",ruleId:l?"preview-start-failed":"internal",message:l?t:`Preview internal failure: ${t}`,stack:M(o)}),u.finished=!0,u.timeout=!1,{issues:k(i),logs:n,execution:u}}let m=await t.createJSRunner({globals:d,timeoutMs:c,version:r});m.globals.ctx.defineProperty("logger",{value:l});let h=await m.run(p);if(u.finished=!0,u.timeout=!!(null==h?void 0:h.timeout),!(null==h?void 0:h.success)){let e=null==h?void 0:h.error,t=(null==h?void 0:h.timeout)?"Execution timed out":y((null==e?void 0:e.message)||e||"Unknown error"),l=e instanceof SyntaxError||/^SyntaxError\b/i.test(String((null==e?void 0:e.name)||""));i.push({type:"runtime",ruleId:(null==h?void 0:h.timeout)?"timeout":l?"preview-start-failed":"runtime-error",message:t,stack:M(e)})}}catch(e){u.finished=!0,u.timeout=!1,i.push({type:"runtime",ruleId:"internal",message:`Preview internal failure: ${y((null==e?void 0:e.message)||e)}`,stack:M(e)})}finally{let e=Math.max(0,("u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now())-d);u.durationMs=Number.isFinite(e)?e:void 0}return{issues:k(i),logs:n,execution:u}}function N(e){let t=new s.FlowContext;if(t.addDelegate(e),"u">typeof document&&"function"==typeof document.createElement&&!e.element)try{let e=document.createElement("div");t.defineProperty("element",{value:e})}catch(e){}return t}async function O(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=N(t),n=await E(e,o,l),i=0===n.issues.length,r=Y(n);return{success:i,message:r.length>u?L(r,u):r}}},8442(e,t,l){l.d(t,{a:()=>r});var o=l(1178),n=l(2793);l(1649);var i=l(5886);let r=(0,l(504).observer)(e=>{var t;let{value:l,FilterItem:r,ctx:a}=e;l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let s=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("reset")},d=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("submit")},u=(null==a||null==(t=a.model)?void 0:t.translate)||(e=>e);return(0,o.jsxs)("form",{onSubmit:e=>{e.preventDefault(),d()},children:[(0,o.jsx)(i.I,{value:l,FilterItem:r}),(0,o.jsxs)(n.Space,{style:{width:"100%",display:"flex",justifyContent:"flex-end"},children:[(0,o.jsx)(n.Button,{htmlType:"button",onClick:s,children:u("Reset")}),(0,o.jsx)(n.Button,{type:"primary",htmlType:"submit",children:u("Submit")})]})]})},{displayName:"FilterContent"})},5886(e,t,l){l.d(t,{I:()=>c});var o=l(1178),n=l(2113),i=l(2793),r=l(7843);l(1649);var a=l(504);let s=new WeakMap,d=0,u=e=>{let t=s.get(e);return t||(d+=1,t=`filter-item-${d}`,s.set(e,t)),t},c=(0,a.observer)(e=>{let{token:t}=i.theme.useToken(),{value:l={logic:"$and",items:[]},FilterItem:a,showBorder:s=!1,onRemove:d,onChange:p,closeIcon:m=(0,o.jsx)(n.CloseCircleOutlined,{style:{color:t.colorIcon}})}=e,{t:h}=(0,r.useTranslation)();l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let{logic:f,items:g}=l,y=s?{position:"relative",border:`1px dashed ${t.colorBorder}`,padding:t.paddingSM,marginBottom:t.marginXS,borderRadius:t.borderRadius}:{position:"relative",marginBottom:t.marginXS},v=e=>{l.logic=e,null==p||p(l)},_=()=>{g.push({path:"",operator:"",value:""}),null==p||p(l)},b=()=>{g.push({logic:"$and",items:[]}),null==p||p(l)},x=e=>{g.splice(e,1),null==p||p(l)},M=e=>"path"in e||"operator"in e||"value"in e,w=e=>"logic"in e&&"items"in e;return(0,o.jsxs)("div",{style:y,children:[s&&d&&(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{position:"absolute",right:10,top:10,cursor:"pointer",background:"transparent",border:0,padding:0},onClick:d,children:m}),(0,o.jsx)("div",{style:{marginBottom:8,color:t.colorText},children:(0,o.jsxs)("span",{children:[h("Meet")," ",(0,o.jsxs)(i.Select,{"data-testid":"filter-select-all-or-any",style:{width:"auto"},value:f,onChange:v,children:[(0,o.jsx)(i.Select.Option,{value:"$and",children:h("All")}),(0,o.jsx)(i.Select.Option,{value:"$or",children:h("Any")})]})," ",h("conditions in the group")]})}),(0,o.jsx)("div",{children:g.map((e,n)=>w(e)?(0,o.jsx)(c,{value:e,FilterItem:a,showBorder:!0,onRemove:()=>x(n),onChange:e=>{g[n]=e,null==p||p(l)}},u(e)):M(e)?a?(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)(a,{value:e}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsxs)("span",{children:[e.path," ",e.operator," ",String(e.value)]}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)("span",{style:{color:t.colorTextTertiary},children:"Invalid filter item"}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)))}),(0,o.jsxs)(i.Space,{size:16,style:{marginTop:8,marginBottom:8},children:[(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:_,children:h("Add condition")}),(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:b,children:h("Add condition group")})]})]})},{displayName:"FilterGroup"})},937(e,t,l){l.d(t,{H:()=>o});let o=(e,t,l,o)=>e.map(e=>n(e,t,l,o)).filter(Boolean),n=(e,t,l,n)=>{var i;if(l.length&&1===t&&l.includes(e.name)||!e.interface||!1===e.filterable)return;let r=e.getInterfaceOptions();if(!(null==r?void 0:r.filterable))return;let{nested:a,children:s,operators:d}=r.filterable,u={name:e.name,type:e.type,target:e.target,title:n(e.title),schema:null==e?void 0:e.uiSchema,operators:((null==d||null==(i=d.filter)?void 0:i.call(d,t=>!(null==t?void 0:t.visible)||t.visible(e)))||[]).map(e=>({...e,label:n(e.label)}))};if(!e.target||!(t>2)){if(t>2)return u;if((null==s?void 0:s.length)&&(u.children=s),a){let i=[];try{i=e.getFields().filter(e=>"attachments"!==e.target&&"formula"!==e.interface)}catch{i=[]}let r=o(i,t+1,l,n).filter(Boolean);u.children=u.children||[],u.children.push(...r)}return u}}},9078(e,t,l){l.d(t,{Ru:()=>D,I8:()=>n.I,qi:()=>u,oJ:()=>o.a,Et:()=>w,uw:()=>R.u});var o=l(8442),n=l(5886),i=l(1178),r=l(504),a=l(2793),s=l(1649),d=l(937);let u=(0,r.observer)(e=>{var t;let{path:l,operator:o,value:n}=e.value,r=e.model,u=(null==(t=r.context.blockModel.collection)?void 0:t.getFields().filter(e=>"attachments"!==e.target))||[],p=c(r.props.filterableFieldNames||[],u.map(e=>e.name)),m=r.translate,h=(0,d.H)(u.filter(e=>"attachments"!==e.target&&"formula"!==e.interface&&!["belongsTo","belongsToMany","hasOne","hasMany","oho","obo","m2o","o2m","m2m"].includes(e.type)),1,e.noIgnore?[]:p,m).filter(Boolean),f=(0,s.useMemo)(()=>{let e=h.find(e=>e.name===l);return(null==e?void 0:e.operators)||[]},[h,l]),g=t=>{var l;e.value.path=t;let o=h.find(e=>e.name===t);(null==o||null==(l=o.operators)?void 0:l.length)>0?e.value.operator=o.operators[0].value:e.value.operator="",e.value.value=""},y=t=>{e.value.operator=t},v=t=>{e.value.value=t.target.value};return(0,i.jsxs)(a.Space,{children:[(0,i.jsx)(a.Select,{style:{width:200},placeholder:m("Select field"),value:l||void 0,onChange:g,children:h.map(e=>(0,i.jsx)(a.Select.Option,{value:e.name,children:e.title},e.name))}),(0,i.jsx)(a.Select,{style:{width:120},placeholder:m("Select operator"),value:o||void 0,onChange:y,disabled:!l||0===f.length,children:f.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),(0,i.jsx)(a.Input,{style:{width:200},placeholder:m("Enter value"),value:n,onChange:v})]})},{displayName:"FilterItem"});function c(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}var p=l(6305),m=l(7583),h=l(6220),f=l(7309),g=l(7720),y=l(9210);let{DateFilterDynamicComponent:v}=(0,p.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");async function _(e){var t,l,o,n;let i=async e=>Array.isArray(e)?e:"function"==typeof e?await e():[];if(null==(l=e.getPropertyOptions)||null==(t=l.call(e,"collection"))?void 0:t.meta){let t=null==(n=e.getPropertyMetaTree)?void 0:n.call(e,"{{ ctx.collection }}");return await i(t)}let a=()=>(null==e?void 0:e.collection)??null,s=await (0,r.createEphemeralContext)(e,{defineProperties:{collection:{get:a,meta:(0,r.createCollectionContextMeta)(a,"Current collection")}}}),d=null==(o=s.getPropertyMetaTree)?void 0:o.call(s,"{{ ctx.collection }}");return await i(d)}function b(e,t){return"number"!=typeof t?e:(0,y.W)(e,{maxAssociationDepth:t})}function x(e,t,l,o){var n;let r=null==e?void 0:e["x-component"],s=(null==t||null==(n=t.uiSchema)?void 0:n["x-component-props"])||{},d=(null==e?void 0:e["x-component-props"])||{},u=(0,__rspack_external_lodash_merge_8f812c65.default)({},s,d),c=(0,f.di)(null==e?void 0:e.enum,l)||[],p={style:{width:200,...(null==u?void 0:u.style)||{}},placeholder:(null==u?void 0:u.placeholder)||l("Enter value"),...u},m=e=>{if("number"==typeof e||(null==u?void 0:u.stringMode)===!0&&"string"==typeof e)return e};return e=>{let{value:t,onChange:l,...n}=e||{};if("InputNumber"===r)return(0,i.jsx)(a.InputNumber,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("NumberPicker"===r)return(0,i.jsx)(h.NumberPicker,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("Switch"===r)return(0,i.jsx)(a.Switch,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e)});if("Select"===r)return(0,i.jsx)(a.Select,{options:c,...p,...n,value:(0,f.xO)(t,p),onChange:e=>null==l?void 0:l(e)});if("Checkbox"===r)return(0,i.jsx)(a.Checkbox,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e.target.checked)});if("Checkbox.Group"===r)return(0,i.jsx)(a.Checkbox.Group,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Radio.Group"===r)return(0,i.jsx)(a.Radio.Group,{...p,...n,value:Array.isArray(t)||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?t:void 0,onChange:e=>null==l?void 0:l(e.target.value)});if("Cascader"===r)return(0,i.jsx)(a.Cascader,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Input.TextArea"===r||"TextArea"===r)return(0,i.jsx)(a.Input.TextArea,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)});if("DateFilterDynamicComponent"===r)return(0,i.jsx)(v,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e)});if(r&&(null==o?void 0:o.getComponent)){let e=o.getComponent(r);if(e)return(0,i.jsx)(e,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e),style:{width:200,...p.style||{},...null==n?void 0:n.style}})}return(0,i.jsx)(a.Input,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)})}}function M(e){if(e&&"object"==typeof e){let l=e;if("function"==typeof l.preventDefault||l.nativeEvent||"target"in l){var t;let o=null==(t=l.target)?void 0:t.value;return void 0!==o?o:e}}return e}let w=(0,r.observer)(e=>{let{value:t,model:l,rightAsVariable:o,rightMetaTree:n,ignoreFieldNames:d,maxAssociationFieldDepth:u}=e,c=(0,r.useFlowViewContext)(),h=l.translate,{path:y,operator:v,value:w}=t,[S,k]=(0,s.useState)(null),F=(0,s.useCallback)(e=>{var t;return(0,p.w6)(e,l.context.dataSourceManager,null==(t=l.context.app)?void 0:t.dataSourceManager)},[l]),C=(0,s.useMemo)(()=>{var e,t;if(!S)return[];let l=S.interface?F(S.interface):void 0,o=null==S||null==(e=S.uiSchema)?void 0:e["x-filter-operators"];return((Array.isArray(o)&&o.length?o:null==l||null==(t=l.filterable)?void 0:t.operators)||[]).filter(e=>!e.visible||e.visible(S))},[F,S]);(0,s.useEffect)(()=>{if(!C.length)return;let e=m.default.find(C,e=>e.value===t.operator);if(e)t.noValue=!!e.noValue;else{let e=C[0];t.operator=e.value,t.value=!!e.noValue||void 0,t.noValue=!!e.noValue}},[C,t]);let A=(0,s.useMemo)(()=>C.map(e=>({value:e.value,label:"string"==typeof e.label?h(e.label):e.label})),[C,h]),P=(0,s.useCallback)((e,l)=>{let o=t.path||"",n=e||"",i=n!==o;t.path=n,i&&o&&(t.operator="",t.value=void 0,t.noValue=!1),l&&k(l)},[t]),T=(0,s.useMemo)(()=>({resolveValueFromPath:e=>(k(e),(null==e?void 0:e.paths.slice(1).join("."))||null),resolvePathFromValue(e){if(null==e)return;let t=String(e).trim();if(t)return["collection",...t.split(".")]}}),[]),j=(0,s.useCallback)(e=>{t.operator=e;let l=C.find(t=>t.value===e);(null==l?void 0:l.noValue)?(t.value=!0,t.noValue=!0):(t.value=void 0,t.noValue=!1)},[C,t]),I=(0,s.useMemo)(()=>C.find(e=>e.value===v),[C,v]),L=(0,s.useCallback)(e=>{var t,l;return(null==e||null==(t=e.options)?void 0:t.dataType)||(null==e?void 0:e.dataType)||(null==e?void 0:e.type)||(null==e||null==(l=e.uiSchema)?void 0:l.type)||"double"},[]),D=(0,s.useCallback)(e=>{switch(e){case"boolean":return"Switch";case"date":return"DateFilterDynamicComponent";case"integer":case"bigInt":case"double":case"decimal":case"number":return"InputNumber";default:return"Input"}},[]),R=(0,s.useMemo)(()=>{let e=(null==S?void 0:S.uiSchema)||{},t=(null==I?void 0:I.schema)||{},l=(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t);if((null==S?void 0:S.interface)==="formula"){let e={"x-read-pretty":!1,"x-component":D(L(S)),"x-component-props":{...l["x-component-props"]}};return(0,__rspack_external_lodash_merge_8f812c65.default)({},l,e)}return l},[S,I,D,L]),Y=s.default.useRef(null==R?void 0:R["x-component"]),E=null==R?void 0:R["x-component"],N=(0,s.useMemo)(()=>{let e=Y.current;Y.current=E;let l=void 0!==e&&e!==E;if(null==I?void 0:I.noValue)return w;if(l&&null!=w){t.value=void 0;return}return w},[E,w,t,I]),O=(0,s.useCallback)(e=>{t.value=M(e)},[t]),B=s.default.useRef(h);s.default.useEffect(()=>{B.current=h},[h]);let H=s.default.useCallback(e=>{var t;return(null==(t=B.current)?void 0:t.call(B,e))??e},[]),V=(0,s.useMemo)(()=>(0,f.di)(null==R?void 0:R.enum,H)||[],[R,H]),q=(0,s.useMemo)(()=>x(R,S,H,l.context.app),[R,S,H,l.context.app]),$=(0,s.useCallback)(()=>{let e=(0,g._H)(l.context.app,v,C),t="$in"===v||"$notIn"===v;if(e&&t){let{Comp:t,props:l}=e,o={...l},n=Array.isArray(o.options)?o.options:void 0;(!n||0===n.length)&&(null==V?void 0:V.length)&&(o.options=V);let r={flex:"1 1 40%",minWidth:160,maxWidth:"100%",...(0,g.VS)(o.style)},a=Array.isArray(N)&&N.every(e=>"string"==typeof e||"number"==typeof e)?N:"string"==typeof N?N.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)("div",{style:r,children:(0,i.jsx)(t,{...o,style:{width:"100%",...(0,g.VS)(o.style)},value:a,onChange:e=>O(e)})})}let o=q;return(0,i.jsx)("div",{style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},children:(0,i.jsx)(o,{value:N,onChange:e=>O(e)})})},[v,C,N,q,l.context.app,O,V]),z=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${h("Null")}>`,readOnly:!0})},[h]),K=(0,s.useMemo)(()=>async()=>{let e="function"==typeof n?await n():n??c.getPropertyMetaTree(),t=Array.isArray(e)?e:await e();return b([{title:h("Constant"),name:"constant",type:"string",paths:["constant"],render:q},{title:h("Null"),name:"null",type:"object",paths:["null"],render:z},...t],u)},[n,c,q,z,h,u]),U=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?q:"null"===l?z:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t="string"==typeof e?(0,r.parseValueToPath)(e):void 0;return t||["constant"]}}),[z,q]),G=(0,s.useMemo)(()=>async()=>{let e=await _(l.context),t=async e=>{let t=e.interface?F(e.interface):void 0,o=[],n=null==t?void 0:t.filterable,i=null==n?void 0:n.children;if(Array.isArray(i)&&i.length)for(let t of i){var r,a,s;let n=t.title||t.name,i=(null==(r=l.context)?void 0:r.t)?l.context.t(n):n;o.push({name:t.name,title:i,type:(null==(a=t.schema)?void 0:a.type)||"string",interface:(null==(s=t.schema)?void 0:s["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]})}if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=[...Array.isArray(e)?e:[],...o];return m.default.uniqBy(l,"name")}}}let d=[...Array.isArray(e.children)?e.children:[],...o];return{...e,children:d.length?d:e.children}},o=[];for(let l of e)o.push(await t(l));return b(o,u)},[F,l,u]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:y,metaTree:G,onChange:P,converters:T,showValueComponent:!1,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},onlyLeafSelectable:!0,placeholder:h("Select field"),ignoreFieldNames:d}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:h("Comparison"),value:v||void 0,onChange:j,children:A.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==I?void 0:I.noValue)&&(o?(0,i.jsx)(r.VariableInput,{value:N,onChange:e=>O(e),metaTree:K,converters:U,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:h("Enter value")}):$())]})});var S=l(1793);let{DateFilterDynamicComponent:k}=(0,p.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");function F(e,t){return"number"!=typeof t?e:(0,y.W)(e,{maxAssociationDepth:t})}function C(e,t,l){var o,n,r;let s=null==e?void 0:e["x-component"],d=(null==t||null==(o=t.uiSchema)?void 0:o["x-component-props"])||{},u=(null==e?void 0:e["x-component-props"])||{},c=(0,__rspack_external_lodash_merge_8f812c65.default)({},d,u),p=Array.isArray(null==t||null==(n=t.uiSchema)?void 0:n.enum)?null==t||null==(r=t.uiSchema)?void 0:r.enum:void 0,m=(0,f.di)(p,l),g={style:{width:200,...(null==c?void 0:c.style)||{}},placeholder:(null==c?void 0:c.placeholder)||l("Enter value"),...c};return e=>{let{value:t,onChange:o,...n}=e||{};if("InputNumber"===s)return(0,i.jsx)(a.InputNumber,{...g,...n,value:t,onChange:o});if("NumberPicker"===s)return(0,i.jsx)(h.NumberPicker,{...g,...n,value:t,onChange:o});if("Switch"===s)return(0,i.jsx)(a.Switch,{...g,...n,checked:!!t,onChange:o});if("Select"===s){let e=g;return Array.isArray(null==e?void 0:e.options)&&e.options.length>0?e={...e,options:(0,f.ZY)(e.options,l)}:m&&(e={...e,options:m}),(0,i.jsx)(a.Select,{...e,...n,value:(0,f.xO)(t,e),onChange:o})}return"DateFilterDynamicComponent"===s?(0,i.jsx)(k,{...g,...n,value:t,onChange:o}):(0,i.jsx)(a.Input,{...g,...n,value:t,onChange:e=>{var t;return null==o?void 0:o(null==e||null==(t=e.target)?void 0:t.value)}})}}let A=[{value:"$includes",label:"contains",selected:!0},{value:"$notIncludes",label:"does not contain"},{value:"$eq",label:"is"},{value:"$ne",label:"is not"},{value:"$empty",label:"is empty",noValue:!0},{value:"$notEmpty",label:"is not empty",noValue:!0}],P=new Set(["$in","$notIn"]);function T(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[];if(!o.length)return l;let n=o.find(e=>(null==e?void 0:e.name)==="item");if(!n)return[...o,...l];let i=(0,S.mD)(l,[n]);return[...o.filter(e=>(null==e?void 0:e.name)!=="item"),...i]}function j(e,t){var l,o;return{name:t.name,title:t.title||t.name,type:(null==(l=t.schema)?void 0:l.type)||"string",interface:(null==(o=t.schema)?void 0:o["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]}}async function I(e,t){var l,o;let n=e.interface&&t?t(e.interface):void 0,i=(Array.isArray(null==n||null==(l=n.filterable)?void 0:l.children)?null==n||null==(o=n.filterable)?void 0:o.children:[]).map(t=>j(e,t)),r=async e=>{let l=[...await Promise.all(e.map(e=>I(e,t))),...i];return(0,__rspack_external_lodash_uniqBy_85106929.default)(l,e=>e.name)};if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=Array.isArray(e)?e:[];return await r(l)}}}return Array.isArray(e.children)?{...e,children:await r(e.children)}:i.length?{...e,children:i}:e}async function L(e,t){let l=Array.isArray(e)?e:[];return await Promise.all(l.map(e=>I(e,t)))}let D=(0,r.observer)(e=>{var t;let{value:l,model:o,extraMetaTree:n,maxAssociationFieldDepth:d}=e,u=(0,r.useFlowViewContext)(),c=o.translate,{path:m,operator:h,value:y}=l||{},[v,_]=(0,s.useState)(null),b=(0,s.useRef)(!1),x=(0,s.useMemo)(()=>{if(v){var e,t,l;let n=v.interface?(0,p.w6)(v.interface,o.context.dataSourceManager,null==(e=o.context.app)?void 0:e.dataSourceManager):void 0,i=null==v||null==(t=v.uiSchema)?void 0:t["x-filter-operators"];return((Array.isArray(i)&&i.length?i:null==n||null==(l=n.filterable)?void 0:l.operators)||A).filter(e=>!e.visible||e.visible(v)).map(e=>({value:e.value,label:e.label,noValue:!!e.noValue,schema:e.schema,selected:!!e.selected}))}return[]},[v,o]),M=(0,s.useMemo)(()=>x.map(e=>({value:e.value,label:"string"==typeof e.label?c(e.label):e.label})),[x,c]);(0,s.useEffect)(()=>{if(0!==x.length){if(!h){if(b.current){let e=x.find(e=>e.selected)||x[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1,b.current=!1}return}if(!x.some(e=>e.value===h)){let e=x.find(e=>e.selected)||x[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1}}},[x,h,l]);let w=(0,s.useMemo)(()=>x.find(e=>e.value===h),[x,h]),S=(0,s.useMemo)(()=>{let e=(null==v?void 0:v.uiSchema)||{},t=(null==w?void 0:w.schema)||{};return(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t)},[v,w]),k=(0,s.useRef)(c);(0,s.useEffect)(()=>{k.current=c},[c]);let j=(0,s.useCallback)(e=>{var t;return(null==(t=k.current)?void 0:t.call(k,e))??e},[]),I=(0,s.useMemo)(()=>C(S,v,j),[S,v,j]),D=(0,s.useMemo)(()=>(0,f.di)(null==S?void 0:S.enum,j)||[],[S,j]),R=(0,s.useMemo)(()=>{let e=(0,g._H)(o.context.app,h,x),t=P.has(h);if(!e||!t)return I;let{Comp:l,props:n}=e;return e=>{let{value:t,onChange:o,...r}=e||{},a={...n},s=Array.isArray(a.options)?a.options:void 0;(!s||0===s.length)&&D.length>0&&(a.options=D);let d=Array.isArray(t)?t:"string"==typeof t?t.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)(l,{...a,...r,value:d,onChange:o,style:{width:200,...(0,g.VS)(a.style),...(0,g.VS)(null==r?void 0:r.style)}})}},[D,o.context.app,x,h,I]),Y=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${c("Null")}>`,readOnly:!0})},[c]),E=(0,s.useMemo)(()=>async()=>{let e=T((null==o?void 0:o.context.getPropertyMetaTree())||u.getPropertyMetaTree(),n);return F([{title:c("Constant"),name:"constant",type:"string",paths:["constant"]},{title:c("Null"),name:"null",type:"object",paths:["null"]},...e],d)},[u,o,c,n,d]),N=(0,s.useCallback)(async()=>{var e,t;let l=(null==o||null==(t=o.context)||null==(e=t.getPropertyMetaTree)?void 0:e.call(t))||u.getPropertyMetaTree(),i=T(Array.isArray(l)?l:[],n),r=e=>{var t;return(0,p.w6)(e,o.context.dataSourceManager,null==(t=o.context.app)?void 0:t.dataSourceManager)};return F(await L(i,r),d)},[u,o,n,d]),O=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?R:"null"===l?Y:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t=(0,r.parseValueToPath)(e);return t||["constant"]}}),[Y,R]),B=(0,s.useCallback)((e,t)=>{let o=l.path||"",n=e||"",i=n!==o;l.path=n,i&&o&&(l.operator="",l.value="",b.current=!0),o||!n||l.operator||(b.current=!0),t&&_(t)},[l]),H=(0,s.useCallback)(e=>{let t=l.operator;l.operator=e;let o=x.find(t=>t.value===e);(null==o?void 0:o.noValue)?(l.value=!0,l.noValue=!0):(P.has(t)&&!P.has(e)&&Array.isArray(l.value)&&(l.value=l.value.join("\n")),l.noValue=!1)},[l,x]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:m,onChange:B,metaTree:N,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:c("Select variable"),onlyLeafSelectable:!0}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:c("Comparison"),value:h||void 0,onChange:H,children:M.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==(t=x.find(e=>e.value===h))?void 0:t.noValue)&&(0,i.jsx)(r.VariableInput,{value:y,onChange:e=>l.value=e,metaTree:E,converters:O,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:c("Enter value"),clearValue:""})]})});var R=l(8102)},9210(e,t,l){l.d(t,{W:()=>r});let o=new Set(["m2o","o2o","oho","obo","o2m","m2m","linkTo"]);function n(e){let t=(null==e?void 0:e.options)||{};return!!(t.target||t.targetCollection||t.foreignKey||t.through||o.has(String((null==e?void 0:e.interface)||"")))}function i(e,t,l){let o=n(e),i=t+ +!!o;if(o&&i>l)return null;let a=e=>Array.isArray(e)?r(e,{associationDepth:i,maxAssociationDepth:l}):async()=>{let t=await e();return r(Array.isArray(t)?t:[],{associationDepth:i,maxAssociationDepth:l})};return{...e,children:e.children?a(e.children):void 0}}function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{associationDepth:l=0,maxAssociationDepth:o=2}=t;return Array.isArray(e)?e.map(e=>i(e,l,o)).filter(Boolean):[]}},8102(e,t,l){l.d(t,{u:()=>r});var o=l(1649),n=l(937);let i=e=>e;function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{filterableFieldNames:l,nonfilterableFieldNames:r,noIgnore:a=!1,t:s=i}=t,d=(0,o.useMemo)(()=>(null==e?void 0:e.getFields())||[],[e]),u=(0,o.useMemo)(()=>{let e=!a&&(null==l?void 0:l.length)?d.map(e=>e.name).filter(e=>!l.includes(e)):[],t=r??[];return t.length?Array.from(new Set([...e,...t])):e},[d,l,r,a]);return(0,o.useMemo)(()=>(0,n.H)(d.filter(e=>"attachments"!==e.target&&"formula"!==e.interface),1,u,s).filter(Boolean),[d,u,s])}},8563(e,t,l){l.d(t,{b2:()=>n.b,tn:()=>o.t,S5:()=>n.S});var o=l(8804);l(1178),l(8533),l(8198),l(504),l(1649),l(7326),l(5721);var n=l(5026);l(9253),l(4244)},9378(e,t,l){l.d(t,{g:()=>m});var o=l(1178),n=l(1649);let i=l(7583).default.memoize(async e=>e?(await Promise.resolve().then(l.bind(l,248))).default.render(e):e);function r(e){let[t,l]=(0,n.useState)(""),[o,r]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{r(!0),i(e).then(e=>{l(e),r(!1)}).catch(e=>console.log(e))},[e]),{html:t,loading:o}}function a(e){let t=e,l=document.createElement("div");l.innerHTML=t;let o=l.innerText;return l=null,(null==o?void 0:o.replace(/[\n\r]/g,""))||""}var s=l(2741),d=l(691),u=l(504),c=l(2793);let p=()=>{let e=(0,u.useFlowContext)(),{token:t}=c.theme.useToken(),l=!!e.isDarkTheme,o=new s.TinyColor(t.colorFillAlter).onBackground(t.colorBgContainer).toHexShortString(),n={lineHeight:"inherit","&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},blockquote:{borderLeft:"4px solid #ccc",paddingLeft:"20px",marginLeft:"0",color:"#666",fontStyle:"italic"},img:{maxWidth:"100%"},".hljs":{background:"#f8f8f8",color:"#444"},".hljs-comment":{color:"#697070"},".hljs-punctuation,.hljs-tag":{color:"#444a"},".hljs-tag .hljs-attr,.hljs-tag .hljs-name":{color:"#444"},".hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag":{fontWeight:700},".hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type":{color:"#800"},".hljs-section,.hljs-title":{color:"#800",fontWeight:700},".hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable":{color:"#ab5656"},".hljs-literal":{color:"#695"},".hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code":{color:"#397300"},".hljs-meta":{color:"#1f7199"},".hljs-meta .hljs-string":{color:"#38a"},".hljs-emphasis":{fontStyle:"italic"},".hljs-strong":{fontWeight:700}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}},i={"&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},".hljs":{color:"#adbac7",background:"#22272e"},".hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_":{color:"#f47067"},".hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_":{color:"#dcbdfb"},".hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable":{color:"#6cb6ff"},".hljs-meta .hljs-string,.hljs-regexp,.hljs-string":{color:"#96d0ff"},".hljs-built_in,.hljs-symbol":{color:"#f69d50"},".hljs-code,.hljs-comment,.hljs-formula":{color:"#768390"},".hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag":{color:"#8ddb8c"},".hljs-subst":{color:"#adbac7"},".hljs-section":{color:"#316dca",fontWeight:700},".hljs-bullet":{color:"#eac55f"},".hljs-emphasis":{color:"#adbac7",fontStyle:"italic"},".hljs-strong":{color:"#adbac7",fontWeight:700},".hljs-addition":{color:"#b4f1b4",backgroundColor:"#1b4721"},".hljs-deletion":{color:"#ffd8d3",backgroundColor:"#78191b"}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return(0,d.css)({lineHeight:t.lineHeight,"& > *:last-child":{marginBottom:"0"},".ant-description-textarea, .ant-description-input":{lineHeight:t.lineHeight},".field-interface-datetime":{minWidth:"100px"},img:{maxWidth:"100%"},...l?i:n})},m=e=>{let{textOnly:t,overflowMode:l,style:i}=e,s=p(),{html:d=""}=r(e.value),u=a(d),m="ellipsis"===l,h=(0,n.useRef)(null),[f,g]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(h.current){let e=h.current;g(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight)}},[d,i,l]);let y={...i||{},...m?{display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-word",cursor:"default"}:{}},v=(0,o.jsx)("div",{ref:h,className:`${s} nb-markdown`,dangerouslySetInnerHTML:{__html:t?u:d},style:y});return m&&f?(0,o.jsx)(c.Tooltip,{title:(0,o.jsx)("div",{dangerouslySetInnerHTML:{__html:d},style:{maxHeight:500,overflowY:"auto",padding:10,color:"#000"}}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},color:"#fff",children:v}):v}},248(e,t,l){function o(e,t){function l(e){return e.split(/\s+/g)[0]}__rspack_external_mermaid.default.initialize({securityLevel:"loose",...t});let o=e.renderer.rules.fence;function n(e,t,n,i,r){let a=e[t],s=a.info.trim();if(-1===["mermaid","{mermaid}"].indexOf(s?l(s):""))return void 0!==o?o(e,t,n,i,r):"";let d="",u=[],c=document.createElement("div");document.body.appendChild(c);try{let e="mermaid-container";__rspack_external_mermaid.default.mermaidAPI.render(e,a.content,t=>{let l=document.getElementById(e);null!==l&&u.push(["style",`max-width:${l.style.maxWidth};max-height:${l.style.maxHeight}`]),d=t},c)}catch(e){return`<div class="alert alert-danger">${e}</div>`}finally{c.remove()}return u.push(["src",`data:image/svg+xml,${encodeURIComponent(d)}`]),`<img ${r.renderAttrs({attrs:u})}>`}e.renderer.rules.fence=n}l.d(t,{default:()=>i});let n=new __rspack_external_markdown_it_a5918e6a.default({html:!0,linkify:!0,typographer:!0,breaks:!0});n.use(__rspack_external_markdown_it_highlightjs_3df446b8.default),n.use(o);let i=n},7309(e,t,l){function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e.map(e=>{if(e&&"object"==typeof e&&!Array.isArray(e)){let t=e,l=void 0!==t.label,o=void 0!==t.value,n=l?t.label:String(t.value??""),i=o?t.value:n,r={label:n,value:i};return t.color&&(r.color=t.color),t.icon&&(r.icon=t.icon),r}return{label:String(e),value:e}}):[]}function n(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;return Array.isArray(e)?e.map(e=>"string"==typeof(null==e?void 0:e.label)?{...e,label:t(e.label)}:e):[]}function i(e,t){if(e&&Array.isArray(e)&&0!==e.length)return n(o(e),t)}function r(e,t){let l=null==t?void 0:t.mode,o="multiple"===l||"tags"===l||(null==t?void 0:t.multiple)===!0;return Array.isArray(e)?e.filter(e=>""!==e&&null!=e):""===e||null==e?o?[]:void 0:e}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(Array.isArray(e)?e:null==e?[]:[e]).map(e=>{var l;let o=t.find(t=>(null==t?void 0:t.value)===e);return o?{value:e,label:o.label}:{value:e,label:(null==e||null==(l=e.toString)?void 0:l.call(e))??e}})}function s(e,t){var l,n,i,r;if(!["radioGroup","checkboxGroup","select","multipleSelect"].includes(null==t?void 0:t.interface)||Array.isArray(null==(l=e.props)?void 0:l.options)&&(null==(i=e.props)||null==(n=i.options)?void 0:n.length)>0)return!1;let a=null==(r=t.uiSchema)?void 0:r.enum;if(!Array.isArray(a)||0===a.length)return!1;let s=o(a);return!!s.length&&(e.setProps({options:s}),!0)}l.d(t,{NI:()=>s,ZY:()=>n,di:()=>i,xO:()=>r,yg:()=>a})},9133(e,t,l){l.d(t,{E4:()=>i,Gj:()=>d,a_:()=>o,eo:()=>p,pX:()=>s,w7:()=>r});let o="__custom__";function n(e){return`${o}:${e}`}function i(e){var t;if(!e||"object"!=typeof e)return!1;let l=e;if(!(null==(t=l.isAssociationField)?void 0:t.call(l)))return!1;let o=l.type,n=l.interface;return"belongsToMany"===o||"hasMany"===o||"belongsToArray"===o||"m2m"===n||"o2m"===n||"mbm"===n}function r(e){var t;if(!e||"object"!=typeof e)return;let l=e;return l.collection||(null==(t=l.context)?void 0:t.collection)||void 0}function a(e){return"string"==typeof e?e.trim():""}function s(e){if(!e||"object"!=typeof e)return[];let t=e,l="function"==typeof t.getStepParams?t.getStepParams("fieldSettings","init"):void 0,o=l&&"object"==typeof l?l:void 0,i="function"==typeof t.getStepParams?t.getStepParams("formItemSettings","fieldSettings"):void 0,r=i&&"object"==typeof i?i:void 0,s=(null==o?void 0:o.fieldPath)??t.fieldPath,d=(null==o?void 0:o.associationPathName)??t.associationPathName,u=null==r?void 0:r.name,c=a(s),p=a(d),m=a(u),h=new Set;return c&&h.add(c),p&&(c?c.startsWith(`${p}.`)?h.add(c):h.add(`${p}.${c}`):h.add(p)),m&&h.add(n(m)),Array.from(h)}function d(e){return s(e)[0]}function u(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;if(!t||"object"!=typeof t)return[];let l=t.items;if(Array.isArray(l))return l;let o=t.grid;if(!o||"object"!=typeof o)return[];let n=o.subModels;if(!n||"object"!=typeof n)return[];let i=n.items;return Array.isArray(i)?i:[]}function c(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;return t&&"object"==typeof t?u(t.field):[]}function p(e,t){let l=a(t);if(!l)return null;let o=e=>{if(!Array.isArray(e))return null;for(let t of e){if(s(t).some(e=>e===l))return t;let e=o(c(t));if(e)return e}return null};return o(u(e))}},7720(e,t,l){l.d(t,{VS:()=>r,_H:()=>d,i2:()=>u,sI:()=>c});var o=l(1649),n=l(6832);function i(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function r(e){return i(e)?e:void 0}function a(e){return e}function s(e){var t;let l=a(e);l._reactiveWrapperCache=void 0,null==(t=l.setupReactiveRender)||t.call(l)}function d(e,t,l){let o;if(!l||!Array.isArray(l))return null;let r=l.find(e=>(null==e?void 0:e.value)===t),a=null==r?void 0:r.schema,s=null==a?void 0:a["x-component"];if(!s)return null;if("DateFilterDynamicComponent"===s)o=n.DateFilterDynamicComponent;else{var d;o=null==e||null==(d=e.getComponent)?void 0:d.call(e,s)}return o?{Comp:o,props:i(null==a?void 0:a["x-component-props"])?a["x-component-props"]:{}}:null}function u(e){let t=a(e);return!!t&&"function"==typeof t.__originalRender&&(t.render=t.__originalRender,s(t),!0)}function c(e){let{app:t,fieldModel:l,operator:n,operators:i,propsPriority:c="field",style:p}=e,m=a(l),h=d(t,n,i);if(!h)return u(m),!1;m.__originalRender||"function"!=typeof m.render||(m.__originalRender=m.render);let{Comp:f,props:g}=h,y=r(g.style);return m.render=()=>{let e=m.props||{},t=r(e.style),l="operator"===c?{...e,...g}:{...g,...e},n="operator"===c?{...t,...y}:{...y,...t},i={...p||{},...n};return o.default.createElement(f,{...l,...Object.keys(i).length>0?{style:i}:{},onCompositionStart:null,onCompositionEnd:null})},s(m),!0}},544(e,t,l){l.d(t,{ON:()=>i,jI:()=>n});let o="__saveStepParamsWithSubModels";function n(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");e[o]=!0}async function i(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");let l=e;if(!0!==l[o])return await t();if("function"!=typeof l.save)throw Error("[saveStepParamsWithSubModels] model.save is not a function");try{return await l.save()}finally{delete l[o]}}},7827(e,t,l){l.d(t,{S0:()=>r.S0,_T:()=>r._T,s5:()=>r.s5});var o=l(504),n=l(6305);l(1649);var i=l(2542),r=l(5042);r.S0.registerFlow({key:"buttonSettings",title:(0,o.tExpr)("Button settings"),sort:-999,steps:{general:{title:(0,o.tExpr)("Edit button"),uiSchema:e=>({title:e.model.enableEditTitle?{"x-decorator":"FormItem","x-component":"Input",title:(0,o.tExpr)("Button title")}:void 0,tooltip:e.model.enableEditTooltip?{"x-decorator":"FormItem","x-component":"Input",title:(0,o.tExpr)("Button tooltip")}:void 0,icon:e.model.enableEditIcon?{"x-decorator":"FormItem","x-component":"IconPicker",title:(0,o.tExpr)("Button icon")}:void 0,iconOnly:e.model.enableEditIcon?{"x-decorator":"FormItem","x-component":"Switch",title:(0,o.tExpr)("Icon only")}:void 0,type:e.model.enableEditType?{"x-decorator":"FormItem","x-component":"Radio.Group",title:(0,o.tExpr)("Button type"),enum:e.model.buttonTypeOptions}:void 0,danger:e.model.enableEditDanger?{"x-decorator":"FormItem","x-component":"Switch",title:(0,o.tExpr)("Danger action")}:void 0,color:e.model.enableEditColor?{"x-decorator":"FormItem","x-component":n.sk,title:(0,o.tExpr)("Color")}:void 0}),defaultParams(e){var t,l;let o=e.model.defaultProps||{};return e.model.enableEditColor?{...o,color:(null==(t=e.model.props)?void 0:t.color)??o.color??(null==(l=e.themeToken)?void 0:l.colorPrimary)}:o},handler(e,t){let{title:l,tooltip:o,...n}=t;e.model.setProps({title:e.t(l,{ns:"lm-flow-engine"}),tooltip:e.t(o,{ns:"lm-flow-engine"}),...n})}},linkageRules:{use:"actionLinkageRules"}}}),r.S0.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{use:"aclCheck"}}}),r.S0.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"},linkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"actionLinkageRules",flowKey:"buttonSettings",stepKey:"linkageRules"}}}}),r.S0.registerEvents({click:{title:(0,o.tExpr)("Click"),name:"click",uiSchema:{condition:{type:"object",title:(0,o.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":i.H}},handler:i.b}})},5042(e,t,l){l.d(t,{S0:()=>p,_T:()=>u,s5:()=>c});var o=l(1178),n=l(504),i=l(125),r=l(2793),a=l(7583),s=l(1649),d=l(7843);function u(e){let{t}=(0,d.useTranslation)(),l=(0,n.useFlowModel)(),i=l.context.blockModel,u=e.collection||i.collection,c=u.dataSource,p=(0,s.useMemo)(()=>{let e=`${t(c.displayName||c.key)} > `,l=u?`${t(u.title)||u.name||u.tableName} `:"";return`${e}${l}`},[]),{actionName:m}=(null==e?void 0:e.forbidden)||l.forbidden,h=(0,s.useMemo)(()=>t('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:p,actionName:t(a.default.capitalize(m))}).replaceAll("&gt;",">"),[m,p,t]);return(0,o.jsx)(r.Tooltip,{title:e.message||h,children:e.children})}let c={collection:"collection",record:"record",all:["collection","record"],both:["collection","record"]};class p extends n.FlowModel{static _getScene(){return a.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getAclActionName(){return null}onInit(e){super.onInit(e),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1})}getInputArgs(){let e={},t=[];if(this.context.resource){let l=this.context.resource.getSourceId();l&&(e.sourceId=l,t.push("sourceId"))}if(this.context.collection&&this.context.record){let l=this.context.collection.getFilterByTK(this.context.record);l&&(e.filterByTk=l,t.push("filterByTk"))}return t.length&&(e.defaultInputKeys=t),e}onClick(e){this.dispatchEvent("click",{event:e,...this.getInputArgs()},{debounce:!0})}getTitle(){return this.props.title}getIcon(){return this.props.icon}renderButton(){let{iconOnly:e,...t}=this.props,l=this.getIcon()?(0,o.jsx)(i.In,{type:this.getIcon()}):void 0;return(0,o.jsx)(r.Button,{...t,onClick:this.onClick.bind(this),icon:l,children:e?null:t.children||this.getTitle()})}render(){return this.props.tooltip?(0,o.jsx)(r.Tooltip,{title:this.props.tooltip,children:this.renderButton()}):this.renderButton()}renderHiddenInConfig(){let{iconOnly:e,...t}=this.props,l=this.getIcon()?(0,o.jsx)(i.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,o.jsx)(u,{children:(0,o.jsx)(r.Button,{...t,onClick:this.onClick.bind(this),icon:l,style:{opacity:"0.3"},children:e?null:t.children||this.getTitle()})}):(0,o.jsx)(r.Tooltip,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,o.jsx)(r.Button,{...t,onClick:this.onClick.bind(this),icon:l,style:{opacity:"0.3"},children:e?null:t.children||this.getTitle()})})}constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,n.tExpr)("Action"),iconOnly:!1},this.enableEditTooltip=!0,this.enableEditTitle=!0,this.enableEditIcon=!0,this.enableEditType=!0,this.enableEditDanger=!0,this.enableEditColor=!1,this.buttonTypeOptions=[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Primary")}}'},{value:"dashed",label:'{{t("Dashed")}}'},{value:"link",label:'{{t("Link")}}'},{value:"text",label:'{{t("Text")}}'}]}}},3890(e,t,l){l.d(t,{P:()=>f,z:()=>g});var o=l(1178),n=l(2314),i=l(504),r=l(7583),a=l(1649),s=l(2793),d=l(8563),u=l(2542),c=l(7843),p=l(8804);let m=()=>{let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),l=t.context.blockModel.collection,n=l.dataSource,d=(0,a.useMemo)(()=>{let t=`${e(n.displayName||n.key)} > `,o=l?`${e(l.title)||l.name||l.tableName} `:"";return`${t}${o}`},[]),{actionName:u}=t.forbidden,m=(0,a.useMemo)(()=>e('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:d,actionName:e(r.default.capitalize(u))}).replaceAll("&gt;",">"),[u,d,e]);return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"403",subTitle:m})})};function h(){let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),l=t.dataSource,n=(0,a.useMemo)(()=>{let o=`${e(l.displayName||l.key)} > `,n=t.resource.resourceName;return`${o}${n}`},[]),r=(0,a.useMemo)(()=>e('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:e("Collection"),name:n,blockType:e("Block")}).replaceAll("&gt;",">"),[n,e]);return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"404",subTitle:r})})}let f={new:"new",one:"one",many:"many",select:"select",filter:"filter",oam:["one","many"],subForm:"subForm",bulkEditForm:"bulkEditForm"};class g extends i.FlowModel{setFilterActive(e,t){this.activeFilterSources.set(e,t)}hasActiveFilters(){let e=this.resource;if(e&&e.filter&&Object.keys(e.filter).length>0)return!0;for(let[,e]of this.activeFilterSources)if(e)return!0;return!1}removeFilterSource(e){this.activeFilterSources.delete(e)}getDataLoadingMode(){var e;let t=this.getStepParams("dataLoadingModeSettings");return(null==t||null==(e=t.dataLoadingMode)?void 0:e.mode)||"auto"}static _getScene(){return r.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getModelClassName(e){return Object.keys(this.customModelClasses).includes(e)?this.customModelClasses[e]:this._defaultCustomModelClasses[e]||e}renderHiddenInConfig(){return this.forbidden?(0,o.jsx)(m,{}):(0,o.jsx)(s.Tooltip,{title:this.context.t("The block is hidden and only visible when the UI Editor is active"),children:(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,style:{opacity:"0.3"},children:(0,o.jsx)(this.ObservedRenderComponent,{})})})}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineMethod("getModelClassName",e=>this.getModelClassName(e)),this.ObservedRenderComponent=(0,i.observer)(()=>this.renderComponent(),{displayName:"ObservedRenderComponent"})}setDecoratorProps(e){Object.assign(this.decoratorProps,e)}get title(){return this._title||(this._title=this.defaultBlockTitle()),this._title}defaultBlockTitle(){var e;return`${this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name)}`}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of BlockModel")}render(){return this.collectionRequired&&!this.context.collection?(0,o.jsx)(h,{}):(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,children:(0,o.jsx)(this.ObservedRenderComponent,{})})}constructor(...e){super(...e),this.decoratorProps=(0,n.observable)({}),this._defaultCustomModelClasses={},this.customModelClasses={},this.collectionRequired=!1,this.ObservedRenderComponent=null,this.activeFilterSources=new Map}}g.registerFlow({key:"cardSettings",title:(0,i.tExpr)("Card settings"),steps:{titleDescription:{title:(0,i.tExpr)("Title & description"),uiSchema:{title:{"x-component":"Input","x-decorator":"FormItem",title:(0,i.tExpr)("Title")},description:{"x-component":"Input.TextArea","x-decorator":"FormItem",title:(0,i.tExpr)("Description")}},handler(e,t){let l=e.t(t.title,{ns:"lm-flow-engine"}),o=e.t(t.description,{ns:"lm-flow-engine"});e.model.setDecoratorProps({title:l,description:o})}},linkageRules:{use:"blockLinkageRules"},blockHeight:{use:"blockHeight"}}}),g.define({hide:!0,label:(0,i.tExpr)("Other blocks")}),i.FlowModel.registerEvents({beforeRender:{title:(0,i.tExpr)("Before render"),name:"beforeRender",uiSchema:{condition:{type:"object",title:(0,i.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":u.H}},handler:u.b}})},9639(e,t,l){l.d(t,{U:()=>i});var o=l(504),n=l(7827);class i extends n.S0{}i.define({children:async e=>(await (0,o.buildSubModelItems)(n.S0)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(n.s5.collection))})},146(e,t,l){l.d(t,{t:()=>s});var o=l(504),n=l(7583),i=l(7123),r=l(8481),a=l(2606);class s extends a.R{onMount(){super.onMount(),this.previousBeforeRenderHash=this.context.location.search}getDirtyTrackingVersion(e,t,l,o){var n;let i=new Set,r=(null==l||null==(n=l.getResourceName)?void 0:n.call(l))||o.associationName||o.collectionName;r&&i.add(String(r)),o.associationName&&i.add(String(o.associationName)),o.collectionName&&i.add(String(o.collectionName));let a=0;for(let l of i)a+=e.getDataSourceDirtyVersion(t,l);return a}onActive(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.hidden&&this.previousBeforeRenderHash!==this.context.location.search&&(this.rerender(),!e)||this.hidden)return;let t=this.context.resource;if(!t)return;let l=this.getResourceSettingsInitParams(),o=t.getDataSourceKey()||l.dataSourceKey||"main",n=this.context.engine,i=this.getDirtyTrackingVersion(n,o,t,l);if(e){if(this.dirtyRefreshing)return;this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1});return}this.isManualRefresh||null!==this.lastSeenDirtyVersion&&i===this.lastSeenDirtyVersion||this.dirtyRefreshing||(this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1}))}static filterCollection(e){return!!e.filterTargetKey}static isCollectionAvailable(e){if(!e)return!1;let t=(0,r.b1)(this);return(0,r.F3)(e,t)}static async defineChildren(e){let t=t=>{var l;if(!(null==(l=this.meta)?void 0:l.createModelOptions))return t||{};if("function"==typeof this.meta.createModelOptions){let l=this.meta.createModelOptions(e);return n.default.merge({},l,t)}return n.default.merge({},this.meta.createModelOptions,t)},l=e=>this.name+e,{dataSourceKey:i,collectionName:r,associationName:a,filterByTk:s}=e.view.inputArgs,d=e.dataSourceManager.getDataSources().map(e=>0===e.getCollections().length?null:{key:l(`ds-${e.key}`),label:e.displayName,searchable:!0,searchPlaceholder:(0,o.tExpr)("Search"),children:o=>e.getCollections().map(o=>{if(!this.filterCollection(o)||!this.isCollectionAvailable(o))return null;let n={dataSourceKey:o.dataSourceKey,collectionName:o.name};return{key:l(`ds-${e.key}.${o.name}`),label:o.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}).filter(Boolean),u=e=>1===d.length?d[0].children(e):d;if(!r)return u(e);if(this._isScene("select")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=e.dataSourceManager.getCollection(i,r),s=[];return this.isCollectionAvailable(n)&&s.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),s.push({key:l("others-collections"),label:"Other collections",children:u(e)}),s}if(this._isScene("new")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=[],d=e.dataSourceManager.getCollection(i,r);return this.isCollectionAvailable(d)&&n.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),null!=s&&n.push({key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}),n.push({key:l("others-collections"),label:"Other collections",children:u(e)}),n}let c=[{key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)},{key:l("others-records"),label:"Other records",children:u(e)}];if(this._isScene("one")){let o=e.dataSourceManager.getCollection(i,r);if(!o||!this.filterCollection(o)||!this.isCollectionAvailable(o))return c;let n={dataSourceKey:i,collectionName:r,filterByTk:"{{ctx.view.inputArgs.filterByTk}}"};a&&(n.associationName=a,n.sourceId="{{ctx.view.inputArgs.sourceId}}"),c.unshift({key:l("current-record"),label:"Current record",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})})}return c}get dataSource(){return this.context.dataSource}get collection(){return this.context.collection}get resource(){return this.context.resource}get association(){return this.context.association}get associationField(){return this.context.association}getAclActionName(){return"view"}async getFilterFields(){return this.collection.getFields().filter(e=>e.filterable)}getResourceSettingsInitParams(){return this.getStepParams("resourceSettings","init")}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1}),this.context.defineProperty("resourceName",{get:()=>this.resource.getResourceName(),cache:!1}),this.context.defineProperty("dataSource",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getDataSource(e.dataSourceKey)}}),this.context.defineProperty("collection",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getCollection(e.dataSourceKey,e.collectionName)}}),this.context.defineProperty("resource",{get:()=>{let e=this.getResourceSettingsInitParams(),t=this.createResource(this.context,e);t.setDataSourceKey(e.dataSourceKey),t.setResourceName(e.associationName||e.collectionName);let l=()=>{var l;let o=this.context.engine;if(!(null==o?void 0:o.getDataSourceDirtyVersion))return;let n=(null==(l=t.getDataSourceKey)?void 0:l.call(t))||e.dataSourceKey||"main";this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(o,n,t,e)};return l(),t.on("refresh",()=>{l(),this.invalidateFlowCache("beforeRender")}),t}}),this.context.defineProperty("association",{get:()=>{let e=this.getResourceSettingsInitParams();if(e.associationName)return this.dataSource.getAssociation(e.associationName)}})}createResource(e,t){throw Error("createResource method must be implemented in subclasses of CollectionBlockModel")}refresh(){return this.resource?this.resource.refresh():super.refresh()}defaultBlockTitle(){var e,t,l,o,n,r,a;let s=this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name),d=(null==(t=this.dataSource)?void 0:t.displayName)||(null==(l=this.dataSource)?void 0:l.key),u=(null==(r=this.context)||null==(n=r.dataSourceManager)||null==(o=n.getDataSources)?void 0:o.call(n).length)||0,c=null==(a=this.collection)?void 0:a.title;if(this.association){let e=this.resource.getResourceName(),t=this.dataSource.getCollection(e.split(".")[0]);return(0,i.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c,sourceCollectionTitle:t.title,associationTitle:this.association.title})}return(0,i.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c})}addAppends(e){var t,l;let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)if(e.includes(".")){let[l,n]=e.split("."),i=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${l}`);if(!i)return;let r=i.target;if(!r)return;let a=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${r}.${n}`);if(a&&a.isAssociationField()){if(this.resource.addAppends(e),(null==(t=a.targetCollection)?void 0:t.template)==="tree"){let t=e.includes(".")?e.slice(e.lastIndexOf(".")+1):e;a.name===t&&this.resource.addAppends(`${e}.parent(recursively=true)`)}o&&this.resource.refresh()}}else{if(!this.collection)return;let t=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${e}`);if(!t)return;t.isAssociationField()&&(this.resource.addAppends(t.name),(null==(l=t.targetCollection)?void 0:l.template)==="tree"&&this.resource.addAppends(`${t.name}.parent(recursively=true)`),o&&this.resource.refresh())}}constructor(...e){super(...e),this.isManualRefresh=!1,this.collectionRequired=!0,this.lastSeenDirtyVersion=null,this.dirtyRefreshing=!1}}s.registerFlow({key:"resourceSettings",sort:-999,steps:{collectionCheck:{handler(e){e.collection||e.exitAll()}},aclCheck:{use:"aclCheck"},init:{handler(e,t){if(!t.dataSourceKey)throw Error("dataSourceKey is required");if(!t.collectionName)throw Error("collectionName is required");Object.keys(t).includes("sourceId")&&e.resource.setSourceId(t.sourceId),Object.keys(t).includes("filterByTk")&&e.resource.setFilterByTk(t.filterByTk)}}}}),s.registerFlow({key:"refreshSettings",sort:1e4,steps:{refresh:{async handler(e){let t=e.model,l=e.model.context.filterManager,n=(null==l?void 0:l.prepareFiltersForTarget)?await l.prepareFiltersForTarget(e.model.uid):void 0;l&&l.bindToTarget(e.model.uid);let i=t.getDataLoadingMode(),r=t.resource;if(r instanceof o.MultiRecordResource&&"manual"===i&&!t.hasActiveFilters()){r.setData([]),r.setMeta({count:0,hasNext:!1,page:1}),r.loading=!1;return}null==n||n.forEach(t=>{var l;null==t||null==(l=t.markInitialTargetRefreshHandled)||l.call(t,e.model.uid)}),e.model.isManualRefresh?e.model.resource.loading=!1:await e.model.resource.refresh()}}}}),s.registerFlow({key:"dataLoadingModeSettings",sort:800,title:(0,o.tExpr)("Set data loading mode"),steps:{dataLoadingMode:{use:"dataLoadingMode"}}}),s.define({hide:!0})},2606(e,t,l){l.d(t,{R:()=>i});var o=l(504),n=l(3890);class i extends n.z{}i.define({hide:!0,label:(0,o.tExpr)("Data blocks"),async children(e){let t=await (0,o.buildSubModelItems)(i)(e),{collectionName:l,filterByTk:n,scene:r}=e.view.inputArgs;return t.filter(t=>{var o,i,a,s,d,u,c;let p=e.engine.getModelClass(t.useModel);return"select"===r?null==(s=p._isScene)?void 0:s.call(p,"select"):"subForm"===r?null==(d=p._isScene)?void 0:d.call(p,"subForm"):"bulkEditForm"===r?null==(u=p._isScene)?void 0:u.call(p,"bulkEditForm"):"new"===r||l&&!n?null==(c=p._isScene)?void 0:c.call(p,"new"):!p._isScene||!(null==(o=p._isScene)?void 0:o.call(p,"select"))&&!(null==(i=p._isScene)?void 0:i.call(p,"subForm"))&&!(null==(a=p._isScene)?void 0:a.call(p,"bulkEditForm"))})}})},6859(e,t,l){l.d(t,{o:()=>n});var o=l(504);class n extends o.FlowModel{static resolveUse(e,t,l){var o,n;let i=null==e||null==(n=e.stepParams)||null==(o=n.fieldBinding)?void 0:o.use;return i&&i!==(null==e?void 0:e.use)?i:null==e?void 0:e.use}}},1882(e,t,l){l.d(t,{L:()=>i});var o=l(504),n=l(7827);class i extends n.S0{}i.define({children:async e=>(await (0,o.buildSubModelItems)(n.S0)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(n.s5.record))})},3027(e,t,l){l.d(t,{GO:()=>b,KW:()=>M,Z1:()=>v,eu:()=>_,nF:()=>y,zL:()=>s});var o=l(1178),n=l(504),i=l(1649),r=l(9639),a=l(1882);let s="assignFieldValues";function d(e){let t=null==e?void 0:e.collection;return t&&"object"==typeof t?t:void 0}function u(e){let t=d(e),l=null==t?void 0:t.dataSourceKey,o=null==t?void 0:t.name;return l&&o?{dataSourceKey:l,collectionName:o}:void 0}function c(e,t){let l=(null==e?void 0:e.collection)||d(t),o=null==l?void 0:l.dataSourceKey,n=null==l?void 0:l.name;return o&&n?{dataSourceKey:o,collectionName:n}:void 0}function p(e){if(!e||"object"!=typeof e)return!1;let t=e;return"string"==typeof t.dataSourceKey&&!!t.dataSourceKey&&"string"==typeof t.collectionName&&!!t.collectionName}function m(e){return e&&"object"==typeof e?e:void 0}function h(e,t){var l,o,n;let i=m(e);i&&(null==(l=i._observableCache)||delete l[t],null==(o=i._cache)||delete o[t],null==(n=i._pending)||delete n[t])}function f(e){h(null==e?void 0:e.context,"dataSource"),h(null==e?void 0:e.context,"collection"),h(null==e?void 0:e.context,"resource"),h(null==e?void 0:e.context,"association")}function g(e){var t,l,o,n,i;if(e.model.assignFormUid){let t=null==(n=(i=e.engine).getModel)?void 0:n.call(i,e.model.assignFormUid,!0);if(t)return t}let r=null==(t=e.model.subModels)?void 0:t.assignForm;return r||(null==(l=(o=e.engine).findModelByParentId)?void 0:l.call(o,e.model.uid,"assignForm"))||void 0}function y(e){return{async:!0,use:"AssignFormModel",stepParams:{resourceSettings:{init:u(e)}}}}function v(e,t){var l,o;let n=(null==(l=(o=e.model).getStepParams)?void 0:l.call(o,t,s))||{};return{assignedValues:(null==n?void 0:n.assignedValues)||{}}}async function _(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"AssignFieldValues";try{return await (0,n.resolveRunJSObjectValues)(e,t)}catch(t){var o,i,r;return console.error(`[${l}] RunJS execution failed`,t),null==(r=e.message)||null==(i=r.error)||i.call(r,(null==(o=e.t)?void 0:o.call(e,"RunJS execution failed"))||"RunJS execution failed"),null}}function b(e,t){return t&&"object"==typeof t&&Object.keys(t).length?{...e,...t}:e}function x(e){let{model:t,blockModel:l}=(0,n.useFlowSettingsContext)(),d=t,u=(0,n.useFlowEngine)(),[m,h]=i.default.useState(null);return(0,i.useEffect)(()=>{let o=!1;return(async()=>{var n,i,m,g,y;let v=c(l,null==d?void 0:d.context),_=await u.loadOrCreateModel(v?{parentId:d.uid,subKey:"assignForm",use:"AssignFormModel",stepParams:{resourceSettings:{init:v}}}:{parentId:d.uid,subKey:"assignForm",use:"AssignFormModel"},{skipSave:!t.context.flowSettingsEnabled});if(o)return;if(p(v)){let e=null==(m=_.getStepParams)?void 0:m.call(_,"resourceSettings","init");p(e)&&e.dataSourceKey===v.dataSourceKey&&e.collectionName===v.collectionName||null==(y=_.setStepParams)||y.call(_,"resourceSettings","init",v),f(_),f(null==(g=_.subModels)?void 0:g.grid)}let b=(null==(n=d.getStepParams)?void 0:n.call(d,e.settingsFlowKey,s))||{};_.setInitialAssignedValues((null==b?void 0:b.assignedValues)||{});let x=t instanceof r.U&&!(t instanceof a.L);(e.clearRecordContext||x)&&(null==(i=_.context)?void 0:i.defineProperty)&&_.context.defineProperty("record",{get:()=>void 0,cache:!1}),h(_),d.assignFormUid=(null==_?void 0:_.uid)||d.assignFormUid})(),()=>{o=!0}},[d,l,u,t,t.context.flowSettingsEnabled,e.clearRecordContext,e.settingsFlowKey]),m?(0,o.jsx)(n.FlowModelRenderer,{model:m,showFlowSettings:!1}):null}function M(e){return{title:e.title||(0,n.tExpr)("Assign field values"),uiSchema:()=>({tip:e.tipComponent?{"x-decorator":"FormItem","x-component":e.tipComponent}:void 0,editor:{"x-decorator":"FormItem","x-component":()=>(0,o.jsx)(x,{settingsFlowKey:e.settingsFlowKey,clearRecordContext:e.clearRecordContext})}}),async beforeParamsSave(t,l,o){var n,i,r,a,d,u,c;let p=g(t);if(!p){let n=(null==l?void 0:l.assignedValues)||(null==o?void 0:o.assignedValues)||{};null==(a=(d=t.model).setStepParams)||a.call(d,e.settingsFlowKey,s,{assignedValues:n});return}e.validateBeforeSave&&await (null==(c=p.form)||null==(u=c.validateFields)?void 0:u.call(c));let m=(null==(n=p.getAssignedValues)?void 0:n.call(p))||{};null==(i=(r=t.model).setStepParams)||i.call(r,e.settingsFlowKey,s,{assignedValues:m})},handler(){}}}},6832(e,t,l){l.r(t),l.d(t,{DateFilterDynamicComponent:()=>_});var o=l(1178),n=l(1649),i=l(2793),r=l(691),a=l(504),s=l(6305),d=l(3526),u=l(7583);let c=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,p=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},m=e=>{let{value:t,picker:l="date",format:r,showTime:m,timeFormat:h}=e,f=(0,a.useFlowEngine)(),g=f.translate.bind(f),y=(0,s.fD)(),v=[{label:g("Today"),value:y.today},{label:g("Last week"),value:y.lastWeek},{label:g("This week"),value:y.thisWeek},{label:g("Next week"),value:y.nextWeek},{label:g("Last month"),value:y.lastMonth},{label:g("This month"),value:y.thisMonth},{label:g("Next month"),value:y.nextMonth},{label:g("Last quarter"),value:y.lastQuarter},{label:g("This quarter"),value:y.thisQuarter},{label:g("Next quarter"),value:y.nextQuarter},{label:g("Last year"),value:y.lastYear},{label:g("This year"),value:y.thisYear},{label:g("Next year"),value:y.nextYear},{label:g("Last 7 days"),value:y.last7Days},{label:g("Next 7 days"),value:y.next7Days},{label:g("Last 30 days"),value:y.last30Days},{label:g("Next 30 days"),value:y.next30Days},{label:g("Last 90 days"),value:y.last90Days},{label:g("Next 90 days"),value:y.next90Days}],_=t?(0,s.Pn)(null==t?void 0:t[0],l):l,b=_===l&&r?r:(0,d.getPickerFormat)(_),x="date"===_?c(b):b,M=(0,d.getDateTimeFormat)(_,x,m,h),w={utc:!0,presets:v,...e,format:M,picker:_,showTime:!!m&&{defaultValue:[(0,d.dayjs)("00:00:00","HH:mm:ss"),(0,d.dayjs)("23:59:59","HH:mm:ss")]}},S=(0,n.useMemo)(()=>u.default.castArray(e.value).map(e=>p(e,M)),[e.value,M]);return(0,o.jsx)(i.DatePicker.RangePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:S})},h=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,f=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},g=e=>{let{picker:t="date",format:l,showTime:r,timeFormat:u,onChange:c}=e,p=(0,a.useFlowContext)(),m=Array.isArray(e.value)?e.value[0]:e.value,g=m?(0,s.Pn)(m,t):t,[y,v]=(0,n.useState)(g),_=p.model.translate.bind(p.model),b=e=>{let o=e===t&&l?l:(0,d.getPickerFormat)(e),n="date"===e?h(o):o;return(0,d.getDateTimeFormat)(e,n,r,u)},x=(0,n.useMemo)(()=>b(y),[l,t,r,y,u]),M=(0,n.useMemo)(()=>f(m,x),[m,x]),w={utc:!0,inputReadOnly:p.isMobileLayout,...e,underFilter:!0,showTime:!!r&&{defaultValue:(0,d.dayjs)("00:00:00","HH:mm:ss")},format:x,picker:y};return(0,o.jsxs)(i.Space.Compact,{style:{width:"100%"},children:[(0,o.jsx)(i.Select,{style:{width:"100px"},popupMatchSelectWidth:!1,value:y,options:[{label:_("Date"),value:"date"},{label:_("Month"),value:"month"},{label:_("Quarter"),value:"quarter"},{label:_("Year"),value:"year"}],onChange:e=>{let t=b(e),l=x;if(v(e),!m||!c)return;let o=f(m,l);o&&o.isValid()&&c(o,o.format(t))}}),(0,o.jsx)(i.DatePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:M})]})},y=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=[{value:"exact",label:e("Exact day")},{value:"past",label:e("Past")},{value:"next",label:e("Next")},{value:"today",label:e("Today")},{value:"yesterday",label:e("Yesterday")},{value:"tomorrow",label:e("Tomorrow")},{value:"thisWeek",label:e("This Week")},{value:"lastWeek",label:e("Last Week")},{value:"nextWeek",label:e("Next Week")},{value:"thisMonth",label:e("This Month")},{value:"lastMonth",label:e("Last Month")},{value:"nextMonth",label:e("Next Month")},{value:"thisQuarter",label:e("This Quarter")},{value:"lastQuarter",label:e("Last Quarter")},{value:"nextQuarter",label:e("Next Quarter")},{value:"thisYear",label:e("This Year")},{value:"lastYear",label:e("Last Year")},{value:"nextYear",label:e("Next Year")}];return t&&l.splice(3,0,{value:"now",label:e("Now")}),l},v=e=>{let{isRange:t,defaultValue:l,onChange:i,...r}=e,a=(0,n.useCallback)((e,t)=>i(t),[i]);return t?(0,o.jsx)(m,{...r,onChange:a}):(0,o.jsx)(g,{...r,onChange:a})},_=e=>{let{value:t,onChange:l,includeNow:s=!1,...d}=e,u=(0,a.useFlowEngine)(),c=u.translate.bind(u),{token:p}=i.theme.useToken(),[m,h]=(0,n.useState)(!1),f=(0,n.useMemo)(()=>y(c,s),[c,s]),g=e=>{if(h(!1),"exact"===e)return l(void 0);let t={type:e};["past","next"].includes(e)&&(t.number=1,t.unit="day"),l(t)},_=()=>{let e=f.slice(0,3),t=f.slice(3),l=(0,r.css)`
165
+ ${n}`,u)}}let o=T(e.issues.filter(e=>"runtime"===e.type)),n=o?`Key runtime issue: ${j(o)}`:"",i=["RunJS preview output was truncated.",t,e.execution?I(e.execution):void 0,n||void 0].filter(Boolean).join("\n").trim();return i.length<=u?i:L(i,u-1)+"\n"}function Y(e){return R(e)}async function E(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o="string"==typeof e?e:String(e??""),n=[],i=[],r=null==l?void 0:l.version,a=(0,s.shouldPreprocessRunJSTemplates)({version:r});i.push(...C(o)),i.push(...A(o));let d="u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now(),u={started:!1,finished:!1,timeout:!1,durationMs:void 0};try{u.started=!0;let{consoleCapture:e,loggerCapture:l}=P(n),d={console:e};try{if("u">typeof window){let e=(0,s.createSafeNavigator)();d.navigator=e,d.window=(0,s.createSafeWindow)({navigator:e}),d.document=(0,s.createSafeDocument)()}}catch(e){}let p=o;try{p=await (0,s.prepareRunJsCode)(o,{preprocessTemplates:a})}catch(o){let e=String((null==o?void 0:o.name)||""),t=y((null==o?void 0:o.message)||o),l=o instanceof SyntaxError||/^SyntaxError\b/i.test(e)||/SyntaxError\b/i.test(t);return i.push({type:"runtime",ruleId:l?"preview-start-failed":"internal",message:l?t:`Preview internal failure: ${t}`,stack:M(o)}),u.finished=!0,u.timeout=!1,{issues:k(i),logs:n,execution:u}}let m=await t.createJSRunner({globals:d,timeoutMs:c,version:r});m.globals.ctx.defineProperty("logger",{value:l});let h=await m.run(p);if(u.finished=!0,u.timeout=!!(null==h?void 0:h.timeout),!(null==h?void 0:h.success)){let e=null==h?void 0:h.error,t=(null==h?void 0:h.timeout)?"Execution timed out":y((null==e?void 0:e.message)||e||"Unknown error"),l=e instanceof SyntaxError||/^SyntaxError\b/i.test(String((null==e?void 0:e.name)||""));i.push({type:"runtime",ruleId:(null==h?void 0:h.timeout)?"timeout":l?"preview-start-failed":"runtime-error",message:t,stack:M(e)})}}catch(e){u.finished=!0,u.timeout=!1,i.push({type:"runtime",ruleId:"internal",message:`Preview internal failure: ${y((null==e?void 0:e.message)||e)}`,stack:M(e)})}finally{let e=Math.max(0,("u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now())-d);u.durationMs=Number.isFinite(e)?e:void 0}return{issues:k(i),logs:n,execution:u}}function N(e){let t=new s.FlowContext;if(t.addDelegate(e),"u">typeof document&&"function"==typeof document.createElement&&!e.element)try{let e=document.createElement("div");t.defineProperty("element",{value:e})}catch(e){}return t}async function O(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=N(t),n=await E(e,o,l),i=0===n.issues.length,r=Y(n);return{success:i,message:r.length>u?L(r,u):r}}},8442(e,t,l){l.d(t,{a:()=>r});var o=l(1178),n=l(2793);l(1649);var i=l(5886);let r=(0,l(504).observer)(e=>{var t;let{value:l,FilterItem:r,ctx:a}=e;l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let s=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("reset")},d=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("submit")},u=(null==a||null==(t=a.model)?void 0:t.translate)||(e=>e);return(0,o.jsxs)("form",{onSubmit:e=>{e.preventDefault(),d()},children:[(0,o.jsx)(i.I,{value:l,FilterItem:r}),(0,o.jsxs)(n.Space,{style:{width:"100%",display:"flex",justifyContent:"flex-end"},children:[(0,o.jsx)(n.Button,{htmlType:"button",onClick:s,children:u("Reset")}),(0,o.jsx)(n.Button,{type:"primary",htmlType:"submit",children:u("Submit")})]})]})},{displayName:"FilterContent"})},5886(e,t,l){l.d(t,{I:()=>c});var o=l(1178),n=l(2113),i=l(2793),r=l(7843);l(1649);var a=l(504);let s=new WeakMap,d=0,u=e=>{let t=s.get(e);return t||(d+=1,t=`filter-item-${d}`,s.set(e,t)),t},c=(0,a.observer)(e=>{let{token:t}=i.theme.useToken(),{value:l={logic:"$and",items:[]},FilterItem:a,showBorder:s=!1,onRemove:d,onChange:p,closeIcon:m=(0,o.jsx)(n.CloseCircleOutlined,{style:{color:t.colorIcon}})}=e,{t:h}=(0,r.useTranslation)();l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let{logic:f,items:g}=l,y=s?{position:"relative",border:`1px dashed ${t.colorBorder}`,padding:t.paddingSM,marginBottom:t.marginXS,borderRadius:t.borderRadius}:{position:"relative",marginBottom:t.marginXS},v=e=>{l.logic=e,null==p||p(l)},_=()=>{g.push({path:"",operator:"",value:""}),null==p||p(l)},b=()=>{g.push({logic:"$and",items:[]}),null==p||p(l)},x=e=>{g.splice(e,1),null==p||p(l)},M=e=>"path"in e||"operator"in e||"value"in e,w=e=>"logic"in e&&"items"in e;return(0,o.jsxs)("div",{style:y,children:[s&&d&&(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{position:"absolute",right:10,top:10,cursor:"pointer",background:"transparent",border:0,padding:0},onClick:d,children:m}),(0,o.jsx)("div",{style:{marginBottom:8,color:t.colorText},children:(0,o.jsxs)("span",{children:[h("Meet")," ",(0,o.jsxs)(i.Select,{"data-testid":"filter-select-all-or-any",style:{width:"auto"},value:f,onChange:v,children:[(0,o.jsx)(i.Select.Option,{value:"$and",children:h("All")}),(0,o.jsx)(i.Select.Option,{value:"$or",children:h("Any")})]})," ",h("conditions in the group")]})}),(0,o.jsx)("div",{children:g.map((e,n)=>w(e)?(0,o.jsx)(c,{value:e,FilterItem:a,showBorder:!0,onRemove:()=>x(n),onChange:e=>{g[n]=e,null==p||p(l)}},u(e)):M(e)?a?(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)(a,{value:e}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsxs)("span",{children:[e.path," ",e.operator," ",String(e.value)]}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)("span",{style:{color:t.colorTextTertiary},children:"Invalid filter item"}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)))}),(0,o.jsxs)(i.Space,{size:16,style:{marginTop:8,marginBottom:8},children:[(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:_,children:h("Add condition")}),(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:b,children:h("Add condition group")})]})]})},{displayName:"FilterGroup"})},937(e,t,l){l.d(t,{H:()=>o});let o=(e,t,l,o)=>e.map(e=>n(e,t,l,o)).filter(Boolean),n=(e,t,l,n)=>{var i;if(l.length&&1===t&&l.includes(e.name)||!e.interface||!1===e.filterable)return;let r=e.getInterfaceOptions();if(!(null==r?void 0:r.filterable))return;let{nested:a,children:s,operators:d}=r.filterable,u={name:e.name,type:e.type,target:e.target,title:n(e.title),schema:null==e?void 0:e.uiSchema,operators:((null==d||null==(i=d.filter)?void 0:i.call(d,t=>!(null==t?void 0:t.visible)||t.visible(e)))||[]).map(e=>({...e,label:n(e.label)}))};if(!e.target||!(t>2)){if(t>2)return u;if((null==s?void 0:s.length)&&(u.children=s),a){let i=[];try{i=e.getFields().filter(e=>"attachments"!==e.target&&"formula"!==e.interface)}catch{i=[]}let r=o(i,t+1,l,n).filter(Boolean);u.children=u.children||[],u.children.push(...r)}return u}}},9078(e,t,l){l.d(t,{Ru:()=>D,I8:()=>n.I,qi:()=>u,oJ:()=>o.a,Et:()=>w,uw:()=>R.u});var o=l(8442),n=l(5886),i=l(1178),r=l(504),a=l(2793),s=l(1649),d=l(937);let u=(0,r.observer)(e=>{var t;let{path:l,operator:o,value:n}=e.value,r=e.model,u=(null==(t=r.context.blockModel.collection)?void 0:t.getFields().filter(e=>"attachments"!==e.target))||[],p=c(r.props.filterableFieldNames||[],u.map(e=>e.name)),m=r.translate,h=(0,d.H)(u.filter(e=>"attachments"!==e.target&&"formula"!==e.interface&&!["belongsTo","belongsToMany","hasOne","hasMany","oho","obo","m2o","o2m","m2m"].includes(e.type)),1,e.noIgnore?[]:p,m).filter(Boolean),f=(0,s.useMemo)(()=>{let e=h.find(e=>e.name===l);return(null==e?void 0:e.operators)||[]},[h,l]),g=t=>{var l;e.value.path=t;let o=h.find(e=>e.name===t);(null==o||null==(l=o.operators)?void 0:l.length)>0?e.value.operator=o.operators[0].value:e.value.operator="",e.value.value=""},y=t=>{e.value.operator=t},v=t=>{e.value.value=t.target.value};return(0,i.jsxs)(a.Space,{children:[(0,i.jsx)(a.Select,{style:{width:200},placeholder:m("Select field"),value:l||void 0,onChange:g,children:h.map(e=>(0,i.jsx)(a.Select.Option,{value:e.name,children:e.title},e.name))}),(0,i.jsx)(a.Select,{style:{width:120},placeholder:m("Select operator"),value:o||void 0,onChange:y,disabled:!l||0===f.length,children:f.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),(0,i.jsx)(a.Input,{style:{width:200},placeholder:m("Enter value"),value:n,onChange:v})]})},{displayName:"FilterItem"});function c(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}var p=l(6305),m=l(7583),h=l(6220),f=l(7309),g=l(7720),y=l(9210);let{DateFilterDynamicComponent:v}=(0,p.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");async function _(e){var t,l,o,n;let i=async e=>Array.isArray(e)?e:"function"==typeof e?await e():[];if(null==(l=e.getPropertyOptions)||null==(t=l.call(e,"collection"))?void 0:t.meta){let t=null==(n=e.getPropertyMetaTree)?void 0:n.call(e,"{{ ctx.collection }}");return await i(t)}let a=()=>(null==e?void 0:e.collection)??null,s=await (0,r.createEphemeralContext)(e,{defineProperties:{collection:{get:a,meta:(0,r.createCollectionContextMeta)(a,"Current collection")}}}),d=null==(o=s.getPropertyMetaTree)?void 0:o.call(s,"{{ ctx.collection }}");return await i(d)}function b(e,t){return"number"!=typeof t?e:(0,y.W)(e,{maxAssociationDepth:t})}function x(e,t,l,o){var n;let r=null==e?void 0:e["x-component"],s=(null==t||null==(n=t.uiSchema)?void 0:n["x-component-props"])||{},d=(null==e?void 0:e["x-component-props"])||{},u=(0,__rspack_external_lodash_merge_8f812c65.default)({},s,d),c=(0,f.di)(null==e?void 0:e.enum,l)||[],p={style:{width:200,...(null==u?void 0:u.style)||{}},placeholder:(null==u?void 0:u.placeholder)||l("Enter value"),...u},m=e=>{if("number"==typeof e||(null==u?void 0:u.stringMode)===!0&&"string"==typeof e)return e};return e=>{let{value:t,onChange:l,...n}=e||{};if("InputNumber"===r)return(0,i.jsx)(a.InputNumber,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("NumberPicker"===r)return(0,i.jsx)(h.NumberPicker,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("Switch"===r)return(0,i.jsx)(a.Switch,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e)});if("Select"===r)return(0,i.jsx)(a.Select,{options:c,...p,...n,value:(0,f.xO)(t,p),onChange:e=>null==l?void 0:l(e)});if("Checkbox"===r)return(0,i.jsx)(a.Checkbox,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e.target.checked)});if("Checkbox.Group"===r)return(0,i.jsx)(a.Checkbox.Group,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Radio.Group"===r)return(0,i.jsx)(a.Radio.Group,{...p,...n,value:Array.isArray(t)||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?t:void 0,onChange:e=>null==l?void 0:l(e.target.value)});if("Cascader"===r)return(0,i.jsx)(a.Cascader,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Input.TextArea"===r||"TextArea"===r)return(0,i.jsx)(a.Input.TextArea,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)});if("DateFilterDynamicComponent"===r)return(0,i.jsx)(v,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e)});if(r&&(null==o?void 0:o.getComponent)){let e=o.getComponent(r);if(e)return(0,i.jsx)(e,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e),style:{width:200,...p.style||{},...null==n?void 0:n.style}})}return(0,i.jsx)(a.Input,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)})}}function M(e){if(e&&"object"==typeof e){let l=e;if("function"==typeof l.preventDefault||l.nativeEvent||"target"in l){var t;let o=null==(t=l.target)?void 0:t.value;return void 0!==o?o:e}}return e}let w=(0,r.observer)(e=>{let{value:t,model:l,rightAsVariable:o,rightMetaTree:n,ignoreFieldNames:d,maxAssociationFieldDepth:u}=e,c=(0,r.useFlowViewContext)(),h=l.translate,{path:y,operator:v,value:w}=t,[S,k]=(0,s.useState)(null),F=(0,s.useCallback)(e=>{var t;return(0,p.w6)(e,l.context.dataSourceManager,null==(t=l.context.app)?void 0:t.dataSourceManager)},[l]),C=(0,s.useMemo)(()=>{var e,t;if(!S)return[];let l=S.interface?F(S.interface):void 0,o=null==S||null==(e=S.uiSchema)?void 0:e["x-filter-operators"];return((Array.isArray(o)&&o.length?o:null==l||null==(t=l.filterable)?void 0:t.operators)||[]).filter(e=>!e.visible||e.visible(S))},[F,S]);(0,s.useEffect)(()=>{if(!C.length)return;let e=m.default.find(C,e=>e.value===t.operator);if(e)t.noValue=!!e.noValue;else{let e=C[0];t.operator=e.value,t.value=!!e.noValue||void 0,t.noValue=!!e.noValue}},[C,t]);let A=(0,s.useMemo)(()=>C.map(e=>({value:e.value,label:"string"==typeof e.label?h(e.label):e.label})),[C,h]),P=(0,s.useCallback)((e,l)=>{let o=t.path||"",n=e||"",i=n!==o;t.path=n,i&&o&&(t.operator="",t.value=void 0,t.noValue=!1),l&&k(l)},[t]),T=(0,s.useMemo)(()=>({resolveValueFromPath:e=>(k(e),(null==e?void 0:e.paths.slice(1).join("."))||null),resolvePathFromValue(e){if(null==e)return;let t=String(e).trim();if(t)return["collection",...t.split(".")]}}),[]),j=(0,s.useCallback)(e=>{t.operator=e;let l=C.find(t=>t.value===e);(null==l?void 0:l.noValue)?(t.value=!0,t.noValue=!0):(t.value=void 0,t.noValue=!1)},[C,t]),I=(0,s.useMemo)(()=>C.find(e=>e.value===v),[C,v]),L=(0,s.useCallback)(e=>{var t,l;return(null==e||null==(t=e.options)?void 0:t.dataType)||(null==e?void 0:e.dataType)||(null==e?void 0:e.type)||(null==e||null==(l=e.uiSchema)?void 0:l.type)||"double"},[]),D=(0,s.useCallback)(e=>{switch(e){case"boolean":return"Switch";case"date":return"DateFilterDynamicComponent";case"integer":case"bigInt":case"double":case"decimal":case"number":return"InputNumber";default:return"Input"}},[]),R=(0,s.useMemo)(()=>{let e=(null==S?void 0:S.uiSchema)||{},t=(null==I?void 0:I.schema)||{},l=(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t);if((null==S?void 0:S.interface)==="formula"){let e={"x-read-pretty":!1,"x-component":D(L(S)),"x-component-props":{...l["x-component-props"]}};return(0,__rspack_external_lodash_merge_8f812c65.default)({},l,e)}return l},[S,I,D,L]),Y=s.default.useRef(null==R?void 0:R["x-component"]),E=null==R?void 0:R["x-component"],N=(0,s.useMemo)(()=>{let e=Y.current;Y.current=E;let l=void 0!==e&&e!==E;if(null==I?void 0:I.noValue)return w;if(l&&null!=w){t.value=void 0;return}return w},[E,w,t,I]),O=(0,s.useCallback)(e=>{t.value=M(e)},[t]),B=s.default.useRef(h);s.default.useEffect(()=>{B.current=h},[h]);let H=s.default.useCallback(e=>{var t;return(null==(t=B.current)?void 0:t.call(B,e))??e},[]),V=(0,s.useMemo)(()=>(0,f.di)(null==R?void 0:R.enum,H)||[],[R,H]),q=(0,s.useMemo)(()=>x(R,S,H,l.context.app),[R,S,H,l.context.app]),$=(0,s.useCallback)(()=>{let e=(0,g._H)(l.context.app,v,C),t="$in"===v||"$notIn"===v;if(e&&t){let{Comp:t,props:l}=e,o={...l},n=Array.isArray(o.options)?o.options:void 0;(!n||0===n.length)&&(null==V?void 0:V.length)&&(o.options=V);let r={flex:"1 1 40%",minWidth:160,maxWidth:"100%",...(0,g.VS)(o.style)},a=Array.isArray(N)&&N.every(e=>"string"==typeof e||"number"==typeof e)?N:"string"==typeof N?N.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)("div",{style:r,children:(0,i.jsx)(t,{...o,style:{width:"100%",...(0,g.VS)(o.style)},value:a,onChange:e=>O(e)})})}let o=q;return(0,i.jsx)("div",{style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},children:(0,i.jsx)(o,{value:N,onChange:e=>O(e)})})},[v,C,N,q,l.context.app,O,V]),z=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${h("Null")}>`,readOnly:!0})},[h]),K=(0,s.useMemo)(()=>async()=>{let e="function"==typeof n?await n():n??c.getPropertyMetaTree(),t=Array.isArray(e)?e:await e();return b([{title:h("Constant"),name:"constant",type:"string",paths:["constant"],render:q},{title:h("Null"),name:"null",type:"object",paths:["null"],render:z},...t],u)},[n,c,q,z,h,u]),U=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?q:"null"===l?z:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t="string"==typeof e?(0,r.parseValueToPath)(e):void 0;return t||["constant"]}}),[z,q]),G=(0,s.useMemo)(()=>async()=>{let e=await _(l.context),t=async e=>{let t=e.interface?F(e.interface):void 0,o=[],n=null==t?void 0:t.filterable,i=null==n?void 0:n.children;if(Array.isArray(i)&&i.length)for(let t of i){var r,a,s;let n=t.title||t.name,i=(null==(r=l.context)?void 0:r.t)?l.context.t(n):n;o.push({name:t.name,title:i,type:(null==(a=t.schema)?void 0:a.type)||"string",interface:(null==(s=t.schema)?void 0:s["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]})}if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=[...Array.isArray(e)?e:[],...o];return m.default.uniqBy(l,"name")}}}let d=[...Array.isArray(e.children)?e.children:[],...o];return{...e,children:d.length?d:e.children}},o=[];for(let l of e)o.push(await t(l));return b(o,u)},[F,l,u]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:y,metaTree:G,onChange:P,converters:T,showValueComponent:!1,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},onlyLeafSelectable:!0,placeholder:h("Select field"),ignoreFieldNames:d}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:h("Comparison"),value:v||void 0,onChange:j,children:A.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==I?void 0:I.noValue)&&(o?(0,i.jsx)(r.VariableInput,{value:N,onChange:e=>O(e),metaTree:K,converters:U,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:h("Enter value")}):$())]})});var S=l(1793);let{DateFilterDynamicComponent:k}=(0,p.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");function F(e,t){return"number"!=typeof t?e:(0,y.W)(e,{maxAssociationDepth:t})}function C(e,t,l){var o,n,r;let s=null==e?void 0:e["x-component"],d=(null==t||null==(o=t.uiSchema)?void 0:o["x-component-props"])||{},u=(null==e?void 0:e["x-component-props"])||{},c=(0,__rspack_external_lodash_merge_8f812c65.default)({},d,u),p=Array.isArray(null==t||null==(n=t.uiSchema)?void 0:n.enum)?null==t||null==(r=t.uiSchema)?void 0:r.enum:void 0,m=(0,f.di)(p,l),g={style:{width:200,...(null==c?void 0:c.style)||{}},placeholder:(null==c?void 0:c.placeholder)||l("Enter value"),...c};return e=>{let{value:t,onChange:o,...n}=e||{};if("InputNumber"===s)return(0,i.jsx)(a.InputNumber,{...g,...n,value:t,onChange:o});if("NumberPicker"===s)return(0,i.jsx)(h.NumberPicker,{...g,...n,value:t,onChange:o});if("Switch"===s)return(0,i.jsx)(a.Switch,{...g,...n,checked:!!t,onChange:o});if("Select"===s){let e=g;return Array.isArray(null==e?void 0:e.options)&&e.options.length>0?e={...e,options:(0,f.ZY)(e.options,l)}:m&&(e={...e,options:m}),(0,i.jsx)(a.Select,{...e,...n,value:(0,f.xO)(t,e),onChange:o})}return"DateFilterDynamicComponent"===s?(0,i.jsx)(k,{...g,...n,value:t,onChange:o}):(0,i.jsx)(a.Input,{...g,...n,value:t,onChange:e=>{var t;return null==o?void 0:o(null==e||null==(t=e.target)?void 0:t.value)}})}}let A=[{value:"$includes",label:"contains",selected:!0},{value:"$notIncludes",label:"does not contain"},{value:"$eq",label:"is"},{value:"$ne",label:"is not"},{value:"$empty",label:"is empty",noValue:!0},{value:"$notEmpty",label:"is not empty",noValue:!0}],P=new Set(["$in","$notIn"]);function T(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[];if(!o.length)return l;let n=o.find(e=>(null==e?void 0:e.name)==="item");if(!n)return[...o,...l];let i=(0,S.mD)(l,[n]);return[...o.filter(e=>(null==e?void 0:e.name)!=="item"),...i]}function j(e,t){var l,o;return{name:t.name,title:t.title||t.name,type:(null==(l=t.schema)?void 0:l.type)||"string",interface:(null==(o=t.schema)?void 0:o["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]}}async function I(e,t){var l,o;let n=e.interface&&t?t(e.interface):void 0,i=(Array.isArray(null==n||null==(l=n.filterable)?void 0:l.children)?null==n||null==(o=n.filterable)?void 0:o.children:[]).map(t=>j(e,t)),r=async e=>{let l=[...await Promise.all(e.map(e=>I(e,t))),...i];return(0,__rspack_external_lodash_uniqBy_85106929.default)(l,e=>e.name)};if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=Array.isArray(e)?e:[];return await r(l)}}}return Array.isArray(e.children)?{...e,children:await r(e.children)}:i.length?{...e,children:i}:e}async function L(e,t){let l=Array.isArray(e)?e:[];return await Promise.all(l.map(e=>I(e,t)))}let D=(0,r.observer)(e=>{var t;let{value:l,model:o,extraMetaTree:n,maxAssociationFieldDepth:d}=e,u=(0,r.useFlowViewContext)(),c=o.translate,{path:m,operator:h,value:y}=l||{},[v,_]=(0,s.useState)(null),b=(0,s.useRef)(!1),x=(0,s.useMemo)(()=>{if(v){var e,t,l;let n=v.interface?(0,p.w6)(v.interface,o.context.dataSourceManager,null==(e=o.context.app)?void 0:e.dataSourceManager):void 0,i=null==v||null==(t=v.uiSchema)?void 0:t["x-filter-operators"];return((Array.isArray(i)&&i.length?i:null==n||null==(l=n.filterable)?void 0:l.operators)||A).filter(e=>!e.visible||e.visible(v)).map(e=>({value:e.value,label:e.label,noValue:!!e.noValue,schema:e.schema,selected:!!e.selected}))}return[]},[v,o]),M=(0,s.useMemo)(()=>x.map(e=>({value:e.value,label:"string"==typeof e.label?c(e.label):e.label})),[x,c]);(0,s.useEffect)(()=>{if(0!==x.length){if(!h){if(b.current){let e=x.find(e=>e.selected)||x[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1,b.current=!1}return}if(!x.some(e=>e.value===h)){let e=x.find(e=>e.selected)||x[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1}}},[x,h,l]);let w=(0,s.useMemo)(()=>x.find(e=>e.value===h),[x,h]),S=(0,s.useMemo)(()=>{let e=(null==v?void 0:v.uiSchema)||{},t=(null==w?void 0:w.schema)||{};return(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t)},[v,w]),k=(0,s.useRef)(c);(0,s.useEffect)(()=>{k.current=c},[c]);let j=(0,s.useCallback)(e=>{var t;return(null==(t=k.current)?void 0:t.call(k,e))??e},[]),I=(0,s.useMemo)(()=>C(S,v,j),[S,v,j]),D=(0,s.useMemo)(()=>(0,f.di)(null==S?void 0:S.enum,j)||[],[S,j]),R=(0,s.useMemo)(()=>{let e=(0,g._H)(o.context.app,h,x),t=P.has(h);if(!e||!t)return I;let{Comp:l,props:n}=e;return e=>{let{value:t,onChange:o,...r}=e||{},a={...n},s=Array.isArray(a.options)?a.options:void 0;(!s||0===s.length)&&D.length>0&&(a.options=D);let d=Array.isArray(t)?t:"string"==typeof t?t.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)(l,{...a,...r,value:d,onChange:o,style:{width:200,...(0,g.VS)(a.style),...(0,g.VS)(null==r?void 0:r.style)}})}},[D,o.context.app,x,h,I]),Y=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${c("Null")}>`,readOnly:!0})},[c]),E=(0,s.useMemo)(()=>async()=>{let e=T((null==o?void 0:o.context.getPropertyMetaTree())||u.getPropertyMetaTree(),n);return F([{title:c("Constant"),name:"constant",type:"string",paths:["constant"]},{title:c("Null"),name:"null",type:"object",paths:["null"]},...e],d)},[u,o,c,n,d]),N=(0,s.useCallback)(async()=>{var e,t;let l=(null==o||null==(t=o.context)||null==(e=t.getPropertyMetaTree)?void 0:e.call(t))||u.getPropertyMetaTree(),i=T(Array.isArray(l)?l:[],n),r=e=>{var t;return(0,p.w6)(e,o.context.dataSourceManager,null==(t=o.context.app)?void 0:t.dataSourceManager)};return F(await L(i,r),d)},[u,o,n,d]),O=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?R:"null"===l?Y:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t=(0,r.parseValueToPath)(e);return t||["constant"]}}),[Y,R]),B=(0,s.useCallback)((e,t)=>{let o=l.path||"",n=e||"",i=n!==o;l.path=n,i&&o&&(l.operator="",l.value="",b.current=!0),o||!n||l.operator||(b.current=!0),t&&_(t)},[l]),H=(0,s.useCallback)(e=>{let t=l.operator;l.operator=e;let o=x.find(t=>t.value===e);(null==o?void 0:o.noValue)?(l.value=!0,l.noValue=!0):(P.has(t)&&!P.has(e)&&Array.isArray(l.value)&&(l.value=l.value.join("\n")),l.noValue=!1)},[l,x]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:m,onChange:B,metaTree:N,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:c("Select variable"),onlyLeafSelectable:!0}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:c("Comparison"),value:h||void 0,onChange:H,children:M.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==(t=x.find(e=>e.value===h))?void 0:t.noValue)&&(0,i.jsx)(r.VariableInput,{value:y,onChange:e=>l.value=e,metaTree:E,converters:O,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:c("Enter value"),clearValue:""})]})});var R=l(8102)},9210(e,t,l){l.d(t,{W:()=>r});let o=new Set(["m2o","o2o","oho","obo","o2m","m2m","linkTo"]);function n(e){let t=(null==e?void 0:e.options)||{};return!!(t.target||t.targetCollection||t.foreignKey||t.through||o.has(String((null==e?void 0:e.interface)||"")))}function i(e,t,l){let o=n(e),i=t+ +!!o;if(o&&i>l)return null;let a=e=>Array.isArray(e)?r(e,{associationDepth:i,maxAssociationDepth:l}):async()=>{let t=await e();return r(Array.isArray(t)?t:[],{associationDepth:i,maxAssociationDepth:l})};return{...e,children:e.children?a(e.children):void 0}}function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{associationDepth:l=0,maxAssociationDepth:o=2}=t;return Array.isArray(e)?e.map(e=>i(e,l,o)).filter(Boolean):[]}},8102(e,t,l){l.d(t,{u:()=>r});var o=l(1649),n=l(937);let i=e=>e;function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{filterableFieldNames:l,nonfilterableFieldNames:r,noIgnore:a=!1,t:s=i}=t,d=(0,o.useMemo)(()=>(null==e?void 0:e.getFields())||[],[e]),u=(0,o.useMemo)(()=>{let e=!a&&(null==l?void 0:l.length)?d.map(e=>e.name).filter(e=>!l.includes(e)):[],t=r??[];return t.length?Array.from(new Set([...e,...t])):e},[d,l,r,a]);return(0,o.useMemo)(()=>(0,n.H)(d.filter(e=>"attachments"!==e.target&&"formula"!==e.interface),1,u,s).filter(Boolean),[d,u,s])}},8563(e,t,l){l.d(t,{b2:()=>n.b,tn:()=>o.t,S5:()=>n.S});var o=l(8804);l(1178),l(8533),l(8198),l(504),l(1649),l(7326),l(5721);var n=l(5026);l(9253),l(4244)},9378(e,t,l){l.d(t,{g:()=>m});var o=l(1178),n=l(1649);let i=l(7583).default.memoize(async e=>e?(await Promise.resolve().then(l.bind(l,248))).default.render(e):e);function r(e){let[t,l]=(0,n.useState)(""),[o,r]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{r(!0),i(e).then(e=>{l(e),r(!1)}).catch(e=>console.log(e))},[e]),{html:t,loading:o}}function a(e){let t=e,l=document.createElement("div");l.innerHTML=t;let o=l.innerText;return l=null,(null==o?void 0:o.replace(/[\n\r]/g,""))||""}var s=l(2741),d=l(691),u=l(504),c=l(2793);let p=()=>{let e=(0,u.useFlowContext)(),{token:t}=c.theme.useToken(),l=!!e.isDarkTheme,o=new s.TinyColor(t.colorFillAlter).onBackground(t.colorBgContainer).toHexShortString(),n={lineHeight:"inherit","&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},blockquote:{borderLeft:"4px solid #ccc",paddingLeft:"20px",marginLeft:"0",color:"#666",fontStyle:"italic"},img:{maxWidth:"100%"},".hljs":{background:"#f8f8f8",color:"#444"},".hljs-comment":{color:"#697070"},".hljs-punctuation,.hljs-tag":{color:"#444a"},".hljs-tag .hljs-attr,.hljs-tag .hljs-name":{color:"#444"},".hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag":{fontWeight:700},".hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type":{color:"#800"},".hljs-section,.hljs-title":{color:"#800",fontWeight:700},".hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable":{color:"#ab5656"},".hljs-literal":{color:"#695"},".hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code":{color:"#397300"},".hljs-meta":{color:"#1f7199"},".hljs-meta .hljs-string":{color:"#38a"},".hljs-emphasis":{fontStyle:"italic"},".hljs-strong":{fontWeight:700}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}},i={"&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},".hljs":{color:"#adbac7",background:"#22272e"},".hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_":{color:"#f47067"},".hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_":{color:"#dcbdfb"},".hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable":{color:"#6cb6ff"},".hljs-meta .hljs-string,.hljs-regexp,.hljs-string":{color:"#96d0ff"},".hljs-built_in,.hljs-symbol":{color:"#f69d50"},".hljs-code,.hljs-comment,.hljs-formula":{color:"#768390"},".hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag":{color:"#8ddb8c"},".hljs-subst":{color:"#adbac7"},".hljs-section":{color:"#316dca",fontWeight:700},".hljs-bullet":{color:"#eac55f"},".hljs-emphasis":{color:"#adbac7",fontStyle:"italic"},".hljs-strong":{color:"#adbac7",fontWeight:700},".hljs-addition":{color:"#b4f1b4",backgroundColor:"#1b4721"},".hljs-deletion":{color:"#ffd8d3",backgroundColor:"#78191b"}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return(0,d.css)({lineHeight:t.lineHeight,"& > *:last-child":{marginBottom:"0"},".ant-description-textarea, .ant-description-input":{lineHeight:t.lineHeight},".field-interface-datetime":{minWidth:"100px"},img:{maxWidth:"100%"},...l?i:n})},m=e=>{let{textOnly:t,overflowMode:l,style:i}=e,s=p(),{html:d=""}=r(e.value),u=a(d),m="ellipsis"===l,h=(0,n.useRef)(null),[f,g]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(h.current){let e=h.current;g(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight)}},[d,i,l]);let y={...i||{},...m?{display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-word",cursor:"default"}:{}},v=(0,o.jsx)("div",{ref:h,className:`${s} nb-markdown`,dangerouslySetInnerHTML:{__html:t?u:d},style:y});return m&&f?(0,o.jsx)(c.Tooltip,{title:(0,o.jsx)("div",{dangerouslySetInnerHTML:{__html:d},style:{maxHeight:500,overflowY:"auto",padding:10,color:"#000"}}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},color:"#fff",children:v}):v}},248(e,t,l){function o(e,t){function l(e){return e.split(/\s+/g)[0]}__rspack_external_mermaid.default.initialize({securityLevel:"loose",...t});let o=e.renderer.rules.fence;function n(e,t,n,i,r){let a=e[t],s=a.info.trim();if(-1===["mermaid","{mermaid}"].indexOf(s?l(s):""))return void 0!==o?o(e,t,n,i,r):"";let d="",u=[],c=document.createElement("div");document.body.appendChild(c);try{let e="mermaid-container";__rspack_external_mermaid.default.mermaidAPI.render(e,a.content,t=>{let l=document.getElementById(e);null!==l&&u.push(["style",`max-width:${l.style.maxWidth};max-height:${l.style.maxHeight}`]),d=t},c)}catch(e){return`<div class="alert alert-danger">${e}</div>`}finally{c.remove()}return u.push(["src",`data:image/svg+xml,${encodeURIComponent(d)}`]),`<img ${r.renderAttrs({attrs:u})}>`}e.renderer.rules.fence=n}l.d(t,{default:()=>i});let n=new __rspack_external_markdown_it_a5918e6a.default({html:!0,linkify:!0,typographer:!0,breaks:!0});n.use(__rspack_external_markdown_it_highlightjs_3df446b8.default),n.use(o);let i=n},7309(e,t,l){function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e.map(e=>{if(e&&"object"==typeof e&&!Array.isArray(e)){let t=e,l=void 0!==t.label,o=void 0!==t.value,n=l?t.label:String(t.value??""),i=o?t.value:n,r={label:n,value:i};return t.color&&(r.color=t.color),t.icon&&(r.icon=t.icon),r}return{label:String(e),value:e}}):[]}function n(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;return Array.isArray(e)?e.map(e=>"string"==typeof(null==e?void 0:e.label)?{...e,label:t(e.label)}:e):[]}function i(e,t){if(e&&Array.isArray(e)&&0!==e.length)return n(o(e),t)}function r(e,t){let l=null==t?void 0:t.mode,o="multiple"===l||"tags"===l||(null==t?void 0:t.multiple)===!0;return Array.isArray(e)?e.filter(e=>""!==e&&null!=e):""===e||null==e?o?[]:void 0:e}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(Array.isArray(e)?e:null==e?[]:[e]).map(e=>{var l;let o=t.find(t=>(null==t?void 0:t.value)===e);return o?{value:e,label:o.label}:{value:e,label:(null==e||null==(l=e.toString)?void 0:l.call(e))??e}})}function s(e,t){var l,n,i,r;if(!["radioGroup","checkboxGroup","select","multipleSelect"].includes(null==t?void 0:t.interface)||Array.isArray(null==(l=e.props)?void 0:l.options)&&(null==(i=e.props)||null==(n=i.options)?void 0:n.length)>0)return!1;let a=null==(r=t.uiSchema)?void 0:r.enum;if(!Array.isArray(a)||0===a.length)return!1;let s=o(a);return!!s.length&&(e.setProps({options:s}),!0)}l.d(t,{NI:()=>s,ZY:()=>n,di:()=>i,xO:()=>r,yg:()=>a})},9133(e,t,l){l.d(t,{E4:()=>i,Gj:()=>d,a_:()=>o,eo:()=>p,pX:()=>s,w7:()=>r});let o="__custom__";function n(e){return`${o}:${e}`}function i(e){var t;if(!e||"object"!=typeof e)return!1;let l=e;if(!(null==(t=l.isAssociationField)?void 0:t.call(l)))return!1;let o=l.type,n=l.interface;return"belongsToMany"===o||"hasMany"===o||"belongsToArray"===o||"m2m"===n||"o2m"===n||"mbm"===n}function r(e){var t;if(!e||"object"!=typeof e)return;let l=e;return l.collection||(null==(t=l.context)?void 0:t.collection)||void 0}function a(e){return"string"==typeof e?e.trim():""}function s(e){if(!e||"object"!=typeof e)return[];let t=e,l="function"==typeof t.getStepParams?t.getStepParams("fieldSettings","init"):void 0,o=l&&"object"==typeof l?l:void 0,i="function"==typeof t.getStepParams?t.getStepParams("formItemSettings","fieldSettings"):void 0,r=i&&"object"==typeof i?i:void 0,s=(null==o?void 0:o.fieldPath)??t.fieldPath,d=(null==o?void 0:o.associationPathName)??t.associationPathName,u=null==r?void 0:r.name,c=a(s),p=a(d),m=a(u),h=new Set;return c&&h.add(c),p&&(c?c.startsWith(`${p}.`)?h.add(c):h.add(`${p}.${c}`):h.add(p)),m&&h.add(n(m)),Array.from(h)}function d(e){return s(e)[0]}function u(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;if(!t||"object"!=typeof t)return[];let l=t.items;if(Array.isArray(l))return l;let o=t.grid;if(!o||"object"!=typeof o)return[];let n=o.subModels;if(!n||"object"!=typeof n)return[];let i=n.items;return Array.isArray(i)?i:[]}function c(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;return t&&"object"==typeof t?u(t.field):[]}function p(e,t){let l=a(t);if(!l)return null;let o=e=>{if(!Array.isArray(e))return null;for(let t of e){if(s(t).some(e=>e===l))return t;let e=o(c(t));if(e)return e}return null};return o(u(e))}},7720(e,t,l){l.d(t,{VS:()=>r,_H:()=>d,i2:()=>u,sI:()=>c});var o=l(1649),n=l(6832);function i(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function r(e){return i(e)?e:void 0}function a(e){return e}function s(e){var t;let l=a(e);l._reactiveWrapperCache=void 0,null==(t=l.setupReactiveRender)||t.call(l)}function d(e,t,l){let o;if(!l||!Array.isArray(l))return null;let r=l.find(e=>(null==e?void 0:e.value)===t),a=null==r?void 0:r.schema,s=null==a?void 0:a["x-component"];if(!s)return null;if("DateFilterDynamicComponent"===s)o=n.DateFilterDynamicComponent;else{var d;o=null==e||null==(d=e.getComponent)?void 0:d.call(e,s)}return o?{Comp:o,props:i(null==a?void 0:a["x-component-props"])?a["x-component-props"]:{}}:null}function u(e){let t=a(e);return!!t&&"function"==typeof t.__originalRender&&(t.render=t.__originalRender,s(t),!0)}function c(e){let{app:t,fieldModel:l,operator:n,operators:i,propsPriority:c="field",style:p}=e,m=a(l),h=d(t,n,i);if(!h)return u(m),!1;m.__originalRender||"function"!=typeof m.render||(m.__originalRender=m.render);let{Comp:f,props:g}=h,y=r(g.style);return m.render=()=>{let e=m.props||{},t=r(e.style),l="operator"===c?{...e,...g}:{...g,...e},n="operator"===c?{...t,...y}:{...y,...t},i={...p||{},...n};return o.default.createElement(f,{...l,...Object.keys(i).length>0?{style:i}:{},onCompositionStart:null,onCompositionEnd:null})},s(m),!0}},544(e,t,l){l.d(t,{ON:()=>i,jI:()=>n});let o="__saveStepParamsWithSubModels";function n(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");e[o]=!0}async function i(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");let l=e;if(!0!==l[o])return await t();if("function"!=typeof l.save)throw Error("[saveStepParamsWithSubModels] model.save is not a function");try{return await l.save()}finally{delete l[o]}}},7827(e,t,l){l.d(t,{S0:()=>r.S0,_T:()=>r._T,s5:()=>r.s5});var o=l(504),n=l(6305);l(1649);var i=l(2542),r=l(5042);r.S0.registerFlow({key:"buttonSettings",title:(0,o.tExpr)("Button settings"),sort:-999,steps:{general:{title:(0,o.tExpr)("Edit button"),uiSchema:e=>({title:e.model.enableEditTitle?{"x-decorator":"FormItem","x-component":"Input",title:(0,o.tExpr)("Button title")}:void 0,tooltip:e.model.enableEditTooltip?{"x-decorator":"FormItem","x-component":"Input",title:(0,o.tExpr)("Button tooltip")}:void 0,icon:e.model.enableEditIcon?{"x-decorator":"FormItem","x-component":"IconPicker",title:(0,o.tExpr)("Button icon")}:void 0,iconOnly:e.model.enableEditIcon?{"x-decorator":"FormItem","x-component":"Switch",title:(0,o.tExpr)("Icon only")}:void 0,type:e.model.enableEditType?{"x-decorator":"FormItem","x-component":"Radio.Group",title:(0,o.tExpr)("Button type"),enum:e.model.buttonTypeOptions}:void 0,danger:e.model.enableEditDanger?{"x-decorator":"FormItem","x-component":"Switch",title:(0,o.tExpr)("Danger action")}:void 0,color:e.model.enableEditColor?{"x-decorator":"FormItem","x-component":n.sk,title:(0,o.tExpr)("Color")}:void 0}),defaultParams(e){var t,l;let o=e.model.defaultProps||{};return e.model.enableEditColor?{...o,color:(null==(t=e.model.props)?void 0:t.color)??o.color??(null==(l=e.themeToken)?void 0:l.colorPrimary)}:o},handler(e,t){let{title:l,tooltip:o,...n}=t;e.model.setProps({title:e.t(l,{ns:"lm-flow-engine"}),tooltip:e.t(o,{ns:"lm-flow-engine"}),...n})}},linkageRules:{use:"actionLinkageRules"}}}),r.S0.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{use:"aclCheck"}}}),r.S0.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"},linkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"actionLinkageRules",flowKey:"buttonSettings",stepKey:"linkageRules"}}}}),r.S0.registerEvents({click:{title:(0,o.tExpr)("Click"),name:"click",uiSchema:{condition:{type:"object",title:(0,o.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":i.H}},handler:i.b}})},5042(e,t,l){l.d(t,{S0:()=>p,_T:()=>u,s5:()=>c});var o=l(1178),n=l(504),i=l(125),r=l(2793),a=l(7583),s=l(1649),d=l(7843);function u(e){let{t}=(0,d.useTranslation)(),l=(0,n.useFlowModel)(),i=l.context.blockModel,u=e.collection||i.collection,c=u.dataSource,p=(0,s.useMemo)(()=>{let e=`${t(c.displayName||c.key)} > `,l=u?`${t(u.title)||u.name||u.tableName} `:"";return`${e}${l}`},[]),{actionName:m}=(null==e?void 0:e.forbidden)||l.forbidden,h=(0,s.useMemo)(()=>t('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:p,actionName:t(a.default.capitalize(m))}).replaceAll("&gt;",">"),[m,p,t]);return(0,o.jsx)(r.Tooltip,{title:e.message||h,children:e.children})}let c={collection:"collection",record:"record",all:["collection","record"],both:["collection","record"]};class p extends n.FlowModel{static _getScene(){return a.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getAclActionName(){return null}onInit(e){super.onInit(e),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1})}getInputArgs(){let e={},t=[];if(this.context.resource){let l=this.context.resource.getSourceId();l&&(e.sourceId=l,t.push("sourceId"))}if(this.context.collection&&this.context.record){let l=this.context.collection.getFilterByTK(this.context.record);l&&(e.filterByTk=l,t.push("filterByTk"))}return t.length&&(e.defaultInputKeys=t),e}onClick(e){this.dispatchEvent("click",{event:e,...this.getInputArgs()},{debounce:!0})}getTitle(){return this.props.title}getIcon(){return this.props.icon}renderButton(){let{iconOnly:e,...t}=this.props,l=this.getIcon()?(0,o.jsx)(i.In,{type:this.getIcon()}):void 0;return(0,o.jsx)(r.Button,{...t,onClick:this.onClick.bind(this),icon:l,children:e?null:t.children||this.getTitle()})}render(){return this.props.tooltip?(0,o.jsx)(r.Tooltip,{title:this.props.tooltip,children:this.renderButton()}):this.renderButton()}renderHiddenInConfig(){let{iconOnly:e,...t}=this.props,l=this.getIcon()?(0,o.jsx)(i.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,o.jsx)(u,{children:(0,o.jsx)(r.Button,{...t,onClick:this.onClick.bind(this),icon:l,style:{opacity:"0.3"},children:e?null:t.children||this.getTitle()})}):(0,o.jsx)(r.Tooltip,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,o.jsx)(r.Button,{...t,onClick:this.onClick.bind(this),icon:l,style:{opacity:"0.3"},children:e?null:t.children||this.getTitle()})})}constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,n.tExpr)("Action"),iconOnly:!1},this.enableEditTooltip=!0,this.enableEditTitle=!0,this.enableEditIcon=!0,this.enableEditType=!0,this.enableEditDanger=!0,this.enableEditColor=!1,this.buttonTypeOptions=[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Primary")}}'},{value:"dashed",label:'{{t("Dashed")}}'},{value:"link",label:'{{t("Link")}}'},{value:"text",label:'{{t("Text")}}'}]}}},3890(e,t,l){l.d(t,{P:()=>v,z:()=>_});var o=l(1178),n=l(2314),i=l(504),r=l(7583),a=l(1649),s=l(2793),d=l(8563),u=l(2542),c=l(7843),p=l(8804);function m(e){return"function"==typeof(null==e?void 0:e.getResourceSettingsInitParams)?e.getResourceSettingsInitParams():"function"==typeof(null==e?void 0:e.getStepParams)?e.getStepParams("resourceSettings","init"):void 0}function h(e,t){var l,o,n,i,r,a,s;let d=(null==e||null==(l=e.context)?void 0:l.blockModel)||e,u=m(d)||{},c=(null==d||null==(o=d.context)?void 0:o.collection)||(null==d?void 0:d.collection)||(null==e||null==(n=e.context)?void 0:n.collection),p=(null==c?void 0:c.dataSource)||(null==d||null==(i=d.context)?void 0:i.dataSource)||(null==d?void 0:d.dataSource)||(null==e?void 0:e.dataSource),h=(null==p?void 0:p.key)||(null==c?void 0:c.dataSourceKey)||u.dataSourceKey,f=(null==c?void 0:c.title)||(null==c?void 0:c.name)||(null==c?void 0:c.tableName)||(null==e||null==(r=e.resource)?void 0:r.resourceName)||(null==e||null==(s=e.resource)||null==(a=s.getResourceName)?void 0:a.call(s))||u.associationName||u.collectionName,g=p?t(p.displayName||p.key):h,y=f?`${t(f)||f}`:"",v=g?`${t(g)} > `:"";return{dataSourceName:g,nameValue:`${v}${y}`,isDataSourceUnavailable:!!(h&&!p)}}function f(e){let{dataSourceName:t}=e,{t:l}=(0,c.useTranslation)(),n=t?l('The data source "{{name}}" used by this block is disabled or unavailable. Enable the data source to display this block.',{name:t}):l("The data source used by this block is disabled or unavailable. Enable the data source to display this block.");return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"403",subTitle:n})})}let g=()=>{let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),{dataSourceName:l,isDataSourceUnavailable:n,nameValue:d}=(0,a.useMemo)(()=>h(t,e),[t,e]),{actionName:u}=t.forbidden||{},m=(0,a.useMemo)(()=>e('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:d,actionName:e(r.default.capitalize(u))}).replaceAll("&gt;",">"),[u,d,e]);return n?t.context.flowSettingsEnabled?(0,o.jsx)(f,{dataSourceName:l}):null:(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"403",subTitle:m})})};function y(){let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),{dataSourceName:l,isDataSourceUnavailable:n,nameValue:r}=(0,a.useMemo)(()=>h(t,e),[t,e]),d=(0,a.useMemo)(()=>e('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:e("Collection"),name:r,blockType:e("Block")}).replaceAll("&gt;",">"),[r,e]);return n?t.context.flowSettingsEnabled?(0,o.jsx)(f,{dataSourceName:l}):null:(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"404",subTitle:d})})}let v={new:"new",one:"one",many:"many",select:"select",filter:"filter",oam:["one","many"],subForm:"subForm",bulkEditForm:"bulkEditForm"};class _ extends i.FlowModel{setFilterActive(e,t){this.activeFilterSources.set(e,t)}hasActiveFilters(){let e=this.resource;if(e&&e.filter&&Object.keys(e.filter).length>0)return!0;for(let[,e]of this.activeFilterSources)if(e)return!0;return!1}removeFilterSource(e){this.activeFilterSources.delete(e)}getDataLoadingMode(){var e;let t=this.getStepParams("dataLoadingModeSettings");return(null==t||null==(e=t.dataLoadingMode)?void 0:e.mode)||"auto"}static _getScene(){return r.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getModelClassName(e){return Object.keys(this.customModelClasses).includes(e)?this.customModelClasses[e]:this._defaultCustomModelClasses[e]||e}renderHiddenInConfig(){return this.forbidden?(0,o.jsx)(g,{}):(0,o.jsx)(s.Tooltip,{title:this.context.t("The block is hidden and only visible when the UI Editor is active"),children:(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,style:{opacity:"0.3"},children:(0,o.jsx)(this.ObservedRenderComponent,{})})})}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineMethod("getModelClassName",e=>this.getModelClassName(e)),this.ObservedRenderComponent=(0,i.observer)(()=>this.renderComponent(),{displayName:"ObservedRenderComponent"})}setDecoratorProps(e){Object.assign(this.decoratorProps,e)}get title(){return this._title||(this._title=this.defaultBlockTitle()),this._title}defaultBlockTitle(){var e;return`${this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name)}`}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of BlockModel")}render(){return this.collectionRequired&&!this.context.collection?(0,o.jsx)(y,{}):(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,children:(0,o.jsx)(this.ObservedRenderComponent,{})})}constructor(...e){super(...e),this.decoratorProps=(0,n.observable)({}),this._defaultCustomModelClasses={},this.customModelClasses={},this.collectionRequired=!1,this.ObservedRenderComponent=null,this.activeFilterSources=new Map}}_.registerFlow({key:"cardSettings",title:(0,i.tExpr)("Card settings"),steps:{titleDescription:{title:(0,i.tExpr)("Title & description"),uiSchema:{title:{"x-component":"Input","x-decorator":"FormItem",title:(0,i.tExpr)("Title")},description:{"x-component":"Input.TextArea","x-decorator":"FormItem",title:(0,i.tExpr)("Description")}},handler(e,t){let l=e.t(t.title,{ns:"lm-flow-engine"}),o=e.t(t.description,{ns:"lm-flow-engine"});e.model.setDecoratorProps({title:l,description:o})}},linkageRules:{use:"blockLinkageRules"},blockHeight:{use:"blockHeight"}}}),_.define({hide:!0,label:(0,i.tExpr)("Other blocks")}),i.FlowModel.registerEvents({beforeRender:{title:(0,i.tExpr)("Before render"),name:"beforeRender",uiSchema:{condition:{type:"object",title:(0,i.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":u.H}},handler:u.b}})},9639(e,t,l){l.d(t,{U:()=>i});var o=l(504),n=l(7827);class i extends n.S0{}i.define({children:async e=>(await (0,o.buildSubModelItems)(n.S0)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(n.s5.collection))})},146(e,t,l){l.d(t,{t:()=>s});var o=l(504),n=l(7583),i=l(7123),r=l(8481),a=l(2606);class s extends a.R{onMount(){super.onMount(),this.previousBeforeRenderHash=this.context.location.search}getDirtyTrackingVersion(e,t,l,o){var n;let i=new Set,r=(null==l||null==(n=l.getResourceName)?void 0:n.call(l))||o.associationName||o.collectionName;r&&i.add(String(r)),o.associationName&&i.add(String(o.associationName)),o.collectionName&&i.add(String(o.collectionName));let a=0;for(let l of i)a+=e.getDataSourceDirtyVersion(t,l);return a}onActive(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.hidden&&this.previousBeforeRenderHash!==this.context.location.search&&(this.rerender(),!e)||this.hidden)return;let t=this.context.resource;if(!t)return;let l=this.getResourceSettingsInitParams(),o=t.getDataSourceKey()||l.dataSourceKey||"main",n=this.context.engine,i=this.getDirtyTrackingVersion(n,o,t,l);if(e){if(this.dirtyRefreshing)return;this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1});return}this.isManualRefresh||null!==this.lastSeenDirtyVersion&&i===this.lastSeenDirtyVersion||this.dirtyRefreshing||(this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1}))}static filterCollection(e){return!!e.filterTargetKey}static isCollectionAvailable(e){if(!e)return!1;let t=(0,r.b1)(this);return(0,r.F3)(e,t)}static async defineChildren(e){let t=t=>{var l;if(!(null==(l=this.meta)?void 0:l.createModelOptions))return t||{};if("function"==typeof this.meta.createModelOptions){let l=this.meta.createModelOptions(e);return n.default.merge({},l,t)}return n.default.merge({},this.meta.createModelOptions,t)},l=e=>this.name+e,{dataSourceKey:i,collectionName:r,associationName:a,filterByTk:s}=e.view.inputArgs,d=e.dataSourceManager.getDataSources().map(e=>0===e.getCollections().length?null:{key:l(`ds-${e.key}`),label:e.displayName,searchable:!0,searchPlaceholder:(0,o.tExpr)("Search"),children:o=>e.getCollections().map(o=>{if(!this.filterCollection(o)||!this.isCollectionAvailable(o))return null;let n={dataSourceKey:o.dataSourceKey,collectionName:o.name};return{key:l(`ds-${e.key}.${o.name}`),label:o.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}).filter(Boolean),u=e=>1===d.length?d[0].children(e):d;if(!r)return u(e);if(this._isScene("select")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=e.dataSourceManager.getCollection(i,r),s=[];return this.isCollectionAvailable(n)&&s.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),s.push({key:l("others-collections"),label:"Other collections",children:u(e)}),s}if(this._isScene("new")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=[],d=e.dataSourceManager.getCollection(i,r);return this.isCollectionAvailable(d)&&n.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),null!=s&&n.push({key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}),n.push({key:l("others-collections"),label:"Other collections",children:u(e)}),n}let c=[{key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)},{key:l("others-records"),label:"Other records",children:u(e)}];if(this._isScene("one")){let o=e.dataSourceManager.getCollection(i,r);if(!o||!this.filterCollection(o)||!this.isCollectionAvailable(o))return c;let n={dataSourceKey:i,collectionName:r,filterByTk:"{{ctx.view.inputArgs.filterByTk}}"};a&&(n.associationName=a,n.sourceId="{{ctx.view.inputArgs.sourceId}}"),c.unshift({key:l("current-record"),label:"Current record",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})})}return c}get dataSource(){return this.context.dataSource}get collection(){return this.context.collection}get resource(){return this.context.resource}get association(){return this.context.association}get associationField(){return this.context.association}getAclActionName(){return"view"}async getFilterFields(){return this.collection.getFields().filter(e=>e.filterable)}getResourceSettingsInitParams(){return this.getStepParams("resourceSettings","init")}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1}),this.context.defineProperty("resourceName",{get:()=>this.resource.getResourceName(),cache:!1}),this.context.defineProperty("dataSource",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getDataSource(e.dataSourceKey)}}),this.context.defineProperty("collection",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getCollection(e.dataSourceKey,e.collectionName)}}),this.context.defineProperty("resource",{get:()=>{let e=this.getResourceSettingsInitParams(),t=this.createResource(this.context,e);t.setDataSourceKey(e.dataSourceKey),t.setResourceName(e.associationName||e.collectionName);let l=()=>{var l;let o=this.context.engine;if(!(null==o?void 0:o.getDataSourceDirtyVersion))return;let n=(null==(l=t.getDataSourceKey)?void 0:l.call(t))||e.dataSourceKey||"main";this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(o,n,t,e)};return l(),t.on("refresh",()=>{l(),this.invalidateFlowCache("beforeRender")}),t}}),this.context.defineProperty("association",{get:()=>{let e=this.getResourceSettingsInitParams();if(e.associationName)return this.dataSource.getAssociation(e.associationName)}})}createResource(e,t){throw Error("createResource method must be implemented in subclasses of CollectionBlockModel")}refresh(){return this.resource?this.resource.refresh():super.refresh()}defaultBlockTitle(){var e,t,l,o;let n=this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name),r=this.getResourceSettingsInitParams(),a=this.dataSource,s=this.collection,d=(null==a?void 0:a.displayName)||(null==a?void 0:a.key)||(null==r?void 0:r.dataSourceKey),u=(null==(o=this.context)||null==(l=o.dataSourceManager)||null==(t=l.getDataSources)?void 0:t.call(l).length)||0,c=(null==s?void 0:s.title)||(null==s?void 0:s.name)||(null==r?void 0:r.collectionName)||"",p=a?this.association:void 0;if(p){let e=this.resource.getResourceName(),t=a.getCollection(e.split(".")[0]);return(0,i.l)({blockLabel:n,dsName:d,dsCount:u,collectionTitle:c,sourceCollectionTitle:null==t?void 0:t.title,associationTitle:p.title})}return(0,i.l)({blockLabel:n,dsName:d,dsCount:u,collectionTitle:c})}addAppends(e){var t,l;let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)if(e.includes(".")){let[l,n]=e.split("."),i=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${l}`);if(!i)return;let r=i.target;if(!r)return;let a=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${r}.${n}`);if(a&&a.isAssociationField()){if(this.resource.addAppends(e),(null==(t=a.targetCollection)?void 0:t.template)==="tree"){let t=e.includes(".")?e.slice(e.lastIndexOf(".")+1):e;a.name===t&&this.resource.addAppends(`${e}.parent(recursively=true)`)}o&&this.resource.refresh()}}else{if(!this.collection)return;let t=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${e}`);if(!t)return;t.isAssociationField()&&(this.resource.addAppends(t.name),(null==(l=t.targetCollection)?void 0:l.template)==="tree"&&this.resource.addAppends(`${t.name}.parent(recursively=true)`),o&&this.resource.refresh())}}constructor(...e){super(...e),this.isManualRefresh=!1,this.collectionRequired=!0,this.lastSeenDirtyVersion=null,this.dirtyRefreshing=!1}}s.registerFlow({key:"resourceSettings",sort:-999,steps:{collectionCheck:{handler(e){e.collection||e.exitAll()}},aclCheck:{use:"aclCheck"},init:{handler(e,t){if(!t.dataSourceKey)throw Error("dataSourceKey is required");if(!t.collectionName)throw Error("collectionName is required");Object.keys(t).includes("sourceId")&&e.resource.setSourceId(t.sourceId),Object.keys(t).includes("filterByTk")&&e.resource.setFilterByTk(t.filterByTk)}}}}),s.registerFlow({key:"refreshSettings",sort:1e4,steps:{refresh:{async handler(e){let t=e.model,l=e.model.context.filterManager,n=(null==l?void 0:l.prepareFiltersForTarget)?await l.prepareFiltersForTarget(e.model.uid):void 0;l&&l.bindToTarget(e.model.uid);let i=t.getDataLoadingMode(),r=t.resource;if(r instanceof o.MultiRecordResource&&"manual"===i&&!t.hasActiveFilters()){r.setData([]),r.setMeta({count:0,hasNext:!1,page:1}),r.loading=!1;return}null==n||n.forEach(t=>{var l;null==t||null==(l=t.markInitialTargetRefreshHandled)||l.call(t,e.model.uid)}),e.model.isManualRefresh?e.model.resource.loading=!1:await e.model.resource.refresh()}}}}),s.registerFlow({key:"dataLoadingModeSettings",sort:800,title:(0,o.tExpr)("Set data loading mode"),steps:{dataLoadingMode:{use:"dataLoadingMode"}}}),s.define({hide:!0})},2606(e,t,l){l.d(t,{R:()=>i});var o=l(504),n=l(3890);class i extends n.z{}i.define({hide:!0,label:(0,o.tExpr)("Data blocks"),async children(e){let t=await (0,o.buildSubModelItems)(i)(e),{collectionName:l,filterByTk:n,scene:r}=e.view.inputArgs;return t.filter(t=>{var o,i,a,s,d,u,c;let p=e.engine.getModelClass(t.useModel);return"select"===r?null==(s=p._isScene)?void 0:s.call(p,"select"):"subForm"===r?null==(d=p._isScene)?void 0:d.call(p,"subForm"):"bulkEditForm"===r?null==(u=p._isScene)?void 0:u.call(p,"bulkEditForm"):"new"===r||l&&!n?null==(c=p._isScene)?void 0:c.call(p,"new"):!p._isScene||!(null==(o=p._isScene)?void 0:o.call(p,"select"))&&!(null==(i=p._isScene)?void 0:i.call(p,"subForm"))&&!(null==(a=p._isScene)?void 0:a.call(p,"bulkEditForm"))})}})},6859(e,t,l){l.d(t,{o:()=>n});var o=l(504);class n extends o.FlowModel{static resolveUse(e,t,l){var o,n;let i=null==e||null==(n=e.stepParams)||null==(o=n.fieldBinding)?void 0:o.use;return i&&i!==(null==e?void 0:e.use)?i:null==e?void 0:e.use}}},1882(e,t,l){l.d(t,{L:()=>i});var o=l(504),n=l(7827);class i extends n.S0{}i.define({children:async e=>(await (0,o.buildSubModelItems)(n.S0)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(n.s5.record))})},3027(e,t,l){l.d(t,{GO:()=>b,KW:()=>M,Z1:()=>v,eu:()=>_,nF:()=>y,zL:()=>s});var o=l(1178),n=l(504),i=l(1649),r=l(9639),a=l(1882);let s="assignFieldValues";function d(e){let t=null==e?void 0:e.collection;return t&&"object"==typeof t?t:void 0}function u(e){let t=d(e),l=null==t?void 0:t.dataSourceKey,o=null==t?void 0:t.name;return l&&o?{dataSourceKey:l,collectionName:o}:void 0}function c(e,t){let l=(null==e?void 0:e.collection)||d(t),o=null==l?void 0:l.dataSourceKey,n=null==l?void 0:l.name;return o&&n?{dataSourceKey:o,collectionName:n}:void 0}function p(e){if(!e||"object"!=typeof e)return!1;let t=e;return"string"==typeof t.dataSourceKey&&!!t.dataSourceKey&&"string"==typeof t.collectionName&&!!t.collectionName}function m(e){return e&&"object"==typeof e?e:void 0}function h(e,t){var l,o,n;let i=m(e);i&&(null==(l=i._observableCache)||delete l[t],null==(o=i._cache)||delete o[t],null==(n=i._pending)||delete n[t])}function f(e){h(null==e?void 0:e.context,"dataSource"),h(null==e?void 0:e.context,"collection"),h(null==e?void 0:e.context,"resource"),h(null==e?void 0:e.context,"association")}function g(e){var t,l,o,n,i;if(e.model.assignFormUid){let t=null==(n=(i=e.engine).getModel)?void 0:n.call(i,e.model.assignFormUid,!0);if(t)return t}let r=null==(t=e.model.subModels)?void 0:t.assignForm;return r||(null==(l=(o=e.engine).findModelByParentId)?void 0:l.call(o,e.model.uid,"assignForm"))||void 0}function y(e){return{async:!0,use:"AssignFormModel",stepParams:{resourceSettings:{init:u(e)}}}}function v(e,t){var l,o;let n=(null==(l=(o=e.model).getStepParams)?void 0:l.call(o,t,s))||{};return{assignedValues:(null==n?void 0:n.assignedValues)||{}}}async function _(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"AssignFieldValues";try{return await (0,n.resolveRunJSObjectValues)(e,t)}catch(t){var o,i,r;return console.error(`[${l}] RunJS execution failed`,t),null==(r=e.message)||null==(i=r.error)||i.call(r,(null==(o=e.t)?void 0:o.call(e,"RunJS execution failed"))||"RunJS execution failed"),null}}function b(e,t){return t&&"object"==typeof t&&Object.keys(t).length?{...e,...t}:e}function x(e){let{model:t,blockModel:l}=(0,n.useFlowSettingsContext)(),d=t,u=(0,n.useFlowEngine)(),[m,h]=i.default.useState(null);return(0,i.useEffect)(()=>{let o=!1;return(async()=>{var n,i,m,g,y;let v=c(l,null==d?void 0:d.context),_=await u.loadOrCreateModel(v?{parentId:d.uid,subKey:"assignForm",use:"AssignFormModel",stepParams:{resourceSettings:{init:v}}}:{parentId:d.uid,subKey:"assignForm",use:"AssignFormModel"},{skipSave:!t.context.flowSettingsEnabled});if(o)return;if(p(v)){let e=null==(m=_.getStepParams)?void 0:m.call(_,"resourceSettings","init");p(e)&&e.dataSourceKey===v.dataSourceKey&&e.collectionName===v.collectionName||null==(y=_.setStepParams)||y.call(_,"resourceSettings","init",v),f(_),f(null==(g=_.subModels)?void 0:g.grid)}let b=(null==(n=d.getStepParams)?void 0:n.call(d,e.settingsFlowKey,s))||{};_.setInitialAssignedValues((null==b?void 0:b.assignedValues)||{});let x=t instanceof r.U&&!(t instanceof a.L);(e.clearRecordContext||x)&&(null==(i=_.context)?void 0:i.defineProperty)&&_.context.defineProperty("record",{get:()=>void 0,cache:!1}),h(_),d.assignFormUid=(null==_?void 0:_.uid)||d.assignFormUid})(),()=>{o=!0}},[d,l,u,t,t.context.flowSettingsEnabled,e.clearRecordContext,e.settingsFlowKey]),m?(0,o.jsx)(n.FlowModelRenderer,{model:m,showFlowSettings:!1}):null}function M(e){return{title:e.title||(0,n.tExpr)("Assign field values"),uiSchema:()=>({tip:e.tipComponent?{"x-decorator":"FormItem","x-component":e.tipComponent}:void 0,editor:{"x-decorator":"FormItem","x-component":()=>(0,o.jsx)(x,{settingsFlowKey:e.settingsFlowKey,clearRecordContext:e.clearRecordContext})}}),async beforeParamsSave(t,l,o){var n,i,r,a,d,u,c;let p=g(t);if(!p){let n=(null==l?void 0:l.assignedValues)||(null==o?void 0:o.assignedValues)||{};null==(a=(d=t.model).setStepParams)||a.call(d,e.settingsFlowKey,s,{assignedValues:n});return}e.validateBeforeSave&&await (null==(c=p.form)||null==(u=c.validateFields)?void 0:u.call(c));let m=(null==(n=p.getAssignedValues)?void 0:n.call(p))||{};null==(i=(r=t.model).setStepParams)||i.call(r,e.settingsFlowKey,s,{assignedValues:m})},handler(){}}}},6832(e,t,l){l.r(t),l.d(t,{DateFilterDynamicComponent:()=>_});var o=l(1178),n=l(1649),i=l(2793),r=l(691),a=l(504),s=l(6305),d=l(3526),u=l(7583);let c=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,p=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},m=e=>{let{value:t,picker:l="date",format:r,showTime:m,timeFormat:h}=e,f=(0,a.useFlowEngine)(),g=f.translate.bind(f),y=(0,s.fD)(),v=[{label:g("Today"),value:y.today},{label:g("Last week"),value:y.lastWeek},{label:g("This week"),value:y.thisWeek},{label:g("Next week"),value:y.nextWeek},{label:g("Last month"),value:y.lastMonth},{label:g("This month"),value:y.thisMonth},{label:g("Next month"),value:y.nextMonth},{label:g("Last quarter"),value:y.lastQuarter},{label:g("This quarter"),value:y.thisQuarter},{label:g("Next quarter"),value:y.nextQuarter},{label:g("Last year"),value:y.lastYear},{label:g("This year"),value:y.thisYear},{label:g("Next year"),value:y.nextYear},{label:g("Last 7 days"),value:y.last7Days},{label:g("Next 7 days"),value:y.next7Days},{label:g("Last 30 days"),value:y.last30Days},{label:g("Next 30 days"),value:y.next30Days},{label:g("Last 90 days"),value:y.last90Days},{label:g("Next 90 days"),value:y.next90Days}],_=t?(0,s.Pn)(null==t?void 0:t[0],l):l,b=_===l&&r?r:(0,d.getPickerFormat)(_),x="date"===_?c(b):b,M=(0,d.getDateTimeFormat)(_,x,m,h),w={utc:!0,presets:v,...e,format:M,picker:_,showTime:!!m&&{defaultValue:[(0,d.dayjs)("00:00:00","HH:mm:ss"),(0,d.dayjs)("23:59:59","HH:mm:ss")]}},S=(0,n.useMemo)(()=>u.default.castArray(e.value).map(e=>p(e,M)),[e.value,M]);return(0,o.jsx)(i.DatePicker.RangePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:S})},h=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,f=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},g=e=>{let{picker:t="date",format:l,showTime:r,timeFormat:u,onChange:c}=e,p=(0,a.useFlowContext)(),m=Array.isArray(e.value)?e.value[0]:e.value,g=m?(0,s.Pn)(m,t):t,[y,v]=(0,n.useState)(g),_=p.model.translate.bind(p.model),b=e=>{let o=e===t&&l?l:(0,d.getPickerFormat)(e),n="date"===e?h(o):o;return(0,d.getDateTimeFormat)(e,n,r,u)},x=(0,n.useMemo)(()=>b(y),[l,t,r,y,u]),M=(0,n.useMemo)(()=>f(m,x),[m,x]),w={utc:!0,inputReadOnly:p.isMobileLayout,...e,underFilter:!0,showTime:!!r&&{defaultValue:(0,d.dayjs)("00:00:00","HH:mm:ss")},format:x,picker:y};return(0,o.jsxs)(i.Space.Compact,{style:{width:"100%"},children:[(0,o.jsx)(i.Select,{style:{width:"100px"},popupMatchSelectWidth:!1,value:y,options:[{label:_("Date"),value:"date"},{label:_("Month"),value:"month"},{label:_("Quarter"),value:"quarter"},{label:_("Year"),value:"year"}],onChange:e=>{let t=b(e),l=x;if(v(e),!m||!c)return;let o=f(m,l);o&&o.isValid()&&c(o,o.format(t))}}),(0,o.jsx)(i.DatePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:M})]})},y=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=[{value:"exact",label:e("Exact day")},{value:"past",label:e("Past")},{value:"next",label:e("Next")},{value:"today",label:e("Today")},{value:"yesterday",label:e("Yesterday")},{value:"tomorrow",label:e("Tomorrow")},{value:"thisWeek",label:e("This Week")},{value:"lastWeek",label:e("Last Week")},{value:"nextWeek",label:e("Next Week")},{value:"thisMonth",label:e("This Month")},{value:"lastMonth",label:e("Last Month")},{value:"nextMonth",label:e("Next Month")},{value:"thisQuarter",label:e("This Quarter")},{value:"lastQuarter",label:e("Last Quarter")},{value:"nextQuarter",label:e("Next Quarter")},{value:"thisYear",label:e("This Year")},{value:"lastYear",label:e("Last Year")},{value:"nextYear",label:e("Next Year")}];return t&&l.splice(3,0,{value:"now",label:e("Now")}),l},v=e=>{let{isRange:t,defaultValue:l,onChange:i,...r}=e,a=(0,n.useCallback)((e,t)=>i(t),[i]);return t?(0,o.jsx)(m,{...r,onChange:a}):(0,o.jsx)(g,{...r,onChange:a})},_=e=>{let{value:t,onChange:l,includeNow:s=!1,...d}=e,u=(0,a.useFlowEngine)(),c=u.translate.bind(u),{token:p}=i.theme.useToken(),[m,h]=(0,n.useState)(!1),f=(0,n.useMemo)(()=>y(c,s),[c,s]),g=e=>{if(h(!1),"exact"===e)return l(void 0);let t={type:e};["past","next"].includes(e)&&(t.number=1,t.unit="day"),l(t)},_=()=>{let e=f.slice(0,3),t=f.slice(3),l=(0,r.css)`
166
166
  padding: 3px 10px;
167
167
  cursor: pointer;
168
168
  white-space: nowrap;
@@ -268,7 +268,7 @@ ${n}`,u)}}let o=T(e.issues.filter(e=>"runtime"===e.type)),n=o?`Key runtime issue
268
268
  overflow: hidden;
269
269
  }
270
270
  }
271
- `;let k=(0,p.createContext)(null);k.displayName="GlobalThemeContext";let F=()=>p.default.useContext(k)||{theme:{},isDarkTheme:!1},C=e=>{let{children:t,theme:l}=e,[o,n]=p.default.useState(l||b),i=(0,p.useRef)(null),r=(0,p.useRef)(null),a=(0,p.useMemo)(()=>{let e=null==o?void 0:o.algorithm;return Array.isArray(e)?e.includes(g.theme.darkAlgorithm):e===g.theme.darkAlgorithm},[null==o?void 0:o.algorithm]),d=(0,p.useCallback)(e=>{r.current=e?c.default.cloneDeep(e):e},[]),u=(0,p.useCallback)(()=>r.current,[]),m=(0,p.useCallback)(e=>{i.current=e?c.default.cloneDeep(e):e},[]),h=(0,p.useCallback)(()=>i.current,[]),f=(0,p.useMemo)(()=>({theme:w(o),setTheme:n,setCurrentSettingTheme:m,getCurrentSettingTheme:h,setCurrentEditingTheme:d,getCurrentEditingTheme:u,isDarkTheme:a}),[u,h,a,d,m,o]);return(0,s.jsx)(k.Provider,{value:f,children:(0,s.jsx)(g.ConfigProvider,{theme:x(f.theme),children:t})})};var A=__webpack_require__(3526);class P{async listTools(e){let{data:t}=await this.app.apiClient.resource("aiTools").list({filter:e}),l=null==t?void 0:t.data;return l?l.map(e=>({...e,...this.tools.get(e.definition.name)??{}})):[]}useTools(){let e=new A.Registry;for(let[l,o]of this.tools.getEntities()){var t;e.register(l,{...(null==(t=o.useHooks)?void 0:t.call(o))??o})}return e}registerTools(e,t){this.tools.register(e,{...t})}constructor(e,t=new A.Registry){this.app=e,this.tools=t}}class T{constructor(e){this.app=e,this.toolsManager=new P(this.app)}}let j=e=>new Map(e.map(e=>[e.definition.name,e]));var I=__webpack_require__(125),L=__webpack_require__(7520);let D=e=>null==e?"":"object"==typeof e?Array.isArray(e)?"["+e.map(D).join(",")+"]":"{"+Object.keys(e).sort().map(t=>`${t}:${D(e[t])}`).join(",")+"}":String(e),R=e=>{let{params:t,index:l}=e;return[D(t.viewUid),D(t.sourceId),D(t.filterByTk),String(l)].join("_")};function Y(e,t){let l=new Map,o=new Map;e.forEach(e=>{let t=R(e);l.set(t,e)}),t.forEach(e=>{o.set(R(e),e)});let n=[];l.forEach((e,t)=>{o.has(t)?o.get(t).hidden=e.hidden:n.push(e)});let i=[];return o.forEach((e,t)=>{l.has(t)||i.push(e)}),{viewsToClose:n,viewsToOpen:i}}let E=(0,u.defineFlow)({key:"popupSettings",title:(0,u.tExpr)("Popup settings"),on:"click",sort:300,steps:{openView:{use:"openView",hideInSettings:async e=>{var t,l,o,n;let i=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return!!e.collectionField&&(void 0===i?!(null==(n=e.collectionField)?void 0:n.isAssociationField())||e.disableFieldClickToOpen:!1===i)}}},defaultParams:e=>{var t,l,o,n,i,r,a,s;let d,u,c,p=e.collectionField,m=e.blockModel,h=null==(l=e.model)||null==(t=l.parent)?void 0:t.associationPathName,f=e.collection||(null==m?void 0:m.collection),g=e=>{var t;return!!(null==e||null==(t=e.isAssociationField)?void 0:t.call(e))},y=!g(p)&&h?null==f||null==(o=f.getFieldByPath)?void 0:o.call(f,h):void 0,v=g(p)?p:y;if(g(v)){let e=v.targetCollection;null==m||m.collection,d=null==e?void 0:e.name,u=null==e?void 0:e.dataSourceKey,c=null==v?void 0:v.resourceName}else p?(d=null==(n=e.collection)?void 0:n.name,u=null==(i=e.collection)?void 0:i.dataSourceKey,c=null==p?void 0:p.target):(d=null==(r=e.collection)?void 0:r.name,u=null==(a=e.collection)?void 0:a.dataSourceKey,c=null==(s=e.association)?void 0:s.resourceName);return{openView:{collectionName:d,associationName:c,dataSourceKey:u}}}}),N=e=>e.getStepParams("popupSettings","openView");class O extends u.FlowModel{}function B(e,t,l){return t.map((t,o)=>{let n,i=t.viewUid;return 0===o?(n=l,i=l.uid):n=e.getModel(t.viewUid,!0),{params:t,modelUid:i,model:n,hidden:u.observable.ref(!1),index:o}})}function H(e){let t=!1;for(let l=e.length-1;l>=0;l--){let o=e[l];"embed"!==V(o)||t?o.hidden.value=t:(t=!0,o.hidden.value=!1)}}function V(e){if(e.model instanceof O)return"embed";if(!e.model)return"drawer";let t=e.model.getStepParams("popupSettings","openView");return(null==t?void 0:t.mode)||"drawer"}O.registerFlow({key:"popupSettings",on:"click",steps:{openView:{use:"openView",defaultParams(e){var t;return{mode:"embed",preventClose:!0,pageModelClass:(null==(t=e.layout)?void 0:t.rootPageModelClass)||"RootPageModel"}}}}});let q=e=>null!=e&&""!==String(e),$=e=>`/${(e||"/admin").replace(/^\/+/,"").replace(/\/+$/,"")}`,z=e=>(null==e?void 0:e.startsWith("/"))?$(e):"";class K{setLayoutContentElement(e){this.layoutContentElement=e}registerPage(e,t){let l=this.getOrCreateRouteModel(e),o={pageUid:e,routeModel:l,meta:{active:!!t.active,refreshDesktopRoutes:t.refreshDesktopRoutes,layoutContentElement:t.layoutContentElement||null},viewState:{},prevViewList:[],hasStepNavigated:!1,forceStop:!1};return this.ensureRouteModelContext(o),this.runtimes.set(e,o),this.syncPageMeta(e,t),o.routeModel}syncPageMeta(e,t){let l=this.runtimes.get(e);if(!l)return;let o="boolean"==typeof t.active?t.active:void 0;l.meta={...l.meta,...t,active:l.meta.active,layoutContentElement:t.layoutContentElement??l.meta.layoutContentElement},"boolean"==typeof o&&this.setRuntimeActive(l,o)}unregisterPage(e){this.cleanupPage(e),this.runtimes.delete(e)}syncRoute(e){var t,l,o,n;if((null==e?void 0:e.layoutRouteName)&&(null==(t=this.layout)?void 0:t.routeName)&&e.layoutRouteName!==this.layout.routeName)return void this.runtimes.forEach(e=>{this.setRuntimeActive(e,!1)});let i=(null==e?void 0:e.pageUid)||(null==e||null==(l=e.layoutRoute)?void 0:l.pageUid)||(null==e||null==(o=e.params)?void 0:o.name),r=null==e?void 0:e.pathname,a=(null==e?void 0:e.layoutBasePathname)||(null==e||null==(n=e.layoutRoute)?void 0:n.basePathname);if(a&&(this.basePathname=$(a)),this.runtimes.forEach(e=>{this.setRuntimeActive(e,e.pageUid===i)}),!i||!r)return;this.runtimes.forEach(e=>{e.pageUid!==i&&(e.forceStop=!0)});let s=this.runtimes.get(i);s&&(s.forceStop=!1,this.syncRuntimeWithPathname(s,r))}cleanupPage(e){let t=this.runtimes.get(e);t&&(t.forceStop=!0,t.prevViewList.forEach(e=>{var l,o;this.flowEngine.removeModelWithSubModels(e.params.viewUid),null==(o=t.viewState[R(e)])||null==(l=o.destroy)||l.call(o),delete t.viewState[R(e)]}),t.prevViewList=[],t.hasStepNavigated=!1)}destroy(){Array.from(this.runtimes.keys()).forEach(e=>{this.cleanupPage(e),this.runtimes.delete(e)})}getCurrentRouteByPageUid(e){var t,l;return(null==(l=this.flowEngine.context.routeRepository)||null==(t=l.getRouteBySchemaUid)?void 0:t.call(l,e))||{}}setRuntimeActive(e,t){var l;let o=!!e.meta.active;e.meta.active=t,(null==(l=e.routeModel.context.pageActive)?void 0:l.value)!==t&&(e.routeModel.context.pageActive.value=t),this.syncViewListVisibility(e),o!==t&&this.notifyRuntimeActiveChange(e,t)}notifyRuntimeActiveChange(e,t){var l,o;let n=e.prevViewList[0];if(!n)return;let i=e.viewState[R(n)];if(t){null==i||null==(o=i.activate)||o.call(i,!0);return}null==i||null==(l=i.deactivate)||l.call(i)}syncRuntimeWithPathname(e,t){try{if(!this.basePathname)return;let o=(0,u.parsePathnameToViewParams)(t,{basePath:this.basePathname}),n=B(this.flowEngine,o,e.routeModel);if(this.shouldStepNavigate(e,n)){this.stepNavigate(n,0),e.hasStepNavigated=!0,this.scheduleInitialDeepLinkReplay(e,t);return}let{viewsToClose:i,viewsToOpen:r}=Y(e.prevViewList,n);if(i.length&&(i.forEach(t=>{var l,o;null==(o=e.viewState[R(t)])||null==(l=o.destroy)||l.call(o,!0),delete e.viewState[R(t)]}),H(n)),r.length&&this.handleOpenViews(e,n,r),0===i.length&&0===r.length){let t=n.at(-1);if(t){var l;null==(l=e.viewState[R(t)])||l.navigation.setViewStack(n.map(e=>e.params))}}e.prevViewList=[...n],this.syncViewListVisibility(e)}catch(e){console.error("[NocoBase] Failed to resolve view params to view list:",e)}}syncViewListVisibility(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.prevViewList;if(t.length){if(e.meta.active)return void H(t);t.forEach(e=>{e.hidden.value=!0})}}shouldStepNavigate(e,t){return 0===e.prevViewList.length&&t.length>1&&!e.hasStepNavigated}scheduleInitialDeepLinkReplay(e,t){Promise.resolve().then(()=>{e.forceStop||e.prevViewList.length>0||this.syncRuntimeWithPathname(e,t)}).catch(()=>{})}stepNavigate(e,t){e[t]&&(0===t?new u.ViewNavigation(this.flowEngine.context,[],{basePath:this.basePathname}).navigateTo(e[t].params,{replace:!0}):new u.ViewNavigation(this.flowEngine.context,e.slice(0,t).map(e=>e.params),{basePath:this.basePathname}).navigateTo(e[t].params),this.stepNavigate(e,t+1))}async handleOpenViews(e,t,l){let o=l.filter(e=>!e.model);o.length>0&&await Promise.all(o.map(async e=>{try{e.model=await this.flowEngine.loadModel({uid:e.modelUid})}catch(t){console.error(`[NocoBase] Failed to load model ${e.modelUid}:`,t)}})),e.forceStop||(this.syncViewListVisibility(e,t),this.openViews(e,t,l,0))}openViews(e,t,l,o){var n;if(!l[o])return;let i=l[o];if(!i.model)return;let r=p.default.createRef(),a=p.default.createRef(),s=p.default.createRef(),d=p.default.createRef(),c=N(i.model),m=(null==c?void 0:c.associationName)&&!q(i.params.sourceId)?null:null==c?void 0:c.associationName,h=t.slice(0,i.index).map(e=>e.params.viewUid),f=new u.ViewNavigation(this.flowEngine.context,t.slice(0,i.index+1).map(e=>e.params),{basePath:this.basePathname});i.model.dispatchEvent("click",{target:this.layoutContentElement||e.meta.layoutContentElement,collectionName:null==c?void 0:c.collectionName,associationName:m,dataSourceKey:null==c?void 0:c.dataSourceKey,destroyRef:r,updateRef:a,activateRef:s,deactivateRef:d,openerUids:h,...i.params,pageActive:e.meta.active,activationControlledByLayout:!0,navigation:f,onOpen:()=>{this.openViews(e,t,l,o+1)},hidden:i.hidden,isMobileLayout:!!(null==(n=this.layoutContext)?void 0:n.isMobileLayout),triggerByRouter:!0}),e.viewState[R(i)]={destroy:e=>{var t;return null==(t=r.current)?void 0:t.call(r)},update:e=>{var t;return null==(t=a.current)?void 0:t.call(a,e)},activate:e=>{var t;return null==(t=s.current)?void 0:t.call(s,e)},deactivate:()=>{var e;return null==(e=d.current)?void 0:e.call(d)},navigation:f}}ensureRouteModelContext(e){this.layoutContext&&e.routeModel.context.addDelegate(this.layoutContext),e.routeModel.context.pageActive||e.routeModel.context.defineProperty("pageActive",{value:u.observable.ref(!1),info:{description:"Whether current page route is active (keep-alive). This is an observable.ref<boolean> (use ctx.pageActive.value to read/write).",detail:"observable.ref<boolean>"}}),e.routeModel.context.defineProperty("currentRoute",{get:()=>this.getCurrentRouteByPageUid(e.pageUid),cache:!1}),e.routeModel.context.defineProperty("refreshDesktopRoutes",{get:()=>e.meta.refreshDesktopRoutes,cache:!1}),e.routeModel.context.defineProperty("layout",{get:()=>{var e;return this.layout||(null==(e=this.layoutContext)?void 0:e.layout)},cache:!1}),e.routeModel.context.defineProperty("layoutRoute",{get:()=>{var e;return null==(e=this.layoutContext)?void 0:e.layoutRoute},cache:!1}),e.routeModel.context.defineProperty("layoutContext",{get:()=>this.layoutContext,cache:!1})}getOrCreateRouteModel(e){let t=this.flowEngine.getModel(e);return t instanceof O?t:(t&&this.flowEngine.removeModelWithSubModels(e),this.flowEngine.createModel({uid:e,use:"RouteModel"}))}constructor(e,t={}){var l;this.runtimes=new Map,this.layoutContentElement=null,this.flowEngine=e,this.layout=t.layout,this.layoutContext=t.layoutContext,this.basePathname=t.basePathname||z(null==(l=t.layout)?void 0:l.routePath)||(t.layout?"":$())}}function U(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=l.basePathname||z(null==(t=l.layout)?void 0:t.routePath);return o?(0,u.parsePathnameToViewParams)(e,{basePath:o}):[]}function G(e){return`${e}.__page`}function W(e){return`${e}.__pageTab`}function J(e){return`${e}.__pageView`}function X(e){return`${e}.__pageTabView`}function Q(e){return[G(e),W(e),J(e),X(e)]}function Z(e,t){return!!t&&Q(e).includes(t)}let ee={routeName:"admin",routePath:"/admin",rootRouteName:"admin",uid:"admin-layout-model",layoutModelClass:"AdminLayoutModel",rootPageModelClass:"RootPageModel",childPageModelClass:"ChildPageModel",authCheck:!0},et=e=>`/${(e||"/admin").replace(/^\/+/,"").replace(/\/+$/,"")}`,el=e=>e&&"/"!==e?`/${e.replace(/^\/+/,"").replace(/\/+$/,"")}`:"/",eo=(e,t)=>{let l=el(e),o=et(t);return l===o?"":l.startsWith(`${o}/`)?l.slice(o.length+1):null},en=e=>(null==e?void 0:e.startsWith("/"))?et(e):"",ei=e=>["tab","filterbytk","sourceid"].includes(e),er=e=>{if(!e)return!0;let t=e.split("/").filter(Boolean);if(!t.length)return!0;let l=1;for(;l<t.length;){let e=t[l];if("view"===e){if(!t[l+1])return!1;l+=2;continue}if(!ei(e)||!t[l+1])return!1;l+=2}return!0};class ea extends u.FlowModel{registerRoutePage(e,t){this.routePageMetaMap.set(e,t);let l=this.getCoordinator().registerPage(e,t);return this.getCoordinator().syncRoute(this.getCurrentCoordinatorRouteLike()),l}updateRoutePage(e,t){let l=this.routePageMetaMap.get(e)||{active:!1},o={...l,...t,active:"boolean"==typeof t.active?t.active:l.active};this.routePageMetaMap.set(e,o),this.getCoordinator().syncPageMeta(e,t)}unregisterRoutePage(e){this.routePageMetaMap.delete(e),this.activePageUid===e&&(this.activePageUid=""),this.getCoordinator().unregisterPage(e)}setLayoutContentElement(e){this.layoutContentElement=e,this.getCoordinator().setLayoutContentElement(e)}setIsMobileLayout(e){this.isMobileLayout=!!e}getCurrentRouteByPageUid(e){var t,l;return(null==(l=this.flowEngine.context.routeRepository)||null==(t=l.getRouteBySchemaUid)?void 0:t.call(l,e))||{}}get layout(){return this.props.layout||{...ee,uid:this.uid||ee.uid}}getCoordinator(){return this.routeCoordinator||(this.routeCoordinator=this.createRouteCoordinator()),this.routeCoordinator}createRouteCoordinator(){return new K(this.flowEngine,this.getRouteCoordinatorOptions())}getRouteCoordinatorOptions(){return{layout:this.layout,layoutContext:this.context}}getPageUidFromRoute(e){var t,l;return(null==e?void 0:e.pageUid)?e.pageUid:(null==e||null==(t=e.layoutRoute)?void 0:t.type)==="page"?e.layoutRoute.pageUid:(null==e||null==(l=e.params)?void 0:l.name)||""}isLayoutContentRoute(e){if(null==e?void 0:e.layoutRouteName)return e.layoutRouteName===this.layout.routeName;let t=(null==e?void 0:e.name)||(null==e?void 0:e.id);return Z(this.layout.routeName,t)}resolveLayoutRoute(e){var t,l;let o=el(null==e?void 0:e.pathname),n=e.layoutBasePathname||en(this.layout.routePath),i=n?et(n):"";if(!i)return{type:"notFound",pathname:o,basePathname:"",relativePath:""};let r=eo(o,i);if(null===r)return{type:"notFound",pathname:o,basePathname:i,relativePath:""};if(!r)return{type:"root",pathname:o,basePathname:i,relativePath:r};if(!er(r))return{type:"notFound",pathname:o,basePathname:i,relativePath:r};let a=(0,u.parsePathnameToViewParams)(o,{basePath:i}),s=null==(t=a[0])?void 0:t.viewUid;return s?{type:"page",pathname:o,basePathname:i,relativePath:r,pageUid:s,tabUid:null==(l=a[0])?void 0:l.tabUid,viewStack:a}:{type:"notFound",pathname:o,basePathname:i,relativePath:r}}getPageUidFromLayoutRoute(e){return(null==e?void 0:e.type)==="page"?e.pageUid:""}syncLayoutRoute(e){if(!this.isLayoutContentRoute(e))return this.clearLayoutRoute(),null;let t=this.resolveLayoutRoute(e);return this.currentLayoutRoute=t,this.activePageUid=this.getPageUidFromLayoutRoute(t),this.getCoordinator().syncRoute({...e,layoutRouteName:this.layout.routeName,pageUid:this.activePageUid,pathname:t.pathname,layoutBasePathname:t.basePathname,layoutRoute:t}),t}clearLayoutRoute(e){var t,l;let o=(null==e?void 0:e.pathname)?el(e.pathname):"";o&&null!=(t=this.currentLayoutRoute)&&t.pathname&&o!==this.currentLayoutRoute.pathname||(this.currentLayoutRoute=null,this.activePageUid="",null==(l=this.routeCoordinator)||l.syncRoute({}))}onMount(){super.onMount(),this.setupContextBindings()}onUnmount(){this.teardownRuntime(),super.onUnmount()}setupContextBindings(){this.contextBindingsActive=!0,this.context.defineProperty("layoutContext",{get:()=>this.contextBindingsActive?this.context:void 0,cache:!1}),this.context.defineProperty("currentRoute",{get:()=>this.contextBindingsActive?this.getCurrentRouteByActivePage():{},cache:!1}),this.context.defineProperty("layoutContentElement",{get:()=>this.contextBindingsActive?this.layoutContentElement:null,cache:!1}),this.context.defineProperty("isMobileLayout",{get:()=>!!this.contextBindingsActive&&this.isMobileLayout,observable:!0,cache:!1}),this.context.defineProperty("layout",{get:()=>this.contextBindingsActive?this.layout:void 0,cache:!1}),this.context.defineProperty("layoutRoute",{get:()=>this.contextBindingsActive?this.currentLayoutRoute:void 0,observable:!0,cache:!1})}teardownRuntime(){var e;this.contextBindingsActive=!1,null==(e=this.routeCoordinator)||e.destroy(),this.routeCoordinator=void 0,this.routePageMetaMap.clear(),this.activePageUid="",this.currentLayoutRoute=null,this.layoutContentElement=null}getCurrentRouteByActivePage(){return this.activePageUid?this.getCurrentRouteByPageUid(this.activePageUid):{}}getCurrentCoordinatorRouteLike(){var e;return(null==(e=this.currentLayoutRoute)?void 0:e.type)==="page"?{layoutRouteName:this.layout.routeName,pageUid:this.currentLayoutRoute.pageUid,pathname:this.currentLayoutRoute.pathname,layoutBasePathname:this.currentLayoutRoute.basePathname,layoutRoute:this.currentLayoutRoute}:{}}constructor(e){super(e),this.isMobileLayout=!1,this.currentLayoutRoute=null,this.activePageUid="",this.layoutContentElement=null,this.routePageMetaMap=new Map,this.contextBindingsActive=!1,(0,d.define)(this,{isMobileLayout:d.observable.ref,currentLayoutRoute:d.observable.ref})}}function es(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{required:o=!1,create:n=!1,props:i,use:r}=l,a=e.getModel(t);if(!a&&n){let l=r;if(!l)throw Error(`[NocoBase] Cannot create layout model ${t} without model class.`);a=e.createModel({uid:t,use:l,props:i})}if(a&&i&&a.setProps(i),!a&&o)throw Error(`[NocoBase] FlowRoute requires layout model ${t}. Please render FlowRoute under Layout.`);return a}var ed=__webpack_require__(6305);function eu(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?e.startsWith("/")?e:`/${e}`:"/"}function ec(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?e.endsWith("/")?e:`${e}/`:"/"}function ep(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.replace(/\/+$/g,"")}function em(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.replace(/^\/+/,"")}function eh(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ef(e){return ec(eu(String(e||"/").trim()||"/"))}function eg(e){let t=eu(String(e||"/").trim()||"/").replace(/\/{2,}/g,"/");return"/"!==t&&t.endsWith("/")?ep(t):t}function ey(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?e.startsWith("?")?e:`?${e}`:""}function ev(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?e.startsWith("#")?e:`#${e}`:""}function e_(e,t){if(!t||"/"===t)return e;let l=eh(t),o=RegExp(`^${l.replace(/\/?$/,"")}(\\/|$)`);return e.replace(o,"/")||e}function eb(e){return ef(e.getPublicPath())}function ex(e){return ep(eb(e))||"/"}function eM(){return"u">typeof window?window:void 0}function ew(){let e=eM(),t=null==e?void 0:e.__nocobase_modern_client_prefix__;if("string"==typeof t&&t.trim())return em(ep(t.trim()));let l=null==e?void 0:e.__nocobase_public_path__;if("string"==typeof l&&l.trim()){let e=ep(l.trim()).split("/"),t=e[e.length-1];if(t)return t}return"v"}function eS(e){let t=ef(e),l=ew(),o=RegExp(`/${eh(l)}/?$`);return ef(t.replace(o,"/"))}function ek(e){var t,l;let o=null==(l=e.router)||null==(t=l.getBasename)?void 0:t.call(l);return o?ef(o):eb(e)}function eF(e,t){let l=ef(e),o=eg(t);return"/"===l?o:"/"===o?ep(l)||"/":eg(`/${em(l)}/${em(o)}`)}function eC(e){return eF(ek(e),"/signin")}function eA(e,t){var l,o;let n=eg(t);for(let t of[null==(o=e.router)||null==(l=o.getBasename)?void 0:l.call(o),ex(e)]){if(!t)continue;let e=eg(e_(n,t));if(e!==n)return e}return n}function eP(e){return eF(ek(e),"/admin")}function eT(e,t){let l=eA(e,(null==t?void 0:t.pathname)||"/"),o=ey((null==t?void 0:t.search)||""),n=ev((null==t?void 0:t.hash)||"");return`${eF(ek(e),l)}${o}${n}`}function ej(e,t){return`${eC(e)}?redirect=${encodeURIComponent(t)}`}function eI(e,t,l){let o=ej(e,t);if((null==l?void 0:l.replace)===!1){window.location.href=o;return}window.location.replace(o)}function eL(e,t){let l;if(!e)return null;try{l=new URL(e,window.location.origin)}catch(e){return null}return l.origin===window.location.origin&&new Set(["/signin",eC(t)]).has(l.pathname)?l.toString():null}let eD="[NocoBase] Admin route runtime target:",eR={runtimePath:null,navigationMode:"spa",isLegacy:!1,reason:"unsupportedRouteType"};function eY(e){let t=`/${String(e||"/").trim()||"/"}`.replace(/\/{2,}/g,"/");return"/"!==t&&t.endsWith("/")?t.replace(/\/+$/g,""):t}function eE(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",t=eY(e||"/");return t.endsWith("/")?t:`${t}/`}function eN(e){return!!(null==e?void 0:e.getPublicPath)&&eE(e.getPublicPath()).endsWith(`/${ew()}/`)}function eO(e,t){let l=eY(e),o=t&&"/"!==t?eY(t):"";return o?l===o?"/":l.startsWith(`${o}/`)?eY(l.slice(o.length)):l:l}function eB(e,t){let l=eE(e),o=eY(t);return"/"===l?o:"/"===o?l.replace(/\/+$/g,"")||"/":eY(`${l}${o.slice(1)}`)}function eH(e,t){return eB(ek(e),`/admin/${t}`)}function eV(e,t){let l=(null==t?void 0:t.search)?t.search.startsWith("?")?t.search:`?${t.search}`:"",o=(null==t?void 0:t.hash)?t.hash.startsWith("#")?t.hash:`#${t.hash}`:"";return`${e}${l}${o}`}function eq(e,t,l){null==e||e(eD,t,l)}function e$(e){return!!e&&("tabs"===e.type||!0===e.hideInMenu||!0===e.hidden)}function ez(e){return!!e&&!0!==e.hidden&&!0!==e.hideInMenu&&("flowPage"===e.type||"link"===e.type||"group"===e.type&&Array.isArray(e.children)&&e.children.some(e=>ez(e)))}function eK(e){if(Array.isArray(e)){for(let t of e)if(t&&!0!==t.hidden&&!0!==t.hideInMenu&&"tabs"!==t.type){if("flowPage"===t.type)return t;if("group"===t.type){let e=eK(t.children);if(e)return e}}}}function eU(e){if(Array.isArray(e)){for(let t of e)if(!e$(t)){if("page"===t.type||"flowPage"===t.type)return t;if("group"===t.type){let e=eU(t.children);if(e)return e}}}}function eG(e,t){let{app:l,preserveLocationState:o,location:n,log:i=console.warn}=e;return t.schemaUid?"flowPage"===t.type?{runtimePath:eH(l,t.schemaUid),navigationMode:"spa",isLegacy:!1,reason:"ok"}:eN(l)?{...eR,reason:"unsupportedV2Runtime"}:{runtimePath:o&&n?eV(eH(l,t.schemaUid),n):eH(l,t.schemaUid),navigationMode:"spa",isLegacy:!1,reason:"ok"}:(eq(i,"Missing schemaUid.",t),{...eR,reason:"missingSchemaUid"})}function eW(e){let{route:t,log:l=console.warn}=e;if(!t)return eR;if("page"===t.type||"flowPage"===t.type)return eG(e,t);if("group"===t.type){let l=eN(e.app)?eK(t.children):eU(t.children);return l?eW({...e,route:l}):{...eR,reason:"emptyGroup"}}return"link"!==t.type&&eq(l,"Unsupported route type.",t),eR}class eJ extends K{constructor(e,t={}){super(e,{basePathname:"/admin",...t})}}let eX="admin-layout-model";var eQ=__webpack_require__(2113);let eZ=220,e0=e=>{let{isMobile:t,closeMobileMenu:l,callback:o,delayMs:n=eZ}=e;t?(l(),window.setTimeout(o,n)):o()},e1=e=>{let{theme:t}=F();return(0,s.jsx)(g.ConfigProvider,{theme:{...t,inherit:!1},children:e.children})},e2=(0,p.createContext)(null);e2.displayName="NocoBaseRouteContext";let e5=(0,p.createContext)(null);e5.displayName="ParentRouteContext";let e8=(0,p.createContext)(null);e8.displayName="NavigateNoUpdateContext";let e4=()=>{let e=(0,p.useContext)(e8),t=(0,h.useNavigate)();return e||t},e3=()=>(0,h.useHref)("/");function e6(e,t){if(!t)return e;let l=e.indexOf("#"),o=l>=0,n=o?e.slice(0,l):e,i=o?e.slice(l+1):"",r=i.startsWith("/")||i.startsWith("!/");if(o&&r){let e=i.includes("?")?"&":"?";return`${n}#${i}${e}${t}`}let a=n.includes("?")?"&":"?";return o?`${n}${a}${t}#${i}`:`${n}${a}${t}`}function e9(e){if(c.default.isPlainObject(e)){let t={};return Object.keys(e).forEach(l=>{c.default.isPlainObject(e[l])||c.default.isArray(e[l])||c.default.isString(e[l])&&e[l].length>100||(t[l]=e[l])}),t}return c.default.isArray(e)?e.map(e=>c.default.isPlainObject(e)||c.default.isArray(e)?e9(e):e):e}function e7(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.origin;return e?(0,A.isURL)(e)?e:e.startsWith("/")?`${t}${e}`:`${t}/${e}`:""}function te(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.location.origin;return c.default.isString(e)?(0,A.isURL)(e)?void(e.startsWith(l)?t(e7(e.replace(l,""),"")):window.open(e,"_self")):void t(e7(e,"")):console.error("link should be a string")}let tt={display:"flex",alignItems:"center",gap:4},tl=e=>t=>{let{tooltip:l}=t;return l?(0,s.jsxs)("div",{style:tt,children:[(0,s.jsx)(e,{...t}),(0,s.jsx)(g.Tooltip,{title:l,children:(0,s.jsx)(eQ.QuestionCircleOutlined,{style:{zIndex:1}})})]}):(0,s.jsx)(e,{...t})},to=(0,p.createContext)({scopeId:"",type:""}),tn=e=>{let t=(0,p.useContext)(to),l=(0,p.useMemo)(()=>({scopeId:e.scopeId,type:e.type,parent:t}),[t,e.scopeId,e.type]);return(0,s.jsx)(to.Provider,{value:l,children:e.children})},ti=/^\s*\{\{\s*([\p{L}0-9_$-.]+?)\s*\}\}\s*$/u,tr=e=>"string"==typeof e&&ti.test(e),ta=(e,t)=>{let[l,o]=(0,p.useState)();return(0,p.useEffect)(()=>{let l=!0;return(async()=>{if(null==e||""===e){l&&o(void 0);return}if(!(null==t?void 0:t.resolveJsonTemplate)){l&&o(e);return}try{let n=await t.resolveJsonTemplate(e);if(!l)return;if("string"==typeof n&&""!==n.trim()&&Number.isFinite(Number(n)))return void o(Number(n));o(n)}catch(e){console.error(e)}})(),()=>{l=!1}},[t,e]),l};function ts(e){let{pageSchemaUid:t,tabSchemaUid:l,tabSchemaName:o}=e;return{type:"void","x-component":"Page",properties:{[o]:{type:"void","x-component":"Grid","x-initializer":"page:addBlock",properties:{},"x-uid":l,"x-async":!0}},"x-uid":t}}function td(e){let{pageSchemaUid:t}=e;return{type:"void","x-component":"FlowRoute","x-uid":t}}let tu=(e,t)=>`/admin/__admin_layout__/${e}/${encodeURIComponent(String(t))}`,tc={display:"flex",alignItems:"center",justifyContent:"space-between"},tp={display:"inline-flex",alignItems:"center",justifyContent:"center",marginLeft:8,color:"inherit"},tm=[{pattern:/^\$user(?:\.(.+))?$/,resolve:e=>`ctx.user${e[1]?`.${e[1]}`:""}`},{pattern:/^currentUser(?:\.(.+))?$/,resolve:e=>`ctx.user${e[1]?`.${e[1]}`:""}`},{pattern:/^\$nRole$/,resolve:()=>"ctx.role"},{pattern:/^\$nToken$/,resolve:()=>"ctx.token"},{pattern:/^\$nURLSearchParams(?:\.(.+))?$/,resolve:e=>`ctx.urlSearchParams${e[1]?`.${e[1]}`:""}`}],th=e=>"string"==typeof e&&e.includes("{{")?e.replace(/\{\{\s*([\s\S]*?)\s*\}\}/g,(e,t)=>{let l=String(t||"").trim();for(let e of tm){let t=l.match(e.pattern);if(t)return`{{ ${e.resolve(t)} }}`}return e}):e,tf=async e=>{let{context:t,href:l,params:o=[]}=e,n="string"==typeof l?th(l):l,i=await t.resolveJsonTemplate(n),r={};for(let{name:e,value:l}of o)if(e)try{let o="string"==typeof l?await t.resolveJsonTemplate(th(l)):l;if(null==o)continue;r[e]=e9(o)}catch(e){console.error(e)}return e6(String(i??l??""),__rspack_external_qs.default.stringify(r))},tg=async e=>{let{context:t,href:l,params:o,openInNewWindow:n,isMobile:i,closeMobileMenu:r,navigate:a,basenameOfCurrentRouter:s}=e;try{let e=await tf({context:t,href:l,params:o||[]});if(!1!==n){i&&r(),window.open(e,"_blank","noopener,noreferrer");return}e0({isMobile:!!i,closeMobileMenu:r,callback:()=>{te(e,a,window.location.origin+s)}})}catch(e){console.error(e),i&&r(),window.open(l,"_blank","noopener,noreferrer")}},ty=e=>!!e&&"function"==typeof e.getRoute,tv=(e,t)=>"function"==typeof e.context.t?e.context.t(t):t,t_=[{key:"group",label:"Group",menuType:"group"},{key:"flow-page",label:"Page",menuType:"flowPage"},{key:"link",label:"Link",menuType:"link"}],tb=(e,t)=>({uid:`${e.uid}-menu-creation-${(0,A.uid)()}`,use:"AdminLayoutMenuItemModel",props:{creationMeta:t}}),tx=(e,t)=>{let l=t=>tv(e,t),o=t?"sider":"header";return t_.map(n=>({key:n.key,label:l(n.label),createModelOptions:()=>tb(e,{menuType:n.menuType,source:o,parentRoute:t})}))},tM=e=>{let t=t=>tv(e.launcherModel,t);return(0,s.jsx)(u.AddSubModelButton,{model:e.launcherModel,subModelKey:"menuItems",items:tx(e.launcherModel,e.parentRoute),children:(0,s.jsx)(u.FlowSettingsButton,{"data-testid":e.testId,style:{background:"none"},icon:(0,s.jsx)(eQ.PlusOutlined,{}),children:t("Add menu item")})})},tw=e=>e.icon?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,s.jsx)(ed.In,{type:e.icon}),(0,s.jsx)("span",{children:e.title})]}):(0,s.jsx)(s.Fragment,{children:e.title}),tS=tl(e=>(0,s.jsx)(s.Fragment,{children:e.children})),tk=p.default.createContext({closeMobileMenu:()=>{}}),tF=p.default.createContext({inHeader:!1}),tC=(e,t,l)=>{var o;let[n,i]=(null==e||null==(o=e.split)?void 0:o.call(e,"||"))||[],r=[{label:l("Before"),value:"beforeBegin"},{label:l("After"),value:"afterEnd"}];return"group"!==i?r:[...r,{label:l("Inner"),value:"beforeEnd",disabled:void 0!==t&&String(t)===n}]};function tA(e,t,l){let o=t.id??t.schemaUid??t.menuSchemaUid??t.pageSchemaUid??t.title??`${t.type}-${l}`;return`${e}-menu-item-${t.type||"unknown"}-${o}`}function tP(e,t,l){let o=[...e.subModels.menuItems||[]],n=new Map(o.map(e=>[e.uid,e])),i=[],r=new Set;t.forEach((t,o)=>{let a=tA(e.uid,t,o),s=n.get(a),d=!!s;if(s||(s=e.addSubModel("menuItems",{uid:a,use:"AdminLayoutMenuItemModel",props:{route:t,parentRoute:l}})),s.sortIndex=o+1,d){var u;null==(u=s.syncFromRoute)||u.call(s,t,l)}i.push(s),r.add(a)}),o.forEach(t=>{r.has(t.uid)||e.flowEngine.removeModelWithSubModels(t.uid)}),e.subModels.menuItems=i}function tT(e,t){var l,o;if(!ty(e)||!ty(t))return;let n=null==(l=e.getRoute)?void 0:l.call(e),i=null==(o=t.getRoute)?void 0:o.call(t);if((null==n?void 0:n.id)&&(null==i?void 0:i.id)&&n.id!==i.id)return{sourceId:n.id,targetId:i.id,sortField:"sort"}}function tj(e,t){var l,o;if((null==(l=t.active)?void 0:l.id)&&(null==(o=t.over)?void 0:o.id))return tT(e.getModel(String(t.active.id)),e.getModel(String(t.over.id)))}let tI=e=>{var t,l,o,n,i,r,a,d,u;let{item:c}=e,m=ta(null==(l=c._route.options)||null==(t=l.badge)?void 0:t.count,null==(o=c._model)?void 0:o.context),f=e4(),y=e3(),{closeMobileMenu:v}=(0,p.useContext)(tk),_="string"==typeof c.name||"number"==typeof c.name?String(c.name):"string"==typeof(null==(n=c._route)?void 0:n.title)||"number"==typeof(null==(i=c._route)?void 0:i.title)?String(c._route.title):void 0,b=c._runtimePath,x=b?eO(b,y):b,M=(0,p.useCallback)(t=>{var l,o;if(!b){t.preventDefault(),t.stopPropagation();return}let n=0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented;if("document"===c._navigationMode){if(n)return;t.preventDefault(),t.stopPropagation(),e0({isMobile:!!(null==(o=e.options)?void 0:o.isMobile),closeMobileMenu:v,callback:()=>{window.location.assign(b)}});return}t.preventDefault(),t.stopPropagation(),e0({isMobile:!!(null==(l=e.options)?void 0:l.isMobile),closeMobileMenu:v,callback:()=>{x&&f(x)}})},[v,c,c._navigationMode,f,null==(r=e.options)?void 0:r.isMobile,b,x]),w=_?`${_}-landing-entry`:"group-landing-entry",S=e.children,k=b?"document"===c._navigationMode?(0,s.jsx)("a",{href:b,"aria-label":w,onClick:M,style:tp}):(0,s.jsx)(h.Link,{to:x||b,"aria-label":w,onClick:M,style:tp}):null;return(0,s.jsx)(e5.Provider,{value:c._parentRoute,children:(0,s.jsx)(e2.Provider,{value:c._route,children:(0,s.jsxs)("div",{"aria-label":_,role:"none",style:tc,children:[S,k,null!=m&&(0,s.jsx)(g.Badge,{...null==(a=c._route.options)?void 0:a.badge,count:m,style:{marginLeft:4,color:null==(u=c._route.options)||null==(d=u.badge)?void 0:d.textColor,maxWidth:"10em"},dot:!1})]})})})},tL=e=>{let{inHeader:t}=(0,p.useContext)(tF);return e.hidden||t?e.children:(0,s.jsx)(g.Tooltip,{title:e.title,placement:"right",children:(0,s.jsx)(g.Badge,{...e.badgeProps,style:{transform:"none",maxWidth:"10em"},dot:!1,children:e.children})})},tD=e=>{var t,l,o,n,i,r,a,d,u,c,m,f,y;let{item:v}=e,_=(0,h.useLocation)(),b=ta(null==(l=v._route.options)||null==(t=l.badge)?void 0:t.count,null==(o=v._model)?void 0:o.context),x=e4(),M=e3(),{closeMobileMenu:w}=(0,p.useContext)(tk),S=v.redirect||v.path,k=v._runtimePath||S,F=k?eO(k,M):k,C="document"===v._navigationMode,A={...null==(n=v._route.options)?void 0:n.badge,count:b},P=!!k&&C,T=e=>!e.defaultPrevented&&0===e.button&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,j=(0,p.useCallback)(async t=>{var l,o,n,i,r;let a=null==(l=v._route.options)?void 0:l.href,s=null==(o=v._route.options)?void 0:o.params,d=null==(n=v._route.options)?void 0:n.openInNewWindow;t.preventDefault(),t.stopPropagation(),await tg({context:null==(i=v._model)?void 0:i.context,href:a,params:s,openInNewWindow:d,isMobile:!!(null==(r=e.options)?void 0:r.isMobile),closeMobileMenu:w,navigate:x,basenameOfCurrentRouter:M})},[v,null==(i=e.options)?void 0:i.isMobile,w,x,M]),I=(0,p.useCallback)(t=>{var l,o,n;if(!k){t.preventDefault(),t.stopPropagation();return}if(C){if(!T(t))return;t.preventDefault(),t.stopPropagation(),e0({isMobile:!!(null==(n=e.options)?void 0:n.isMobile),closeMobileMenu:w,callback:()=>{window.location.assign(k)}});return}if(t.preventDefault(),t.stopPropagation(),!(null==(l=e.options)?void 0:l.isMobile)){F&&x(F);return}e0({isMobile:!!(null==(o=e.options)?void 0:o.isMobile),closeMobileMenu:w,callback:()=>{F&&x(F)}})},[null==(r=e.options)?void 0:r.isMobile,w,C,v,x,k,F]);if((null==(a=v._route)?void 0:a.type)==="link")return(0,s.jsx)(e5.Provider,{value:v._parentRoute,children:(0,s.jsx)(e2.Provider,{value:v._route,children:(0,s.jsxs)("div",{role:"none",style:tc,children:[(0,s.jsx)("div",{onClick:j,children:(0,s.jsx)(h.Link,{to:_.pathname,"aria-label":"string"==typeof v.name?v.name:void 0,children:e.children})}),null!=b&&(0,s.jsx)(g.Badge,{...null==(m=v._route.options)?void 0:m.badge,count:b,style:{marginLeft:4,color:null==(y=v._route.options)||null==(f=y.badge)?void 0:f.textColor,maxWidth:"10em"},dot:!1})]})})});let L=(0,s.jsx)(tL,{title:v.name,hidden:"group"===v._route.type||(v._depth||0)>0||!(null==(d=e.options)?void 0:d.collapsed),badgeProps:A,children:P?(0,s.jsx)("a",{href:k,"aria-label":"string"==typeof v.name?v.name:void 0,onClick:I,children:e.children}):k?(0,s.jsx)(h.Link,{to:F,"aria-label":"string"==typeof v.name?v.name:void 0,onClick:I,children:e.children}):(0,s.jsx)("span",{"aria-label":"string"==typeof v.name?v.name:void 0,children:e.children})});return(0,s.jsx)(e5.Provider,{value:v._parentRoute,children:(0,s.jsx)(e2.Provider,{value:v._route,children:(0,s.jsxs)("div",{role:"none",style:tc,children:[L,null!=b&&(0,s.jsx)(g.Badge,{...A,style:{marginLeft:4,color:null==(c=v._route.options)||null==(u=c.badge)?void 0:u.textColor,maxWidth:"10em"},dot:!1})]})})})},tR=e=>{var t;let{model:l}=e;if(!ty(l))return null;let o=null==(t=l.getRoute)?void 0:t.call(l);return(null==o?void 0:o.id)?(0,s.jsx)(u.DragHandler,{model:l}):null},tY=e=>{var t;let{item:l,dom:o,options:n,renderType:i}=e;if(!l||!i)return null;let r=(0,s.jsx)(tS,{tooltip:null==(t=l._route)?void 0:t.tooltip,children:o});return"group"===i?(0,s.jsx)(tn,{scopeId:l._route.schemaUid,type:"groupItem",children:(0,s.jsx)(tI,{item:l,options:n,children:r})}):(0,s.jsx)(tn,{scopeId:l._route.schemaUid,type:"menuItem",children:(0,s.jsx)(tD,{item:l,options:n,children:r})})},tE=e=>{let{depth:t,isMobile:l}=e;return t>1||l&&t>0},tN=()=>(0,s.jsx)("span",{"data-nb-hidden-menu-item":"true"}),tO=(0,u.observer)(e=>{let{model:t,item:l,dom:o,renderType:n,options:i}=e,r=t.context.themeToken;return((0,p.useEffect)(()=>{t.setProps({item:l,dom:o,renderType:n,options:i})},[o,l,t,i,n]),!t.context.flowSettingsEnabled&&t.hidden)?(0,s.jsx)(tN,{}):(0,s.jsx)(e1,{children:(0,s.jsx)(u.Droppable,{model:t,children:(0,s.jsx)(u.FlowModelRenderer,{model:t,showFlowSettings:{showBackground:!1,showBorder:!1,style:{left:-r.padding,right:-r.padding}},extraToolbarItems:[{key:"menu-drag-handler",component:tR,sort:1}]})})})});function tB(e,t,l){let o=(null==l?void 0:l.id)??(null==l?void 0:l.schemaUid)??(null==l?void 0:l.menuSchemaUid)??(null==l?void 0:l.title)??t.uid;return{key:"x-designer-button",name:(0,s.jsx)(tM,{testId:e,launcherModel:t,parentRoute:l}),path:tu("designer",o),disabled:!0,_route:{},_parentRoute:l,_launcherModel:t,icon:(0,s.jsx)(ed.In,{type:"setting"})}}let tH=(e,t,l)=>({name:l?(0,s.jsx)(tw,{icon:e.icon,title:t(e.title)}):t(e.title),icon:l?null:e.icon?(0,s.jsx)(ed.In,{type:e.icon}):null});var tV=__webpack_require__(4829),tq=__webpack_require__(8533),t$=__webpack_require__(7516);let tz=e=>({href:{title:e("URL"),type:"string","x-decorator":"FormItem","x-component":"FlowSettingsVariableTextArea","x-component-props":{rows:1,maxRows:1},description:e("Do not concatenate search params in the URL")},params:{type:"array",title:e("Search parameters"),"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:e("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":"FlowSettingsVariableTextArea","x-component-props":{placeholder:e("Value"),rows:1,maxRows:1,useTypedConstant:!0,changeOnSelect:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:e("Add parameter"),"x-component":"ArrayItems.Addition"}}},openInNewWindow:{type:"boolean","x-content":e("Open in new window"),"x-decorator":"FormItem","x-component":"Checkbox"}}),tK=async(e,t)=>{await e.request({method:"POST",url:"/uiSchemas:insert",data:t})},tU=e=>e&&"link"===e.menuType&&"insert"!==e.source?{openInNewWindow:!0}:{},tG=[{label:"Group",value:"group"},{label:"Page",value:"flowPage"},{label:"Link",value:"link"}],tW=e=>({title:{title:e("Menu item title"),required:!0,"x-decorator":"FormItem","x-component":"Input"},icon:{title:e("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}}),tJ=(e,t)=>Object.fromEntries(Object.entries(tz(e)).map(e=>{let[l,o]=e;return[l,{...o,"x-reactions":{dependencies:[t],fulfill:{state:{hidden:'{{$deps[0] !== "link"}}'}}}}]})),tX=e=>{var t,l,o;return{title:null==e?void 0:e.title,icon:null==e?void 0:e.icon,href:null==e||null==(t=e.options)?void 0:t.href,params:null==e||null==(l=e.options)?void 0:l.params,openInNewWindow:(null==e||null==(o=e.options)?void 0:o.openInNewWindow)!==!1}},tQ=(e,t)=>{let l=tW(e);return(null==t?void 0:t.menuType)==="link"&&Object.assign(l,tz(e)),l},tZ=e=>({menuType:{title:e("Menu type"),required:!0,enum:tG.map(t=>({label:e(t.label),value:t.value})),"x-decorator":"FormItem","x-component":"Radio.Group"},...tW(e),...tJ(e,"menuType")}),t0=e=>({title:e.title,hideInSettings:e.hideInSettings,defaultParams:async()=>({menuType:"flowPage"}),uiSchema:async e=>tZ(e.t),beforeParamsSave:async(t,l)=>{let o=t.model,n=o.getRoute();if(!n||e.canCreate&&!e.canCreate(n))return;let i=e.resolveParentRoute(t,n);await o.createMenuFromMeta({menuType:l.menuType,source:"insert",insertPosition:e.insertPosition,targetRoute:n,parentRoute:i},l)}}),t1=async(e,t)=>Promise.all((e||[]).filter(e=>"tabs"!==e.type).map(async e=>{var l,o;return{label:"string"==typeof e.title&&tr(e.title)?await (null==(l=t.resolveJsonTemplate)?void 0:l.call(t,e.title))??e.title:t.t(e.title),value:`${e.id}||${e.type}`,children:(null==(o=e.children)?void 0:o.length)?await t1(e.children,t):void 0}})),t2=(e,t)=>{if(t)for(let o=0;o<e.length;o++){var l;let n=e[o];if(n.id===t.id)return e[o-1];if(null==(l=n.children)?void 0:l.length){let e=t2(n.children,t);if(e)return e}}},t5=(e,t)=>{if(t)for(let o=0;o<e.length;o++){var l;let n=e[o];if(n.id===t.id)return e[o+1];if(null==(l=n.children)?void 0:l.length){let e=t5(n.children,t);if(e)return e}}},t8=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/";if(!e)return!1;let o=l&&"/"!==l?l.replace(/\/$/,""):"",n=o&&t.startsWith(o)?t.slice(o.length)||"/":t;return!![null!=e.id?`/admin/${e.id}`:null,e.schemaUid?`/admin/${e.schemaUid}`:null].filter(Boolean).some(e=>n===e||n.startsWith(`${e}/`))||!!Array.isArray(e.children)&&e.children.some(e=>t8(e,n,"/"))},t4=(e,t,l,o)=>"flowPage"===e?td({pageSchemaUid:t}):ts({pageSchemaUid:t,tabSchemaUid:l,tabSchemaName:o}),t3={beforeBegin:"insertBefore",afterEnd:"insertAfter"},t6=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={...e};return delete t.item,delete t.dom,delete t.options,delete t.renderType,t};class t9 extends u.FlowModel{onInit(e){super.onInit(e),this.syncFromRoute(this.props.route,this.props.parentRoute),this.shouldHydratePersistedState()&&this.hydratePersistedState()}syncFromRoute(e,t){(this.setProps({route:e,parentRoute:t}),(null==e?void 0:e.type)==="group")?tP(this,Array.isArray(e.children)?e.children:[],e):((this.subModels.menuItems||[]).forEach(e=>{this.flowEngine.removeModelWithSubModels(e.uid)}),delete this.subModels.menuItems)}getRoute(){return this.props.route}getParentRoute(){return this.props.parentRoute}getCreationMeta(){return this.props.creationMeta}isCreationSession(){var e;return!!(null==(e=this.getCreationMeta())?void 0:e.menuType)}shouldHydratePersistedState(){return!this.isCreationSession()&&(!!this.context.flowSettingsEnabled||this.hasPersistedMenuInstanceFlowFlag())}getRouteRepository(){return this.context.routeRepository}hasPersistedMenuInstanceFlowFlag(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getRoute();return(null==t||null==(e=t.options)?void 0:e.hasPersistedMenuInstanceFlow)===!0}getCurrentPersistedInstanceFlowCount(){return this.flowRegistry.getFlows().size}hasPersistableMenuLinkageRules(){let e=this.getStepParams("menuSettings","linkageRules");return Array.isArray(null==e?void 0:e.value)&&e.value.length>0}hasCurrentPersistedMenuState(){return this.getCurrentPersistedInstanceFlowCount()>0||this.hasPersistableMenuLinkageRules()}buildRouteOptionsWithPersistedFlowFlag(e){let t=this.getRoute(),l={...(null==t?void 0:t.options)||{}};return e?l.hasPersistedMenuInstanceFlow=!0:delete l.hasPersistedMenuInstanceFlow,Object.keys(l).length>0?l:void 0}async syncPersistedFlowRouteFlag(){if(this.isCreationSession())return;let e=this.getRoute();if((null==e?void 0:e.id)==null)return;let t=this.hasCurrentPersistedMenuState();if(this.hasPersistedMenuInstanceFlowFlag(e)===t)return;let l=this.buildRouteOptionsWithPersistedFlowFlag(t);await this.getRouteRepository().updateRoute(e.id,{options:l}),this.setProps({route:{...e,options:l}})}async destroyPersistedState(){var e,t;this.isCreationSession()||await (null==(t=this.flowEngine.modelRepository)||null==(e=t.destroy)?void 0:e.call(t,this.uid))}async hydratePersistedState(){if(!this.persistedStateHydrated)return this.persistedStateHydrating||(this.persistedStateHydrating=(async()=>{if(this.isCreationSession())return;let e=!1,t=this.flowEngine.modelRepository;if(!(null==t?void 0:t.findOne))return;let l=await t.findOne({uid:this.uid});if(null==l?void 0:l.uid){if(l.stepParams&&"object"==typeof l.stepParams&&(this.setStepParams(l.stepParams),e=this.hasPersistableMenuLinkageRules()),l.flowRegistry&&"object"==typeof l.flowRegistry){for(let e of[...this.flowRegistry.getFlows().keys()])this.flowRegistry.removeFlow(e);this.flowRegistry.addFlows(l.flowRegistry);let t=Object.values(l.flowRegistry).some(e=>{var t;return!!e&&!0!==e.manual&&(!e.on||("string"==typeof e.on?"beforeRender"===e.on:(null==(t=e.on)?void 0:t.eventName)==="beforeRender"))});e=e||t}e&&this.rerender()}})().finally(()=>{this.persistedStateHydrated=!0,this.persistedStateHydrating=void 0})),await this.persistedStateHydrating}hasPersistableInstanceFlows(){var e;let t=this.flowRegistry.getFlows().size,l=Object.keys((null==(e=this._options)?void 0:e.flowRegistry)||{}).length;return t>0||l>0}serialize(){let e=super.serialize();return e.props=t6(e.props),e}setHidden(e){let t=this.hidden;if(super.setHidden(e),t!==this.hidden){var l,o,n,i;null==(n=(i=this.flowEngine).getModel)||null==(o=n.call(i,eX))||null==(l=o.refreshMenuRouteTree)||l.call(o)}}renderHiddenInConfig(){let{item:e,dom:t,options:l,renderType:o}=this.props;return e&&o?(0,s.jsx)("div",{style:{opacity:.3},children:(0,s.jsx)(tY,{item:e,dom:t,options:l,renderType:o})}):null}async createMenuRoute(e,t){let{parentId:l,refreshAfterMutation:o=!0}=t||{},n={...e,parentId:l??e.parentId??void 0},i=o?void 0:{refreshAfterMutation:!1},{data:r}=await this.getRouteRepository().createRoute(n,i);return null==r?void 0:r.data}async createRouteForInsert(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:(()=>{var e;return(null==(e=this.getCreationMeta())?void 0:e.targetRoute)||this.getRoute()})(),o=await this.createMenuRoute(e,{parentId:"beforeEnd"===t?(null==l?void 0:l.id)||void 0:(null==l?void 0:l.parentId)||void 0,refreshAfterMutation:!1}),n=t3[t];if(n){try{await this.getRouteRepository().moveRoute({sourceId:null==o?void 0:o.id,targetId:null==l?void 0:l.id,sortField:"sort",method:n})}catch(e){throw await this.getRouteRepository().refreshAccessible(),e}return null==o?void 0:o.id}return await this.getRouteRepository().refreshAccessible(),null==o?void 0:o.id}async createMenuFromMeta(e,t){let l="flowPage"===e.menuType?"flowPage":"page"===e.menuType?"page":"group"===e.menuType?"group":"link",o=async t=>{var l;return e.insertPosition?this.createRouteForInsert(t,e.insertPosition,e.targetRoute):this.createMenuRoute(t,{parentId:null==(l=e.parentRoute)?void 0:l.id})};if("group"===e.menuType)return void await o({type:l,title:t.title,icon:t.icon,schemaUid:(0,A.uid)()});if("link"===e.menuType)return void await o({type:l,title:t.title,icon:t.icon,schemaUid:(0,A.uid)(),options:{href:t.href,params:t.params,openInNewWindow:t.openInNewWindow}});let n=(0,A.uid)(),i=(0,A.uid)(),r=(0,A.uid)(),a=(0,A.uid)();await o({type:l,title:t.title,icon:t.icon,schemaUid:n,menuSchemaUid:i,enableTabs:!1,children:[{type:"tabs",schemaUid:r,tabSchemaName:a,hidden:!0}]})}async persistMenuCreation(e){let t=this.getCreationMeta();t&&await this.createMenuFromMeta(t,e)}async updateMenuRoute(e){let t=this.getRoute();if((null==t?void 0:t.id)==null)return;let l={...e};e.options&&this.hasPersistedMenuInstanceFlowFlag(t)&&(l.options={...e.options,hasPersistedMenuInstanceFlow:!0}),await this.getRouteRepository().updateRoute(t.id,l),this.setProps({route:{...t,...l}})}async moveMenuRoute(e,t){var l,o,n,i,r;let a=this.getRoute(),[s,d]=(null==e||null==(l=e.split)?void 0:l.call(e,"||"))||[];if(s&&(null==a?void 0:a.id)!=null){if("beforeEnd"===t&&"group"!==d)throw Error((null==(n=this.context)||null==(o=n.t)?void 0:o.call(n,"Only groups support inner moves"))||"Only groups support inner moves");if("beforeEnd"===t&&String(a.id)===s)throw Error((null==(r=this.context)||null==(i=r.t)?void 0:i.call(r,"A menu group cannot be moved inside itself"))||"A menu group cannot be moved inside itself");await this.getRouteRepository().moveRoute({sourceId:a.id,sortField:"sort",method:"beforeEnd"===t?void 0:t3[t],..."beforeEnd"===t?{targetScope:{parentId:s}}:{targetId:s}})}}async saveStepParams(){if(this.isCreationSession()){if(this.creationPersisted)return!0;let e=this.getStepParams("menuCreation","basic");return await this.persistMenuCreation(e||{}),this.creationPersisted=!0,!0}return this.hasCurrentPersistedMenuState()?await super.saveStepParams():this.hasPersistedMenuInstanceFlowFlag()?await this.destroyPersistedState():this.hasPersistableInstanceFlows()&&await super.saveStepParams(),await this.syncPersistedFlowRouteFlag(),!0}async save(){if(this.isCreationSession()){if(!this.creationPersisted){let e=this.getStepParams("menuCreation","basic");await this.persistMenuCreation(e||{}),this.creationPersisted=!0}return this.remove(),!0}return await super.save(),await this.syncPersistedFlowRouteFlag(),!0}async destroy(){var e,t,l;if(this.isCreationSession())return this.remove();let o=this.getRoute();if(!(null==o?void 0:o.id))return!1;let n=this.getRouteRepository().listAccessible(),i=t8(o,(null==(e=this.context.location)?void 0:e.pathname)||window.location.pathname,null==(t=this.context.router)?void 0:t.basename),r=t2(n,o),a=t5(n,o);if(await this.getRouteRepository().deleteRoute(o.id),!i)return!0;let s=r||a;if(!s)return this.context.router.navigate("/"),!0;let d=eW({app:this.context.app,route:s});return!d.runtimePath||("document"===d.navigationMode?window.location.assign(d.runtimePath):this.context.router.navigate(eO(d.runtimePath,null==(l=this.context.router)?void 0:l.basename)),!0)}toProLayoutRoute(e){let t=this.props.route,l=this.props.parentRoute,o=e.depth||0;if(!t||"object"!=typeof t||!e.designable&&this.hidden)return null;let n=tE({depth:o,isMobile:e.isMobile}),{name:i,icon:r}=tH(t,e.t,n);if("link"===t.type)return{name:i,icon:r,path:tu("link",t.id??t.schemaUid??t.menuSchemaUid??t.title??this.uid),hideInMenu:t.hideInMenu,_route:t,_parentRoute:l,_depth:o,_model:this};if("page"===t.type||"flowPage"===t.type){let e=eW({app:this.context.app,route:t});return"unsupportedV2Runtime"===e.reason?null:{name:i,icon:r,path:t.schemaUid?`/admin/${t.schemaUid}`:tu("link",`${this.uid}-invalid`),redirect:t.schemaUid?`/admin/${t.schemaUid}`:void 0,hideInMenu:t.hideInMenu,disabled:!e.runtimePath,_runtimePath:e.runtimePath,_navigationMode:e.navigationMode,_isLegacy:e.isLegacy,_route:t,_parentRoute:l,_depth:o,_model:this}}if("group"===t.type){var a;let n=Array.isArray(t.children)?t.children:[],s=(this.subModels.menuItems||[]).map(t=>t.toProLayoutRoute({...e,depth:o+1})).filter(Boolean)||[];e.designable&&0===o&&s.push(tB("schema-initializer-Menu-side",this,t));let d=eN(this.context.app)?eK(n):eU(n),u=eW({app:this.context.app,route:eN(this.context.app)&&d?d:t}),c={name:i,icon:r,path:`/admin/${t.id}`,redirect:(null==(a=s[0])?void 0:a.key)==="x-designer-button"?void 0:`/admin/${(null==d?void 0:d.schemaUid)||t.id}`,hideInMenu:t.hideInMenu,_runtimePath:u.runtimePath,_navigationMode:u.navigationMode,_isLegacy:u.isLegacy,_route:t,_parentRoute:l,_depth:o,_model:this};return s.length>0&&(c.routes=s),c}return null}render(){return(0,s.jsx)(tY,{item:this.props.item,dom:this.props.dom,options:this.props.options,renderType:this.props.renderType})}constructor(...e){super(...e),this.creationPersisted=!1,this.persistedStateHydrated=!1}}t9.registerFlow({key:"menuCreation",title:"Add menu item",manual:!0,steps:{basic:{title:"Add menu item",preset:!0,hideInSettings:!0,defaultParams:async e=>tU(e.model.getCreationMeta()),uiSchema:async e=>tQ(e.t,e.model.getCreationMeta())}}}),t9.registerFlow({key:"menuSettings",title:"Menu settings",steps:{edit:{title:"Edit",defaultParams:async e=>tX(e.model.getRoute()),uiSchema:async e=>{let t=e.model.getRoute(),l=tW(e.t);return(null==t?void 0:t.type)==="link"&&Object.assign(l,tz(e.t)),l},beforeParamsSave:async(e,t)=>{var l;await e.model.updateMenuRoute({title:t.title,icon:t.icon,options:(null==(l=e.model.getRoute())?void 0:l.type)==="link"?{href:t.href,params:t.params,openInNewWindow:t.openInNewWindow}:void 0})}},editTooltip:{title:"Edit tooltip",defaultParams:async e=>{var t;return{tooltip:null==(t=e.model.getRoute())?void 0:t.tooltip}},uiSchema:async e=>({tooltip:{title:e.t("Tooltip"),"x-decorator":"FormItem","x-component":"Input.TextArea"}}),beforeParamsSave:async(e,t)=>{await e.model.updateMenuRoute({tooltip:t.tooltip})}},linkageRules:{use:"menuLinkageRules",hideInSettings:async e=>e.model.isCreationSession()},moveTo:{title:"Move to",defaultParams:async()=>({position:"afterEnd"}),uiSchema:async e=>{var t;let l=await t1(e.routeRepository.listAccessible(),e),o=null==(t=e.model.getRoute())?void 0:t.id,n=tC(void 0,o,e.t);return{target:{title:e.t("Target"),enum:l,required:!0,"x-decorator":"FormItem","x-component":"TreeSelect"},position:{title:e.t("Position"),required:!0,enum:n,"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[t=>{var l;let n=tC(null==(l=t.form.values)?void 0:l.target,o,e.t);t.dataSource=n,n.some(e=>e.value===t.value&&!e.disabled)||(t.value="afterEnd")}]}}},beforeParamsSave:async(e,t)=>{await e.model.moveMenuRoute(t.target,t.position)}},insertBefore:t0({title:"Insert before",insertPosition:"beforeBegin",resolveParentRoute:e=>e.model.getParentRoute()}),insertAfter:t0({title:"Insert after",insertPosition:"afterEnd",resolveParentRoute:e=>e.model.getParentRoute()}),insertInner:t0({title:"Insert inner",hideInSettings:async e=>{var t;return(null==(t=e.model.getRoute())?void 0:t.type)!=="group"},canCreate:e=>"group"===e.type,insertPosition:"beforeEnd",resolveParentRoute:(e,t)=>"group"===t.type?t:void 0})}});let t7=(0,p.createContext)(!0),le={display:"none"},lt=(0,p.memo)(e=>{let{children:t,active:l,parentActive:o}=e,n=(0,p.useContext)(h.UNSAFE_LocationContext),i=(0,p.useContext)(h.UNSAFE_RouteContext),r=(0,p.useContext)(h.UNSAFE_DataRouterContext),a=(0,p.useContext)(h.UNSAFE_DataRouterStateContext),d=(0,p.useContext)(tV.RouteContext),u=(0,p.useRef)(n),m=(0,p.useRef)(i),f=(0,p.useRef)(r),g=(0,p.useRef)(a),y=(0,p.useRef)(d);return l&&(f.current=r,g.current=a,y.current=d),l&&!c.default.isEqual(c.default.omit(u.current.location,"key"),c.default.omit(n.location,"key"))&&(u.current=n),l&&!c.default.isEqual(m.current,i)&&(m.current=i),(0,s.jsx)("div",{style:l?{height:"100%"}:le,children:(0,s.jsx)(tV.RouteContext.Provider,{value:y.current,children:(0,s.jsx)(h.UNSAFE_DataRouterContext.Provider,{value:f.current,children:(0,s.jsx)(h.UNSAFE_DataRouterStateContext.Provider,{value:g.current,children:(0,s.jsx)(h.UNSAFE_LocationContext.Provider,{value:u.current,children:(0,s.jsx)(h.UNSAFE_RouteContext.Provider,{value:m.current,children:(0,s.jsx)(t7.Provider,{value:!1!==o&&l,children:t})})})})})})})}),ll=()=>({active:(0,p.useContext)(t7)}),lo=5,ln=15,li=(()=>{let e=lo;try{let t=navigator.deviceMemory;if(t)return Math.min(Math.max(e,3*t),ln);let l=navigator.hardwareConcurrency;if(l)return l>=8?ln:l>=4?7:e;return e}catch(t){return e}})(),lr=p.default.memo(e=>{let{children:t,uid:l}=e,{active:o}=ll(),n=(0,p.useRef)([]);return!n.current.includes(l)&&(n.current.push(l),n.current.length>li&&(n.current=n.current.slice(-li))),(0,s.jsx)(s.Fragment,{children:n.current.map(e=>(0,s.jsx)(lt,{active:e===l,parentActive:o,children:t(e)},e))})});lr.displayName="KeepAlive";let la=(0,S.css)`
271
+ `;let k=(0,p.createContext)(null);k.displayName="GlobalThemeContext";let F=()=>p.default.useContext(k)||{theme:{},isDarkTheme:!1},C=e=>{let{children:t,theme:l}=e,[o,n]=p.default.useState(l||b),i=(0,p.useRef)(null),r=(0,p.useRef)(null),a=(0,p.useMemo)(()=>{let e=null==o?void 0:o.algorithm;return Array.isArray(e)?e.includes(g.theme.darkAlgorithm):e===g.theme.darkAlgorithm},[null==o?void 0:o.algorithm]),d=(0,p.useCallback)(e=>{r.current=e?c.default.cloneDeep(e):e},[]),u=(0,p.useCallback)(()=>r.current,[]),m=(0,p.useCallback)(e=>{i.current=e?c.default.cloneDeep(e):e},[]),h=(0,p.useCallback)(()=>i.current,[]),f=(0,p.useMemo)(()=>({theme:w(o),setTheme:n,setCurrentSettingTheme:m,getCurrentSettingTheme:h,setCurrentEditingTheme:d,getCurrentEditingTheme:u,isDarkTheme:a}),[u,h,a,d,m,o]);return(0,s.jsx)(k.Provider,{value:f,children:(0,s.jsx)(g.ConfigProvider,{theme:x(f.theme),children:t})})};var A=__webpack_require__(3526);class P{async listTools(e){let{data:t}=await this.app.apiClient.resource("aiTools").list({filter:e}),l=null==t?void 0:t.data;return l?l.map(e=>({...e,...this.tools.get(e.definition.name)??{}})):[]}useTools(){let e=new A.Registry;for(let[l,o]of this.tools.getEntities()){var t;e.register(l,{...(null==(t=o.useHooks)?void 0:t.call(o))??o})}return e}registerTools(e,t){this.tools.register(e,{...t})}constructor(e,t=new A.Registry){this.app=e,this.tools=t}}class T{constructor(e){this.app=e,this.toolsManager=new P(this.app)}}let j=e=>new Map(e.map(e=>[e.definition.name,e]));var I=__webpack_require__(125),L=__webpack_require__(7520);let D=e=>null==e?"":"object"==typeof e?Array.isArray(e)?"["+e.map(D).join(",")+"]":"{"+Object.keys(e).sort().map(t=>`${t}:${D(e[t])}`).join(",")+"}":String(e),R=e=>{let{params:t,index:l}=e;return[D(t.viewUid),D(t.sourceId),D(t.filterByTk),String(l)].join("_")};function Y(e,t){let l=new Map,o=new Map;e.forEach(e=>{let t=R(e);l.set(t,e)}),t.forEach(e=>{o.set(R(e),e)});let n=[];l.forEach((e,t)=>{o.has(t)?o.get(t).hidden=e.hidden:n.push(e)});let i=[];return o.forEach((e,t)=>{l.has(t)||i.push(e)}),{viewsToClose:n,viewsToOpen:i}}let E=(0,u.defineFlow)({key:"popupSettings",title:(0,u.tExpr)("Popup settings"),on:"click",sort:300,steps:{openView:{use:"openView",hideInSettings:async e=>{var t,l,o,n;let i=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return!!e.collectionField&&(void 0===i?!(null==(n=e.collectionField)?void 0:n.isAssociationField())||e.disableFieldClickToOpen:!1===i)}}},defaultParams:e=>{var t,l,o,n,i,r,a,s;let d,u,c,p=e.collectionField,m=e.blockModel,h=null==(l=e.model)||null==(t=l.parent)?void 0:t.associationPathName,f=e.collection||(null==m?void 0:m.collection),g=e=>{var t;return!!(null==e||null==(t=e.isAssociationField)?void 0:t.call(e))},y=!g(p)&&h?null==f||null==(o=f.getFieldByPath)?void 0:o.call(f,h):void 0,v=g(p)?p:y;if(g(v)){let e=v.targetCollection;null==m||m.collection,d=null==e?void 0:e.name,u=null==e?void 0:e.dataSourceKey,c=null==v?void 0:v.resourceName}else p?(d=null==(n=e.collection)?void 0:n.name,u=null==(i=e.collection)?void 0:i.dataSourceKey,c=null==p?void 0:p.target):(d=null==(r=e.collection)?void 0:r.name,u=null==(a=e.collection)?void 0:a.dataSourceKey,c=null==(s=e.association)?void 0:s.resourceName);return{openView:{collectionName:d,associationName:c,dataSourceKey:u}}}}),N=e=>e.getStepParams("popupSettings","openView");class O extends u.FlowModel{}function B(e,t,l){return t.map((t,o)=>{let n,i=t.viewUid;return 0===o?(n=l,i=l.uid):n=e.getModel(t.viewUid,!0),{params:t,modelUid:i,model:n,hidden:u.observable.ref(!1),index:o}})}function H(e){let t=!1;for(let l=e.length-1;l>=0;l--){let o=e[l];"embed"!==V(o)||t?o.hidden.value=t:(t=!0,o.hidden.value=!1)}}function V(e){if(e.model instanceof O)return"embed";if(!e.model)return"drawer";let t=e.model.getStepParams("popupSettings","openView");return(null==t?void 0:t.mode)||"drawer"}O.registerFlow({key:"popupSettings",on:"click",steps:{openView:{use:"openView",defaultParams(e){var t;return{mode:"embed",preventClose:!0,pageModelClass:(null==(t=e.layout)?void 0:t.rootPageModelClass)||"RootPageModel"}}}}});let q=e=>null!=e&&""!==String(e),$=e=>`/${(e||"/admin").replace(/^\/+/,"").replace(/\/+$/,"")}`,z=e=>(null==e?void 0:e.startsWith("/"))?$(e):"";class K{setLayoutContentElement(e){this.layoutContentElement=e}registerPage(e,t){let l=this.getOrCreateRouteModel(e),o={pageUid:e,routeModel:l,meta:{active:!!t.active,refreshDesktopRoutes:t.refreshDesktopRoutes,layoutContentElement:t.layoutContentElement||null},viewState:{},prevViewList:[],hasStepNavigated:!1,forceStop:!1};return this.ensureRouteModelContext(o),this.runtimes.set(e,o),this.syncPageMeta(e,t),o.routeModel}syncPageMeta(e,t){let l=this.runtimes.get(e);if(!l)return;let o="boolean"==typeof t.active?t.active:void 0;l.meta={...l.meta,...t,active:l.meta.active,layoutContentElement:t.layoutContentElement??l.meta.layoutContentElement},"boolean"==typeof o&&this.setRuntimeActive(l,o)}unregisterPage(e){this.cleanupPage(e),this.runtimes.delete(e)}syncRoute(e){var t,l,o,n;if((null==e?void 0:e.layoutRouteName)&&(null==(t=this.layout)?void 0:t.routeName)&&e.layoutRouteName!==this.layout.routeName)return void this.runtimes.forEach(e=>{this.setRuntimeActive(e,!1)});let i=(null==e?void 0:e.pageUid)||(null==e||null==(l=e.layoutRoute)?void 0:l.pageUid)||(null==e||null==(o=e.params)?void 0:o.name),r=null==e?void 0:e.pathname,a=(null==e?void 0:e.layoutBasePathname)||(null==e||null==(n=e.layoutRoute)?void 0:n.basePathname);if(a&&(this.basePathname=$(a)),this.runtimes.forEach(e=>{this.setRuntimeActive(e,e.pageUid===i)}),!i||!r)return;this.runtimes.forEach(e=>{e.pageUid!==i&&(e.forceStop=!0)});let s=this.runtimes.get(i);s&&(s.forceStop=!1,this.syncRuntimeWithPathname(s,r))}cleanupPage(e){let t=this.runtimes.get(e);t&&(t.forceStop=!0,t.prevViewList.forEach(e=>{var l,o;this.flowEngine.removeModelWithSubModels(e.params.viewUid),null==(o=t.viewState[R(e)])||null==(l=o.destroy)||l.call(o),delete t.viewState[R(e)]}),t.prevViewList=[],t.hasStepNavigated=!1)}destroy(){Array.from(this.runtimes.keys()).forEach(e=>{this.cleanupPage(e),this.runtimes.delete(e)})}getCurrentRouteByPageUid(e){var t,l;return(null==(l=this.flowEngine.context.routeRepository)||null==(t=l.getRouteBySchemaUid)?void 0:t.call(l,e))||{}}setRuntimeActive(e,t){var l;let o=!!e.meta.active;e.meta.active=t,(null==(l=e.routeModel.context.pageActive)?void 0:l.value)!==t&&(e.routeModel.context.pageActive.value=t),this.syncViewListVisibility(e),o!==t&&this.notifyRuntimeActiveChange(e,t)}notifyRuntimeActiveChange(e,t){var l,o;let n=e.prevViewList[0];if(!n)return;let i=e.viewState[R(n)];if(t){null==i||null==(o=i.activate)||o.call(i,!0);return}null==i||null==(l=i.deactivate)||l.call(i)}syncRuntimeWithPathname(e,t){try{if(!this.basePathname)return;let o=(0,u.parsePathnameToViewParams)(t,{basePath:this.basePathname}),n=B(this.flowEngine,o,e.routeModel);if(this.shouldStepNavigate(e,n)){this.stepNavigate(n,0),e.hasStepNavigated=!0,this.scheduleInitialDeepLinkReplay(e,t);return}let{viewsToClose:i,viewsToOpen:r}=Y(e.prevViewList,n);if(i.length&&(i.forEach(t=>{var l,o;null==(o=e.viewState[R(t)])||null==(l=o.destroy)||l.call(o,!0),delete e.viewState[R(t)]}),H(n)),r.length&&this.handleOpenViews(e,n,r),0===i.length&&0===r.length){let t=n.at(-1);if(t){var l;null==(l=e.viewState[R(t)])||l.navigation.setViewStack(n.map(e=>e.params))}}e.prevViewList=[...n],this.syncViewListVisibility(e)}catch(e){console.error("[NocoBase] Failed to resolve view params to view list:",e)}}syncViewListVisibility(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.prevViewList;if(t.length){if(e.meta.active)return void H(t);t.forEach(e=>{e.hidden.value=!0})}}shouldStepNavigate(e,t){return 0===e.prevViewList.length&&t.length>1&&!e.hasStepNavigated}scheduleInitialDeepLinkReplay(e,t){Promise.resolve().then(()=>{e.forceStop||e.prevViewList.length>0||this.syncRuntimeWithPathname(e,t)}).catch(()=>{})}stepNavigate(e,t){e[t]&&(0===t?new u.ViewNavigation(this.flowEngine.context,[],{basePath:this.basePathname}).navigateTo(e[t].params,{replace:!0}):new u.ViewNavigation(this.flowEngine.context,e.slice(0,t).map(e=>e.params),{basePath:this.basePathname}).navigateTo(e[t].params),this.stepNavigate(e,t+1))}async handleOpenViews(e,t,l){let o=l.filter(e=>!e.model);o.length>0&&await Promise.all(o.map(async e=>{try{e.model=await this.flowEngine.loadModel({uid:e.modelUid})}catch(t){console.error(`[NocoBase] Failed to load model ${e.modelUid}:`,t)}})),e.forceStop||(this.syncViewListVisibility(e,t),this.openViews(e,t,l,0))}openViews(e,t,l,o){var n;if(!l[o])return;let i=l[o];if(!i.model)return;let r=p.default.createRef(),a=p.default.createRef(),s=p.default.createRef(),d=p.default.createRef(),c=N(i.model),m=(null==c?void 0:c.associationName)&&!q(i.params.sourceId)?null:null==c?void 0:c.associationName,h=t.slice(0,i.index).map(e=>e.params.viewUid),f=new u.ViewNavigation(this.flowEngine.context,t.slice(0,i.index+1).map(e=>e.params),{basePath:this.basePathname});i.model.dispatchEvent("click",{target:this.layoutContentElement||e.meta.layoutContentElement,collectionName:null==c?void 0:c.collectionName,associationName:m,dataSourceKey:null==c?void 0:c.dataSourceKey,destroyRef:r,updateRef:a,activateRef:s,deactivateRef:d,openerUids:h,...i.params,pageActive:e.meta.active,activationControlledByLayout:!0,navigation:f,onOpen:()=>{this.openViews(e,t,l,o+1)},hidden:i.hidden,isMobileLayout:!!(null==(n=this.layoutContext)?void 0:n.isMobileLayout),triggerByRouter:!0}),e.viewState[R(i)]={destroy:e=>{var t;return null==(t=r.current)?void 0:t.call(r)},update:e=>{var t;return null==(t=a.current)?void 0:t.call(a,e)},activate:e=>{var t;return null==(t=s.current)?void 0:t.call(s,e)},deactivate:()=>{var e;return null==(e=d.current)?void 0:e.call(d)},navigation:f}}ensureRouteModelContext(e){this.layoutContext&&e.routeModel.context.addDelegate(this.layoutContext),e.routeModel.context.pageActive||e.routeModel.context.defineProperty("pageActive",{value:u.observable.ref(!1),info:{description:"Whether current page route is active (keep-alive). This is an observable.ref<boolean> (use ctx.pageActive.value to read/write).",detail:"observable.ref<boolean>"}}),e.routeModel.context.defineProperty("currentRoute",{get:()=>this.getCurrentRouteByPageUid(e.pageUid),cache:!1}),e.routeModel.context.defineProperty("refreshDesktopRoutes",{get:()=>e.meta.refreshDesktopRoutes,cache:!1}),e.routeModel.context.defineProperty("layout",{get:()=>{var e;return this.layout||(null==(e=this.layoutContext)?void 0:e.layout)},cache:!1}),e.routeModel.context.defineProperty("layoutRoute",{get:()=>{var e;return null==(e=this.layoutContext)?void 0:e.layoutRoute},cache:!1}),e.routeModel.context.defineProperty("layoutContext",{get:()=>this.layoutContext,cache:!1})}getOrCreateRouteModel(e){let t=this.flowEngine.getModel(e);return t instanceof O?t:(t&&this.flowEngine.removeModelWithSubModels(e),this.flowEngine.createModel({uid:e,use:"RouteModel"}))}constructor(e,t={}){var l;this.runtimes=new Map,this.layoutContentElement=null,this.flowEngine=e,this.layout=t.layout,this.layoutContext=t.layoutContext,this.basePathname=t.basePathname||z(null==(l=t.layout)?void 0:l.routePath)||(t.layout?"":$())}}function U(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=l.basePathname||z(null==(t=l.layout)?void 0:t.routePath);return o?(0,u.parsePathnameToViewParams)(e,{basePath:o}):[]}function G(e){return`${e}.__page`}function W(e){return`${e}.__pageTab`}function J(e){return`${e}.__pageView`}function X(e){return`${e}.__pageTabView`}function Q(e){return[G(e),W(e),J(e),X(e)]}function Z(e,t){return!!t&&Q(e).includes(t)}let ee={routeName:"admin",routePath:"/admin",rootRouteName:"admin",uid:"admin-layout-model",layoutModelClass:"AdminLayoutModel",rootPageModelClass:"RootPageModel",childPageModelClass:"ChildPageModel",authCheck:!0},et=e=>`/${(e||"/admin").replace(/^\/+/,"").replace(/\/+$/,"")}`,el=e=>e&&"/"!==e?`/${e.replace(/^\/+/,"").replace(/\/+$/,"")}`:"/",eo=(e,t)=>{let l=el(e),o=et(t);return l===o?"":l.startsWith(`${o}/`)?l.slice(o.length+1):null},en=e=>(null==e?void 0:e.startsWith("/"))?et(e):"",ei=e=>["tab","filterbytk","sourceid"].includes(e),er=e=>{if(!e)return!0;let t=e.split("/").filter(Boolean);if(!t.length)return!0;let l=1;for(;l<t.length;){let e=t[l];if("view"===e){if(!t[l+1])return!1;l+=2;continue}if(!ei(e)||!t[l+1])return!1;l+=2}return!0};class ea extends u.FlowModel{registerRoutePage(e,t){this.routePageMetaMap.set(e,t);let l=this.getCoordinator().registerPage(e,t);return this.getCoordinator().syncRoute(this.getCurrentCoordinatorRouteLike()),l}updateRoutePage(e,t){let l=this.routePageMetaMap.get(e)||{active:!1},o={...l,...t,active:"boolean"==typeof t.active?t.active:l.active};this.routePageMetaMap.set(e,o),this.getCoordinator().syncPageMeta(e,t)}unregisterRoutePage(e){this.routePageMetaMap.delete(e),this.activePageUid===e&&(this.activePageUid=""),this.getCoordinator().unregisterPage(e)}setLayoutContentElement(e){this.layoutContentElement=e,this.getCoordinator().setLayoutContentElement(e)}setIsMobileLayout(e){this.isMobileLayout=!!e}getCurrentRouteByPageUid(e){var t,l;return(null==(l=this.flowEngine.context.routeRepository)||null==(t=l.getRouteBySchemaUid)?void 0:t.call(l,e))||{}}get layout(){return this.props.layout||{...ee,uid:this.uid||ee.uid}}getCoordinator(){return this.routeCoordinator||(this.routeCoordinator=this.createRouteCoordinator()),this.routeCoordinator}createRouteCoordinator(){return new K(this.flowEngine,this.getRouteCoordinatorOptions())}getRouteCoordinatorOptions(){return{layout:this.layout,layoutContext:this.context}}getPageUidFromRoute(e){var t,l;return(null==e?void 0:e.pageUid)?e.pageUid:(null==e||null==(t=e.layoutRoute)?void 0:t.type)==="page"?e.layoutRoute.pageUid:(null==e||null==(l=e.params)?void 0:l.name)||""}isLayoutContentRoute(e){if(null==e?void 0:e.layoutRouteName)return e.layoutRouteName===this.layout.routeName;let t=(null==e?void 0:e.name)||(null==e?void 0:e.id);return Z(this.layout.routeName,t)}resolveLayoutRoute(e){var t,l;let o=el(null==e?void 0:e.pathname),n=e.layoutBasePathname||en(this.layout.routePath),i=n?et(n):"";if(!i)return{type:"notFound",pathname:o,basePathname:"",relativePath:""};let r=eo(o,i);if(null===r)return{type:"notFound",pathname:o,basePathname:i,relativePath:""};if(!r)return{type:"root",pathname:o,basePathname:i,relativePath:r};if(!er(r))return{type:"notFound",pathname:o,basePathname:i,relativePath:r};let a=(0,u.parsePathnameToViewParams)(o,{basePath:i}),s=null==(t=a[0])?void 0:t.viewUid;return s?{type:"page",pathname:o,basePathname:i,relativePath:r,pageUid:s,tabUid:null==(l=a[0])?void 0:l.tabUid,viewStack:a}:{type:"notFound",pathname:o,basePathname:i,relativePath:r}}getPageUidFromLayoutRoute(e){return(null==e?void 0:e.type)==="page"?e.pageUid:""}syncLayoutRoute(e){if(!this.isLayoutContentRoute(e))return this.clearLayoutRoute(),null;let t=this.resolveLayoutRoute(e);return this.currentLayoutRoute=t,this.activePageUid=this.getPageUidFromLayoutRoute(t),this.getCoordinator().syncRoute({...e,layoutRouteName:this.layout.routeName,pageUid:this.activePageUid,pathname:t.pathname,layoutBasePathname:t.basePathname,layoutRoute:t}),t}clearLayoutRoute(e){var t,l;let o=(null==e?void 0:e.pathname)?el(e.pathname):"";o&&null!=(t=this.currentLayoutRoute)&&t.pathname&&o!==this.currentLayoutRoute.pathname||(this.currentLayoutRoute=null,this.activePageUid="",null==(l=this.routeCoordinator)||l.syncRoute({}))}onMount(){super.onMount(),this.setupContextBindings()}onUnmount(){this.teardownRuntime(),super.onUnmount()}setupContextBindings(){this.contextBindingsActive=!0,this.context.defineProperty("layoutContext",{get:()=>this.contextBindingsActive?this.context:void 0,cache:!1}),this.context.defineProperty("currentRoute",{get:()=>this.contextBindingsActive?this.getCurrentRouteByActivePage():{},cache:!1}),this.context.defineProperty("layoutContentElement",{get:()=>this.contextBindingsActive?this.layoutContentElement:null,cache:!1}),this.context.defineProperty("isMobileLayout",{get:()=>!!this.contextBindingsActive&&this.isMobileLayout,observable:!0,cache:!1}),this.context.defineProperty("layout",{get:()=>this.contextBindingsActive?this.layout:void 0,cache:!1}),this.context.defineProperty("layoutRoute",{get:()=>this.contextBindingsActive?this.currentLayoutRoute:void 0,observable:!0,cache:!1})}teardownRuntime(){var e;this.contextBindingsActive=!1,null==(e=this.routeCoordinator)||e.destroy(),this.routeCoordinator=void 0,this.routePageMetaMap.clear(),this.activePageUid="",this.currentLayoutRoute=null,this.layoutContentElement=null}getCurrentRouteByActivePage(){return this.activePageUid?this.getCurrentRouteByPageUid(this.activePageUid):{}}getCurrentCoordinatorRouteLike(){var e;return(null==(e=this.currentLayoutRoute)?void 0:e.type)==="page"?{layoutRouteName:this.layout.routeName,pageUid:this.currentLayoutRoute.pageUid,pathname:this.currentLayoutRoute.pathname,layoutBasePathname:this.currentLayoutRoute.basePathname,layoutRoute:this.currentLayoutRoute}:{}}constructor(e){super(e),this.isMobileLayout=!1,this.currentLayoutRoute=null,this.activePageUid="",this.layoutContentElement=null,this.routePageMetaMap=new Map,this.contextBindingsActive=!1,(0,d.define)(this,{isMobileLayout:d.observable.ref,currentLayoutRoute:d.observable.ref})}}function es(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{required:o=!1,create:n=!1,props:i,use:r}=l,a=e.getModel(t);if(!a&&n){let l=r;if(!l)throw Error(`[NocoBase] Cannot create layout model ${t} without model class.`);a=e.createModel({uid:t,use:l,props:i})}if(a&&i&&a.setProps(i),!a&&o)throw Error(`[NocoBase] FlowRoute requires layout model ${t}. Please render FlowRoute under Layout.`);return a}var ed=__webpack_require__(6305);function eu(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?e.startsWith("/")?e:`/${e}`:"/"}function ec(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?e.endsWith("/")?e:`${e}/`:"/"}function ep(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.replace(/\/+$/g,"")}function em(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.replace(/^\/+/,"")}function eh(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ef(e){return ec(eu(String(e||"/").trim()||"/"))}function eg(e){let t=eu(String(e||"/").trim()||"/").replace(/\/{2,}/g,"/");return"/"!==t&&t.endsWith("/")?ep(t):t}function ey(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?e.startsWith("?")?e:`?${e}`:""}function ev(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?e.startsWith("#")?e:`#${e}`:""}function e_(e,t){if(!t||"/"===t)return e;let l=eh(t),o=RegExp(`^${l.replace(/\/?$/,"")}(\\/|$)`);return e.replace(o,"/")||e}function eb(e){return ef(e.getPublicPath())}function ex(e){return ep(eb(e))||"/"}function eM(){return"u">typeof window?window:void 0}function ew(){let e=eM(),t=null==e?void 0:e.__nocobase_modern_client_prefix__;if("string"==typeof t&&t.trim())return em(ep(t.trim()));let l=null==e?void 0:e.__nocobase_public_path__;if("string"==typeof l&&l.trim()){let e=ep(l.trim()).split("/"),t=e[e.length-1];if(t)return t}return"v"}function eS(e){let t=ef(e),l=ew(),o=RegExp(`/${eh(l)}/?$`);return ef(t.replace(o,"/"))}function ek(e){var t,l;let o=null==(l=e.router)||null==(t=l.getBasename)?void 0:t.call(l);return o?ef(o):eb(e)}function eF(e,t){let l=ef(e),o=eg(t);return"/"===l?o:"/"===o?ep(l)||"/":eg(`/${em(l)}/${em(o)}`)}function eC(e){return eF(ek(e),"/signin")}function eA(e,t){var l,o;let n=eg(t);for(let t of[null==(o=e.router)||null==(l=o.getBasename)?void 0:l.call(o),ex(e)]){if(!t)continue;let e=eg(e_(n,t));if(e!==n)return e}return n}function eP(e){return eF(ek(e),"/admin")}function eT(e,t){let l=eA(e,(null==t?void 0:t.pathname)||"/"),o=ey((null==t?void 0:t.search)||""),n=ev((null==t?void 0:t.hash)||"");return`${eF(ek(e),l)}${o}${n}`}function ej(e,t){return`${eC(e)}?redirect=${encodeURIComponent(t)}`}function eI(e,t,l){let o=ej(e,t);if((null==l?void 0:l.replace)===!1){window.location.href=o;return}window.location.replace(o)}function eL(e,t){let l;if(!e)return null;try{l=new URL(e,window.location.origin)}catch(e){return null}return l.origin===window.location.origin&&new Set(["/signin",eC(t)]).has(l.pathname)?l.toString():null}let eD="[NocoBase] Admin route runtime target:",eR={runtimePath:null,navigationMode:"spa",isLegacy:!1,reason:"unsupportedRouteType"};function eY(e){let t=`/${String(e||"/").trim()||"/"}`.replace(/\/{2,}/g,"/");return"/"!==t&&t.endsWith("/")?t.replace(/\/+$/g,""):t}function eE(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",t=eY(e||"/");return t.endsWith("/")?t:`${t}/`}function eN(e){return!!(null==e?void 0:e.getPublicPath)&&eE(e.getPublicPath()).endsWith(`/${ew()}/`)}function eO(e,t){let l=eY(e),o=t&&"/"!==t?eY(t):"";return o?l===o?"/":l.startsWith(`${o}/`)?eY(l.slice(o.length)):l:l}function eB(e,t){let l=eE(e),o=eY(t);return"/"===l?o:"/"===o?l.replace(/\/+$/g,"")||"/":eY(`${l}${o.slice(1)}`)}function eH(e,t){return eB(ek(e),`/admin/${t}`)}function eV(e,t){let l=(null==t?void 0:t.search)?t.search.startsWith("?")?t.search:`?${t.search}`:"",o=(null==t?void 0:t.hash)?t.hash.startsWith("#")?t.hash:`#${t.hash}`:"";return`${e}${l}${o}`}function eq(e,t,l){null==e||e(eD,t,l)}function e$(e){return!!e&&("tabs"===e.type||!0===e.hideInMenu||!0===e.hidden)}function ez(e){return!!e&&!0!==e.hidden&&!0!==e.hideInMenu&&("flowPage"===e.type||"link"===e.type||"group"===e.type&&Array.isArray(e.children)&&e.children.some(e=>ez(e)))}function eK(e){if(Array.isArray(e)){for(let t of e)if(t&&!0!==t.hidden&&!0!==t.hideInMenu&&"tabs"!==t.type){if("flowPage"===t.type)return t;if("group"===t.type){let e=eK(t.children);if(e)return e}}}}function eU(e){if(Array.isArray(e)){for(let t of e)if(!e$(t)){if("page"===t.type||"flowPage"===t.type)return t;if("group"===t.type){let e=eU(t.children);if(e)return e}}}}function eG(e,t){let{app:l,preserveLocationState:o,location:n,log:i=console.warn}=e;return t.schemaUid?"flowPage"===t.type?{runtimePath:eH(l,t.schemaUid),navigationMode:"spa",isLegacy:!1,reason:"ok"}:eN(l)?{...eR,reason:"unsupportedV2Runtime"}:{runtimePath:o&&n?eV(eH(l,t.schemaUid),n):eH(l,t.schemaUid),navigationMode:"spa",isLegacy:!1,reason:"ok"}:(eq(i,"Missing schemaUid.",t),{...eR,reason:"missingSchemaUid"})}function eW(e){let{route:t,log:l=console.warn}=e;if(!t)return eR;if("page"===t.type||"flowPage"===t.type)return eG(e,t);if("group"===t.type){let l=eN(e.app)?eK(t.children):eU(t.children);return l?eW({...e,route:l}):{...eR,reason:"emptyGroup"}}return"link"!==t.type&&eq(l,"Unsupported route type.",t),eR}class eJ extends K{constructor(e,t={}){super(e,{basePathname:"/admin",...t})}}let eX="admin-layout-model";var eQ=__webpack_require__(2113);let eZ=220,e0=e=>{let{isMobile:t,closeMobileMenu:l,callback:o,delayMs:n=eZ}=e;t?(l(),window.setTimeout(o,n)):o()},e1=e=>{let{theme:t}=F();return(0,s.jsx)(g.ConfigProvider,{theme:{...t,inherit:!1},children:e.children})},e2=(0,p.createContext)(null);e2.displayName="NocoBaseRouteContext";let e5=(0,p.createContext)(null);e5.displayName="ParentRouteContext";let e8=(0,p.createContext)(null);e8.displayName="NavigateNoUpdateContext";let e4=()=>{let e=(0,p.useContext)(e8),t=(0,h.useNavigate)();return e||t},e3=()=>(0,h.useHref)("/");function e6(e,t){if(!t)return e;let l=e.indexOf("#"),o=l>=0,n=o?e.slice(0,l):e,i=o?e.slice(l+1):"",r=i.startsWith("/")||i.startsWith("!/");if(o&&r){let e=i.includes("?")?"&":"?";return`${n}#${i}${e}${t}`}let a=n.includes("?")?"&":"?";return o?`${n}${a}${t}#${i}`:`${n}${a}${t}`}function e9(e){if(c.default.isPlainObject(e)){let t={};return Object.keys(e).forEach(l=>{c.default.isPlainObject(e[l])||c.default.isArray(e[l])||c.default.isString(e[l])&&e[l].length>100||(t[l]=e[l])}),t}return c.default.isArray(e)?e.map(e=>c.default.isPlainObject(e)||c.default.isArray(e)?e9(e):e):e}function e7(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.origin;return e?(0,A.isURL)(e)?e:e.startsWith("/")?`${t}${e}`:`${t}/${e}`:""}function te(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.location.origin;return c.default.isString(e)?(0,A.isURL)(e)?void(e.startsWith(l)?t(e7(e.replace(l,""),"")):window.open(e,"_self")):void t(e7(e,"")):console.error("link should be a string")}let tt={display:"flex",alignItems:"center",gap:4},tl=e=>t=>{let{tooltip:l}=t;return l?(0,s.jsxs)("div",{style:tt,children:[(0,s.jsx)(e,{...t}),(0,s.jsx)(g.Tooltip,{title:l,children:(0,s.jsx)(eQ.QuestionCircleOutlined,{style:{zIndex:1}})})]}):(0,s.jsx)(e,{...t})},to=(0,p.createContext)({scopeId:"",type:""}),tn=e=>{let t=(0,p.useContext)(to),l=(0,p.useMemo)(()=>({scopeId:e.scopeId,type:e.type,parent:t}),[t,e.scopeId,e.type]);return(0,s.jsx)(to.Provider,{value:l,children:e.children})},ti=/^\s*\{\{\s*([\p{L}0-9_$-.]+?)\s*\}\}\s*$/u,tr=e=>"string"==typeof e&&ti.test(e),ta=(e,t)=>{let[l,o]=(0,p.useState)();return(0,p.useEffect)(()=>{let l=!0;return(async()=>{if(null==e||""===e){l&&o(void 0);return}if(!(null==t?void 0:t.resolveJsonTemplate)){l&&o(e);return}try{let n=await t.resolveJsonTemplate(e);if(!l)return;if("string"==typeof n&&""!==n.trim()&&Number.isFinite(Number(n)))return void o(Number(n));o(n)}catch(e){console.error(e)}})(),()=>{l=!1}},[t,e]),l};function ts(e){let{pageSchemaUid:t,tabSchemaUid:l,tabSchemaName:o}=e;return{type:"void","x-component":"Page",properties:{[o]:{type:"void","x-component":"Grid","x-initializer":"page:addBlock",properties:{},"x-uid":l,"x-async":!0}},"x-uid":t}}function td(e){let{pageSchemaUid:t}=e;return{type:"void","x-component":"FlowRoute","x-uid":t}}let tu=(e,t)=>`/admin/__admin_layout__/${e}/${encodeURIComponent(String(t))}`,tc={display:"flex",alignItems:"center",justifyContent:"space-between"},tp={display:"inline-flex",alignItems:"center",justifyContent:"center",marginLeft:8,color:"inherit"},tm=[{pattern:/^\$user(?:\.(.+))?$/,resolve:e=>`ctx.user${e[1]?`.${e[1]}`:""}`},{pattern:/^currentUser(?:\.(.+))?$/,resolve:e=>`ctx.user${e[1]?`.${e[1]}`:""}`},{pattern:/^\$nRole$/,resolve:()=>"ctx.role"},{pattern:/^\$nToken$/,resolve:()=>"ctx.token"},{pattern:/^\$nURLSearchParams(?:\.(.+))?$/,resolve:e=>`ctx.urlSearchParams${e[1]?`.${e[1]}`:""}`}],th=e=>"string"==typeof e&&e.includes("{{")?e.replace(/\{\{\s*([\s\S]*?)\s*\}\}/g,(e,t)=>{let l=String(t||"").trim();for(let e of tm){let t=l.match(e.pattern);if(t)return`{{ ${e.resolve(t)} }}`}return e}):e,tf=async e=>{let{context:t,href:l,params:o=[]}=e,n="string"==typeof l?th(l):l,i=await t.resolveJsonTemplate(n),r={};for(let{name:e,value:l}of o)if(e)try{let o="string"==typeof l?await t.resolveJsonTemplate(th(l)):l;if(null==o)continue;r[e]=e9(o)}catch(e){console.error(e)}return e6(String(i??l??""),__rspack_external_qs.default.stringify(r))},tg=async e=>{let{context:t,href:l,params:o,openInNewWindow:n,isMobile:i,closeMobileMenu:r,navigate:a,basenameOfCurrentRouter:s}=e;try{let e=await tf({context:t,href:l,params:o||[]});if(!1!==n){i&&r(),window.open(e,"_blank","noopener,noreferrer");return}e0({isMobile:!!i,closeMobileMenu:r,callback:()=>{te(e,a,window.location.origin+s)}})}catch(e){console.error(e),i&&r(),window.open(l,"_blank","noopener,noreferrer")}},ty=e=>!!e&&"function"==typeof e.getRoute,tv=(e,t)=>"function"==typeof e.context.t?e.context.t(t):t,t_=[{key:"group",label:"Group",menuType:"group"},{key:"flow-page",label:"Page",menuType:"flowPage"},{key:"link",label:"Link",menuType:"link"}],tb=(e,t)=>({uid:`${e.uid}-menu-creation-${(0,A.uid)()}`,use:"AdminLayoutMenuItemModel",props:{creationMeta:t}}),tx=(e,t)=>{let l=t=>tv(e,t),o=t?"sider":"header";return t_.map(n=>({key:n.key,label:l(n.label),createModelOptions:()=>tb(e,{menuType:n.menuType,source:o,parentRoute:t})}))},tM=e=>{let t=t=>tv(e.launcherModel,t);return(0,s.jsx)(u.AddSubModelButton,{model:e.launcherModel,subModelKey:"menuItems",items:tx(e.launcherModel,e.parentRoute),children:(0,s.jsx)(u.FlowSettingsButton,{"data-testid":e.testId,style:{background:"none"},icon:(0,s.jsx)(eQ.PlusOutlined,{}),children:t("Add menu item")})})},tw=e=>e.icon?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,s.jsx)(ed.In,{type:e.icon}),(0,s.jsx)("span",{children:e.title})]}):(0,s.jsx)(s.Fragment,{children:e.title}),tS=tl(e=>(0,s.jsx)(s.Fragment,{children:e.children})),tk=p.default.createContext({closeMobileMenu:()=>{}}),tF=p.default.createContext({inHeader:!1}),tC=(e,t,l)=>{var o;let[n,i]=(null==e||null==(o=e.split)?void 0:o.call(e,"||"))||[],r=[{label:l("Before"),value:"beforeBegin"},{label:l("After"),value:"afterEnd"}];return"group"!==i?r:[...r,{label:l("Inner"),value:"beforeEnd",disabled:void 0!==t&&String(t)===n}]};function tA(e,t,l){let o=t.id??t.schemaUid??t.menuSchemaUid??t.pageSchemaUid??t.title??`${t.type}-${l}`;return`${e}-menu-item-${t.type||"unknown"}-${o}`}function tP(e,t,l){let o=[...e.subModels.menuItems||[]],n=new Map(o.map(e=>[e.uid,e])),i=[],r=new Set;t.forEach((t,o)=>{let a=tA(e.uid,t,o),s=n.get(a),d=!!s;if(s||(s=e.addSubModel("menuItems",{uid:a,use:"AdminLayoutMenuItemModel",props:{route:t,parentRoute:l}})),s.sortIndex=o+1,d){var u;null==(u=s.syncFromRoute)||u.call(s,t,l)}i.push(s),r.add(a)}),o.forEach(t=>{r.has(t.uid)||e.flowEngine.removeModelWithSubModels(t.uid)}),e.subModels.menuItems=i}function tT(e,t){var l,o;if(!ty(e)||!ty(t))return;let n=null==(l=e.getRoute)?void 0:l.call(e),i=null==(o=t.getRoute)?void 0:o.call(t);if((null==n?void 0:n.id)&&(null==i?void 0:i.id)&&n.id!==i.id)return{sourceId:n.id,targetId:i.id,sortField:"sort"}}function tj(e,t){var l,o;if((null==(l=t.active)?void 0:l.id)&&(null==(o=t.over)?void 0:o.id))return tT(e.getModel(String(t.active.id)),e.getModel(String(t.over.id)))}let tI=e=>{var t,l,o,n,i,r,a,d,u;let{item:c}=e,m=ta(null==(l=c._route.options)||null==(t=l.badge)?void 0:t.count,null==(o=c._model)?void 0:o.context),f=e4(),y=e3(),{closeMobileMenu:v}=(0,p.useContext)(tk),_="string"==typeof c.name||"number"==typeof c.name?String(c.name):"string"==typeof(null==(n=c._route)?void 0:n.title)||"number"==typeof(null==(i=c._route)?void 0:i.title)?String(c._route.title):void 0,b=c._runtimePath,x=b?eO(b,y):b,M=(0,p.useCallback)(t=>{var l,o;if(!b){t.preventDefault(),t.stopPropagation();return}let n=0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented;if("document"===c._navigationMode){if(n)return;t.preventDefault(),t.stopPropagation(),e0({isMobile:!!(null==(o=e.options)?void 0:o.isMobile),closeMobileMenu:v,callback:()=>{window.location.assign(b)}});return}t.preventDefault(),t.stopPropagation(),e0({isMobile:!!(null==(l=e.options)?void 0:l.isMobile),closeMobileMenu:v,callback:()=>{x&&f(x)}})},[v,c,c._navigationMode,f,null==(r=e.options)?void 0:r.isMobile,b,x]),w=_?`${_}-landing-entry`:"group-landing-entry",S=e.children,k=b?"document"===c._navigationMode?(0,s.jsx)("a",{href:b,"aria-label":w,onClick:M,style:tp}):(0,s.jsx)(h.Link,{to:x||b,"aria-label":w,onClick:M,style:tp}):null;return(0,s.jsx)(e5.Provider,{value:c._parentRoute,children:(0,s.jsx)(e2.Provider,{value:c._route,children:(0,s.jsxs)("div",{"aria-label":_,role:"none",style:tc,children:[S,k,null!=m&&(0,s.jsx)(g.Badge,{...null==(a=c._route.options)?void 0:a.badge,count:m,style:{marginLeft:4,color:null==(u=c._route.options)||null==(d=u.badge)?void 0:d.textColor,maxWidth:"10em"},dot:!1})]})})})},tL=e=>{let{inHeader:t}=(0,p.useContext)(tF);return e.hidden||t?e.children:(0,s.jsx)(g.Tooltip,{title:e.title,placement:"right",children:(0,s.jsx)(g.Badge,{...e.badgeProps,style:{transform:"none",maxWidth:"10em"},dot:!1,children:e.children})})},tD=e=>{var t,l,o,n,i,r,a,d,u,c,m,f,y;let{item:v}=e,_=(0,h.useLocation)(),b=ta(null==(l=v._route.options)||null==(t=l.badge)?void 0:t.count,null==(o=v._model)?void 0:o.context),x=e4(),M=e3(),{closeMobileMenu:w}=(0,p.useContext)(tk),S=v.redirect||v.path,k=v._runtimePath||S,F=k?eO(k,M):k,C="document"===v._navigationMode,A={...null==(n=v._route.options)?void 0:n.badge,count:b},P=!!k&&C,T=e=>!e.defaultPrevented&&0===e.button&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,j=(0,p.useCallback)(async t=>{var l,o,n,i,r;let a=null==(l=v._route.options)?void 0:l.href,s=null==(o=v._route.options)?void 0:o.params,d=null==(n=v._route.options)?void 0:n.openInNewWindow;t.preventDefault(),t.stopPropagation(),await tg({context:null==(i=v._model)?void 0:i.context,href:a,params:s,openInNewWindow:d,isMobile:!!(null==(r=e.options)?void 0:r.isMobile),closeMobileMenu:w,navigate:x,basenameOfCurrentRouter:M})},[v,null==(i=e.options)?void 0:i.isMobile,w,x,M]),I=(0,p.useCallback)(t=>{var l,o,n;if(!k){t.preventDefault(),t.stopPropagation();return}if(C){if(!T(t))return;t.preventDefault(),t.stopPropagation(),e0({isMobile:!!(null==(n=e.options)?void 0:n.isMobile),closeMobileMenu:w,callback:()=>{window.location.assign(k)}});return}if(t.preventDefault(),t.stopPropagation(),!(null==(l=e.options)?void 0:l.isMobile)){F&&x(F);return}e0({isMobile:!!(null==(o=e.options)?void 0:o.isMobile),closeMobileMenu:w,callback:()=>{F&&x(F)}})},[null==(r=e.options)?void 0:r.isMobile,w,C,v,x,k,F]);if((null==(a=v._route)?void 0:a.type)==="link")return(0,s.jsx)(e5.Provider,{value:v._parentRoute,children:(0,s.jsx)(e2.Provider,{value:v._route,children:(0,s.jsxs)("div",{role:"none",style:tc,children:[(0,s.jsx)("div",{onClick:j,children:(0,s.jsx)(h.Link,{to:_.pathname,"aria-label":"string"==typeof v.name?v.name:void 0,children:e.children})}),null!=b&&(0,s.jsx)(g.Badge,{...null==(m=v._route.options)?void 0:m.badge,count:b,style:{marginLeft:4,color:null==(y=v._route.options)||null==(f=y.badge)?void 0:f.textColor,maxWidth:"10em"},dot:!1})]})})});let L=(0,s.jsx)(tL,{title:v.name,hidden:"group"===v._route.type||(v._depth||0)>0||!(null==(d=e.options)?void 0:d.collapsed),badgeProps:A,children:P?(0,s.jsx)("a",{href:k,"aria-label":"string"==typeof v.name?v.name:void 0,onClick:I,children:e.children}):k?(0,s.jsx)(h.Link,{to:F,"aria-label":"string"==typeof v.name?v.name:void 0,onClick:I,children:e.children}):(0,s.jsx)("span",{"aria-label":"string"==typeof v.name?v.name:void 0,children:e.children})});return(0,s.jsx)(e5.Provider,{value:v._parentRoute,children:(0,s.jsx)(e2.Provider,{value:v._route,children:(0,s.jsxs)("div",{role:"none",style:tc,children:[L,null!=b&&(0,s.jsx)(g.Badge,{...A,style:{marginLeft:4,color:null==(c=v._route.options)||null==(u=c.badge)?void 0:u.textColor,maxWidth:"10em"},dot:!1})]})})})},tR=e=>{var t;let{model:l}=e;if(!ty(l))return null;let o=null==(t=l.getRoute)?void 0:t.call(l);return(null==o?void 0:o.id)?(0,s.jsx)(u.DragHandler,{model:l}):null},tY=e=>{var t;let{item:l,dom:o,options:n,renderType:i}=e;if(!l||!i)return null;let r=(0,s.jsx)(tS,{tooltip:null==(t=l._route)?void 0:t.tooltip,children:o});return"group"===i?(0,s.jsx)(tn,{scopeId:l._route.schemaUid,type:"groupItem",children:(0,s.jsx)(tI,{item:l,options:n,children:r})}):(0,s.jsx)(tn,{scopeId:l._route.schemaUid,type:"menuItem",children:(0,s.jsx)(tD,{item:l,options:n,children:r})})},tE=e=>{let{depth:t,isMobile:l}=e;return t>1||l&&t>0},tN=()=>(0,s.jsx)("span",{"data-nb-hidden-menu-item":"true"}),tO=(0,u.observer)(e=>{let{model:t,item:l,dom:o,renderType:n,options:i}=e,r=t.context.themeToken;return((0,p.useEffect)(()=>{t.setProps({item:l,dom:o,renderType:n,options:i})},[o,l,t,i,n]),!t.context.flowSettingsEnabled&&t.hidden)?(0,s.jsx)(tN,{}):(0,s.jsx)(e1,{children:(0,s.jsx)(u.Droppable,{model:t,children:(0,s.jsx)(u.FlowModelRenderer,{model:t,showFlowSettings:{showBackground:!1,showBorder:!1,style:{left:-r.padding,right:-r.padding}},extraToolbarItems:[{key:"menu-drag-handler",component:tR,sort:1}]})})})});function tB(e,t,l){let o=(null==l?void 0:l.id)??(null==l?void 0:l.schemaUid)??(null==l?void 0:l.menuSchemaUid)??(null==l?void 0:l.title)??t.uid;return{key:"x-designer-button",name:(0,s.jsx)(tM,{testId:e,launcherModel:t,parentRoute:l}),path:tu("designer",o),disabled:!0,_route:{},_parentRoute:l,_launcherModel:t,icon:(0,s.jsx)(ed.In,{type:"setting"})}}let tH=(e,t,l)=>({name:l?(0,s.jsx)(tw,{icon:e.icon,title:t(e.title)}):t(e.title),icon:l?null:e.icon?(0,s.jsx)(ed.In,{type:e.icon}):null});var tV=__webpack_require__(4829),tq=__webpack_require__(8533),t$=__webpack_require__(7516);let tz=e=>({href:{title:e("URL"),type:"string","x-decorator":"FormItem","x-component":"FlowSettingsVariableTextArea","x-component-props":{placeholder:e("https://www.example.com"),rows:1,maxRows:1},description:e("Do not concatenate search params in the URL")},params:{type:"array",title:e("Search parameters"),"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:e("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":"FlowSettingsVariableTextArea","x-component-props":{placeholder:e("Value"),rows:1,maxRows:1,useTypedConstant:!0,changeOnSelect:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:e("Add parameter"),"x-component":"ArrayItems.Addition"}}},openInNewWindow:{type:"boolean","x-content":e("Open in new window"),"x-decorator":"FormItem","x-component":"Checkbox"}}),tK=async(e,t)=>{await e.request({method:"POST",url:"/uiSchemas:insert",data:t})},tU=e=>e&&"link"===e.menuType&&"insert"!==e.source?{openInNewWindow:!0}:{},tG=[{label:"Group",value:"group"},{label:"Page",value:"flowPage"},{label:"Link",value:"link"}],tW=e=>({title:{title:e("Menu item title"),required:!0,"x-decorator":"FormItem","x-component":"Input"},icon:{title:e("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}}),tJ=(e,t)=>Object.fromEntries(Object.entries(tz(e)).map(e=>{let[l,o]=e;return[l,{...o,"x-reactions":{dependencies:[t],fulfill:{state:{hidden:'{{$deps[0] !== "link"}}'}}}}]})),tX=e=>{var t,l,o;return{title:null==e?void 0:e.title,icon:null==e?void 0:e.icon,href:null==e||null==(t=e.options)?void 0:t.href,params:null==e||null==(l=e.options)?void 0:l.params,openInNewWindow:(null==e||null==(o=e.options)?void 0:o.openInNewWindow)!==!1}},tQ=(e,t)=>{let l=tW(e);return(null==t?void 0:t.menuType)==="link"&&Object.assign(l,tz(e)),l},tZ=e=>({menuType:{title:e("Menu type"),required:!0,enum:tG.map(t=>({label:e(t.label),value:t.value})),"x-decorator":"FormItem","x-component":"Radio.Group"},...tW(e),...tJ(e,"menuType")}),t0=e=>({title:e.title,hideInSettings:e.hideInSettings,defaultParams:async()=>({menuType:"flowPage"}),uiSchema:async e=>tZ(e.t),beforeParamsSave:async(t,l)=>{let o=t.model,n=o.getRoute();if(!n||e.canCreate&&!e.canCreate(n))return;let i=e.resolveParentRoute(t,n);await o.createMenuFromMeta({menuType:l.menuType,source:"insert",insertPosition:e.insertPosition,targetRoute:n,parentRoute:i},l)}}),t1=async(e,t)=>Promise.all((e||[]).filter(e=>"tabs"!==e.type).map(async e=>{var l,o;return{label:"string"==typeof e.title&&tr(e.title)?await (null==(l=t.resolveJsonTemplate)?void 0:l.call(t,e.title))??e.title:t.t(e.title),value:`${e.id}||${e.type}`,children:(null==(o=e.children)?void 0:o.length)?await t1(e.children,t):void 0}})),t2=(e,t)=>{if(t)for(let o=0;o<e.length;o++){var l;let n=e[o];if(n.id===t.id)return e[o-1];if(null==(l=n.children)?void 0:l.length){let e=t2(n.children,t);if(e)return e}}},t5=(e,t)=>{if(t)for(let o=0;o<e.length;o++){var l;let n=e[o];if(n.id===t.id)return e[o+1];if(null==(l=n.children)?void 0:l.length){let e=t5(n.children,t);if(e)return e}}},t8=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/";if(!e)return!1;let o=l&&"/"!==l?l.replace(/\/$/,""):"",n=o&&t.startsWith(o)?t.slice(o.length)||"/":t;return!![null!=e.id?`/admin/${e.id}`:null,e.schemaUid?`/admin/${e.schemaUid}`:null].filter(Boolean).some(e=>n===e||n.startsWith(`${e}/`))||!!Array.isArray(e.children)&&e.children.some(e=>t8(e,n,"/"))},t4=(e,t,l,o)=>"flowPage"===e?td({pageSchemaUid:t}):ts({pageSchemaUid:t,tabSchemaUid:l,tabSchemaName:o}),t3={beforeBegin:"insertBefore",afterEnd:"insertAfter"},t6=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={...e};return delete t.item,delete t.dom,delete t.options,delete t.renderType,t};class t9 extends u.FlowModel{onInit(e){super.onInit(e),this.syncFromRoute(this.props.route,this.props.parentRoute),this.shouldHydratePersistedState()&&this.hydratePersistedState()}syncFromRoute(e,t){(this.setProps({route:e,parentRoute:t}),(null==e?void 0:e.type)==="group")?tP(this,Array.isArray(e.children)?e.children:[],e):((this.subModels.menuItems||[]).forEach(e=>{this.flowEngine.removeModelWithSubModels(e.uid)}),delete this.subModels.menuItems)}getRoute(){return this.props.route}getParentRoute(){return this.props.parentRoute}getCreationMeta(){return this.props.creationMeta}isCreationSession(){var e;return!!(null==(e=this.getCreationMeta())?void 0:e.menuType)}shouldHydratePersistedState(){return!this.isCreationSession()&&(!!this.context.flowSettingsEnabled||this.hasPersistedMenuInstanceFlowFlag())}getRouteRepository(){return this.context.routeRepository}hasPersistedMenuInstanceFlowFlag(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getRoute();return(null==t||null==(e=t.options)?void 0:e.hasPersistedMenuInstanceFlow)===!0}getCurrentPersistedInstanceFlowCount(){return this.flowRegistry.getFlows().size}hasPersistableMenuLinkageRules(){let e=this.getStepParams("menuSettings","linkageRules");return Array.isArray(null==e?void 0:e.value)&&e.value.length>0}hasCurrentPersistedMenuState(){return this.getCurrentPersistedInstanceFlowCount()>0||this.hasPersistableMenuLinkageRules()}buildRouteOptionsWithPersistedFlowFlag(e){let t=this.getRoute(),l={...(null==t?void 0:t.options)||{}};return e?l.hasPersistedMenuInstanceFlow=!0:delete l.hasPersistedMenuInstanceFlow,Object.keys(l).length>0?l:void 0}async syncPersistedFlowRouteFlag(){if(this.isCreationSession())return;let e=this.getRoute();if((null==e?void 0:e.id)==null)return;let t=this.hasCurrentPersistedMenuState();if(this.hasPersistedMenuInstanceFlowFlag(e)===t)return;let l=this.buildRouteOptionsWithPersistedFlowFlag(t);await this.getRouteRepository().updateRoute(e.id,{options:l}),this.setProps({route:{...e,options:l}})}async destroyPersistedState(){var e,t;this.isCreationSession()||await (null==(t=this.flowEngine.modelRepository)||null==(e=t.destroy)?void 0:e.call(t,this.uid))}async hydratePersistedState(){if(!this.persistedStateHydrated)return this.persistedStateHydrating||(this.persistedStateHydrating=(async()=>{if(this.isCreationSession())return;let e=!1,t=this.flowEngine.modelRepository;if(!(null==t?void 0:t.findOne))return;let l=await t.findOne({uid:this.uid});if(null==l?void 0:l.uid){if(l.stepParams&&"object"==typeof l.stepParams&&(this.setStepParams(l.stepParams),e=this.hasPersistableMenuLinkageRules()),l.flowRegistry&&"object"==typeof l.flowRegistry){for(let e of[...this.flowRegistry.getFlows().keys()])this.flowRegistry.removeFlow(e);this.flowRegistry.addFlows(l.flowRegistry);let t=Object.values(l.flowRegistry).some(e=>{var t;return!!e&&!0!==e.manual&&(!e.on||("string"==typeof e.on?"beforeRender"===e.on:(null==(t=e.on)?void 0:t.eventName)==="beforeRender"))});e=e||t}e&&this.rerender()}})().finally(()=>{this.persistedStateHydrated=!0,this.persistedStateHydrating=void 0})),await this.persistedStateHydrating}hasPersistableInstanceFlows(){var e;let t=this.flowRegistry.getFlows().size,l=Object.keys((null==(e=this._options)?void 0:e.flowRegistry)||{}).length;return t>0||l>0}serialize(){let e=super.serialize();return e.props=t6(e.props),e}setHidden(e){let t=this.hidden;if(super.setHidden(e),t!==this.hidden){var l,o,n,i;null==(n=(i=this.flowEngine).getModel)||null==(o=n.call(i,eX))||null==(l=o.refreshMenuRouteTree)||l.call(o)}}renderHiddenInConfig(){let{item:e,dom:t,options:l,renderType:o}=this.props;return e&&o?(0,s.jsx)("div",{style:{opacity:.3},children:(0,s.jsx)(tY,{item:e,dom:t,options:l,renderType:o})}):null}async createMenuRoute(e,t){let{parentId:l,refreshAfterMutation:o=!0}=t||{},n={...e,parentId:l??e.parentId??void 0},i=o?void 0:{refreshAfterMutation:!1},{data:r}=await this.getRouteRepository().createRoute(n,i);return null==r?void 0:r.data}async createRouteForInsert(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:(()=>{var e;return(null==(e=this.getCreationMeta())?void 0:e.targetRoute)||this.getRoute()})(),o=await this.createMenuRoute(e,{parentId:"beforeEnd"===t?(null==l?void 0:l.id)||void 0:(null==l?void 0:l.parentId)||void 0,refreshAfterMutation:!1}),n=t3[t];if(n){try{await this.getRouteRepository().moveRoute({sourceId:null==o?void 0:o.id,targetId:null==l?void 0:l.id,sortField:"sort",method:n})}catch(e){throw await this.getRouteRepository().refreshAccessible(),e}return null==o?void 0:o.id}return await this.getRouteRepository().refreshAccessible(),null==o?void 0:o.id}async createMenuFromMeta(e,t){let l="flowPage"===e.menuType?"flowPage":"page"===e.menuType?"page":"group"===e.menuType?"group":"link",o=async t=>{var l;return e.insertPosition?this.createRouteForInsert(t,e.insertPosition,e.targetRoute):this.createMenuRoute(t,{parentId:null==(l=e.parentRoute)?void 0:l.id})};if("group"===e.menuType)return void await o({type:l,title:t.title,icon:t.icon,schemaUid:(0,A.uid)()});if("link"===e.menuType)return void await o({type:l,title:t.title,icon:t.icon,schemaUid:(0,A.uid)(),options:{href:t.href,params:t.params,openInNewWindow:t.openInNewWindow}});let n=(0,A.uid)(),i=(0,A.uid)(),r=(0,A.uid)(),a=(0,A.uid)();await o({type:l,title:t.title,icon:t.icon,schemaUid:n,menuSchemaUid:i,enableTabs:!1,children:[{type:"tabs",schemaUid:r,tabSchemaName:a,hidden:!0}]})}async persistMenuCreation(e){let t=this.getCreationMeta();t&&await this.createMenuFromMeta(t,e)}async updateMenuRoute(e){let t=this.getRoute();if((null==t?void 0:t.id)==null)return;let l={...e};e.options&&this.hasPersistedMenuInstanceFlowFlag(t)&&(l.options={...e.options,hasPersistedMenuInstanceFlow:!0}),await this.getRouteRepository().updateRoute(t.id,l),this.setProps({route:{...t,...l}})}async moveMenuRoute(e,t){var l,o,n,i,r;let a=this.getRoute(),[s,d]=(null==e||null==(l=e.split)?void 0:l.call(e,"||"))||[];if(s&&(null==a?void 0:a.id)!=null){if("beforeEnd"===t&&"group"!==d)throw Error((null==(n=this.context)||null==(o=n.t)?void 0:o.call(n,"Only groups support inner moves"))||"Only groups support inner moves");if("beforeEnd"===t&&String(a.id)===s)throw Error((null==(r=this.context)||null==(i=r.t)?void 0:i.call(r,"A menu group cannot be moved inside itself"))||"A menu group cannot be moved inside itself");await this.getRouteRepository().moveRoute({sourceId:a.id,sortField:"sort",method:"beforeEnd"===t?void 0:t3[t],..."beforeEnd"===t?{targetScope:{parentId:s}}:{targetId:s}})}}async saveStepParams(){if(this.isCreationSession()){if(this.creationPersisted)return!0;let e=this.getStepParams("menuCreation","basic");return await this.persistMenuCreation(e||{}),this.creationPersisted=!0,!0}return this.hasCurrentPersistedMenuState()?await super.saveStepParams():this.hasPersistedMenuInstanceFlowFlag()?await this.destroyPersistedState():this.hasPersistableInstanceFlows()&&await super.saveStepParams(),await this.syncPersistedFlowRouteFlag(),!0}async save(){if(this.isCreationSession()){if(!this.creationPersisted){let e=this.getStepParams("menuCreation","basic");await this.persistMenuCreation(e||{}),this.creationPersisted=!0}return this.remove(),!0}return await super.save(),await this.syncPersistedFlowRouteFlag(),!0}async destroy(){var e,t,l;if(this.isCreationSession())return this.remove();let o=this.getRoute();if(!(null==o?void 0:o.id))return!1;let n=this.getRouteRepository().listAccessible(),i=t8(o,(null==(e=this.context.location)?void 0:e.pathname)||window.location.pathname,null==(t=this.context.router)?void 0:t.basename),r=t2(n,o),a=t5(n,o);if(await this.getRouteRepository().deleteRoute(o.id),!i)return!0;let s=r||a;if(!s)return this.context.router.navigate("/"),!0;let d=eW({app:this.context.app,route:s});return!d.runtimePath||("document"===d.navigationMode?window.location.assign(d.runtimePath):this.context.router.navigate(eO(d.runtimePath,null==(l=this.context.router)?void 0:l.basename)),!0)}toProLayoutRoute(e){let t=this.props.route,l=this.props.parentRoute,o=e.depth||0;if(!t||"object"!=typeof t||!e.designable&&this.hidden)return null;let n=tE({depth:o,isMobile:e.isMobile}),{name:i,icon:r}=tH(t,e.t,n);if("link"===t.type)return{name:i,icon:r,path:tu("link",t.id??t.schemaUid??t.menuSchemaUid??t.title??this.uid),hideInMenu:t.hideInMenu,_route:t,_parentRoute:l,_depth:o,_model:this};if("page"===t.type||"flowPage"===t.type){let e=eW({app:this.context.app,route:t});return"unsupportedV2Runtime"===e.reason?null:{name:i,icon:r,path:t.schemaUid?`/admin/${t.schemaUid}`:tu("link",`${this.uid}-invalid`),redirect:t.schemaUid?`/admin/${t.schemaUid}`:void 0,hideInMenu:t.hideInMenu,disabled:!e.runtimePath,_runtimePath:e.runtimePath,_navigationMode:e.navigationMode,_isLegacy:e.isLegacy,_route:t,_parentRoute:l,_depth:o,_model:this}}if("group"===t.type){var a;let n=Array.isArray(t.children)?t.children:[],s=(this.subModels.menuItems||[]).map(t=>t.toProLayoutRoute({...e,depth:o+1})).filter(Boolean)||[];e.designable&&0===o&&s.push(tB("schema-initializer-Menu-side",this,t));let d=eN(this.context.app)?eK(n):eU(n),u=eW({app:this.context.app,route:eN(this.context.app)&&d?d:t}),c={name:i,icon:r,path:`/admin/${t.id}`,redirect:(null==(a=s[0])?void 0:a.key)==="x-designer-button"?void 0:`/admin/${(null==d?void 0:d.schemaUid)||t.id}`,hideInMenu:t.hideInMenu,_runtimePath:u.runtimePath,_navigationMode:u.navigationMode,_isLegacy:u.isLegacy,_route:t,_parentRoute:l,_depth:o,_model:this};return s.length>0&&(c.routes=s),c}return null}render(){return(0,s.jsx)(tY,{item:this.props.item,dom:this.props.dom,options:this.props.options,renderType:this.props.renderType})}constructor(...e){super(...e),this.creationPersisted=!1,this.persistedStateHydrated=!1}}t9.registerFlow({key:"menuCreation",title:"Add menu item",manual:!0,steps:{basic:{title:"Add menu item",preset:!0,hideInSettings:!0,defaultParams:async e=>tU(e.model.getCreationMeta()),uiSchema:async e=>tQ(e.t,e.model.getCreationMeta())}}}),t9.registerFlow({key:"menuSettings",title:"Menu settings",steps:{edit:{title:"Edit",defaultParams:async e=>tX(e.model.getRoute()),uiSchema:async e=>{let t=e.model.getRoute(),l=tW(e.t);return(null==t?void 0:t.type)==="link"&&Object.assign(l,tz(e.t)),l},beforeParamsSave:async(e,t)=>{var l;await e.model.updateMenuRoute({title:t.title,icon:t.icon,options:(null==(l=e.model.getRoute())?void 0:l.type)==="link"?{href:t.href,params:t.params,openInNewWindow:t.openInNewWindow}:void 0})}},editTooltip:{title:"Edit tooltip",defaultParams:async e=>{var t;return{tooltip:null==(t=e.model.getRoute())?void 0:t.tooltip}},uiSchema:async e=>({tooltip:{title:e.t("Tooltip"),"x-decorator":"FormItem","x-component":"Input.TextArea"}}),beforeParamsSave:async(e,t)=>{await e.model.updateMenuRoute({tooltip:t.tooltip})}},linkageRules:{use:"menuLinkageRules",hideInSettings:async e=>e.model.isCreationSession()},moveTo:{title:"Move to",defaultParams:async()=>({position:"afterEnd"}),uiSchema:async e=>{var t;let l=await t1(e.routeRepository.listAccessible(),e),o=null==(t=e.model.getRoute())?void 0:t.id,n=tC(void 0,o,e.t);return{target:{title:e.t("Target"),enum:l,required:!0,"x-decorator":"FormItem","x-component":"TreeSelect"},position:{title:e.t("Position"),required:!0,enum:n,"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[t=>{var l;let n=tC(null==(l=t.form.values)?void 0:l.target,o,e.t);t.dataSource=n,n.some(e=>e.value===t.value&&!e.disabled)||(t.value="afterEnd")}]}}},beforeParamsSave:async(e,t)=>{await e.model.moveMenuRoute(t.target,t.position)}},insertBefore:t0({title:"Insert before",insertPosition:"beforeBegin",resolveParentRoute:e=>e.model.getParentRoute()}),insertAfter:t0({title:"Insert after",insertPosition:"afterEnd",resolveParentRoute:e=>e.model.getParentRoute()}),insertInner:t0({title:"Insert inner",hideInSettings:async e=>{var t;return(null==(t=e.model.getRoute())?void 0:t.type)!=="group"},canCreate:e=>"group"===e.type,insertPosition:"beforeEnd",resolveParentRoute:(e,t)=>"group"===t.type?t:void 0})}});let t7=(0,p.createContext)(!0),le={display:"none"},lt=(0,p.memo)(e=>{let{children:t,active:l,parentActive:o}=e,n=(0,p.useContext)(h.UNSAFE_LocationContext),i=(0,p.useContext)(h.UNSAFE_RouteContext),r=(0,p.useContext)(h.UNSAFE_DataRouterContext),a=(0,p.useContext)(h.UNSAFE_DataRouterStateContext),d=(0,p.useContext)(tV.RouteContext),u=(0,p.useRef)(n),m=(0,p.useRef)(i),f=(0,p.useRef)(r),g=(0,p.useRef)(a),y=(0,p.useRef)(d);return l&&(f.current=r,g.current=a,y.current=d),l&&!c.default.isEqual(c.default.omit(u.current.location,"key"),c.default.omit(n.location,"key"))&&(u.current=n),l&&!c.default.isEqual(m.current,i)&&(m.current=i),(0,s.jsx)("div",{style:l?{height:"100%"}:le,children:(0,s.jsx)(tV.RouteContext.Provider,{value:y.current,children:(0,s.jsx)(h.UNSAFE_DataRouterContext.Provider,{value:f.current,children:(0,s.jsx)(h.UNSAFE_DataRouterStateContext.Provider,{value:g.current,children:(0,s.jsx)(h.UNSAFE_LocationContext.Provider,{value:u.current,children:(0,s.jsx)(h.UNSAFE_RouteContext.Provider,{value:m.current,children:(0,s.jsx)(t7.Provider,{value:!1!==o&&l,children:t})})})})})})})}),ll=()=>({active:(0,p.useContext)(t7)}),lo=5,ln=15,li=(()=>{let e=lo;try{let t=navigator.deviceMemory;if(t)return Math.min(Math.max(e,3*t),ln);let l=navigator.hardwareConcurrency;if(l)return l>=8?ln:l>=4?7:e;return e}catch(t){return e}})(),lr=p.default.memo(e=>{let{children:t,uid:l}=e,{active:o}=ll(),n=(0,p.useRef)([]);return!n.current.includes(l)&&(n.current.push(l),n.current.length>li&&(n.current=n.current.slice(-li))),(0,s.jsx)(s.Fragment,{children:n.current.map(e=>(0,s.jsx)(lt,{active:e===l,parentActive:o,children:t(e)},e))})});lr.displayName="KeepAlive";let la=(0,S.css)`
272
272
  display: flex;
273
273
  flex-direction: column;
274
274
  position: relative;
@@ -1181,7 +1181,7 @@ ctx.render(<JsItem />);
1181
1181
  display: flex;
1182
1182
  margin: 5px 0px;
1183
1183
  }
1184
- `,defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},enum:[{label:(0,cs.b2)({format:"MMMM Do YYYY"}),value:"MMMM Do YYYY"},{label:(0,cs.b2)({format:"YYYY-MM-DD"}),value:"YYYY-MM-DD"},{label:(0,cs.b2)({format:"MM/DD/YY"}),value:"MM/DD/YY"},{label:(0,cs.b2)({format:"YYYY/MM/DD"}),value:"YYYY/MM/DD"},{label:(0,cs.b2)({format:"DD/MM/YYYY"}),value:"DD/MM/YYYY"},{label:(0,u.tExpr)("Custom"),value:"custom"}],"x-reactions":[e=>{let{picker:t}=e.form.values;e.value=(0,A.getPickerFormat)(t),e.setComponentProps({picker:t})}]},showTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Show time")}}',"x-reactions":[{dependencies:["picker"],fulfill:{state:{hidden:"{{ $form.values.picker !== 'date' }}"}}},t=>{let{collectionField:l}=e.model.context,{picker:o}=t.form.values||{};t.hidden="dateOnly"===l.type||"date"!==o,"date"!==o&&(t.value=!1)}]},timeFormat:o}},defaultParams:e=>{let{showTime:t,dateFormat:l,format:o,timeFormat:n,picker:i}={...e.model.context.collectionField.getComponentProps(),...e.model.props},r=e.model.context.collectionField,a="time"===r.type||"time"===r.interface;return{picker:i||"date",dateFormat:l||"YYYY-MM-DD",timeFormat:n||(a?o:void 0)||"HH:mm:ss",showTime:t}},handler(e,t){let{collectionField:l}=e.model.context;if("time"===l.type||"time"===l.interface){let l=(null==t?void 0:t.timeFormat)||(null==t?void 0:t.format)||"HH:mm:ss";e.model.setProps({...t,timeFormat:l,format:l})}else e.model.setProps({...t,format:(null==t?void 0:t.showTime)?`${t.dateFormat} ${t.timeFormat}`:t.dateFormat})}});var gd=__webpack_require__(1793);function gu(e){if(""!==e&&null!=e)return e}let gc=(0,u.defineAction)({name:"dateRangeLimit",title:(0,u.tExpr)("Date range limit"),uiMode:{type:"dialog",props:{width:720}},uiSchema(e){var t,l;let o={targetPath:(null==(l=e.model.context)||null==(t=l.collectionField)?void 0:t.name)||"",enableDateVariableAsConstant:!0};return{_minDate:{type:"string",title:(0,u.tExpr)("MinDate"),"x-decorator":"FormItem","x-component":gd.zv,"x-component-props":o},_maxDate:{type:"string",title:(0,u.tExpr)("MaxDate"),"x-decorator":"FormItem","x-component":gd.zv,"x-component-props":o}}},defaultParams(e){var t,l;return{_minDate:gu(null==(t=e.model.props)?void 0:t._minDate),_maxDate:gu(null==(l=e.model.props)?void 0:l._maxDate)}},useRawParams:!0,async handler(e,t){e.model.setProps({_minDate:gu(null==t?void 0:t._minDate),_maxDate:gu(null==t?void 0:t._maxDate)})}}),gp=e=>e.filter(e=>{if(!e.interface)return!1;let t=e.getInterfaceOptions();return null!=t&&!!t.sortable}).map(e=>{var t;return{value:e.name,label:(null==e||null==(t=e.uiSchema)?void 0:t.title)||e.name}}),gm=(0,u.defineAction)({name:"sortingRule",title:(0,u.tExpr)("Default sorting"),uiSchema:e=>{var t;return{sort:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}},enum:gp((null==(t=e.collectionField)?void 0:t.targetCollection)?e.collectionField.targetCollection.getFields():e.blockModel.collection.getFields())},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:(0,u.tExpr)("ASC"),value:"asc"},{label:(0,u.tExpr)("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:(0,u.tExpr)("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},defaultParams:e=>({sort:[]}),async handler(e,t){var l;let o=t.sort.map(e=>"desc"===e.direction?`-${e.field}`:e.field),n=null==(l=e.model)?void 0:l.resource;n&&(e.model.setProps({globalSort:o}),n.setSort(o))}}),gh=(0,u.defineAction)({name:"dataLoadingMode",title:(0,u.tExpr)("Data loading mode"),uiMode:{type:"select",key:"mode",props:{options:[{value:"auto",label:(0,u.tExpr)("Load all data when filter is empty")},{value:"manual",label:(0,u.tExpr)("Do not load data when filter is empty")}]}},defaultParams:{mode:"auto"},hideInSettings:e=>{let t=e.blockModel,l=null==t?void 0:t.resource;return!l||!(l instanceof u.MultiRecordResource)},handler(e,t){let l=e.blockModel;if(!l)return;let o=l.resource;o instanceof u.MultiRecordResource&&("manual"!==t.mode||l.hasActiveFilters()?"auto"===t.mode&&o.refresh():(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1))}}),gf=(0,u.defineAction)({title:(0,u.tExpr)("Render mode"),name:"renderMode",uiMode(e){let t=e.t;return{type:"select",key:"textOnly",props:{options:[{label:t("Text only"),value:!0},{label:t("Html"),value:!1}]}}},hideInSettings:async e=>{var t,l,o;let n=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","overflowMode"))?void 0:t.overflowMode;return void 0===n?e.model.parent instanceof ck:!0===n||"ellipsis"===n},defaultParams:{textOnly:!0},handler(e,t){e.model.setProps({textOnly:t.textOnly})}}),gg=(0,u.defineAction)({title:(0,u.tExpr)("Set block layout"),name:"layout",uiSchema:{layout:{type:"string",enum:[{label:(0,u.tExpr)("Vertical"),value:"vertical"},{label:(0,u.tExpr)("Horizontal"),value:"horizontal"}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},labelAlign:{title:(0,u.tExpr)("Label align"),type:"string","x-decorator":"FormItem","x-component":"Select",enum:[{label:"{{t('Right')}}",value:"right"},{label:"{{t('Left')}}",value:"left"}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWidth:{title:(0,u.tExpr)("Label width"),type:"string",required:!0,"x-decorator":"FormItem","x-component":"NumberPicker","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:50}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWrap:{type:"string",title:(0,u.tExpr)("When the Label exceeds the width"),enum:[{label:(0,u.tExpr)("Line break"),value:!0},{label:(0,u.tExpr)("Ellipsis"),value:!1}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},colon:{type:"boolean","x-content":(0,u.tExpr)("Colon"),required:!0,"x-decorator":"FormItem","x-component":"Checkbox"}},defaultParams:e=>({layout:"vertical",labelAlign:"left",labelWidth:120,labelWrap:!0,colon:!0}),handler(e,t){e.model.setProps({...t,labelWidth:"vertical"===t.layout?null:t.labelWidth}),e.model.subModels.grid.findSubModel("items",e=>{e.setProps({...t,labelWidth:"vertical"===t.layout?"100%":t.labelWidth,labelWrap:"vertical"===t.layout||t.labelWrap})})}}),gy=(0,u.defineAction)({title:(0,u.tExpr)("Required"),name:"required",uiMode:e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[];return{type:"switch",key:"required",props:{disabled:n.concat(i).some(e=>"required"===e.name)}}},uiSchema:async e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[],r=n.concat(i).some(e=>"required"===e.name);return{required:{"x-component":"Switch","x-decorator":"FormItem","x-component-props":{checkedChildren:(0,u.tExpr)("Yes"),unCheckedChildren:(0,u.tExpr)("No")},"x-disabled":r}}},defaultParams:e=>({required:e.model.getProps().required}),handler(e,t){var l,o;let n=e.model.getProps().rules||[],i=((null==(o=e.model.collectionField)||null==(l=o.validation)?void 0:l.rules)||[]).some(e=>"required"===e.name);(n=n.filter(e=>!e.required),i)?e.model.setProps({rules:n,required:!0}):(t.required&&n.push({required:!0,message:e.t("The field value is required")}),e.model.setProps({rules:n,required:t.required}))}});function gv(e,t,l){let{collectionField:o}=e,n=t.getBindingsByField(e,o),i=t=>t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}});if(l){let r=t.getBindingsByField(e,o.targetCollection.getField(l));return[n.length&&{label:e.t("AssociationField component"),options:i(n)},{label:e.t("Title field component"),options:i(r)}].filter(Boolean)}return i(n)}let g_=(0,u.defineAction)({name:"displayFieldComponent",title:(0,u.tExpr)("Field component"),uiMode:e=>{let{titleField:t}=e.model.props;return{type:"select",key:"use",props:{options:gv(e,e.model.constructor,t)}}},hideInSettings:async e=>{let{titleField:t}=e.model.props;if(!e.collectionField||1===e.model.constructor.getBindingsByField(e,e.collectionField).length&&!t)return!0},beforeParamsSave:async(e,t,l)=>{if(!e.collectionField)return;let o=e.model.constructor.getBindingsByField(e,e.collectionField),{titleField:n}=e.model.props,i=[];n&&(i=e.model.constructor.getBindingsByField(e,e.collectionField.targetCollection.getField(n)));let r=o.concat(i).find(e=>e.modelName===t.use);t.use!==l.use&&await sp({parentModel:e.model,targetUse:t.use,defaultProps:"function"==typeof(null==r?void 0:r.defaultProps)?r.defaultProps(e,e.collectionField):null==r?void 0:r.defaultProps,pattern:e.model.getProps().pattern})},defaultParams:e=>{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:sc(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){let l=sc(e.model.subModels.field);t.use!==l&&e.model.setStepParams(e.flowKey,"model",{use:t.use})}}),gb=(0,u.defineAction)({title:(0,u.tExpr)("Field component"),name:"fieldComponent",uiMode:e=>{if("readPretty"===e.model.getProps().pattern){var t,l;let{titleField:o}=e.model.props,n=e.model.constructor.getBindingsByField(e,e.collectionField);return n&&(1!==n.length||o)?{type:"select",key:"use",props:{options:gv(e,sy,o||(null==(l=e.model.subModels.field.props)||null==(t=l.fieldNames)?void 0:t.label))}}:null}{let t=e.model.constructor.getBindingsByField(e,e.collectionField);return t&&1!==t.length?{type:"select",key:"use",props:{options:t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}})}}:null}},hideInSettings(e){let{titleField:t}=e.model.props,l=e.model.constructor.getBindingsByField(e,e.collectionField);if("readPretty"===e.model.getProps().pattern){if(!l||1===l.length&&!t)return!0}else if(!l||1===l.length)return!0},beforeParamsSave:async(e,t,l)=>{let o=e.model.constructor.getBindingsByField(e,e.collectionField),n=[];if("readPretty"===e.model.getProps().pattern){let{titleField:t}=e.model.props;o=sy.getBindingsByField(e,e.collectionField),t&&(n=sy.getBindingsByField(e,e.collectionField.targetCollection.getField(t)))}let i=o.concat(n).find(e=>e.modelName===t.use);if(t.use!==l.use){let l="function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,e.collectionField):null==i?void 0:i.defaultProps;await sp({parentModel:e.model,targetUse:t.use,defaultProps:l,pattern:e.model.getProps().pattern})}},defaultParams:e=>{let t="readPretty"===e.model.getProps().pattern?sy.getDefaultBindingByField(e,e.collectionField):e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:sc(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){}}),gx=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},gM=(0,u.defineAction)({name:"aclCheck",async handler(e,t){var l,o,n,i,r;if(e.skipAclCheck)return;let a=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:(null==(o=e.collectionField)?void 0:o.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:e.collectionField?null:null==(n=e.resource)?void 0:n.getMeta("allowedActions"),recordPkValue:gx((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(a||(e.model.hidden=!0,e.model.forbidden={actionName:e.actionName},e.exitAll()))}}),gw=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},gS=e=>{let t=null==e?void 0:e.model;t&&(t.forbidden&&(t.forbidden=null,"function"==typeof t.setHidden?t.setHidden(!1):t.hidden=!1),"function"==typeof t.setProps&&t.setProps({aclDisabled:void 0,aclCreateDisabled:void 0}))},gk=async e=>{var t,l,o,n,i,r,a,s,d;let u=await e.aclCheck({dataSourceKey:null==(t=e.dataSource)?void 0:t.key,resourceName:(null==(l=e.collectionField)?void 0:l.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:null==(n=e.resource)||null==(o=n.getMeta)?void 0:o.call(n,"allowedActions"),recordPkValue:gw((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(u||(null==(a=(s=e.model).setHidden)||a.call(s,!0),e.model.forbidden={actionName:e.actionName},null==(d=e.exitAll)||d.call(e)))},gF=async e=>{var t,l,o,n,i,r,a,s,d,u,c,p,m,h,f,g,y,v,_,b,x;if(!e.collectionField)return;let M=null==(l=e.blockModel)||null==(t=l.context)?void 0:t.actionName;if(!M)return;let w=await e.aclCheck({dataSourceKey:null==(o=e.dataSource)?void 0:o.key,resourceName:null==(n=e.collectionField)?void 0:n.collectionName,fields:[null==(i=e.collectionField)?void 0:i.name],actionName:M});if("update"===M){let t=await e.aclCheck({dataSourceKey:null==(r=e.dataSource)?void 0:r.key,resourceName:null==(a=e.collectionField)?void 0:a.collectionName,fields:[e.collectionField.name],actionName:"view"});e.prefixFieldPath&&e.item&&(await e.aclCheck({dataSourceKey:null==(d=e.dataSource)?void 0:d.key,resourceName:null==(u=e.collectionField)?void 0:u.collectionName,fields:[e.collectionField.name],actionName:"create"})||e.model.setProps({aclCreateDisabled:!0})),t||(null==(s=e.item)?void 0:s.__is_new__)||(null==(c=(p=e.model).setHidden)||c.call(p,!0),e.model.forbidden={actionName:"view"},null==(m=e.exitAll)||m.call(e)),w||e.model.setProps({aclDisabled:!0})}else if("create"===M){let t=await e.aclCheck({dataSourceKey:null==(h=e.dataSource)?void 0:h.key,resourceName:null==(f=e.collectionField)?void 0:f.collectionName,actionName:"update"}),l=await e.aclCheck({dataSourceKey:null==(g=e.dataSource)?void 0:g.key,resourceName:null==(y=e.collectionField)?void 0:y.collectionName,fields:[e.collectionField.name],actionName:"update"});w||(null==(v=e.item)?void 0:v.__is_stored__)||(null==(_=(b=e.model).setHidden)||_.call(b,!0),e.model.forbidden={actionName:M},null==(x=e.exitAll)||x.call(e)),t&&l||e.model.setProps({aclDisabled:!0})}},gC=(0,u.defineAction)({name:"aclCheckRefresh",async handler(e,t){let l=(null==t?void 0:t.strategy)||"default";if(gS(e),!e.skipAclCheck){if("formItem"===l)return void await gF(e);await gk(e)}}});function gA(e){var t,l,o,n,i;return(null==(n=e.model.subModels)||null==(o=n.field)||null==(l=o.props)||null==(t=l.fieldNames)?void 0:t.label)||e.model.props.titleField||(null==(i=e.collectionField)?void 0:i.targetCollectionTitleFieldName)}function gP(e){var t;let l=e.model.subModels.field,o=sc(l)??(null==l?void 0:l.use),n="string"==typeof o?e.engine.getModelClass(o):o;return((null==n||null==(t=n.meta)?void 0:t.preserveOnPatternChange)??!1)===!0}async function gT(e){var t,l,o,n,i,r,a;null==(t=(l=e.model).invalidateFlowCache)||t.call(l,"beforeRender",!0),await (null==(o=(n=e.model).rerender)?void 0:o.call(n));let s=e.model.parent;s&&(null==(i=s.invalidateFlowCache)||i.call(s,"beforeRender",!0),null==(r=s.setProps)||r.call(s,{__patternRefreshKey:(0,ny.uid)()}),await (null==(a=s.rerender)?void 0:a.call(s)))}let gj=(0,u.defineAction)({name:"pattern",title:(0,u.tExpr)("Display mode"),uiMode(e){let t=e.t;return{type:"select",key:"pattern",props:{options:[{value:"editable",label:t("Editable")},{value:"disabled",label:t("Disabled")},{value:"readPretty",label:t("Display only")}]}}},hideInSettings:e=>!e.model.collectionField||!1===e.model.collectionField.inputable,defaultParams:e=>({pattern:!1===e.model.collectionField.inputable||e.model.context.parentDisabled||e.model.props.disabled||e.model.collectionField.readonly?"disabled":"editable"}),afterParamsSave:async(e,t,l)=>{if(gP(e)){if(t.pattern!==l.pattern){var o,n;null==(n=e.model.subModels.field)||null==(o=n.scheduleApplyJsSettings)||o.call(n)}await gT(e);return}let i=e.collectionField.targetCollection,r=gA(e),a=null==i?void 0:i.getField(r),{model:s}=e,d=function(t){var l,o;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.collectionField;if(!t)return;let i="function"==typeof t.defaultProps?t.defaultProps(e,n):t.defaultProps;return(null==(o=e.collectionField)||null==(l=o.isAssociationField)?void 0:l.call(o))&&r?{...i||{},titleField:r}:i};if("readPretty"===t.pattern){let t=sy.getDefaultBindingByField(e,e.collectionField,{fallbackToTargetTitleField:!0,targetCollectionTitleField:a});await sp({parentModel:s,targetUse:t.modelName,defaultProps:d(t,a||e.collectionField)}),t.modelName&&e.model.setStepParams("editItemSettings","model",{use:t.modelName})}else{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField);"readPretty"===l.pattern&&await sp({parentModel:s,targetUse:t.modelName,defaultProps:d(t)})}await gT(e)},async beforeParamsSave(e,t,l){if("readPretty"===t.pattern){let t=gA(e);e.model.setProps({pattern:"readPretty",disabled:!1,titleField:t}),e.collectionField.isAssociationField()&&await e.model.setStepParams("editItemSettings","titleField",{titleField:t})}else e.model.setProps({disabled:"disabled"===t.pattern,pattern:"editable"})},handler(e,t){"readPretty"===t.pattern?e.model.setProps({pattern:"readPretty"}):e.model.setProps({disabled:"disabled"===t.pattern,pattern:null})}}),gI=(0,u.defineAction)({title:(0,u.tExpr)("Validation"),name:"validation",uiSchema:e=>{if(!e.model.collectionField)return;let t=e.model.collectionField.getInterfaceOptions();return(null==t?void 0:t.validationType)?{validation:{"x-decorator":"FormItem","x-component":ed.g7,"x-component-props":{type:t.validationType,availableValidationOptions:[...new Set(t.availableValidationOptions)],excludeValidationOptions:[...new Set(t.excludeValidationOptions)],isAssociation:t.isAssociation}}}:null},handler(e,t){if(t.validation){let l=[],o=(0,u.jioToJoiSchema)(t.validation),n=e.model.props.label;l.push({validator:(t,l)=>{let{error:i}=o.validate(l,{abortEarly:!1});if(i){let t=i.details.map(t=>e.t(`${t.type}`,{...t.context,ns:"data-source-main",label:n})),l=document.createElement("div");return l.innerHTML=t.join("; "),Promise.reject(l.textContent)}return Promise.resolve()}});let i=t.validation.rules.some(e=>"required"===e.name);i&&e.model.setProps({required:i}),console.log(l),e.model.setProps({rules:l,validation:t.validation})}}}),gL=(0,u.defineAction)({title:(0,u.tExpr)("Fixed"),name:"fixed",uiMode:e=>{let t=e.t;return{type:"select",key:"fixed",props:{options:[{label:t("Not fixed"),value:"none"},{label:t("Left fixed"),value:"left"},{label:t("Right fixed"),value:"right"}]}}},defaultParams:{fixed:"none"},handler(e,t){e.model.setProps("fixed",t.fixed)}});function gD(e){return(0,sm.Gj)(e)}function gR(e,t){var l,o,n,i,r;let a=e=>{if(null==e)return null;if(Array.isArray(e)){let t=e.map(e=>String(e??"")).filter(Boolean);return t.length?t[t.length-1]:null}return String(e)},s=a(null==e||null==(l=e.props)?void 0:l.label);if(s)return t(s);let d=null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.context)?void 0:o.collectionField,u=a(null==d?void 0:d.title);if(u)return t(u);let c=a(null==e||null==(r=e.props)?void 0:r.name)||a(null==e?void 0:e.fieldPath);return c?c.includes(".")?c.split(".").filter(Boolean).slice(-1)[0]||c:t(c):""}function gY(e){let t=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);return t.length?t[t.length-1]:""}function gE(e){var t;if(!e||"object"!=typeof e)return null;let l=(null==e?void 0:e.collection)||(null==e||null==(t=e.context)?void 0:t.collection);return l&&"object"==typeof l?l:null}function gN(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{associationDepth:o=0,maxAssociationFieldDepth:n=2}=l,i="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],r=[];for(let e of i){var a;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let s=String(l.name||"");if(!s)continue;let d=t("string"==typeof l.title?l.title:s),u=!!((null==(a=l.isAssociationField)?void 0:a.call(l))||l.target||l.targetCollection),c=!!l.targetCollection;u&&o>=n||r.push({label:d,value:s,isLeaf:!(u&&c)})}return r}function gO(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[],n=new Set;for(let e of l){let t=(null==e?void 0:e.value)?String(e.value):"";t&&n.add(t)}return[...l,...o.filter(e=>{let t=(null==e?void 0:e.value)?String(e.value):"";return!!t&&!n.has(t)})]}function gB(e){var t,l,o;let{formBlockModel:n,t:i,maxFormItemDepth:r=1/0,maxAssociationFieldDepth:a=2}=e,s=(null==n||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[],d=gE(n),u=(e,t)=>{if(!Array.isArray(e)||t>r)return[];let l=[];for(let r of e){var o,n,s,d,c,p;if(!r)continue;let e=gR(r,i),m=gD(r);if(!m)continue;let h=gY(m);if(!h)continue;let f={label:e,value:h},g=null==r||null==(o=r.subModels)?void 0:o.field,y=null==g||null==(d=g.subModels)||null==(s=d.grid)||null==(n=s.subModels)?void 0:n.items,v=null==g||null==(c=g.context)?void 0:c.collectionField,_=!!((null==v||null==(p=v.isAssociationField)?void 0:p.call(v))||(null==v?void 0:v.target)||(null==v?void 0:v.targetCollection)),b=!!(null==v?void 0:v.targetCollection),x=_?m.split(".").filter(Boolean).length:0;if(!_||!(x>a)){if(Array.isArray(y)){if(_&&b)f.isLeaf=!1;else{let e=y.length?u(y,t+1):[];e.length?(f.children=e,f.isLeaf=!1):f.isLeaf=!0}l.push(f);continue}_&&b?f.isLeaf=!1:f.isLeaf=!0,l.push(f)}}return l};return gO(u(s,1),gN(d,i,{maxAssociationFieldDepth:a}))}let gH=e=>{let{t,fieldOptions:l,rootCollection:o,value:n,onChange:i,defaultMode:r="assign",fixedMode:a,showCondition:d=!0,showEnable:c=!0,showValueEditorWhenNoField:m=!1,getValueInputProps:h,isTitleFieldCandidate:f,onSyncAssociationTitleField:y,enableDateVariableAsConstant:v=!1,maxAssociationFieldDepth:_=2}=e,b=p.default.useMemo(()=>Array.isArray(n)?n:[],[n]),[x,M]=p.default.useState(()=>Array.isArray(l)?l:[]);p.default.useEffect(()=>{M(Array.isArray(l)?l:[])},[l]);let w=p.default.useCallback((e,t)=>(null==e?void 0:e.key)||String(t),[]),[S,k]=p.default.useState({}),[F,C]=p.default.useState({}),[A,P]=p.default.useState(null);p.default.useEffect(()=>{let e=new Set(b.map((e,t)=>w(e,t)));k(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=i:o=!0;return o?l:t}),C(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=!!i:o=!0;return o?l:t}),A&&!e.has(A)&&P(null)},[w,A,b]);let T=p.default.useCallback(e=>{let t=String(e||"");return t?t.split(".").map(e=>e.trim()).filter(Boolean):[]},[]),j=p.default.useCallback(e=>{var t;return!!((null==e||null==(t=e.isAssociationField)?void 0:t.call(e))||(null==e?void 0:e.target)||(null==e?void 0:e.targetCollection))},[]),I=p.default.useCallback((e,l,o)=>{if(!(null==e?void 0:e.getFields)||o.has(e))return[];let n=new Set(o);n.add(e);let i=("function"==typeof e.getFields?e.getFields():[])||[],r=[];for(let e of i){if(!e)continue;let o=e,i="string"==typeof o.interface?o.interface:void 0;if(!i||"formula"===i)continue;let a=String(o.name||"");if(!a)continue;let s=t("string"==typeof o.title?o.title:a),d={name:a,title:s,type:String(o.type||"string"),interface:i,uiSchema:o.uiSchema,paths:[...l,a]},u=j(o),c=(0,sm.E4)(o);u&&!c&&o.targetCollection&&(d.children=async()=>I(o.targetCollection,[...l,a],n)),r.push(d)}return r},[j,t]),L=p.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return;let l=T(e);if(!l.length)return;let n=[],i=o;for(let e=0;e<l.length;e++){var r;let o=l[e],a=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!j(a))break;let s=(0,sm.E4)(a),d=null==a?void 0:a.targetCollection;if(!d)break;let u=t("string"==typeof a.title?a.title:o);n.push({collection:d,toMany:s,viaLabel:u}),i=d}if(n.length<=0)return;let a=(e,l,o,i)=>{let r=n[e]||n[0],s=[];r.toMany&&(s.push({title:t("Index (starts from 0)"),name:"index",type:"number",paths:[...l,"index"]}),s.push({title:t("Total count"),name:"length",type:"number",paths:[...l,"length"]})),s.push({title:t("Attributes"),name:"value",type:"object",paths:[...l,"value"],children:async()=>I(r.collection,[...l,"value"],new Set)}),e-1>=0&&s.push(a(e-1,[...l,"parentItem"],"parentItem","Parent item"));let d=null==r?void 0:r.viaLabel;return{title:d?`${t(i)}(${d})`:t(i),name:o,type:"object",paths:l,children:s}};return[a(n.length-1,["item"],"item","Current item")]},[I,j,T,o,t]),D=(e,t)=>{let l=b.map((l,o)=>o===e?{...l,...t}:l);null==i||i(l)},R=e=>{let t=w(b[e],e);k(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),C(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),A===t&&P(null);let l=b.filter((t,l)=>l!==e);null==i||i(l)},Y=(e,t)=>{let l=[...b],o="up"===t?e-1:e+1;if(o<0||o>=l.length)return;let[n]=l.splice(e,1);l.splice(o,0,n),null==i||i(l)},E=()=>{let e=[...b,{key:(0,ny.uid)(),enable:!0,mode:a||r,condition:{logic:"$and",items:[]},targetPath:void 0,value:void 0}];null==i||i(e)},N=e=>a||((null==e?void 0:e.mode)==="default"?"default":"assign"),O=p.default.useCallback(e=>{let l="default"===e?t("Default value"):t("Fixed value"),o="default"===e?t("A pre-filled value. Editable, for new entries only, and won’t affect existing data (including empty values)."):t("A system-set value. Read-only."),n=e=>{e.preventDefault(),e.stopPropagation()};return(0,s.jsxs)(g.Space,{size:4,children:[(0,s.jsx)("span",{children:l}),(0,s.jsx)(g.Tooltip,{title:o,children:(0,s.jsx)(eQ.QuestionCircleOutlined,{style:{cursor:"help",opacity:.65,fontSize:12},onMouseDown:n,onClick:n})})]})},[t]),B=e=>{let l=T(e);if(!l.length)return;if(!(null==o?void 0:o.getField))return l.join(" / ");let n=[],i=o;for(let e=0;e<l.length;e++){var r;let o=l[e],a=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!a){n.push(o);continue}n.push(t("string"==typeof a.title?a.title:o)),j(a)&&(null==a?void 0:a.targetCollection)&&(i=a.targetCollection)}return n.filter(Boolean).join(" / ")},H=p.default.useCallback(e=>{let l=T(e);if(!l.length||!(null==o?void 0:o.getField))return null;let n=o,i=null;for(let e=0;e<l.length;e++){var r,a,s,d,u;let o=String(l[e]);if(!(i=(null==n||null==(r=n.getField)?void 0:r.call(n,o))||null))break;if(e===l.length-1){if(!j(i)||!(null==i?void 0:i.targetCollection))return null;let e=i.targetCollection,l=("function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[]).filter(t=>{if(!t)return!1;if("function"==typeof f)return!!f(t,e);let l="string"==typeof t.interface?t.interface:void 0;return!!l&&"formula"!==l}).map(e=>{let l=String((null==e?void 0:e.name)||"");return l?{value:l,label:t("string"==typeof(null==e?void 0:e.title)?e.title:l)}:null}).filter(Boolean),o="string"==typeof(null==e?void 0:e.titleField)&&e.titleField?e.titleField:void 0,n="string"==typeof(null==e||null==(a=e.options)?void 0:a.titleField)&&(null==(s=e.options)?void 0:s.titleField)?null==(d=e.options)?void 0:d.titleField:void 0,r="string"==typeof(null==i?void 0:i.targetCollectionTitleFieldName)&&i.targetCollectionTitleFieldName?i.targetCollectionTitleFieldName:void 0,c=o||n||r;if(c&&!l.some(e=>e.value===c)){let o="function"==typeof(null==e?void 0:e.getField)&&(null==(u=e.getField(c))?void 0:u.title)||c;l.unshift({value:c,label:t("string"==typeof o?o:c)})}let p="string"==typeof(null==i?void 0:i.targetKey)&&i.targetKey||(null==e?void 0:e.filterTargetKey)||(null==e?void 0:e.filterByTk)||"id";return{associationField:i,targetCollection:e,currentTitleField:c,valueKey:p,candidates:l}}if(!j(i)||!(null==i?void 0:i.targetCollection))break;n=i.targetCollection}return null},[j,f,T,o,t]),V=p.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return null;let t=o;for(let o of e){var l;let e=null==t||null==(l=t.getField)?void 0:l.call(t,o);if(!j(e)||!(null==e?void 0:e.targetCollection))return null;t=e.targetCollection}return t||null},[j,o]),q=p.default.useCallback((e,l)=>gN(e,t,{associationDepth:l,maxAssociationFieldDepth:_}),[_,t]),$=p.default.useCallback(async e=>{let t=e||[],l=t[t.length-1];if(!l||l.children&&Array.isArray(l.children)&&l.children.length||l.isLeaf)return;let o=t.map(e=>String(null==e?void 0:e.value)).filter(Boolean),n=V(o);if(!n){l.isLeaf=!0,M(e=>[...e]);return}let i=q(n,o.length);i.length?l.children=i:l.isLeaf=!0,M(e=>[...e])},[q,V]),z=p.default.useCallback(async e=>{if(!e.length)return;let t=x,l=[];for(let n=0;n<e.length-1;n++){var o;let i=String(e[n]),r=t.find(e=>String(null==e?void 0:e.value)===i);if(!r)return;if(l.push(r),null==(o=r.children)?void 0:o.length){t=r.children;continue}if(r.isLeaf)return;await $(l),t=r.children||[]}},[x,$]),K=p.default.useMemo(()=>{let e=[],t=new Set;for(let l of b){let o=(null==l?void 0:l.targetPath)?String(l.targetPath):"";o&&(t.has(o)||(t.add(o),e.push(o)))}return e},[b]);p.default.useEffect(()=>{let e=!1;return(async()=>{for(let t of K){if(e)return;let l=T(t);l.length&&await z(l)}})(),()=>{e=!0}},[T,z,K]);let U=(e,l)=>{let o="default"===N(e)?t("Default value"):t("Fixed value"),n=B(e.targetPath),i=n?String(n):t("Please select field");return(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,s.jsxs)("div",{style:{flex:1,marginRight:16,minWidth:0,display:"flex",alignItems:"center",gap:8},children:[(0,s.jsx)("div",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},title:i,children:i}),(0,s.jsx)("div",{style:{opacity:.65,fontSize:12,whiteSpace:"nowrap"},children:o})]}),(0,s.jsxs)(g.Space,{onClick:e=>e.stopPropagation(),children:[(0,s.jsx)(g.Tooltip,{title:t("Delete"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.DeleteOutlined,{}),onClick:()=>R(l),"aria-label":t("Delete")})}),(0,s.jsx)(g.Tooltip,{title:t("Move up"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.ArrowUpOutlined,{}),onClick:()=>Y(l,"up"),disabled:0===l,"aria-label":t("Move up")})}),(0,s.jsx)(g.Tooltip,{title:t("Move down"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.ArrowDownOutlined,{}),onClick:()=>Y(l,"down"),disabled:l===b.length-1,"aria-label":t("Move down")})}),c&&(0,s.jsx)(g.Switch,{size:"small",checked:!1!==e.enable,onChange:e=>D(l,{enable:e}),checkedChildren:t("Enable"),unCheckedChildren:t("Disable")})]})]})},G=b.map((e,l)=>{var o;let n=N(e),i=L(e.targetPath),r=w(e,l),c=H(e.targetPath),p=S[r],f="string"==typeof p&&p||"string"==typeof(null==e?void 0:e.valueTitleField)&&e.valueTitleField||(null==c?void 0:c.currentTitleField)||void 0,b=!f||!c||!!c.candidates.some(e=>e.value===f),M=b?f:(null==c?void 0:c.currentTitleField)||void 0,j=!!c,I=!!(null==c||null==(o=c.candidates)?void 0:o.length),R=A===r,Y=!!y&&j&&I&&b&&!!M&&M!==(null==c?void 0:c.currentTitleField)&&!R,E=!(0,u.isVariableExpression)(null==e?void 0:e.value)&&!(0,u.isRunJSValue)(null==e?void 0:e.value)&&(null==e?void 0:e.value)!==null,B=j&&E,V=B&&!!F[r],q=j?(0,s.jsxs)(g.Space.Compact,{size:"small",onClick:e=>e.stopPropagation(),children:[(0,s.jsx)(g.Select,{size:"small",style:{minWidth:160},value:M,placeholder:I?t("Please select field"):t("No available title fields"),options:(null==c?void 0:c.candidates)||[],disabled:!I||R,allowClear:!1,onChange:e=>{let t=String(e||""),o=t&&t!==(null==c?void 0:c.currentTitleField)?t:void 0;k(e=>{let t=Object.prototype.hasOwnProperty.call(e,r);if(!o){if(!t)return e;let l={...e};return delete l[r],l}return e[r]===o?e:{...e,[r]:o}}),D(l,{valueTitleField:o})}}),(0,s.jsx)(g.Tooltip,{title:Y?t("Sync selected title field to collection"):t("Please choose a different title field before syncing"),children:(0,s.jsx)(g.Popconfirm,{title:t("Sync title field"),description:t("This will update the collection title field globally. Continue?"),okText:t("OK"),cancelText:t("Cancel"),disabled:!Y,onConfirm:async()=>{if(c&&M&&"function"==typeof y&&c.candidates.some(e=>e.value===M)){P(r);try{await y({ruleItem:e,ruleIndex:l,targetPath:e.targetPath,associationField:c.associationField,targetCollection:c.targetCollection,titleField:M}),k(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t}),D(l,{valueTitleField:void 0})}catch(e){console.warn("[FieldAssignRulesEditor] Failed to sync title field",e)}finally{P(e=>e===r?null:e)}}},children:(0,s.jsx)(g.Button,{size:"small",icon:(0,s.jsx)(eQ.SyncOutlined,{spin:R}),disabled:!Y,"aria-label":t("Sync title field")})})})]}):null;return{key:e.key||String(l),label:U(e,l),styles:{header:{display:"flex",alignItems:"center"}},children:(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Field")}),(0,s.jsx)(g.Cascader,{value:T(e.targetPath),placeholder:t("Please select field"),style:{width:"100%"},options:x,loadData:$,changeOnSelect:!0,showSearch:{filter:(e,t)=>{let l=String(e||"").toLowerCase();return!l||(t||[]).some(e=>String((null==e?void 0:e.label)??"").toLowerCase().includes(l))}},allowClear:!0,onChange:t=>{let o=Array.isArray(t)?t.map(e=>String(e)).filter(Boolean):[],n=o.length?o.join("."):void 0,i=n!==e.targetPath;i&&(k(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t}),C(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t})),D(l,{targetPath:n,valueTitleField:i?void 0:e.valueTitleField,value:i?void 0:e.value})}})]}),(m||!!e.targetPath)&&(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Value")}),(0,s.jsx)(gd.zv,{targetPath:e.targetPath||"",value:e.value,onChange:e=>D(l,{value:e}),extraMetaTree:i,maxAssociationFieldDepth:_,...(null==h?void 0:h(e,l))||{},enableDateVariableAsConstant:v,associationFieldNamesOverride:c&&M?{label:M,value:c.valueKey}:void 0},`${e.targetPath||"no-field"}::${M||""}`),B&&(0,s.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:6},children:(0,s.jsx)(g.Popover,{trigger:"click",open:V,onOpenChange:e=>{C(t=>({...t,[r]:e}))},placement:"bottomRight",title:t("Advanced"),content:(0,s.jsx)("div",{style:{minWidth:280},children:(0,s.jsxs)(g.Space,{size:8,align:"center",wrap:!0,children:[(0,s.jsx)("span",{style:{fontSize:12,opacity:.75},children:t("Title field")}),q]})}),children:(0,s.jsx)(g.Button,{type:"link",size:"small",style:{paddingInline:0,height:"auto"},icon:V?(0,s.jsx)(eQ.UpOutlined,{}):(0,s.jsx)(eQ.DownOutlined,{}),children:t("Advanced")})})})]}),!a&&(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Assignment mode")}),(0,s.jsx)(g.Radio.Group,{value:n,style:{width:"100%"},onChange:e=>D(l,{mode:e.target.value}),children:(0,s.jsxs)(g.Space,{size:16,children:[(0,s.jsx)(g.Radio,{value:"default",children:O("default")}),(0,s.jsx)(g.Radio,{value:"assign",children:O("assign")})]})})]}),d&&(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Condition")}),(0,s.jsx)(r9.H,{value:e.condition||{logic:"$and",items:[]},onChange:e=>D(l,{condition:e}),extraMetaTree:i,maxAssociationFieldDepth:2})]})]})}}),W=p.default.useMemo(()=>{if(!b.length)return[];let e=-1;for(let l=b.length-1;l>=0;l--){var t;if((null==(t=b[l])?void 0:t.enable)!==!1){e=l;break}}let l=e>=0?e:0,o=b[l],n=(null==o?void 0:o.key)||String(l);return n?[n]:[]},[b]);return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[b.length?(0,s.jsx)(g.Collapse,{items:G,size:"small",style:{marginBottom:8},defaultActiveKey:W,accordion:!0}):(0,s.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:6,backgroundColor:"#fafafa",marginBottom:8},children:(0,s.jsx)(g.Empty,{description:t("No data"),style:{margin:"20px 0"}})}),(0,s.jsx)(g.Button,{type:"dashed",icon:(0,s.jsx)(eQ.PlusOutlined,{}),onClick:E,style:{width:"100%"},children:t("Add")})]})};function gV(e,t){var l;let o="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;return!!e&&!!o&&!!(null==(l=(0,u.getCollectionFieldInterface)(o,e))?void 0:l.titleUsable)}function gq(e){let t=(null==e?void 0:e.dataSourceKey)??(null==e?void 0:e.dataSource);return"string"==typeof t&&t?t:ed.Ze}function g$(e){let t=null==e?void 0:e.name;if("string"==typeof t&&t)return t;throw Error("Target collection name is required for syncing title field.")}function gz(e){return e&&e!==ed.Ze?`dataSources/${e}/collections:update`:"collections:update"}async function gK(e){var t,l;let{api:o,dataSourceManager:n,targetCollection:i,titleField:r}=e;if("function"!=typeof(null==o?void 0:o.request))throw Error("API client is unavailable.");if("string"!=typeof r||!r)throw Error("Title field is required.");let a=g$(i),s=gq(i);await o.request({url:gz(s),method:"post",params:{filterByTk:a},data:{titleField:r}}),null==i||null==(t=i.setOption)||t.call(i,"titleField",r);let d=null==n||null==(l=n.getDataSource)?void 0:l.call(n,s);return d&&"function"==typeof d.reload&&await d.reload(),{dataSourceKey:s,collectionName:a,titleField:r}}function gU(e){let{api:t,dataSourceManager:l}=(0,u.useFlowContext)();return{isTitleFieldCandidate:p.default.useCallback(e=>gV(l,e),[l]),onSyncAssociationTitleField:p.default.useCallback(async o=>{let{targetCollection:n,titleField:i}=o;try{await gK({api:t,dataSourceManager:l,targetCollection:n,titleField:i}),g.message.success(e("Saved successfully"))}catch(l){let t=(null==l?void 0:l.message)?String(l.message):e("Save failed");throw g.message.error(t),l}},[t,l,e])}}var gG=__webpack_require__(3127);let gW=(0,u.observer)(e=>{let t=(0,u.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=gU(l),i="function"==typeof e.onChange,r=p.default.useMemo(()=>gB({formBlockModel:t.model,t:l}),[t.model]),a=p.default.useMemo(()=>(0,gG.K7)(t.model),[t.model]),d=p.default.useMemo(()=>(0,ul.PP)(t.model,"formModelSettings","assignRules"),[t.model]),m=p.default.useRef(!1),[h,f]=p.default.useState(!1),g=p.default.useCallback(()=>{m.current||(m.current=!0,f(!0))},[]),y=p.default.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),v=p.default.useMemo(()=>d?y:(0,gG.S2)(e.value,a),[d,a,y,e.value]),_=p.default.useMemo(()=>i&&h?y:v,[i,h,v,y]),b=p.default.useCallback(t=>{var l;i&&(g(),null==(l=e.onChange)||l.call(e,t))},[i,g,e.onChange]);return p.default.useEffect(()=>{if(!m.current&&i){if(d)return void g();if(!(0,c.isEqual)(y,v)){var t;null==(t=e.onChange)||t.call(e,v)}g()}},[i,d,v,g,y,e.onChange]),(0,s.jsx)(gH,{t:l,fieldOptions:r,rootCollection:(0,sm.w7)(t.model),value:_,onChange:b,showValueEditorWhenNoField:!0,isTitleFieldCandidate:o,onSyncAssociationTitleField:n,enableDateVariableAsConstant:!0})}),gJ=(0,u.defineAction)({name:"formAssignRules",title:(0,u.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":gW}}),defaultParams:{value:[]},handler(){}}),gX=(0,u.observer)(e=>{let t=(0,u.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=gU(l),i="function"==typeof e.onChange,r=p.default.useMemo(()=>gB({formBlockModel:t.model,t:l}),[t.model]),a=p.default.useMemo(()=>ur(t.model),[t.model]),d=p.default.useMemo(()=>(0,ul.PP)(t.model,"formFilterBlockModelSettings","defaultValues"),[t.model]),m=p.default.useCallback(e=>{var l,o,n,i;let r=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!r)return{};let a=(0,sm.eo)(t.model,r);return a?{operator:rj(a),operatorMetaList:(null==a||null==(o=a.collectionField)||null==(l=o.filterable)?void 0:l.operators)||((null==a||null==(i=a.context)||null==(n=i.filterField)?void 0:n.type)?null===ed.II||void 0===ed.II?void 0:ed.II[a.context.filterField.type]:[])||[],preferFormItemFieldModel:!0}:{}},[t.model]),h=p.default.useRef(!1),[f,g]=p.default.useState(!1),y=p.default.useCallback(()=>{h.current||(h.current=!0,g(!0))},[]),v=p.default.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),_=p.default.useMemo(()=>d?v:(0,ul.S2)(e.value,a),[d,a,v,e.value]),b=p.default.useMemo(()=>i&&f?v:_,[i,f,_,v]),x=p.default.useCallback(t=>{var l;i&&(y(),null==(l=e.onChange)||l.call(e,t))},[i,y,e.onChange]);return p.default.useEffect(()=>{if(!h.current&&i){if(d)return void y();if(!(0,c.isEqual)(v,_)){var t;null==(t=e.onChange)||t.call(e,_)}y()}},[i,d,_,y,v,e.onChange]),(0,s.jsx)(gH,{t:l,fieldOptions:r,rootCollection:(0,sm.w7)(t.model),value:b,onChange:x,showValueEditorWhenNoField:!0,getValueInputProps:m,isTitleFieldCandidate:o,onSyncAssociationTitleField:n,enableDateVariableAsConstant:!0})}),gQ=(0,u.defineAction)({name:"filterFormDefaultValues",title:(0,u.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":gX}}),defaultParams:{value:[]},handler(){}}),gZ=(0,u.defineAction)({name:"linkageRulesRefresh",async handler(e,t){var l,o,n,i,r;let a=null==t?void 0:t.actionName,s=null==t?void 0:t.flowKey,d=(null==t?void 0:t.stepKey)||"linkageRules";if(!a||!s)return;let u=e.model;if(!u.getFlow(s))return;let c=!!((null==e?void 0:e.flowSettingsEnabled)||(null==u||null==(o=u.context)?void 0:o.flowSettingsEnabled)),p=!(null==u?void 0:u.isFork)&&!!(null==u||null==(n=u.forks)?void 0:n.size)&&Array.from((null==u?void 0:u.forks)||[]).some(e=>{var t;return!!e&&!e.disposed&&!!(null==e||null==(t=e.getFlow)?void 0:t.call(e,s))}),m=!!(null==u||null==(r=u.context)||null==(i=r.ref)?void 0:i.current);if(p&&!m&&!c)return;let h=`${s}:${d}:${a}`,f=(l=u).__linkageRulesRefreshInflight||(l.__linkageRulesRefreshInflight=new Map),g=f.get(h);if(g)return void await g;let y=(async()=>{var t,l;let o=null==u||null==(t=u.getStepParams)?void 0:t.call(u,s,d),n=null==(l=e.getAction)?void 0:l.call(e,a),i=(null==n?void 0:n.useRawParams)?{value:[],...o||{}}:await e.resolveJsonTemplate({value:[],...o||{}});(null==n?void 0:n.handler)&&await n.handler(e,i)})();f.set(h,y);try{await y}finally{f.delete(h)}}}),g0="defaultHeight",g1="specifyValue",g2="fullHeight",g5=(0,u.defineAction)({name:"blockHeight",title:(0,u.tExpr)("Block height"),uiMode:{type:"dialog"},uiSchema:e=>{let{t}=e;return{heightMode:{type:"string",enum:[{label:t("Default"),value:g0},{label:t("Specify height"),value:g1},{label:t("Full height"),value:g2}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:t("Height"),type:"number",required:!0,"x-decorator":"FormItem","x-component":g.InputNumber,"x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},defaultParams:e=>({heightMode:g0}),async handler(e,t){e.model.setDecoratorProps({heightMode:t.heightMode,height:t.height})}});var g8=__webpack_require__(5886);let g4="formValuesChange",g3="__formValueDrivenLinkageRefreshBindings";function g6(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function g9(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function g7(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,i5.Qc)(l),l);return Array.from(t.values())}function ye(e){let t=g7(e);return t.filter((e,l)=>!t.some((t,o)=>o!==l&&g9(e,t)))}function yt(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,o]=e.split(":"),n=Number(o);!t||Number.isNaN(n)||l.push({name:t,index:n})}return l}function yl(e){var t,l;return yt((null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function yo(e,t){let l=e.length-1-t;if(l<0)return null;let o=[];for(let t=0;t<=l;t++)o.push(e[t].name,e[t].index);return o}function yn(e,t){let l=yo(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function yi(e,t){let l=yl(e);if(!l.length)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let o=0,n=[...t];for(;"parentItem"===n[0];)o+=1,n=n.slice(1);let i=n[0];if(!i)return{wildcard:!0,valuePaths:[],structuralPaths:[]};if("value"===i){let e=yo(l,o);if(!e)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let t=yn(l,o);return{wildcard:!1,valuePaths:[[...e,...n.slice(1)]],structuralPaths:t?[t]:[]}}if("index"===i||"length"===i){let e=yn(l,o);return e?{wildcard:!1,valuePaths:[],structuralPaths:[e]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}if("__is_new__"===i||"__is_stored__"===i){let e=yo(l,o);return e?{wildcard:!1,valuePaths:[[...e,i]],structuralPaths:[]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}return{wildcard:!0,valuePaths:[],structuralPaths:[]}}function yr(e,t){if("string"==typeof e&&e.trim())for(let[l,o]of Object.entries((0,u.extractUsedVariablePathsFromRunJS)(e)||{})){let e=Array.isArray(o)?o:[];for(let o of e.length?e:[""]){if("formValues"===l){if(!o){t.wildcard=!0;continue}let e=(0,i5.EA)(String(o)).filter(e=>"object"!=typeof e);(0,i8.Dd)(e,t);continue}if("item"===l){let e=o?`ctx:item:${String(o)}`:"ctx:item";t.deps.add(e)}}}}function ya(e,t){let l=new WeakSet,o=e=>{if(!e||"object"!=typeof e||l.has(e))return;if(l.add(e),(0,u.isRunJSValue)(e)&&(0,i8.Wp)(e,t),Array.isArray(e))return void e.forEach(o);let n=null==e?void 0:e.name;("linkageRunjs"===n||"runjs"===n)&&(yr(c.default.get(e,["params","value","script"]),t),yr(c.default.get(e,["params","code"]),t)),Object.values(e).forEach(o)};o(e)}function ys(e,t){let l={deps:new Set,wildcard:!1};(0,i8.G)(t,l),ya(t,l);let o=[],n=[],i=l.wildcard;for(let t of l.deps){if("fv:*"===t){i=!0;continue}if(t.startsWith("fv:")){let e=t.slice(3);if(!e){i=!0;continue}o.push((0,i5.c1)(e));continue}if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),r=yi(e,l?(0,i5.EA)(l).filter(e=>"object"!=typeof e):[]);i||(i=r.wildcard),o.push(...r.valuePaths),n.push(...r.structuralPaths)}}return{wildcard:i,valuePaths:ye(o),structuralPaths:g7(n)}}function yd(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0}function yu(e){let t=Array.isArray(null==e?void 0:e.changedPaths)?e.changedPaths:[],l=[];for(let e of t){if(Array.isArray(e)){if(1===e.length&&"string"==typeof e[0]){let t=(0,i5.c1)(e[0]);t.length&&l.push(t);continue}let t=e.filter(e=>"string"==typeof e||"number"==typeof e);t.length&&l.push(t);continue}"string"==typeof e&&e&&l.push((0,i5.c1)(e))}if(l.length)return l;let o=null==e?void 0:e.changedValues;if(o&&"object"==typeof o)for(let e of Object.keys(o)){let t=(0,i5.c1)(e);t.length&&l.push(t)}return l}function yc(e,t){if(!yd(e))return!1;let l=yu(t);if(e.wildcard||!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(g9(l,t)||g9(t,l))return!0;for(let l of e.structuralPaths)if(g6(l,t)||g9(t,l))return!0}return!1}function yp(e,t){let l=e=>e.map(e=>(0,i5.Qc)(e)).sort();return JSON.stringify({formBlockUid:null==t?void 0:t.uid,wildcard:e.wildcard,valuePaths:l(e.valuePaths),structuralPaths:l(e.structuralPaths)})}function ym(e){var t,l;return(t=e)[l=g3]||(t[l]=new Map)}function yh(e){var t,l;return!!e&&"object"==typeof e&&!!e.emitter&&"function"==typeof e.emitter.on&&"function"==typeof e.emitter.off&&(!!e.formValueRuntime||!!(null==(t=e.context)?void 0:t.form)||"function"==typeof(null==(l=e.context)?void 0:l.setFormValues))}function yf(e){var t,l,o;let n=[],i=e=>{e&&!n.includes(e)&&n.push(e)};i(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel),i(e.model);let r=null==(o=e.model)?void 0:o.parent;for(;r;)i(r),r=null==r?void 0:r.parent;return n.find(yh)||null}function yg(e,t){let l=ym(e).get(t);l&&l.dispose()}function yy(e,t,l){var o,n,i,r,a,s;let d=e.model,c=null==e?void 0:e.flowKey;if(!d||!c)return;let p="linkageRules",m=`${c}:${p}:${l}`,h=ym(d),f=ys(e,t);if(!yd(f))return void yg(d,m);let g=yf(e);if(!g)return void yg(d,m);let y=yp(f,g),v=h.get(m);if((null==v?void 0:v.signature)===y)return;v&&v.dispose();let _={signature:y,running:!1,linkageTxIds:new Set,pendingPayload:null,dispose:()=>{}},b=(null==d||null==(o=d.flowEngine)?void 0:o.emitter)||(null==e||null==(n=e.engine)?void 0:n.emitter)||(null==d||null==(r=d.context)||null==(i=r.engine)?void 0:i.emitter),x=()=>{var e,t,l,o;null==(t=g.emitter)||null==(e=t.off)||e.call(t,g4,w),null==b||null==(l=b.off)||l.call(b,"model:unmounted",S),null==b||null==(o=b.off)||o.call(b,"model:destroyed",k),h.get(m)===_&&h.delete(m)},M=e=>{if("string"!=typeof e||!e||(_.linkageTxIds.add(e),_.linkageTxIds.size<=20))return;let t=_.linkageTxIds.values().next().value;t&&_.linkageTxIds.delete(t)},w=o=>{let n="string"==typeof(null==o?void 0:o.linkageTxId)?o.linkageTxId:void 0;if((null==o?void 0:o.source)==="linkage"&&n&&_.linkageTxIds.has(n))return;if(d.disposed||g.disposed)return void x();if(!yc(ys(e,t),o))return;if(_.running){_.pendingPayload=o;return}let i=n||("string"==typeof(null==o?void 0:o.txId)?o.txId:void 0);M(i),_.running=!0;let r=new u.FlowRuntimeContext(d,c);r.defineProperty("inputArgs",{value:{...o||{},linkageTxId:i}}),gZ.handler(r,{actionName:l,flowKey:c,stepKey:p}).catch(e=>{console.warn("[linkageRules] Failed to refresh form value driven linkage rules",e)}).finally(()=>{_.running=!1;let e=_.pendingPayload;_.pendingPayload=null,e&&w(e)})},S=e=>{let{model:t}=e;(t===g||t===d&&d.disposed)&&x()},k=e=>{let{model:t}=e;(t===d||t===g)&&x()};_.dispose=x,h.set(m,_),g.emitter.on(g4,w),null==b||null==(a=b.on)||a.call(b,"model:unmounted",S),null==b||null==(s=b.on)||s.call(b,"model:destroyed",k)}let yv=e=>{if(null==e)return e;let t=typeof e;if("string"===t||"number"===t||"boolean"===t)return e;if(Array.isArray(e))return e.length<=3?e:`[Array(${e.length})]`;if("object"===t){let t=null==e?void 0:e.id;return null!=t?{id:t}:"[Object]"}return`[${t}]`},y_=e=>{let t=0,l=e;for(;l;)(l instanceof pJ||l instanceof pQ)&&(t+=1),l=null==l?void 0:l.parent;return t},yb=e=>{let t=Number(null==e?void 0:e.linkageScopeDepth);return Number.isFinite(t)?t:y_(null==e?void 0:e.model)},yx=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>({label:e.props.label||e.props.name,value:e.uid,model:e}))}catch(e){return console.warn("Failed to get form fields:",e),[]}},yM=e=>e.map(e=>e&&"object"==typeof e?{...e}:e),yw=new Set(["select","multipleSelect","radioGroup","checkboxGroup"]),yS=e=>{var t,l,o,n,i;return(null==e||null==(t=e.collectionField)?void 0:t.interface)||(null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.context)||null==(l=o.collectionField)?void 0:l.interface)},yk=e=>yw.has(yS(e)),yF=e=>{var t,l,o,n;let i=(null==e||null==(t=e.subModels)?void 0:t.field)||e,r=(0,sk.di)(null==e||null==(o=e.collectionField)||null==(l=o.uiSchema)?void 0:l.enum,e=>e)||[];return r.length>0?(i._originalOptionsFallback=yM(r),i._originalOptionsFallback):Array.isArray(null==i?void 0:i._originalOptionsFallback)&&i._originalOptionsFallback.length>0?i._originalOptionsFallback:Array.isArray(null==i||null==(n=i.props)?void 0:n.options)&&i.props.options.length>0?(i._originalOptionsFallback=yM(i.props.options),i._originalOptionsFallback):null},yC=(e,t)=>{let l=yF(e);return l?l.map(e=>e&&"object"==typeof e&&"string"==typeof e.label?{...e,label:t(e.label)}:e):[]},yA=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,o=t.map(t=>{var l;return null==(l=e.find(e=>e.value===t))?void 0:l.model}).filter(e=>yk(e)).filter(Boolean).flatMap(e=>yC(e,l)),n=new Map;return o.forEach(e=>{n.set(JSON.stringify(null==e?void 0:e.value),e)}),Array.from(n.values())},yP=(e,t)=>{switch(e){case"visible":return{hiddenModel:!1};case"hidden":return{hiddenModel:!0};case"hiddenReservedValue":return{hidden:!0};case"required":return{required:!0};case"notRequired":return{required:!1};case"disabled":return{disabled:!0};case"enabled":return{disabled:!1};case"limitOptions":return Array.isArray(t)?{options:t}:{};default:return null}},yT=(e,t)=>{var l;return"limitOptions"===e&&(null==t||null==(l=t.subModels)?void 0:l.field)||t},yj=e=>e&&"object"==typeof e&&1===Object.keys(e).length&&Array.isArray(e.options),yI=(e,t)=>{yj(t)&&(null==e?void 0:e.forks)&&"function"==typeof e.forks.forEach&&e.forks.forEach(e=>{var l;null==e||null==(l=e.setProps)||l.call(e,{options:yM(t.options)})})},yL=e=>{let{value:t={fields:[]},onChange:l,includeFormStates:o=!0,fieldOptionsGetter:n=yx}=e,i=(0,u.useFlowContext)(),r=i.model.translate.bind(i.model),a=n(i),d=(t.fields||[]).map(e=>{var t;return null==(t=a.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),c=1===d.length&&d.every(e=>yk(e)),p=[{label:r("Visible"),value:"visible"},{label:r("Hidden"),value:"hidden"},{label:r("Hidden (reserved value)"),value:"hiddenReservedValue"},o&&{label:r("Required"),value:"required"},o&&{label:r("Not required"),value:"notRequired"},o&&{label:r("Disabled"),value:"disabled"},o&&{label:r("Enabled"),value:"enabled"},o&&c&&{label:r("Options"),value:"limitOptions"}].filter(Boolean),m=yA(a,t.fields,r),h=e=>{let o=e.map(e=>{var t;return null==(t=a.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),n=1===o.length&&o.every(e=>yk(e)),i="limitOptions"!==t.state||n?t.state:void 0,r="limitOptions"===t.state||"limitOptions"===i?[]:t.selectedOptions;l({...t,fields:e,state:i,selectedOptions:r})},f=e=>{l({...t,state:e,selectedOptions:"limitOptions"===e?t.selectedOptions||[]:void 0})},y=e=>{l({...t,selectedOptions:m.filter(t=>e.includes(t.value))})};return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("Fields")}),(0,s.jsx)(g.Select,{mode:"multiple",value:t.fields,onChange:h,placeholder:r("Please select fields"),style:{width:"100%"},options:a,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("State")}),(0,s.jsx)(g.Select,{value:t.state,onChange:f,placeholder:r("Please select state"),style:{width:"100%"},options:p,allowClear:!0})]}),"limitOptions"===t.state&&c&&(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("Options")}),(0,s.jsx)(g.Select,{mode:"multiple",value:(t.selectedOptions||[]).map(e=>e.value),onChange:y,style:{width:"100%"},options:m,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]})]})},yD=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>{let t=Array.from(e.forks)[0];return t?{label:(null==t?void 0:t.props.label)||(null==t?void 0:t.props.name),value:(null==t?void 0:t.uid)||e.uid,model:t}:{label:e.props.label||e.props.name,value:e.uid,model:e}})}catch(e){return console.warn("Failed to get form fields:",e),[]}};function yR(e){let t=e;return t.includes(",")&&t.includes(":")?t.split(",").map(e=>e.trim()).filter(Boolean):t?[t]:[]}function yY(e){let[t,l]=String(e||"").split(":");if(!t)return null;let o=Number(l);return Number.isFinite(o)?{fieldName:t,index:o}:null}function yE(e,t){let l,o;if(!e)return null;let n=String(e).split(".").map(e=>e.trim()).filter(Boolean);if(!n.length)return null;let i=yR(t).map(yY).filter(Boolean),r=0,a=[];for(let e of n){a.push(e);let t=i[r];t&&t.fieldName===e&&(l=[...a],o=t.index,a.push(t.index),r+=1)}return{fieldPathArray:a,listRootPath:l,listRowIndex:o,hasUnmatchedIndices:r<i.length}}function yN(e,t,l){if(Array.isArray(e))return e;if(!e||"object"!=typeof e)return[];let o=null==e?void 0:e.field,n=null==e?void 0:e[t.valueKey];if(o){let e=null==l?void 0:l(String(o));return e?[{key:"legacy",enable:!0,targetPath:e,mode:t.mode,condition:{logic:"$and",items:[]},value:n}]:[]}return[]}function yO(e){return t=>{try{var l,o,n,i;let r=null==(o=e.engine)||null==(l=o.getModel)?void 0:l.call(o,t),a=(null==r||null==(i=r.getStepParams)||null==(n=i.call(r,"fieldSettings","init"))?void 0:n.fieldPath)||(null==r?void 0:r.fieldPath);return a?String(a):void 0}catch(e){console.warn(`Failed to resolve legacy field uid ${t}:`,e);return}}}let yB=Symbol("SKIP_RUNJS_ASSIGN_VALUE");async function yH(e,t){if(!(0,u.isRunJSValue)(t))return t;try{let{code:l,version:o}=(0,u.normalizeRunJSValue)(t),n=await (0,u.runjsWithSafeGlobals)(e,l,{version:o});if(!(null==n?void 0:n.success))return yB;return n.value}catch(e){return console.warn("[linkageRules] Failed to evaluate RunJS assign value",e),yB}}function yV(e){var t,l,o;let n=e=>{var t,l;if(!e||"object"!=typeof e)return null;let o=null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"fieldSettings","init"))?void 0:t.fieldPath,n=null==e?void 0:e.fieldPath;return"string"==typeof o&&o||"string"==typeof n&&n||null},i=null==(t=e.model)?void 0:t.parent;for(;i;){let e=n(i);if(e)return e;i=null==i?void 0:i.parent}let r=null==(o=e.model)||null==(l=o.context)?void 0:l.prefixFieldPath;return"string"==typeof r&&r?r:null}function yq(e,t){let l=String(t||"").trim();if(!l)return null;let o=(0,sm.eo)(e.model,l);if(o)return{targetPath:l,fieldModel:o};let n=yV(e);if(!n)return null;let i=String(n).split(".").map(e=>e.trim()).filter(Boolean),r=String(l).split(".").map(e=>e.trim()).filter(Boolean);if(!i.length||!r.length)return null;let a=e=>e.filter(Boolean).join("."),s=[],d=e=>{let t=String(e||"").trim();t&&(s.includes(t)||s.push(t))};d(l);let u=[],p=Math.min(i.length,r.length);for(let e=p;e>=1;e--){let t=i.slice(i.length-e),l=r.slice(0,e);if(!c.default.isEqual(t,l))continue;let o=a([...i,...r.slice(e)]);o&&!u.includes(o)&&u.push(o),d(o)}let m=a([...i,...r]);for(let t of(d(m),s)){let l=(0,sm.eo)(e.model,t);if(l)return{targetPath:t,fieldModel:l}}let h=1===r.length?m:u.length>0?u[0]:l;return h?{targetPath:h,fieldModel:null}:null}let y$=(0,u.defineAction)({name:"linkageSetBlockProps",title:(0,u.tExpr)("Set block state"),scene:u.ActionScene.BLOCK_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,u.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,s.jsx)(g.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l})}}),yz=(0,u.defineAction)({name:"linkageSetActionProps",title:(0,u.tExpr)("Set button state"),scene:u.ActionScene.ACTION_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,u.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,s.jsx)(g.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden text"),value:"hiddenText"},{label:n("Enabled"),value:"enabled"},{label:n("Disabled"),value:"disabled"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l,disabled:"disabled"===l,hiddenText:"hiddenText"===l})}}),yK=(0,u.defineAction)({name:"linkageSetMenuItemProps",title:(0,u.tExpr)("Set menu item state"),scene:u.ActionScene.MENU_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,u.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,s.jsx)(g.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l})}}),yU=(0,u.defineAction)({name:"linkageSetFieldProps",title:(0,u.tExpr)("Set field state"),scene:u.ActionScene.FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,s.jsx)(yL,{...e})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var n,r,a,s;let d=((null==(s=e.model)||null==(a=s.subModels)||null==(r=a.grid)||null==(n=r.subModels)?void 0:n.items)||[]).find(e=>e.uid===t);if(d){let e=yP(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);o(yT(i,d),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),yG=(0,u.defineAction)({name:"subFormLinkageSetFieldProps",title:(0,u.tExpr)("Set field state"),scene:u.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,s.jsx)(yL,{...e,fieldOptionsGetter:yD})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var n,r,a,s,d;let u=null==(r=e.engine)||null==(n=r.getModel)?void 0:n.call(r,t);if(!u)return void console.warn("[subFormLinkageSetFieldProps] Target field model not found",{fieldUid:t,modelUid:null==(d=e.model)?void 0:d.uid});let c=null==(s=e.model)||null==(a=s.context)?void 0:a.fieldKey,p=c?`${c}:${t}`:void 0,m=p&&"function"==typeof u.getFork?u.getFork(p):null,h=m;if(m||(h=u),h){let e=yP(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);o(yT(i,h),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),yW=(0,u.defineAction)({name:"linkageSetDetailsFieldProps",title:(0,u.tExpr)("Set field state"),scene:u.ActionScene.DETAILS_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,s.jsx)(yL,{...e,includeFormStates:!1})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var l,n,r,a;let s=((null==(a=e.model)||null==(r=a.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items)||[]).find(e=>e.uid===t);if(s){let e=yP(i);if(!e)return void console.warn(`Unknown state: ${i}`);o(yT(i,s),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),yJ={mode:"assign",valueKey:"assignValue"},yX={mode:"default",valueKey:"initialValue"},yQ=e=>{let{value:t,onChange:l,legacy:o,fixedMode:n}=e,i=(0,u.useFlowContext)(),r=p.default.useCallback(e=>i.model.translate(e),[i.model]),{isTitleFieldCandidate:a,onSyncAssociationTitleField:d}=gU(r),c=p.default.useMemo(()=>gB({formBlockModel:i.model,t:r,maxFormItemDepth:1}),[i.model,r]),m=yN(t,o,yO(i)),h=p.default.useCallback(e=>{"function"==typeof l&&l(e)},[l]);return(0,s.jsx)(gH,{t:r,fieldOptions:c,rootCollection:(0,sm.w7)(i.model),value:m,onChange:h,fixedMode:n,isTitleFieldCandidate:a,onSyncAssociationTitleField:d,enableDateVariableAsConstant:!0})},yZ=e=>(0,s.jsx)(yQ,{...e,legacy:yJ}),y0=e=>(0,s.jsx)(yQ,{...e,legacy:yJ}),y1=e=>(0,s.jsx)(yQ,{...e,legacy:yX,fixedMode:"default"}),y2=(0,u.defineAction)({name:"linkageAssignField",title:(0,u.tExpr)("Field assignment"),scene:u.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":yZ}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=yN(l,{mode:"assign",valueKey:"assignValue"},yO(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var r,a;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let s=null==l?void 0:l.condition;if(s&&!(0,A.evaluateConditions)((0,A.removeInvalidFilterItems)(s),t))continue;let d=(0,sm.eo)(e.model,i),c=i.split(".")[0],p=(null==d?void 0:d.collectionField)??(null==(a=(0,sm.w7)(e.model))||null==(r=a.getField)?void 0:r.call(a,c)),m=null==l?void 0:l.value;if((0,u.isRunJSValue)(m)&&(m=await yH(e,m))===yB)continue;let h=sb(p,m);if(void 0===h){d&&o(d,{});continue}let f=(null==l?void 0:l.mode)==="default"?"default":"assign";d?o(d,"default"===f?{initialValue:h}:{value:h}):"function"==typeof n&&n({path:i,value:h,whenEmpty:"default"===f})}}catch(e){console.warn("[linkageAssignField] Failed to assign value to fields",e)}}}),y5=(0,u.defineAction)({name:"subFormLinkageAssignField",title:(0,u.tExpr)("Field assignment"),scene:u.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":y0}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=yN(l,{mode:"assign",valueKey:"assignValue"},yO(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),l=()=>{let t=e.model;return(null==t?void 0:t.__subFormLinkageExplicitPathKeys)instanceof Set||(t.__subFormLinkageExplicitPathKeys=new Set),t.__subFormLinkageExplicitPathKeys},f=t=>{var l,o;let n=(0,i5.IJ)(t,null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex);if(!Array.isArray(n)||!n.length)return null;let i=n.filter(e=>"string"==typeof e||"number"==typeof e);return i.length?(0,i5.Qc)(i):null},g=()=>{let t=null==e?void 0:e.inputArgs;if(!t||"user"!==t.source)return;let o=Array.isArray(t.changedPaths)?t.changedPaths:[];if(!o.length)return;let n=l();for(let t of o){let l=null;if(Array.isArray(t)){let e=t.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}else if("string"==typeof t){var i,r;let o=(0,i5.IJ)(t,null==(r=e.model)||null==(i=r.context)?void 0:i.fieldIndex);if(Array.isArray(o)&&o.length){let e=o.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}}(null==l?void 0:l.length)&&n.add((0,i5.Qc)(l))}},y=t=>{var o,n;let i=l(),r=f(t);if(!r)return!1;if(i.has(r))return!0;let a=(0,i5.IJ)(t,null==(n=e.model)||null==(o=n.context)?void 0:o.fieldIndex);if(!Array.isArray(a)||!a.length)return!1;let s=[];for(let e=0;e<a.length;e++){let t=a[e];if("string"!=typeof t&&"number"!=typeof t)continue;s.push(t);let l=(0,i5.Qc)(s);if(!i.has(l))continue;let o=a[e+1];if("number"!=typeof o)return!0}return!1};g();let v=t=>{var l,o,n,i,r,a;let s=e.engine.getModel(t);if(!s)return null;let d=null==e||null==(o=e.model)||null==(l=o.context)?void 0:l.fieldKey,u=d?`${d}:${t}`:null,c=u?s.getFork(u):null;if(d){let e=(null==s?void 0:s.fieldPath)||(null==s||null==(i=s.getStepParams)||null==(n=i.call(s,"fieldSettings","init"))?void 0:n.fieldPath),t=yE(e,d);!c&&u&&(c=s.createFork({},u)),(null==c?void 0:c.isFork)&&t&&(null==c||null==(a=c.context)||null==(r=a.defineProperty)||r.call(a,"fieldPathArray",{value:t.fieldPathArray}))}return c||(c=s),c};for(let l of i){var r,a,s,d,c,p,m,h;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let f=yq(e,i);if(!(null==f?void 0:f.targetPath))continue;let g=f.targetPath,_=f.fieldModel||null,b=(null==_?void 0:_.uid)?String(_.uid):"",x=null==l?void 0:l.condition;if(x&&!(0,A.evaluateConditions)((0,A.removeInvalidFilterItems)(x),t))continue;let M=(null==l?void 0:l.mode)==="default"?"default":"assign",w=(null==(a=e.model)||null==(r=a.getAclActionName)?void 0:r.call(a))??(null==(d=e.model)||null==(s=d.context)?void 0:s.actionName),S="update"===w,k=(null==e||null==(c=e.item)?void 0:c.__is_new__)===!0;if("default"===M&&S&&!k)continue;let F=g.split(".")[0],C=(null==_?void 0:_.collectionField)??(null==(m=(0,sm.w7)((null==(h=e.model)?void 0:h.parent)??e.model))||null==(p=m.getField)?void 0:p.call(m,F)),P=null==l?void 0:l.value;if((0,u.isRunJSValue)(P)&&(P=await yH(e,P))===yB)continue;let T=sb(C,P);if(void 0===T){if(!b)continue;let e=v(b);e&&o(e,{});continue}if(!b){if("default"===M&&y(g))continue;"function"==typeof n&&n({path:g,value:T,whenEmpty:"default"===M});continue}let j=v(b);j&&o(j,"default"===M?{initialValue:T}:{value:T})}}catch(e){console.warn("[subFormLinkageAssignField] Failed to assign value to fields",e)}}});(0,u.defineAction)({name:"setFieldsDefaultValue",title:(0,u.tExpr)("设置字段默认值"),scene:u.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":y1}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=yN(l,{mode:"default",valueKey:"initialValue"},yO(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var r,a;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let s=null==l?void 0:l.condition;if(s&&!(0,A.evaluateConditions)((0,A.removeInvalidFilterItems)(s),t))continue;let d=(0,sm.eo)(e.model,i),c=i.split(".")[0],p=(null==d?void 0:d.collectionField)??(null==(a=(0,sm.w7)(e.model))||null==(r=a.getField)?void 0:r.call(a,c)),m=null==l?void 0:l.value;if((0,u.isRunJSValue)(m)&&(m=await yH(e,m))===yB)continue;let h=sb(p,m);if(void 0===h){d&&o(d,{});continue}d?o(d,{initialValue:h}):"function"==typeof n&&n({path:i,value:h,whenEmpty:!0})}}catch(e){console.warn("[setFieldsDefaultValue] Failed to set fields default value",e)}}});let y8=(0,u.defineAction)({name:"linkageRunjs",title:(0,u.tExpr)("Execute JavaScript"),scene:[u.ActionScene.BLOCK_LINKAGE_RULES,u.ActionScene.FIELD_LINKAGE_RULES,u.ActionScene.ACTION_LINKAGE_RULES,u.ActionScene.MENU_LINKAGE_RULES,u.ActionScene.DETAILS_FIELD_LINKAGE_RULES,u.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES],sort:300,useRawParams:!0,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={script:""},onChange:l}=e,o=e=>{l({...t,script:e})};return(0,s.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:(0,s.jsx)("div",{children:(0,s.jsx)(aD.BY,{value:t.script,onChange:o,height:"200px",enableLinter:!0,scene:"linkage"})})})}}},handler:async(e,t)=>{let{value:l}=t,{script:o}=l||{};if(o&&"string"==typeof o)try{let t=(0,u.createSafeNavigator)();await e.runjs(o,{window:(0,u.createSafeWindow)({navigator:t}),document:(0,u.createSafeDocument)(),navigator:t})}catch(t){var n;if(console.error("Script execution error:",t),null==(n=e.app)?void 0:n.message){let l=t instanceof Error?t.message:String(t);e.app.message.error(`Script execution error: ${l}`)}}}});function y4(e){let t=c.default.cloneDeep(e||{}),l=new Map,o=e=>{let t=`__ncb_linkage_runjs_script_mask__${(0,ny.uid)()}__`;return l.set(t,e),t},n=null==t?void 0:t.value;return Array.isArray(n)&&n.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let l=c.default.get(e,["params","value","script"]);"string"==typeof l&&l.length&&c.default.set(e,["params","value","script"],o(l));let n=c.default.get(e,["params","code"]);"string"==typeof n&&n.length&&c.default.set(e,["params","code"],o(n))})}),{masked:t,restore:e=>{let t=null==e?void 0:e.value;return Array.isArray(t)&&t.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let o=c.default.get(e,["params","value","script"]);"string"==typeof o&&l.has(o)&&c.default.set(e,["params","value","script"],l.get(o));let n=c.default.get(e,["params","code"]);"string"==typeof n&&l.has(n)&&c.default.set(e,["params","code"],l.get(n))})}),e}}}async function y3(e,t){let{masked:l,restore:o}=y4(t);return o(await e.resolveJsonTemplate(l))}let y6=(0,u.observer)(e=>{let{value:t,supportedActions:l}=e,o=(0,u.useFlowContext)(),n=(0,u.useFlowEngine)(),i=o.model.translate.bind(o.model),r=i("Assignment takes precedence over form field assignment"),a=()=>({key:(0,ny.uid)(),title:i("Linkage rule"),enable:!0,condition:{logic:"$and",items:[]},actions:[]}),d=()=>{t.push(a())},p=e=>{t.splice(e,1)},m=e=>{if(e>0){let l=t[e];t.splice(e,1),t.splice(e-1,0,l)}},h=e=>{if(e<t.length-1){let l=t[e];t.splice(e,1),t.splice(e+1,0,l)}},f=e=>{let l=c.default.cloneDeep(t[e]),o={...l,key:(0,ny.uid)(),title:`${l.title} (Copy)`};t.splice(e+1,0,o)},y=(e,l)=>{t[e].title=l},v=(e,l)=>{t[e].enable=l},_=()=>l.map(e=>o.getAction(e)),b=(e,l)=>{let o={key:(0,ny.uid)(),name:l,params:void 0};t[e].actions.push(o)},x=(e,l)=>{t[e].actions.splice(l,1)},M=(e,l,o)=>{t[e].actions[l].params=o},w=(e,l)=>(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,s.jsx)("div",{style:{flex:1,marginRight:16},children:(0,s.jsx)(g.Input,{value:e.title,onChange:e=>y(l,e.target.value),onClick:e=>e.stopPropagation(),placeholder:"Enter rule title"})}),(0,s.jsxs)(g.Space,{onClick:e=>e.stopPropagation(),children:[(0,s.jsx)(g.Tooltip,{title:i("Delete"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.DeleteOutlined,{}),onClick:()=>p(l)})}),(0,s.jsx)(g.Tooltip,{title:i("Move up"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.ArrowUpOutlined,{}),onClick:()=>m(l),disabled:0===l})}),(0,s.jsx)(g.Tooltip,{title:i("Move down"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.ArrowDownOutlined,{}),onClick:()=>h(l),disabled:l===t.length-1})}),(0,s.jsx)(g.Tooltip,{title:i("Copy"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.CopyOutlined,{}),onClick:()=>f(l)})}),(0,s.jsx)(g.Switch,{size:"small",checked:e.enable,onChange:e=>v(l,e),checkedChildren:i("Enable"),unCheckedChildren:i("Disable")})]})]}),S=t.map((e,t)=>({key:e.key,label:w(e,t),styles:{header:{display:"flex",alignItems:"center"}},children:(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{marginBottom:32},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,s.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#1890ff",borderRadius:"2px",marginRight:8}}),(0,s.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Condition")})]}),(0,s.jsx)("div",{style:{paddingLeft:12},children:(0,s.jsx)(g8.I,{value:e.condition,FilterItem:e=>(0,s.jsx)(iJ.Ru,{model:o.model,value:e.value,maxAssociationFieldDepth:2})})})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,s.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#52c41a",borderRadius:"2px",marginRight:8}}),(0,s.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Actions")})]}),(0,s.jsxs)("div",{style:{paddingLeft:12},children:[e.actions.length>0?(0,s.jsx)("div",{style:{marginBottom:16},children:e.actions.map((e,l)=>{let a=o.getAction(e.name);return a?(0,s.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,s.jsxs)("span",{style:{fontWeight:500,color:"#262626"},children:[i(a.title),"linkageAssignField"===e.name||"subFormLinkageAssignField"===e.name?(0,s.jsx)(g.Tooltip,{title:r,children:(0,s.jsx)(eQ.QuestionCircleOutlined,{style:{marginInlineStart:4},onClick:e=>e.stopPropagation()})}):null,(0,s.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,s.jsx)(g.Tooltip,{title:i("Delete action"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.DeleteOutlined,{}),onClick:()=>x(t,l)})})]}),(0,s.jsx)("div",{children:n.flowSettings.renderStepForm({uiSchema:a.uiSchema,initialValues:e.params,flowEngine:n,onFormValuesChange:e=>M(t,l,e.values)})})]},e.key):null})}):null,(0,s.jsx)(g.Dropdown,{menu:{items:_().map(e=>({key:e.name,label:i(e.title||e.name),onClick:()=>b(t,e.name)}))},trigger:["hover"],children:(0,s.jsx)(g.Button,{type:"link",icon:(0,s.jsx)(eQ.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:i("Add action")})})]})]})]})}));return(0,s.jsxs)(s.Fragment,{children:[t.length>0?(0,s.jsx)(g.Collapse,{items:S,size:"small",style:{marginBottom:8},defaultActiveKey:t.length>0?[t[0].key]:[],accordion:!0}):(0,s.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,s.jsx)(g.Empty,{description:i("No linkage rules"),style:{margin:"20px 0"}})}),(0,s.jsx)(g.Button,{type:"dashed",icon:(0,s.jsx)(eQ.PlusOutlined,{}),onClick:d,style:{width:"100%"},children:i("Add linkage rule")})]})}),y9=async(e,t)=>{var l,o,n,i,r,a,s,d;let u=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),p=t.value,m=e.model.__allModels||(e.model.__allModels=[]),h=new Set(m),f=new Map,g=new Set,y=[],v=(0,sm.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),_=e=>{if(!Array.isArray(e)||!e.length||!(null==v?void 0:v.getField))return!0;let t=v;for(let n=0;n<e.length;n++){var l,o;let i=e[n];if("number"==typeof i||"string"!=typeof i)continue;let r=null==t||null==(l=t.getField)?void 0:l.call(t,i);if(!r)continue;let a=!!(null==r||null==(o=r.isAssociationField)?void 0:o.call(r)),s=!!(null==r?void 0:r.targetCollection);if((0,sm.E4)(r)&&n+1<e.length&&"number"!=typeof e[n+1])return!1;a&&s&&(t=r.targetCollection)}return!0},b=t=>{var l,o;if(!t)return null;if(Array.isArray(t))return t.length&&t.every(e=>"string"==typeof e||"number"==typeof e)?t:null;if("string"!=typeof t)return null;let n=null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex;return(0,i5.IJ)(t,n)},x=()=>{var t,l;let o=(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel)??e.model;return(null==o?void 0:o.formValueRuntime)??(null==e?void 0:e.formValueRuntime)},M=e=>{let t=x();if("function"!=typeof(null==t?void 0:t.recordDefaultValuePatch))return;let l=new Map;for(let t of e)l.set((0,i5.Qc)(t.path),t);for(let e of l.values())e.whenEmpty&&t.recordDefaultValuePatch(e.path,e.value)},w=t=>{var l,o,n,i,r;if(!t)return;let a=null==t?void 0:t.path;if(!a)return;let s=b(a);if(!s)return void console.warn("[linkageRules] Skip linkage assignment due to failed path resolution",{flowKey:e.flowKey,modelUid:null==(l=e.model)?void 0:l.uid,attemptedPath:a});if(!_(s))return void console.warn("[linkageRules] Skip linkage assignment for to-many association subpath without row index",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,attemptedPath:a,resolvedPath:s});let d=!!(null==t?void 0:t.whenEmpty),u=null==t?void 0:t.value;try{let t=null==(i=e.model)||null==(n=i.context)?void 0:n.form,l=null==t||null==(r=t.getFieldValue)?void 0:r.call(t,s);if(d){let e=x();if("function"==typeof(null==e?void 0:e.canApplyDefaultValuePatch)){if(!e.canApplyDefaultValuePatch(s,u))return}else if(null!=l&&""!==l)return}if(c.default.isEqual(l,u))return}catch{}y.push({path:s,value:u,...d?{whenEmpty:!0}:{}})},S=e=>{let t=b(e);if(!t)return;let l=(0,i5.Qc)(t);for(let e=y.length-1;e>=0;e--)(0,i5.Qc)(y[e].path)===l&&y.splice(e,1)},k=e=>{var t,l;if(!e||"object"!=typeof e)return null;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),o="string"==typeof(null==t?void 0:t.fieldPath)?t.fieldPath:"",n="string"==typeof(null==t?void 0:t.associationPathName)?t.associationPathName:"",i=o||("string"==typeof(null==e?void 0:e.fieldPath)?e.fieldPath:""),r=n||("string"==typeof(null==e?void 0:e.associationPathName)?e.associationPathName:"");if(r){if(!i)return r;if(i.startsWith(`${r}.`))return i;return`${r}.${i}`}if(i)return i}catch{}let o=null==e||null==(t=e.props)?void 0:t.name;if("string"==typeof o&&o)return o;if(Array.isArray(o)&&o.length){let e="";for(let t of o){if("number"==typeof t){e+=`[${t}]`;continue}"string"==typeof t&&t&&(e?e+=`.${t}`:e=t)}return e||null}return null},F=e=>{if(!Array.isArray(e)||!e.length)return null;let t=e.filter(e=>"string"==typeof e||"number"==typeof e);return t.length?t:null},C=e=>Array.isArray(e)?e.map(e=>{if("string"!=typeof e)return null;let[t,l]=e.split(":"),o=Number(l);return t&&Number.isFinite(o)?{name:t,index:o}:null}).filter(Boolean):[],P=(e,t)=>{let l=(0,i5.EA)(e).filter(e=>"string"==typeof e||"number"==typeof e);if(!l.length)return null;let o=C(t);if(!o.length)return null;let n="string"==typeof l[0]?l[0]:"",i=n?o.findIndex(e=>e.name===n):-1,r=i>=0?o.slice(0,i):o,a=i>=0?o.slice(i):[],s=[];r.forEach(e=>{s.push(e.name,e.index)});let d=0;return l.forEach((e,t)=>{s.push(e);let o=a[d];if("string"==typeof e&&o&&o.name===e){if("number"==typeof l[t+1]){d+=1;return}s.push(o.index),d+=1}}),s},T=e=>{var t,l;let o=F(null==e||null==(t=e.context)?void 0:t.fieldPathArray),n=k(e);if(o){let e=n?[...(0,i5.EA)(n)].reverse().find(e=>"string"==typeof e):void 0,t=[...o].reverse().find(e=>"string"==typeof e);if(!e||e===t)return o}return n?P(n,null==e||null==(l=e.context)?void 0:l.fieldIndex)||n:null},j=e=>{var t,l,o,n;let i=new Set,r=F(null==e||null==(t=e.context)?void 0:t.fieldPathArray);if(r)return i.add((0,i5.Qc)(r)),i;let a=k(e);if(a){C(null==e||null==(l=e.context)?void 0:l.fieldIndex).length||i.add(`raw:${a}`);let t=F((0,i5.IJ)(a,null==e||null==(o=e.context)?void 0:o.fieldIndex));t&&i.add((0,i5.Qc)(t));let r=P(a,null==e||null==(n=e.context)?void 0:n.fieldIndex);r&&i.add((0,i5.Qc)(r))}return i},I=t=>{var l;let o=(null==e?void 0:e.engine)||(null==(l=e.model)?void 0:l.flowEngine);(null==o?void 0:o.forEachModel)&&o.forEachModel(e=>{t(e);let l=null==e?void 0:e.forks;l&&"function"==typeof l.forEach&&l.forEach(e=>{e&&!e.disposed&&t(e)})})},L=(e,t)=>{var l,o;let n=j(e);if(!n.size)return;let i=null==e||null==(o=e.context)||null==(l=o.blockModel)?void 0:l.uid;i&&I(e=>{var l,o;!e||"object"!=typeof e||String(null==e||null==(o=e.context)||null==(l=o.blockModel)?void 0:l.uid)!==String(i)||Array.from(j(e)).some(e=>n.has(e))&&(e.hidden=t)})};for(let t of p.filter(e=>e.enable)){let{condition:l,actions:o}=t;if((0,A.evaluateConditions)((0,A.removeInvalidFilterItems)(l),u))for(let t of o){let l=(e,l)=>{e.__originalProps||(e.__originalProps={hiddenModel:e.hidden,hiddenText:void 0,disabled:void 0,required:void 0,hidden:void 0,...e.props}),f.set(e,{...f.get(e)||{},...l}),("linkageSetFieldProps"===t.name||"subFormLinkageSetFieldProps"===t.name)&&(null==l?void 0:l.hiddenModel)===!0&&g.add((null==e?void 0:e.uid)||String(e)),-1===m.indexOf(e)&&m.push(e),h.add(e)};await (null==(a=e.getAction(t.name))?void 0:a.handler(e,{...t.params,setProps:l,addFormValuePatch:w}))}}let D=new Map,R=new Map;h.forEach(e=>{let t=(null==e?void 0:e.uid)||String(e),l=f.get(e)||{};if(D.has(t)){let o=R.get(t)||{},n={...o,...l};R.set(t,n);let i=D.get(t),r=Object.keys(l).length>0,a=Object.keys(o).length>0;!r||a&&e.isFork&&i.isFork?e.isFork&&!i.isFork&&D.set(t,e):D.set(t,e)}else D.set(t,e),R.set(t,{...l})});let Y=[];D.forEach((t,l)=>{var o,n;let i=R.get(l)||{},r={...t.__originalProps,...i},a=!!t.hidden,s=!!r.hiddenModel;if(t.setProps(c.default.omit(r,["hiddenModel","value","hiddenText"])),yI(t,i),"function"==typeof t.setHidden?t.setHidden(!!r.hiddenModel):(t.hidden=s,a!==s&&Y.push({model:t,hidden:s})),!0===r.required){let l=(t.props.rules||[]).filter(e=>!e.required);l.push({required:!0,message:e.t("The field value is required")}),t.setProps("rules",l)}else if(!1===r.required){let e=(t.props.rules||[]).filter(e=>!e.required);t.setProps("rules",e)}if(r.hiddenText&&t.setProps("title",""),Object.prototype.hasOwnProperty.call(i,"value")&&t.context.form){let l=k(t);l?w({path:l,value:r.value}):console.warn("[linkageRules] Skip linkage assignment due to missing target path",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,targetUid:null==t?void 0:t.uid})}if(g.has(l)&&Object.prototype.hasOwnProperty.call(i,"hiddenModel")&&!0===i.hiddenModel){let l=T(t);l?(S(l),w({path:l,value:void 0})):console.warn("[linkageRules] Skip clearing hidden field value due to missing target path",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,targetUid:null==t?void 0:t.uid})}t.__props=null}),Y.forEach(e=>{let{model:t,hidden:l}=e;L(t,l)});let E=[...y];if(!E.length)return;let N=e,O=null==N?void 0:N.setFormValues,B=null==(r=e.model)||null==(i=r.context)||null==(n=i.blockModel)?void 0:n.context,H=null==B?void 0:B.setFormValues,V=null==N?void 0:N.inputArgs,q="string"==typeof(null==V?void 0:V.linkageTxId)&&V.linkageTxId?V.linkageTxId:"string"==typeof(null==V?void 0:V.txId)?V.txId:void 0,$=yb(e),z=async(e,t,l)=>{await e.call(t,E,{source:l,linkageTxId:q,linkageScopeDepth:$})};if("function"==typeof O)try{await z(O,N,"linkage"),M(E);return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(s=e.model)?void 0:s.uid,setter:"ctx",patchCount:E.length,patches:E.slice(0,10).map(e=>({path:e.path,value:yv(e.value)}))}),console.warn(t)}if("function"==typeof H)try{await z(H,B,"linkage"),M(E);return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(d=e.model)?void 0:d.uid,setter:"blockModel",patchCount:E.length,patches:E.slice(0,10).map(e=>({path:e.path,value:yv(e.value)}))}),console.warn(t)}E.forEach(t=>{let{path:l,value:o}=t;try{var n,i,r;let t=null==(i=e.model)||null==(n=i.context)?void 0:n.form;if("function"==typeof(null==t?void 0:t.getFieldValue)){let e=t.getFieldValue(l);if(c.default.isEqual(e,o))return}null==t||null==(r=t.setFieldValue)||r.call(t,l,o)}catch(e){console.warn("[linkageRules] Failed to set form field value (fallback setFieldValue)",{path:l},e)}}),M(E)},y7=(0,u.defineAction)({name:"blockLinkageRules",title:(0,u.tExpr)("Block linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.BLOCK_LINKAGE_RULES),title:(0,u.tExpr)("Block linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{yy(e,t,"blockLinkageRules");let l=await y3(e,t);return y9(e,l)}}),ve=(0,u.defineAction)({name:"actionLinkageRules",title:(0,u.tExpr)("Linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.ACTION_LINKAGE_RULES),title:(0,u.tExpr)("Linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{yy(e,t,"actionLinkageRules");let l=await y3(e,t);return y9(e,l)}}),vt=(0,u.defineAction)({name:"menuLinkageRules",title:(0,u.tExpr)("Menu linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.MENU_LINKAGE_RULES),title:(0,u.tExpr)("Menu linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{let l=await y3(e,t);return y9(e,l)}}),vl=(0,u.defineAction)({name:"fieldLinkageRules",title:(0,u.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.FIELD_LINKAGE_RULES),title:(0,u.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n;if(e.model.hidden)return;let i=0,r=t=>{if(!t||"function"!=typeof t.defineProperty)return;let l=null==e?void 0:e.inputArgs;l&&"object"==typeof l&&t.defineProperty("inputArgs",{value:{...l}}),t.defineProperty("linkageScopeDepth",{value:i})};r(e);let a=(0,sm.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),s=e=>{if(!(null==a?void 0:a.getField))return null;let t=(0,i5.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return null;let l=a,o=[];for(let e=0;e<t.length-1;e++){var n,i;let r=t[e];if("string"!=typeof r)continue;let a=null==l||null==(n=l.getField)?void 0:n.call(l,r);if(!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a)))break;let s=(0,sm.E4)(a);if(s&&o.push(r),s&&"number"==typeof t[e+1]&&(e+=1),!(null==(l=null==a?void 0:a.targetCollection)?void 0:l.getField))break}if(!o.length)return null;let r=o[o.length-1],s=o.filter(e=>e===r).length;return`${r}#${s}`},d=e=>{if(!(null==a?void 0:a.getField))return!1;let t=(0,i5.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return!1;let l=a;for(let e=0;e<t.length-1;e++){var o,n;let i=t[e];if("string"!=typeof i)continue;let r=null==l||null==(o=l.getField)?void 0:o.call(l,i);if(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r)))break;if((0,sm.E4)(r)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==r?void 0:r.targetCollection)?void 0:l.getField))break}return!1},c=yO(e),{blockParams:p,rowParamsByKey:m}=(()=>{let e=null==t?void 0:t.value;if(!Array.isArray(e)||!e.length)return{blockParams:t,rowParamsByKey:new Map};let l=[],o=new Map,n=(e,t,l)=>{if(!e||!l.length)return;let n=o.get(e)||[];n.push({...t,actions:l}),o.set(e,n)};for(let t of e){if(!t||"object"!=typeof t)continue;let e={key:t.key,title:t.title,enable:t.enable,condition:t.condition},o=Array.isArray(t.actions)?t.actions:[],i=[],r=new Map;for(let e of o){let t=null==e?void 0:e.name,l=null==e?void 0:e.params,o=null==l?void 0:l.value,n=t=>{let n=yN(o,t,c);if(!n.length)return{block:null,rows:new Map};let i=[],r=new Map;for(let e of n){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t){i.push(e);continue}let l=s(t);if(l&&d(t)){let t=r.get(l)||[];t.push(e),r.set(l,t)}else i.push(e)}let a=i.length>0?{...e,params:{...l,value:i}}:null,u=new Map;for(let[t,o]of r.entries())o.length&&u.set(t,{...e,params:{...l,value:o}});return{block:a,rows:u}};if("linkageAssignField"===t){let e=n({mode:"assign",valueKey:"assignValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}if("setFieldsDefaultValue"===t){let e=n({mode:"default",valueKey:"initialValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}i.push(e)}i.length&&l.push({...e,actions:i}),r.forEach((t,l)=>{n(l,e,t)})}let i={...t,value:l},r=new Map;return o.forEach((e,l)=>{r.set(l,{...t,value:e})}),{blockParams:i,rowParamsByKey:r}})(),h=await y3(e,p);if(await y9(e,h),!m.size)return;let f=e=>{var t;let l=null==e||null==(t=e.context)?void 0:t.fieldIndex,o=(Array.isArray(l)?l:[]).filter(e=>"string"==typeof e),n=[],i=[];for(let e of o){let[t,l]=e.split(":"),o=Number(l);!t||Number.isNaN(o)||(n.push({name:t,index:o}),i.push(t,o))}return{normalized:o,entries:n,path:i}},g=e=>{let{entries:t}=f(e);if(!t.length)return null;let l=t[t.length-1].name,o=t.reduce((e,t)=>t.name===l?e+1:e,0);return`${l}#${o}`},y=e=>{let{normalized:t}=f(e);return t.length?JSON.stringify(t):null},v=e=>{let{path:t}=f(e);return t.length?t:null},_=t=>{var l,o,n,i,r,a,s,d,u,c;return(null==t||null==(l=t.context)?void 0:l.form)??(null==t||null==(i=t.context)||null==(n=i.blockModel)||null==(o=n.context)?void 0:o.form)??(null==(a=e.model)||null==(r=a.context)?void 0:r.form)??(null==(c=e.model)||null==(u=c.context)||null==(d=u.blockModel)||null==(s=d.context)?void 0:s.form)},b=e=>{let t=v(e);if(!t)return!0;let l=_(e);return!l||"function"!=typeof l.getFieldValue||void 0!==l.getFieldValue(t)},x=e=>{var t,l,o;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"item")||void 0!==(null==e||null==(o=e.context)?void 0:o.item)},M=e=>{var t,l,o;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"subTableRowFork")||void 0!==(null==e||null==(o=e.context)?void 0:o.subTableRowFork)||void 0!==(null==e?void 0:e.subTableRowFork)||(null==e?void 0:e.subTableRowFork)===!0},w=e=>{var t,l;return!!e&&"object"==typeof e&&(null==e||null==(t=e.subModels)||!t.field)&&!!(null==e||null==(l=e.subModels)?void 0:l.items)&&!!g(e)&&!!y(e)},S=e=>!!e&&"object"==typeof e&&!!M(e)&&!!g(e)&&!!y(e)&&x(e),k=e=>w(e)||S(e),F=()=>{let t=new Map,l=new Map,o=e.engine;return(null==o?void 0:o.forEachModel)&&o.forEachModel(e=>{let o=null==e?void 0:e.forks;o&&"function"==typeof o.forEach&&o.forEach(e=>{if(!e||e.disposed||!k(e)||!b(e))return;let o=g(e),n=y(e);if(!o||!n)return;let i=l.get(o)||new Set;if(i.has(n))return;i.add(n),l.set(o,i);let r=t.get(o)||[];r.push(e),t.set(o,r)})}),t},C=async()=>{let t=F(),l=!1;for(let[n,i]of m.entries()){let a=t.get(n)||[];if(a.length&&(l=!0),a.length)for(let t of a){let l=new u.FlowRuntimeContext(t,e.flowKey);r(l);try{let e=await y3(l,i);await y9(l,e)}catch(l){var o;console.warn("[linkageRules] Failed to run row-scoped linkage rules",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,rowScopeKey:n,forkUid:null==t?void 0:t.uid}),console.warn(l)}}}return l};if(!await C()){let t="__pendingLinkageRowScopedRetry__",l=e.model;(null==l?void 0:l[t])||(console.warn("[linkageRules] Row-scoped linkage assignment deferred (row forks not ready), will retry",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,rowKeys:Array.from(m.keys())}),l[t]=!0,setTimeout(()=>{l[t]=!1;let o=e.model;o&&!o.disposed&&C().catch(e=>{console.warn("[linkageRules] Failed to retry row-scoped linkage rules",e)})},0))}}}),vo=(0,u.defineAction)({name:"subFormFieldLinkageRules",title:(0,u.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES),title:(0,u.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n,i;if(e.model.hidden)return;let r=null==(o=e.model)||null==(l=o.subModels)?void 0:l.grid;if(!r)return void console.warn("[subFormFieldLinkageRules] Missing subModels.grid",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid});let a=y_(null==e?void 0:e.model),s=t=>{let l=new u.FlowRuntimeContext(t,e.flowKey),o=null==e?void 0:e.inputArgs;return o&&"object"==typeof o&&l.defineProperty("inputArgs",{value:{...o}}),l.defineProperty("linkageScopeDepth",{value:a}),l};if(e.model instanceof pJ){if(r.hidden)return;let l=s(r);try{let e=await y3(l,t);await y9(l,e)}catch(t){console.warn("[subFormFieldLinkageRules] Failed to run linkage rules (to-one)",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,gridUid:null==r?void 0:r.uid}),console.warn(t)}}else await Promise.all((r.forks||[]).map(async l=>{if(l.hidden)return;let o=s(l);try{let e=await y3(o,t);await y9(o,e)}catch(t){var n;console.warn("[subFormFieldLinkageRules] Failed to run linkage rules for fork",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,forkUid:null==l?void 0:l.uid,gridUid:null==r?void 0:r.uid}),console.warn(t)}}))}}),vn=(0,u.defineAction)({name:"detailsFieldLinkageRules",title:(0,u.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.DETAILS_FIELD_LINKAGE_RULES),title:(0,u.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{if(e.model.hidden)return;let l=await y3(e,t);return y9(e,l)}});function vi(e,t){return[...e.getActions().values()].filter(e=>{let l=e.scene;return!!l&&(Array.isArray(l)||(l=[l]),l.includes(t))}).sort((e,t)=>(e.sort||0)-(t.sort||0)).map(e=>e.name)}let vr=(0,u.defineAction)({name:"overflowMode",title:(0,u.tExpr)("Ellipsis on text overflow"),uiMode:{type:"switch",key:"overflowMode"},defaultParams:e=>({overflowMode:e.model.parent instanceof ck}),handler(e,t){let l;l="string"==typeof(null==t?void 0:t.overflowMode)?"ellipsis"===t.overflowMode:!!(null==t?void 0:t.overflowMode),e.model.setProps({overflowMode:l?"ellipsis":"wrap"})}}),va=()=>{let e=(0,lf.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,m.useTranslation)();return(0,s.jsxs)(g.Select,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,s.jsx)(g.Select.Option,{value:"*",children:l("Multiply by")}),(0,s.jsx)(g.Select.Option,{value:"/",children:l("Divide by")})]})},vs=(0,u.defineAction)({title:(0,u.tExpr)("Number format"),name:"numberFormat",uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,u.tExpr)("Normal")},{value:"scientifix",label:(0,u.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,s.jsx)(va,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem"}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:o,separator:n,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:o,separator:n||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a}},handler(e,t){let{formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}),vd=e=>{let t;if(e){if(Array.isArray(e))t=e;else if("object"==typeof e&&"function"==typeof(null==e?void 0:e[Symbol.iterator]))try{t=Array.from(e)}catch(e){t=void 0}else if("object"==typeof e){let l=Object.keys(e).filter(e=>/^\d+$/.test(e)).sort((e,t)=>Number(e)-Number(t));l.length&&(t=l.map(t=>e[t]))}if(null==t?void 0:t.length)return t.map(e=>e&&"object"==typeof e?{...e}:e)}};function vu(e){return class extends e{async onDispatchEventStart(e){var t,l,o,n,i,r;if("beforeRender"!==e)return;let a=(null==(t=(l=this).getStepParams)?void 0:t.call(l,"fieldSettings","init"))||{},s=(null==a?void 0:a.dataSourceKey)&&(null==a?void 0:a.collectionName)&&(null==a?void 0:a.fieldPath)&&`${a.dataSourceKey}.${a.collectionName}.${a.fieldPath}`,d=s&&(null==(i=this.context)||null==(n=i.dataSourceManager)||null==(o=n.getCollectionField)?void 0:o.call(n,s)),u=(null==(r=this._originalModel)?void 0:r.collectionField)||this._fallbackCollectionField;(d||u)&&this.context.defineProperty("collectionField",{get:()=>d||u})}async onDispatchEventEnd(e){var t,l,o,n,i,r,a,s,d,u,c;if("beforeRender"!==e)return;let p={...this._originalPropsFallback||{},...(null==(t=this._originalModel)?void 0:t.props)||{}},m=null==(l=this.context)?void 0:l.collectionField,h={};(null==p?void 0:p.fieldNames)&&(h.fieldNames=p.fieldNames),void 0!==(null==p?void 0:p.allowMultiple)&&(h.allowMultiple=p.allowMultiple);let f=vd(null==(o=this.props)?void 0:o.options),g=!!(null==f?void 0:f.length),y=vd(null==p?void 0:p.options),v=(null==y?void 0:y.length)?y:this._originalOptionsFallback;!g&&Array.isArray(v)&&v.length>0&&(h.options=v.map(e=>e&&"object"==typeof e?{...e}:e));let _=(()=>{let e=null==m?void 0:m.type,t=null==m?void 0:m.interface,l=t&&("m2m"===t||"o2m"===t||"mbm"===t);return!!(e&&("belongsToMany"===e||"hasMany"===e||"belongsToArray"===e)||l)})(),b=void 0!==p.multiple?p.multiple:_,x=void 0!==p.allowMultiple?p.allowMultiple:void 0!==p.multiple?p.multiple:_;void 0!==b&&(h.multiple=b),void 0!==x&&(h.allowMultiple=x),Object.keys(h).length&&this.setProps(h),(null==m?void 0:m.interface)==="multipleSelect"&&void 0===(null==(n=this.props)?void 0:n.mode)&&this.setProps({mode:"multiple"}),(0,sk.NI)(this,m),null==(i=(r=this).showTitle)||i.call(r,null),null==(a=(s=this).setDescription)||a.call(s,null),null==(d=(u=this).setPattern)||d.call(u,"editable"),this.props.onChange&&this.setProps({onChange:this.props.onChange});let M=null==(c=this.getStepParams("formItemSettings","initialValue"))?void 0:c.defaultValue;void 0!==M&&this.setProps({defaultValue:M})}setProps(e){var t,l,o;let{originalModel:n,disabled:i,readOnly:r,readPretty:a,pattern:s,...d}=e||{},u=null==(t=super.setProps)?void 0:t.call(this,{...d,disabled:!1});return null==(l=(o=this).setPattern)||l.call(o,"editable"),u}remove(){for(var e,t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];null==(e=super.remove)||e.call(this,...l)}}}let vc=(0,lf.connect)(e=>{let{value:t,onChange:l,metaTree:o,flags:n,...i}=e,r=(0,u.useFlowContext)(),{model:a}=r,d=p.default.useCallback(e=>!!e&&"function"==typeof(null==e?void 0:e.query),[]),m=p.default.useCallback((e,t)=>{if(d(e)){var l,o,n,i;let r=null==(o=e.query(t))||null==(l=o.get)?void 0:l.call(o,"selfModified"),a=null==(i=e.query(t))||null==(n=i.get)?void 0:n.call(i,"modified");return!!(r||a)}return"function"==typeof(null==e?void 0:e.isFieldsTouched)&&!!e.isFieldsTouched([t])},[d]),h=p.default.useCallback((e,t)=>{if(d(e))return(0,c.get)(e.values,t);if("function"==typeof(null==e?void 0:e.getFieldValue))return e.getFieldValue(t);let l="function"==typeof(null==e?void 0:e.getFieldsValue)?e.getFieldsValue(!0):void 0;return(0,c.get)(l,t)},[d]),f=p.default.useCallback((e,t,l)=>{if(e&&(null==t?void 0:t.length)){if(d(e))return void e.setFieldValue(t,l);if("function"==typeof(null==e?void 0:e.setFieldValue))e.setFieldValue(t,l);else{var o;let n={};(0,c.set)(n,t,l),null==e||null==(o=e.setFieldsValue)||o.call(e,n)}}},[d]),y=p.default.useCallback(async e=>{let t=e;if((0,u.isRunJSValue)(t)){try{let{code:e,version:l}=(0,u.normalizeRunJSValue)(t),o=await (0,u.runjsWithSafeGlobals)(null==a?void 0:a.context,e,{version:l});t=(null==o?void 0:o.success)?o.value:void 0}catch{t=void 0}return t}if((0,u.isVariableExpression)(t)){var l,o;let n=await (null==a||null==(o=a.context)||null==(l=o.resolveJsonTemplate)?void 0:l.call(o,t));if(void 0!==n&&(t=n),t===e){let e=(0,u.extractPropertyPath)(String(t));e&&(t=(0,c.get)(null==a?void 0:a.context,e.join(".")))}}return t},[a]),v=p.default.useCallback((e,t)=>sx(e,t),[]);p.default.useEffect(()=>{var e;let t=a;if(!t||t.__dvSetStepParamsPatched)return;let l=null==(e=t.setStepParams)?void 0:e.bind(t);"function"==typeof l&&(t.__dvSetStepParamsPatched=!0,t.setStepParams=async(e,o,n)=>{var i,r,a,s,d,u,p;let g,_,b=[],x=(null==t||null==(i=t.props)?void 0:i.name)??(null==t?void 0:t.fieldPath);b=v(Array.isArray(x)?x:"string"==typeof x?x.split("."):[x].filter(Boolean),null==t||null==(r=t.context)?void 0:r.fieldIndex),"string"==typeof e&&"string"==typeof o&&n&&void 0!==n.defaultValue&&(g=null==(a=t.getStepParams(e,o))?void 0:a.defaultValue,_=n.defaultValue);let M=l(e,o,n);if(void 0!==_){let e=(null==t||null==(u=t.context)||null==(d=u.blockModel)||null==(s=d.context)?void 0:s.form)||(null==t||null==(p=t.context)?void 0:p.form);if(e&&b.length){let t=m(e,b),l=h(e,b),o=await y(g),n=await y(_),i=null==l||""===l,r=(0,c.isEqual)(l,o)||!t&&i;void 0!==n&&r&&f(e,b,n)}}return M})},[a,h,m,y,f,v]);let _=(0,p.useMemo)(()=>{var e;let t=null==a||null==(e=a.context)?void 0:e.flags;if(t||n)return{...t||{},...n||{}}},[a,n]),b=p.default.useRef(void 0);(0,c.isEqual)(b.current,_)||(b.current=_);let x=b.current,M=(0,p.useMemo)(()=>{var e,t,l,o,n,i,r,s,d,c,p,m,h,f,g,y,v,_,b,M,w,S,k,F,C,A,P,T;let j=a,I=(null==j?void 0:j.customFieldModelInstance)||(null==j||null==(e=j.subModels)?void 0:e.field),L=(null==I?void 0:I.props)||{},D=(null==j?void 0:j.customFieldProps)||{},{value:R,defaultValue:Y,...E}=L,{value:N,defaultValue:O,...B}=D,H=(null==j||null==(t=j.getStepParams)?void 0:t.call(j,"fieldSettings","init"))||(null==I||null==(l=I.getStepParams)?void 0:l.call(I,"fieldSettings","init")),V=null==I?void 0:I.collectionField;if(!V&&(null==H?void 0:H.dataSourceKey)&&(null==H?void 0:H.collectionName)&&(null==H?void 0:H.fieldPath)){let e=`${H.dataSourceKey}.${H.collectionName}.${H.fieldPath}`;V=null==a||null==(g=a.context)||null==(f=g.dataSourceManager)||null==(h=f.getCollectionField)?void 0:h.call(f,e)}V||(V=null==j||null==(y=j.context)?void 0:y.collectionField);let q=null==I?void 0:I.constructor,$=V?u.EditableItemModel.getDefaultBindingByField(null==a?void 0:a.context,V):null,z=null==V?void 0:V.type,K=null==V?void 0:V.interface,U="belongsToMany"===z||"hasMany"===z||"belongsToArray"===z||"m2m"===K||"o2m"===K||"mbm"===K,G=!!((null==x?void 0:x.isInSetDefaultValueDialog)&&U),W=U?di:hr.m,J=$?null==a||null==(i=a.context)||null==(n=i.engine)||null==(o=n.getModelClass)?void 0:o.call(n,$.modelName):null,X="function"==typeof q?q:null,Q=vu("string"==typeof(null==q?void 0:q.name)&&/FilterFieldModel$/.test(q.name)||(null==j?void 0:j.customFieldModelInstance)?X||J||W:J||X||W),Z=null==I||null==(r=I.props)?void 0:r.fieldNames,ee=null==I||null==(s=I.props)?void 0:s.titleField,et=null==I||null==(d=I.getStepParams)?void 0:d.call(I,"selectSettings","fieldNames"),el=null==I||null==(c=I.getStepParams)?void 0:c.call(I,"selectSettings","allowMultiple"),eo={};H&&(eo.fieldSettings={init:H}),(et||el)&&(eo.selectSettings={...et?{fieldNames:et}:{},...el?{allowMultiple:el}:{}});let en={use:Q,uid:(0,ny.uid)(),parentId:null,subKey:null,subType:null,stepParams:{...(null==I?void 0:I.stepParams)||{},...Object.keys(eo).length?eo:{}},props:{disabled:!1,allowClear:!0,...E,...void 0!==Z?{fieldNames:Z}:{},...void 0!==ee?{titleField:ee}:{},...G?{keepDropdownOpenOnSelect:!0}:{},...B}},ei=a.context.engine.createModel({use:"VariableFieldFormModel",subModels:{fields:[en]}}),er=null==(m=ei.subModels)||null==(p=m.fields)?void 0:p[0];if(er&&(er._originalModel=I,er._originalPropsFallback=null==j?void 0:j.customFieldProps,er._fallbackCollectionField=null==j||null==(v=j.context)?void 0:v.collectionField,er._originalOptionsFallback=vd(null==I||null==(_=I.getDataSource)?void 0:_.call(I))||vd(null==I||null==(b=I.props)?void 0:b.options)||vd(null==j||null==(M=j.customFieldProps)?void 0:M.options)),(null==H?void 0:H.dataSourceKey)&&(null==H?void 0:H.collectionName)){let e=a.context.dataSourceManager,t=null==e||null==(w=e.getDataSource)?void 0:w.call(e,H.dataSourceKey),l=null==e||null==(S=e.getCollection)?void 0:S.call(e,H.dataSourceKey,H.collectionName);t&&(null==(F=ei.context)||null==(k=F.defineProperty)||k.call(F,"dataSource",{get:()=>t})),l&&(null==(A=ei.context)||null==(C=A.defineProperty)||C.call(A,"collection",{get:()=>l}))}return x&&(null==(T=ei.context)||null==(P=T.defineProperty)||P.call(T,"flags",{value:x})),ei},[a,x]);p.default.useEffect(()=>()=>{var e,t;null==(t=M.subModels)||null==(e=t.fields)||e.forEach(e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),M.remove()},[M]);let w=(0,p.useMemo)(()=>e=>{let l=p.default.useRef(!1),[,o]=p.default.useReducer(e=>e+1,0),n=p.default.useRef(Symbol("init")),i=p.default.useRef(Symbol("none")),r=p.default.useRef(!1);return p.default.useEffect(()=>{var a,s,d,u,c,p,m,h,f;let g=null==M||null==(s=M.subModels)||null==(a=s.fields)?void 0:a[0];if(!g)return;let{disabled:y,readOnly:v,readPretty:_,pattern:b,...x}=e||{},w=!!(null==g||null==(c=g.context)||null==(u=c.collectionField)||null==(d=u.isAssociationField)?void 0:d.call(u)),S=e=>!!e&&"object"==typeof e&&"data"in e,k=e=>Array.isArray(e)?e.map(e=>S(e)?e.data:e):S(e)?e.data:e,F=(null==g||null==(p=g._originalModel)?void 0:p.use)||(null==g?void 0:g.use),C=null==g||null==(h=g.context)||null==(m=h.collectionField)?void 0:m.interface,A=new Set(["input","email","phone","uuid","url","nanoid","textarea","markdown","password","color"]),P="InputFieldModel"===F||(C?A.has(C):g instanceof hr.m),T=e=>{if(e&&"object"==typeof e&&"target"in e){let t=null==e?void 0:e.target;if(P&&void 0!==(null==t?void 0:t.value))return t.value;if(void 0!==(null==t?void 0:t.checked))return t.checked;if(void 0!==(null==t?void 0:t.value))return t.value}return e};if(g.setProps({disabled:!1,onChange:function(){for(var t,l=arguments.length,n=Array(l),a=0;a<l;a++)n[a]=arguments[a];let s=n.length>1&&("string"==typeof n[1]||Array.isArray(n[1])&&n[1].every(e=>"string"==typeof e))?n[1]:n[0],d=w?k(s):T(s);if(!P){let e=w?k(s):T(s);i.current=e,g.setProps({value:e,defaultValue:void 0})}P&&r.current||(null==(t=(null==x?void 0:x.onChange)??(null==e?void 0:e.onChange))||t(d),o())},onCompositionStart:function(){for(var t,l,o=arguments.length,n=Array(o),i=0;i<o;i++)n[i]=arguments[i];r.current=!0,null==x||null==(t=x.onCompositionStart)||t.call(x,...n),null==e||null==(l=e.onCompositionStart)||l.call(e,...n)},onCompositionUpdate:(null==x?void 0:x.onCompositionUpdate)??(null==e?void 0:e.onCompositionUpdate),onCompositionEnd:t=>{var l,o,n;r.current=!1;let i=T(t);null==(l=(null==x?void 0:x.onChange)??(null==e?void 0:e.onChange))||l(i),null==x||null==(o=x.onCompositionEnd)||o.call(x,t),null==e||null==(n=e.onCompositionEnd)||n.call(e,t)},style:{width:"100%",minWidth:0,...(null==x?void 0:x.style)||(null==e?void 0:e.style)}}),null==(f=g.setPattern)||f.call(g,"editable"),!l.current){l.current=!0;let e=t;void 0!==e&&g.setProps({defaultValue:e})}if(!P){let e=t;if(e!==n.current&&(n.current=e,void 0!==e)){let t=w?k(e):T(e);i.current=t,g.setProps({value:t}),o()}}},[e]),(0,s.jsx)("div",{style:{flexGrow:1},children:(0,s.jsx)(u.FlowModelRenderer,{model:M,showFlowSettings:!1})})},[M,t]),S=null==a?void 0:a.operator;p.default.useEffect(()=>{var e,t,l,o;let n=S,i=null==M||null==(t=M.subModels)||null==(e=t.fields)?void 0:e[0];if(!n||!i)return;let r=i.__originalRender||i.render;i.__originalRender=r;let d=(0,uJ._H)(a.context.app,n,(null==(o=a.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]);if(d&&i instanceof hr.m){let{Comp:e,props:t}=d;i.render=()=>{var l;return(0,s.jsx)(e,{...i.props,...t,style:{width:"100%",...(0,uJ.VS)(null==(l=i.props)?void 0:l.style),...(0,uJ.VS)(null==t?void 0:t.style)}})}}else"function"==typeof r&&(i.render=r)},[a,M,S]),p.default.useEffect(()=>{var e,t,l,o,n;let i=S,r=null==M||null==(t=M.subModels)||null==(e=t.fields)?void 0:e[0];if(!r||!i)return;let s=((null==(o=a.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]).find(e=>e.value===i),d=null==s||null==(n=s.schema)?void 0:n["x-component-props"];d&&r.setProps(d)},[a,M,S]);let k=(0,p.useMemo)(()=>function(){var e;return(0,s.jsx)(g.Input,{placeholder:`<${(null==(e=r.t)?void 0:e.call(r,"Null"))??"Null"}>`,readOnly:!0})},[r]),F=(0,p.useMemo)(()=>e=>(0,s.jsx)(sF.h,{t:r.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange}),[r]),C=(0,p.useMemo)(()=>async()=>{var e,t,l,n;let i=[];return i="function"==typeof o?await o()||[]:Array.isArray(o)?o:(null==(n=r.getPropertyMetaTree)?void 0:n.call(r))||[],[{title:(null==(e=r.t)?void 0:e.call(r,"Constant"))??"Constant",name:"constant",type:"string",paths:["constant"],render:w},{title:(null==(t=r.t)?void 0:t.call(r,"Null"))??"Null",name:"null",type:"object",paths:["null"],render:k},{title:(null==(l=r.t)?void 0:l.call(r,"RunJS"))??"RunJS",name:"runjs",type:"object",paths:["runjs"],render:F},...i]},[o,r,w,k,F]);return p.default.useEffect(()=>{var e;let t=null==(e=M.subModels.fields)?void 0:e[0];null==t||t.setProps({disabled:!1})},[M,t]),(0,s.jsx)(u.VariableInput,{metaTree:C,value:t,onChange:l,...i,converters:{renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?w:"null"===l?k:"runjs"===l?F:u.VariableTag},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:"runjs"===l?{code:"",version:"v2"}:void 0},resolvePathFromValue:e=>null===e?["null"]:(0,u.isRunJSValue)(e)?["runjs"]:(0,u.isVariableExpression)(e)?(0,u.parseValueToPath)(e):["constant"]}})});class vp{get models(){let e=new Map;for(let t=0;t<localStorage.length;t++){let l=localStorage.key(t);if(l&&l.startsWith(`${this.prefix}flow-model:`)){let t=localStorage.getItem(l);if(t){let l=JSON.parse(t);e.set(l.uid,l)}}}return e}async findOne(e){let{uid:t,parentId:l}=e;return t?this.load(t):l?this.loadByParentId(l):null}async loadByParentId(e){for(let t of this.models.values())if(t.parentId==e)return console.log("Loading model by parentId:",e,t),this.load(t.uid);return null}async load(e){let t=localStorage.getItem(`${this.prefix}flow-model:${e}`);if(!t)return console.warn(`Model with uid ${e} not found in localStorage.`),null;let l=JSON.parse(t);for(let t of[...this.models.values()])if(t.parentId===e){if(l.subModels=l.subModels||{},"array"===t.subType){l.subModels[t.subKey]=l.subModels[t.subKey]||[];let e=await this.load(t.uid);l.subModels[t.subKey].push(e)}else if("object"===t.subType){let e=await this.load(t.uid);e&&(l.subModels[t.subKey]=e)}}return console.log("Loading model:",e,JSON.stringify(l,null,2)),l}async save(e){let t=e.serialize(),l=c.default.omit(t,["subModels","flowEngine"]);for(let t of(localStorage.setItem(`${this.prefix}flow-model:${e.uid}`,JSON.stringify(l)),console.log("Saving model:",e.uid,l),Object.keys(e.subModels||{}))){let l=e.subModels[t];if(l)if(Array.isArray(l))for(let e of l)await this.save(e);else l instanceof u.FlowModel&&await this.save(l)}return t}async destroy(e){return localStorage.removeItem(`${this.prefix}flow-model:${e}`),!0}async clear(){for(let e of Object.keys(localStorage))e.startsWith(`${this.prefix}flow-model:`)&&localStorage.removeItem(e);return!0}async move(e,t){arguments.length>2&&void 0!==arguments[2]&&arguments[2]}async duplicate(e){let t=await this.load(e);if(!t)return null;let l=()=>`dup_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`,o=(e,t)=>{let{subModels:n,flowEngine:i,...r}=e||{},a={...r};if(a.uid=l(),t&&(a.parentId=t),n&&"object"==typeof n)for(let e of(a.subModels={},Object.keys(n))){let t=n[e];Array.isArray(t)?a.subModels[e]=t.map(e=>o(e,a.uid)):t&&"object"==typeof t&&(a.subModels[e]=o(t,a.uid))}return a};return o(t)}constructor(e=""){this.prefix=e}}class vm{buildFindOneKey(e){let t=(null==e?void 0:e.uid)??"",l=(null==e?void 0:e.parentId)??"",o=(null==e?void 0:e.subKey)??"";return`uid:${t}|parentId:${l}|subKey:${o}`}async findOne(e){let t=this.buildFindOneKey(e),l=this.inFlightFindOne.get(t);if(l){let e=await l;return e?c.default.cloneDeep(e):e}let o=this.app.apiClient.request({url:"flowModels:findOne",params:c.default.pick(e,["uid","parentId","subKey"])}).then(e=>{var t;return null==(t=e.data)?void 0:t.data}).finally(()=>{this.inFlightFindOne.delete(t)});this.inFlightFindOne.set(t,o);let n=await o;return n?c.default.cloneDeep(n):n}async save(e,t){var l;let o=e.serialize();return(null==t?void 0:t.onlyStepParams)&&delete o.subModels,null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:save",data:o})).data)?void 0:l.data}async destroy(e){return await this.app.apiClient.request({method:"POST",url:"flowModels:destroy",params:{filterByTk:e}}),!0}async move(e,t){var l;let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"after";return null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:move",params:{sourceId:e,targetId:t,position:o}})).data)?void 0:l.data}async duplicate(e){var t;return null==(t=(await this.app.apiClient.request({method:"POST",url:"flowModels:duplicate",params:{uid:e}})).data)?void 0:t.data}constructor(e){this.app=e,this.inFlightFindOne=new Map}}function vh(e){return!!e&&"object"==typeof e}function vf(e){if(e){if("string"==typeof e)return e;if(vh(e))return e.eventName}}function vg(e){let t=e.phase;if(!t||"beforeAllFlows"===t){delete e.phase,delete e.flowKey,delete e.stepKey;return}if("afterAllFlows"===t){delete e.flowKey,delete e.stepKey;return}if("beforeFlow"===t||"afterFlow"===t){delete e.stepKey,e.flowKey||delete e.flowKey;return}if("beforeStep"===t||"afterStep"===t){e.flowKey||delete e.flowKey,e.stepKey||delete e.stepKey;return}}function vy(e){let t=e.phase;if(t&&"beforeAllFlows"!==t&&"afterAllFlows"!==t){if(("beforeFlow"===t||"afterFlow"===t||"beforeStep"===t||"afterStep"===t)&&!e.flowKey)return"flowKey";if(("beforeStep"===t||"afterStep"===t)&&!e.stepKey)return"stepKey"}}let vv=e=>{let{model:t}=e,l=p.default.useMemo(()=>t.translate.bind(t),[t]),o=()=>{let e=document.querySelector(`#${u.GLOBAL_EMBED_CONTAINER_ID}`);e&&t.context.viewer.embed({type:"embed",target:e,title:l("Edit event flows"),onOpen(){e.style.width="33.3%",e.style.maxWidth="800px",e.style.minWidth="0px"},onClose(){"1"!==e.dataset[u.EMBED_REPLACING_DATA_KEY]&&(e.style.width="auto",e.style.maxWidth="none",e.style.minWidth="auto")},content:(0,s.jsx)(vA,{model:t})})};return(0,s.jsx)(eQ.ThunderboltOutlined,{style:{cursor:"pointer"},onClick:o})},v_={display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},vb={width:"4px",height:"16px",borderRadius:"2px",marginRight:8},vx={margin:0,fontSize:14,fontWeight:500,color:"#262626"},vM={marginBottom:8,fontSize:14,fontWeight:500,color:"#262626"},vw={marginInlineStart:4,color:"#ff4d4f"},vS={marginInlineStart:2,marginInlineEnd:8},vk=e=>{let{color:t,children:l}=e;return(0,s.jsxs)("div",{style:v_,children:[(0,s.jsx)("div",{style:{...vb,backgroundColor:t}}),(0,s.jsx)("h4",{style:vx,children:l})]})},vF=e=>{let{children:t,required:l,style:o}=e;return(0,s.jsxs)("div",{style:{...vM,...o},children:[t,l&&(0,s.jsx)("span",{style:vw,children:"*"}),(0,s.jsx)("span",{style:vS,children:":"})]})},vC=(0,u.observer)(e=>{var t;let{flow:l,model:o,flowEngine:n,flowRegistry:i}=e,r=(0,u.useFlowContext)(),a=o.translate.bind(o),d=(0,o0.useUpdate)(),[m,h]=p.default.useState([]),f=vf(l.on),y=vh(l.on)?l.on:void 0,v=f?null==(t=o.getEvent(f))?void 0:t.uiSchema:void 0,_="function"==typeof v?v(r):v,b=null==y?void 0:y.defaultParams,x=p.default.useCallback(()=>{if(vh(l.on))return l.on;if(!f)return;let e={eventName:f};return l.on=e,e},[f,l]),M=(null==y?void 0:y.phase)?String(y.phase):"beforeAllFlows",w=(null==y?void 0:y.flowKey)?String(y.flowKey):void 0,S=(null==y?void 0:y.stepKey)?String(y.stepKey):void 0,k=p.default.useMemo(()=>[...o.getEvents().values()],[o]);p.default.useEffect(()=>{let e=!1;return(async()=>{let t=[];for(let e of k)await (0,u.shouldHideEventInSettings)(o,l,e)||t.push({label:o.translate(e.title),value:e.name});e||h(e=>c.default.isEqual(e,t)?e:t)})(),()=>{e=!0}},[l,o,k]);let F=p.default.useMemo(()=>f?Array.from(o.constructor.globalFlowRegistry.getFlows().values()).filter(e=>"beforeRender"===f?!0!==e.manual&&(!e.on||"beforeRender"===vf(e.on)):vf(e.on)===f):[],[f,o]),C=p.default.useMemo(()=>new Map(F.map(e=>[e.key,e])),[F]),A=p.default.useCallback((e,t)=>{if(!t)return e;let l=a(String(t));return`${e} (${l})`},[a]),P=p.default.useMemo(()=>F.map(e=>({value:e.key,label:A(String(e.key),e.title),disabled:i.hasFlow(e.key)})),[i,A,F]),T=p.default.useMemo(()=>{if(!w)return[];let e=C.get(w);return e?e.mapSteps(e=>{let t=e.use?o.getAction(e.use):void 0,l=e.title||(null==t?void 0:t.title);return{value:e.key,label:A(String(e.key),l)}}):[]},[w,A,o,C]),j=p.default.useMemo(()=>[{value:"beforeAllFlows",label:a("Before all flows")},{value:"afterAllFlows",label:a("After built-in flows")},{value:"beforeFlow",label:a("Before built-in flow")},{value:"afterFlow",label:a("After built-in flow")},{value:"beforeStep",label:a("Before built-in flow step")},{value:"afterStep",label:a("After built-in flow step")}],[a]),I=["beforeFlow","afterFlow","beforeStep","afterStep"].includes(M),L=["beforeStep","afterStep"].includes(M),D=y?vy(y):void 0,R="flowKey"===D,Y="stepKey"===D,E=e=>{let t=vh(l.on)?l.on:{eventName:e};l.on=t,t.eventName=e,delete t.phase,delete t.flowKey,delete t.stepKey,d()};return(0,s.jsxs)("div",{style:{marginBottom:32},children:[(0,s.jsx)(vk,{color:"#1890ff",children:a("Event")}),(0,s.jsxs)("div",{style:{paddingLeft:12},children:[(0,s.jsxs)("div",{style:{marginBottom:16},children:[(0,s.jsx)(vF,{children:a("Trigger event")}),(0,s.jsx)(g.Select,{placeholder:a("Select trigger event"),style:{width:"100%"},value:f,onChange:e=>{E(e)},options:m})]}),(0,s.jsxs)("div",{style:{marginBottom:16},children:[(0,s.jsx)(vF,{children:a("Execution timing")}),(0,s.jsx)(g.Select,{style:{width:"100%"},disabled:!f,value:M,onChange:e=>{let t=x();t&&(t.phase=e,vg(t),d())},options:j}),I&&(0,s.jsxs)("div",{style:{marginTop:12,display:"flex",flexDirection:"column",gap:12},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(vF,{required:I,style:{marginBottom:6},children:a("Built-in flow")}),(0,s.jsx)(g.Select,{style:{width:"100%"},disabled:!f||0===P.length,placeholder:a("Select a built-in flow"),value:w,status:R?"error":void 0,options:P,onChange:e=>{let t=x();t&&(e?t.flowKey=e:delete t.flowKey,delete t.stepKey,d())}}),R&&(0,s.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow")})]}),L&&(0,s.jsxs)("div",{children:[(0,s.jsx)(vF,{required:L,style:{marginBottom:6},children:a("Built-in flow step")}),(0,s.jsx)(g.Select,{style:{width:"100%"},disabled:!f||!w||0===T.length,placeholder:a("Select a built-in flow step"),value:S,status:Y?"error":void 0,options:T,onChange:e=>{let t=x();t&&(e?t.stepKey=e:delete t.stepKey,d())}}),Y&&(0,s.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow step")})]}),0===P.length&&(0,s.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8c8c8c"},children:a("No built-in flows for this event")})]})]}),f&&n.flowSettings.renderStepForm({key:f,uiSchema:_,initialValues:b,flowEngine:n,onFormValuesChange:e=>{let t=x();t&&(t.defaultParams=e.values)}})]})]})}),vA=(0,u.observer)(e=>{let{model:t}=e,l=(0,u.useFlowContext)(),o=t.flowEngine,n=(0,u.serializeFlowRegistry)(t.flowRegistry),i=p.default.useRef(n),[r]=p.default.useState(()=>new u.DetachedFlowRegistry(n)),[a,d]=p.default.useState(!1),m=p.default.useMemo(()=>t.translate.bind(t),[t]),h=p.default.useCallback(()=>!c.default.isEqual(i.current,(0,u.serializeFlowRegistry)(r)),[r]);p.default.useEffect(()=>{c.default.isEqual(i.current,n)||h()||((0,u.replaceFlowRegistry)(r,n),i.current=n)},[r,h,n]),p.default.useEffect(()=>{let e=l.view,t=e.beforeClose,o=async e=>{if(h()){var o,n;if(!(await (null==(n=l.modal)||null==(o=n.confirm)?void 0:o.call(n,{title:m("Unsaved changes"),content:m("Are you sure you don't want to save?"),okText:m("Confirm"),cancelText:m("Cancel")}))??!0))return!1}return!1!==await (null==t?void 0:t(e))};return e.beforeClose=o,()=>{e.beforeClose===o&&(e.beforeClose=t)}},[l,h,m]);let f=()=>{r.addFlow((0,ny.uid)(),{title:m("Event flow"),steps:{}})},y=e=>{e.remove()},v=(e,t)=>{e.title=t},_=()=>[...t.getActions().values()].filter(e=>c.default.castArray(e.scene).includes(u.ActionScene.DYNAMIC_EVENT_FLOW)).sort((e,t)=>(e.sort??0)-(t.sort??0)),b=(e,t)=>{let l={use:t.name};e.addStep((0,ny.uid)(),l)},x=e=>{e.remove()},M=(e,t)=>{e.defaultParams=t},w=e=>(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,s.jsx)("div",{style:{flex:1,marginRight:16},children:(0,s.jsx)(g.Input,{value:e.title,onChange:t=>v(e,t.target.value),onClick:e=>e.stopPropagation(),placeholder:m("Enter flow title")})}),(0,s.jsx)(g.Space,{onClick:e=>e.stopPropagation(),children:(0,s.jsx)(g.Tooltip,{title:"Delete",children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.DeleteOutlined,{}),onClick:()=>y(e)})})})]}),S=r.mapFlows(e=>({key:e.key,label:w(e),styles:{header:{display:"flex",alignItems:"center"}},children:(0,s.jsxs)("div",{children:[(0,s.jsx)(vC,{flow:e,model:t,flowEngine:o,flowRegistry:r}),(0,s.jsxs)("div",{children:[(0,s.jsx)(vk,{color:"#52c41a",children:m("Steps")}),(0,s.jsxs)("div",{style:{paddingLeft:12},children:[(0,s.jsx)("div",{style:{marginBottom:16},children:e.mapSteps(e=>{let l=t.getAction(e.use);return l?(0,s.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,s.jsxs)("span",{style:{fontWeight:600,color:"#262626"},children:[m(l.title),(0,s.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,s.jsx)(g.Tooltip,{title:m("Delete step"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.DeleteOutlined,{}),onClick:()=>x(e)})})]}),(0,s.jsx)("div",{children:p.default.createElement(u.FlowStepContext.Provider,{value:{params:(0,u.untracked)(()=>e.defaultParams),path:`${t.uid}_${e.flowKey}_${e.key}`}},o.flowSettings.renderStepForm({uiSchema:l.uiSchema,initialValues:(0,u.untracked)(()=>e.defaultParams),flowEngine:o,onFormValuesChange:t=>M(e,t.values)}))})]},e.key):null})}),(0,s.jsx)(g.Dropdown,{menu:{items:_().map(t=>({key:t.name,label:m(t.title)||t.name,onClick:()=>b(e,t)}))},trigger:["hover"],children:(0,s.jsx)(g.Button,{type:"link",icon:(0,s.jsx)(eQ.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:m("Add step")})})]})]})]})}));return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,s.jsxs)("div",{style:{flex:1,padding:"16px",overflow:"auto",minHeight:0},children:[S.length>0?(0,s.jsx)(g.Collapse,{items:S,size:"small",style:{marginBottom:8},defaultActiveKey:[S[0].key],accordion:!0}):(0,s.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,s.jsx)(g.Empty,{description:m("No event flows"),style:{margin:"20px 0"}})}),(0,s.jsx)(g.Button,{type:"dashed",icon:(0,s.jsx)(eQ.PlusOutlined,{}),onClick:f,style:{width:"100%"},children:m("Add event flow")})]}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",padding:"8px 16px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fff",flexShrink:0},children:[(0,s.jsx)(g.Button,{onClick:()=>l.view.close(),children:m("Cancel")}),(0,s.jsx)(g.Button,{type:"primary",loading:a,onClick:async()=>{var e,o,n,a,s,c,p,h,f,g,y,v;d(!0);let _=r.mapFlows(e=>{if(!vh(e.on))return;vg(e.on);let t=vy(e.on);if(t)return{type:t}}).filter(Boolean)[0];if(_){let e="flowKey"===_.type?m("Please select a built-in flow"):m("Please select a built-in flow step");null==(c=t.context)||null==(s=c.message)||null==(a=s.error)||a.call(s,e),d(!1);return}let b=(0,u.serializeFlowRegistry)(t.flowRegistry),x=[];try{for(let e of r.mapFlows(e=>e))for(let l of e.mapSteps(e=>e)){let o=l.serialize(),n=l.use?t.getAction(l.use):void 0,i=o.beforeParamsSave||(null==n?void 0:n.beforeParamsSave),r=o.afterParamsSave||(null==n?void 0:n.afterParamsSave);if("function"!=typeof i&&"function"!=typeof r)continue;let a=new u.FlowRuntimeContext(t,e.key,"settings");(0,u.setupRuntimeContextSteps)(a,e.steps,t,e.key),a.defineProperty("currentStep",{value:o});let s={...l.defaultParams||{}},d={...l.defaultParams||{}};"function"==typeof i&&await i(a,s,d),"function"==typeof r&&x.push(async()=>{await r(a,s,d)}),l.defaultParams=s}(0,u.replaceFlowRegistry)(t.flowRegistry,(0,u.serializeFlowRegistry)(r)),await t.flowRegistry.save()}catch(e){(0,u.replaceFlowRegistry)(t.flowRegistry,b),d(!1),null==(f=t.context)||null==(h=f.message)||null==(p=h.error)||p.call(h,"Steps post-save hooks failed to run"),console.error(e);return}i.current=(0,u.serializeFlowRegistry)(t.flowRegistry);try{for(let e of x)await e()}catch(e){null==(v=t.context)||null==(y=v.message)||null==(g=y.error)||g.call(y,"Steps post-save hooks failed to run"),console.error(e)}t.flowRegistry.mapFlows(e=>{if((0,u.isBeforeRenderFlow)(e))return e}).filter(Boolean).length>0&&t.rerender(),d(!1),null==(n=t.context)||null==(o=n.message)||null==(e=o.success)||e.call(o,m("Configuration saved")),l.view.destroy()},children:m("Save")})]})]})}),vP=()=>{let e=(0,u.useFlowContext)().app,t=e.pm.get("@nocobase/plugin-block-markdown");return t.dependencyLoaded||(t.initVditorDependency(e),t.dependencyLoaded=!0),t.getCDN(e)},vT="nb-markdown-vditor";function vj(){let{theme:e,token:t,hashId:l}=g.theme.useToken(),o=(0,__rspack_external__ant_design_cssinjs_c619260f.useStyleRegister)({theme:e,token:t,hashId:l,path:["flow-markdown",vT]},()=>({[`.${vT}`]:{".vditor-reset":{fontSize:`${t.fontSize}px !important`,color:"unset"},".vditor":{borderRadius:8},".vditor .vditor-content":{borderRadius:"0 0 8px 8px",overflow:"hidden"},".vditor .vditor-toolbar":{paddingLeft:" 16px !important",borderRadius:"8px 8px 0 0"},".vditor .vditor-content .vditor-ir .vditor-reset":{padding:"10px !important"},".vditor-ir pre.vditor-reset":{backgroundColor:`${t.colorBgContainer}!important`},".vditor-preview":{display:"none !important"},".vditor-preview__action":{display:"none"}}}));return{wrapSSR:(0,p.useMemo)(()=>o,[o,e,t,l]),hashId:l,componentCls:vT}}function vI(e){let t=new DOMParser().parseFromString(e,"text/html");t.querySelectorAll("img").forEach(e=>{let t=e.getAttribute("src");t&&e.replaceWith(document.createTextNode(` [Image: ${t}] `))});let l=t.body.textContent||t.body.innerText;return(null==l?void 0:l.replace(/\n|\r/g," "))||""}let vL=e=>{if(e){let t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}};function vD(e){let t=(0,p.useRef)(null),{wrapSSR:l,componentCls:o,hashId:n}=vj(),i=vP();return(0,p.useEffect)(()=>{e.loadImages&&(__rspack_external_vditor.default.preview(t.current,e.value??"",{mode:"light",cdn:i}),setTimeout(()=>{var e,l;null==(e=t.current)||e.querySelectorAll("img").forEach(e=>{e.style.cursor="zoom-in",e.addEventListener("click",()=>{vR(e.src)})}),null==(l=t.current)||l.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,__rspack_external_react_dom_client_76b1397c.createRoot)(l).render((0,s.jsx)(g.QRCode,{value:t}))})},300))},[e.value,e.loadImages,i]),l((0,s.jsx)("span",{className:`${n} ${o}`,children:(0,s.jsx)("span",{ref:t,style:{border:"none",...(null==e?void 0:e.style)??{}}})}))}function vR(e){if(document.getElementById("custom-image-preview"))return;let t=document.createElement("span");t.id="custom-image-preview",Object.assign(t.style,{position:"fixed",inset:"0",backgroundColor:"rgba(0,0,0,0.85)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"9999",cursor:"zoom-out"});let l=document.createElement("img");l.src=e,Object.assign(l.style,{maxWidth:"90%",maxHeight:"90%",borderRadius:"8px",boxShadow:"0 0 20px rgba(0,0,0,0.5)",transition:"transform 0.2s",cursor:"zoom-out"}),t.addEventListener("click",()=>{document.body.removeChild(t)}),t.appendChild(l),document.body.appendChild(t)}let vY=e=>{let{value:t,textOnly:l=!0}=e,o=vP(),[n,i]=(0,p.useState)(!1),[r,a]=(0,p.useState)(!1),[d,u]=(0,p.useState)(!1),[c,m]=(0,p.useState)(""),h=(0,p.useRef)();(0,p.useEffect)(()=>{e.value&&l&&__rspack_external_vditor.default.md2html(e.value,{mode:"light",cdn:o}).then(e=>{m(vI(e))}).catch(()=>m(""))},[e.value,l]);let f=(0,p.useCallback)(()=>{var e;return!!h.current&&vL(h.current)>(null==(e=h.current)?void 0:e.offsetWidth)},[h]),y=e=>{i(e),e&&!d&&u(!0)};return e.ellipsis?(0,s.jsx)(g.Popover,{open:n,getPopupContainer:()=>{var e;return null==(e=document.getElementsByClassName("ant-drawer-content"))?void 0:e[0]},onOpenChange:e=>{y(r&&e)},overlayStyle:{maxWidth:600},content:(0,s.jsx)("div",{style:{maxHeight:400,overflow:"auto"},children:(0,s.jsx)(vD,{value:t,loadImages:d})}),children:(0,s.jsx)("div",{ref:h,style:{overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},onMouseEnter:e=>{let t=e.target;f()&&a(t.scrollWidth>=t.clientWidth)},children:l?c:(0,s.jsx)("div",{className:(0,S.css)`
1184
+ `,defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},enum:[{label:(0,cs.b2)({format:"MMMM Do YYYY"}),value:"MMMM Do YYYY"},{label:(0,cs.b2)({format:"YYYY-MM-DD"}),value:"YYYY-MM-DD"},{label:(0,cs.b2)({format:"MM/DD/YY"}),value:"MM/DD/YY"},{label:(0,cs.b2)({format:"YYYY/MM/DD"}),value:"YYYY/MM/DD"},{label:(0,cs.b2)({format:"DD/MM/YYYY"}),value:"DD/MM/YYYY"},{label:(0,u.tExpr)("Custom"),value:"custom"}],"x-reactions":[e=>{let{picker:t}=e.form.values;e.value=(0,A.getPickerFormat)(t),e.setComponentProps({picker:t})}]},showTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Show time")}}',"x-reactions":[{dependencies:["picker"],fulfill:{state:{hidden:"{{ $form.values.picker !== 'date' }}"}}},t=>{let{collectionField:l}=e.model.context,{picker:o}=t.form.values||{};t.hidden="dateOnly"===l.type||"date"!==o,"date"!==o&&(t.value=!1)}]},timeFormat:o}},defaultParams:e=>{let{showTime:t,dateFormat:l,format:o,timeFormat:n,picker:i}={...e.model.context.collectionField.getComponentProps(),...e.model.props},r=e.model.context.collectionField,a="time"===r.type||"time"===r.interface;return{picker:i||"date",dateFormat:l||"YYYY-MM-DD",timeFormat:n||(a?o:void 0)||"HH:mm:ss",showTime:t}},handler(e,t){let{collectionField:l}=e.model.context;if("time"===l.type||"time"===l.interface){let l=(null==t?void 0:t.timeFormat)||(null==t?void 0:t.format)||"HH:mm:ss";e.model.setProps({...t,timeFormat:l,format:l})}else e.model.setProps({...t,format:(null==t?void 0:t.showTime)?`${t.dateFormat} ${t.timeFormat}`:t.dateFormat})}});var gd=__webpack_require__(1793);function gu(e){if(""!==e&&null!=e)return e}let gc=(0,u.defineAction)({name:"dateRangeLimit",title:(0,u.tExpr)("Date range limit"),uiMode:{type:"dialog",props:{width:720}},uiSchema(e){var t,l;let o={targetPath:(null==(l=e.model.context)||null==(t=l.collectionField)?void 0:t.name)||"",enableDateVariableAsConstant:!0};return{_minDate:{type:"string",title:(0,u.tExpr)("MinDate"),"x-decorator":"FormItem","x-component":gd.zv,"x-component-props":o},_maxDate:{type:"string",title:(0,u.tExpr)("MaxDate"),"x-decorator":"FormItem","x-component":gd.zv,"x-component-props":o}}},defaultParams(e){var t,l;return{_minDate:gu(null==(t=e.model.props)?void 0:t._minDate),_maxDate:gu(null==(l=e.model.props)?void 0:l._maxDate)}},useRawParams:!0,async handler(e,t){e.model.setProps({_minDate:gu(null==t?void 0:t._minDate),_maxDate:gu(null==t?void 0:t._maxDate)})}}),gp=e=>e.filter(e=>{if(!e.interface)return!1;let t=e.getInterfaceOptions();return null!=t&&!!t.sortable}).map(e=>{var t;return{value:e.name,label:(null==e||null==(t=e.uiSchema)?void 0:t.title)||e.name}}),gm=(0,u.defineAction)({name:"sortingRule",title:(0,u.tExpr)("Default sorting"),uiSchema:e=>{var t,l;let o=(null==(t=e.collectionField)?void 0:t.targetCollection)||(null==(l=e.blockModel)?void 0:l.collection);return{sort:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}},enum:gp("function"==typeof(null==o?void 0:o.getFields)?o.getFields():[])},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:(0,u.tExpr)("ASC"),value:"asc"},{label:(0,u.tExpr)("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:(0,u.tExpr)("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},defaultParams:e=>({sort:[]}),async handler(e,t){var l;let o=(t.sort||[]).map(e=>"desc"===e.direction?`-${e.field}`:e.field),n=null==(l=e.model)?void 0:l.resource;n&&(e.model.setProps({globalSort:o}),n.setSort(o))}}),gh=(0,u.defineAction)({name:"dataLoadingMode",title:(0,u.tExpr)("Data loading mode"),uiMode:{type:"select",key:"mode",props:{options:[{value:"auto",label:(0,u.tExpr)("Load all data when filter is empty")},{value:"manual",label:(0,u.tExpr)("Do not load data when filter is empty")}]}},defaultParams:{mode:"auto"},hideInSettings:e=>{let t=e.blockModel,l=null==t?void 0:t.resource;return!l||!(l instanceof u.MultiRecordResource)},handler(e,t){let l=e.blockModel;if(!l)return;let o=l.resource;o instanceof u.MultiRecordResource&&("manual"!==t.mode||l.hasActiveFilters()?"auto"===t.mode&&o.refresh():(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1))}}),gf=(0,u.defineAction)({title:(0,u.tExpr)("Render mode"),name:"renderMode",uiMode(e){let t=e.t;return{type:"select",key:"textOnly",props:{options:[{label:t("Text only"),value:!0},{label:t("Html"),value:!1}]}}},hideInSettings:async e=>{var t,l,o;let n=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","overflowMode"))?void 0:t.overflowMode;return void 0===n?e.model.parent instanceof ck:!0===n||"ellipsis"===n},defaultParams:{textOnly:!0},handler(e,t){e.model.setProps({textOnly:t.textOnly})}}),gg=(0,u.defineAction)({title:(0,u.tExpr)("Set block layout"),name:"layout",uiSchema:{layout:{type:"string",enum:[{label:(0,u.tExpr)("Vertical"),value:"vertical"},{label:(0,u.tExpr)("Horizontal"),value:"horizontal"}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},labelAlign:{title:(0,u.tExpr)("Label align"),type:"string","x-decorator":"FormItem","x-component":"Select",enum:[{label:"{{t('Right')}}",value:"right"},{label:"{{t('Left')}}",value:"left"}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWidth:{title:(0,u.tExpr)("Label width"),type:"string",required:!0,"x-decorator":"FormItem","x-component":"NumberPicker","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:50}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWrap:{type:"string",title:(0,u.tExpr)("When the Label exceeds the width"),enum:[{label:(0,u.tExpr)("Line break"),value:!0},{label:(0,u.tExpr)("Ellipsis"),value:!1}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},colon:{type:"boolean","x-content":(0,u.tExpr)("Colon"),required:!0,"x-decorator":"FormItem","x-component":"Checkbox"}},defaultParams:e=>({layout:"vertical",labelAlign:"left",labelWidth:120,labelWrap:!0,colon:!0}),handler(e,t){e.model.setProps({...t,labelWidth:"vertical"===t.layout?null:t.labelWidth}),e.model.subModels.grid.findSubModel("items",e=>{e.setProps({...t,labelWidth:"vertical"===t.layout?"100%":t.labelWidth,labelWrap:"vertical"===t.layout||t.labelWrap})})}}),gy=(0,u.defineAction)({title:(0,u.tExpr)("Required"),name:"required",uiMode:e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[];return{type:"switch",key:"required",props:{disabled:n.concat(i).some(e=>"required"===e.name)}}},uiSchema:async e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[],r=n.concat(i).some(e=>"required"===e.name);return{required:{"x-component":"Switch","x-decorator":"FormItem","x-component-props":{checkedChildren:(0,u.tExpr)("Yes"),unCheckedChildren:(0,u.tExpr)("No")},"x-disabled":r}}},defaultParams:e=>({required:e.model.getProps().required}),handler(e,t){var l,o;let n=e.model.getProps().rules||[],i=((null==(o=e.model.collectionField)||null==(l=o.validation)?void 0:l.rules)||[]).some(e=>"required"===e.name);(n=n.filter(e=>!e.required),i)?e.model.setProps({rules:n,required:!0}):(t.required&&n.push({required:!0,message:e.t("The field value is required")}),e.model.setProps({rules:n,required:t.required}))}});function gv(e,t,l){let{collectionField:o}=e,n=t.getBindingsByField(e,o),i=t=>t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}});if(l){let r=t.getBindingsByField(e,o.targetCollection.getField(l));return[n.length&&{label:e.t("AssociationField component"),options:i(n)},{label:e.t("Title field component"),options:i(r)}].filter(Boolean)}return i(n)}let g_=(0,u.defineAction)({name:"displayFieldComponent",title:(0,u.tExpr)("Field component"),uiMode:e=>{let{titleField:t}=e.model.props;return{type:"select",key:"use",props:{options:gv(e,e.model.constructor,t)}}},hideInSettings:async e=>{let{titleField:t}=e.model.props;if(!e.collectionField||1===e.model.constructor.getBindingsByField(e,e.collectionField).length&&!t)return!0},beforeParamsSave:async(e,t,l)=>{if(!e.collectionField)return;let o=e.model.constructor.getBindingsByField(e,e.collectionField),{titleField:n}=e.model.props,i=[];n&&(i=e.model.constructor.getBindingsByField(e,e.collectionField.targetCollection.getField(n)));let r=o.concat(i).find(e=>e.modelName===t.use);t.use!==l.use&&await sp({parentModel:e.model,targetUse:t.use,defaultProps:"function"==typeof(null==r?void 0:r.defaultProps)?r.defaultProps(e,e.collectionField):null==r?void 0:r.defaultProps,pattern:e.model.getProps().pattern})},defaultParams:e=>{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:sc(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){let l=sc(e.model.subModels.field);t.use!==l&&e.model.setStepParams(e.flowKey,"model",{use:t.use})}}),gb=(0,u.defineAction)({title:(0,u.tExpr)("Field component"),name:"fieldComponent",uiMode:e=>{if("readPretty"===e.model.getProps().pattern){var t,l;let{titleField:o}=e.model.props,n=e.model.constructor.getBindingsByField(e,e.collectionField);return n&&(1!==n.length||o)?{type:"select",key:"use",props:{options:gv(e,sy,o||(null==(l=e.model.subModels.field.props)||null==(t=l.fieldNames)?void 0:t.label))}}:null}{let t=e.model.constructor.getBindingsByField(e,e.collectionField);return t&&1!==t.length?{type:"select",key:"use",props:{options:t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}})}}:null}},hideInSettings(e){let{titleField:t}=e.model.props,l=e.model.constructor.getBindingsByField(e,e.collectionField);if("readPretty"===e.model.getProps().pattern){if(!l||1===l.length&&!t)return!0}else if(!l||1===l.length)return!0},beforeParamsSave:async(e,t,l)=>{let o=e.model.constructor.getBindingsByField(e,e.collectionField),n=[];if("readPretty"===e.model.getProps().pattern){let{titleField:t}=e.model.props;o=sy.getBindingsByField(e,e.collectionField),t&&(n=sy.getBindingsByField(e,e.collectionField.targetCollection.getField(t)))}let i=o.concat(n).find(e=>e.modelName===t.use);if(t.use!==l.use){let l="function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,e.collectionField):null==i?void 0:i.defaultProps;await sp({parentModel:e.model,targetUse:t.use,defaultProps:l,pattern:e.model.getProps().pattern})}},defaultParams:e=>{let t="readPretty"===e.model.getProps().pattern?sy.getDefaultBindingByField(e,e.collectionField):e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:sc(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){}}),gx=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},gM=(0,u.defineAction)({name:"aclCheck",async handler(e,t){var l,o,n,i,r;if(e.skipAclCheck)return;let a=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:(null==(o=e.collectionField)?void 0:o.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:e.collectionField?null:null==(n=e.resource)?void 0:n.getMeta("allowedActions"),recordPkValue:gx((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(a||(e.model.hidden=!0,e.model.forbidden={actionName:e.actionName},e.exitAll()))}}),gw=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},gS=e=>{let t=null==e?void 0:e.model;t&&(t.forbidden&&(t.forbidden=null,"function"==typeof t.setHidden?t.setHidden(!1):t.hidden=!1),"function"==typeof t.setProps&&t.setProps({aclDisabled:void 0,aclCreateDisabled:void 0}))},gk=async e=>{var t,l,o,n,i,r,a,s,d;let u=await e.aclCheck({dataSourceKey:null==(t=e.dataSource)?void 0:t.key,resourceName:(null==(l=e.collectionField)?void 0:l.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:null==(n=e.resource)||null==(o=n.getMeta)?void 0:o.call(n,"allowedActions"),recordPkValue:gw((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(u||(null==(a=(s=e.model).setHidden)||a.call(s,!0),e.model.forbidden={actionName:e.actionName},null==(d=e.exitAll)||d.call(e)))},gF=async e=>{var t,l,o,n,i,r,a,s,d,u,c,p,m,h,f,g,y,v,_,b,x;if(!e.collectionField)return;let M=null==(l=e.blockModel)||null==(t=l.context)?void 0:t.actionName;if(!M)return;let w=await e.aclCheck({dataSourceKey:null==(o=e.dataSource)?void 0:o.key,resourceName:null==(n=e.collectionField)?void 0:n.collectionName,fields:[null==(i=e.collectionField)?void 0:i.name],actionName:M});if("update"===M){let t=await e.aclCheck({dataSourceKey:null==(r=e.dataSource)?void 0:r.key,resourceName:null==(a=e.collectionField)?void 0:a.collectionName,fields:[e.collectionField.name],actionName:"view"});e.prefixFieldPath&&e.item&&(await e.aclCheck({dataSourceKey:null==(d=e.dataSource)?void 0:d.key,resourceName:null==(u=e.collectionField)?void 0:u.collectionName,fields:[e.collectionField.name],actionName:"create"})||e.model.setProps({aclCreateDisabled:!0})),t||(null==(s=e.item)?void 0:s.__is_new__)||(null==(c=(p=e.model).setHidden)||c.call(p,!0),e.model.forbidden={actionName:"view"},null==(m=e.exitAll)||m.call(e)),w||e.model.setProps({aclDisabled:!0})}else if("create"===M){let t=await e.aclCheck({dataSourceKey:null==(h=e.dataSource)?void 0:h.key,resourceName:null==(f=e.collectionField)?void 0:f.collectionName,actionName:"update"}),l=await e.aclCheck({dataSourceKey:null==(g=e.dataSource)?void 0:g.key,resourceName:null==(y=e.collectionField)?void 0:y.collectionName,fields:[e.collectionField.name],actionName:"update"});w||(null==(v=e.item)?void 0:v.__is_stored__)||(null==(_=(b=e.model).setHidden)||_.call(b,!0),e.model.forbidden={actionName:M},null==(x=e.exitAll)||x.call(e)),t&&l||e.model.setProps({aclDisabled:!0})}},gC=(0,u.defineAction)({name:"aclCheckRefresh",async handler(e,t){let l=(null==t?void 0:t.strategy)||"default";if(gS(e),!e.skipAclCheck){if("formItem"===l)return void await gF(e);await gk(e)}}});function gA(e){var t,l,o,n,i;return(null==(n=e.model.subModels)||null==(o=n.field)||null==(l=o.props)||null==(t=l.fieldNames)?void 0:t.label)||e.model.props.titleField||(null==(i=e.collectionField)?void 0:i.targetCollectionTitleFieldName)}function gP(e){var t;let l=e.model.subModels.field,o=sc(l)??(null==l?void 0:l.use),n="string"==typeof o?e.engine.getModelClass(o):o;return((null==n||null==(t=n.meta)?void 0:t.preserveOnPatternChange)??!1)===!0}async function gT(e){var t,l,o,n,i,r,a;null==(t=(l=e.model).invalidateFlowCache)||t.call(l,"beforeRender",!0),await (null==(o=(n=e.model).rerender)?void 0:o.call(n));let s=e.model.parent;s&&(null==(i=s.invalidateFlowCache)||i.call(s,"beforeRender",!0),null==(r=s.setProps)||r.call(s,{__patternRefreshKey:(0,ny.uid)()}),await (null==(a=s.rerender)?void 0:a.call(s)))}let gj=(0,u.defineAction)({name:"pattern",title:(0,u.tExpr)("Display mode"),uiMode(e){let t=e.t;return{type:"select",key:"pattern",props:{options:[{value:"editable",label:t("Editable")},{value:"disabled",label:t("Disabled")},{value:"readPretty",label:t("Display only")}]}}},hideInSettings:e=>!e.model.collectionField||!1===e.model.collectionField.inputable,defaultParams:e=>({pattern:!1===e.model.collectionField.inputable||e.model.context.parentDisabled||e.model.props.disabled||e.model.collectionField.readonly?"disabled":"editable"}),afterParamsSave:async(e,t,l)=>{if(gP(e)){if(t.pattern!==l.pattern){var o,n;null==(n=e.model.subModels.field)||null==(o=n.scheduleApplyJsSettings)||o.call(n)}await gT(e);return}let i=e.collectionField.targetCollection,r=gA(e),a=null==i?void 0:i.getField(r),{model:s}=e,d=function(t){var l,o;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.collectionField;if(!t)return;let i="function"==typeof t.defaultProps?t.defaultProps(e,n):t.defaultProps;return(null==(o=e.collectionField)||null==(l=o.isAssociationField)?void 0:l.call(o))&&r?{...i||{},titleField:r}:i};if("readPretty"===t.pattern){let t=sy.getDefaultBindingByField(e,e.collectionField,{fallbackToTargetTitleField:!0,targetCollectionTitleField:a});await sp({parentModel:s,targetUse:t.modelName,defaultProps:d(t,a||e.collectionField)}),t.modelName&&e.model.setStepParams("editItemSettings","model",{use:t.modelName})}else{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField);"readPretty"===l.pattern&&await sp({parentModel:s,targetUse:t.modelName,defaultProps:d(t)})}await gT(e)},async beforeParamsSave(e,t,l){if("readPretty"===t.pattern){let t=gA(e);e.model.setProps({pattern:"readPretty",disabled:!1,titleField:t}),e.collectionField.isAssociationField()&&await e.model.setStepParams("editItemSettings","titleField",{titleField:t})}else e.model.setProps({disabled:"disabled"===t.pattern,pattern:"editable"})},handler(e,t){"readPretty"===t.pattern?e.model.setProps({pattern:"readPretty"}):e.model.setProps({disabled:"disabled"===t.pattern,pattern:null})}}),gI=(0,u.defineAction)({title:(0,u.tExpr)("Validation"),name:"validation",uiSchema:e=>{if(!e.model.collectionField)return;let t=e.model.collectionField.getInterfaceOptions();return(null==t?void 0:t.validationType)?{validation:{"x-decorator":"FormItem","x-component":ed.g7,"x-component-props":{type:t.validationType,availableValidationOptions:[...new Set(t.availableValidationOptions)],excludeValidationOptions:[...new Set(t.excludeValidationOptions)],isAssociation:t.isAssociation}}}:null},handler(e,t){if(t.validation){let l=[],o=(0,u.jioToJoiSchema)(t.validation),n=e.model.props.label;l.push({validator:(t,l)=>{let{error:i}=o.validate(l,{abortEarly:!1});if(i){let t=i.details.map(t=>e.t(`${t.type}`,{...t.context,ns:"data-source-main",label:n})),l=document.createElement("div");return l.innerHTML=t.join("; "),Promise.reject(l.textContent)}return Promise.resolve()}});let i=t.validation.rules.some(e=>"required"===e.name);i&&e.model.setProps({required:i}),console.log(l),e.model.setProps({rules:l,validation:t.validation})}}}),gL=(0,u.defineAction)({title:(0,u.tExpr)("Fixed"),name:"fixed",uiMode:e=>{let t=e.t;return{type:"select",key:"fixed",props:{options:[{label:t("Not fixed"),value:"none"},{label:t("Left fixed"),value:"left"},{label:t("Right fixed"),value:"right"}]}}},defaultParams:{fixed:"none"},handler(e,t){e.model.setProps("fixed",t.fixed)}});function gD(e){return(0,sm.Gj)(e)}function gR(e,t){var l,o,n,i,r;let a=e=>{if(null==e)return null;if(Array.isArray(e)){let t=e.map(e=>String(e??"")).filter(Boolean);return t.length?t[t.length-1]:null}return String(e)},s=a(null==e||null==(l=e.props)?void 0:l.label);if(s)return t(s);let d=null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.context)?void 0:o.collectionField,u=a(null==d?void 0:d.title);if(u)return t(u);let c=a(null==e||null==(r=e.props)?void 0:r.name)||a(null==e?void 0:e.fieldPath);return c?c.includes(".")?c.split(".").filter(Boolean).slice(-1)[0]||c:t(c):""}function gY(e){let t=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);return t.length?t[t.length-1]:""}function gE(e){var t;if(!e||"object"!=typeof e)return null;let l=(null==e?void 0:e.collection)||(null==e||null==(t=e.context)?void 0:t.collection);return l&&"object"==typeof l?l:null}function gN(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{associationDepth:o=0,maxAssociationFieldDepth:n=2}=l,i="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],r=[];for(let e of i){var a;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let s=String(l.name||"");if(!s)continue;let d=t("string"==typeof l.title?l.title:s),u=!!((null==(a=l.isAssociationField)?void 0:a.call(l))||l.target||l.targetCollection),c=!!l.targetCollection;u&&o>=n||r.push({label:d,value:s,isLeaf:!(u&&c)})}return r}function gO(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[],n=new Set;for(let e of l){let t=(null==e?void 0:e.value)?String(e.value):"";t&&n.add(t)}return[...l,...o.filter(e=>{let t=(null==e?void 0:e.value)?String(e.value):"";return!!t&&!n.has(t)})]}function gB(e){var t,l,o;let{formBlockModel:n,t:i,maxFormItemDepth:r=1/0,maxAssociationFieldDepth:a=2}=e,s=(null==n||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[],d=gE(n),u=(e,t)=>{if(!Array.isArray(e)||t>r)return[];let l=[];for(let r of e){var o,n,s,d,c,p;if(!r)continue;let e=gR(r,i),m=gD(r);if(!m)continue;let h=gY(m);if(!h)continue;let f={label:e,value:h},g=null==r||null==(o=r.subModels)?void 0:o.field,y=null==g||null==(d=g.subModels)||null==(s=d.grid)||null==(n=s.subModels)?void 0:n.items,v=null==g||null==(c=g.context)?void 0:c.collectionField,_=!!((null==v||null==(p=v.isAssociationField)?void 0:p.call(v))||(null==v?void 0:v.target)||(null==v?void 0:v.targetCollection)),b=!!(null==v?void 0:v.targetCollection),x=_?m.split(".").filter(Boolean).length:0;if(!_||!(x>a)){if(Array.isArray(y)){if(_&&b)f.isLeaf=!1;else{let e=y.length?u(y,t+1):[];e.length?(f.children=e,f.isLeaf=!1):f.isLeaf=!0}l.push(f);continue}_&&b?f.isLeaf=!1:f.isLeaf=!0,l.push(f)}}return l};return gO(u(s,1),gN(d,i,{maxAssociationFieldDepth:a}))}let gH=e=>{let{t,fieldOptions:l,rootCollection:o,value:n,onChange:i,defaultMode:r="assign",fixedMode:a,showCondition:d=!0,showEnable:c=!0,showValueEditorWhenNoField:m=!1,getValueInputProps:h,isTitleFieldCandidate:f,onSyncAssociationTitleField:y,enableDateVariableAsConstant:v=!1,maxAssociationFieldDepth:_=2}=e,b=p.default.useMemo(()=>Array.isArray(n)?n:[],[n]),[x,M]=p.default.useState(()=>Array.isArray(l)?l:[]);p.default.useEffect(()=>{M(Array.isArray(l)?l:[])},[l]);let w=p.default.useCallback((e,t)=>(null==e?void 0:e.key)||String(t),[]),[S,k]=p.default.useState({}),[F,C]=p.default.useState({}),[A,P]=p.default.useState(null);p.default.useEffect(()=>{let e=new Set(b.map((e,t)=>w(e,t)));k(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=i:o=!0;return o?l:t}),C(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=!!i:o=!0;return o?l:t}),A&&!e.has(A)&&P(null)},[w,A,b]);let T=p.default.useCallback(e=>{let t=String(e||"");return t?t.split(".").map(e=>e.trim()).filter(Boolean):[]},[]),j=p.default.useCallback(e=>{var t;return!!((null==e||null==(t=e.isAssociationField)?void 0:t.call(e))||(null==e?void 0:e.target)||(null==e?void 0:e.targetCollection))},[]),I=p.default.useCallback((e,l,o)=>{if(!(null==e?void 0:e.getFields)||o.has(e))return[];let n=new Set(o);n.add(e);let i=("function"==typeof e.getFields?e.getFields():[])||[],r=[];for(let e of i){if(!e)continue;let o=e,i="string"==typeof o.interface?o.interface:void 0;if(!i||"formula"===i)continue;let a=String(o.name||"");if(!a)continue;let s=t("string"==typeof o.title?o.title:a),d={name:a,title:s,type:String(o.type||"string"),interface:i,uiSchema:o.uiSchema,paths:[...l,a]},u=j(o),c=(0,sm.E4)(o);u&&!c&&o.targetCollection&&(d.children=async()=>I(o.targetCollection,[...l,a],n)),r.push(d)}return r},[j,t]),L=p.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return;let l=T(e);if(!l.length)return;let n=[],i=o;for(let e=0;e<l.length;e++){var r;let o=l[e],a=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!j(a))break;let s=(0,sm.E4)(a),d=null==a?void 0:a.targetCollection;if(!d)break;let u=t("string"==typeof a.title?a.title:o);n.push({collection:d,toMany:s,viaLabel:u}),i=d}if(n.length<=0)return;let a=(e,l,o,i)=>{let r=n[e]||n[0],s=[];r.toMany&&(s.push({title:t("Index (starts from 0)"),name:"index",type:"number",paths:[...l,"index"]}),s.push({title:t("Total count"),name:"length",type:"number",paths:[...l,"length"]})),s.push({title:t("Attributes"),name:"value",type:"object",paths:[...l,"value"],children:async()=>I(r.collection,[...l,"value"],new Set)}),e-1>=0&&s.push(a(e-1,[...l,"parentItem"],"parentItem","Parent item"));let d=null==r?void 0:r.viaLabel;return{title:d?`${t(i)}(${d})`:t(i),name:o,type:"object",paths:l,children:s}};return[a(n.length-1,["item"],"item","Current item")]},[I,j,T,o,t]),D=(e,t)=>{let l=b.map((l,o)=>o===e?{...l,...t}:l);null==i||i(l)},R=e=>{let t=w(b[e],e);k(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),C(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),A===t&&P(null);let l=b.filter((t,l)=>l!==e);null==i||i(l)},Y=(e,t)=>{let l=[...b],o="up"===t?e-1:e+1;if(o<0||o>=l.length)return;let[n]=l.splice(e,1);l.splice(o,0,n),null==i||i(l)},E=()=>{let e=[...b,{key:(0,ny.uid)(),enable:!0,mode:a||r,condition:{logic:"$and",items:[]},targetPath:void 0,value:void 0}];null==i||i(e)},N=e=>a||((null==e?void 0:e.mode)==="default"?"default":"assign"),O=p.default.useCallback(e=>{let l="default"===e?t("Default value"):t("Fixed value"),o="default"===e?t("A pre-filled value. Editable, for new entries only, and won’t affect existing data (including empty values)."):t("A system-set value. Read-only."),n=e=>{e.preventDefault(),e.stopPropagation()};return(0,s.jsxs)(g.Space,{size:4,children:[(0,s.jsx)("span",{children:l}),(0,s.jsx)(g.Tooltip,{title:o,children:(0,s.jsx)(eQ.QuestionCircleOutlined,{style:{cursor:"help",opacity:.65,fontSize:12},onMouseDown:n,onClick:n})})]})},[t]),B=e=>{let l=T(e);if(!l.length)return;if(!(null==o?void 0:o.getField))return l.join(" / ");let n=[],i=o;for(let e=0;e<l.length;e++){var r;let o=l[e],a=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!a){n.push(o);continue}n.push(t("string"==typeof a.title?a.title:o)),j(a)&&(null==a?void 0:a.targetCollection)&&(i=a.targetCollection)}return n.filter(Boolean).join(" / ")},H=p.default.useCallback(e=>{let l=T(e);if(!l.length||!(null==o?void 0:o.getField))return null;let n=o,i=null;for(let e=0;e<l.length;e++){var r,a,s,d,u;let o=String(l[e]);if(!(i=(null==n||null==(r=n.getField)?void 0:r.call(n,o))||null))break;if(e===l.length-1){if(!j(i)||!(null==i?void 0:i.targetCollection))return null;let e=i.targetCollection,l=("function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[]).filter(t=>{if(!t)return!1;if("function"==typeof f)return!!f(t,e);let l="string"==typeof t.interface?t.interface:void 0;return!!l&&"formula"!==l}).map(e=>{let l=String((null==e?void 0:e.name)||"");return l?{value:l,label:t("string"==typeof(null==e?void 0:e.title)?e.title:l)}:null}).filter(Boolean),o="string"==typeof(null==e?void 0:e.titleField)&&e.titleField?e.titleField:void 0,n="string"==typeof(null==e||null==(a=e.options)?void 0:a.titleField)&&(null==(s=e.options)?void 0:s.titleField)?null==(d=e.options)?void 0:d.titleField:void 0,r="string"==typeof(null==i?void 0:i.targetCollectionTitleFieldName)&&i.targetCollectionTitleFieldName?i.targetCollectionTitleFieldName:void 0,c=o||n||r;if(c&&!l.some(e=>e.value===c)){let o="function"==typeof(null==e?void 0:e.getField)&&(null==(u=e.getField(c))?void 0:u.title)||c;l.unshift({value:c,label:t("string"==typeof o?o:c)})}let p="string"==typeof(null==i?void 0:i.targetKey)&&i.targetKey||(null==e?void 0:e.filterTargetKey)||(null==e?void 0:e.filterByTk)||"id";return{associationField:i,targetCollection:e,currentTitleField:c,valueKey:p,candidates:l}}if(!j(i)||!(null==i?void 0:i.targetCollection))break;n=i.targetCollection}return null},[j,f,T,o,t]),V=p.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return null;let t=o;for(let o of e){var l;let e=null==t||null==(l=t.getField)?void 0:l.call(t,o);if(!j(e)||!(null==e?void 0:e.targetCollection))return null;t=e.targetCollection}return t||null},[j,o]),q=p.default.useCallback((e,l)=>gN(e,t,{associationDepth:l,maxAssociationFieldDepth:_}),[_,t]),$=p.default.useCallback(async e=>{let t=e||[],l=t[t.length-1];if(!l||l.children&&Array.isArray(l.children)&&l.children.length||l.isLeaf)return;let o=t.map(e=>String(null==e?void 0:e.value)).filter(Boolean),n=V(o);if(!n){l.isLeaf=!0,M(e=>[...e]);return}let i=q(n,o.length);i.length?l.children=i:l.isLeaf=!0,M(e=>[...e])},[q,V]),z=p.default.useCallback(async e=>{if(!e.length)return;let t=x,l=[];for(let n=0;n<e.length-1;n++){var o;let i=String(e[n]),r=t.find(e=>String(null==e?void 0:e.value)===i);if(!r)return;if(l.push(r),null==(o=r.children)?void 0:o.length){t=r.children;continue}if(r.isLeaf)return;await $(l),t=r.children||[]}},[x,$]),K=p.default.useMemo(()=>{let e=[],t=new Set;for(let l of b){let o=(null==l?void 0:l.targetPath)?String(l.targetPath):"";o&&(t.has(o)||(t.add(o),e.push(o)))}return e},[b]);p.default.useEffect(()=>{let e=!1;return(async()=>{for(let t of K){if(e)return;let l=T(t);l.length&&await z(l)}})(),()=>{e=!0}},[T,z,K]);let U=(e,l)=>{let o="default"===N(e)?t("Default value"):t("Fixed value"),n=B(e.targetPath),i=n?String(n):t("Please select field");return(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,s.jsxs)("div",{style:{flex:1,marginRight:16,minWidth:0,display:"flex",alignItems:"center",gap:8},children:[(0,s.jsx)("div",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},title:i,children:i}),(0,s.jsx)("div",{style:{opacity:.65,fontSize:12,whiteSpace:"nowrap"},children:o})]}),(0,s.jsxs)(g.Space,{onClick:e=>e.stopPropagation(),children:[(0,s.jsx)(g.Tooltip,{title:t("Delete"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.DeleteOutlined,{}),onClick:()=>R(l),"aria-label":t("Delete")})}),(0,s.jsx)(g.Tooltip,{title:t("Move up"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.ArrowUpOutlined,{}),onClick:()=>Y(l,"up"),disabled:0===l,"aria-label":t("Move up")})}),(0,s.jsx)(g.Tooltip,{title:t("Move down"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.ArrowDownOutlined,{}),onClick:()=>Y(l,"down"),disabled:l===b.length-1,"aria-label":t("Move down")})}),c&&(0,s.jsx)(g.Switch,{size:"small",checked:!1!==e.enable,onChange:e=>D(l,{enable:e}),checkedChildren:t("Enable"),unCheckedChildren:t("Disable")})]})]})},G=b.map((e,l)=>{var o;let n=N(e),i=L(e.targetPath),r=w(e,l),c=H(e.targetPath),p=S[r],f="string"==typeof p&&p||"string"==typeof(null==e?void 0:e.valueTitleField)&&e.valueTitleField||(null==c?void 0:c.currentTitleField)||void 0,b=!f||!c||!!c.candidates.some(e=>e.value===f),M=b?f:(null==c?void 0:c.currentTitleField)||void 0,j=!!c,I=!!(null==c||null==(o=c.candidates)?void 0:o.length),R=A===r,Y=!!y&&j&&I&&b&&!!M&&M!==(null==c?void 0:c.currentTitleField)&&!R,E=!(0,u.isVariableExpression)(null==e?void 0:e.value)&&!(0,u.isRunJSValue)(null==e?void 0:e.value)&&(null==e?void 0:e.value)!==null,B=j&&E,V=B&&!!F[r],q=j?(0,s.jsxs)(g.Space.Compact,{size:"small",onClick:e=>e.stopPropagation(),children:[(0,s.jsx)(g.Select,{size:"small",style:{minWidth:160},value:M,placeholder:I?t("Please select field"):t("No available title fields"),options:(null==c?void 0:c.candidates)||[],disabled:!I||R,allowClear:!1,onChange:e=>{let t=String(e||""),o=t&&t!==(null==c?void 0:c.currentTitleField)?t:void 0;k(e=>{let t=Object.prototype.hasOwnProperty.call(e,r);if(!o){if(!t)return e;let l={...e};return delete l[r],l}return e[r]===o?e:{...e,[r]:o}}),D(l,{valueTitleField:o})}}),(0,s.jsx)(g.Tooltip,{title:Y?t("Sync selected title field to collection"):t("Please choose a different title field before syncing"),children:(0,s.jsx)(g.Popconfirm,{title:t("Sync title field"),description:t("This will update the collection title field globally. Continue?"),okText:t("OK"),cancelText:t("Cancel"),disabled:!Y,onConfirm:async()=>{if(c&&M&&"function"==typeof y&&c.candidates.some(e=>e.value===M)){P(r);try{await y({ruleItem:e,ruleIndex:l,targetPath:e.targetPath,associationField:c.associationField,targetCollection:c.targetCollection,titleField:M}),k(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t}),D(l,{valueTitleField:void 0})}catch(e){console.warn("[FieldAssignRulesEditor] Failed to sync title field",e)}finally{P(e=>e===r?null:e)}}},children:(0,s.jsx)(g.Button,{size:"small",icon:(0,s.jsx)(eQ.SyncOutlined,{spin:R}),disabled:!Y,"aria-label":t("Sync title field")})})})]}):null;return{key:e.key||String(l),label:U(e,l),styles:{header:{display:"flex",alignItems:"center"}},children:(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Field")}),(0,s.jsx)(g.Cascader,{value:T(e.targetPath),placeholder:t("Please select field"),style:{width:"100%"},options:x,loadData:$,changeOnSelect:!0,showSearch:{filter:(e,t)=>{let l=String(e||"").toLowerCase();return!l||(t||[]).some(e=>String((null==e?void 0:e.label)??"").toLowerCase().includes(l))}},allowClear:!0,onChange:t=>{let o=Array.isArray(t)?t.map(e=>String(e)).filter(Boolean):[],n=o.length?o.join("."):void 0,i=n!==e.targetPath;i&&(k(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t}),C(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t})),D(l,{targetPath:n,valueTitleField:i?void 0:e.valueTitleField,value:i?void 0:e.value})}})]}),(m||!!e.targetPath)&&(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Value")}),(0,s.jsx)(gd.zv,{targetPath:e.targetPath||"",value:e.value,onChange:e=>D(l,{value:e}),extraMetaTree:i,maxAssociationFieldDepth:_,...(null==h?void 0:h(e,l))||{},enableDateVariableAsConstant:v,associationFieldNamesOverride:c&&M?{label:M,value:c.valueKey}:void 0},`${e.targetPath||"no-field"}::${M||""}`),B&&(0,s.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:6},children:(0,s.jsx)(g.Popover,{trigger:"click",open:V,onOpenChange:e=>{C(t=>({...t,[r]:e}))},placement:"bottomRight",title:t("Advanced"),content:(0,s.jsx)("div",{style:{minWidth:280},children:(0,s.jsxs)(g.Space,{size:8,align:"center",wrap:!0,children:[(0,s.jsx)("span",{style:{fontSize:12,opacity:.75},children:t("Title field")}),q]})}),children:(0,s.jsx)(g.Button,{type:"link",size:"small",style:{paddingInline:0,height:"auto"},icon:V?(0,s.jsx)(eQ.UpOutlined,{}):(0,s.jsx)(eQ.DownOutlined,{}),children:t("Advanced")})})})]}),!a&&(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Assignment mode")}),(0,s.jsx)(g.Radio.Group,{value:n,style:{width:"100%"},onChange:e=>D(l,{mode:e.target.value}),children:(0,s.jsxs)(g.Space,{size:16,children:[(0,s.jsx)(g.Radio,{value:"default",children:O("default")}),(0,s.jsx)(g.Radio,{value:"assign",children:O("assign")})]})})]}),d&&(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Condition")}),(0,s.jsx)(r9.H,{value:e.condition||{logic:"$and",items:[]},onChange:e=>D(l,{condition:e}),extraMetaTree:i,maxAssociationFieldDepth:2})]})]})}}),W=p.default.useMemo(()=>{if(!b.length)return[];let e=-1;for(let l=b.length-1;l>=0;l--){var t;if((null==(t=b[l])?void 0:t.enable)!==!1){e=l;break}}let l=e>=0?e:0,o=b[l],n=(null==o?void 0:o.key)||String(l);return n?[n]:[]},[b]);return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[b.length?(0,s.jsx)(g.Collapse,{items:G,size:"small",style:{marginBottom:8},defaultActiveKey:W,accordion:!0}):(0,s.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:6,backgroundColor:"#fafafa",marginBottom:8},children:(0,s.jsx)(g.Empty,{description:t("No data"),style:{margin:"20px 0"}})}),(0,s.jsx)(g.Button,{type:"dashed",icon:(0,s.jsx)(eQ.PlusOutlined,{}),onClick:E,style:{width:"100%"},children:t("Add")})]})};function gV(e,t){var l;let o="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;return!!e&&!!o&&!!(null==(l=(0,u.getCollectionFieldInterface)(o,e))?void 0:l.titleUsable)}function gq(e){let t=(null==e?void 0:e.dataSourceKey)??(null==e?void 0:e.dataSource);return"string"==typeof t&&t?t:ed.Ze}function g$(e){let t=null==e?void 0:e.name;if("string"==typeof t&&t)return t;throw Error("Target collection name is required for syncing title field.")}function gz(e){return e&&e!==ed.Ze?`dataSources/${e}/collections:update`:"collections:update"}async function gK(e){var t,l;let{api:o,dataSourceManager:n,targetCollection:i,titleField:r}=e;if("function"!=typeof(null==o?void 0:o.request))throw Error("API client is unavailable.");if("string"!=typeof r||!r)throw Error("Title field is required.");let a=g$(i),s=gq(i);await o.request({url:gz(s),method:"post",params:{filterByTk:a},data:{titleField:r}}),null==i||null==(t=i.setOption)||t.call(i,"titleField",r);let d=null==n||null==(l=n.getDataSource)?void 0:l.call(n,s);return d&&"function"==typeof d.reload&&await d.reload(),{dataSourceKey:s,collectionName:a,titleField:r}}function gU(e){let{api:t,dataSourceManager:l}=(0,u.useFlowContext)();return{isTitleFieldCandidate:p.default.useCallback(e=>gV(l,e),[l]),onSyncAssociationTitleField:p.default.useCallback(async o=>{let{targetCollection:n,titleField:i}=o;try{await gK({api:t,dataSourceManager:l,targetCollection:n,titleField:i}),g.message.success(e("Saved successfully"))}catch(l){let t=(null==l?void 0:l.message)?String(l.message):e("Save failed");throw g.message.error(t),l}},[t,l,e])}}var gG=__webpack_require__(3127);let gW=(0,u.observer)(e=>{let t=(0,u.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=gU(l),i="function"==typeof e.onChange,r=p.default.useMemo(()=>gB({formBlockModel:t.model,t:l}),[t.model]),a=p.default.useMemo(()=>(0,gG.K7)(t.model),[t.model]),d=p.default.useMemo(()=>(0,ul.PP)(t.model,"formModelSettings","assignRules"),[t.model]),m=p.default.useRef(!1),[h,f]=p.default.useState(!1),g=p.default.useCallback(()=>{m.current||(m.current=!0,f(!0))},[]),y=p.default.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),v=p.default.useMemo(()=>d?y:(0,gG.S2)(e.value,a),[d,a,y,e.value]),_=p.default.useMemo(()=>i&&h?y:v,[i,h,v,y]),b=p.default.useCallback(t=>{var l;i&&(g(),null==(l=e.onChange)||l.call(e,t))},[i,g,e.onChange]);return p.default.useEffect(()=>{if(!m.current&&i){if(d)return void g();if(!(0,c.isEqual)(y,v)){var t;null==(t=e.onChange)||t.call(e,v)}g()}},[i,d,v,g,y,e.onChange]),(0,s.jsx)(gH,{t:l,fieldOptions:r,rootCollection:(0,sm.w7)(t.model),value:_,onChange:b,showValueEditorWhenNoField:!0,isTitleFieldCandidate:o,onSyncAssociationTitleField:n,enableDateVariableAsConstant:!0})}),gJ=(0,u.defineAction)({name:"formAssignRules",title:(0,u.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":gW}}),defaultParams:{value:[]},handler(){}}),gX=(0,u.observer)(e=>{let t=(0,u.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=gU(l),i="function"==typeof e.onChange,r=p.default.useMemo(()=>gB({formBlockModel:t.model,t:l}),[t.model]),a=p.default.useMemo(()=>ur(t.model),[t.model]),d=p.default.useMemo(()=>(0,ul.PP)(t.model,"formFilterBlockModelSettings","defaultValues"),[t.model]),m=p.default.useCallback(e=>{var l,o,n,i;let r=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!r)return{};let a=(0,sm.eo)(t.model,r);return a?{operator:rj(a),operatorMetaList:(null==a||null==(o=a.collectionField)||null==(l=o.filterable)?void 0:l.operators)||((null==a||null==(i=a.context)||null==(n=i.filterField)?void 0:n.type)?null===ed.II||void 0===ed.II?void 0:ed.II[a.context.filterField.type]:[])||[],preferFormItemFieldModel:!0}:{}},[t.model]),h=p.default.useRef(!1),[f,g]=p.default.useState(!1),y=p.default.useCallback(()=>{h.current||(h.current=!0,g(!0))},[]),v=p.default.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),_=p.default.useMemo(()=>d?v:(0,ul.S2)(e.value,a),[d,a,v,e.value]),b=p.default.useMemo(()=>i&&f?v:_,[i,f,_,v]),x=p.default.useCallback(t=>{var l;i&&(y(),null==(l=e.onChange)||l.call(e,t))},[i,y,e.onChange]);return p.default.useEffect(()=>{if(!h.current&&i){if(d)return void y();if(!(0,c.isEqual)(v,_)){var t;null==(t=e.onChange)||t.call(e,_)}y()}},[i,d,_,y,v,e.onChange]),(0,s.jsx)(gH,{t:l,fieldOptions:r,rootCollection:(0,sm.w7)(t.model),value:b,onChange:x,showValueEditorWhenNoField:!0,getValueInputProps:m,isTitleFieldCandidate:o,onSyncAssociationTitleField:n,enableDateVariableAsConstant:!0})}),gQ=(0,u.defineAction)({name:"filterFormDefaultValues",title:(0,u.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":gX}}),defaultParams:{value:[]},handler(){}}),gZ=(0,u.defineAction)({name:"linkageRulesRefresh",async handler(e,t){var l,o,n,i,r;let a=null==t?void 0:t.actionName,s=null==t?void 0:t.flowKey,d=(null==t?void 0:t.stepKey)||"linkageRules";if(!a||!s)return;let u=e.model;if(!u.getFlow(s))return;let c=!!((null==e?void 0:e.flowSettingsEnabled)||(null==u||null==(o=u.context)?void 0:o.flowSettingsEnabled)),p=!(null==u?void 0:u.isFork)&&!!(null==u||null==(n=u.forks)?void 0:n.size)&&Array.from((null==u?void 0:u.forks)||[]).some(e=>{var t;return!!e&&!e.disposed&&!!(null==e||null==(t=e.getFlow)?void 0:t.call(e,s))}),m=!!(null==u||null==(r=u.context)||null==(i=r.ref)?void 0:i.current);if(p&&!m&&!c)return;let h=`${s}:${d}:${a}`,f=(l=u).__linkageRulesRefreshInflight||(l.__linkageRulesRefreshInflight=new Map),g=f.get(h);if(g)return void await g;let y=(async()=>{var t,l;let o=null==u||null==(t=u.getStepParams)?void 0:t.call(u,s,d),n=null==(l=e.getAction)?void 0:l.call(e,a),i=(null==n?void 0:n.useRawParams)?{value:[],...o||{}}:await e.resolveJsonTemplate({value:[],...o||{}});(null==n?void 0:n.handler)&&await n.handler(e,i)})();f.set(h,y);try{await y}finally{f.delete(h)}}}),g0="defaultHeight",g1="specifyValue",g2="fullHeight",g5=(0,u.defineAction)({name:"blockHeight",title:(0,u.tExpr)("Block height"),uiMode:{type:"dialog"},uiSchema:e=>{let{t}=e;return{heightMode:{type:"string",enum:[{label:t("Default"),value:g0},{label:t("Specify height"),value:g1},{label:t("Full height"),value:g2}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:t("Height"),type:"number",required:!0,"x-decorator":"FormItem","x-component":g.InputNumber,"x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},defaultParams:e=>({heightMode:g0}),async handler(e,t){e.model.setDecoratorProps({heightMode:t.heightMode,height:t.height})}});var g8=__webpack_require__(5886);let g4="formValuesChange",g3="__formValueDrivenLinkageRefreshBindings";function g6(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function g9(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function g7(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,i5.Qc)(l),l);return Array.from(t.values())}function ye(e){let t=g7(e);return t.filter((e,l)=>!t.some((t,o)=>o!==l&&g9(e,t)))}function yt(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,o]=e.split(":"),n=Number(o);!t||Number.isNaN(n)||l.push({name:t,index:n})}return l}function yl(e){var t,l;return yt((null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function yo(e,t){let l=e.length-1-t;if(l<0)return null;let o=[];for(let t=0;t<=l;t++)o.push(e[t].name,e[t].index);return o}function yn(e,t){let l=yo(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function yi(e,t){let l=yl(e);if(!l.length)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let o=0,n=[...t];for(;"parentItem"===n[0];)o+=1,n=n.slice(1);let i=n[0];if(!i)return{wildcard:!0,valuePaths:[],structuralPaths:[]};if("value"===i){let e=yo(l,o);if(!e)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let t=yn(l,o);return{wildcard:!1,valuePaths:[[...e,...n.slice(1)]],structuralPaths:t?[t]:[]}}if("index"===i||"length"===i){let e=yn(l,o);return e?{wildcard:!1,valuePaths:[],structuralPaths:[e]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}if("__is_new__"===i||"__is_stored__"===i){let e=yo(l,o);return e?{wildcard:!1,valuePaths:[[...e,i]],structuralPaths:[]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}return{wildcard:!0,valuePaths:[],structuralPaths:[]}}function yr(e,t){if("string"==typeof e&&e.trim())for(let[l,o]of Object.entries((0,u.extractUsedVariablePathsFromRunJS)(e)||{})){let e=Array.isArray(o)?o:[];for(let o of e.length?e:[""]){if("formValues"===l){if(!o){t.wildcard=!0;continue}let e=(0,i5.EA)(String(o)).filter(e=>"object"!=typeof e);(0,i8.Dd)(e,t);continue}if("item"===l){let e=o?`ctx:item:${String(o)}`:"ctx:item";t.deps.add(e)}}}}function ya(e,t){let l=new WeakSet,o=e=>{if(!e||"object"!=typeof e||l.has(e))return;if(l.add(e),(0,u.isRunJSValue)(e)&&(0,i8.Wp)(e,t),Array.isArray(e))return void e.forEach(o);let n=null==e?void 0:e.name;("linkageRunjs"===n||"runjs"===n)&&(yr(c.default.get(e,["params","value","script"]),t),yr(c.default.get(e,["params","code"]),t)),Object.values(e).forEach(o)};o(e)}function ys(e,t){let l={deps:new Set,wildcard:!1};(0,i8.G)(t,l),ya(t,l);let o=[],n=[],i=l.wildcard;for(let t of l.deps){if("fv:*"===t){i=!0;continue}if(t.startsWith("fv:")){let e=t.slice(3);if(!e){i=!0;continue}o.push((0,i5.c1)(e));continue}if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),r=yi(e,l?(0,i5.EA)(l).filter(e=>"object"!=typeof e):[]);i||(i=r.wildcard),o.push(...r.valuePaths),n.push(...r.structuralPaths)}}return{wildcard:i,valuePaths:ye(o),structuralPaths:g7(n)}}function yd(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0}function yu(e){let t=Array.isArray(null==e?void 0:e.changedPaths)?e.changedPaths:[],l=[];for(let e of t){if(Array.isArray(e)){if(1===e.length&&"string"==typeof e[0]){let t=(0,i5.c1)(e[0]);t.length&&l.push(t);continue}let t=e.filter(e=>"string"==typeof e||"number"==typeof e);t.length&&l.push(t);continue}"string"==typeof e&&e&&l.push((0,i5.c1)(e))}if(l.length)return l;let o=null==e?void 0:e.changedValues;if(o&&"object"==typeof o)for(let e of Object.keys(o)){let t=(0,i5.c1)(e);t.length&&l.push(t)}return l}function yc(e,t){if(!yd(e))return!1;let l=yu(t);if(e.wildcard||!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(g9(l,t)||g9(t,l))return!0;for(let l of e.structuralPaths)if(g6(l,t)||g9(t,l))return!0}return!1}function yp(e,t){let l=e=>e.map(e=>(0,i5.Qc)(e)).sort();return JSON.stringify({formBlockUid:null==t?void 0:t.uid,wildcard:e.wildcard,valuePaths:l(e.valuePaths),structuralPaths:l(e.structuralPaths)})}function ym(e){var t,l;return(t=e)[l=g3]||(t[l]=new Map)}function yh(e){var t,l;return!!e&&"object"==typeof e&&!!e.emitter&&"function"==typeof e.emitter.on&&"function"==typeof e.emitter.off&&(!!e.formValueRuntime||!!(null==(t=e.context)?void 0:t.form)||"function"==typeof(null==(l=e.context)?void 0:l.setFormValues))}function yf(e){var t,l,o;let n=[],i=e=>{e&&!n.includes(e)&&n.push(e)};i(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel),i(e.model);let r=null==(o=e.model)?void 0:o.parent;for(;r;)i(r),r=null==r?void 0:r.parent;return n.find(yh)||null}function yg(e,t){let l=ym(e).get(t);l&&l.dispose()}function yy(e,t,l){var o,n,i,r,a,s;let d=e.model,c=null==e?void 0:e.flowKey;if(!d||!c)return;let p="linkageRules",m=`${c}:${p}:${l}`,h=ym(d),f=ys(e,t);if(!yd(f))return void yg(d,m);let g=yf(e);if(!g)return void yg(d,m);let y=yp(f,g),v=h.get(m);if((null==v?void 0:v.signature)===y)return;v&&v.dispose();let _={signature:y,running:!1,linkageTxIds:new Set,pendingPayload:null,dispose:()=>{}},b=(null==d||null==(o=d.flowEngine)?void 0:o.emitter)||(null==e||null==(n=e.engine)?void 0:n.emitter)||(null==d||null==(r=d.context)||null==(i=r.engine)?void 0:i.emitter),x=()=>{var e,t,l,o;null==(t=g.emitter)||null==(e=t.off)||e.call(t,g4,w),null==b||null==(l=b.off)||l.call(b,"model:unmounted",S),null==b||null==(o=b.off)||o.call(b,"model:destroyed",k),h.get(m)===_&&h.delete(m)},M=e=>{if("string"!=typeof e||!e||(_.linkageTxIds.add(e),_.linkageTxIds.size<=20))return;let t=_.linkageTxIds.values().next().value;t&&_.linkageTxIds.delete(t)},w=o=>{let n="string"==typeof(null==o?void 0:o.linkageTxId)?o.linkageTxId:void 0;if((null==o?void 0:o.source)==="linkage"&&n&&_.linkageTxIds.has(n))return;if(d.disposed||g.disposed)return void x();if(!yc(ys(e,t),o))return;if(_.running){_.pendingPayload=o;return}let i=n||("string"==typeof(null==o?void 0:o.txId)?o.txId:void 0);M(i),_.running=!0;let r=new u.FlowRuntimeContext(d,c);r.defineProperty("inputArgs",{value:{...o||{},linkageTxId:i}}),gZ.handler(r,{actionName:l,flowKey:c,stepKey:p}).catch(e=>{console.warn("[linkageRules] Failed to refresh form value driven linkage rules",e)}).finally(()=>{_.running=!1;let e=_.pendingPayload;_.pendingPayload=null,e&&w(e)})},S=e=>{let{model:t}=e;(t===g||t===d&&d.disposed)&&x()},k=e=>{let{model:t}=e;(t===d||t===g)&&x()};_.dispose=x,h.set(m,_),g.emitter.on(g4,w),null==b||null==(a=b.on)||a.call(b,"model:unmounted",S),null==b||null==(s=b.on)||s.call(b,"model:destroyed",k)}let yv=e=>{if(null==e)return e;let t=typeof e;if("string"===t||"number"===t||"boolean"===t)return e;if(Array.isArray(e))return e.length<=3?e:`[Array(${e.length})]`;if("object"===t){let t=null==e?void 0:e.id;return null!=t?{id:t}:"[Object]"}return`[${t}]`},y_=e=>{let t=0,l=e;for(;l;)(l instanceof pJ||l instanceof pQ)&&(t+=1),l=null==l?void 0:l.parent;return t},yb=e=>{let t=Number(null==e?void 0:e.linkageScopeDepth);return Number.isFinite(t)?t:y_(null==e?void 0:e.model)},yx=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>({label:e.props.label||e.props.name,value:e.uid,model:e}))}catch(e){return console.warn("Failed to get form fields:",e),[]}},yM=e=>e.map(e=>e&&"object"==typeof e?{...e}:e),yw=new Set(["select","multipleSelect","radioGroup","checkboxGroup"]),yS=e=>{var t,l,o,n,i;return(null==e||null==(t=e.collectionField)?void 0:t.interface)||(null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.context)||null==(l=o.collectionField)?void 0:l.interface)},yk=e=>yw.has(yS(e)),yF=e=>{var t,l,o,n;let i=(null==e||null==(t=e.subModels)?void 0:t.field)||e,r=(0,sk.di)(null==e||null==(o=e.collectionField)||null==(l=o.uiSchema)?void 0:l.enum,e=>e)||[];return r.length>0?(i._originalOptionsFallback=yM(r),i._originalOptionsFallback):Array.isArray(null==i?void 0:i._originalOptionsFallback)&&i._originalOptionsFallback.length>0?i._originalOptionsFallback:Array.isArray(null==i||null==(n=i.props)?void 0:n.options)&&i.props.options.length>0?(i._originalOptionsFallback=yM(i.props.options),i._originalOptionsFallback):null},yC=(e,t)=>{let l=yF(e);return l?l.map(e=>e&&"object"==typeof e&&"string"==typeof e.label?{...e,label:t(e.label)}:e):[]},yA=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,o=t.map(t=>{var l;return null==(l=e.find(e=>e.value===t))?void 0:l.model}).filter(e=>yk(e)).filter(Boolean).flatMap(e=>yC(e,l)),n=new Map;return o.forEach(e=>{n.set(JSON.stringify(null==e?void 0:e.value),e)}),Array.from(n.values())},yP=(e,t)=>{switch(e){case"visible":return{hiddenModel:!1};case"hidden":return{hiddenModel:!0};case"hiddenReservedValue":return{hidden:!0};case"required":return{required:!0};case"notRequired":return{required:!1};case"disabled":return{disabled:!0};case"enabled":return{disabled:!1};case"limitOptions":return Array.isArray(t)?{options:t}:{};default:return null}},yT=(e,t)=>{var l;return"limitOptions"===e&&(null==t||null==(l=t.subModels)?void 0:l.field)||t},yj=e=>e&&"object"==typeof e&&1===Object.keys(e).length&&Array.isArray(e.options),yI=(e,t)=>{yj(t)&&(null==e?void 0:e.forks)&&"function"==typeof e.forks.forEach&&e.forks.forEach(e=>{var l;null==e||null==(l=e.setProps)||l.call(e,{options:yM(t.options)})})},yL=e=>{let{value:t={fields:[]},onChange:l,includeFormStates:o=!0,fieldOptionsGetter:n=yx}=e,i=(0,u.useFlowContext)(),r=i.model.translate.bind(i.model),a=n(i),d=(t.fields||[]).map(e=>{var t;return null==(t=a.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),c=1===d.length&&d.every(e=>yk(e)),p=[{label:r("Visible"),value:"visible"},{label:r("Hidden"),value:"hidden"},{label:r("Hidden (reserved value)"),value:"hiddenReservedValue"},o&&{label:r("Required"),value:"required"},o&&{label:r("Not required"),value:"notRequired"},o&&{label:r("Disabled"),value:"disabled"},o&&{label:r("Enabled"),value:"enabled"},o&&c&&{label:r("Options"),value:"limitOptions"}].filter(Boolean),m=yA(a,t.fields,r),h=e=>{let o=e.map(e=>{var t;return null==(t=a.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),n=1===o.length&&o.every(e=>yk(e)),i="limitOptions"!==t.state||n?t.state:void 0,r="limitOptions"===t.state||"limitOptions"===i?[]:t.selectedOptions;l({...t,fields:e,state:i,selectedOptions:r})},f=e=>{l({...t,state:e,selectedOptions:"limitOptions"===e?t.selectedOptions||[]:void 0})},y=e=>{l({...t,selectedOptions:m.filter(t=>e.includes(t.value))})};return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("Fields")}),(0,s.jsx)(g.Select,{mode:"multiple",value:t.fields,onChange:h,placeholder:r("Please select fields"),style:{width:"100%"},options:a,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("State")}),(0,s.jsx)(g.Select,{value:t.state,onChange:f,placeholder:r("Please select state"),style:{width:"100%"},options:p,allowClear:!0})]}),"limitOptions"===t.state&&c&&(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("Options")}),(0,s.jsx)(g.Select,{mode:"multiple",value:(t.selectedOptions||[]).map(e=>e.value),onChange:y,style:{width:"100%"},options:m,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]})]})},yD=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>{let t=Array.from(e.forks)[0];return t?{label:(null==t?void 0:t.props.label)||(null==t?void 0:t.props.name),value:(null==t?void 0:t.uid)||e.uid,model:t}:{label:e.props.label||e.props.name,value:e.uid,model:e}})}catch(e){return console.warn("Failed to get form fields:",e),[]}};function yR(e){let t=e;return t.includes(",")&&t.includes(":")?t.split(",").map(e=>e.trim()).filter(Boolean):t?[t]:[]}function yY(e){let[t,l]=String(e||"").split(":");if(!t)return null;let o=Number(l);return Number.isFinite(o)?{fieldName:t,index:o}:null}function yE(e,t){let l,o;if(!e)return null;let n=String(e).split(".").map(e=>e.trim()).filter(Boolean);if(!n.length)return null;let i=yR(t).map(yY).filter(Boolean),r=0,a=[];for(let e of n){a.push(e);let t=i[r];t&&t.fieldName===e&&(l=[...a],o=t.index,a.push(t.index),r+=1)}return{fieldPathArray:a,listRootPath:l,listRowIndex:o,hasUnmatchedIndices:r<i.length}}function yN(e,t,l){if(Array.isArray(e))return e;if(!e||"object"!=typeof e)return[];let o=null==e?void 0:e.field,n=null==e?void 0:e[t.valueKey];if(o){let e=null==l?void 0:l(String(o));return e?[{key:"legacy",enable:!0,targetPath:e,mode:t.mode,condition:{logic:"$and",items:[]},value:n}]:[]}return[]}function yO(e){return t=>{try{var l,o,n,i;let r=null==(o=e.engine)||null==(l=o.getModel)?void 0:l.call(o,t),a=(null==r||null==(i=r.getStepParams)||null==(n=i.call(r,"fieldSettings","init"))?void 0:n.fieldPath)||(null==r?void 0:r.fieldPath);return a?String(a):void 0}catch(e){console.warn(`Failed to resolve legacy field uid ${t}:`,e);return}}}let yB=Symbol("SKIP_RUNJS_ASSIGN_VALUE");async function yH(e,t){if(!(0,u.isRunJSValue)(t))return t;try{let{code:l,version:o}=(0,u.normalizeRunJSValue)(t),n=await (0,u.runjsWithSafeGlobals)(e,l,{version:o});if(!(null==n?void 0:n.success))return yB;return n.value}catch(e){return console.warn("[linkageRules] Failed to evaluate RunJS assign value",e),yB}}function yV(e){var t,l,o;let n=e=>{var t,l;if(!e||"object"!=typeof e)return null;let o=null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"fieldSettings","init"))?void 0:t.fieldPath,n=null==e?void 0:e.fieldPath;return"string"==typeof o&&o||"string"==typeof n&&n||null},i=null==(t=e.model)?void 0:t.parent;for(;i;){let e=n(i);if(e)return e;i=null==i?void 0:i.parent}let r=null==(o=e.model)||null==(l=o.context)?void 0:l.prefixFieldPath;return"string"==typeof r&&r?r:null}function yq(e,t){let l=String(t||"").trim();if(!l)return null;let o=(0,sm.eo)(e.model,l);if(o)return{targetPath:l,fieldModel:o};let n=yV(e);if(!n)return null;let i=String(n).split(".").map(e=>e.trim()).filter(Boolean),r=String(l).split(".").map(e=>e.trim()).filter(Boolean);if(!i.length||!r.length)return null;let a=e=>e.filter(Boolean).join("."),s=[],d=e=>{let t=String(e||"").trim();t&&(s.includes(t)||s.push(t))};d(l);let u=[],p=Math.min(i.length,r.length);for(let e=p;e>=1;e--){let t=i.slice(i.length-e),l=r.slice(0,e);if(!c.default.isEqual(t,l))continue;let o=a([...i,...r.slice(e)]);o&&!u.includes(o)&&u.push(o),d(o)}let m=a([...i,...r]);for(let t of(d(m),s)){let l=(0,sm.eo)(e.model,t);if(l)return{targetPath:t,fieldModel:l}}let h=1===r.length?m:u.length>0?u[0]:l;return h?{targetPath:h,fieldModel:null}:null}let y$=(0,u.defineAction)({name:"linkageSetBlockProps",title:(0,u.tExpr)("Set block state"),scene:u.ActionScene.BLOCK_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,u.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,s.jsx)(g.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l})}}),yz=(0,u.defineAction)({name:"linkageSetActionProps",title:(0,u.tExpr)("Set button state"),scene:u.ActionScene.ACTION_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,u.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,s.jsx)(g.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden text"),value:"hiddenText"},{label:n("Enabled"),value:"enabled"},{label:n("Disabled"),value:"disabled"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l,disabled:"disabled"===l,hiddenText:"hiddenText"===l})}}),yK=(0,u.defineAction)({name:"linkageSetMenuItemProps",title:(0,u.tExpr)("Set menu item state"),scene:u.ActionScene.MENU_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,u.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,s.jsx)(g.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l})}}),yU=(0,u.defineAction)({name:"linkageSetFieldProps",title:(0,u.tExpr)("Set field state"),scene:u.ActionScene.FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,s.jsx)(yL,{...e})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var n,r,a,s;let d=((null==(s=e.model)||null==(a=s.subModels)||null==(r=a.grid)||null==(n=r.subModels)?void 0:n.items)||[]).find(e=>e.uid===t);if(d){let e=yP(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);o(yT(i,d),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),yG=(0,u.defineAction)({name:"subFormLinkageSetFieldProps",title:(0,u.tExpr)("Set field state"),scene:u.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,s.jsx)(yL,{...e,fieldOptionsGetter:yD})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var n,r,a,s,d;let u=null==(r=e.engine)||null==(n=r.getModel)?void 0:n.call(r,t);if(!u)return void console.warn("[subFormLinkageSetFieldProps] Target field model not found",{fieldUid:t,modelUid:null==(d=e.model)?void 0:d.uid});let c=null==(s=e.model)||null==(a=s.context)?void 0:a.fieldKey,p=c?`${c}:${t}`:void 0,m=p&&"function"==typeof u.getFork?u.getFork(p):null,h=m;if(m||(h=u),h){let e=yP(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);o(yT(i,h),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),yW=(0,u.defineAction)({name:"linkageSetDetailsFieldProps",title:(0,u.tExpr)("Set field state"),scene:u.ActionScene.DETAILS_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,s.jsx)(yL,{...e,includeFormStates:!1})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var l,n,r,a;let s=((null==(a=e.model)||null==(r=a.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items)||[]).find(e=>e.uid===t);if(s){let e=yP(i);if(!e)return void console.warn(`Unknown state: ${i}`);o(yT(i,s),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),yJ={mode:"assign",valueKey:"assignValue"},yX={mode:"default",valueKey:"initialValue"},yQ=e=>{let{value:t,onChange:l,legacy:o,fixedMode:n}=e,i=(0,u.useFlowContext)(),r=p.default.useCallback(e=>i.model.translate(e),[i.model]),{isTitleFieldCandidate:a,onSyncAssociationTitleField:d}=gU(r),c=p.default.useMemo(()=>gB({formBlockModel:i.model,t:r,maxFormItemDepth:1}),[i.model,r]),m=yN(t,o,yO(i)),h=p.default.useCallback(e=>{"function"==typeof l&&l(e)},[l]);return(0,s.jsx)(gH,{t:r,fieldOptions:c,rootCollection:(0,sm.w7)(i.model),value:m,onChange:h,fixedMode:n,isTitleFieldCandidate:a,onSyncAssociationTitleField:d,enableDateVariableAsConstant:!0})},yZ=e=>(0,s.jsx)(yQ,{...e,legacy:yJ}),y0=e=>(0,s.jsx)(yQ,{...e,legacy:yJ}),y1=e=>(0,s.jsx)(yQ,{...e,legacy:yX,fixedMode:"default"}),y2=(0,u.defineAction)({name:"linkageAssignField",title:(0,u.tExpr)("Field assignment"),scene:u.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":yZ}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=yN(l,{mode:"assign",valueKey:"assignValue"},yO(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var r,a;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let s=null==l?void 0:l.condition;if(s&&!(0,A.evaluateConditions)((0,A.removeInvalidFilterItems)(s),t))continue;let d=(0,sm.eo)(e.model,i),c=i.split(".")[0],p=(null==d?void 0:d.collectionField)??(null==(a=(0,sm.w7)(e.model))||null==(r=a.getField)?void 0:r.call(a,c)),m=null==l?void 0:l.value;if((0,u.isRunJSValue)(m)&&(m=await yH(e,m))===yB)continue;let h=sb(p,m);if(void 0===h){d&&o(d,{});continue}let f=(null==l?void 0:l.mode)==="default"?"default":"assign";d?o(d,"default"===f?{initialValue:h}:{value:h}):"function"==typeof n&&n({path:i,value:h,whenEmpty:"default"===f})}}catch(e){console.warn("[linkageAssignField] Failed to assign value to fields",e)}}}),y5=(0,u.defineAction)({name:"subFormLinkageAssignField",title:(0,u.tExpr)("Field assignment"),scene:u.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":y0}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=yN(l,{mode:"assign",valueKey:"assignValue"},yO(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),l=()=>{let t=e.model;return(null==t?void 0:t.__subFormLinkageExplicitPathKeys)instanceof Set||(t.__subFormLinkageExplicitPathKeys=new Set),t.__subFormLinkageExplicitPathKeys},f=t=>{var l,o;let n=(0,i5.IJ)(t,null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex);if(!Array.isArray(n)||!n.length)return null;let i=n.filter(e=>"string"==typeof e||"number"==typeof e);return i.length?(0,i5.Qc)(i):null},g=()=>{let t=null==e?void 0:e.inputArgs;if(!t||"user"!==t.source)return;let o=Array.isArray(t.changedPaths)?t.changedPaths:[];if(!o.length)return;let n=l();for(let t of o){let l=null;if(Array.isArray(t)){let e=t.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}else if("string"==typeof t){var i,r;let o=(0,i5.IJ)(t,null==(r=e.model)||null==(i=r.context)?void 0:i.fieldIndex);if(Array.isArray(o)&&o.length){let e=o.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}}(null==l?void 0:l.length)&&n.add((0,i5.Qc)(l))}},y=t=>{var o,n;let i=l(),r=f(t);if(!r)return!1;if(i.has(r))return!0;let a=(0,i5.IJ)(t,null==(n=e.model)||null==(o=n.context)?void 0:o.fieldIndex);if(!Array.isArray(a)||!a.length)return!1;let s=[];for(let e=0;e<a.length;e++){let t=a[e];if("string"!=typeof t&&"number"!=typeof t)continue;s.push(t);let l=(0,i5.Qc)(s);if(!i.has(l))continue;let o=a[e+1];if("number"!=typeof o)return!0}return!1};g();let v=t=>{var l,o,n,i,r,a;let s=e.engine.getModel(t);if(!s)return null;let d=null==e||null==(o=e.model)||null==(l=o.context)?void 0:l.fieldKey,u=d?`${d}:${t}`:null,c=u?s.getFork(u):null;if(d){let e=(null==s?void 0:s.fieldPath)||(null==s||null==(i=s.getStepParams)||null==(n=i.call(s,"fieldSettings","init"))?void 0:n.fieldPath),t=yE(e,d);!c&&u&&(c=s.createFork({},u)),(null==c?void 0:c.isFork)&&t&&(null==c||null==(a=c.context)||null==(r=a.defineProperty)||r.call(a,"fieldPathArray",{value:t.fieldPathArray}))}return c||(c=s),c};for(let l of i){var r,a,s,d,c,p,m,h;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let f=yq(e,i);if(!(null==f?void 0:f.targetPath))continue;let g=f.targetPath,_=f.fieldModel||null,b=(null==_?void 0:_.uid)?String(_.uid):"",x=null==l?void 0:l.condition;if(x&&!(0,A.evaluateConditions)((0,A.removeInvalidFilterItems)(x),t))continue;let M=(null==l?void 0:l.mode)==="default"?"default":"assign",w=(null==(a=e.model)||null==(r=a.getAclActionName)?void 0:r.call(a))??(null==(d=e.model)||null==(s=d.context)?void 0:s.actionName),S="update"===w,k=(null==e||null==(c=e.item)?void 0:c.__is_new__)===!0;if("default"===M&&S&&!k)continue;let F=g.split(".")[0],C=(null==_?void 0:_.collectionField)??(null==(m=(0,sm.w7)((null==(h=e.model)?void 0:h.parent)??e.model))||null==(p=m.getField)?void 0:p.call(m,F)),P=null==l?void 0:l.value;if((0,u.isRunJSValue)(P)&&(P=await yH(e,P))===yB)continue;let T=sb(C,P);if(void 0===T){if(!b)continue;let e=v(b);e&&o(e,{});continue}if(!b){if("default"===M&&y(g))continue;"function"==typeof n&&n({path:g,value:T,whenEmpty:"default"===M});continue}let j=v(b);j&&o(j,"default"===M?{initialValue:T}:{value:T})}}catch(e){console.warn("[subFormLinkageAssignField] Failed to assign value to fields",e)}}});(0,u.defineAction)({name:"setFieldsDefaultValue",title:(0,u.tExpr)("设置字段默认值"),scene:u.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":y1}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=yN(l,{mode:"default",valueKey:"initialValue"},yO(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var r,a;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let s=null==l?void 0:l.condition;if(s&&!(0,A.evaluateConditions)((0,A.removeInvalidFilterItems)(s),t))continue;let d=(0,sm.eo)(e.model,i),c=i.split(".")[0],p=(null==d?void 0:d.collectionField)??(null==(a=(0,sm.w7)(e.model))||null==(r=a.getField)?void 0:r.call(a,c)),m=null==l?void 0:l.value;if((0,u.isRunJSValue)(m)&&(m=await yH(e,m))===yB)continue;let h=sb(p,m);if(void 0===h){d&&o(d,{});continue}d?o(d,{initialValue:h}):"function"==typeof n&&n({path:i,value:h,whenEmpty:!0})}}catch(e){console.warn("[setFieldsDefaultValue] Failed to set fields default value",e)}}});let y8=(0,u.defineAction)({name:"linkageRunjs",title:(0,u.tExpr)("Execute JavaScript"),scene:[u.ActionScene.BLOCK_LINKAGE_RULES,u.ActionScene.FIELD_LINKAGE_RULES,u.ActionScene.ACTION_LINKAGE_RULES,u.ActionScene.MENU_LINKAGE_RULES,u.ActionScene.DETAILS_FIELD_LINKAGE_RULES,u.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES],sort:300,useRawParams:!0,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={script:""},onChange:l}=e,o=e=>{l({...t,script:e})};return(0,s.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:(0,s.jsx)("div",{children:(0,s.jsx)(aD.BY,{value:t.script,onChange:o,height:"200px",enableLinter:!0,scene:"linkage"})})})}}},handler:async(e,t)=>{let{value:l}=t,{script:o}=l||{};if(o&&"string"==typeof o)try{let t=(0,u.createSafeNavigator)();await e.runjs(o,{window:(0,u.createSafeWindow)({navigator:t}),document:(0,u.createSafeDocument)(),navigator:t})}catch(t){var n;if(console.error("Script execution error:",t),null==(n=e.app)?void 0:n.message){let l=t instanceof Error?t.message:String(t);e.app.message.error(`Script execution error: ${l}`)}}}});function y4(e){let t=c.default.cloneDeep(e||{}),l=new Map,o=e=>{let t=`__ncb_linkage_runjs_script_mask__${(0,ny.uid)()}__`;return l.set(t,e),t},n=null==t?void 0:t.value;return Array.isArray(n)&&n.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let l=c.default.get(e,["params","value","script"]);"string"==typeof l&&l.length&&c.default.set(e,["params","value","script"],o(l));let n=c.default.get(e,["params","code"]);"string"==typeof n&&n.length&&c.default.set(e,["params","code"],o(n))})}),{masked:t,restore:e=>{let t=null==e?void 0:e.value;return Array.isArray(t)&&t.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let o=c.default.get(e,["params","value","script"]);"string"==typeof o&&l.has(o)&&c.default.set(e,["params","value","script"],l.get(o));let n=c.default.get(e,["params","code"]);"string"==typeof n&&l.has(n)&&c.default.set(e,["params","code"],l.get(n))})}),e}}}async function y3(e,t){let{masked:l,restore:o}=y4(t);return o(await e.resolveJsonTemplate(l))}let y6=(0,u.observer)(e=>{let{value:t,supportedActions:l}=e,o=(0,u.useFlowContext)(),n=(0,u.useFlowEngine)(),i=o.model.translate.bind(o.model),r=i("Assignment takes precedence over form field assignment"),a=()=>({key:(0,ny.uid)(),title:i("Linkage rule"),enable:!0,condition:{logic:"$and",items:[]},actions:[]}),d=()=>{t.push(a())},p=e=>{t.splice(e,1)},m=e=>{if(e>0){let l=t[e];t.splice(e,1),t.splice(e-1,0,l)}},h=e=>{if(e<t.length-1){let l=t[e];t.splice(e,1),t.splice(e+1,0,l)}},f=e=>{let l=c.default.cloneDeep(t[e]),o={...l,key:(0,ny.uid)(),title:`${l.title} (Copy)`};t.splice(e+1,0,o)},y=(e,l)=>{t[e].title=l},v=(e,l)=>{t[e].enable=l},_=()=>l.map(e=>o.getAction(e)),b=(e,l)=>{let o={key:(0,ny.uid)(),name:l,params:void 0};t[e].actions.push(o)},x=(e,l)=>{t[e].actions.splice(l,1)},M=(e,l,o)=>{t[e].actions[l].params=o},w=(e,l)=>(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,s.jsx)("div",{style:{flex:1,marginRight:16},children:(0,s.jsx)(g.Input,{value:e.title,onChange:e=>y(l,e.target.value),onClick:e=>e.stopPropagation(),placeholder:"Enter rule title"})}),(0,s.jsxs)(g.Space,{onClick:e=>e.stopPropagation(),children:[(0,s.jsx)(g.Tooltip,{title:i("Delete"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.DeleteOutlined,{}),onClick:()=>p(l)})}),(0,s.jsx)(g.Tooltip,{title:i("Move up"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.ArrowUpOutlined,{}),onClick:()=>m(l),disabled:0===l})}),(0,s.jsx)(g.Tooltip,{title:i("Move down"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.ArrowDownOutlined,{}),onClick:()=>h(l),disabled:l===t.length-1})}),(0,s.jsx)(g.Tooltip,{title:i("Copy"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.CopyOutlined,{}),onClick:()=>f(l)})}),(0,s.jsx)(g.Switch,{size:"small",checked:e.enable,onChange:e=>v(l,e),checkedChildren:i("Enable"),unCheckedChildren:i("Disable")})]})]}),S=t.map((e,t)=>({key:e.key,label:w(e,t),styles:{header:{display:"flex",alignItems:"center"}},children:(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{marginBottom:32},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,s.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#1890ff",borderRadius:"2px",marginRight:8}}),(0,s.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Condition")})]}),(0,s.jsx)("div",{style:{paddingLeft:12},children:(0,s.jsx)(g8.I,{value:e.condition,FilterItem:e=>(0,s.jsx)(iJ.Ru,{model:o.model,value:e.value,maxAssociationFieldDepth:2})})})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,s.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#52c41a",borderRadius:"2px",marginRight:8}}),(0,s.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Actions")})]}),(0,s.jsxs)("div",{style:{paddingLeft:12},children:[e.actions.length>0?(0,s.jsx)("div",{style:{marginBottom:16},children:e.actions.map((e,l)=>{let a=o.getAction(e.name);return a?(0,s.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,s.jsxs)("span",{style:{fontWeight:500,color:"#262626"},children:[i(a.title),"linkageAssignField"===e.name||"subFormLinkageAssignField"===e.name?(0,s.jsx)(g.Tooltip,{title:r,children:(0,s.jsx)(eQ.QuestionCircleOutlined,{style:{marginInlineStart:4},onClick:e=>e.stopPropagation()})}):null,(0,s.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,s.jsx)(g.Tooltip,{title:i("Delete action"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.DeleteOutlined,{}),onClick:()=>x(t,l)})})]}),(0,s.jsx)("div",{children:n.flowSettings.renderStepForm({uiSchema:a.uiSchema,initialValues:e.params,flowEngine:n,onFormValuesChange:e=>M(t,l,e.values)})})]},e.key):null})}):null,(0,s.jsx)(g.Dropdown,{menu:{items:_().map(e=>({key:e.name,label:i(e.title||e.name),onClick:()=>b(t,e.name)}))},trigger:["hover"],children:(0,s.jsx)(g.Button,{type:"link",icon:(0,s.jsx)(eQ.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:i("Add action")})})]})]})]})}));return(0,s.jsxs)(s.Fragment,{children:[t.length>0?(0,s.jsx)(g.Collapse,{items:S,size:"small",style:{marginBottom:8},defaultActiveKey:t.length>0?[t[0].key]:[],accordion:!0}):(0,s.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,s.jsx)(g.Empty,{description:i("No linkage rules"),style:{margin:"20px 0"}})}),(0,s.jsx)(g.Button,{type:"dashed",icon:(0,s.jsx)(eQ.PlusOutlined,{}),onClick:d,style:{width:"100%"},children:i("Add linkage rule")})]})}),y9=async(e,t)=>{var l,o,n,i,r,a,s,d;let u=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),p=t.value,m=e.model.__allModels||(e.model.__allModels=[]),h=new Set(m),f=new Map,g=new Set,y=[],v=(0,sm.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),_=e=>{if(!Array.isArray(e)||!e.length||!(null==v?void 0:v.getField))return!0;let t=v;for(let n=0;n<e.length;n++){var l,o;let i=e[n];if("number"==typeof i||"string"!=typeof i)continue;let r=null==t||null==(l=t.getField)?void 0:l.call(t,i);if(!r)continue;let a=!!(null==r||null==(o=r.isAssociationField)?void 0:o.call(r)),s=!!(null==r?void 0:r.targetCollection);if((0,sm.E4)(r)&&n+1<e.length&&"number"!=typeof e[n+1])return!1;a&&s&&(t=r.targetCollection)}return!0},b=t=>{var l,o;if(!t)return null;if(Array.isArray(t))return t.length&&t.every(e=>"string"==typeof e||"number"==typeof e)?t:null;if("string"!=typeof t)return null;let n=null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex;return(0,i5.IJ)(t,n)},x=()=>{var t,l;let o=(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel)??e.model;return(null==o?void 0:o.formValueRuntime)??(null==e?void 0:e.formValueRuntime)},M=e=>{let t=x();if("function"!=typeof(null==t?void 0:t.recordDefaultValuePatch))return;let l=new Map;for(let t of e)l.set((0,i5.Qc)(t.path),t);for(let e of l.values())e.whenEmpty&&t.recordDefaultValuePatch(e.path,e.value)},w=t=>{var l,o,n,i,r;if(!t)return;let a=null==t?void 0:t.path;if(!a)return;let s=b(a);if(!s)return void console.warn("[linkageRules] Skip linkage assignment due to failed path resolution",{flowKey:e.flowKey,modelUid:null==(l=e.model)?void 0:l.uid,attemptedPath:a});if(!_(s))return void console.warn("[linkageRules] Skip linkage assignment for to-many association subpath without row index",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,attemptedPath:a,resolvedPath:s});let d=!!(null==t?void 0:t.whenEmpty),u=null==t?void 0:t.value;try{let t=null==(i=e.model)||null==(n=i.context)?void 0:n.form,l=null==t||null==(r=t.getFieldValue)?void 0:r.call(t,s);if(d){let e=x();if("function"==typeof(null==e?void 0:e.canApplyDefaultValuePatch)){if(!e.canApplyDefaultValuePatch(s,u))return}else if(null!=l&&""!==l)return}if(c.default.isEqual(l,u))return}catch{}y.push({path:s,value:u,...d?{whenEmpty:!0}:{}})},S=e=>{let t=b(e);if(!t)return;let l=(0,i5.Qc)(t);for(let e=y.length-1;e>=0;e--)(0,i5.Qc)(y[e].path)===l&&y.splice(e,1)},k=e=>{var t,l;if(!e||"object"!=typeof e)return null;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),o="string"==typeof(null==t?void 0:t.fieldPath)?t.fieldPath:"",n="string"==typeof(null==t?void 0:t.associationPathName)?t.associationPathName:"",i=o||("string"==typeof(null==e?void 0:e.fieldPath)?e.fieldPath:""),r=n||("string"==typeof(null==e?void 0:e.associationPathName)?e.associationPathName:"");if(r){if(!i)return r;if(i.startsWith(`${r}.`))return i;return`${r}.${i}`}if(i)return i}catch{}let o=null==e||null==(t=e.props)?void 0:t.name;if("string"==typeof o&&o)return o;if(Array.isArray(o)&&o.length){let e="";for(let t of o){if("number"==typeof t){e+=`[${t}]`;continue}"string"==typeof t&&t&&(e?e+=`.${t}`:e=t)}return e||null}return null},F=e=>{if(!Array.isArray(e)||!e.length)return null;let t=e.filter(e=>"string"==typeof e||"number"==typeof e);return t.length?t:null},C=e=>Array.isArray(e)?e.map(e=>{if("string"!=typeof e)return null;let[t,l]=e.split(":"),o=Number(l);return t&&Number.isFinite(o)?{name:t,index:o}:null}).filter(Boolean):[],P=(e,t)=>{let l=(0,i5.EA)(e).filter(e=>"string"==typeof e||"number"==typeof e);if(!l.length)return null;let o=C(t);if(!o.length)return null;let n="string"==typeof l[0]?l[0]:"",i=n?o.findIndex(e=>e.name===n):-1,r=i>=0?o.slice(0,i):o,a=i>=0?o.slice(i):[],s=[];r.forEach(e=>{s.push(e.name,e.index)});let d=0;return l.forEach((e,t)=>{s.push(e);let o=a[d];if("string"==typeof e&&o&&o.name===e){if("number"==typeof l[t+1]){d+=1;return}s.push(o.index),d+=1}}),s},T=e=>{var t,l;let o=F(null==e||null==(t=e.context)?void 0:t.fieldPathArray),n=k(e);if(o){let e=n?[...(0,i5.EA)(n)].reverse().find(e=>"string"==typeof e):void 0,t=[...o].reverse().find(e=>"string"==typeof e);if(!e||e===t)return o}return n?P(n,null==e||null==(l=e.context)?void 0:l.fieldIndex)||n:null},j=e=>{var t,l,o,n;let i=new Set,r=F(null==e||null==(t=e.context)?void 0:t.fieldPathArray);if(r)return i.add((0,i5.Qc)(r)),i;let a=k(e);if(a){C(null==e||null==(l=e.context)?void 0:l.fieldIndex).length||i.add(`raw:${a}`);let t=F((0,i5.IJ)(a,null==e||null==(o=e.context)?void 0:o.fieldIndex));t&&i.add((0,i5.Qc)(t));let r=P(a,null==e||null==(n=e.context)?void 0:n.fieldIndex);r&&i.add((0,i5.Qc)(r))}return i},I=t=>{var l;let o=(null==e?void 0:e.engine)||(null==(l=e.model)?void 0:l.flowEngine);(null==o?void 0:o.forEachModel)&&o.forEachModel(e=>{t(e);let l=null==e?void 0:e.forks;l&&"function"==typeof l.forEach&&l.forEach(e=>{e&&!e.disposed&&t(e)})})},L=(e,t)=>{var l,o;let n=j(e);if(!n.size)return;let i=null==e||null==(o=e.context)||null==(l=o.blockModel)?void 0:l.uid;i&&I(e=>{var l,o;!e||"object"!=typeof e||String(null==e||null==(o=e.context)||null==(l=o.blockModel)?void 0:l.uid)!==String(i)||Array.from(j(e)).some(e=>n.has(e))&&(e.hidden=t)})};for(let t of p.filter(e=>e.enable)){let{condition:l,actions:o}=t;if((0,A.evaluateConditions)((0,A.removeInvalidFilterItems)(l),u))for(let t of o){let l=(e,l)=>{e.__originalProps||(e.__originalProps={hiddenModel:e.hidden,hiddenText:void 0,disabled:void 0,required:void 0,hidden:void 0,...e.props}),f.set(e,{...f.get(e)||{},...l}),("linkageSetFieldProps"===t.name||"subFormLinkageSetFieldProps"===t.name)&&(null==l?void 0:l.hiddenModel)===!0&&g.add((null==e?void 0:e.uid)||String(e)),-1===m.indexOf(e)&&m.push(e),h.add(e)};await (null==(a=e.getAction(t.name))?void 0:a.handler(e,{...t.params,setProps:l,addFormValuePatch:w}))}}let D=new Map,R=new Map;h.forEach(e=>{let t=(null==e?void 0:e.uid)||String(e),l=f.get(e)||{};if(D.has(t)){let o=R.get(t)||{},n={...o,...l};R.set(t,n);let i=D.get(t),r=Object.keys(l).length>0,a=Object.keys(o).length>0;!r||a&&e.isFork&&i.isFork?e.isFork&&!i.isFork&&D.set(t,e):D.set(t,e)}else D.set(t,e),R.set(t,{...l})});let Y=[];D.forEach((t,l)=>{var o,n;let i=R.get(l)||{},r={...t.__originalProps,...i},a=!!t.hidden,s=!!r.hiddenModel;if(t.setProps(c.default.omit(r,["hiddenModel","value","hiddenText"])),yI(t,i),"function"==typeof t.setHidden?t.setHidden(!!r.hiddenModel):(t.hidden=s,a!==s&&Y.push({model:t,hidden:s})),!0===r.required){let l=(t.props.rules||[]).filter(e=>!e.required);l.push({required:!0,message:e.t("The field value is required")}),t.setProps("rules",l)}else if(!1===r.required){let e=(t.props.rules||[]).filter(e=>!e.required);t.setProps("rules",e)}if(r.hiddenText&&t.setProps("title",""),Object.prototype.hasOwnProperty.call(i,"value")&&t.context.form){let l=k(t);l?w({path:l,value:r.value}):console.warn("[linkageRules] Skip linkage assignment due to missing target path",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,targetUid:null==t?void 0:t.uid})}if(g.has(l)&&Object.prototype.hasOwnProperty.call(i,"hiddenModel")&&!0===i.hiddenModel){let l=T(t);l?(S(l),w({path:l,value:void 0})):console.warn("[linkageRules] Skip clearing hidden field value due to missing target path",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,targetUid:null==t?void 0:t.uid})}t.__props=null}),Y.forEach(e=>{let{model:t,hidden:l}=e;L(t,l)});let E=[...y];if(!E.length)return;let N=e,O=null==N?void 0:N.setFormValues,B=null==(r=e.model)||null==(i=r.context)||null==(n=i.blockModel)?void 0:n.context,H=null==B?void 0:B.setFormValues,V=null==N?void 0:N.inputArgs,q="string"==typeof(null==V?void 0:V.linkageTxId)&&V.linkageTxId?V.linkageTxId:"string"==typeof(null==V?void 0:V.txId)?V.txId:void 0,$=yb(e),z=async(e,t,l)=>{await e.call(t,E,{source:l,linkageTxId:q,linkageScopeDepth:$})};if("function"==typeof O)try{await z(O,N,"linkage"),M(E);return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(s=e.model)?void 0:s.uid,setter:"ctx",patchCount:E.length,patches:E.slice(0,10).map(e=>({path:e.path,value:yv(e.value)}))}),console.warn(t)}if("function"==typeof H)try{await z(H,B,"linkage"),M(E);return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(d=e.model)?void 0:d.uid,setter:"blockModel",patchCount:E.length,patches:E.slice(0,10).map(e=>({path:e.path,value:yv(e.value)}))}),console.warn(t)}E.forEach(t=>{let{path:l,value:o}=t;try{var n,i,r;let t=null==(i=e.model)||null==(n=i.context)?void 0:n.form;if("function"==typeof(null==t?void 0:t.getFieldValue)){let e=t.getFieldValue(l);if(c.default.isEqual(e,o))return}null==t||null==(r=t.setFieldValue)||r.call(t,l,o)}catch(e){console.warn("[linkageRules] Failed to set form field value (fallback setFieldValue)",{path:l},e)}}),M(E)},y7=(0,u.defineAction)({name:"blockLinkageRules",title:(0,u.tExpr)("Block linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.BLOCK_LINKAGE_RULES),title:(0,u.tExpr)("Block linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{yy(e,t,"blockLinkageRules");let l=await y3(e,t);return y9(e,l)}}),ve=(0,u.defineAction)({name:"actionLinkageRules",title:(0,u.tExpr)("Linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.ACTION_LINKAGE_RULES),title:(0,u.tExpr)("Linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{yy(e,t,"actionLinkageRules");let l=await y3(e,t);return y9(e,l)}}),vt=(0,u.defineAction)({name:"menuLinkageRules",title:(0,u.tExpr)("Menu linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.MENU_LINKAGE_RULES),title:(0,u.tExpr)("Menu linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{let l=await y3(e,t);return y9(e,l)}}),vl=(0,u.defineAction)({name:"fieldLinkageRules",title:(0,u.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.FIELD_LINKAGE_RULES),title:(0,u.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n;if(e.model.hidden)return;let i=0,r=t=>{if(!t||"function"!=typeof t.defineProperty)return;let l=null==e?void 0:e.inputArgs;l&&"object"==typeof l&&t.defineProperty("inputArgs",{value:{...l}}),t.defineProperty("linkageScopeDepth",{value:i})};r(e);let a=(0,sm.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),s=e=>{if(!(null==a?void 0:a.getField))return null;let t=(0,i5.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return null;let l=a,o=[];for(let e=0;e<t.length-1;e++){var n,i;let r=t[e];if("string"!=typeof r)continue;let a=null==l||null==(n=l.getField)?void 0:n.call(l,r);if(!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a)))break;let s=(0,sm.E4)(a);if(s&&o.push(r),s&&"number"==typeof t[e+1]&&(e+=1),!(null==(l=null==a?void 0:a.targetCollection)?void 0:l.getField))break}if(!o.length)return null;let r=o[o.length-1],s=o.filter(e=>e===r).length;return`${r}#${s}`},d=e=>{if(!(null==a?void 0:a.getField))return!1;let t=(0,i5.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return!1;let l=a;for(let e=0;e<t.length-1;e++){var o,n;let i=t[e];if("string"!=typeof i)continue;let r=null==l||null==(o=l.getField)?void 0:o.call(l,i);if(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r)))break;if((0,sm.E4)(r)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==r?void 0:r.targetCollection)?void 0:l.getField))break}return!1},c=yO(e),{blockParams:p,rowParamsByKey:m}=(()=>{let e=null==t?void 0:t.value;if(!Array.isArray(e)||!e.length)return{blockParams:t,rowParamsByKey:new Map};let l=[],o=new Map,n=(e,t,l)=>{if(!e||!l.length)return;let n=o.get(e)||[];n.push({...t,actions:l}),o.set(e,n)};for(let t of e){if(!t||"object"!=typeof t)continue;let e={key:t.key,title:t.title,enable:t.enable,condition:t.condition},o=Array.isArray(t.actions)?t.actions:[],i=[],r=new Map;for(let e of o){let t=null==e?void 0:e.name,l=null==e?void 0:e.params,o=null==l?void 0:l.value,n=t=>{let n=yN(o,t,c);if(!n.length)return{block:null,rows:new Map};let i=[],r=new Map;for(let e of n){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t){i.push(e);continue}let l=s(t);if(l&&d(t)){let t=r.get(l)||[];t.push(e),r.set(l,t)}else i.push(e)}let a=i.length>0?{...e,params:{...l,value:i}}:null,u=new Map;for(let[t,o]of r.entries())o.length&&u.set(t,{...e,params:{...l,value:o}});return{block:a,rows:u}};if("linkageAssignField"===t){let e=n({mode:"assign",valueKey:"assignValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}if("setFieldsDefaultValue"===t){let e=n({mode:"default",valueKey:"initialValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}i.push(e)}i.length&&l.push({...e,actions:i}),r.forEach((t,l)=>{n(l,e,t)})}let i={...t,value:l},r=new Map;return o.forEach((e,l)=>{r.set(l,{...t,value:e})}),{blockParams:i,rowParamsByKey:r}})(),h=await y3(e,p);if(await y9(e,h),!m.size)return;let f=e=>{var t;let l=null==e||null==(t=e.context)?void 0:t.fieldIndex,o=(Array.isArray(l)?l:[]).filter(e=>"string"==typeof e),n=[],i=[];for(let e of o){let[t,l]=e.split(":"),o=Number(l);!t||Number.isNaN(o)||(n.push({name:t,index:o}),i.push(t,o))}return{normalized:o,entries:n,path:i}},g=e=>{let{entries:t}=f(e);if(!t.length)return null;let l=t[t.length-1].name,o=t.reduce((e,t)=>t.name===l?e+1:e,0);return`${l}#${o}`},y=e=>{let{normalized:t}=f(e);return t.length?JSON.stringify(t):null},v=e=>{let{path:t}=f(e);return t.length?t:null},_=t=>{var l,o,n,i,r,a,s,d,u,c;return(null==t||null==(l=t.context)?void 0:l.form)??(null==t||null==(i=t.context)||null==(n=i.blockModel)||null==(o=n.context)?void 0:o.form)??(null==(a=e.model)||null==(r=a.context)?void 0:r.form)??(null==(c=e.model)||null==(u=c.context)||null==(d=u.blockModel)||null==(s=d.context)?void 0:s.form)},b=e=>{let t=v(e);if(!t)return!0;let l=_(e);return!l||"function"!=typeof l.getFieldValue||void 0!==l.getFieldValue(t)},x=e=>{var t,l,o;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"item")||void 0!==(null==e||null==(o=e.context)?void 0:o.item)},M=e=>{var t,l,o;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"subTableRowFork")||void 0!==(null==e||null==(o=e.context)?void 0:o.subTableRowFork)||void 0!==(null==e?void 0:e.subTableRowFork)||(null==e?void 0:e.subTableRowFork)===!0},w=e=>{var t,l;return!!e&&"object"==typeof e&&(null==e||null==(t=e.subModels)||!t.field)&&!!(null==e||null==(l=e.subModels)?void 0:l.items)&&!!g(e)&&!!y(e)},S=e=>!!e&&"object"==typeof e&&!!M(e)&&!!g(e)&&!!y(e)&&x(e),k=e=>w(e)||S(e),F=()=>{let t=new Map,l=new Map,o=e.engine;return(null==o?void 0:o.forEachModel)&&o.forEachModel(e=>{let o=null==e?void 0:e.forks;o&&"function"==typeof o.forEach&&o.forEach(e=>{if(!e||e.disposed||!k(e)||!b(e))return;let o=g(e),n=y(e);if(!o||!n)return;let i=l.get(o)||new Set;if(i.has(n))return;i.add(n),l.set(o,i);let r=t.get(o)||[];r.push(e),t.set(o,r)})}),t},C=async()=>{let t=F(),l=!1;for(let[n,i]of m.entries()){let a=t.get(n)||[];if(a.length&&(l=!0),a.length)for(let t of a){let l=new u.FlowRuntimeContext(t,e.flowKey);r(l);try{let e=await y3(l,i);await y9(l,e)}catch(l){var o;console.warn("[linkageRules] Failed to run row-scoped linkage rules",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,rowScopeKey:n,forkUid:null==t?void 0:t.uid}),console.warn(l)}}}return l};if(!await C()){let t="__pendingLinkageRowScopedRetry__",l=e.model;(null==l?void 0:l[t])||(console.warn("[linkageRules] Row-scoped linkage assignment deferred (row forks not ready), will retry",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,rowKeys:Array.from(m.keys())}),l[t]=!0,setTimeout(()=>{l[t]=!1;let o=e.model;o&&!o.disposed&&C().catch(e=>{console.warn("[linkageRules] Failed to retry row-scoped linkage rules",e)})},0))}}}),vo=(0,u.defineAction)({name:"subFormFieldLinkageRules",title:(0,u.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES),title:(0,u.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n,i;if(e.model.hidden)return;let r=null==(o=e.model)||null==(l=o.subModels)?void 0:l.grid;if(!r)return void console.warn("[subFormFieldLinkageRules] Missing subModels.grid",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid});let a=y_(null==e?void 0:e.model),s=t=>{let l=new u.FlowRuntimeContext(t,e.flowKey),o=null==e?void 0:e.inputArgs;return o&&"object"==typeof o&&l.defineProperty("inputArgs",{value:{...o}}),l.defineProperty("linkageScopeDepth",{value:a}),l};if(e.model instanceof pJ){if(r.hidden)return;let l=s(r);try{let e=await y3(l,t);await y9(l,e)}catch(t){console.warn("[subFormFieldLinkageRules] Failed to run linkage rules (to-one)",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,gridUid:null==r?void 0:r.uid}),console.warn(t)}}else await Promise.all((r.forks||[]).map(async l=>{if(l.hidden)return;let o=s(l);try{let e=await y3(o,t);await y9(o,e)}catch(t){var n;console.warn("[subFormFieldLinkageRules] Failed to run linkage rules for fork",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,forkUid:null==l?void 0:l.uid,gridUid:null==r?void 0:r.uid}),console.warn(t)}}))}}),vn=(0,u.defineAction)({name:"detailsFieldLinkageRules",title:(0,u.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":y6,"x-component-props":{supportedActions:vi(e,u.ActionScene.DETAILS_FIELD_LINKAGE_RULES),title:(0,u.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{if(e.model.hidden)return;let l=await y3(e,t);return y9(e,l)}});function vi(e,t){return[...e.getActions().values()].filter(e=>{let l=e.scene;return!!l&&(Array.isArray(l)||(l=[l]),l.includes(t))}).sort((e,t)=>(e.sort||0)-(t.sort||0)).map(e=>e.name)}let vr=(0,u.defineAction)({name:"overflowMode",title:(0,u.tExpr)("Ellipsis on text overflow"),uiMode:{type:"switch",key:"overflowMode"},defaultParams:e=>({overflowMode:e.model.parent instanceof ck}),handler(e,t){let l;l="string"==typeof(null==t?void 0:t.overflowMode)?"ellipsis"===t.overflowMode:!!(null==t?void 0:t.overflowMode),e.model.setProps({overflowMode:l?"ellipsis":"wrap"})}}),va=()=>{let e=(0,lf.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,m.useTranslation)();return(0,s.jsxs)(g.Select,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,s.jsx)(g.Select.Option,{value:"*",children:l("Multiply by")}),(0,s.jsx)(g.Select.Option,{value:"/",children:l("Divide by")})]})},vs=(0,u.defineAction)({title:(0,u.tExpr)("Number format"),name:"numberFormat",uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,u.tExpr)("Normal")},{value:"scientifix",label:(0,u.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,s.jsx)(va,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem"}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:o,separator:n,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:o,separator:n||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a}},handler(e,t){let{formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}),vd=e=>{let t;if(e){if(Array.isArray(e))t=e;else if("object"==typeof e&&"function"==typeof(null==e?void 0:e[Symbol.iterator]))try{t=Array.from(e)}catch(e){t=void 0}else if("object"==typeof e){let l=Object.keys(e).filter(e=>/^\d+$/.test(e)).sort((e,t)=>Number(e)-Number(t));l.length&&(t=l.map(t=>e[t]))}if(null==t?void 0:t.length)return t.map(e=>e&&"object"==typeof e?{...e}:e)}};function vu(e){return class extends e{async onDispatchEventStart(e){var t,l,o,n,i,r;if("beforeRender"!==e)return;let a=(null==(t=(l=this).getStepParams)?void 0:t.call(l,"fieldSettings","init"))||{},s=(null==a?void 0:a.dataSourceKey)&&(null==a?void 0:a.collectionName)&&(null==a?void 0:a.fieldPath)&&`${a.dataSourceKey}.${a.collectionName}.${a.fieldPath}`,d=s&&(null==(i=this.context)||null==(n=i.dataSourceManager)||null==(o=n.getCollectionField)?void 0:o.call(n,s)),u=(null==(r=this._originalModel)?void 0:r.collectionField)||this._fallbackCollectionField;(d||u)&&this.context.defineProperty("collectionField",{get:()=>d||u})}async onDispatchEventEnd(e){var t,l,o,n,i,r,a,s,d,u,c;if("beforeRender"!==e)return;let p={...this._originalPropsFallback||{},...(null==(t=this._originalModel)?void 0:t.props)||{}},m=null==(l=this.context)?void 0:l.collectionField,h={};(null==p?void 0:p.fieldNames)&&(h.fieldNames=p.fieldNames),void 0!==(null==p?void 0:p.allowMultiple)&&(h.allowMultiple=p.allowMultiple);let f=vd(null==(o=this.props)?void 0:o.options),g=!!(null==f?void 0:f.length),y=vd(null==p?void 0:p.options),v=(null==y?void 0:y.length)?y:this._originalOptionsFallback;!g&&Array.isArray(v)&&v.length>0&&(h.options=v.map(e=>e&&"object"==typeof e?{...e}:e));let _=(()=>{let e=null==m?void 0:m.type,t=null==m?void 0:m.interface,l=t&&("m2m"===t||"o2m"===t||"mbm"===t);return!!(e&&("belongsToMany"===e||"hasMany"===e||"belongsToArray"===e)||l)})(),b=void 0!==p.multiple?p.multiple:_,x=void 0!==p.allowMultiple?p.allowMultiple:void 0!==p.multiple?p.multiple:_;void 0!==b&&(h.multiple=b),void 0!==x&&(h.allowMultiple=x),Object.keys(h).length&&this.setProps(h),(null==m?void 0:m.interface)==="multipleSelect"&&void 0===(null==(n=this.props)?void 0:n.mode)&&this.setProps({mode:"multiple"}),(0,sk.NI)(this,m),null==(i=(r=this).showTitle)||i.call(r,null),null==(a=(s=this).setDescription)||a.call(s,null),null==(d=(u=this).setPattern)||d.call(u,"editable"),this.props.onChange&&this.setProps({onChange:this.props.onChange});let M=null==(c=this.getStepParams("formItemSettings","initialValue"))?void 0:c.defaultValue;void 0!==M&&this.setProps({defaultValue:M})}setProps(e){var t,l,o;let{originalModel:n,disabled:i,readOnly:r,readPretty:a,pattern:s,...d}=e||{},u=null==(t=super.setProps)?void 0:t.call(this,{...d,disabled:!1});return null==(l=(o=this).setPattern)||l.call(o,"editable"),u}remove(){for(var e,t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];null==(e=super.remove)||e.call(this,...l)}}}let vc=(0,lf.connect)(e=>{let{value:t,onChange:l,metaTree:o,flags:n,...i}=e,r=(0,u.useFlowContext)(),{model:a}=r,d=p.default.useCallback(e=>!!e&&"function"==typeof(null==e?void 0:e.query),[]),m=p.default.useCallback((e,t)=>{if(d(e)){var l,o,n,i;let r=null==(o=e.query(t))||null==(l=o.get)?void 0:l.call(o,"selfModified"),a=null==(i=e.query(t))||null==(n=i.get)?void 0:n.call(i,"modified");return!!(r||a)}return"function"==typeof(null==e?void 0:e.isFieldsTouched)&&!!e.isFieldsTouched([t])},[d]),h=p.default.useCallback((e,t)=>{if(d(e))return(0,c.get)(e.values,t);if("function"==typeof(null==e?void 0:e.getFieldValue))return e.getFieldValue(t);let l="function"==typeof(null==e?void 0:e.getFieldsValue)?e.getFieldsValue(!0):void 0;return(0,c.get)(l,t)},[d]),f=p.default.useCallback((e,t,l)=>{if(e&&(null==t?void 0:t.length)){if(d(e))return void e.setFieldValue(t,l);if("function"==typeof(null==e?void 0:e.setFieldValue))e.setFieldValue(t,l);else{var o;let n={};(0,c.set)(n,t,l),null==e||null==(o=e.setFieldsValue)||o.call(e,n)}}},[d]),y=p.default.useCallback(async e=>{let t=e;if((0,u.isRunJSValue)(t)){try{let{code:e,version:l}=(0,u.normalizeRunJSValue)(t),o=await (0,u.runjsWithSafeGlobals)(null==a?void 0:a.context,e,{version:l});t=(null==o?void 0:o.success)?o.value:void 0}catch{t=void 0}return t}if((0,u.isVariableExpression)(t)){var l,o;let n=await (null==a||null==(o=a.context)||null==(l=o.resolveJsonTemplate)?void 0:l.call(o,t));if(void 0!==n&&(t=n),t===e){let e=(0,u.extractPropertyPath)(String(t));e&&(t=(0,c.get)(null==a?void 0:a.context,e.join(".")))}}return t},[a]),v=p.default.useCallback((e,t)=>sx(e,t),[]);p.default.useEffect(()=>{var e;let t=a;if(!t||t.__dvSetStepParamsPatched)return;let l=null==(e=t.setStepParams)?void 0:e.bind(t);"function"==typeof l&&(t.__dvSetStepParamsPatched=!0,t.setStepParams=async(e,o,n)=>{var i,r,a,s,d,u,p;let g,_,b=[],x=(null==t||null==(i=t.props)?void 0:i.name)??(null==t?void 0:t.fieldPath);b=v(Array.isArray(x)?x:"string"==typeof x?x.split("."):[x].filter(Boolean),null==t||null==(r=t.context)?void 0:r.fieldIndex),"string"==typeof e&&"string"==typeof o&&n&&void 0!==n.defaultValue&&(g=null==(a=t.getStepParams(e,o))?void 0:a.defaultValue,_=n.defaultValue);let M=l(e,o,n);if(void 0!==_){let e=(null==t||null==(u=t.context)||null==(d=u.blockModel)||null==(s=d.context)?void 0:s.form)||(null==t||null==(p=t.context)?void 0:p.form);if(e&&b.length){let t=m(e,b),l=h(e,b),o=await y(g),n=await y(_),i=null==l||""===l,r=(0,c.isEqual)(l,o)||!t&&i;void 0!==n&&r&&f(e,b,n)}}return M})},[a,h,m,y,f,v]);let _=(0,p.useMemo)(()=>{var e;let t=null==a||null==(e=a.context)?void 0:e.flags;if(t||n)return{...t||{},...n||{}}},[a,n]),b=p.default.useRef(void 0);(0,c.isEqual)(b.current,_)||(b.current=_);let x=b.current,M=(0,p.useMemo)(()=>{var e,t,l,o,n,i,r,s,d,c,p,m,h,f,g,y,v,_,b,M,w,S,k,F,C,A,P,T;let j=a,I=(null==j?void 0:j.customFieldModelInstance)||(null==j||null==(e=j.subModels)?void 0:e.field),L=(null==I?void 0:I.props)||{},D=(null==j?void 0:j.customFieldProps)||{},{value:R,defaultValue:Y,...E}=L,{value:N,defaultValue:O,...B}=D,H=(null==j||null==(t=j.getStepParams)?void 0:t.call(j,"fieldSettings","init"))||(null==I||null==(l=I.getStepParams)?void 0:l.call(I,"fieldSettings","init")),V=null==I?void 0:I.collectionField;if(!V&&(null==H?void 0:H.dataSourceKey)&&(null==H?void 0:H.collectionName)&&(null==H?void 0:H.fieldPath)){let e=`${H.dataSourceKey}.${H.collectionName}.${H.fieldPath}`;V=null==a||null==(g=a.context)||null==(f=g.dataSourceManager)||null==(h=f.getCollectionField)?void 0:h.call(f,e)}V||(V=null==j||null==(y=j.context)?void 0:y.collectionField);let q=null==I?void 0:I.constructor,$=V?u.EditableItemModel.getDefaultBindingByField(null==a?void 0:a.context,V):null,z=null==V?void 0:V.type,K=null==V?void 0:V.interface,U="belongsToMany"===z||"hasMany"===z||"belongsToArray"===z||"m2m"===K||"o2m"===K||"mbm"===K,G=!!((null==x?void 0:x.isInSetDefaultValueDialog)&&U),W=U?di:hr.m,J=$?null==a||null==(i=a.context)||null==(n=i.engine)||null==(o=n.getModelClass)?void 0:o.call(n,$.modelName):null,X="function"==typeof q?q:null,Q=vu("string"==typeof(null==q?void 0:q.name)&&/FilterFieldModel$/.test(q.name)||(null==j?void 0:j.customFieldModelInstance)?X||J||W:J||X||W),Z=null==I||null==(r=I.props)?void 0:r.fieldNames,ee=null==I||null==(s=I.props)?void 0:s.titleField,et=null==I||null==(d=I.getStepParams)?void 0:d.call(I,"selectSettings","fieldNames"),el=null==I||null==(c=I.getStepParams)?void 0:c.call(I,"selectSettings","allowMultiple"),eo={};H&&(eo.fieldSettings={init:H}),(et||el)&&(eo.selectSettings={...et?{fieldNames:et}:{},...el?{allowMultiple:el}:{}});let en={use:Q,uid:(0,ny.uid)(),parentId:null,subKey:null,subType:null,stepParams:{...(null==I?void 0:I.stepParams)||{},...Object.keys(eo).length?eo:{}},props:{disabled:!1,allowClear:!0,...E,...void 0!==Z?{fieldNames:Z}:{},...void 0!==ee?{titleField:ee}:{},...G?{keepDropdownOpenOnSelect:!0}:{},...B}},ei=a.context.engine.createModel({use:"VariableFieldFormModel",subModels:{fields:[en]}}),er=null==(m=ei.subModels)||null==(p=m.fields)?void 0:p[0];if(er&&(er._originalModel=I,er._originalPropsFallback=null==j?void 0:j.customFieldProps,er._fallbackCollectionField=null==j||null==(v=j.context)?void 0:v.collectionField,er._originalOptionsFallback=vd(null==I||null==(_=I.getDataSource)?void 0:_.call(I))||vd(null==I||null==(b=I.props)?void 0:b.options)||vd(null==j||null==(M=j.customFieldProps)?void 0:M.options)),(null==H?void 0:H.dataSourceKey)&&(null==H?void 0:H.collectionName)){let e=a.context.dataSourceManager,t=null==e||null==(w=e.getDataSource)?void 0:w.call(e,H.dataSourceKey),l=null==e||null==(S=e.getCollection)?void 0:S.call(e,H.dataSourceKey,H.collectionName);t&&(null==(F=ei.context)||null==(k=F.defineProperty)||k.call(F,"dataSource",{get:()=>t})),l&&(null==(A=ei.context)||null==(C=A.defineProperty)||C.call(A,"collection",{get:()=>l}))}return x&&(null==(T=ei.context)||null==(P=T.defineProperty)||P.call(T,"flags",{value:x})),ei},[a,x]);p.default.useEffect(()=>()=>{var e,t;null==(t=M.subModels)||null==(e=t.fields)||e.forEach(e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),M.remove()},[M]);let w=(0,p.useMemo)(()=>e=>{let l=p.default.useRef(!1),[,o]=p.default.useReducer(e=>e+1,0),n=p.default.useRef(Symbol("init")),i=p.default.useRef(Symbol("none")),r=p.default.useRef(!1);return p.default.useEffect(()=>{var a,s,d,u,c,p,m,h,f;let g=null==M||null==(s=M.subModels)||null==(a=s.fields)?void 0:a[0];if(!g)return;let{disabled:y,readOnly:v,readPretty:_,pattern:b,...x}=e||{},w=!!(null==g||null==(c=g.context)||null==(u=c.collectionField)||null==(d=u.isAssociationField)?void 0:d.call(u)),S=e=>!!e&&"object"==typeof e&&"data"in e,k=e=>Array.isArray(e)?e.map(e=>S(e)?e.data:e):S(e)?e.data:e,F=(null==g||null==(p=g._originalModel)?void 0:p.use)||(null==g?void 0:g.use),C=null==g||null==(h=g.context)||null==(m=h.collectionField)?void 0:m.interface,A=new Set(["input","email","phone","uuid","url","nanoid","textarea","markdown","password","color"]),P="InputFieldModel"===F||(C?A.has(C):g instanceof hr.m),T=e=>{if(e&&"object"==typeof e&&"target"in e){let t=null==e?void 0:e.target;if(P&&void 0!==(null==t?void 0:t.value))return t.value;if(void 0!==(null==t?void 0:t.checked))return t.checked;if(void 0!==(null==t?void 0:t.value))return t.value}return e};if(g.setProps({disabled:!1,onChange:function(){for(var t,l=arguments.length,n=Array(l),a=0;a<l;a++)n[a]=arguments[a];let s=n.length>1&&("string"==typeof n[1]||Array.isArray(n[1])&&n[1].every(e=>"string"==typeof e))?n[1]:n[0],d=w?k(s):T(s);if(!P){let e=w?k(s):T(s);i.current=e,g.setProps({value:e,defaultValue:void 0})}P&&r.current||(null==(t=(null==x?void 0:x.onChange)??(null==e?void 0:e.onChange))||t(d),o())},onCompositionStart:function(){for(var t,l,o=arguments.length,n=Array(o),i=0;i<o;i++)n[i]=arguments[i];r.current=!0,null==x||null==(t=x.onCompositionStart)||t.call(x,...n),null==e||null==(l=e.onCompositionStart)||l.call(e,...n)},onCompositionUpdate:(null==x?void 0:x.onCompositionUpdate)??(null==e?void 0:e.onCompositionUpdate),onCompositionEnd:t=>{var l,o,n;r.current=!1;let i=T(t);null==(l=(null==x?void 0:x.onChange)??(null==e?void 0:e.onChange))||l(i),null==x||null==(o=x.onCompositionEnd)||o.call(x,t),null==e||null==(n=e.onCompositionEnd)||n.call(e,t)},style:{width:"100%",minWidth:0,...(null==x?void 0:x.style)||(null==e?void 0:e.style)}}),null==(f=g.setPattern)||f.call(g,"editable"),!l.current){l.current=!0;let e=t;void 0!==e&&g.setProps({defaultValue:e})}if(!P){let e=t;if(e!==n.current&&(n.current=e,void 0!==e)){let t=w?k(e):T(e);i.current=t,g.setProps({value:t}),o()}}},[e]),(0,s.jsx)("div",{style:{flexGrow:1},children:(0,s.jsx)(u.FlowModelRenderer,{model:M,showFlowSettings:!1})})},[M,t]),S=null==a?void 0:a.operator;p.default.useEffect(()=>{var e,t,l,o;let n=S,i=null==M||null==(t=M.subModels)||null==(e=t.fields)?void 0:e[0];if(!n||!i)return;let r=i.__originalRender||i.render;i.__originalRender=r;let d=(0,uJ._H)(a.context.app,n,(null==(o=a.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]);if(d&&i instanceof hr.m){let{Comp:e,props:t}=d;i.render=()=>{var l;return(0,s.jsx)(e,{...i.props,...t,style:{width:"100%",...(0,uJ.VS)(null==(l=i.props)?void 0:l.style),...(0,uJ.VS)(null==t?void 0:t.style)}})}}else"function"==typeof r&&(i.render=r)},[a,M,S]),p.default.useEffect(()=>{var e,t,l,o,n;let i=S,r=null==M||null==(t=M.subModels)||null==(e=t.fields)?void 0:e[0];if(!r||!i)return;let s=((null==(o=a.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]).find(e=>e.value===i),d=null==s||null==(n=s.schema)?void 0:n["x-component-props"];d&&r.setProps(d)},[a,M,S]);let k=(0,p.useMemo)(()=>function(){var e;return(0,s.jsx)(g.Input,{placeholder:`<${(null==(e=r.t)?void 0:e.call(r,"Null"))??"Null"}>`,readOnly:!0})},[r]),F=(0,p.useMemo)(()=>e=>(0,s.jsx)(sF.h,{t:r.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange}),[r]),C=(0,p.useMemo)(()=>async()=>{var e,t,l,n;let i=[];return i="function"==typeof o?await o()||[]:Array.isArray(o)?o:(null==(n=r.getPropertyMetaTree)?void 0:n.call(r))||[],[{title:(null==(e=r.t)?void 0:e.call(r,"Constant"))??"Constant",name:"constant",type:"string",paths:["constant"],render:w},{title:(null==(t=r.t)?void 0:t.call(r,"Null"))??"Null",name:"null",type:"object",paths:["null"],render:k},{title:(null==(l=r.t)?void 0:l.call(r,"RunJS"))??"RunJS",name:"runjs",type:"object",paths:["runjs"],render:F},...i]},[o,r,w,k,F]);return p.default.useEffect(()=>{var e;let t=null==(e=M.subModels.fields)?void 0:e[0];null==t||t.setProps({disabled:!1})},[M,t]),(0,s.jsx)(u.VariableInput,{metaTree:C,value:t,onChange:l,...i,converters:{renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?w:"null"===l?k:"runjs"===l?F:u.VariableTag},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:"runjs"===l?{code:"",version:"v2"}:void 0},resolvePathFromValue:e=>null===e?["null"]:(0,u.isRunJSValue)(e)?["runjs"]:(0,u.isVariableExpression)(e)?(0,u.parseValueToPath)(e):["constant"]}})});class vp{get models(){let e=new Map;for(let t=0;t<localStorage.length;t++){let l=localStorage.key(t);if(l&&l.startsWith(`${this.prefix}flow-model:`)){let t=localStorage.getItem(l);if(t){let l=JSON.parse(t);e.set(l.uid,l)}}}return e}async findOne(e){let{uid:t,parentId:l}=e;return t?this.load(t):l?this.loadByParentId(l):null}async loadByParentId(e){for(let t of this.models.values())if(t.parentId==e)return console.log("Loading model by parentId:",e,t),this.load(t.uid);return null}async load(e){let t=localStorage.getItem(`${this.prefix}flow-model:${e}`);if(!t)return console.warn(`Model with uid ${e} not found in localStorage.`),null;let l=JSON.parse(t);for(let t of[...this.models.values()])if(t.parentId===e){if(l.subModels=l.subModels||{},"array"===t.subType){l.subModels[t.subKey]=l.subModels[t.subKey]||[];let e=await this.load(t.uid);l.subModels[t.subKey].push(e)}else if("object"===t.subType){let e=await this.load(t.uid);e&&(l.subModels[t.subKey]=e)}}return console.log("Loading model:",e,JSON.stringify(l,null,2)),l}async save(e){let t=e.serialize(),l=c.default.omit(t,["subModels","flowEngine"]);for(let t of(localStorage.setItem(`${this.prefix}flow-model:${e.uid}`,JSON.stringify(l)),console.log("Saving model:",e.uid,l),Object.keys(e.subModels||{}))){let l=e.subModels[t];if(l)if(Array.isArray(l))for(let e of l)await this.save(e);else l instanceof u.FlowModel&&await this.save(l)}return t}async destroy(e){return localStorage.removeItem(`${this.prefix}flow-model:${e}`),!0}async clear(){for(let e of Object.keys(localStorage))e.startsWith(`${this.prefix}flow-model:`)&&localStorage.removeItem(e);return!0}async move(e,t){arguments.length>2&&void 0!==arguments[2]&&arguments[2]}async duplicate(e){let t=await this.load(e);if(!t)return null;let l=()=>`dup_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`,o=(e,t)=>{let{subModels:n,flowEngine:i,...r}=e||{},a={...r};if(a.uid=l(),t&&(a.parentId=t),n&&"object"==typeof n)for(let e of(a.subModels={},Object.keys(n))){let t=n[e];Array.isArray(t)?a.subModels[e]=t.map(e=>o(e,a.uid)):t&&"object"==typeof t&&(a.subModels[e]=o(t,a.uid))}return a};return o(t)}constructor(e=""){this.prefix=e}}class vm{buildFindOneKey(e){let t=(null==e?void 0:e.uid)??"",l=(null==e?void 0:e.parentId)??"",o=(null==e?void 0:e.subKey)??"";return`uid:${t}|parentId:${l}|subKey:${o}`}async findOne(e){let t=this.buildFindOneKey(e),l=this.inFlightFindOne.get(t);if(l){let e=await l;return e?c.default.cloneDeep(e):e}let o=this.app.apiClient.request({url:"flowModels:findOne",params:c.default.pick(e,["uid","parentId","subKey"])}).then(e=>{var t;return null==(t=e.data)?void 0:t.data}).finally(()=>{this.inFlightFindOne.delete(t)});this.inFlightFindOne.set(t,o);let n=await o;return n?c.default.cloneDeep(n):n}async save(e,t){var l;let o=e.serialize();return(null==t?void 0:t.onlyStepParams)&&delete o.subModels,null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:save",data:o})).data)?void 0:l.data}async destroy(e){return await this.app.apiClient.request({method:"POST",url:"flowModels:destroy",params:{filterByTk:e}}),!0}async move(e,t){var l;let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"after";return null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:move",params:{sourceId:e,targetId:t,position:o}})).data)?void 0:l.data}async duplicate(e){var t;return null==(t=(await this.app.apiClient.request({method:"POST",url:"flowModels:duplicate",params:{uid:e}})).data)?void 0:t.data}constructor(e){this.app=e,this.inFlightFindOne=new Map}}function vh(e){return!!e&&"object"==typeof e}function vf(e){if(e){if("string"==typeof e)return e;if(vh(e))return e.eventName}}function vg(e){let t=e.phase;if(!t||"beforeAllFlows"===t){delete e.phase,delete e.flowKey,delete e.stepKey;return}if("afterAllFlows"===t){delete e.flowKey,delete e.stepKey;return}if("beforeFlow"===t||"afterFlow"===t){delete e.stepKey,e.flowKey||delete e.flowKey;return}if("beforeStep"===t||"afterStep"===t){e.flowKey||delete e.flowKey,e.stepKey||delete e.stepKey;return}}function vy(e){let t=e.phase;if(t&&"beforeAllFlows"!==t&&"afterAllFlows"!==t){if(("beforeFlow"===t||"afterFlow"===t||"beforeStep"===t||"afterStep"===t)&&!e.flowKey)return"flowKey";if(("beforeStep"===t||"afterStep"===t)&&!e.stepKey)return"stepKey"}}let vv=e=>{let{model:t}=e,l=p.default.useMemo(()=>t.translate.bind(t),[t]),o=()=>{let e=document.querySelector(`#${u.GLOBAL_EMBED_CONTAINER_ID}`);e&&t.context.viewer.embed({type:"embed",target:e,title:l("Edit event flows"),onOpen(){e.style.width="33.3%",e.style.maxWidth="800px",e.style.minWidth="0px"},onClose(){"1"!==e.dataset[u.EMBED_REPLACING_DATA_KEY]&&(e.style.width="auto",e.style.maxWidth="none",e.style.minWidth="auto")},content:(0,s.jsx)(vA,{model:t})})};return(0,s.jsx)(eQ.ThunderboltOutlined,{style:{cursor:"pointer"},onClick:o})},v_={display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},vb={width:"4px",height:"16px",borderRadius:"2px",marginRight:8},vx={margin:0,fontSize:14,fontWeight:500,color:"#262626"},vM={marginBottom:8,fontSize:14,fontWeight:500,color:"#262626"},vw={marginInlineStart:4,color:"#ff4d4f"},vS={marginInlineStart:2,marginInlineEnd:8},vk=e=>{let{color:t,children:l}=e;return(0,s.jsxs)("div",{style:v_,children:[(0,s.jsx)("div",{style:{...vb,backgroundColor:t}}),(0,s.jsx)("h4",{style:vx,children:l})]})},vF=e=>{let{children:t,required:l,style:o}=e;return(0,s.jsxs)("div",{style:{...vM,...o},children:[t,l&&(0,s.jsx)("span",{style:vw,children:"*"}),(0,s.jsx)("span",{style:vS,children:":"})]})},vC=(0,u.observer)(e=>{var t;let{flow:l,model:o,flowEngine:n,flowRegistry:i}=e,r=(0,u.useFlowContext)(),a=o.translate.bind(o),d=(0,o0.useUpdate)(),[m,h]=p.default.useState([]),f=vf(l.on),y=vh(l.on)?l.on:void 0,v=f?null==(t=o.getEvent(f))?void 0:t.uiSchema:void 0,_="function"==typeof v?v(r):v,b=null==y?void 0:y.defaultParams,x=p.default.useCallback(()=>{if(vh(l.on))return l.on;if(!f)return;let e={eventName:f};return l.on=e,e},[f,l]),M=(null==y?void 0:y.phase)?String(y.phase):"beforeAllFlows",w=(null==y?void 0:y.flowKey)?String(y.flowKey):void 0,S=(null==y?void 0:y.stepKey)?String(y.stepKey):void 0,k=p.default.useMemo(()=>[...o.getEvents().values()],[o]);p.default.useEffect(()=>{let e=!1;return(async()=>{let t=[];for(let e of k)await (0,u.shouldHideEventInSettings)(o,l,e)||t.push({label:o.translate(e.title),value:e.name});e||h(e=>c.default.isEqual(e,t)?e:t)})(),()=>{e=!0}},[l,o,k]);let F=p.default.useMemo(()=>f?Array.from(o.constructor.globalFlowRegistry.getFlows().values()).filter(e=>"beforeRender"===f?!0!==e.manual&&(!e.on||"beforeRender"===vf(e.on)):vf(e.on)===f):[],[f,o]),C=p.default.useMemo(()=>new Map(F.map(e=>[e.key,e])),[F]),A=p.default.useCallback((e,t)=>{if(!t)return e;let l=a(String(t));return`${e} (${l})`},[a]),P=p.default.useMemo(()=>F.map(e=>({value:e.key,label:A(String(e.key),e.title),disabled:i.hasFlow(e.key)})),[i,A,F]),T=p.default.useMemo(()=>{if(!w)return[];let e=C.get(w);return e?e.mapSteps(e=>{let t=e.use?o.getAction(e.use):void 0,l=e.title||(null==t?void 0:t.title);return{value:e.key,label:A(String(e.key),l)}}):[]},[w,A,o,C]),j=p.default.useMemo(()=>[{value:"beforeAllFlows",label:a("Before all flows")},{value:"afterAllFlows",label:a("After built-in flows")},{value:"beforeFlow",label:a("Before built-in flow")},{value:"afterFlow",label:a("After built-in flow")},{value:"beforeStep",label:a("Before built-in flow step")},{value:"afterStep",label:a("After built-in flow step")}],[a]),I=["beforeFlow","afterFlow","beforeStep","afterStep"].includes(M),L=["beforeStep","afterStep"].includes(M),D=y?vy(y):void 0,R="flowKey"===D,Y="stepKey"===D,E=e=>{let t=vh(l.on)?l.on:{eventName:e};l.on=t,t.eventName=e,delete t.phase,delete t.flowKey,delete t.stepKey,d()};return(0,s.jsxs)("div",{style:{marginBottom:32},children:[(0,s.jsx)(vk,{color:"#1890ff",children:a("Event")}),(0,s.jsxs)("div",{style:{paddingLeft:12},children:[(0,s.jsxs)("div",{style:{marginBottom:16},children:[(0,s.jsx)(vF,{children:a("Trigger event")}),(0,s.jsx)(g.Select,{placeholder:a("Select trigger event"),style:{width:"100%"},value:f,onChange:e=>{E(e)},options:m})]}),(0,s.jsxs)("div",{style:{marginBottom:16},children:[(0,s.jsx)(vF,{children:a("Execution timing")}),(0,s.jsx)(g.Select,{style:{width:"100%"},disabled:!f,value:M,onChange:e=>{let t=x();t&&(t.phase=e,vg(t),d())},options:j}),I&&(0,s.jsxs)("div",{style:{marginTop:12,display:"flex",flexDirection:"column",gap:12},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(vF,{required:I,style:{marginBottom:6},children:a("Built-in flow")}),(0,s.jsx)(g.Select,{style:{width:"100%"},disabled:!f||0===P.length,placeholder:a("Select a built-in flow"),value:w,status:R?"error":void 0,options:P,onChange:e=>{let t=x();t&&(e?t.flowKey=e:delete t.flowKey,delete t.stepKey,d())}}),R&&(0,s.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow")})]}),L&&(0,s.jsxs)("div",{children:[(0,s.jsx)(vF,{required:L,style:{marginBottom:6},children:a("Built-in flow step")}),(0,s.jsx)(g.Select,{style:{width:"100%"},disabled:!f||!w||0===T.length,placeholder:a("Select a built-in flow step"),value:S,status:Y?"error":void 0,options:T,onChange:e=>{let t=x();t&&(e?t.stepKey=e:delete t.stepKey,d())}}),Y&&(0,s.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow step")})]}),0===P.length&&(0,s.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8c8c8c"},children:a("No built-in flows for this event")})]})]}),f&&n.flowSettings.renderStepForm({key:f,uiSchema:_,initialValues:b,flowEngine:n,onFormValuesChange:e=>{let t=x();t&&(t.defaultParams=e.values)}})]})]})}),vA=(0,u.observer)(e=>{let{model:t}=e,l=(0,u.useFlowContext)(),o=t.flowEngine,n=(0,u.serializeFlowRegistry)(t.flowRegistry),i=p.default.useRef(n),[r]=p.default.useState(()=>new u.DetachedFlowRegistry(n)),[a,d]=p.default.useState(!1),m=p.default.useMemo(()=>t.translate.bind(t),[t]),h=p.default.useCallback(()=>!c.default.isEqual(i.current,(0,u.serializeFlowRegistry)(r)),[r]);p.default.useEffect(()=>{c.default.isEqual(i.current,n)||h()||((0,u.replaceFlowRegistry)(r,n),i.current=n)},[r,h,n]),p.default.useEffect(()=>{let e=l.view,t=e.beforeClose,o=async e=>{if(h()){var o,n;if(!(await (null==(n=l.modal)||null==(o=n.confirm)?void 0:o.call(n,{title:m("Unsaved changes"),content:m("Are you sure you don't want to save?"),okText:m("Confirm"),cancelText:m("Cancel")}))??!0))return!1}return!1!==await (null==t?void 0:t(e))};return e.beforeClose=o,()=>{e.beforeClose===o&&(e.beforeClose=t)}},[l,h,m]);let f=()=>{r.addFlow((0,ny.uid)(),{title:m("Event flow"),steps:{}})},y=e=>{e.remove()},v=(e,t)=>{e.title=t},_=()=>[...t.getActions().values()].filter(e=>c.default.castArray(e.scene).includes(u.ActionScene.DYNAMIC_EVENT_FLOW)).sort((e,t)=>(e.sort??0)-(t.sort??0)),b=(e,t)=>{let l={use:t.name};e.addStep((0,ny.uid)(),l)},x=e=>{e.remove()},M=(e,t)=>{e.defaultParams=t},w=e=>(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,s.jsx)("div",{style:{flex:1,marginRight:16},children:(0,s.jsx)(g.Input,{value:e.title,onChange:t=>v(e,t.target.value),onClick:e=>e.stopPropagation(),placeholder:m("Enter flow title")})}),(0,s.jsx)(g.Space,{onClick:e=>e.stopPropagation(),children:(0,s.jsx)(g.Tooltip,{title:"Delete",children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.DeleteOutlined,{}),onClick:()=>y(e)})})})]}),S=r.mapFlows(e=>({key:e.key,label:w(e),styles:{header:{display:"flex",alignItems:"center"}},children:(0,s.jsxs)("div",{children:[(0,s.jsx)(vC,{flow:e,model:t,flowEngine:o,flowRegistry:r}),(0,s.jsxs)("div",{children:[(0,s.jsx)(vk,{color:"#52c41a",children:m("Steps")}),(0,s.jsxs)("div",{style:{paddingLeft:12},children:[(0,s.jsx)("div",{style:{marginBottom:16},children:e.mapSteps(e=>{let l=t.getAction(e.use);return l?(0,s.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,s.jsxs)("span",{style:{fontWeight:600,color:"#262626"},children:[m(l.title),(0,s.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,s.jsx)(g.Tooltip,{title:m("Delete step"),children:(0,s.jsx)(g.Button,{type:"text",size:"small",icon:(0,s.jsx)(eQ.DeleteOutlined,{}),onClick:()=>x(e)})})]}),(0,s.jsx)("div",{children:p.default.createElement(u.FlowStepContext.Provider,{value:{params:(0,u.untracked)(()=>e.defaultParams),path:`${t.uid}_${e.flowKey}_${e.key}`}},o.flowSettings.renderStepForm({uiSchema:l.uiSchema,initialValues:(0,u.untracked)(()=>e.defaultParams),flowEngine:o,onFormValuesChange:t=>M(e,t.values)}))})]},e.key):null})}),(0,s.jsx)(g.Dropdown,{menu:{items:_().map(t=>({key:t.name,label:m(t.title)||t.name,onClick:()=>b(e,t)}))},trigger:["hover"],children:(0,s.jsx)(g.Button,{type:"link",icon:(0,s.jsx)(eQ.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:m("Add step")})})]})]})]})}));return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,s.jsxs)("div",{style:{flex:1,padding:"16px",overflow:"auto",minHeight:0},children:[S.length>0?(0,s.jsx)(g.Collapse,{items:S,size:"small",style:{marginBottom:8},defaultActiveKey:[S[0].key],accordion:!0}):(0,s.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,s.jsx)(g.Empty,{description:m("No event flows"),style:{margin:"20px 0"}})}),(0,s.jsx)(g.Button,{type:"dashed",icon:(0,s.jsx)(eQ.PlusOutlined,{}),onClick:f,style:{width:"100%"},children:m("Add event flow")})]}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",padding:"8px 16px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fff",flexShrink:0},children:[(0,s.jsx)(g.Button,{onClick:()=>l.view.close(),children:m("Cancel")}),(0,s.jsx)(g.Button,{type:"primary",loading:a,onClick:async()=>{var e,o,n,a,s,c,p,h,f,g,y,v;d(!0);let _=r.mapFlows(e=>{if(!vh(e.on))return;vg(e.on);let t=vy(e.on);if(t)return{type:t}}).filter(Boolean)[0];if(_){let e="flowKey"===_.type?m("Please select a built-in flow"):m("Please select a built-in flow step");null==(c=t.context)||null==(s=c.message)||null==(a=s.error)||a.call(s,e),d(!1);return}let b=(0,u.serializeFlowRegistry)(t.flowRegistry),x=[];try{for(let e of r.mapFlows(e=>e))for(let l of e.mapSteps(e=>e)){let o=l.serialize(),n=l.use?t.getAction(l.use):void 0,i=o.beforeParamsSave||(null==n?void 0:n.beforeParamsSave),r=o.afterParamsSave||(null==n?void 0:n.afterParamsSave);if("function"!=typeof i&&"function"!=typeof r)continue;let a=new u.FlowRuntimeContext(t,e.key,"settings");(0,u.setupRuntimeContextSteps)(a,e.steps,t,e.key),a.defineProperty("currentStep",{value:o});let s={...l.defaultParams||{}},d={...l.defaultParams||{}};"function"==typeof i&&await i(a,s,d),"function"==typeof r&&x.push(async()=>{await r(a,s,d)}),l.defaultParams=s}(0,u.replaceFlowRegistry)(t.flowRegistry,(0,u.serializeFlowRegistry)(r)),await t.flowRegistry.save()}catch(e){(0,u.replaceFlowRegistry)(t.flowRegistry,b),d(!1),null==(f=t.context)||null==(h=f.message)||null==(p=h.error)||p.call(h,"Steps post-save hooks failed to run"),console.error(e);return}i.current=(0,u.serializeFlowRegistry)(t.flowRegistry);try{for(let e of x)await e()}catch(e){null==(v=t.context)||null==(y=v.message)||null==(g=y.error)||g.call(y,"Steps post-save hooks failed to run"),console.error(e)}t.flowRegistry.mapFlows(e=>{if((0,u.isBeforeRenderFlow)(e))return e}).filter(Boolean).length>0&&t.rerender(),d(!1),null==(n=t.context)||null==(o=n.message)||null==(e=o.success)||e.call(o,m("Configuration saved")),l.view.destroy()},children:m("Save")})]})]})}),vP=()=>{let e=(0,u.useFlowContext)().app,t=e.pm.get("@nocobase/plugin-block-markdown");return t.dependencyLoaded||(t.initVditorDependency(e),t.dependencyLoaded=!0),t.getCDN(e)},vT="nb-markdown-vditor";function vj(){let{theme:e,token:t,hashId:l}=g.theme.useToken(),o=(0,__rspack_external__ant_design_cssinjs_c619260f.useStyleRegister)({theme:e,token:t,hashId:l,path:["flow-markdown",vT]},()=>({[`.${vT}`]:{".vditor-reset":{fontSize:`${t.fontSize}px !important`,color:"unset"},".vditor":{borderRadius:8},".vditor .vditor-content":{borderRadius:"0 0 8px 8px",overflow:"hidden"},".vditor .vditor-toolbar":{paddingLeft:" 16px !important",borderRadius:"8px 8px 0 0"},".vditor .vditor-content .vditor-ir .vditor-reset":{padding:"10px !important"},".vditor-ir pre.vditor-reset":{backgroundColor:`${t.colorBgContainer}!important`},".vditor-preview":{display:"none !important"},".vditor-preview__action":{display:"none"}}}));return{wrapSSR:(0,p.useMemo)(()=>o,[o,e,t,l]),hashId:l,componentCls:vT}}function vI(e){let t=new DOMParser().parseFromString(e,"text/html");t.querySelectorAll("img").forEach(e=>{let t=e.getAttribute("src");t&&e.replaceWith(document.createTextNode(` [Image: ${t}] `))});let l=t.body.textContent||t.body.innerText;return(null==l?void 0:l.replace(/\n|\r/g," "))||""}let vL=e=>{if(e){let t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}};function vD(e){let t=(0,p.useRef)(null),{wrapSSR:l,componentCls:o,hashId:n}=vj(),i=vP();return(0,p.useEffect)(()=>{e.loadImages&&(__rspack_external_vditor.default.preview(t.current,e.value??"",{mode:"light",cdn:i}),setTimeout(()=>{var e,l;null==(e=t.current)||e.querySelectorAll("img").forEach(e=>{e.style.cursor="zoom-in",e.addEventListener("click",()=>{vR(e.src)})}),null==(l=t.current)||l.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,__rspack_external_react_dom_client_76b1397c.createRoot)(l).render((0,s.jsx)(g.QRCode,{value:t}))})},300))},[e.value,e.loadImages,i]),l((0,s.jsx)("span",{className:`${n} ${o}`,children:(0,s.jsx)("span",{ref:t,style:{border:"none",...(null==e?void 0:e.style)??{}}})}))}function vR(e){if(document.getElementById("custom-image-preview"))return;let t=document.createElement("span");t.id="custom-image-preview",Object.assign(t.style,{position:"fixed",inset:"0",backgroundColor:"rgba(0,0,0,0.85)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"9999",cursor:"zoom-out"});let l=document.createElement("img");l.src=e,Object.assign(l.style,{maxWidth:"90%",maxHeight:"90%",borderRadius:"8px",boxShadow:"0 0 20px rgba(0,0,0,0.5)",transition:"transform 0.2s",cursor:"zoom-out"}),t.addEventListener("click",()=>{document.body.removeChild(t)}),t.appendChild(l),document.body.appendChild(t)}let vY=e=>{let{value:t,textOnly:l=!0}=e,o=vP(),[n,i]=(0,p.useState)(!1),[r,a]=(0,p.useState)(!1),[d,u]=(0,p.useState)(!1),[c,m]=(0,p.useState)(""),h=(0,p.useRef)();(0,p.useEffect)(()=>{e.value&&l&&__rspack_external_vditor.default.md2html(e.value,{mode:"light",cdn:o}).then(e=>{m(vI(e))}).catch(()=>m(""))},[e.value,l]);let f=(0,p.useCallback)(()=>{var e;return!!h.current&&vL(h.current)>(null==(e=h.current)?void 0:e.offsetWidth)},[h]),y=e=>{i(e),e&&!d&&u(!0)};return e.ellipsis?(0,s.jsx)(g.Popover,{open:n,getPopupContainer:()=>{var e;return null==(e=document.getElementsByClassName("ant-drawer-content"))?void 0:e[0]},onOpenChange:e=>{y(r&&e)},overlayStyle:{maxWidth:600},content:(0,s.jsx)("div",{style:{maxHeight:400,overflow:"auto"},children:(0,s.jsx)(vD,{value:t,loadImages:d})}),children:(0,s.jsx)("div",{ref:h,style:{overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},onMouseEnter:e=>{let t=e.target;f()&&a(t.scrollWidth>=t.clientWidth)},children:l?c:(0,s.jsx)("div",{className:(0,S.css)`
1185
1185
  .vditor-reset {
1186
1186
  white-space: nowrap;
1187
1187
  display: -webkit-box;