@nocobase/app 2.1.0-alpha.36 → 2.1.0-alpha.38

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.
@@ -1,4 +1,4 @@
1
- /*! For license information please see index-1f8b465f.js.LICENSE.txt */
1
+ /*! For license information please see index-3212b2b6.js.LICENSE.txt */
2
2
  export const __rspack_esm_id="8410";export const __rspack_esm_ids=["8410"];export const __webpack_modules__={65359(e,t,l){var n={"./en-nz":["35571","4096"],"./bi.js":["95944","5905"],"./id.js":["87420","557"],"./km":["36101","7318"],"./he.js":["92010","1463"],"./me":["80623","3028"],"./tk":["62544","9065"],"./ko.js":["88003","4784"],"./tet.js":["18928","1481"],"./es-do":["61219","448"],"./ku":["16605","9518"],"./hr":["15811","9248"],"./zh-tw.js":["31349","3526"],"./hy-am":["94309","1846"],"./am.js":["4736","192"],"./en-in":["60912","3977"],"./de-at":["32878","3283"],"./pt-br":["92218","1863"],"./ar-iq.js":["13309","3102"],"./en-sg":["12673","1434"],"./zh":["56007","828"],"./en-il.js":["97690","8087"],"./lo":["73860","7141"],"./tlh":["60321","3978"],"./mi.js":["32739","4672"],"./el":["54072","9217"],"./ur.js":["51750","5819"],"./sq":["95977","4930"],"./pa-in.js":["39252","8053"],"./ar-kw.js":["79865","242"],"./fr-ca.js":["86290","4223"],"./de-ch.js":["13672","1329"],"./ru":["62796","6093"],"./eo.js":["33713","7386"],"./nb":["7205","630"],"./br":["72745","1586"],"./fo":["17674","791"],"./zh.js":["56007","828"],"./vi":["96098","8269"],"./fr-ch.js":["73433","5122"],"./ms-my":["26400","8473"],"./es-pr":["3532","9021"],"./bo.js":["59294","5123"],"./ht.js":["8809","4594"],"./lo.js":["73860","7141"],"./my.js":["46803","8480"],"./et":["4288","5881"],"./br.js":["72745","1586"],"./gu":["57409","474"],"./it-ch":["19286","1179"],"./sv-fi":["9160","9953"],"./ne.js":["40880","553"],"./zh-cn.js":["16033"],"./gom-latn.js":["78660","7669"],"./bg.js":["39990","1979"],"./mr.js":["46462","5459"],"./cv.js":["4780","5933"],"./lt.js":["34485","406"],"./pt":["72369","9578"],"./th.js":["47081","2258"],"./cs.js":["9751","4076"],"./es.js":["47317","70"],"./bn.js":["92509","2110"],"./ar-tn":["54405","6870"],"./mi":["32739","4672"],"./sr.js":["45616","3641"],"./tr":["4895","5108"],"./bn-bd":["64608","6345"],"./fa.js":["90292","7413"],"./it":["33900","1469"],"./nl":["69423","8676"],"./zh-hk":["87741","2622"],"./fo.js":["17674","791"],"./bs.js":["25530","8295"],"./ja.js":["50952","4801"],"./my":["46803","8480"],"./es-do.js":["61219","448"],"./gl":["33562","7095"],"./nl-be.js":["60465","6346"],"./en-ca.js":["21995","4456"],"./tzm-latn.js":["58804","2613"],"./types.d.ts":["69224","929"],"./ru.js":["62796","6093"],"./sq.js":["95977","4930"],"./cv":["4780","5933"],"./km.js":["36101","7318"],"./fa":["90292","7413"],"./cs":["9751","4076"],"./ms":["79677","2446"],"./types.d":["69224","929"],"./ca":["25993","9170"],"./tr.js":["4895","5108"],"./x-pseudo":["5760","8217"],"./tzm-latn":["58804","2613"],"./kn":["6364","93"],"./jv":["77741","4686"],"./ms-my.js":["26400","8473"],"./ht":["8809","4594"],"./be":["51532","8349"],"./gd":["68418","3039"],"./en-au":["59881","5861"],"./ka":["46481","9274"],"./ka.js":["46481","9274"],"./ur":["51750","5819"],"./sv.js":["21340","3309"],"./zh-cn":["16033"],"./pl.js":["63225","6914"],"./hi":["52830","3859"],"./ug-cn":["79911","3260"],"./ar-kw":["79865","242"],"./dv.js":["82187","5640"],"./id":["87420","557"],"./dv":["82187","5640"],"./vi.js":["96098","8269"],"./de-ch":["13672","1329"],"./en-in.js":["60912","3977"],"./es-pr.js":["3532","9021"],"./es-us.js":["32498","335"],"./ar-iq":["13309","3102"],"./fi.js":["89964","9565"],"./ca.js":["25993","9170"],"./ms.js":["79677","2446"],"./zh-tw":["31349","3526"],"./bs":["25530","8295"],"./rw.js":["35414","9592"],"./fy":["59836","2301"],"./uz-latn":["80950","8635"],"./mt.js":["99464","6241"],"./fr.js":["813","6062"],"./hu":["38298","183"],"./lv.js":["76467","8624"],"./sr-cyrl.js":["27439","3396"],"./tzl":["3187","896"],"./mn":["12698","8631"],"./pa-in":["39252","8053"],"./nl-be":["60465","6346"],"./kk":["11335","300"],"./en-tt":["2619","7608"],"./ar-ly.js":["85592","2913"],"./hr.js":["15811","9248"],"./kk.js":["11335","300"],"./ar":["2338","5791"],"./ar-dz.js":["48361","2322"],"./ar-sa":["40539","1848"],"./nl.js":["69423","8676"],"./cy":["95681","5757"],"./en-ie":["17329","58"],"./lb.js":["88615","8252"],"./ar-ly":["85592","2913"],"./de.js":["50494","7507"],"./am":["4736","192"],"./lv":["76467","8624"],"./tg":["15012","2565"],"./de-at.js":["32878","3283"],"./sl":["39998","4195"],"./tg.js":["15012","2565"],"./ky.js":["34457","3458"],"./kn.js":["6364","93"],"./bo":["59294","5123"],"./da":["42706","4767"],"./ss.js":["52487","492"],"./uz":["54734","7555"],"./fr-ch":["73433","5122"],"./sk":["46847","6660"],"./hu.js":["38298","183"],"./sr":["45616","3641"],"./he":["92010","1463"],"./uk.js":["34173","2270"],"./es-mx":["64719","9204"],"./se.js":["55285","8294"],"./oc-lnc":["70225","5642"],"./pt-br.js":["92218","1863"],"./rw":["35414","9592"],"./ar-sa.js":["40539","1848"],"./nb.js":["7205","630"],"./fr-ca":["86290","4223"],"./hi.js":["52830","3859"],"./gl.js":["33562","7095"],"./en-ie.js":["17329","58"],"./me.js":["80623","3028"],"./fy.js":["59836","2301"],"./ar.js":["2338","5791"],"./az":["51130","9847"],"./lt":["34485","406"],"./en":["65826","5087"],"./ro.js":["24334","5139"],"./sw":["2979","9584"],"./te.js":["87406","4419"],"./tl-ph.js":["78142","1667"],"./es-mx.js":["64719","9204"],"./ky":["34457","3458"],"./it.js":["33900","1469"],"./zh-hk.js":["87741","2622"],"./da.js":["42706","4767"],"./te":["87406","4419"],"./mt":["99464","6241"],"./lb":["88615","8252"],"./uz-latn.js":["80950","8635"],"./ml.js":["75376","8729"],"./en-sg.js":["12673","1434"],"./uz.js":["54734","7555"],"./tzm.js":["95084","1101"],"./tet":["18928","1481"],"./oc-lnc.js":["70225","5642"],"./az.js":["51130","9847"],"./en-au.js":["59881","5861"],"./fr":["813","6062"],"./gd.js":["68418","3039"],"./yo.js":["87933","5870"],"./nn":["23473","5674"],"./bm":["71092","5701"],"./index.d.ts":["41213","9550"],"./sw.js":["2979","9584"],"./af":["65662","3523"],"./en-il":["97690","8087"],"./eu":["94007","1052"],"./et.js":["4288","5881"],"./rn":["34509","2606"],"./se":["55285","8294"],"./sv-fi.js":["9160","9953"],"./gu.js":["57409","474"],"./gom-latn":["78660","7669"],"./pl":["63225","6914"],"./ar-dz":["48361","2322"],"./ar-ma":["81289","1986"],"./eu.js":["94007","1052"],"./ss":["52487","492"],"./tk.js":["62544","9065"],"./es-us":["32498","335"],"./bi":["95944","5905"],"./ug-cn.js":["79911","3260"],"./mn.js":["12698","8631"],"./pt.js":["72369","9578"],"./cy.js":["95681","5757"],"./mr":["46462","5459"],"./ga.js":["54061","3646"],"./ko":["88003","4784"],"./ku.js":["16605","9518"],"./af.js":["65662","3523"],"./hy-am.js":["94309","1846"],"./es":["47317","70"],"./ml":["75376","8729"],"./en-ca":["21995","4456"],"./bn":["92509","2110"],"./ga":["54061","3646"],"./is.js":["15513","5506"],"./sd.js":["63222","1675"],"./sl.js":["39998","4195"],"./tlh.js":["60321","3978"],"./tl-ph":["78142","1667"],"./uk":["34173","2270"],"./x-pseudo.js":["5760","8217"],"./is":["15513","5506"],"./jv.js":["77741","4686"],"./el.js":["54072","9217"],"./fi":["89964","9565"],"./bn-bd.js":["64608","6345"],"./en-gb":["72026","8759"],"./en-gb.js":["72026","8759"],"./mk":["75877","4358"],"./ne":["40880","553"],"./ro":["24334","5139"],"./mk.js":["75877","4358"],"./si":["65665","3898"],"./tzm":["95084","1101"],"./be.js":["51532","8349"],"./de":["50494","7507"],"./rn.js":["34509","2606"],"./si.js":["65665","3898"],"./yo":["87933","5870"],"./bg":["39990","1979"],"./en.js":["65826","5087"],"./sv":["21340","3309"],"./th":["47081","2258"],"./bm.js":["71092","5701"],"./nn.js":["23473","5674"],"./ar-ma.js":["81289","1986"],"./index.d":["41213","9550"],"./ja":["50952","4801"],"./ta.js":["77250","1887"],"./ar-tn.js":["54405","6870"],"./sd":["63222","1675"],"./sk.js":["46847","6660"],"./tzl.js":["3187","896"],"./en-nz.js":["35571","4096"],"./eo":["33713","7386"],"./ta":["77250","1887"],"./en-tt.js":["2619","7608"],"./it-ch.js":["19286","1179"],"./sr-cyrl":["27439","3396"]};function o(e){if(!l.o(n,e))return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=n[e],o=t[0];return Promise.all(t.slice(1).map(l.e)).then(function(){return l.t(o,23)})}o.keys=()=>Object.keys(n),o.id=65359,e.exports=o},35358(e,t,l){var n={"./af":"25177","./af.js":"25177","./ar":"61509","./ar-dz":"41488","./ar-dz.js":"41488","./ar-kw":"58676","./ar-kw.js":"58676","./ar-ly":"42353","./ar-ly.js":"42353","./ar-ma":"24496","./ar-ma.js":"24496","./ar-sa":"82682","./ar-sa.js":"82682","./ar-tn":"89756","./ar-tn.js":"89756","./ar.js":"61509","./az":"95533","./az.js":"95533","./be":"28959","./be.js":"28959","./bg":"47777","./bg.js":"47777","./bm":"54903","./bm.js":"54903","./bn":"61290","./bn-bd":"17357","./bn-bd.js":"17357","./bn.js":"61290","./bo":"31545","./bo.js":"31545","./br":"11470","./br.js":"11470","./bs":"44429","./bs.js":"44429","./ca":"7306","./ca.js":"7306","./cs":"56464","./cs.js":"56464","./cv":"73635","./cv.js":"73635","./cy":"64226","./cy.js":"64226","./da":"93601","./da.js":"93601","./de":"77853","./de-at":"26111","./de-at.js":"26111","./de-ch":"54697","./de-ch.js":"54697","./de.js":"77853","./dv":"60708","./dv.js":"60708","./el":"54691","./el.js":"54691","./en-au":"53872","./en-au.js":"53872","./en-ca":"28298","./en-ca.js":"28298","./en-gb":"56195","./en-gb.js":"56195","./en-ie":"66584","./en-ie.js":"66584","./en-il":"65543","./en-il.js":"65543","./en-in":"9033","./en-in.js":"9033","./en-nz":"79402","./en-nz.js":"79402","./en-sg":"43004","./en-sg.js":"43004","./eo":"32934","./eo.js":"32934","./es":"97650","./es-do":"20838","./es-do.js":"20838","./es-mx":"17730","./es-mx.js":"17730","./es-us":"56575","./es-us.js":"56575","./es.js":"97650","./et":"3035","./et.js":"3035","./eu":"3508","./eu.js":"3508","./fa":"119","./fa.js":"119","./fi":"90527","./fi.js":"90527","./fil":"95995","./fil.js":"95995","./fo":"52477","./fo.js":"52477","./fr":"85498","./fr-ca":"26435","./fr-ca.js":"26435","./fr-ch":"37892","./fr-ch.js":"37892","./fr.js":"85498","./fy":"37071","./fy.js":"37071","./ga":"41734","./ga.js":"41734","./gd":"70217","./gd.js":"70217","./gl":"77329","./gl.js":"77329","./gom-deva":"32124","./gom-deva.js":"32124","./gom-latn":"93383","./gom-latn.js":"93383","./gu":"95050","./gu.js":"95050","./he":"11713","./he.js":"11713","./hi":"43861","./hi.js":"43861","./hr":"26308","./hr.js":"26308","./hu":"90609","./hu.js":"90609","./hy-am":"17160","./hy-am.js":"17160","./id":"74063","./id.js":"74063","./is":"89374","./is.js":"89374","./it":"88383","./it-ch":"21827","./it-ch.js":"21827","./it.js":"88383","./ja":"23827","./ja.js":"23827","./jv":"89722","./jv.js":"89722","./ka":"41794","./ka.js":"41794","./kk":"27088","./kk.js":"27088","./km":"96870","./km.js":"96870","./kn":"84451","./kn.js":"84451","./ko":"63164","./ko.js":"63164","./ku":"98174","./ku.js":"98174","./ky":"78474","./ky.js":"78474","./lb":"79680","./lb.js":"79680","./lo":"15867","./lo.js":"15867","./lt":"45766","./lt.js":"45766","./lv":"69532","./lv.js":"69532","./me":"58076","./me.js":"58076","./mi":"41848","./mi.js":"41848","./mk":"30306","./mk.js":"30306","./ml":"73739","./ml.js":"73739","./mn":"99053","./mn.js":"99053","./mr":"86169","./mr.js":"86169","./ms":"73386","./ms-my":"92297","./ms-my.js":"92297","./ms.js":"73386","./mt":"77075","./mt.js":"77075","./my":"72264","./my.js":"72264","./nb":"22274","./nb.js":"22274","./ne":"8235","./ne.js":"8235","./nl":"92572","./nl-be":"43784","./nl-be.js":"43784","./nl.js":"92572","./nn":"54566","./nn.js":"54566","./oc-lnc":"69330","./oc-lnc.js":"69330","./pa-in":"29849","./pa-in.js":"29849","./pl":"94418","./pl.js":"94418","./pt":"79834","./pt-br":"48303","./pt-br.js":"48303","./pt.js":"79834","./ro":"24457","./ro.js":"24457","./ru":"82271","./ru.js":"82271","./sd":"1221","./sd.js":"1221","./se":"33478","./se.js":"33478","./si":"17538","./si.js":"17538","./sk":"5784","./sk.js":"5784","./sl":"46637","./sl.js":"46637","./sq":"86794","./sq.js":"86794","./sr":"45719","./sr-cyrl":"3322","./sr-cyrl.js":"3322","./sr.js":"45719","./ss":"56000","./ss.js":"56000","./sv":"41011","./sv.js":"41011","./sw":"40748","./sw.js":"40748","./ta":"11025","./ta.js":"11025","./te":"11885","./te.js":"11885","./tet":"28861","./tet.js":"28861","./tg":"86571","./tg.js":"86571","./th":"55802","./th.js":"55802","./tk":"59527","./tk.js":"59527","./tl-ph":"29231","./tl-ph.js":"29231","./tlh":"31052","./tlh.js":"31052","./tr":"85096","./tr.js":"85096","./tzl":"79846","./tzl.js":"79846","./tzm":"81765","./tzm-latn":"97711","./tzm-latn.js":"97711","./tzm.js":"81765","./ug-cn":"48414","./ug-cn.js":"48414","./uk":"16618","./uk.js":"16618","./ur":"57777","./ur.js":"57777","./uz":"57609","./uz-latn":"72475","./uz-latn.js":"72475","./uz.js":"57609","./vi":"21135","./vi.js":"21135","./x-pseudo":"64051","./x-pseudo.js":"64051","./yo":"82218","./yo.js":"82218","./zh-cn":"52648","./zh-cn.js":"52648","./zh-hk":"1632","./zh-hk.js":"1632","./zh-mo":"31541","./zh-mo.js":"31541","./zh-tw":"50304","./zh-tw.js":"50304"};function o(e){return l(i(e))}function i(e){if(!l.o(n,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}o.keys=function(){return Object.keys(n)},o.resolve=i,e.exports=o,o.id=35358},56777(e,t,l){var n=l(73544);function o(e){return Promise.resolve(null)}let i="main",r='{{t("Main")}}',a={basic:{label:'{{t("Basic")}}',order:1},choices:{label:'{{t("Choices")}}',order:20},media:{label:'{{t("Media")}}',order:40},datetime:{label:'{{t("Date & Time")}}',order:80},relation:{label:'{{t("Relation")}}',order:100},advanced:{label:'{{t("Advanced type")}}',order:200},systemInfo:{label:'{{t("System info")}}',order:400},others:{label:'{{t("Others")}}',order:800}},s=[n.CheckboxFieldInterface,n.CheckboxGroupFieldInterface,n.CollectionSelectFieldInterface,n.ColorFieldInterface,n.CreatedAtFieldInterface,n.CreatedByFieldInterface,n.DatetimeFieldInterface,n.EmailFieldInterface,n.IconFieldInterface,n.IdFieldInterface,n.InputFieldInterface,n.IntegerFieldInterface,n.JsonFieldInterface,n.LinkToFieldInterface,n.M2MFieldInterface,n.M2OFieldInterface,n.MarkdownFieldInterface,n.MultipleSelectFieldInterface,n.NumberFieldInterface,n.O2MFieldInterface,n.O2OFieldInterface,n.OHOFieldInterface,n.OBOFieldInterface,n.PasswordFieldInterface,n.PercentFieldInterface,n.PhoneFieldInterface,n.RadioGroupFieldInterface,n.RichTextFieldInterface,n.SelectFieldInterface,n.SnowflakeIdFieldInterface,n.SubTableFieldInterface,n.TableoidFieldInterface,n.TextareaFieldInterface,n.TimeFieldInterface,n.UpdatedAtFieldInterface,n.UpdatedByFieldInterface,n.UrlFieldInterface,n.UUIDFieldInterface,n.NanoidFieldInterface,n.UnixTimestampFieldInterface,n.DateFieldInterface,n.DatetimeNoTzFieldInterface];class d extends n.Plugin{async beforeLoad(){this.app.dataSourceManager.upsertDataSource({key:i,displayName:r}),this.app.dataSourceManager.addFieldInterfaces(s),this.app.dataSourceManager.addFieldInterfaceGroups(a),this.app.dataSourceManager.registerLoader(i,async e=>{var t;let{manager:l}=e,n=l.requester||this.app.apiClient.request.bind(this.app.apiClient),o=await n({resource:"collections",action:"listMeta"});return{collections:(null==o||null==(t=o.data)?void 0:t.data)||[]}})}}var u=l(65606);function c(e){let t=Math.floor(Math.abs(e)),l=Math.abs(e%1*60);return(e>=0?"+":"-")+(t<10?"0":"")+t+":"+(l<10?"0":"")+l}let p=()=>c(-(new Date().getTimezoneOffset()/60));function h(e){let t=e.getPublicPath(),l=`^${t}apps/([^/]*)/`,n=location.pathname.match(new RegExp(l));return null==n?void 0:n[0]}function m(e){let t=e.getPublicPath(),l=`^${t}_app/([^/]*)/`,n=location.pathname.match(new RegExp(l));return null==n?void 0:n[0]}class f extends n.Plugin{getHostname(){var e,t;if(u.env.API_BASE_URL)try{return new URL(u.env.API_BASE_URL).hostname}catch(e){}return null==(t=window)||null==(e=t.location)?void 0:e.hostname}async afterAdd(){this.router.setType("browser"),this.router.setBasename(h(this.app)||m(this.app)||this.app.getPublicPath()),this.app.apiClient.axios.interceptors.request.use(e=>(e.headers["X-Hostname"]=this.getHostname(),e.headers["X-Timezone"]=p(),e)),await this.app.pm.add(d,{name:"builtin-collection-v2"}),await this.app.pm.add(n.NocoBaseBuildInPluginV2)}}function g(e,t){if(!e)return t;let l=e.trim();return l.startsWith("/")||(l=`/${l}`),l.endsWith("/")||(l=`${l}/`),l}function v(){let e="/v2/",t=window.location.pathname,l=t.indexOf(e);return l>=0?g(t.slice(0,l),"/"):"/"}function y(){let e=window.__nocobase_public_path__;if(e)return g(e.replace(/\/v2\/$/,"/"),"/");let t="/v2/";return t?g(t.replace(/\/v2\/$/,"/"),"/"):v()}function b(){return g(`${y().replace(/\/$/,"")}/v2/`,"/v2/")}function x(e){return"boolean"==typeof e?e:"true"===String(e||"").toLowerCase()}function w(e){return"sessionStorage"===e||"memory"===e||"localStorage"===e?e:"localStorage"}y();let S=b(),M=new n.Application({publicPath:S,apiClient:{shareToken:x(window.__nocobase_api_client_share_token__||"false"),storageType:w(window.__nocobase_api_client_storage_type__||"localStorage"),storagePrefix:window.__nocobase_api_client_storage_prefix__||"NOCOBASE_",baseURL:window.__nocobase_api_base_url__||"/api/"},ws:{url:window.__nocobase_ws_url__||"",basename:window.__nocobase_ws_path__||"/ws"},loadRemotePlugins:!0,devDynamicImport:o,plugins:[f]});window.__nocobase_v2_app__=M,M.mount("#root")},8643(e,t,l){l.d(t,{D:()=>i,k:()=>o});var n=l(96540);let o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).sort((t,l)=>{var n,o;return(null==(n=e[t])?void 0:n.order)-(null==(o=e[l])?void 0:o.order)})},i=(0,n.createContext)({items:{}});i.displayName="PinnedPluginListContext"},96204(e,t,l){l.d(t,{mz:()=>u,tJ:()=>d,w$:()=>a,wq:()=>s});var n=l(50467),o=l(96540),i=l(47767),r=l(77096);let a="admin.settings.",s="/admin/settings/",d="pm.";class u{clearCache(){this.cachedList={}}setAclSnippets(e){this.aclSnippets=e,this.clearCache()}getAclSnippet(e){let t=this.menus[e]||this.pages[e];return(null==t?void 0:t.aclSnippet)??`${d}${e}`}getRouteName(e){return`${a}${e}`}getRoutePath(e){let{menuName:t,pageName:l}=this.parseName(e),n=`${s}${t}`;return l&&"index"!==l?`${n}/${l}`:n}addMenuItem(e){this.assertMenuKey(e.key,"key");let t=e.key,l={...this.menus[t],...e,key:e.key,name:t,Component:i.Outlet};this.assertPathConflict(t,this.getRoutePath(t)),this.menus[t]=l,this.syncMenuRoute(l),this.clearCache()}addPageTabItem(e){if(this.assertMenuKey(e.menuKey,"menuKey"),!this.menus[e.menuKey])throw Error(`Plugin settings menuKey does not exist: menuKey=${e.menuKey}`);let t=this.getPageName(e.menuKey,e.key),l={...this.pages[t],...e,menuKey:e.menuKey,key:e.key,name:t};this.assertIndexConflict(l),this.assertPathConflict(t,this.getRoutePath(t)),this.pages[t]=l,this.syncPageRoute(l),this.clearCache()}remove(e){let t=this.menus[e],l=this.pages[e];if(!t&&!l)return;let n=[];if(t){let t=this.getPageNamesByMenu(e);delete this.menus[e],n.push(this.getRouteName(e)),t.forEach(e=>{delete this.pages[e],n.push(this.getRouteName(e))})}else l&&(delete this.pages[e],n.push(this.getRouteName(e)));n.forEach(e=>{this.app.router.remove(e)}),this.clearCache()}hasAuth(e){let t=this.getAclSnippet("*");if(t&&this.aclSnippets.includes(`!${t}`))return!1;let l=this.getAclSnippet(e);return!l||!1===this.aclSnippets.includes(`!${l}`)}has(e){return!!(this.menus[e]||this.pages[e])}get(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],l=this.buildSnapshot(e,{filterAuth:t,includeHidden:!0});return l?this.cloneSnapshot(l):null}getList(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=JSON.stringify({filterAuth:e,includeHidden:!0});return this.cachedList[t]||(this.cachedList[t]=this.sortMenuNames().map(t=>this.buildSnapshot(t,{filterAuth:e,includeHidden:!0})).filter(Boolean)),this.cachedList[t].map(e=>this.cloneSnapshot(e))}getAclSnippets(){return[...this.sortMenuNames(),...this.sortPageNames(Object.keys(this.pages))].map(e=>this.getAclSnippet(e)).filter(Boolean)}renderIcon(e){return e?"string"==typeof e?(0,o.createElement)(r.In,{type:e}):e:null}buildSnapshot(e,t){let l=this.menus[e];if(l)return this.buildMenuSnapshot(l,t);let n=this.pages[e];return n?this.buildPageSnapshot(n,t):null}buildMenuSnapshot(e,t){let l=this.hasAuth(e.name),n=this.sortPageNames(this.getPageNamesByMenu(e.key)).map(e=>this.buildPageSnapshot(this.pages[e],t)).filter(Boolean),o=l||n.some(e=>e.isAllow);if(t.filterAuth&&0===n.length||!t.includeHidden&&e.hidden)return null;let{title:i,icon:r,aclSnippet:a,key:s,name:d,Component:u,...c}=e;return{...c,key:d,menuKey:s,pluginKey:d,name:d,title:i,label:i,icon:this.renderIcon(r),path:this.getRoutePath(d),sort:e.sort,isAllow:o,isTopLevel:!0,topLevelName:d,aclSnippet:this.getAclSnippet(d),Component:u,children:n.length?n:void 0}}buildPageSnapshot(e,t){let l=this.hasAuth(e.name);if(t.filterAuth&&!l||!t.includeHidden&&e.hidden)return null;let{title:n,aclSnippet:o,key:i,menuKey:r,name:a,...s}=e;return{...s,key:a,menuKey:r,pageKey:i,pluginKey:r,name:a,title:n,label:n,path:this.getRoutePath(a),sort:e.sort,isAllow:l,isTopLevel:!1,topLevelName:r,aclSnippet:this.getAclSnippet(a),children:void 0}}cloneSnapshot(e){var t;return{...e,children:null==(t=e.children)?void 0:t.map(e=>this.cloneSnapshot(e))}}sortMenuNames(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Object.keys(this.menus);return[...e].sort((e,t)=>{let l=this.menus[e],n=this.menus[t],o=(null==l?void 0:l.sort)||0,i=(null==n?void 0:n.sort)||0;return o!==i?o-i:e.localeCompare(t)})}sortPageNames(e){return[...e].sort((e,t)=>{let l=this.pages[e],n=this.pages[t],o=(null==l?void 0:l.sort)||0,i=(null==n?void 0:n.sort)||0;return o!==i?o-i:e.localeCompare(t)})}getPageNamesByMenu(e){return Object.keys(this.pages).filter(t=>this.pages[t].menuKey===e)}getPageName(e,t){return`${e}.${t}`}parseName(e){let t=e.indexOf(".");return t<0?{menuName:e,pageName:void 0}:{menuName:e.slice(0,t),pageName:e.slice(t+1)}}syncMenuRoute(e){this.app.router.add(this.getRouteName(e.name),{path:e.key,Component:i.Outlet})}syncPageRoute(e){let t=e.Component||i.Outlet;"index"===e.key?this.app.router.add(this.getRouteName(e.name),{index:!0,Component:t,componentLoader:e.componentLoader}):this.app.router.add(this.getRouteName(e.name),{path:e.key,Component:t,componentLoader:e.componentLoader})}assertIndexConflict(e){if("index"!==e.key)return;let t=this.getPageNamesByMenu(e.menuKey).find(e=>"index"===this.pages[e].key);if(t&&t!==e.name)throw Error(`Plugin settings page index conflict: menuKey=${e.menuKey}, key=${e.key}, existed=${t}`)}assertPathConflict(e,t){let l=[...this.sortMenuNames().map(e=>({name:e,path:this.getRoutePath(e)})),...this.sortPageNames(Object.keys(this.pages)).map(e=>({name:e,path:this.getRoutePath(e)}))].find(l=>l.path===t&&l.name!==e&&!this.isMenuIndexPair(l.name,e));if(l)throw Error(`Plugin settings path conflict: name=${e}, path=${t}, conflict=${l.name}`)}isMenuIndexPair(e,t){let l=new Set([`${e}.index`,`${t}.index`]);return l.has(t)||l.has(e)}assertMenuKey(e,t){if(e.includes("."))throw Error(`Plugin settings menu key cannot contain ".": ${t}=${e}`)}constructor(e){(0,n._)(this,"menus",{}),(0,n._)(this,"pages",{}),(0,n._)(this,"aclSnippets",[]),(0,n._)(this,"app",void 0),(0,n._)(this,"cachedList",{}),this.app=e}}},88101(e,t,l){l.d(t,{GL:()=>f,N5:()=>m,bq:()=>h,rR:()=>p,uM:()=>y,v6:()=>v,w0:()=>d});var n=l(74848),o=l(95243),i=l(96540),r=l(47767),a=l(36098),s=l(39220);let d=(0,i.createContext)(null);function u(){return(0,o.observable)({data:{},meta:{},setData(e){this.data=e||{}},setMeta(e){this.meta=e||{}}})}function c(e){return e.context.acl||e.context.defineProperty("acl",{value:u()}),e.context.acl}d.displayName="ACLContext";let p=e=>{let{children:t}=e,l=(0,a.n)(),o=(0,r.useLocation)(),u=c(l),[p,h]=(0,i.useState)(!1),m=(0,i.useRef)(o.pathname);m.current=o.pathname;let f=(0,i.useCallback)(async()=>{var e,t,n,o,i,r;if(l.router.isSkippedAuthCheckRoute(m.current))return void h(!1);(null==(e=u.data)?void 0:e.role)||(null==(n=u.data)||null==(t=n.snippets)?void 0:t.length)||h(!0);try{let e=await l.apiClient.request({url:"roles:check",skipNotify:!0,skipAuth:!0}),t=(null==e||null==(o=e.data)?void 0:o.data)||{},n=(null==e||null==(i=e.data)?void 0:i.meta)||{};u.setData(t),u.setMeta(n),l.pluginSettingsManager.setAclSnippets((null==t?void 0:t.snippets)||[]),(null==t?void 0:t.role)!==l.apiClient.auth.role&&l.apiClient.auth.setRole(null==t?void 0:t.role),(0,s.r)((null==t?void 0:t.snippets)||[],!!(null==t?void 0:t.allowAll))("ui.*")||await l.flowEngine.flowSettings.disable()}catch(e){if(401===((null==e||null==(r=e.response)?void 0:r.status)||(null==e?void 0:e.status))){u.setData({}),u.setMeta({}),l.pluginSettingsManager.setAclSnippets([]),l.apiClient.auth.setRole(null);return}console.error(e)}finally{h(!1)}},[u,l]);(0,i.useEffect)(()=>{f()},[f]);let g=(0,i.useMemo)(()=>({loading:p,data:{data:u.data||{},meta:u.meta||{}},refresh:f}),[u.data,u.meta,p,f]);return p?l.renderComponent("AppSpin"):(0,n.jsx)(d.Provider,{value:g,children:t})},h=()=>(0,i.useContext)(d),m=()=>{let e=h(),{allowAll:t}=v();return(0,i.useCallback)(()=>!e||t?Promise.resolve():e.refresh(),[t,e])},f=()=>{var e,t;let l=h();return null==l||null==(t=l.data)||null==(e=t.data)?void 0:e.roleMode},g=()=>{var e,t;let l=h(),n=(null==l||null==(e=l.data)?void 0:e.data)||{},o=(0,i.useCallback)(e=>{var t;let l=e.split(":").pop();return(null==n||null==(t=n.actionAlias)?void 0:t[l||""])||l},[null==n?void 0:n.actionAlias]),r=(0,i.useCallback)(e=>{var t,l;return null==n||null==(l=n.resources)||null==(t=l.includes)?void 0:t.call(l,e)},[null==n?void 0:n.resources]),a=(0,i.useCallback)(e=>{var t,l;let[i]=e.split(":"),r=o(e);return(null==n||null==(t=n.actions)?void 0:t[`${i}:${r}`])||(null==n||null==(l=n.actions)?void 0:l[e])},[null==n?void 0:n.actions,o]),s=(0,i.useCallback)(e=>{var t,l;let i=o(e);return(null==n||null==(l=n.strategy)||null==(t=l.actions)?void 0:t.find(e=>{let[t]=e.split(":");return t===i}))?{}:null},[null==n||null==(t=n.strategy)?void 0:t.actions,o]);return{data:n,getActionAlias:o,inResources:r,getResourceActionParams:a,getStrategyActionParams:s}};function v(){let{data:e,inResources:t,getResourceActionParams:l,getStrategyActionParams:n}=g();return{...e,snippets:(null==e?void 0:e.snippets)||[],parseAction:(0,i.useCallback)(o=>{if(!o)return null;let[i]=o.split(":");return(null==e?void 0:e.allowAll)?{}:t(i)?l(o):n(o)},[null==e?void 0:e.allowAll,l,n,t])}}function y(){let{allowAll:e,snippets:t}=v();return{allowConfigUI:(0,i.useMemo)(()=>(0,s.r)(t||[],!!e),[e,t])("ui.*")}}},39220(e,t,l){l.d(t,{r:()=>i});var n=l(82535),o=l.n(n);let i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=o()().add(e||[]);return e=>!e||"*"===e||!!t||l.ignores(e)}},966(e,t,l){l.d(t,{GL:()=>n.GL,K3:()=>i.K,N5:()=>n.N5,bq:()=>n.bq,rN:()=>o.r,rR:()=>n.rR,uM:()=>n.uM,v6:()=>n.v6,w0:()=>n.w0});var n=l(88101),o=l(39220),i=l(94471)},94471(e,t,l){l.d(t,{K:()=>r});var n=l(96540),o=l(88101),i=l(39220);let r=()=>{let{allowAll:e,snippets:t=[]}=(0,o.v6)();return{allow:(0,n.useMemo)(()=>(0,i.r)(t,!!e),[e,t])}}},39431(e,t,l){let n;l.d(t,{In:()=>p,K1:()=>c,Pt:()=>s,cE:()=>u,pU:()=>d});var o=l(74848),i=l(81651),r=l(16933),a=l(60152);l(96540);let s=new Map;function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n;s.set(e.toLowerCase(),t)}function u(e){return!!e&&s.has(e.toLowerCase())}function c(e){Object.keys(e).forEach(t=>{d(t,e[t])})}Object.keys(i).forEach(e=>{d(e,i[e])});let p=e=>{let{type:t="",component:l,...i}=e;if(l)return(0,o.jsx)(r.A,{component:l,...i});if(t&&s.has(t.toLowerCase())){let e=s.get(t.toLowerCase());return(0,o.jsx)(e,{...i})}return t&&n?(0,o.jsx)(n,{type:t}):null};p.createFromIconfontCN=e=>{n=(0,a.A)(e)},p.register=e=>{c(e)}},77096(e,t,l){l.d(t,{uO:()=>R,tp:()=>b,cE:()=>Z.cE,gh:()=>k,c:()=>W,bM:()=>x,gv:()=>f,EM:()=>_,be:()=>y,pU:()=>Z.pU,Pt:()=>Z.Pt,uV:()=>v,ct:()=>w,K1:()=>Z.K1,PK:()=>ee,In:()=>Z.In,s9:()=>N,oV:()=>S,V4:()=>Q});var n=l(74848),o=l(99576),i=l(68870),r=l(22803),a=l(11869),s=l(21734),d=l(92275),u=l(71021),c=l(18182),p=l(96540),h=l(18492),m=l(47767);let f=()=>(0,n.jsx)(s.A,{style:{position:"fixed",top:"50%",left:"50%",fontSize:72,transform:"translate(-50%, -50%)"}}),g=e=>{if(e.ws.serverDown)return{status:"error",icon:(0,n.jsx)(o.A,{}),title:"You're offline",subTitle:"Please check the server status or network connection status"};let t=e.error;if(!t)return{};if("APP_NOT_FOUND"===t.code)return{status:"warning",title:"App not found",subTitle:null==t?void 0:t.message};if("APP_WARNING"===t.code)return{status:"warning",title:"App warning",subTitle:null==t?void 0:t.message};if("APP_PREPARING"===t.code)return{status:"info",icon:(0,n.jsx)(i.A,{}),title:"App preparing",subTitle:null==t?void 0:t.message};if("APP_INITIALIZING"===t.code)return{status:"info",icon:(0,n.jsx)(i.A,{}),title:"App initializing",subTitle:null==t?void 0:t.message};if("APP_INITIALIZED"===t.code)return{status:"info",title:"App initialized",subTitle:null==t?void 0:t.message};if(["ENOENT","APP_ERROR","LOAD_ERROR"].includes(t.code))return{status:"error",title:"App error",subTitle:null==t?void 0:t.message};if("APP_NOT_INSTALLED_ERROR"===t.code)return{status:"warning",title:"App not installed",subTitle:null==t?void 0:t.message};if("APP_STOPPED"===t.code)return{status:"warning",title:"App stopped",subTitle:null==t?void 0:t.message};if("APP_COMMANDING"===t.code){var l,r;let e={status:"info",icon:(0,n.jsx)(i.A,{}),title:null==t||null==(l=t.command)?void 0:l.name,subTitle:null==t?void 0:t.message},o={start:{title:"App starting"},restart:{title:"App restarting"},install:{title:"App installing"},upgrade:{title:"App upgrading"},"pm.add":{title:"Adding plugin"},"pm.update":{title:"Updating plugin"},"pm.enable":{title:"Enabling plugin"},"pm.disable":{title:"Disabling plugin"},"pm.remove":{title:"Removing plugin"}};return{...e,...(null==t||null==(r=t.command)?void 0:r.name)?o[t.command.name]:{}}}return{status:"warning",title:"App warning",subTitle:null==t?void 0:t.message}},v=(0,a.observer)(e=>{let{app:t,error:l}=e,o=g(t);return(0,n.jsx)("div",{children:(0,n.jsx)(d.Ay,{className:(0,r.css)`
3
3
  top: 50%;
4
4
  position: absolute;
@@ -109,7 +109,7 @@ export const __rspack_esm_id="8410";export const __rspack_esm_ids=["8410"];expor
109
109
  z-index: 200;
110
110
  transition: left 0.2s;
111
111
  }
112
- `,children:e.children}),i)}):null},$=(e,t)=>(0,n.jsx)(O,{collapsed:e,children:t}),B=(0,m.rU)(e=>{let{token:t}=e;return{headerPopup:{"&.ant-menu-submenu-popup>.ant-menu":{backgroundColor:`${t.colorBgHeader}`}},headerMenuActive:{"& .ant-menu-submenu-selected>.ant-menu-submenu-title":{color:t.colorTextHeaderMenuActive}}}}),L={inHeader:!0},q=e=>{let{styles:t}=B();return(0,n.jsx)("span",{className:t.headerMenuActive,children:(0,n.jsx)(b.B9.Provider,{value:L,children:e.children})})},V=(e,t)=>(0,n.jsx)(q,{children:t}),z=e=>e.isMobile?[(0,n.jsx)(Y,{},"mobile-actions")]:[(0,n.jsx)(M.K,{},"pinned-plugin-list")],K={display:"flex",height:"100vh"},U={flex:1,transform:"translateZ(0)",overflow:"hidden",scrollPaddingTop:"var(--nb-header-height)"},W={width:"fit-content",position:"relative"},H='[data-has-float-menu="true"][data-float-menu-model-uid]',G=()=>{let{token:e}=u.A.useToken(),t=e,l=(0,f.useMemo)(()=>t.globalStyle?(0,m.DU)`${t.globalStyle}`:()=>null,[t.globalStyle]);return(0,n.jsx)(l,{})},Y=()=>{let{token:e}=u.A.useToken(),t=e,[l,o]=(0,f.useState)(!1),i=(0,f.useCallback)(()=>{o(!1)},[]);return(0,n.jsx)(c.A,{rootClassName:N,content:(0,n.jsx)(M.K,{onClick:i}),color:t.colorBgHeader,trigger:"click",open:l,onOpenChange:o,children:(0,n.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,n.jsx)(a.A,{style:{color:t.colorTextHeaderMenu,fontSize:20}})})})};function J(e){let t=(0,d.useFlowEngine)().getModel(w.M);return(0,f.useEffect)(()=>{null==t||t.setIsMobileLayout(e.isMobile)},[t,e.isMobile]),e.children}let X=e=>{let t=(0,f.useRef)(null),l=!(e.item._parentRoute||e.fallbackParentRoute);return(0,f.useEffect)(()=>{t.current&&l&&(t.current.parentElement.parentElement.style.order="999",t.current.parentElement.parentElement.style.paddingLeft="0",t.current.parentElement.parentElement.style.padding="0")},[l]),(0,n.jsx)("div",{ref:t,children:(0,n.jsx)(S.f,{children:e.item.name})})},Q=(e,t)=>!!e&&(!![null!=e.id?`/admin/${e.id}`:null,e.schemaUid?`/admin/${e.schemaUid}`:null].filter(Boolean).some(e=>t===e||t.startsWith(`${e}/`))||!!Array.isArray(e.children)&&e.children.some(e=>Q(e,t))),Z=(e,t)=>e.find(e=>"group"===e.type&&Q(e,t)),ee=(e,t,l,o,i)=>{var r,a;return(null==e?void 0:e.key)!=="x-designer-button"&&(null==e||!e.disabled||!e._launcherModel||(null==e||null==(r=e._route)?void 0:r.id)||(null==e||null==(a=e._route)?void 0:a.schemaUid))?(null==e?void 0:e._model)?(0,n.jsx)(b.xc,{model:e._model,item:e,dom:t,options:o,renderType:l},`admin-layout-menu-${l}-${e._model.uid}-${e.path}-${null==o?void 0:o.isMobile}-${null==o?void 0:o.collapsed}`):t:(0,n.jsx)(X,{item:e,fallbackParentRoute:i})},et=(0,d.observer)(e=>{let t=(0,d.useFlowEngine)(),l=t.getModel(w.M),[a,s]=(0,f.useState)(()=>{var e,l;return(null==(l=t.context.routeRepository)||null==(e=l.listAccessible)?void 0:e.call(l))||[]}),c=p.Ay.useBreakpoint(),m=!1===c.md||void 0===c.md&&"u">typeof window&&window.innerWidth<768,g=(0,y.useLocation)(),{token:v}=u.A.useToken(),S=v,M=!!(null==l?void 0:l.isMobileLayout),k=(null==l?void 0:l.menuRouteRefreshVersion)||0,P=M||m,[j,I]=(0,f.useState)(P),[E,R]=(0,f.useState)(()=>(0,C.tY)()),[N,O]=(0,f.useState)({path:"/",children:[]}),L=(0,f.useRef)(!1),q=(0,f.useCallback)(e=>"function"==typeof t.context.t?t.context.t(e,{ns:"lm-desktop-routes"}):e,[t]),Y=!P&&E,{styles:X}=B(),{Component:Q}=(0,F.H)(),et=(0,f.useRef)(0),el=(0,f.useRef)(!1),en=(0,f.useCallback)(e=>{null==l||l.setLayoutContentElement(e)},[l]),eo=(0,f.useMemo)(()=>Z(a,g.pathname),[a,g.pathname]),ei=(0,f.useCallback)(e=>{let l=(0,b.eL)(t,e);l&&t.context.routeRepository.moveRoute(l).catch(e=>{console.error("[NocoBase] AdminLayoutShell failed to move menu route.",e)})},[t]),er=(0,f.useCallback)(e=>{let{droppableContainers:t,pointerCoordinates:l,...n}=e;if(l&&"u">typeof document){var o;let e=document.elementFromPoint(l.x,l.y),n=null==e||null==(o=e.closest(H))?void 0:o.getAttribute("data-float-menu-model-uid");if(n){let e=t.find(e=>String(e.id)===n);if(e)return[{id:e.id,data:{droppableContainer:e,value:Number.MAX_SAFE_INTEGER}}]}}let i=(0,r.TT)({droppableContainers:t,pointerCoordinates:l,...n});return i.length>0?i:(0,r.fp)({droppableContainers:t,pointerCoordinates:l,...n})},[]);(0,f.useEffect)(()=>{var e;let l=t.context.routeRepository,n=()=>{s((null==l?void 0:l.listAccessible())||[])};return null==l||l.subscribe(n),null==l||null==(e=l.ensureAccessibleLoaded)||e.call(l).catch(e=>{console.error("[NocoBase] AdminLayoutComponent failed to initialize accessible routes.",e)}),()=>{null==l||l.unsubscribe(n)}},[t]),(0,f.useEffect)(()=>{if("u"<typeof window)return;let e=()=>{R((0,C.tY)())},t=t=>{t.key&&t.key!==C.h1||e()};return window.addEventListener(C.Ju,e),window.addEventListener("storage",t),()=>{window.removeEventListener(C.Ju,e),window.removeEventListener("storage",t)}},[]),(0,f.useLayoutEffect)(()=>{null==l||l.syncMenuRoutes(a),O((null==l?void 0:l.toProLayoutRoute({designable:Y,isMobile:P,t:q}))||{path:"/",children:[]})},[l,a,Y,P,k,q]),(0,f.useEffect)(()=>{let e=++et.current,l=E&&!P;el.current=l;let n=async e=>{e?await t.flowSettings.enable():await t.flowSettings.disable()};return(async()=>{try{await n(l),e!==et.current&&await n(el.current)}catch(e){console.error("[NocoBase] AdminLayoutShell failed to sync flow settings state.",e)}})(),()=>{et.current===e&&(et.current+=1)}},[t,P,E]);let ea=(0,f.useMemo)(()=>({header:{colorBgHeader:S.colorBgHeader,colorTextMenu:S.colorTextHeaderMenu,colorTextMenuSelected:S.colorTextHeaderMenuActive,colorTextMenuActive:S.colorTextHeaderMenuHover,colorBgMenuItemHover:S.colorBgHeaderMenuHover,colorBgMenuItemSelected:S.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:S.colorTextHeaderMenu},sider:{colorMenuBackground:S.colorBgSider,colorTextMenu:S.colorTextSiderMenu,colorTextMenuSelected:S.colorTextSiderMenuActive,colorBgMenuItemSelected:S.colorBgSiderMenuActive,colorBgMenuItemActive:S.colorBgSiderMenuActive,colorBgMenuItemHover:S.colorBgSiderMenuHover},bgLayout:S.colorBgLayout}),[S]),{theme:es,isDarkTheme:ed}=(0,A.my)(),eu=(0,f.useMemo)(()=>({...es,token:{...es.token,paddingPageHorizontal:8,paddingPageVertical:8,marginBlock:12,borderRadiusBlock:8,fontSize:16},algorithm:ed?[u.A.compactAlgorithm,u.A.darkAlgorithm]:u.A.compactAlgorithm}),[es,ed]),ec=(0,f.useCallback)(e=>{L.current||I(e)},[]),ep=(0,f.useCallback)(()=>{L.current=!0,setTimeout(()=>{L.current=!1})},[]),eh=(0,f.useMemo)(()=>({overflowedIndicatorPopupClassName:X.headerPopup}),[X.headerPopup]),em=(0,f.useCallback)(()=>{P&&I(!0)},[P]),ef=(0,f.useCallback)((e,t,l)=>{let n=(null==l?void 0:l.menuRenderType)==="header"?void 0:eo;return ee(e,t,"item",l,n)},[eo]),eg=(0,f.useCallback)((e,t)=>ee(e,t,"group",void 0,eo),[eo]);return(0,n.jsxs)("div",{style:K,children:[(0,n.jsx)("div",{id:"nocobase-app-container",style:U,children:(0,n.jsx)(b.Qt.Provider,{value:{closeMobileMenu:em},children:(0,n.jsx)(d.DndProvider,{collisionDetection:er,onDragEnd:ei,children:(0,n.jsx)(i.Ay,{...e,contentStyle:D,siderWidth:S.siderWidth||200,className:T,location:g,route:N,actionsRender:e.actionsRender||z,logo:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[Q&&(0,n.jsx)(Q,{}),(0,n.jsx)(_,{})]}),title:"",layout:"mix",splitMenus:!0,token:ea,headerRender:V,menuItemRender:ef,subMenuItemRender:eg,collapsedButtonRender:$,onCollapse:ec,collapsed:j,onPageChange:ep,menu:{autoClose:!1},menuProps:eh,children:(0,n.jsx)(o.P.Consumer,{children:e=>{let{isMobile:t}=e;return(0,n.jsx)(J,{isMobile:t,children:(0,n.jsxs)(h.Ay,{theme:t?eu:es,children:[(0,n.jsx)(G,{}),(0,n.jsx)(x.x,{onContentElementChange:en})]})})}})},`admin-layout-menu-${k}`)})})}),(0,n.jsx)("div",{id:"nocobase-embed-container",style:W})]})})},87207(e,t,l){l.d(t,{Cu:()=>f,Ev:()=>g,FW:()=>h,G:()=>m,QB:()=>y,Qb:()=>v,Th:()=>s,_I:()=>c,eD:()=>i,n8:()=>u,o2:()=>a,qN:()=>o,y8:()=>r}),l(2077),l(98619);var n=l(88591);let o=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"}}),i=async(e,t)=>{await e.request({method:"POST",url:"/uiSchemas:insert",data:t})},r=e=>e&&"link"===e.menuType&&"insert"!==e.source?{openInNewWindow:!0}:{},a=[{label:"Group",value:"group"},{label:"Page",value:"flowPage"},{label:"Link",value:"link"}],s=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"}}),d=(e,t)=>Object.fromEntries(Object.entries(o(e)).map(e=>{let[l,n]=e;return[l,{...n,"x-reactions":{dependencies:[t],fulfill:{state:{hidden:'{{$deps[0] !== "link"}}'}}}}]})),u=e=>{var t,l,n;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==(n=e.options)?void 0:n.openInNewWindow)!==!1}},c=(e,t)=>{let l=s(e);return(null==t?void 0:t.menuType)==="link"&&Object.assign(l,o(e)),l},p=e=>({menuType:{title:e("Menu type"),required:!0,enum:a.map(t=>({label:e(t.label),value:t.value})),"x-decorator":"FormItem","x-component":"Radio.Group"},...s(e),...d(e,"menuType")}),h=e=>({title:e.title,hideInSettings:e.hideInSettings,defaultParams:async()=>({menuType:"flowPage"}),uiSchema:async e=>p(e.t),beforeParamsSave:async(t,l)=>{let n=t.model,o=n.getRoute();if(!o||e.canCreate&&!e.canCreate(o))return;let i=e.resolveParentRoute(t,o);await n.createMenuFromMeta({menuType:l.menuType,source:"insert",insertPosition:e.insertPosition,targetRoute:o,parentRoute:i},l)}}),m=async(e,t)=>Promise.all((e||[]).filter(e=>"tabs"!==e.type).map(async e=>{var l,o;return{label:"string"==typeof e.title&&(0,n.DZ)(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 m(e.children,t):void 0}})),f=(e,t)=>{if(t)for(let n=0;n<e.length;n++){var l;let o=e[n];if(o.id===t.id)return e[n-1];if(null==(l=o.children)?void 0:l.length){let e=f(o.children,t);if(e)return e}}},g=(e,t)=>{if(t)for(let n=0;n<e.length;n++){var l;let o=e[n];if(o.id===t.id)return e[n+1];if(null==(l=o.children)?void 0:l.length){let e=g(o.children,t);if(e)return e}}},v=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/";if(!e)return!1;let n=l&&"/"!==l?l.replace(/\/$/,""):"",o=n&&t.startsWith(n)?t.slice(n.length)||"/":t;return!![null!=e.id?`/admin/${e.id}`:null,e.schemaUid?`/admin/${e.schemaUid}`:null].filter(Boolean).some(e=>o===e||o.startsWith(`${e}/`))||!!Array.isArray(e.children)&&e.children.some(e=>v(e,o,"/"))},y=(e,t,l,o)=>"flowPage"===e?(0,n.g3)({pageSchemaUid:t}):(0,n.my)({pageSchemaUid:t,tabSchemaUid:l,tabSchemaName:o})},26046(e,t,l){l.d(t,{B8:()=>a.B8,B9:()=>a.B9,B_:()=>a.B_,Ot:()=>a.Ot,Px:()=>a.Px,Qt:()=>a.Qt,Tn:()=>a.Tn,Uc:()=>a.Uc,eL:()=>a.eL,fi:()=>a.fi,jj:()=>a.jj,ri:()=>a.ri,tS:()=>a.tS,ux:()=>a.ux,xF:()=>p,xc:()=>a.xc});var n=l(50467),o=l(74848);l(96540);var i=l(11869),r=l(96436);l(2077);var a=l(98619),s=l(87207),d=l(61907),u=l(92545);let c={beforeBegin:"insertBefore",afterEnd:"insertAfter"};class p extends i.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")?(0,a.tS)(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}setHidden(e){let t=this.hidden;if(super.setHidden(e),t!==this.hidden){var l,n,o,i;null==(o=(i=this.flowEngine).getModel)||null==(n=o.call(i,d.M))||null==(l=n.refreshMenuRouteTree)||l.call(n)}}renderHiddenInConfig(){let{item:e,dom:t,options:l,renderType:n}=this.props;return e&&n?(0,o.jsx)("div",{style:{opacity:.3},children:(0,o.jsx)(a.B_,{item:e,dom:t,options:l,renderType:n})}):null}async createMenuRoute(e,t){let{parentId:l,refreshAfterMutation:n=!0}=t||{},o={...e,parentId:l??e.parentId??void 0},i=n?void 0:{refreshAfterMutation:!1},{data:r}=await this.getRouteRepository().createRoute(o,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()})(),n=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}),o=c[t];if(o){try{await this.getRouteRepository().moveRoute({sourceId:null==n?void 0:n.id,targetId:null==l?void 0:l.id,sortField:"sort",method:o})}catch(e){throw await this.getRouteRepository().refreshAccessible(),e}return null==n?void 0:n.id}return await this.getRouteRepository().refreshAccessible(),null==n?void 0:n.id}async createMenuFromMeta(e,t){let l="flowPage"===e.menuType?"flowPage":"page"===e.menuType?"page":"group"===e.menuType?"group":"link",n=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 n({type:l,title:t.title,icon:t.icon,schemaUid:(0,r.uid)()});if("link"===e.menuType)return void await n({type:l,title:t.title,icon:t.icon,schemaUid:(0,r.uid)(),options:{href:t.href,params:t.params,openInNewWindow:t.openInNewWindow}});let o=(0,r.uid)(),i=(0,r.uid)(),a=(0,r.uid)(),s=(0,r.uid)();await n({type:l,title:t.title,icon:t.icon,schemaUid:o,menuSchemaUid:i,enableTabs:!1,children:[{type:"tabs",schemaUid:a,tabSchemaName:s,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,n,o,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==(o=this.context)||null==(n=o.t)?void 0:n.call(o,"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:c[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 n=this.getRoute();if(!(null==n?void 0:n.id))return!1;let o=this.getRouteRepository().listAccessible(),i=(null==(e=this.context.location)?void 0:e.pathname)||window.location.pathname,r=(0,s.Qb)(n,i,null==(t=this.context.router)?void 0:t.basename),a=(0,s.Cu)(o,n),d=(0,s.Ev)(o,n);if(await this.getRouteRepository().deleteRoute(n.id),!r)return!0;let c=a||d;if(!c)return this.context.router.navigate("/"),!0;let p=(0,u.Yj)({app:this.context.app,route:c});return!p.runtimePath||("document"===p.navigationMode?window.location.assign(p.runtimePath):this.context.router.navigate((0,u.FY)(p.runtimePath,null==(l=this.context.router)?void 0:l.basename)),!0)}toProLayoutRoute(e){let t=this.props.route,l=this.props.parentRoute,n=e.depth||0;if(!t||"object"!=typeof t||!e.designable&&this.hidden)return null;let o=(0,a.Uc)({depth:n,isMobile:e.isMobile}),{name:i,icon:r}=(0,a.ri)(t,e.t,o);if("link"===t.type){let e=t.id??t.schemaUid??t.menuSchemaUid??t.title??this.uid;return{name:i,icon:r,path:(0,a.Px)("link",e),hideInMenu:t.hideInMenu,_route:t,_parentRoute:l,_depth:n,_model:this}}if("page"===t.type||"flowPage"===t.type){let e=(0,u.Yj)({app:this.context.app,route:t});return"unsupportedV2Runtime"===e.reason?null:{name:i,icon:r,path:t.schemaUid?`/admin/${t.schemaUid}`:(0,a.Px)("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:n,_model:this}}if("group"===t.type){var s;let o=Array.isArray(t.children)?t.children:[],d=(this.subModels.menuItems||[]).map(t=>t.toProLayoutRoute({...e,depth:n+1})).filter(Boolean)||[];e.designable&&0===n&&d.push((0,a.Tn)("schema-initializer-Menu-side",this,t));let c=(0,u.Uf)(this.context.app)?(0,u.ug)(o):(0,u.MM)(o),p=(0,u.Yj)({app:this.context.app,route:(0,u.Uf)(this.context.app)&&c?c:t}),h={name:i,icon:r,path:`/admin/${t.id}`,redirect:(null==(s=d[0])?void 0:s.key)==="x-designer-button"?void 0:`/admin/${(null==c?void 0:c.schemaUid)||t.id}`,hideInMenu:t.hideInMenu,_runtimePath:p.runtimePath,_navigationMode:p.navigationMode,_isLegacy:p.isLegacy,_route:t,_parentRoute:l,_depth:n,_model:this};return d.length>0&&(h.routes=d),h}return null}render(){return(0,o.jsx)(a.B_,{item:this.props.item,dom:this.props.dom,options:this.props.options,renderType:this.props.renderType})}constructor(...e){super(...e),(0,n._)(this,"creationPersisted",!1),(0,n._)(this,"persistedStateHydrated",!1),(0,n._)(this,"persistedStateHydrating",void 0)}}p.registerFlow({key:"menuCreation",title:"Add menu item",steps:{basic:{title:"Add menu item",preset:!0,hideInSettings:!0,defaultParams:async e=>(0,s.y8)(e.model.getCreationMeta()),uiSchema:async e=>(0,s._I)(e.t,e.model.getCreationMeta())}}}),p.registerFlow({key:"menuSettings",title:"Menu settings",steps:{edit:{title:"Edit",defaultParams:async e=>(0,s.n8)(e.model.getRoute()),uiSchema:async e=>{let t=e.model.getRoute(),l=(0,s.Th)(e.t);return(null==t?void 0:t.type)==="link"&&Object.assign(l,(0,s.qN)(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})}},hidden:{title:"Hidden",uiMode:{type:"switch",key:"hideInMenu"},defaultParams:async e=>{var t;return{hideInMenu:!!(null==(t=e.model.getRoute())?void 0:t.hideInMenu)}},beforeParamsSave:async(e,t)=>{await e.model.updateMenuRoute({hideInMenu:!!t.hideInMenu})}},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 (0,s.G)(e.routeRepository.listAccessible(),e),n=null==(t=e.model.getRoute())?void 0:t.id,o=(0,a.B8)(void 0,n,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:o,"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[t=>{var l;let o=(0,a.B8)(null==(l=t.form.values)?void 0:l.target,n,e.t);t.dataSource=o,o.some(e=>e.value===t.value&&!e.disabled)||(t.value="afterEnd")}]}}},beforeParamsSave:async(e,t)=>{await e.model.moveMenuRoute(t.target,t.position)}},insertBefore:(0,s.FW)({title:"Insert before",insertPosition:"beforeBegin",resolveParentRoute:e=>e.model.getParentRoute()}),insertAfter:(0,s.FW)({title:"Insert after",insertPosition:"afterEnd",resolveParentRoute:e=>e.model.getParentRoute()}),insertInner:(0,s.FW)({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})}})},98619(e,t,l){l.d(t,{Ot:()=>q,Uc:()=>G,eL:()=>V,B9:()=>O,jj:()=>k,Px:()=>x,fi:()=>A,B8:()=>$,Qt:()=>N,xc:()=>J,Tn:()=>X,ux:()=>F,B_:()=>H,tS:()=>L,ri:()=>Q});var n=l(74848),o=l(18853),i=l(11869),r=l(16362),a=l(42443),s=l(55373),d=l.n(s),u=l(96540),c=l(84976),p=l(47767),h=l(2077);let m=220,f=e=>{let{isMobile:t,closeMobileMenu:l,callback:n,delayMs:o=m}=e;t?(l(),window.setTimeout(n,o)):n()};var g=l(72498),v=l(96436),y=l(88591),b=l(92545);let x=(e,t)=>`/admin/__admin_layout__/${e}/${encodeURIComponent(String(t))}`,w={display:"flex",alignItems:"center",justifyContent:"space-between"},S={display:"inline-flex",alignItems:"center",justifyContent:"center",marginLeft:8,color:"inherit"},M=[{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]}`:""}`}],F=e=>"string"==typeof e&&e.includes("{{")?e.replace(/\{\{\s*([\s\S]*?)\s*\}\}/g,(e,t)=>{let l=String(t||"").trim();for(let e of M){let t=l.match(e.pattern);if(t)return`{{ ${e.resolve(t)} }}`}return e}):e,A=async e=>{let{context:t,href:l,params:n=[]}=e,o="string"==typeof l?F(l):l,i=await t.resolveJsonTemplate(o),r={};for(let{name:e,value:l}of n)if(e)try{let n="string"==typeof l?await t.resolveJsonTemplate(F(l)):l;if(null==n)continue;r[e]=(0,y.hu)(n)}catch(e){console.error(e)}return(0,y.gN)(String(i??l??""),d().stringify(r))},k=async e=>{let{context:t,href:l,params:n,openInNewWindow:o,isMobile:i,closeMobileMenu:r,navigate:a,basenameOfCurrentRouter:s}=e;try{let e=await A({context:t,href:l,params:n||[]});if(!1!==o){i&&r(),window.open(e,"_blank","noopener,noreferrer");return}f({isMobile:!!i,closeMobileMenu:r,callback:()=>{(0,y.Ff)(e,a,window.location.origin+s)}})}catch(e){console.error(e),i&&r(),window.open(l,"_blank","noopener,noreferrer")}},C=e=>!!e&&"function"==typeof e.getRoute,P=(e,t)=>"function"==typeof e.context.t?e.context.t(t):t,j=[{key:"group",label:"Group",menuType:"group"},{key:"flow-page",label:"Page",menuType:"flowPage"},{key:"link",label:"Link",menuType:"link"}],I=(e,t)=>({uid:`${e.uid}-menu-creation-${(0,v.uid)()}`,use:"AdminLayoutMenuItemModel",props:{creationMeta:t}}),E=(e,t)=>{let l=t=>P(e,t),n=t?"sider":"header";return j.map(o=>({key:o.key,label:l(o.label),createModelOptions:()=>I(e,{menuType:o.menuType,source:n,parentRoute:t})}))},R=e=>{let t=t=>P(e.launcherModel,t);return(0,n.jsx)(i.AddSubModelButton,{model:e.launcherModel,subModelKey:"menuItems",items:E(e.launcherModel,e.parentRoute),children:(0,n.jsx)(i.FlowSettingsButton,{"data-testid":e.testId,style:{background:"none"},icon:(0,n.jsx)(o.A,{}),children:t("Add menu item")})})},_=e=>e.icon?(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,n.jsx)(h.In,{type:e.icon}),(0,n.jsx)("span",{children:e.title})]}):(0,n.jsx)(n.Fragment,{children:e.title}),T=e=>(0,n.jsx)(n.Fragment,{children:e.children}),D=(0,y.LM)(T),N=u.createContext({closeMobileMenu:()=>{}}),O=u.createContext({inHeader:!1}),$=(e,t,l)=>{var n;let[o,i]=(null==e||null==(n=e.split)?void 0:n.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)===o}]};function B(e,t,l){let n=t.id??t.schemaUid??t.menuSchemaUid??t.pageSchemaUid??t.title??`${t.type}-${l}`;return`${e}-menu-item-${t.type||"unknown"}-${n}`}function L(e,t,l){let n=[...e.subModels.menuItems||[]],o=new Map(n.map(e=>[e.uid,e])),i=[],r=new Set;t.forEach((t,n)=>{let a=B(e.uid,t,n),s=o.get(a),d=!!s;if(s||(s=e.addSubModel("menuItems",{uid:a,use:"AdminLayoutMenuItemModel",props:{route:t,parentRoute:l}})),s.sortIndex=n+1,d){var u;null==(u=s.syncFromRoute)||u.call(s,t,l)}i.push(s),r.add(a)}),n.forEach(t=>{r.has(t.uid)||e.flowEngine.removeModelWithSubModels(t.uid)}),e.subModels.menuItems=i}function q(e,t){var l,n;if(!C(e)||!C(t))return;let o=null==(l=e.getRoute)?void 0:l.call(e),i=null==(n=t.getRoute)?void 0:n.call(t);if((null==o?void 0:o.id)&&(null==i?void 0:i.id)&&o.id!==i.id)return{sourceId:o.id,targetId:i.id,sortField:"sort"}}function V(e,t){var l,n;if((null==(l=t.active)?void 0:l.id)&&(null==(n=t.over)?void 0:n.id))return q(e.getModel(String(t.active.id)),e.getModel(String(t.over.id)))}let z=e=>{var t,l,o,i,a,s,d,p,h;let{item:m}=e,g=(0,y.JN)(null==(l=m._route.options)||null==(t=l.badge)?void 0:t.count,null==(o=m._model)?void 0:o.context),v=(0,y.vx)(),x=(0,y.$y)(),{closeMobileMenu:M}=(0,u.useContext)(N),F="string"==typeof m.name||"number"==typeof m.name?String(m.name):"string"==typeof(null==(i=m._route)?void 0:i.title)||"number"==typeof(null==(a=m._route)?void 0:a.title)?String(m._route.title):void 0,A=m._runtimePath,k=A?(0,b.FY)(A,x):A,C=(0,u.useCallback)(t=>{var l,n;if(!A){t.preventDefault(),t.stopPropagation();return}let o=0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented;if("document"===m._navigationMode){if(o)return;t.preventDefault(),t.stopPropagation(),f({isMobile:!!(null==(n=e.options)?void 0:n.isMobile),closeMobileMenu:M,callback:()=>{window.location.assign(A)}});return}t.preventDefault(),t.stopPropagation(),f({isMobile:!!(null==(l=e.options)?void 0:l.isMobile),closeMobileMenu:M,callback:()=>{k&&v(k)}})},[M,m,m._navigationMode,v,null==(s=e.options)?void 0:s.isMobile,A,k]),P=F?`${F}-landing-entry`:"group-landing-entry",j=e.children,I=A?"document"===m._navigationMode?(0,n.jsx)("a",{href:A,"aria-label":P,onClick:C,style:S}):(0,n.jsx)(c.Link,{to:k||A,"aria-label":P,onClick:C,style:S}):null;return(0,n.jsx)(y.Zy.Provider,{value:m._parentRoute,children:(0,n.jsx)(y.dI.Provider,{value:m._route,children:(0,n.jsxs)("div",{"aria-label":F,role:"none",style:w,children:[j,I,null!=g&&(0,n.jsx)(r.A,{...null==(d=m._route.options)?void 0:d.badge,count:g,style:{marginLeft:4,color:null==(h=m._route.options)||null==(p=h.badge)?void 0:p.textColor,maxWidth:"10em"},dot:!1})]})})})},K=e=>{let{inHeader:t}=(0,u.useContext)(O);return e.hidden||t?e.children:(0,n.jsx)(a.A,{title:e.title,placement:"right",children:(0,n.jsx)(r.A,{...e.badgeProps,style:{transform:"none",maxWidth:"10em"},dot:!1,children:e.children})})},U=e=>{var t,l,o,i,a,s,d,h,m,g,v,x,S;let{item:M}=e,F=(0,p.useLocation)(),A=(0,y.JN)(null==(l=M._route.options)||null==(t=l.badge)?void 0:t.count,null==(o=M._model)?void 0:o.context),C=(0,y.vx)(),P=(0,y.$y)(),{closeMobileMenu:j}=(0,u.useContext)(N),I=M.redirect||M.path,E=M._runtimePath||I,R=E?(0,b.FY)(E,P):E,_="document"===M._navigationMode,T={...null==(i=M._route.options)?void 0:i.badge,count:A},D=!!E&&_,O=e=>!e.defaultPrevented&&0===e.button&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,$=(0,u.useCallback)(async t=>{var l,n,o,i,r;let a=null==(l=M._route.options)?void 0:l.href,s=null==(n=M._route.options)?void 0:n.params,d=null==(o=M._route.options)?void 0:o.openInNewWindow;t.preventDefault(),t.stopPropagation(),await k({context:null==(i=M._model)?void 0:i.context,href:a,params:s,openInNewWindow:d,isMobile:!!(null==(r=e.options)?void 0:r.isMobile),closeMobileMenu:j,navigate:C,basenameOfCurrentRouter:P})},[M,null==(a=e.options)?void 0:a.isMobile,j,C,P]),B=(0,u.useCallback)(t=>{var l,n,o;if(!E){t.preventDefault(),t.stopPropagation();return}if(_){if(!O(t))return;t.preventDefault(),t.stopPropagation(),f({isMobile:!!(null==(o=e.options)?void 0:o.isMobile),closeMobileMenu:j,callback:()=>{window.location.assign(E)}});return}if(t.preventDefault(),t.stopPropagation(),!(null==(l=e.options)?void 0:l.isMobile)){R&&C(R);return}f({isMobile:!!(null==(n=e.options)?void 0:n.isMobile),closeMobileMenu:j,callback:()=>{R&&C(R)}})},[null==(s=e.options)?void 0:s.isMobile,j,_,M,C,E,R]);if((null==(d=M._route)?void 0:d.type)==="link")return(0,n.jsx)(y.Zy.Provider,{value:M._parentRoute,children:(0,n.jsx)(y.dI.Provider,{value:M._route,children:(0,n.jsxs)("div",{role:"none",style:w,children:[(0,n.jsx)("div",{onClick:$,children:(0,n.jsx)(c.Link,{to:F.pathname,"aria-label":"string"==typeof M.name?M.name:void 0,children:e.children})}),null!=A&&(0,n.jsx)(r.A,{...null==(v=M._route.options)?void 0:v.badge,count:A,style:{marginLeft:4,color:null==(S=M._route.options)||null==(x=S.badge)?void 0:x.textColor,maxWidth:"10em"},dot:!1})]})})});let L=(0,n.jsx)(K,{title:M.name,hidden:"group"===M._route.type||(M._depth||0)>0||!(null==(h=e.options)?void 0:h.collapsed),badgeProps:T,children:D?(0,n.jsx)("a",{href:E,"aria-label":"string"==typeof M.name?M.name:void 0,onClick:B,children:e.children}):E?(0,n.jsx)(c.Link,{to:R,"aria-label":"string"==typeof M.name?M.name:void 0,onClick:B,children:e.children}):(0,n.jsx)("span",{"aria-label":"string"==typeof M.name?M.name:void 0,children:e.children})});return(0,n.jsx)(y.Zy.Provider,{value:M._parentRoute,children:(0,n.jsx)(y.dI.Provider,{value:M._route,children:(0,n.jsxs)("div",{role:"none",style:w,children:[L,null!=A&&(0,n.jsx)(r.A,{...T,style:{marginLeft:4,color:null==(g=M._route.options)||null==(m=g.badge)?void 0:m.textColor,maxWidth:"10em"},dot:!1})]})})})},W=e=>{var t;let{model:l}=e;if(!C(l))return null;let o=null==(t=l.getRoute)?void 0:t.call(l);return(null==o?void 0:o.id)?(0,n.jsx)(i.DragHandler,{model:l}):null},H=e=>{var t;let{item:l,dom:o,options:i,renderType:r}=e;if(!l||!r)return null;let a=(0,n.jsx)(D,{tooltip:null==(t=l._route)?void 0:t.tooltip,children:o});return"group"===r?(0,n.jsx)(y.j0,{scopeId:l._route.schemaUid,type:"groupItem",children:(0,n.jsx)(z,{item:l,options:i,children:a})}):(0,n.jsx)(y.j0,{scopeId:l._route.schemaUid,type:"menuItem",children:(0,n.jsx)(U,{item:l,options:i,children:a})})},G=e=>{let{depth:t,isMobile:l}=e;return t>1||l&&t>0},Y=()=>(0,n.jsx)("span",{"data-nb-hidden-menu-item":"true"}),J=(0,i.observer)(e=>{let{model:t,item:l,dom:o,renderType:r,options:a}=e,s=t.context.themeToken;return((0,u.useEffect)(()=>{t.setProps({item:l,dom:o,renderType:r,options:a})},[o,l,t,a,r]),!t.context.flowSettingsEnabled&&t.hidden)?(0,n.jsx)(Y,{}):(0,n.jsx)(g.f,{children:(0,n.jsx)(i.Droppable,{model:t,children:(0,n.jsx)(i.FlowModelRenderer,{model:t,showFlowSettings:{showBackground:!1,showBorder:!1,style:{left:-s.padding,right:-s.padding}},extraToolbarItems:[{key:"menu-drag-handler",component:W,sort:1}]})})})});function X(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,n.jsx)(R,{testId:e,launcherModel:t,parentRoute:l}),path:x("designer",o),disabled:!0,_route:{},_parentRoute:l,_launcherModel:t,icon:(0,n.jsx)(h.In,{type:"setting"})}}let Q=(e,t,l)=>({name:l?(0,n.jsx)(_,{icon:e.icon,title:t(e.title)}):t(e.title),icon:l?null:e.icon?(0,n.jsx)(h.In,{type:e.icon}):null})},46991(e,t,l){l.d(t,{t:()=>R,p:()=>E});var n=l(50467),o=l(74848),i=l(95243),r=l(11869),a=l(44124),s=l(61907),d=l(98619),u=l(34272),c=l(96540),p=l(87276),h=l(22803),m=l(35710),f=l(4888),g=l(71500),v=l(28073),y=l(47665),b=l(94471),x=l(36161),w=l(38821);let S=(0,h.css)`
112
+ `,children:e.children}),i)}):null},$=(e,t)=>(0,n.jsx)(O,{collapsed:e,children:t}),B=(0,m.rU)(e=>{let{token:t}=e;return{headerPopup:{"&.ant-menu-submenu-popup>.ant-menu":{backgroundColor:`${t.colorBgHeader}`}},headerMenuActive:{"& .ant-menu-submenu-selected>.ant-menu-submenu-title":{color:t.colorTextHeaderMenuActive}}}}),L={inHeader:!0},q=e=>{let{styles:t}=B();return(0,n.jsx)("span",{className:t.headerMenuActive,children:(0,n.jsx)(b.B9.Provider,{value:L,children:e.children})})},V=(e,t)=>(0,n.jsx)(q,{children:t}),z=e=>e.isMobile?[(0,n.jsx)(Y,{},"mobile-actions")]:[(0,n.jsx)(M.K,{},"pinned-plugin-list")],K={display:"flex",height:"100vh"},U={flex:1,transform:"translateZ(0)",overflow:"hidden",scrollPaddingTop:"var(--nb-header-height)"},W={width:"fit-content",position:"relative"},H='[data-has-float-menu="true"][data-float-menu-model-uid]',G=()=>{let{token:e}=u.A.useToken(),t=e,l=(0,f.useMemo)(()=>t.globalStyle?(0,m.DU)`${t.globalStyle}`:()=>null,[t.globalStyle]);return(0,n.jsx)(l,{})},Y=()=>{let{token:e}=u.A.useToken(),t=e,[l,o]=(0,f.useState)(!1),i=(0,f.useCallback)(()=>{o(!1)},[]);return(0,n.jsx)(c.A,{rootClassName:N,content:(0,n.jsx)(M.K,{onClick:i}),color:t.colorBgHeader,trigger:"click",open:l,onOpenChange:o,children:(0,n.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,n.jsx)(a.A,{style:{color:t.colorTextHeaderMenu,fontSize:20}})})})};function J(e){let t=(0,d.useFlowEngine)().getModel(w.M);return(0,f.useEffect)(()=>{null==t||t.setIsMobileLayout(e.isMobile)},[t,e.isMobile]),e.children}let X=e=>{let t=(0,f.useRef)(null),l=!(e.item._parentRoute||e.fallbackParentRoute);return(0,f.useEffect)(()=>{t.current&&l&&(t.current.parentElement.parentElement.style.order="999",t.current.parentElement.parentElement.style.paddingLeft="0",t.current.parentElement.parentElement.style.padding="0")},[l]),(0,n.jsx)("div",{ref:t,children:(0,n.jsx)(S.f,{children:e.item.name})})},Q=(e,t)=>!!e&&(!![null!=e.id?`/admin/${e.id}`:null,e.schemaUid?`/admin/${e.schemaUid}`:null].filter(Boolean).some(e=>t===e||t.startsWith(`${e}/`))||!!Array.isArray(e.children)&&e.children.some(e=>Q(e,t))),Z=(e,t)=>e.find(e=>"group"===e.type&&Q(e,t)),ee=(e,t,l,o,i)=>{var r,a;return(null==e?void 0:e.key)!=="x-designer-button"&&(null==e||!e.disabled||!e._launcherModel||(null==e||null==(r=e._route)?void 0:r.id)||(null==e||null==(a=e._route)?void 0:a.schemaUid))?(null==e?void 0:e._model)?(0,n.jsx)(b.xc,{model:e._model,item:e,dom:t,options:o,renderType:l},`admin-layout-menu-${l}-${e._model.uid}-${e.path}-${null==o?void 0:o.isMobile}-${null==o?void 0:o.collapsed}`):t:(0,n.jsx)(X,{item:e,fallbackParentRoute:i})},et=(0,d.observer)(e=>{let t=(0,d.useFlowEngine)(),l=t.getModel(w.M),[a,s]=(0,f.useState)(()=>{var e,l;return(null==(l=t.context.routeRepository)||null==(e=l.listAccessible)?void 0:e.call(l))||[]}),c=p.Ay.useBreakpoint(),m=!1===c.md||void 0===c.md&&"u">typeof window&&window.innerWidth<768,g=(0,y.useLocation)(),{token:v}=u.A.useToken(),S=v,M=!!(null==l?void 0:l.isMobileLayout),k=(null==l?void 0:l.menuRouteRefreshVersion)||0,P=M||m,[j,I]=(0,f.useState)(P),[E,R]=(0,f.useState)(()=>(0,C.tY)()),[N,O]=(0,f.useState)({path:"/",children:[]}),L=(0,f.useRef)(!1),q=(0,f.useCallback)(e=>"function"==typeof t.context.t?t.context.t(e,{ns:"lm-desktop-routes"}):e,[t]),Y=!P&&E,{styles:X}=B(),{Component:Q}=(0,F.H)(),et=(0,f.useRef)(0),el=(0,f.useRef)(!1),en=(0,f.useCallback)(e=>{null==l||l.setLayoutContentElement(e)},[l]),eo=(0,f.useMemo)(()=>Z(a,g.pathname),[a,g.pathname]),ei=(0,f.useCallback)(e=>{let l=(0,b.eL)(t,e);l&&t.context.routeRepository.moveRoute(l).catch(e=>{console.error("[NocoBase] AdminLayoutShell failed to move menu route.",e)})},[t]),er=(0,f.useCallback)(e=>{let{droppableContainers:t,pointerCoordinates:l,...n}=e;if(l&&"u">typeof document){var o;let e=document.elementFromPoint(l.x,l.y),n=null==e||null==(o=e.closest(H))?void 0:o.getAttribute("data-float-menu-model-uid");if(n){let e=t.find(e=>String(e.id)===n);if(e)return[{id:e.id,data:{droppableContainer:e,value:Number.MAX_SAFE_INTEGER}}]}}let i=(0,r.TT)({droppableContainers:t,pointerCoordinates:l,...n});return i.length>0?i:(0,r.fp)({droppableContainers:t,pointerCoordinates:l,...n})},[]);(0,f.useEffect)(()=>{var e;let l=t.context.routeRepository,n=()=>{s((null==l?void 0:l.listAccessible())||[])};return null==l||l.subscribe(n),null==l||null==(e=l.ensureAccessibleLoaded)||e.call(l).catch(e=>{console.error("[NocoBase] AdminLayoutComponent failed to initialize accessible routes.",e)}),()=>{null==l||l.unsubscribe(n)}},[t]),(0,f.useEffect)(()=>{if("u"<typeof window)return;let e=()=>{R((0,C.tY)())},t=t=>{t.key&&t.key!==C.h1||e()};return window.addEventListener(C.Ju,e),window.addEventListener("storage",t),()=>{window.removeEventListener(C.Ju,e),window.removeEventListener("storage",t)}},[]),(0,f.useLayoutEffect)(()=>{null==l||l.syncMenuRoutes(a),O((null==l?void 0:l.toProLayoutRoute({designable:Y,isMobile:P,t:q}))||{path:"/",children:[]})},[l,a,Y,P,k,q]),(0,f.useEffect)(()=>{let e=++et.current,l=E&&!P;el.current=l;let n=async e=>{e?await t.flowSettings.enable():await t.flowSettings.disable()};return(async()=>{try{await n(l),e!==et.current&&await n(el.current)}catch(e){console.error("[NocoBase] AdminLayoutShell failed to sync flow settings state.",e)}})(),()=>{et.current===e&&(et.current+=1)}},[t,P,E]);let ea=(0,f.useMemo)(()=>({header:{colorBgHeader:S.colorBgHeader,colorTextMenu:S.colorTextHeaderMenu,colorTextMenuSelected:S.colorTextHeaderMenuActive,colorTextMenuActive:S.colorTextHeaderMenuHover,colorBgMenuItemHover:S.colorBgHeaderMenuHover,colorBgMenuItemSelected:S.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:S.colorTextHeaderMenu},sider:{colorMenuBackground:S.colorBgSider,colorTextMenu:S.colorTextSiderMenu,colorTextMenuSelected:S.colorTextSiderMenuActive,colorBgMenuItemSelected:S.colorBgSiderMenuActive,colorBgMenuItemActive:S.colorBgSiderMenuActive,colorBgMenuItemHover:S.colorBgSiderMenuHover},bgLayout:S.colorBgLayout}),[S]),{theme:es,isDarkTheme:ed}=(0,A.my)(),eu=(0,f.useMemo)(()=>({...es,token:{...es.token,paddingPageHorizontal:8,paddingPageVertical:8,marginBlock:12,borderRadiusBlock:8,fontSize:16},algorithm:ed?[u.A.compactAlgorithm,u.A.darkAlgorithm]:u.A.compactAlgorithm}),[es,ed]),ec=(0,f.useCallback)(e=>{L.current||I(e)},[]),ep=(0,f.useCallback)(()=>{L.current=!0,setTimeout(()=>{L.current=!1})},[]),eh=(0,f.useMemo)(()=>({overflowedIndicatorPopupClassName:X.headerPopup}),[X.headerPopup]),em=(0,f.useCallback)(()=>{P&&I(!0)},[P]),ef=(0,f.useCallback)((e,t,l)=>{let n=(null==l?void 0:l.menuRenderType)==="header"?void 0:eo;return ee(e,t,"item",l,n)},[eo]),eg=(0,f.useCallback)((e,t)=>ee(e,t,"group",void 0,eo),[eo]);return(0,n.jsxs)("div",{style:K,children:[(0,n.jsx)("div",{id:"nocobase-app-container",style:U,children:(0,n.jsx)(b.Qt.Provider,{value:{closeMobileMenu:em},children:(0,n.jsx)(d.DndProvider,{collisionDetection:er,onDragEnd:ei,children:(0,n.jsx)(i.Ay,{...e,contentStyle:D,siderWidth:S.siderWidth||200,className:T,location:g,route:N,actionsRender:e.actionsRender||z,logo:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[Q&&(0,n.jsx)(Q,{}),(0,n.jsx)(_,{})]}),title:"",layout:"mix",splitMenus:!0,token:ea,headerRender:V,menuItemRender:ef,subMenuItemRender:eg,collapsedButtonRender:$,onCollapse:ec,collapsed:j,onPageChange:ep,menu:{autoClose:!1},menuProps:eh,children:(0,n.jsx)(o.P.Consumer,{children:e=>{let{isMobile:t}=e;return(0,n.jsx)(J,{isMobile:t,children:(0,n.jsxs)(h.Ay,{theme:t?eu:es,children:[(0,n.jsx)(G,{}),(0,n.jsx)(x.x,{onContentElementChange:en})]})})}})},`admin-layout-menu-${k}`)})})}),(0,n.jsx)("div",{id:"nocobase-embed-container",style:W})]})})},87207(e,t,l){l.d(t,{Cu:()=>f,Ev:()=>g,FW:()=>h,G:()=>m,QB:()=>y,Qb:()=>v,Th:()=>s,_I:()=>c,eD:()=>i,n8:()=>u,o2:()=>a,qN:()=>o,y8:()=>r}),l(2077),l(98619);var n=l(88591);let o=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"}}),i=async(e,t)=>{await e.request({method:"POST",url:"/uiSchemas:insert",data:t})},r=e=>e&&"link"===e.menuType&&"insert"!==e.source?{openInNewWindow:!0}:{},a=[{label:"Group",value:"group"},{label:"Page",value:"flowPage"},{label:"Link",value:"link"}],s=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"}}),d=(e,t)=>Object.fromEntries(Object.entries(o(e)).map(e=>{let[l,n]=e;return[l,{...n,"x-reactions":{dependencies:[t],fulfill:{state:{hidden:'{{$deps[0] !== "link"}}'}}}}]})),u=e=>{var t,l,n;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==(n=e.options)?void 0:n.openInNewWindow)!==!1}},c=(e,t)=>{let l=s(e);return(null==t?void 0:t.menuType)==="link"&&Object.assign(l,o(e)),l},p=e=>({menuType:{title:e("Menu type"),required:!0,enum:a.map(t=>({label:e(t.label),value:t.value})),"x-decorator":"FormItem","x-component":"Radio.Group"},...s(e),...d(e,"menuType")}),h=e=>({title:e.title,hideInSettings:e.hideInSettings,defaultParams:async()=>({menuType:"flowPage"}),uiSchema:async e=>p(e.t),beforeParamsSave:async(t,l)=>{let n=t.model,o=n.getRoute();if(!o||e.canCreate&&!e.canCreate(o))return;let i=e.resolveParentRoute(t,o);await n.createMenuFromMeta({menuType:l.menuType,source:"insert",insertPosition:e.insertPosition,targetRoute:o,parentRoute:i},l)}}),m=async(e,t)=>Promise.all((e||[]).filter(e=>"tabs"!==e.type).map(async e=>{var l,o;return{label:"string"==typeof e.title&&(0,n.DZ)(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 m(e.children,t):void 0}})),f=(e,t)=>{if(t)for(let n=0;n<e.length;n++){var l;let o=e[n];if(o.id===t.id)return e[n-1];if(null==(l=o.children)?void 0:l.length){let e=f(o.children,t);if(e)return e}}},g=(e,t)=>{if(t)for(let n=0;n<e.length;n++){var l;let o=e[n];if(o.id===t.id)return e[n+1];if(null==(l=o.children)?void 0:l.length){let e=g(o.children,t);if(e)return e}}},v=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/";if(!e)return!1;let n=l&&"/"!==l?l.replace(/\/$/,""):"",o=n&&t.startsWith(n)?t.slice(n.length)||"/":t;return!![null!=e.id?`/admin/${e.id}`:null,e.schemaUid?`/admin/${e.schemaUid}`:null].filter(Boolean).some(e=>o===e||o.startsWith(`${e}/`))||!!Array.isArray(e.children)&&e.children.some(e=>v(e,o,"/"))},y=(e,t,l,o)=>"flowPage"===e?(0,n.g3)({pageSchemaUid:t}):(0,n.my)({pageSchemaUid:t,tabSchemaUid:l,tabSchemaName:o})},26046(e,t,l){l.d(t,{B8:()=>a.B8,B9:()=>a.B9,B_:()=>a.B_,Ot:()=>a.Ot,Px:()=>a.Px,Qt:()=>a.Qt,Tn:()=>a.Tn,Uc:()=>a.Uc,eL:()=>a.eL,fi:()=>a.fi,jj:()=>a.jj,ri:()=>a.ri,tS:()=>a.tS,ux:()=>a.ux,xF:()=>p,xc:()=>a.xc});var n=l(50467),o=l(74848);l(96540);var i=l(11869),r=l(96436);l(2077);var a=l(98619),s=l(87207),d=l(61907),u=l(92545);let c={beforeBegin:"insertBefore",afterEnd:"insertAfter"};class p extends i.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")?(0,a.tS)(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}setHidden(e){let t=this.hidden;if(super.setHidden(e),t!==this.hidden){var l,n,o,i;null==(o=(i=this.flowEngine).getModel)||null==(n=o.call(i,d.M))||null==(l=n.refreshMenuRouteTree)||l.call(n)}}renderHiddenInConfig(){let{item:e,dom:t,options:l,renderType:n}=this.props;return e&&n?(0,o.jsx)("div",{style:{opacity:.3},children:(0,o.jsx)(a.B_,{item:e,dom:t,options:l,renderType:n})}):null}async createMenuRoute(e,t){let{parentId:l,refreshAfterMutation:n=!0}=t||{},o={...e,parentId:l??e.parentId??void 0},i=n?void 0:{refreshAfterMutation:!1},{data:r}=await this.getRouteRepository().createRoute(o,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()})(),n=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}),o=c[t];if(o){try{await this.getRouteRepository().moveRoute({sourceId:null==n?void 0:n.id,targetId:null==l?void 0:l.id,sortField:"sort",method:o})}catch(e){throw await this.getRouteRepository().refreshAccessible(),e}return null==n?void 0:n.id}return await this.getRouteRepository().refreshAccessible(),null==n?void 0:n.id}async createMenuFromMeta(e,t){let l="flowPage"===e.menuType?"flowPage":"page"===e.menuType?"page":"group"===e.menuType?"group":"link",n=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 n({type:l,title:t.title,icon:t.icon,schemaUid:(0,r.uid)()});if("link"===e.menuType)return void await n({type:l,title:t.title,icon:t.icon,schemaUid:(0,r.uid)(),options:{href:t.href,params:t.params,openInNewWindow:t.openInNewWindow}});let o=(0,r.uid)(),i=(0,r.uid)(),a=(0,r.uid)(),s=(0,r.uid)();await n({type:l,title:t.title,icon:t.icon,schemaUid:o,menuSchemaUid:i,enableTabs:!1,children:[{type:"tabs",schemaUid:a,tabSchemaName:s,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,n,o,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==(o=this.context)||null==(n=o.t)?void 0:n.call(o,"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:c[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 n=this.getRoute();if(!(null==n?void 0:n.id))return!1;let o=this.getRouteRepository().listAccessible(),i=(null==(e=this.context.location)?void 0:e.pathname)||window.location.pathname,r=(0,s.Qb)(n,i,null==(t=this.context.router)?void 0:t.basename),a=(0,s.Cu)(o,n),d=(0,s.Ev)(o,n);if(await this.getRouteRepository().deleteRoute(n.id),!r)return!0;let c=a||d;if(!c)return this.context.router.navigate("/"),!0;let p=(0,u.Yj)({app:this.context.app,route:c});return!p.runtimePath||("document"===p.navigationMode?window.location.assign(p.runtimePath):this.context.router.navigate((0,u.FY)(p.runtimePath,null==(l=this.context.router)?void 0:l.basename)),!0)}toProLayoutRoute(e){let t=this.props.route,l=this.props.parentRoute,n=e.depth||0;if(!t||"object"!=typeof t||!e.designable&&this.hidden)return null;let o=(0,a.Uc)({depth:n,isMobile:e.isMobile}),{name:i,icon:r}=(0,a.ri)(t,e.t,o);if("link"===t.type){let e=t.id??t.schemaUid??t.menuSchemaUid??t.title??this.uid;return{name:i,icon:r,path:(0,a.Px)("link",e),hideInMenu:t.hideInMenu,_route:t,_parentRoute:l,_depth:n,_model:this}}if("page"===t.type||"flowPage"===t.type){let e=(0,u.Yj)({app:this.context.app,route:t});return"unsupportedV2Runtime"===e.reason?null:{name:i,icon:r,path:t.schemaUid?`/admin/${t.schemaUid}`:(0,a.Px)("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:n,_model:this}}if("group"===t.type){var s;let o=Array.isArray(t.children)?t.children:[],d=(this.subModels.menuItems||[]).map(t=>t.toProLayoutRoute({...e,depth:n+1})).filter(Boolean)||[];e.designable&&0===n&&d.push((0,a.Tn)("schema-initializer-Menu-side",this,t));let c=(0,u.Uf)(this.context.app)?(0,u.ug)(o):(0,u.MM)(o),p=(0,u.Yj)({app:this.context.app,route:(0,u.Uf)(this.context.app)&&c?c:t}),h={name:i,icon:r,path:`/admin/${t.id}`,redirect:(null==(s=d[0])?void 0:s.key)==="x-designer-button"?void 0:`/admin/${(null==c?void 0:c.schemaUid)||t.id}`,hideInMenu:t.hideInMenu,_runtimePath:p.runtimePath,_navigationMode:p.navigationMode,_isLegacy:p.isLegacy,_route:t,_parentRoute:l,_depth:n,_model:this};return d.length>0&&(h.routes=d),h}return null}render(){return(0,o.jsx)(a.B_,{item:this.props.item,dom:this.props.dom,options:this.props.options,renderType:this.props.renderType})}constructor(...e){super(...e),(0,n._)(this,"creationPersisted",!1),(0,n._)(this,"persistedStateHydrated",!1),(0,n._)(this,"persistedStateHydrating",void 0)}}p.registerFlow({key:"menuCreation",title:"Add menu item",manual:!0,steps:{basic:{title:"Add menu item",preset:!0,hideInSettings:!0,defaultParams:async e=>(0,s.y8)(e.model.getCreationMeta()),uiSchema:async e=>(0,s._I)(e.t,e.model.getCreationMeta())}}}),p.registerFlow({key:"menuSettings",title:"Menu settings",manual:!0,steps:{edit:{title:"Edit",defaultParams:async e=>(0,s.n8)(e.model.getRoute()),uiSchema:async e=>{let t=e.model.getRoute(),l=(0,s.Th)(e.t);return(null==t?void 0:t.type)==="link"&&Object.assign(l,(0,s.qN)(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})}},hidden:{title:"Hidden",uiMode:{type:"switch",key:"hideInMenu"},defaultParams:async e=>{var t;return{hideInMenu:!!(null==(t=e.model.getRoute())?void 0:t.hideInMenu)}},beforeParamsSave:async(e,t)=>{await e.model.updateMenuRoute({hideInMenu:!!t.hideInMenu})}},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 (0,s.G)(e.routeRepository.listAccessible(),e),n=null==(t=e.model.getRoute())?void 0:t.id,o=(0,a.B8)(void 0,n,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:o,"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[t=>{var l;let o=(0,a.B8)(null==(l=t.form.values)?void 0:l.target,n,e.t);t.dataSource=o,o.some(e=>e.value===t.value&&!e.disabled)||(t.value="afterEnd")}]}}},beforeParamsSave:async(e,t)=>{await e.model.moveMenuRoute(t.target,t.position)}},insertBefore:(0,s.FW)({title:"Insert before",insertPosition:"beforeBegin",resolveParentRoute:e=>e.model.getParentRoute()}),insertAfter:(0,s.FW)({title:"Insert after",insertPosition:"afterEnd",resolveParentRoute:e=>e.model.getParentRoute()}),insertInner:(0,s.FW)({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})}})},98619(e,t,l){l.d(t,{Ot:()=>q,Uc:()=>G,eL:()=>V,B9:()=>O,jj:()=>k,Px:()=>x,fi:()=>A,B8:()=>$,Qt:()=>N,xc:()=>J,Tn:()=>X,ux:()=>F,B_:()=>H,tS:()=>L,ri:()=>Q});var n=l(74848),o=l(18853),i=l(11869),r=l(16362),a=l(42443),s=l(55373),d=l.n(s),u=l(96540),c=l(84976),p=l(47767),h=l(2077);let m=220,f=e=>{let{isMobile:t,closeMobileMenu:l,callback:n,delayMs:o=m}=e;t?(l(),window.setTimeout(n,o)):n()};var g=l(72498),v=l(96436),y=l(88591),b=l(92545);let x=(e,t)=>`/admin/__admin_layout__/${e}/${encodeURIComponent(String(t))}`,w={display:"flex",alignItems:"center",justifyContent:"space-between"},S={display:"inline-flex",alignItems:"center",justifyContent:"center",marginLeft:8,color:"inherit"},M=[{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]}`:""}`}],F=e=>"string"==typeof e&&e.includes("{{")?e.replace(/\{\{\s*([\s\S]*?)\s*\}\}/g,(e,t)=>{let l=String(t||"").trim();for(let e of M){let t=l.match(e.pattern);if(t)return`{{ ${e.resolve(t)} }}`}return e}):e,A=async e=>{let{context:t,href:l,params:n=[]}=e,o="string"==typeof l?F(l):l,i=await t.resolveJsonTemplate(o),r={};for(let{name:e,value:l}of n)if(e)try{let n="string"==typeof l?await t.resolveJsonTemplate(F(l)):l;if(null==n)continue;r[e]=(0,y.hu)(n)}catch(e){console.error(e)}return(0,y.gN)(String(i??l??""),d().stringify(r))},k=async e=>{let{context:t,href:l,params:n,openInNewWindow:o,isMobile:i,closeMobileMenu:r,navigate:a,basenameOfCurrentRouter:s}=e;try{let e=await A({context:t,href:l,params:n||[]});if(!1!==o){i&&r(),window.open(e,"_blank","noopener,noreferrer");return}f({isMobile:!!i,closeMobileMenu:r,callback:()=>{(0,y.Ff)(e,a,window.location.origin+s)}})}catch(e){console.error(e),i&&r(),window.open(l,"_blank","noopener,noreferrer")}},C=e=>!!e&&"function"==typeof e.getRoute,P=(e,t)=>"function"==typeof e.context.t?e.context.t(t):t,j=[{key:"group",label:"Group",menuType:"group"},{key:"flow-page",label:"Page",menuType:"flowPage"},{key:"link",label:"Link",menuType:"link"}],I=(e,t)=>({uid:`${e.uid}-menu-creation-${(0,v.uid)()}`,use:"AdminLayoutMenuItemModel",props:{creationMeta:t}}),E=(e,t)=>{let l=t=>P(e,t),n=t?"sider":"header";return j.map(o=>({key:o.key,label:l(o.label),createModelOptions:()=>I(e,{menuType:o.menuType,source:n,parentRoute:t})}))},R=e=>{let t=t=>P(e.launcherModel,t);return(0,n.jsx)(i.AddSubModelButton,{model:e.launcherModel,subModelKey:"menuItems",items:E(e.launcherModel,e.parentRoute),children:(0,n.jsx)(i.FlowSettingsButton,{"data-testid":e.testId,style:{background:"none"},icon:(0,n.jsx)(o.A,{}),children:t("Add menu item")})})},_=e=>e.icon?(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,n.jsx)(h.In,{type:e.icon}),(0,n.jsx)("span",{children:e.title})]}):(0,n.jsx)(n.Fragment,{children:e.title}),T=e=>(0,n.jsx)(n.Fragment,{children:e.children}),D=(0,y.LM)(T),N=u.createContext({closeMobileMenu:()=>{}}),O=u.createContext({inHeader:!1}),$=(e,t,l)=>{var n;let[o,i]=(null==e||null==(n=e.split)?void 0:n.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)===o}]};function B(e,t,l){let n=t.id??t.schemaUid??t.menuSchemaUid??t.pageSchemaUid??t.title??`${t.type}-${l}`;return`${e}-menu-item-${t.type||"unknown"}-${n}`}function L(e,t,l){let n=[...e.subModels.menuItems||[]],o=new Map(n.map(e=>[e.uid,e])),i=[],r=new Set;t.forEach((t,n)=>{let a=B(e.uid,t,n),s=o.get(a),d=!!s;if(s||(s=e.addSubModel("menuItems",{uid:a,use:"AdminLayoutMenuItemModel",props:{route:t,parentRoute:l}})),s.sortIndex=n+1,d){var u;null==(u=s.syncFromRoute)||u.call(s,t,l)}i.push(s),r.add(a)}),n.forEach(t=>{r.has(t.uid)||e.flowEngine.removeModelWithSubModels(t.uid)}),e.subModels.menuItems=i}function q(e,t){var l,n;if(!C(e)||!C(t))return;let o=null==(l=e.getRoute)?void 0:l.call(e),i=null==(n=t.getRoute)?void 0:n.call(t);if((null==o?void 0:o.id)&&(null==i?void 0:i.id)&&o.id!==i.id)return{sourceId:o.id,targetId:i.id,sortField:"sort"}}function V(e,t){var l,n;if((null==(l=t.active)?void 0:l.id)&&(null==(n=t.over)?void 0:n.id))return q(e.getModel(String(t.active.id)),e.getModel(String(t.over.id)))}let z=e=>{var t,l,o,i,a,s,d,p,h;let{item:m}=e,g=(0,y.JN)(null==(l=m._route.options)||null==(t=l.badge)?void 0:t.count,null==(o=m._model)?void 0:o.context),v=(0,y.vx)(),x=(0,y.$y)(),{closeMobileMenu:M}=(0,u.useContext)(N),F="string"==typeof m.name||"number"==typeof m.name?String(m.name):"string"==typeof(null==(i=m._route)?void 0:i.title)||"number"==typeof(null==(a=m._route)?void 0:a.title)?String(m._route.title):void 0,A=m._runtimePath,k=A?(0,b.FY)(A,x):A,C=(0,u.useCallback)(t=>{var l,n;if(!A){t.preventDefault(),t.stopPropagation();return}let o=0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented;if("document"===m._navigationMode){if(o)return;t.preventDefault(),t.stopPropagation(),f({isMobile:!!(null==(n=e.options)?void 0:n.isMobile),closeMobileMenu:M,callback:()=>{window.location.assign(A)}});return}t.preventDefault(),t.stopPropagation(),f({isMobile:!!(null==(l=e.options)?void 0:l.isMobile),closeMobileMenu:M,callback:()=>{k&&v(k)}})},[M,m,m._navigationMode,v,null==(s=e.options)?void 0:s.isMobile,A,k]),P=F?`${F}-landing-entry`:"group-landing-entry",j=e.children,I=A?"document"===m._navigationMode?(0,n.jsx)("a",{href:A,"aria-label":P,onClick:C,style:S}):(0,n.jsx)(c.Link,{to:k||A,"aria-label":P,onClick:C,style:S}):null;return(0,n.jsx)(y.Zy.Provider,{value:m._parentRoute,children:(0,n.jsx)(y.dI.Provider,{value:m._route,children:(0,n.jsxs)("div",{"aria-label":F,role:"none",style:w,children:[j,I,null!=g&&(0,n.jsx)(r.A,{...null==(d=m._route.options)?void 0:d.badge,count:g,style:{marginLeft:4,color:null==(h=m._route.options)||null==(p=h.badge)?void 0:p.textColor,maxWidth:"10em"},dot:!1})]})})})},K=e=>{let{inHeader:t}=(0,u.useContext)(O);return e.hidden||t?e.children:(0,n.jsx)(a.A,{title:e.title,placement:"right",children:(0,n.jsx)(r.A,{...e.badgeProps,style:{transform:"none",maxWidth:"10em"},dot:!1,children:e.children})})},U=e=>{var t,l,o,i,a,s,d,h,m,g,v,x,S;let{item:M}=e,F=(0,p.useLocation)(),A=(0,y.JN)(null==(l=M._route.options)||null==(t=l.badge)?void 0:t.count,null==(o=M._model)?void 0:o.context),C=(0,y.vx)(),P=(0,y.$y)(),{closeMobileMenu:j}=(0,u.useContext)(N),I=M.redirect||M.path,E=M._runtimePath||I,R=E?(0,b.FY)(E,P):E,_="document"===M._navigationMode,T={...null==(i=M._route.options)?void 0:i.badge,count:A},D=!!E&&_,O=e=>!e.defaultPrevented&&0===e.button&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,$=(0,u.useCallback)(async t=>{var l,n,o,i,r;let a=null==(l=M._route.options)?void 0:l.href,s=null==(n=M._route.options)?void 0:n.params,d=null==(o=M._route.options)?void 0:o.openInNewWindow;t.preventDefault(),t.stopPropagation(),await k({context:null==(i=M._model)?void 0:i.context,href:a,params:s,openInNewWindow:d,isMobile:!!(null==(r=e.options)?void 0:r.isMobile),closeMobileMenu:j,navigate:C,basenameOfCurrentRouter:P})},[M,null==(a=e.options)?void 0:a.isMobile,j,C,P]),B=(0,u.useCallback)(t=>{var l,n,o;if(!E){t.preventDefault(),t.stopPropagation();return}if(_){if(!O(t))return;t.preventDefault(),t.stopPropagation(),f({isMobile:!!(null==(o=e.options)?void 0:o.isMobile),closeMobileMenu:j,callback:()=>{window.location.assign(E)}});return}if(t.preventDefault(),t.stopPropagation(),!(null==(l=e.options)?void 0:l.isMobile)){R&&C(R);return}f({isMobile:!!(null==(n=e.options)?void 0:n.isMobile),closeMobileMenu:j,callback:()=>{R&&C(R)}})},[null==(s=e.options)?void 0:s.isMobile,j,_,M,C,E,R]);if((null==(d=M._route)?void 0:d.type)==="link")return(0,n.jsx)(y.Zy.Provider,{value:M._parentRoute,children:(0,n.jsx)(y.dI.Provider,{value:M._route,children:(0,n.jsxs)("div",{role:"none",style:w,children:[(0,n.jsx)("div",{onClick:$,children:(0,n.jsx)(c.Link,{to:F.pathname,"aria-label":"string"==typeof M.name?M.name:void 0,children:e.children})}),null!=A&&(0,n.jsx)(r.A,{...null==(v=M._route.options)?void 0:v.badge,count:A,style:{marginLeft:4,color:null==(S=M._route.options)||null==(x=S.badge)?void 0:x.textColor,maxWidth:"10em"},dot:!1})]})})});let L=(0,n.jsx)(K,{title:M.name,hidden:"group"===M._route.type||(M._depth||0)>0||!(null==(h=e.options)?void 0:h.collapsed),badgeProps:T,children:D?(0,n.jsx)("a",{href:E,"aria-label":"string"==typeof M.name?M.name:void 0,onClick:B,children:e.children}):E?(0,n.jsx)(c.Link,{to:R,"aria-label":"string"==typeof M.name?M.name:void 0,onClick:B,children:e.children}):(0,n.jsx)("span",{"aria-label":"string"==typeof M.name?M.name:void 0,children:e.children})});return(0,n.jsx)(y.Zy.Provider,{value:M._parentRoute,children:(0,n.jsx)(y.dI.Provider,{value:M._route,children:(0,n.jsxs)("div",{role:"none",style:w,children:[L,null!=A&&(0,n.jsx)(r.A,{...T,style:{marginLeft:4,color:null==(g=M._route.options)||null==(m=g.badge)?void 0:m.textColor,maxWidth:"10em"},dot:!1})]})})})},W=e=>{var t;let{model:l}=e;if(!C(l))return null;let o=null==(t=l.getRoute)?void 0:t.call(l);return(null==o?void 0:o.id)?(0,n.jsx)(i.DragHandler,{model:l}):null},H=e=>{var t;let{item:l,dom:o,options:i,renderType:r}=e;if(!l||!r)return null;let a=(0,n.jsx)(D,{tooltip:null==(t=l._route)?void 0:t.tooltip,children:o});return"group"===r?(0,n.jsx)(y.j0,{scopeId:l._route.schemaUid,type:"groupItem",children:(0,n.jsx)(z,{item:l,options:i,children:a})}):(0,n.jsx)(y.j0,{scopeId:l._route.schemaUid,type:"menuItem",children:(0,n.jsx)(U,{item:l,options:i,children:a})})},G=e=>{let{depth:t,isMobile:l}=e;return t>1||l&&t>0},Y=()=>(0,n.jsx)("span",{"data-nb-hidden-menu-item":"true"}),J=(0,i.observer)(e=>{let{model:t,item:l,dom:o,renderType:r,options:a}=e,s=t.context.themeToken;return((0,u.useEffect)(()=>{t.setProps({item:l,dom:o,renderType:r,options:a})},[o,l,t,a,r]),!t.context.flowSettingsEnabled&&t.hidden)?(0,n.jsx)(Y,{}):(0,n.jsx)(g.f,{children:(0,n.jsx)(i.Droppable,{model:t,children:(0,n.jsx)(i.FlowModelRenderer,{model:t,showFlowSettings:{showBackground:!1,showBorder:!1,style:{left:-s.padding,right:-s.padding}},extraToolbarItems:[{key:"menu-drag-handler",component:W,sort:1}]})})})});function X(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,n.jsx)(R,{testId:e,launcherModel:t,parentRoute:l}),path:x("designer",o),disabled:!0,_route:{},_parentRoute:l,_launcherModel:t,icon:(0,n.jsx)(h.In,{type:"setting"})}}let Q=(e,t,l)=>({name:l?(0,n.jsx)(_,{icon:e.icon,title:t(e.title)}):t(e.title),icon:l?null:e.icon?(0,n.jsx)(h.In,{type:e.icon}):null})},46991(e,t,l){l.d(t,{t:()=>R,p:()=>E});var n=l(50467),o=l(74848),i=l(95243),r=l(11869),a=l(44124),s=l(61907),d=l(98619),u=l(34272),c=l(96540),p=l(87276),h=l(22803),m=l(35710),f=l(4888),g=l(71500),v=l(28073),y=l(47665),b=l(94471),x=l(36161),w=l(38821);let S=(0,h.css)`
113
113
  display: inline-flex;
114
114
  align-items: center;
115
115
  color: var(--nb-topbar-action-color);
@@ -258,11 +258,11 @@ export const __rspack_esm_id="8410";export const __rspack_esm_ids=["8410"];expor
258
258
  border-top-color: transparent;
259
259
  background-color: transparent;
260
260
  }
261
- `,children:"x"})})})]})}},95266(e,t,l){l.d(t,{o8:()=>es,BY:()=>eE,fL:()=>eI.fL,by:()=>eI.by,zA:()=>eI.previewRunJS,hP:()=>eI.hP});var n=l(74848),o=l(96540),i=l(11869);function r(e,t){let l=(null==t?void 0:t.mode)||"full";if("string"==typeof e)return e;if(!e||"object"!=typeof e)return String(e??"");if("simple"===l){let t=e.description??e.detail??e.type??"",l=Array.isArray(e.examples)?e.examples.filter(e=>"string"==typeof e&&e.trim()):[];return l.length?[t,"Examples:",...l].filter(Boolean).join("\n"):"string"==typeof t?t:String(t??"")}let n=e.description??e.detail??e.type??"",o=Array.isArray(e.params)?e.params:[],i=e.returns,r=e.ref,a=e.disabled,s=e.disabledReason,d=e=>{if(!e)return"";if("string"==typeof e)return e;if(e&&"object"==typeof e){let t="string"==typeof e.url?e.url:"",l="string"==typeof e.title?e.title:"";return l&&t?`${l}: ${t}`:t||l}return String(e)},u=e=>{if(!e||"object"!=typeof e)return"";let t="string"==typeof e.name?e.name:"";if(!t)return"";let l="string"==typeof e.type?e.type:"",n=e.optional?"?":"",o=void 0===e.default?"":` = ${"string"==typeof e.default?JSON.stringify(e.default):String(e.default)}`,i="string"==typeof e.description?e.description:"",r=`${t}${n}${l?`: ${l}`:""}${o}`;return i?`${r} - ${i}`:r},c=e=>{if(!e||"object"!=typeof e)return"";let t="string"==typeof e.type?e.type:"",l="string"==typeof e.description?e.description:"";return t&&l?`${t} - ${l}`:t||l},p=Array.isArray(e.examples)?e.examples.filter(e=>"string"==typeof e&&e.trim()):[],h=[];if("string"==typeof n&&n.trim()&&h.push(n),o.length){let e=o.map(u).filter(Boolean);e.length&&h.push("Params:",...e.map(e=>`- ${e}`))}let m=c(i);m&&h.push("Returns:",`- ${m}`);let f=d(r);if(f&&h.push("Ref:",`- ${f}`),a){let e="string"==typeof s?s:"";h.push("Disabled:",`- ${e||"true"}`)}return(p.length&&h.push("Examples:",...p),h.length)?h.join("\n"):""}async function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,n=(e,t)=>{if(!e||"object"!=typeof e||Array.isArray(e))return!1;let l="string"==typeof e.type?String(e.type):"";if("function"===l||"method"===l||Array.isArray(e.params)&&e.params.length||e.returns)return!0;let n=null==t?void 0:t.insertText;return!!("string"==typeof n&&/\bctx\.[\w$.]+\s*\(/.test(n))};try{await (0,i.setupRunJSContexts)()}catch(e){}let o=(0,i.getRunJSDocFor)(e||{},{version:t}),a=null;try{e&&"function"==typeof e.getApiInfos&&(a=await e.getApiInfos({version:t}))}catch(e){a=null}let s=e=>{let t={};for(let[l,n]of Object.entries(e&&"object"==typeof e?e:{}))"string"==typeof n?t[l]={description:n,type:"function"}:n&&"object"==typeof n&&!Array.isArray(n)?t[l]={...n,type:"function"}:t[l]=n;return t},d={...(null==o?void 0:o.properties)||{},...s(null==o?void 0:o.methods)},u={...a&&"object"==typeof a?a:{},...d||{}},c=[],p=new Set(["api","resource","viewer","record","formValues","popup"]),h=new Map,m=new Set,f=e=>{if(!e||"string"!=typeof e)return!1;let t=e.endsWith("()")?e.slice(0,-2):e;if(!t.startsWith("ctx."))return!1;let l=t.split(".").filter(Boolean);if("ctx"!==l[0])return!1;for(;l.length;){let e=l.join(".");if(m.has(e))return!0;l.pop()}return!1},g=async(t,l,n)=>{if(!t||"object"!=typeof t||Array.isArray(t))return{hideSelf:!1,hideSubpaths:[]};if(h.has(l))return h.get(l);let o=t.hidden,i=!1,r=[];try{if("boolean"==typeof o)i=o;else if(Array.isArray(o))r=o;else if("function"==typeof o){let t=await o(e);"boolean"==typeof t?i=t:Array.isArray(t)&&(r=t)}}catch(e){i=!1,r=[]}let a=[];if(Array.isArray(r))for(let e of r){if("string"!=typeof e)continue;let t=e.trim();if(!t||"ctx"===t||t.startsWith("ctx.")||/\s/.test(t))continue;let l=t.split(".").map(e=>e.trim()).filter(Boolean);l.length&&"ctx"!==l[0]&&a.push(["ctx",...n,...l].join("."))}let s={hideSelf:i,hideSubpaths:a};return h.set(l,s),s},v=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(e)for(let[l,n]of Object.entries(e)){let e,o=[...t,l];if(f(`ctx.${o.join(".")}`))continue;let i=await g(n,`p:${o.join(".")}`,o);if(!i.hideSelf){for(let e of i.hideSubpaths)m.add(e);n&&"object"==typeof n&&!Array.isArray(n)&&(e=n.properties),e&&"object"==typeof e&&await v(e,o)}}};await v((null==o?void 0:o.properties)||{}),((null==o?void 0:o.label)||(null==o?void 0:o.properties)||(null==o?void 0:o.methods))&&c.push({label:"ctx",type:"class",detail:"FlowRunJSContext",info:(null==o?void 0:o.label)||"RunJS context",boost:115});let y=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(e)for(let[l,o]of Object.entries(e)){let e,i,a,s=[...t,l],d=`ctx.${s.join(".")}`,u=s.length,h=s[0];if(f(d))continue;let v=await g(o,`p:${s.join(".")}`,s);if(v.hideSelf)continue;for(let e of v.hideSubpaths)m.add(e);o&&"object"==typeof o&&!Array.isArray(o)&&(e=o.detail??o.type??"ctx property",a=o.completion,i=o.properties);let b=n(o,a),x=(null==a?void 0:a.insertText)??("popup"===h?`await ctx.getVar('${d}')`:b?`${d}()`:void 0),w=x?(e,t,l,n)=>{e.dispatch({changes:{from:l,to:n,insert:x},selection:{anchor:l+x.length},scrollIntoView:!0})}:void 0,S=b?`${d}()`:d;c.push({label:S,type:b?"function":"property",info:r(o),detail:e||(b?"ctx function":"ctx property"),boost:Math.max(90-5*u,10)+10*!!p.has(h),apply:w}),i&&await y(i,s)}};await y(u||{});let b=[];try{var x,w,S,M,F;let l=(null==e||null==(w=e.model)||null==(x=w.constructor)?void 0:x.name)||"*",n=(null==e||null==(M=e.api)||null==(S=M.auth)?void 0:S.locale)||(null==e||null==(F=e.i18n)?void 0:F.language);b=await (0,i.listSnippetsForContext)(l,t,n)}catch(e){b=[]}let A=Array.isArray(l)?l.filter(e=>"string"==typeof e&&e.trim().length>0):l?[l]:[],k=A.length?b.filter(e=>{var t;if(null==(t=e.scenes)?void 0:t.length)return e.scenes.some(e=>A.includes(e));let l=e.group||"";if(!l.startsWith("scene/"))return!0;let[n,o]=l.split("/");return!!o&&A.includes(o)}):b,C=new Set;for(let e of k){let t=e.body,l=String(e.name??"").trim(),n="string"==typeof e.prefix?e.prefix.trim():"",o=l||n,i=o,r=l&&n&&n!==i?n:void 0,a=e.ref||`${o}|${r??""}`;!i||C.has(a)||(C.add(a),c.push({label:o,displayLabel:i,detail:r,type:"snippet",info:e.description||e.ref,boost:80,apply:(e,l,n,o)=>{e.dispatch({changes:{from:n,to:o,insert:t},selection:{anchor:n+t.length},scrollIntoView:!0})}}))}let P=new Set,j=[];for(let e=c.length-1;e>=0;e--){let t=c[e],l=null==t?void 0:t.label;if("string"!=typeof l||!l){j.push(c[e]);continue}P.has(l)||(P.add(l),j.push(c[e]))}return j.reverse(),{completions:j,entries:k}}function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,[n,i]=(0,o.useState)(null),[r,s]=(0,o.useState)([]),[d,u]=(0,o.useState)(null);return(0,o.useEffect)(()=>{let n=!1;return(async()=>{try{let{completions:o,entries:r}=await a(e,t,l);n||(i(o),s(r),u(null))}catch(e){n||(i(null),s([]),u(e))}})(),()=>{n=!0}},[e,t,l]),{completions:n,entries:r,error:d}}var d=l(51419);let u=2;function c(e){try{e&&e.dispatch((0,d.LH)(e.state,[]))}catch(e){try{var t,l;null==(t=(l=console).debug)||t.call(l,"[errorHelpers] clearDiagnostics failed",e)}catch(e){}}}function p(e){let t=String((null==e?void 0:e.stack)||(null==e?void 0:e.message)||e||""),l=t.split("\n");for(let e of l){let t=e.match(/<anonymous>:(\d+):(\d+)/);if(t)return{line:parseInt(t[1],10),column:parseInt(t[2],10)}}for(let e of l){let t=e.match(/:(\d+):(\d+)/);if(t){let e=parseInt(t[1],10),l=parseInt(t[2],10);if(!Number.isNaN(e)&&!Number.isNaN(l))return{line:e,column:l}}}let n=t.match(/line\s*(\d+)\D+column\s*(\d+)/i);return n?{line:parseInt(n[1],10),column:parseInt(n[2],10)}:null}function h(e,t,l,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:u;try{if(!e)return;let i=Math.max(1,t-o),r=e.state.doc.line(Math.min(i,e.state.doc.lines)),a=Math.min(r.from+Math.max(0,l-1),r.to),s=a,u=[{from:a,to:s,severity:"error",message:n}];e.dispatch((0,d.LH)(e.state,u)),e.dispatch({selection:{anchor:a},scrollIntoView:!0})}catch(e){try{var i,r;null==(i=(r=console).debug)||i.call(r,"[errorHelpers] markErrorAt failed",e)}catch(e){}}}function m(e,t,l){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u;try{if(!e)return;let o=Math.max(1,t-n),i=e.state.doc.line(Math.min(o,e.state.doc.lines)),r=Math.min(i.from+Math.max(0,l-1),i.to);e.dispatch({selection:{anchor:r},scrollIntoView:!0})}catch(e){try{var o,i;null==(o=(i=console).debug)||o.call(i,"[errorHelpers] jumpTo failed",e)}catch(e){}}}var f=l(65907),g=l(66104),v=l(42443),y=l(71021),b=l(40961),x=l(47404),w=l(85109),S=l(64345),M=l(29332),F=l(82325),A=l(15874),k=l(14442),C=l(90365);function P(e){let t=[],l=e.from+1,n=e.to-1,o=l;for(let l=e.firstChild;l;l=l.nextSibling)"Interpolation"===l.type.name&&(l.from>o&&t.push({from:o,to:l.from}),o=Math.max(o,l.to));return o<n&&t.push({from:o,to:n}),t.filter(e=>e.to>e.from)}function j(){let e=(0,k.Q2)({jsx:!0}),t=(0,F.qy)(),l=e.language.configure({wrap:(0,C.$g)(e=>{if("TemplateString"!==e.type.name)return null;let t=P(e.node);return t.length?{parser:F.iH.parser,overlay:t}:null})});return new A.Yy(l,[e.support,t.support])}var I=l(52704);let E=(e,t,l)=>{let n=l.state.doc,o=[],i="",r=0;for(let e of t){let t=n.sliceString(e.from,e.to),l=r,a=l+t.length;o.push({htmlFrom:l,htmlTo:a,docFrom:e.from}),i+=t,r=a}if(!o.length)return null;let a=o.find(e=>{let{docFrom:t,htmlFrom:n,htmlTo:o}=e;return l.pos>=t&&l.pos<=t+(o-n)});return a?{htmlDoc:i,htmlPos:a.htmlFrom+(l.pos-a.docFrom),segments:o}:null},R=(e,t)=>{for(let l=e.length-1;l>=0;l-=1){let n=e[l];if(t>=n.htmlFrom&&t<=n.htmlTo)return n.docFrom+(t-n.htmlFrom)}return null},_=e=>{for(let t=e;t;t=t.parent)if("TemplateString"===t.type.name)return t;return null},T=e=>{let t=(0,A.mv)(e.state).resolveInner(e.pos,-1),l=_(t);if(!l||"Interpolation"===t.type.name)return null;let n=P(l.node);return n.length?E(l.node,n,e):null},D=(e,t)=>{let l=R(t,e.from),n=R(t,e.to);return null==l||null==n?null:{...e,from:l,to:n}},N=e=>null!=T(e),O=()=>{let e=F.$g;return t=>{let l=T(t);if(!l)return null;let n=I.$t.create({doc:l.htmlDoc,extensions:[F.iH]}),o=e(new x._5(n,l.htmlPos,t.explicit));return o?D(o,l.segments):null}},$=["div","span","p","a","img","button","input","label","select","option","textarea","ul","ol","li","table","thead","tbody","tr","td","th","form","section","article","nav","header","footer","main","h1","h2","h3","h4","h5","h6","canvas","svg","path","g","circle","rect","line","polyline","polygon"],B=["className","id","style","title","href","src","alt","value","defaultValue","placeholder","disabled","checked","readOnly","name","type","width","height","min","max","step","rows","cols","multiple","accept","download","target","rel","role","tabIndex","draggable","contentEditable","hidden"],L=["onClick","onChange","onInput","onSubmit","onKeyDown","onKeyUp","onKeyPress","onFocus","onBlur","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onMouseMove","onContextMenu","onDragStart","onDragOver","onDrop","onScroll","onWheel","onTouchStart","onTouchMove","onTouchEnd"],q=["color","background","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","border","borderRadius","fontSize","fontWeight","lineHeight","textAlign","display","flex","flexDirection","alignItems","justifyContent","gap","width","height","minWidth","minHeight","maxWidth","maxHeight","opacity","overflow","position","top","left","right","bottom","zIndex"];function V(e,t){let l=Math.max(0,t-400),n=e.slice(l,t),o=n.lastIndexOf("<"),i=n.lastIndexOf(">");return -1===o||i>o?{inTag:!1,tagStart:-1}:{inTag:!0,tagStart:l+o}}function z(e,t,l){let n=e.slice(t+1,l);return!/\s/.test(n)}function K(e,t,l){let n=Math.max(t,l-200),o=e.slice(n,l),i=o.lastIndexOf("style={{");return -1!==i&&o.lastIndexOf("}}")<i}function U(){return $.map(e=>({label:e,type:"keyword",boost:99}))}function W(){let e=B.map(e=>({label:e,type:"property",boost:88}));return[...L.map(e=>({label:e,type:"function",boost:87,apply(t,l,n,o){let i=`${e}={(e) => {}}`;t.dispatch({changes:{from:n,to:o,insert:i},selection:{anchor:n+i.length-3}}),t.focus()}})),...e]}function H(){return q.map(e=>({label:e,type:"property",boost:86}))}function G(){let e=U(),t=W(),l=H();return n=>{let{state:o,pos:i}=n,r=o.doc.toString(),{inTag:a,tagStart:s}=V(r,i);if(!a)return null;if(z(r,s,i)){let t=n.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return{from:t?t.from:i,to:t?t.to:i,options:e}}if(K(r,s,i)){let e=n.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return{from:e?e.from:i,to:e?e.to:i,options:l}}let d=n.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return d||n.explicit?{from:d?d.from:i,to:d?d.to:i,options:t}:null}}var Y=l(11978),J=l(19214),X=l.n(J),Q=l(79420);let Z={...Q.E3,JSXElement(e,t,l){for(let n of(l(e.openingElement,t),e.children||[]))l(n,t);e.closingElement&&l(e.closingElement,t)},JSXFragment(e,t,l){for(let n of(l(e.openingFragment,t),e.children||[]))l(n,t);l(e.closingFragment,t)},JSXOpeningElement(e,t,l){for(let n of(l(e.name,t),e.attributes||[]))l(n,t)},JSXClosingElement(e,t,l){l(e.name,t)},JSXAttribute(e,t,l){l(e.name,t),e.value&&l(e.value,t)},JSXExpressionContainer(e,t,l){l(e.expression,t)},JSXSpreadAttribute(e,t,l){l(e.argument,t)},JSXMemberExpression(e,t,l){l(e.object,t),l(e.property,t)},JSXNamespacedName(e,t,l){l(e.namespace,t),l(e.name,t)},JSXIdentifier(){},JSXText(){},JSXEmptyExpression(){},JSXOpeningFragment(){},JSXClosingFragment(){}},ee=(e,t)=>{let l=[];if(!e.trim())return l;let n=e.split("\n"),o=new Set,i=/\{\{[^}]*ctx[^}]*\}\}/,r=/\{\{[^}]*ctx[^}]*$/;for(let e=0;e<n.length;e++){let t=n[e];(i.test(t)||r.test(t))&&o.add(e)}let a=[0];for(let e=1;e<n.length;e++)a[e]=a[e-1]+n[e-1].length+1;let s=e=>{let t=0,l=a.length-1,n=0;for(;t<=l;){let o=t+l>>1;a[o]<=e?(n=o,t=o+1):l=o-1}return n},d=e=>o.has(s(e)),u=()=>{let l="possible-undefined-ctx-member-call",n="possible-unknown-ctx-member",o=(null==t?void 0:t.knownCtxMemberRoots)?new Set(Array.from(t.knownCtxMemberRoots)):null;for(let e of["t","logger","libs"])null==o||o.add(e);let i=new Set(["t"]),r=[],a=new Set,s=(e,t,l,n)=>{if(d(e))return;let o=`${l}@${e}`;a.has(o)||(a.add(o),r.push({from:e,to:Math.max(e+1,t),severity:"warning",source:l,message:n,actions:[]}))},u=e,c=u.length,p=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},h=e=>{if(!e)return!1;let t=e.charCodeAt(0);return p(e)||t>=48&&t<=57},m="code";for(let e=0;e<c;e++){let t=u[e],r=e+1<c?u[e+1]:"";if("lineComment"===m){"\n"===t&&(m="code");continue}if("blockComment"===m){"*"===t&&"/"===r&&(m="code",e+=1);continue}if("single"===m){if("\\"===t){e+=1;continue}"'"===t&&(m="code");continue}if("double"===m){if("\\"===t){e+=1;continue}'"'===t&&(m="code");continue}if("template"===m){if("\\"===t){e+=1;continue}"`"===t&&(m="code");continue}if("/"===t&&"/"===r){m="lineComment",e+=1;continue}if("/"===t&&"*"===r){m="blockComment",e+=1;continue}if("'"===t){m="single";continue}if('"'===t){m="double";continue}if("`"===t){m="template";continue}if("c"!==t||"ctx"!==u.slice(e,e+3))continue;let a=e>0?u[e-1]:"",d=e+3<c?u[e+3]:"";if("."===a||a&&h(a)||d&&h(d))continue;let f=e+3;for(;f<c&&/\s/.test(u[f]);)f++;let g=!1;"?"===u[f]&&"."===u[f+1]&&(g=!0,f+=2);let v=null;if(g)v="["===u[f]?"bracket":"dot";else if("."===u[f])v="dot",f+=1;else{if("["!==u[f])continue;v="bracket"}for(;f<c&&/\s/.test(u[f]);)f++;let y="",b=0,x=0;if("dot"===v){if(!p(u[f]||""))continue;for(b=f,f+=1;f<c&&h(u[f]||"");)f++;x=f,y=u.slice(b,x)}else{if("["!==u[f])continue;for(f+=1;f<c&&/\s/.test(u[f]);)f++;let e=u[f];if("'"!==e&&'"'!==e)continue;for(f+=1,b=f;f<c;){let t=u[f];if("\\"===t){f+=2;continue}if(t===e)break;f+=1}if(x=f,y=u.slice(b,x),u[f]!==e)continue;for(f+=1;f<c&&/\s/.test(u[f]);)f++;if("]"!==u[f])continue;f+=1}if(!y)continue;let w=f;for(;w<c&&/\s/.test(u[w]);)w++;for("?"===u[w]&&"."===u[w+1]&&(w+=2);w<c&&/\s/.test(u[w]);)w++;let S="("===u[w];o?o.has(y)||(S?s(b,x,l,`Possible undefined ctx method call: ctx.${y}(). 可能是拼写错误或未在当前 ctx API 中定义。`):s(b,x,n,`Possible unknown ctx member access: ctx.${y}. 可能是拼写错误或未在当前 ctx API 中定义。`)):S&&y.length<=2&&!i.has(y)&&s(b,x,l,`Possible undefined ctx method call: ctx.${y}(). 可能是拼写错误或未在当前 ctx API 中定义。`),e=Math.max(e,f-1)}return r},c=()=>{let t="no-noncallable-call",l=[],n=new Set,o=(e,o)=>{if(d(e))return;let i=`${e}-${o}`;n.has(i)||(n.add(i),l.push({from:e,to:Math.max(e+1,o),severity:"warning",source:t,message:"This expression is not callable.",actions:[]}))},i=e,r=i.length,a=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},s=e=>{if(!e)return!1;let t=e.charCodeAt(0);return a(e)||t>=48&&t<=57},u=e=>{let t=e;for(;t<r&&/\s/.test(i[t]);)t++;return t},c=e=>!(e>=r)&&("("===i[e]||"?"===i[e]&&"."===i[e+1]&&"("===i[e+2]),p=e=>{let t=1,l="code";for(let n=e+1;n<r;n++){let e=i[n],o=n+1<r?i[n+1]:"";if("lineComment"===l){"\n"===e&&(l="code");continue}if("blockComment"===l){"*"===e&&"/"===o&&(l="code",n+=1);continue}if("single"===l){if("\\"===e){n+=1;continue}"'"===e&&(l="code");continue}if("double"===l){if("\\"===e){n+=1;continue}'"'===e&&(l="code");continue}if("template"===l){if("\\"===e){n+=1;continue}"`"===e&&(l="code");continue}if("/"===e&&"/"===o){l="lineComment",n+=1;continue}if("/"===e&&"*"===o){l="blockComment",n+=1;continue}if("'"===e){l="single";continue}if('"'===e){l="double";continue}if("`"===e){l="template";continue}if("("===e)t++;else if(")"===e&&0==--t)return n}return -1},h=e=>"true"===e||"false"===e||"null"===e,m="code";for(let e=0;e<r;e++){let t=i[e],l=e+1<r?i[e+1]:"";if("lineComment"===m){"\n"===t&&(m="code");continue}if("blockComment"===m){"*"===t&&"/"===l&&(m="code",e+=1);continue}if("/"===t&&"/"===l){m="lineComment",e+=1;continue}if("/"===t&&"*"===l){m="blockComment",e+=1;continue}if("'"===t||'"'===t){let l=t,n=e;for(e+=1;e<r;){let t=i[e];if("\\"===t){e+=2;continue}if(t===l)break;e+=1}let a=Math.min(r,e+1);c(u(a))&&o(n,a);continue}if("`"===t){let t=e;for(e+=1;e<r;){let t=i[e];if("\\"===t){e+=2;continue}if("`"===t)break;e+=1}let l=Math.min(r,e+1);c(u(l))&&o(t,l);continue}if(t>="0"&&t<="9"){let t=e;for(e+=1;e<r&&i[e]>="0"&&i[e]<="9";)e++;if("."===i[e])for(e+=1;e<r&&i[e]>="0"&&i[e]<="9";)e++;if("e"===i[e]||"E"===i[e]){let t=i[e+1],l=e+1;if(("+"===t||"-"===t)&&(l+=1),i[l]>="0"&&i[l]<="9")for(e=l+1;e<r&&i[e]>="0"&&i[e]<="9";)e++}"n"===i[e]&&(e+=1);let l=e;c(u(l))&&o(t,l),e=l-1;continue}if(a(t)){let t=e;for(e+=1;e<r&&s(i[e]);)e++;h(i.slice(t,e))&&c(u(e))&&o(t,e),e-=1;continue}if("("===t){let t=u(e+1),l=t,n=!1;("+"===i[t]||"-"===i[t])&&(l=t,t=u(t+1));let d=i[t];if("{"===d||"["===d||"'"===d||'"'===d||"`"===d)n=!0;else if(d>="0"&&d<="9")n=!0;else if(a(d)){let e=t+1;for(;e<r&&s(i[e]);)e++;h(i.slice(t,e))&&(n=!0)}if(n){let t=p(e);t>e&&c(u(t+1))&&o(l,t)}}}return l},p=null;try{let t=Y.Parser||Y;p=("function"==typeof X()?t.extend(X()()):t).parse(e,{ecmaVersion:2022,sourceType:"script",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,locations:!0})}catch(i){let t=i,n=0,o=e.length;return t.loc?o=(n=e.split("\n").slice(0,t.loc.line-1).join("\n").length+ +(t.loc.line>1)+t.loc.column)+1:void 0!==t.pos&&(o=(n=t.pos)+1),d(n)||l.push({from:n,to:o,severity:"error",message:`Syntax error: ${t.message}`,actions:[]}),l.push(...u()),l.push(...c()),l}try{let e=function(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"warning";d(e)||l.push({from:e,to:t,message:n,severity:o,actions:[]})},n=new Set(["ctx","console","window","navigator","document","Math","Date","Array","Object","Number","String","Boolean","Promise","RegExp","Set","Map","WeakSet","WeakMap","JSON","Intl","URL","Blob","Error","TypeError","encodeURIComponent","decodeURIComponent","parseInt","parseFloat","isNaN","isFinite","undefined","NaN","Infinity"]),o=e=>{e&&"string"==typeof e.name&&n.add(e.name)},i=e=>{if(!e)return;let t=[e];for(;t.length;){let e=t.pop();e&&("Identifier"===e.type?o(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)))}};Q.a2(p,e=>{switch(null==e?void 0:e.type){case"VariableDeclarator":i(e.id);break;case"FunctionDeclaration":case"FunctionExpression":o(e.id),(e.params||[]).forEach(i);break;case"ArrowFunctionExpression":(e.params||[]).forEach(i);break;case"CatchClause":i(e.param);break;case"ClassDeclaration":o(e.id)}},Z),Q.a2(p,t=>{if(t&&"string"==typeof t.type){if("CallExpression"===t.type){let e=t.callee;if(!(e&&("Identifier"===e.type||"MemberExpression"===e.type||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type||"CallExpression"===e.type||"ChainExpression"===e.type))){let n=((null==e?void 0:e.loc)&&e.start)??t.start,o=((null==e?void 0:e.loc)&&e.end)??t.end;if(d(n))return;l.push({from:n,to:o,severity:"warning",source:"no-noncallable-call",message:"This expression is not callable.",actions:[]})}}else if("NewExpression"===t.type){let l=t.callee;if(!(l&&("Identifier"===l.type||"MemberExpression"===l.type||"CallExpression"===l.type))){let n=((null==l?void 0:l.loc)&&l.start)??t.start,o=((null==l?void 0:l.loc)&&l.end)??t.end;e(n,o,"This constructor is not a function.")}}}},Z);try{let e="possible-undefined-ctx-member-call",n="possible-unknown-ctx-member",o=new Set,i=(null==t?void 0:t.knownCtxMemberRoots)?new Set(Array.from(t.knownCtxMemberRoots)):null;for(let e of["t","logger","libs"])null==i||i.add(e);let r=new Set(["t"]);Q.a2(p,t=>{var n,a,s,u;if(!t||"string"!=typeof t.type||"CallExpression"!==t.type)return;let c=t.callee;if((null==c?void 0:c.type)==="ChainExpression"&&(c=c.expression),!c||"MemberExpression"!==c.type)return;let p=c.object;if(!p||"Identifier"!==p.type||"ctx"!==p.name)return;let h=null;if(c.computed||(null==(n=c.property)?void 0:n.type)!=="Identifier"?c.computed&&(null==(a=c.property)?void 0:a.type)==="Literal"&&"string"==typeof c.property.value&&(h=c.property.value):h=c.property.name,!h)return;let m=String(h).trim();if(!m||m.startsWith("_"))return;if(i){if(i.has(m))return}else if(m.length>2||r.has(m))return;let f=(null==(s=c.property)?void 0:s.start)??c.start??t.start,g=(null==(u=c.property)?void 0:u.end)??f+1,v=`${m}@${f}`;o.has(v)||d(f)||(l.push({from:f,to:g,severity:"warning",source:e,message:`Possible undefined ctx method call: ctx.${m}(). 可能是拼写错误或未在当前 ctx API 中定义。`,actions:[]}),o.add(v))},Z);let a=new Set;Q.ai(p,{MemberExpression(e,t){var o,r,s,u;if(!i)return;let c=t[t.length-2];if((null==c?void 0:c.type)==="CallExpression"){let t=c.callee;if((null==t?void 0:t.type)==="ChainExpression"&&(t=t.expression),t===e)return}let p=null==e?void 0:e.object;if(!p||"Identifier"!==p.type||"ctx"!==p.name)return;let h=null;if(e.computed||(null==(o=e.property)?void 0:o.type)!=="Identifier"?e.computed&&(null==(r=e.property)?void 0:r.type)==="Literal"&&"string"==typeof e.property.value&&(h=e.property.value):h=e.property.name,!h)return;let m=String(h).trim();if(!m||m.startsWith("_")||i.has(m))return;let f=(null==(s=e.property)?void 0:s.start)??e.start??0,g=(null==(u=e.property)?void 0:u.end)??f+1,v=`${m}@${f}`;a.has(v)||d(f)||(l.push({from:f,to:g,severity:"warning",source:n,message:`Possible unknown ctx member access: ctx.${m}. 可能是拼写错误或未在当前 ctx API 中定义。`,actions:[]}),a.add(v))}},Z)}catch(e){}let r=new Set;Q.ai(p,{Identifier(t,l){let o=t.name;if(!o||n.has(o)||r.has(o))return;let i=l[l.length-2];if(!i||"VariableDeclarator"===i.type&&i.id===t||"FunctionDeclaration"===i.type&&i.id===t||"FunctionExpression"===i.type&&i.id===t||"ClassDeclaration"===i.type&&i.id===t||"ClassExpression"===i.type&&i.id===t||"Property"===i.type&&i.key===t&&!0!==i.computed||"MemberExpression"===i.type&&i.property===t&&!0!==i.computed||"LabeledStatement"===i.type&&i.label===t||"BreakStatement"===i.type&&i.label===t||"ContinueStatement"===i.type&&i.label===t)return;let a=t.start??0,s=t.end??a+1;e(a,s,`Possible undefined variable: ${o}`,"warning"),r.add(o)}},Z)}catch(e){}return l},et=e=>(0,d.bu)(t=>ee(t.state.doc.toString(),e)),el=[".ant-modal-content",".ant-modal",".ant-drawer-content",".ant-drawer-content-wrapper"],en=e=>{let t=(null==e?void 0:e.ownerDocument)??document;for(let t of el){let l=null==e?void 0:e.closest(t);if(l instanceof HTMLElement)return l}return t.getElementById("nocobase-embed-container")||t.body},eo=e=>{let{value:t="",onChange:l,placeholder:i="",height:r="100%",minHeight:a,theme:s="light",readonly:u=!1,enableLinter:c=!1,knownCtxMemberRoots:p,extraCompletions:h,completionSource:m,viewRef:f}=e,g=(0,o.useRef)(null),v=(0,o.useRef)();return(0,o.useEffect)(()=>{v.current=l},[l]),(0,o.useEffect)(()=>{var e,l;if(!g.current)return;let n=e=>t=>{let l=t.matchBefore(/[$_\p{Letter}][$_\p{Letter}\p{Number}.-]*/u);return l?l.from!==l.to||t.explicit?{from:l.from,to:l.to,options:e}:null:t.explicit?{from:t.pos,to:t.pos,options:e}:null},o=void 0===a?void 0:"string"==typeof a?a:`${a}px`,y="string"==typeof o?{".cm-gutter,.cm-content":{minHeight:o}}:{},b=[S.o,j(),(0,x.yU)({override:[O(),G(),..."function"==typeof m?[m]:Array.isArray(h)&&h.length?[n(h)]:[]],closeOnBlur:!1,activateOnTyping:!0}),...i?[(0,M.qf)(i)]:[],...c?[(0,d.pJ)(),et({knownCtxMemberRoots:p})]:[],(0,M.vX)({parent:en(g.current)}),M.Lz.updateListener.of(e=>{if(e.docChanged&&!u){let l=e.state.doc.toString();try{var t;null==(t=v.current)||t.call(v,l)}catch(e){}}}),M.Lz.theme({"&.cm-editor":{height:"string"==typeof r?r||"100%":`${r}px`},...y,".cm-scroller":{fontFamily:'"Fira Code", "Monaco", "Menlo", "Ubuntu Mono", monospace',overflow:"auto"},".cm-placeholder":{color:"#999",fontStyle:"normal",whiteSpace:"pre",pointerEvents:"none"},".cm-diagnostic":{padding:"4px 8px",borderRadius:"4px",border:"1px solid #d9d9d9",backgroundColor:"#fff",boxShadow:"0 2px 8px rgba(0,0,0,0.1)",fontSize:"12px",maxWidth:"300px"},".cm-diagnostic-error":{borderLeftColor:"#ff4d4f",borderLeftWidth:"3px"},".cm-diagnostic-warning":{borderLeftColor:"#faad14",borderLeftWidth:"3px"},".cm-diagnostic-info":{borderLeftColor:"#1890ff",borderLeftWidth:"3px"},".cm-lintRange-error":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%23ff4d4f' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-lintRange-warning":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%23faad14' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-lintRange-info":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%231890ff' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-tooltip":{zIndex:1}})];"dark"===s&&b.push(w.bM);let F=f.current&&"function"==typeof(null==(l=f.current.state)||null==(e=l.doc)?void 0:e.toString)?f.current.state.doc.toString():t||"",A=new M.Lz({doc:F,extensions:b,parent:g.current});return f.current=A,()=>{try{A.destroy()}catch(e){}f.current=null}},[m,h,c,r,a,s,u,i]),(0,o.useEffect)(()=>{let e=f.current;e&&e.state.doc.toString()!==(t||"")&&e.dispatch({changes:{from:0,to:e.state.doc.length,insert:t||""}})},[t]),(0,n.jsx)(n.Fragment,{children:(0,n.jsx)("div",{style:{flex:1,minHeight:120},ref:g})})};var ei=l(52930),er=l(50467),ea=l(96436);class es{static registerRightExtra(e){es.rightExtras.register(e.name,e.extra)}static getRightExtras(){return Array.from(es.rightExtras.getValues())}}(0,er._)(es,"rightExtras",new ea.Registry);let ed=e=>{let{name:t="code",language:l="javascript",scene:i,extraEditorRef:r,onActionCountChange:a,extraContent:s}=e,d=es.getRightExtras(),[u,c]=(0,o.useState)({}),p=(0,o.useCallback)((e,t)=>{c(l=>{let n={...l,[e]:t},o=Object.values(n).filter(Boolean).length;return null==a||a(o),n})},[a]),h={padding:"8px",borderBottom:"1px solid #d9d9d9"},{visible:m}=(0,o.useMemo)(()=>{let e=Object.values(u).some(Boolean),t=Array.isArray(d)&&d.length>0,l=!!s;return{visible:e||t||l}},[u,d,s]);return((0,o.useEffect)(()=>{r.buttonGroupHeight=50*!!m},[m,r]),m)?(0,n.jsx)(ei.A,{gap:"middle",justify:"flex-end",align:"center",style:h,children:(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[s,d.map(e=>{let o=e;return(0,n.jsx)(o,{name:t,language:l,scene:i,editorRef:r,setActive:p},e.name)})]})}):null},eu=e=>{let{logs:t,onJumpTo:l,tr:o}=e;return(0,n.jsxs)("div",{style:{borderTop:"1px solid #d9d9d9",maxHeight:180,overflow:"auto",padding:"8px 12px",background:"#fff"},children:[(0,n.jsx)("div",{style:{fontWeight:600,marginBottom:6},children:o("Logs")}),0===t.length?(0,n.jsx)("div",{style:{color:"#999"},children:o("No logs yet. Click Run to execute.")}):t.map((e,t)=>{let i="error"===e.level?"#ff4d4f":"warn"===e.level?"#faad14":"#333",r=("error"===e.level||"warn"===e.level)&&"number"==typeof e.line&&"number"==typeof e.column,a="number"==typeof e.line?Math.max(1,e.line-u):e.line,s="string"==typeof e.msg&&/[((]line\s*\d+(:\d+)?[))]/i.test(e.msg);return(0,n.jsxs)("pre",{onClick:r?()=>{"number"==typeof e.line&&"number"==typeof e.column&&(null==l||l(e.line,e.column))}:void 0,style:{margin:0,whiteSpace:"pre-wrap",color:i,cursor:r?"pointer":"default",textDecoration:r?"underline dotted":"none"},children:["[",e.level,"] ",e.msg,r&&!s?` (${o("at")} ${a}:${e.column})`:""]},t)})]})};var ec=l(97134),ep=l(95725),eh=l(75292),em=l(85196);let ef=e=>{let{open:t,onClose:l,getContainer:i,entries:r,onInsert:a,tr:s}=e,[d,u]=(0,o.useState)(""),c=(0,o.useMemo)(()=>{if(!d)return r;let e=d.toLowerCase();return r.filter(t=>t.name.toLowerCase().includes(e)||(t.prefix||"").toLowerCase().includes(e)||(t.description||"").toLowerCase().includes(e)||([...t.groups||[],t.group].filter(Boolean).join(" ")||"").toLowerCase().includes(e)||t.body.toLowerCase().includes(e))},[r,d]),p=(0,o.useMemo)(()=>{let e={global:s("Common"),libs:s("Libs"),"scene/block":s("Block"),"scene/detail":s("Detail"),"scene/form":s("Form"),"scene/table":s("Table")};return t=>t?e[t]||t:""},[s]);return(0,n.jsxs)(ec.A,{title:s("Snippets"),open:t,onClose:l,getContainer:i,width:"100%",destroyOnClose:!0,children:[(0,n.jsx)(ep.A,{placeholder:s("Search snippets (name / prefix / body / group)"),allowClear:!0,value:d,onChange:e=>u(e.target.value),style:{marginBottom:12}}),(0,n.jsx)(eh.A,{dataSource:c,renderItem:e=>{var t;let l=(null==(t=e.groups)?void 0:t.length)?e.groups:e.group?[e.group]:[];return(0,n.jsx)(eh.A.Item,{actions:[(0,n.jsx)(y.Ay,{size:"small",type:"primary",onClick:()=>{a(e.body.endsWith("\n")?e.body:e.body+"\n")},children:s("Insert")},"insert")],children:(0,n.jsx)(eh.A.Item.Meta,{title:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{children:e.name}),e.prefix?(0,n.jsx)(em.A,{style:{marginLeft:8},children:e.prefix}):null,l.map(e=>(0,n.jsx)(em.A,{color:"blue",style:{marginLeft:8},children:p(e)},e))]}),description:e.description||p(l[0])||e.ref||""})})}})]})},eg={trace:"log",debug:"log",info:"info",warn:"warn",error:"error",fatal:"error"};function ev(e){try{if("string"==typeof e)return e;return JSON.stringify(e)}catch(t){try{return String(e)}catch(e){return"[Unstringifiable]"}}}function ey(e){return{log:function(){for(var t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];return e("log",l)},info:function(){for(var t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];return e("info",l)},warn:function(){for(var t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];return e("warn",l)},error:function(){for(var t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];return e("error",l)}}}function eb(e){let t=String(e||"").match(/[((]line\s*(\d+)(?::(\d+))?[))]/i);if(!t)return null;let l=Number(t[1]),n=Number(t[2]||1);return!Number.isFinite(l)||l<=0?null:!Number.isFinite(n)||n<=0?{line:l,column:1}:{line:l,column:n}}function ex(e){let t=new WeakMap,l=new WeakMap,n=o=>{if(!o||"object"!=typeof o&&"function"!=typeof o||l.has(o))return o;let i=t.get(o);if(i)return i;let r=new Proxy(o,{get(t,l,o){if("child"===l&&"function"==typeof t.child)return function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return n(t.child.apply(t,l))};if("string"==typeof l&&l in eg&&"function"==typeof t[l]){let n=eg[l];return function(){for(var o=arguments.length,i=Array(o),r=0;r<o;r++)i[r]=arguments[r];try{e(n,i)}catch(e){}return t[l].apply(t,i)}}let i=Reflect.get(t,l,o);return"function"==typeof i?i.bind(t):i}});return t.set(o,r),l.set(r,o),r};return n}function ew(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",[l,n]=(0,o.useState)([]),[r,a]=(0,o.useState)(!1),s=(0,o.useRef)(0),d=(0,o.useRef)(null),c=(0,o.useCallback)(()=>n([]),[]);return{run:(0,o.useCallback)(async l=>{var o;let r=(null==e?void 0:e.t)||(e=>e);a(!0),n([]),s.current+=1;let c=s.current;null==(o=d.current)||o.call(d),d.current=null;try{let o,a,h=null==e?void 0:e.model;if(!h)throw Error("No model in FlowContext");let m=e.engine.getModel(h.uid,!0)||h,f={log:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.log(...t)},info:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.info(...t)},warn:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.warn(...t)},error:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.error(...t)}},g=(e,t)=>{let l=t.map(e=>ev(e)).join(" "),o="warn"===e?eb(l):null;o?n(t=>[...t,{level:e,msg:l,line:o.line+u,column:o.column}]):n(t=>[...t,{level:e,msg:l}])},v=(e,t)=>{var l;g(e,t),null==(l=f[e])||l.call(f,...t)},y=ey(v),b=ex(g),x=["jsSettings","clickSettings"].find(e=>m.getFlow(e))||"jsSettings",[w,S]=await Promise.all([(0,i.prepareRunJsCode)(l,{preprocessTemplates:!0}).catch(()=>void 0),(0,i.prepareRunJsCode)(l,{preprocessTemplates:!1}).catch(()=>void 0)]),M=i.JSRunner.prototype,F=M.run,A=()=>{},k=new Promise(e=>A=e),C=!1,P=()=>{C||(C=!0,i.JSRunner.prototype.run=F,d.current=null)};d.current=P,M.run=async function(e){var t,n,i,r,a;let s=e===l||e===w||e===S,d=null==(n=this)||null==(t=n.globals)?void 0:t.console,u=(null==(r=this)||null==(i=r.globals)?void 0:i.ctx)?Object.getOwnPropertyDescriptor(this.globals.ctx,"logger"):void 0;try{this.globals||(this.globals={});try{this.globals.console=y}catch(e){console.warn("[useCodeRunner] inject console failed:",e)}try{if(this.globals.ctx){let e=this.globals.ctx.logger,t=b(e);Object.defineProperty(this.globals.ctx,"logger",{configurable:!0,enumerable:!0,writable:!1,value:t})}}catch(e){console.warn("[useCodeRunner] inject logger failed:",e)}}catch(e){console.warn("[useCodeRunner] inject globals failed:",e)}try{let t=await F.call(this,e);return s&&(o=t,A(t)),t}finally{try{void 0===d?delete this.globals.console:this.globals.console=d}catch(e){console.warn("[useCodeRunner] restore console failed:",e)}try{(null==(a=this.globals)?void 0:a.ctx)&&(void 0===u?delete this.globals.ctx.logger:Object.defineProperty(this.globals.ctx,"logger",u))}catch(e){console.warn("[useCodeRunner] restore logger failed:",e)}}};let j=async n=>{var o;let r=null==n||null==(o=n.getFlow)?void 0:o.call(n,x),a=(null==r?void 0:r.manual)===!0,s=null==r?void 0:r.on,d="string"==typeof s?s:null==s?void 0:s.eventName;if(r)"string"==typeof d?await n.dispatchEvent(d,{preview:{code:l}},{sequential:!0,useCache:!1}):a?await n.applyFlow(x,{preview:{code:l}}):await n.dispatchEvent("beforeRender",{preview:{code:l}},{sequential:!0,useCache:!1});else{let n=(0,i.createSafeNavigator)();await e.runjs(l,{window:(0,i.createSafeWindow)({navigator:n}),document:(0,i.createSafeDocument)(),navigator:n},{version:t})}};try{await j(m)}catch(e){throw P(),e}let I=e=>{if(null==e?void 0:e.success)v("info",[r("Execution succeeded")]);else{var t;let l=(null==e?void 0:e.timeout)?r("Execution timed out"):String((null==e?void 0:e.error)||r("Unknown error")),o=(null==e||null==(t=e.error)?void 0:t.__runjsHideLocation)?null:p(null==e?void 0:e.error);o&&"number"==typeof o.line&&"number"==typeof o.column?n(e=>[...e,{level:"error",msg:l,line:o.line,column:o.column}]):v("error",[l])}};if(o)return P(),a=o,I(a),a;let E=12e3;return(async()=>{let e=await Promise.race([k,new Promise(e=>setTimeout(()=>e({success:!1,timeout:!0,error:Error("Preview timed out")}),E))]);s.current===c&&(P(),I(e))})(),{success:!0,value:void 0}}catch(t){let e=t instanceof Error?t.message:String(t)||r("Run preview failed");return n(t=>[...t,{level:"error",msg:e}]),{success:!1,error:t}}finally{a(!1)}},[e,t]),logs:l,clearLogs:c,running:r}}var eS=l(2077);let eM=/[$_\p{Letter}][$_\p{Letter}\p{Number}.-]*/u,eF=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then;function eA(e){let{hostCtx:t,staticOptions:l,metaRoots:n}=e,o=Array.isArray(l)?l:[],i=G(),r=Array.isArray(n)&&n.length>0?new Set(n.map(e=>String(e))):null,a=new Map,s=new Map,d={},u=e=>{if("string"!=typeof e||!e)return"";try{let l=null==t?void 0:t.t;return"function"==typeof l?String(l(e)):e}catch(t){return e}},c=e=>"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):"",p=e=>"string"==typeof e?e.trim():"",h=(e,t)=>{try{let l="number"==typeof t&&Number.isFinite(t)?Math.max(0,Math.floor(t)):0,n=Math.max(0,l-4e3),o=(null==e?void 0:e.sliceString)?String(e.sliceString(n,l)||""):"";if(!o)return!1;let i=!1,r=!1,a=!1,s=!1,d=!1,u=!1;for(let e=0;e<o.length;e++){let t=o[e],l=o[e+1];if(s){"\n"===t&&(s=!1);continue}if(d){"*"===t&&"/"===l&&(d=!1,e++);continue}if(i){if(u){u=!1;continue}if("\\"===t){u=!0;continue}"'"===t&&(i=!1);continue}if(r){if(u){u=!1;continue}if("\\"===t){u=!0;continue}'"'===t&&(r=!1);continue}if(a){if(u){u=!1;continue}if("\\"===t){u=!0;continue}"`"===t&&(a=!1);continue}if("/"===t&&"/"===l){s=!0,e++;continue}if("/"===t&&"*"===l){d=!0,e++;continue}if("'"===t){i=!0;continue}if('"'===t){r=!0;continue}if("`"===t){a=!0;continue}}return i||r||a}catch(e){return!1}},m=async e=>{if(!e)return[];if("function"==typeof e)try{let t=await e();return Array.isArray(t)?t:[]}catch(e){return[]}return Array.isArray(e)?e:[]},f=async e=>{if(!(null==e?void 0:e.children))return[];if("function"==typeof e.children)try{let t=await e.children(),l=Array.isArray(t)?t:[];return e.children=l,l}catch(e){return[]}return Array.isArray(e.children)?e.children:[]},g=e=>e.some(e=>"string"==typeof e&&e.startsWith("_")),v=async e=>{try{let t=null==e?void 0:e.hidden,l="function"==typeof t?t():t;return!!(eF(l)?await l:l)}catch(e){return!1}},y=async e=>{try{let t=null==e?void 0:e.disabled,l="function"==typeof t?t():t;if(!(eF(l)?await l:l))return{disabled:!1};let n=null==e?void 0:e.disabledReason,o="function"==typeof n?n():n,i=eF(o)?await o:o,r=u(c(i));return{disabled:!0,reason:r||void 0}}catch(e){return{disabled:!1}}},b=async()=>(d.promise||(d.promise=(async()=>{try{let e=null==t?void 0:t.popup,l=eF(e)?await e:e;return!!(null==l?void 0:l.uid)}catch(e){return!0}})()),d.promise),x=async e=>{if(!t||"function"!=typeof t.getPropertyMetaTree)return[];if(a.has(e))return await a.get(e);let l=(async()=>{try{let l=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);if(!l.length||"ctx"!==l[0]||l.length<2)return[];let n=l[1];if(!n||n.startsWith("_")||r&&!r.has(n)||"popup"===n&&!await b())return[];let o=async()=>{if(s.has(n))return await s.get(n);let e=(async()=>{try{let e=t.getPropertyMetaTree(`{{ ctx.${n} }}`);return await m(e)}catch(e){return[]}})();return s.set(n,e),await e},i=l.slice(2),a=await o();if(!i.length)return a;for(let e of i){if(!e||e.startsWith("_"))return[];let t=Array.isArray(a)?a.find(t=>String((null==t?void 0:t.name)??"")===e):null;if(!t)return[];a=await f(t)}return Array.isArray(a)?a:[]}catch(e){return[]}})();return a.set(e,l),await l},w=async(e,t,l)=>{if(!e||"string"!=typeof e||!e.startsWith("ctx."))return[];let n=t>0&&"."===l,o=e.split(".").map(e=>e.trim()).filter(Boolean);if("ctx"!==o[0])return[];let i=n?o:o.slice(0,-1);if(i.length<2)return[];let a=i[1];if(!a||a.startsWith("_")||i.some((e,t)=>t>0&&"string"==typeof e&&e.startsWith("_"))||r&&!r.has(a)||"popup"===a&&!await b())return[];let s=i.join("."),d=await x(s);if(!d.length)return[];let p=[];for(let e of d){let t=(Array.isArray(null==e?void 0:e.paths)?e.paths:[]).map(e=>String(e)).filter(Boolean);if(!t.length||g(t))continue;let l=`ctx.${t.join(".")}`;if(!l.startsWith("ctx.")||await v(e))continue;let n=u(c(null==e?void 0:e.title))||u(c(null==e?void 0:e.name))||t[t.length-1],o=[...Array.isArray(null==e?void 0:e.parentTitles)?e.parentTitles.map(e=>u(c(e))).filter(Boolean):[],n].filter(Boolean).join(" / "),{disabled:i,reason:r}=await y(e),a=[];o&&a.push(o),i&&a.push("Disabled:",`- ${r||"true"}`);let s=a.join("\n")||o||n||l;p.push({label:l,type:"property",detail:o||"context value",info:s,boost:110,apply:(e,t,n,o)=>{var i;let r=h(null==e||null==(i=e.state)?void 0:i.doc,n)?l:`await ctx.getVar('${l}')`;e.dispatch({changes:{from:n,to:o,insert:r},selection:{anchor:n+r.length},scrollIntoView:!0})}})}return p},S=e=>{let t=new Set,l=[];for(let n=e.length-1;n>=0;n--){let o=e[n],i="string"==typeof(null==o?void 0:o.label)?p(o.label):"";if(i){if(t.has(i))continue;t.add(i)}l.push(e[n])}return l.reverse(),l};return async e=>{try{if(N(e))return null}catch(e){}try{if(i(e))return null}catch(e){}let t=e.matchBefore(eM);if(!t)return e.explicit?{from:e.pos,to:e.pos,options:o}:null;if(t.from===t.to&&!e.explicit)return null;let l=e.pos>0?e.state.doc.sliceString(e.pos-1,e.pos):"",n=[];try{n=await w(t.text,e.pos,l)}catch(e){n=[]}let r=e=>{if(!e||"string"!=typeof e||!e.startsWith("ctx."))return;let t=e.split(".").map(e=>e.trim()).filter(Boolean);if("ctx"!==t[0])return;let l=t[1];return l&&"string"==typeof l?l:void 0},a=n.length>0?r(t.text):void 0,s=a&&a.length?o.filter(e=>{let t="string"==typeof(null==e?void 0:e.label)?p(e.label):"";return!!(!t||!t.startsWith("ctx.")||"ctx"===t||(null==e?void 0:e.type)==="function"||t.endsWith("()"))||!(t===`ctx.${a}`||t.startsWith(`ctx.${a}.`))}):o,d=n.length>0?S([...s,...n]):o;return{from:t.from,to:t.to,options:d}}}function ek(e){return(Array.isArray(e)?e:e?[e]:[]).map(e=>String(e).trim()).filter(Boolean)}let eC={DetailsItemModel:["detailFieldEvent"],DetailsCustomItemModel:["detailFieldEvent"],TableColumnModel:["tableFieldEvent"],TableCustomColumnModel:["tableFieldEvent"],SubTableColumnModel:["tableFieldEvent"],FormItemModel:["formFieldEvent"],FilterFormItemModel:["formFieldEvent"]};function eP(e,t){var l,n;if(!ek(t).includes("eventFlow"))return;let o=null==e||null==(n=e.model)||null==(l=n.constructor)?void 0:l.name;if(!o||"string"!=typeof o)return;let i=eC[o];return(null==i?void 0:i.length)?[...i]:void 0}function ej(e,t){let l=Array.from(new Set([...ek(e),...ek(t)]));return l.length?l:void 0}var eI=l(85387);let eE=e=>{let{value:t="",onChange:l,placeholder:r="",height:a="100%",minHeight:d,theme:u="light",readonly:x=!1,enableLinter:w=!1,wrapperStyle:S,extraCompletions:M,version:F="v1",name:A,language:k,scene:C,RightExtra:P,showLogs:j=!0}=e,I=(0,o.useRef)(null),E=(0,o.useRef)(null),{isFullscreen:R,toggleFullscreen:_,placeholderRef:T,placeholderStyle:D,container:N}=(0,eS.Zn)(),O=(0,i.useFlowContext)(),$=(0,o.useMemo)(()=>{let e;if(O)try{let t=(0,i.getRunJSScenesForContext)(O,{version:F});e=t.length?t:void 0}catch(t){e=void 0}let t=eP(O,C);try{return ej(C,ej(e,t))}catch(e){return ej(C)}},[C,O,F]),{completions:B,entries:L}=s(O,F,$),{run:q,logs:V,running:z}=ew(O,F),[K,U]=(0,o.useState)(!1),W=(0,o.useCallback)(()=>{let e=I.current;return e&&(e.closest(".ant-drawer-content-wrapper")||e.closest(".ant-drawer-content")||e.closest(".ant-modal-content")||e.parentElement)||document.body},[]),H=(0,o.useCallback)((e,t)=>{try{return(null==O?void 0:O.t)?O.t(e,t):e}catch(t){return e}},[O]),G=(0,o.useMemo)(()=>{let e=[];return Array.isArray(B)&&e.push(...B),Array.isArray(M)&&e.push(...M),e},[M,B]),Y=(0,o.useMemo)(()=>eA({hostCtx:O,staticOptions:G}),[O,G]),J=(0,o.useCallback)(async()=>{var e;let t=(null==(e=E.current)?void 0:e.state.doc.toString())||"";c(E.current);let l=await q(t);if(!(null==l?void 0:l.success)){let e=null==l?void 0:l.error,t=(null==l?void 0:l.timeout)?H("Execution timed out"):String(e||H("Unknown error")),n=p(e);n&&E.current&&h(E.current,n.line,n.column,t)}return l},[q,H]),X=(0,o.useRef)({write(e){let t=E.current;t&&t.state.doc.toString()!==e&&t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}})},read(){let e=E.current;return e?e.state.doc.toString():""},run:()=>Promise.resolve(void 0),buttonGroupHeight:0,snippetEntries:[],logs:[]});X.current.snippetEntries=L,X.current.logs=V,X.current.run=J,(0,o.useEffect)(()=>{var e;null==(e=E.current)||e.requestMeasure()},[R]);let Q=(0,n.jsx)(v.A,{title:R?H("Exit fullscreen"):H("Fullscreen"),children:(0,n.jsx)(y.Ay,{size:"small","aria-label":R?H("Exit fullscreen"):H("Fullscreen"),icon:R?(0,n.jsx)(f.A,{}):(0,n.jsx)(g.A,{}),onClick:_})}),Z=(0,n.jsxs)("div",{style:{border:R?"none":"1px solid #d9d9d9",borderRadius:R?0:"6px",overflow:"visible",position:"relative",display:"flex",flexDirection:"column",boxSizing:R?"border-box":void 0,padding:R?16:void 0,height:R?"100%":void 0,minHeight:R?0:void 0,...S},ref:I,children:[(0,n.jsx)(ed,{name:A,language:k,scene:$,extraEditorRef:X.current,extraContent:(0,n.jsxs)(n.Fragment,{children:[P?(0,n.jsx)(P,{viewRef:E}):(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,n.jsx)(y.Ay,{size:"small",onClick:()=>U(!0),children:H("Snippets")}),(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(y.Ay,{size:"small",loading:z,onClick:J,children:H("Run")})})]}),Q]})}),(0,n.jsx)(eo,{value:t,onChange:l,placeholder:r,height:R?"100%":a,minHeight:d,theme:u,readonly:x,enableLinter:w,completionSource:Y,viewRef:E}),j?(0,n.jsx)(eu,{logs:V,onJumpTo:(e,t)=>{let l=E.current;l&&m(l,e,t)},tr:H}):null,(0,n.jsx)(ef,{open:K,onClose:()=>U(!1),getContainer:W,entries:L,tr:H,onInsert:e=>{let t=E.current;if(!t)return;let{from:l,to:n}=t.state.selection.main,o=l+e.length;t.dispatch({changes:{from:l,to:n,insert:e},selection:{anchor:o},scrollIntoView:!0}),t.focus(),U(!1)}})]});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{ref:T,style:R?D:{display:"contents"}}),N?(0,b.createPortal)(Z,N):null]})}},85387(e,t,l){l.d(t,{by:()=>O,fL:()=>$,hP:()=>c,previewRunJS:()=>L});var n=l(14442),o=l(52704),i=l(11978),r=l(19214),a=l.n(r),s=l(79420),d=l(11869);let u={...s.E3,JSXElement(e,t,l){for(let n of(l(e.openingElement,t),e.children||[]))l(n,t);e.closingElement&&l(e.closingElement,t)},JSXFragment(e,t,l){for(let n of(l(e.openingFragment,t),e.children||[]))l(n,t);l(e.closingFragment,t)},JSXOpeningElement(e,t,l){for(let n of(l(e.name,t),e.attributes||[]))l(n,t)},JSXClosingElement(e,t,l){l(e.name,t)},JSXAttribute(e,t,l){l(e.name,t),e.value&&l(e.value,t)},JSXExpressionContainer(e,t,l){l(e.expression,t)},JSXSpreadAttribute(e,t,l){l(e.argument,t)},JSXMemberExpression(e,t,l){l(e.object,t),l(e.property,t)},JSXNamespacedName(e,t,l){l(e.namespace,t),l(e.name,t)},JSXIdentifier(){},JSXText(){},JSXEmptyExpression(){},JSXOpeningFragment(){},JSXClosingFragment(){}},c=4e3,p=5e3,h=1600,m=1,f=(0,n.Q2)({jsx:!0}).language.parser,g=/\{\{[^}]*ctx[^}]*\}\}/,v=/\{\{[^}]*ctx[^}]*$/;function y(e){try{if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return String(e);if(e instanceof Error)return e.message||String(e);return JSON.stringify(e)}catch(t){try{return String(e)}catch{return"[Unstringifiable]"}}}function b(e,t){let l=String(e||"");if(l.length<=t)return l;if(t<=3)return l.slice(0,t);let n=Math.floor((t-3)/2),o=t-3-n;return`${l.slice(0,n)}...${l.slice(-o)}`}function x(e){try{let t=new URL(e),l=t.pathname||"",n=l.split("/").filter(Boolean).pop()||l||"bundle.js";return`${t.origin}/.../${b(n,80)}`}catch{return b(e,120)}}function w(e){let t=String(e||"").trimEnd();t=t.replace(/https?:\/\/[^\s)]+/g,e=>x(e));for(let e=0;e<4;e++){let e=t.replace(/eval at [^()]*\(/g,"eval(");if(e===t)break;t=e}return(t=t.replace(/\(\s*eval\s*\(/g,"(eval(")).replace(/\s+/g," ").trim()}function S(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m,l=String(e||"").split("\n").map(e=>w(e)).filter(e=>!!e);if(!l.length)return"";let n=l[0],o=l.slice(1),i=[];for(let e of o)e&&(i.length>0&&i[i.length-1]===e||i.push(e));let r=i.slice(0,Math.max(0,t)),a=Math.max(0,i.length-r.length),s=[n,...r];return a>0&&s.push(`... (${a} frames omitted)`),s.join("\n")}function M(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h,l=(null==e?void 0:e.stack)?String(e.stack):"";if(!l)return;let n=S(l);return n.length<=t?n:`${n.slice(0,Math.max(0,t-16))}
261
+ `,children:"x"})})})]})}},95266(e,t,l){l.d(t,{o8:()=>es,BY:()=>e_,fL:()=>eR.fL,by:()=>eR.by,zA:()=>eR.previewRunJS,hP:()=>eR.hP});var n=l(74848),o=l(96540),i=l(11869);function r(e,t){let l=(null==t?void 0:t.mode)||"full";if("string"==typeof e)return e;if(!e||"object"!=typeof e)return String(e??"");if("simple"===l){let t=e.description??e.detail??e.type??"",l=Array.isArray(e.examples)?e.examples.filter(e=>"string"==typeof e&&e.trim()):[];return l.length?[t,"Examples:",...l].filter(Boolean).join("\n"):"string"==typeof t?t:String(t??"")}let n=e.description??e.detail??e.type??"",o=Array.isArray(e.params)?e.params:[],i=e.returns,r=e.ref,a=e.disabled,s=e.disabledReason,d=e=>{if(!e)return"";if("string"==typeof e)return e;if(e&&"object"==typeof e){let t="string"==typeof e.url?e.url:"",l="string"==typeof e.title?e.title:"";return l&&t?`${l}: ${t}`:t||l}return String(e)},u=e=>{if(!e||"object"!=typeof e)return"";let t="string"==typeof e.name?e.name:"";if(!t)return"";let l="string"==typeof e.type?e.type:"",n=e.optional?"?":"",o=void 0===e.default?"":` = ${"string"==typeof e.default?JSON.stringify(e.default):String(e.default)}`,i="string"==typeof e.description?e.description:"",r=`${t}${n}${l?`: ${l}`:""}${o}`;return i?`${r} - ${i}`:r},c=e=>{if(!e||"object"!=typeof e)return"";let t="string"==typeof e.type?e.type:"",l="string"==typeof e.description?e.description:"";return t&&l?`${t} - ${l}`:t||l},p=Array.isArray(e.examples)?e.examples.filter(e=>"string"==typeof e&&e.trim()):[],h=[];if("string"==typeof n&&n.trim()&&h.push(n),o.length){let e=o.map(u).filter(Boolean);e.length&&h.push("Params:",...e.map(e=>`- ${e}`))}let m=c(i);m&&h.push("Returns:",`- ${m}`);let f=d(r);if(f&&h.push("Ref:",`- ${f}`),a){let e="string"==typeof s?s:"";h.push("Disabled:",`- ${e||"true"}`)}return(p.length&&h.push("Examples:",...p),h.length)?h.join("\n"):""}async function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,n=(e,t)=>{if(!e||"object"!=typeof e||Array.isArray(e))return!1;let l="string"==typeof e.type?String(e.type):"";if("function"===l||"method"===l||Array.isArray(e.params)&&e.params.length||e.returns)return!0;let n=null==t?void 0:t.insertText;return!!("string"==typeof n&&/\bctx\.[\w$.]+\s*\(/.test(n))};try{await (0,i.setupRunJSContexts)()}catch(e){}let o=(0,i.getRunJSDocFor)(e||{},{version:t}),a=null;try{e&&"function"==typeof e.getApiInfos&&(a=await e.getApiInfos({version:t}))}catch(e){a=null}let s=e=>{let t={};for(let[l,n]of Object.entries(e&&"object"==typeof e?e:{}))"string"==typeof n?t[l]={description:n,type:"function"}:n&&"object"==typeof n&&!Array.isArray(n)?t[l]={...n,type:"function"}:t[l]=n;return t},d={...(null==o?void 0:o.properties)||{},...s(null==o?void 0:o.methods)},u={...a&&"object"==typeof a?a:{},...d||{}},c=[],p=new Set(["api","resource","viewer","record","formValues","popup"]),h=new Map,m=new Set,f=e=>{if(!e||"string"!=typeof e)return!1;let t=e.endsWith("()")?e.slice(0,-2):e;if(!t.startsWith("ctx."))return!1;let l=t.split(".").filter(Boolean);if("ctx"!==l[0])return!1;for(;l.length;){let e=l.join(".");if(m.has(e))return!0;l.pop()}return!1},g=async(t,l,n)=>{if(!t||"object"!=typeof t||Array.isArray(t))return{hideSelf:!1,hideSubpaths:[]};if(h.has(l))return h.get(l);let o=t.hidden,i=!1,r=[];try{if("boolean"==typeof o)i=o;else if(Array.isArray(o))r=o;else if("function"==typeof o){let t=await o(e);"boolean"==typeof t?i=t:Array.isArray(t)&&(r=t)}}catch(e){i=!1,r=[]}let a=[];if(Array.isArray(r))for(let e of r){if("string"!=typeof e)continue;let t=e.trim();if(!t||"ctx"===t||t.startsWith("ctx.")||/\s/.test(t))continue;let l=t.split(".").map(e=>e.trim()).filter(Boolean);l.length&&"ctx"!==l[0]&&a.push(["ctx",...n,...l].join("."))}let s={hideSelf:i,hideSubpaths:a};return h.set(l,s),s},v=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(e)for(let[l,n]of Object.entries(e)){let e,o=[...t,l];if(f(`ctx.${o.join(".")}`))continue;let i=await g(n,`p:${o.join(".")}`,o);if(!i.hideSelf){for(let e of i.hideSubpaths)m.add(e);n&&"object"==typeof n&&!Array.isArray(n)&&(e=n.properties),e&&"object"==typeof e&&await v(e,o)}}};await v((null==o?void 0:o.properties)||{}),((null==o?void 0:o.label)||(null==o?void 0:o.properties)||(null==o?void 0:o.methods))&&c.push({label:"ctx",type:"class",detail:"FlowRunJSContext",info:(null==o?void 0:o.label)||"RunJS context",boost:115});let y=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(e)for(let[l,o]of Object.entries(e)){let e,i,a,s=[...t,l],d=`ctx.${s.join(".")}`,u=s.length,h=s[0];if(f(d))continue;let v=await g(o,`p:${s.join(".")}`,s);if(v.hideSelf)continue;for(let e of v.hideSubpaths)m.add(e);o&&"object"==typeof o&&!Array.isArray(o)&&(e=o.detail??o.type??"ctx property",a=o.completion,i=o.properties);let b=n(o,a),x=(null==a?void 0:a.insertText)??("popup"===h?`await ctx.getVar('${d}')`:b?`${d}()`:void 0),w=x?(e,t,l,n)=>{e.dispatch({changes:{from:l,to:n,insert:x},selection:{anchor:l+x.length},scrollIntoView:!0})}:void 0,S=b?`${d}()`:d;c.push({label:S,type:b?"function":"property",info:r(o),detail:e||(b?"ctx function":"ctx property"),boost:Math.max(90-5*u,10)+10*!!p.has(h),apply:w}),i&&await y(i,s)}};await y(u||{});let b=[];try{var x,w,S,M,F;let l=(null==e||null==(w=e.model)||null==(x=w.constructor)?void 0:x.name)||"*",n=(null==e||null==(M=e.api)||null==(S=M.auth)?void 0:S.locale)||(null==e||null==(F=e.i18n)?void 0:F.language);b=await (0,i.listSnippetsForContext)(l,t,n)}catch(e){b=[]}let A=Array.isArray(l)?l.filter(e=>"string"==typeof e&&e.trim().length>0):l?[l]:[],k=A.length?b.filter(e=>{var t;if(null==(t=e.scenes)?void 0:t.length)return e.scenes.some(e=>A.includes(e));let l=e.group||"";if(!l.startsWith("scene/"))return!0;let[n,o]=l.split("/");return!!o&&A.includes(o)}):b,C=new Set;for(let e of k){let t=e.body,l=String(e.name??"").trim(),n="string"==typeof e.prefix?e.prefix.trim():"",o=l||n,i=o,r=l&&n&&n!==i?n:void 0,a=e.ref||`${o}|${r??""}`;!i||C.has(a)||(C.add(a),c.push({label:o,displayLabel:i,detail:r,type:"snippet",info:e.description||e.ref,boost:80,apply:(e,l,n,o)=>{e.dispatch({changes:{from:n,to:o,insert:t},selection:{anchor:n+t.length},scrollIntoView:!0})}}))}let P=new Set,j=[];for(let e=c.length-1;e>=0;e--){let t=c[e],l=null==t?void 0:t.label;if("string"!=typeof l||!l){j.push(c[e]);continue}P.has(l)||(P.add(l),j.push(c[e]))}return j.reverse(),{completions:j,entries:k}}function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,[n,i]=(0,o.useState)(null),[r,s]=(0,o.useState)([]),[d,u]=(0,o.useState)(null);return(0,o.useEffect)(()=>{let n=!1;return(async()=>{try{let{completions:o,entries:r}=await a(e,t,l);n||(i(o),s(r),u(null))}catch(e){n||(i(null),s([]),u(e))}})(),()=>{n=!0}},[e,t,l]),{completions:n,entries:r,error:d}}var d=l(51419);let u=2;function c(e){try{e&&e.dispatch((0,d.LH)(e.state,[]))}catch(e){try{var t,l;null==(t=(l=console).debug)||t.call(l,"[errorHelpers] clearDiagnostics failed",e)}catch(e){}}}function p(e){let t=String((null==e?void 0:e.stack)||(null==e?void 0:e.message)||e||""),l=t.split("\n");for(let e of l){let t=e.match(/<anonymous>:(\d+):(\d+)/);if(t)return{line:parseInt(t[1],10),column:parseInt(t[2],10)}}for(let e of l){let t=e.match(/:(\d+):(\d+)/);if(t){let e=parseInt(t[1],10),l=parseInt(t[2],10);if(!Number.isNaN(e)&&!Number.isNaN(l))return{line:e,column:l}}}let n=t.match(/line\s*(\d+)\D+column\s*(\d+)/i);return n?{line:parseInt(n[1],10),column:parseInt(n[2],10)}:null}function h(e,t,l,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:u;try{if(!e)return;let i=Math.max(1,t-o),r=e.state.doc.line(Math.min(i,e.state.doc.lines)),a=Math.min(r.from+Math.max(0,l-1),r.to),s=a,u=[{from:a,to:s,severity:"error",message:n}];e.dispatch((0,d.LH)(e.state,u)),e.dispatch({selection:{anchor:a},scrollIntoView:!0})}catch(e){try{var i,r;null==(i=(r=console).debug)||i.call(r,"[errorHelpers] markErrorAt failed",e)}catch(e){}}}function m(e,t,l){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u;try{if(!e)return;let o=Math.max(1,t-n),i=e.state.doc.line(Math.min(o,e.state.doc.lines)),r=Math.min(i.from+Math.max(0,l-1),i.to);e.dispatch({selection:{anchor:r},scrollIntoView:!0})}catch(e){try{var o,i;null==(o=(i=console).debug)||o.call(i,"[errorHelpers] jumpTo failed",e)}catch(e){}}}var f=l(65907),g=l(66104),v=l(42443),y=l(71021),b=l(40961),x=l(47404),w=l(85109),S=l(64345),M=l(29332),F=l(82325),A=l(15874),k=l(14442),C=l(90365);function P(e){let t=[],l=e.from+1,n=e.to-1,o=l;for(let l=e.firstChild;l;l=l.nextSibling)"Interpolation"===l.type.name&&(l.from>o&&t.push({from:o,to:l.from}),o=Math.max(o,l.to));return o<n&&t.push({from:o,to:n}),t.filter(e=>e.to>e.from)}function j(){let e=(0,k.Q2)({jsx:!0}),t=(0,F.qy)(),l=e.language.configure({wrap:(0,C.$g)(e=>{if("TemplateString"!==e.type.name)return null;let t=P(e.node);return t.length?{parser:F.iH.parser,overlay:t}:null})});return new A.Yy(l,[e.support,t.support])}var I=l(52704);let E=(e,t,l)=>{let n=l.state.doc,o=[],i="",r=0;for(let e of t){let t=n.sliceString(e.from,e.to),l=r,a=l+t.length;o.push({htmlFrom:l,htmlTo:a,docFrom:e.from}),i+=t,r=a}if(!o.length)return null;let a=o.find(e=>{let{docFrom:t,htmlFrom:n,htmlTo:o}=e;return l.pos>=t&&l.pos<=t+(o-n)});return a?{htmlDoc:i,htmlPos:a.htmlFrom+(l.pos-a.docFrom),segments:o}:null},R=(e,t)=>{for(let l=e.length-1;l>=0;l-=1){let n=e[l];if(t>=n.htmlFrom&&t<=n.htmlTo)return n.docFrom+(t-n.htmlFrom)}return null},_=e=>{for(let t=e;t;t=t.parent)if("TemplateString"===t.type.name)return t;return null},T=e=>{let t=(0,A.mv)(e.state).resolveInner(e.pos,-1),l=_(t);if(!l||"Interpolation"===t.type.name)return null;let n=P(l.node);return n.length?E(l.node,n,e):null},D=(e,t)=>{let l=R(t,e.from),n=R(t,e.to);return null==l||null==n?null:{...e,from:l,to:n}},N=e=>null!=T(e),O=()=>{let e=F.$g;return t=>{let l=T(t);if(!l)return null;let n=I.$t.create({doc:l.htmlDoc,extensions:[F.iH]}),o=e(new x._5(n,l.htmlPos,t.explicit));return o?D(o,l.segments):null}},$=["div","span","p","a","img","button","input","label","select","option","textarea","ul","ol","li","table","thead","tbody","tr","td","th","form","section","article","nav","header","footer","main","h1","h2","h3","h4","h5","h6","canvas","svg","path","g","circle","rect","line","polyline","polygon"],B=["className","id","style","title","href","src","alt","value","defaultValue","placeholder","disabled","checked","readOnly","name","type","width","height","min","max","step","rows","cols","multiple","accept","download","target","rel","role","tabIndex","draggable","contentEditable","hidden"],L=["onClick","onChange","onInput","onSubmit","onKeyDown","onKeyUp","onKeyPress","onFocus","onBlur","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onMouseMove","onContextMenu","onDragStart","onDragOver","onDrop","onScroll","onWheel","onTouchStart","onTouchMove","onTouchEnd"],q=["color","background","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","border","borderRadius","fontSize","fontWeight","lineHeight","textAlign","display","flex","flexDirection","alignItems","justifyContent","gap","width","height","minWidth","minHeight","maxWidth","maxHeight","opacity","overflow","position","top","left","right","bottom","zIndex"];function V(e,t){let l=Math.max(0,t-400),n=e.slice(l,t),o=n.lastIndexOf("<"),i=n.lastIndexOf(">");return -1===o||i>o?{inTag:!1,tagStart:-1}:{inTag:!0,tagStart:l+o}}function z(e,t,l){let n=e.slice(t+1,l);return!/\s/.test(n)}function K(e,t,l){let n=Math.max(t,l-200),o=e.slice(n,l),i=o.lastIndexOf("style={{");return -1!==i&&o.lastIndexOf("}}")<i}function U(){return $.map(e=>({label:e,type:"keyword",boost:99}))}function W(){let e=B.map(e=>({label:e,type:"property",boost:88}));return[...L.map(e=>({label:e,type:"function",boost:87,apply(t,l,n,o){let i=`${e}={(e) => {}}`;t.dispatch({changes:{from:n,to:o,insert:i},selection:{anchor:n+i.length-3}}),t.focus()}})),...e]}function H(){return q.map(e=>({label:e,type:"property",boost:86}))}function G(){let e=U(),t=W(),l=H();return n=>{let{state:o,pos:i}=n,r=o.doc.toString(),{inTag:a,tagStart:s}=V(r,i);if(!a)return null;if(z(r,s,i)){let t=n.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return{from:t?t.from:i,to:t?t.to:i,options:e}}if(K(r,s,i)){let e=n.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return{from:e?e.from:i,to:e?e.to:i,options:l}}let d=n.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return d||n.explicit?{from:d?d.from:i,to:d?d.to:i,options:t}:null}}var Y=l(11978),J=l(19214),X=l.n(J),Q=l(79420);let Z={...Q.E3,JSXElement(e,t,l){for(let n of(l(e.openingElement,t),e.children||[]))l(n,t);e.closingElement&&l(e.closingElement,t)},JSXFragment(e,t,l){for(let n of(l(e.openingFragment,t),e.children||[]))l(n,t);l(e.closingFragment,t)},JSXOpeningElement(e,t,l){for(let n of(l(e.name,t),e.attributes||[]))l(n,t)},JSXClosingElement(e,t,l){l(e.name,t)},JSXAttribute(e,t,l){l(e.name,t),e.value&&l(e.value,t)},JSXExpressionContainer(e,t,l){l(e.expression,t)},JSXSpreadAttribute(e,t,l){l(e.argument,t)},JSXMemberExpression(e,t,l){l(e.object,t),l(e.property,t)},JSXNamespacedName(e,t,l){l(e.namespace,t),l(e.name,t)},JSXIdentifier(){},JSXText(){},JSXEmptyExpression(){},JSXOpeningFragment(){},JSXClosingFragment(){}},ee=(e,t)=>{let l=[];if(!e.trim())return l;let n=e.split("\n"),o=new Set,i=/\{\{[^}]*ctx[^}]*\}\}/,r=/\{\{[^}]*ctx[^}]*$/;for(let e=0;e<n.length;e++){let t=n[e];(i.test(t)||r.test(t))&&o.add(e)}let a=[0];for(let e=1;e<n.length;e++)a[e]=a[e-1]+n[e-1].length+1;let s=e=>{let t=0,l=a.length-1,n=0;for(;t<=l;){let o=t+l>>1;a[o]<=e?(n=o,t=o+1):l=o-1}return n},d=e=>o.has(s(e)),u=()=>{let l="possible-undefined-ctx-member-call",n="possible-unknown-ctx-member",o=(null==t?void 0:t.knownCtxMemberRoots)?new Set(Array.from(t.knownCtxMemberRoots)):null;for(let e of["t","logger","libs"])null==o||o.add(e);let i=new Set(["t"]),r=[],a=new Set,s=(e,t,l,n)=>{if(d(e))return;let o=`${l}@${e}`;a.has(o)||(a.add(o),r.push({from:e,to:Math.max(e+1,t),severity:"warning",source:l,message:n,actions:[]}))},u=e,c=u.length,p=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},h=e=>{if(!e)return!1;let t=e.charCodeAt(0);return p(e)||t>=48&&t<=57},m="code";for(let e=0;e<c;e++){let t=u[e],r=e+1<c?u[e+1]:"";if("lineComment"===m){"\n"===t&&(m="code");continue}if("blockComment"===m){"*"===t&&"/"===r&&(m="code",e+=1);continue}if("single"===m){if("\\"===t){e+=1;continue}"'"===t&&(m="code");continue}if("double"===m){if("\\"===t){e+=1;continue}'"'===t&&(m="code");continue}if("template"===m){if("\\"===t){e+=1;continue}"`"===t&&(m="code");continue}if("/"===t&&"/"===r){m="lineComment",e+=1;continue}if("/"===t&&"*"===r){m="blockComment",e+=1;continue}if("'"===t){m="single";continue}if('"'===t){m="double";continue}if("`"===t){m="template";continue}if("c"!==t||"ctx"!==u.slice(e,e+3))continue;let a=e>0?u[e-1]:"",d=e+3<c?u[e+3]:"";if("."===a||a&&h(a)||d&&h(d))continue;let f=e+3;for(;f<c&&/\s/.test(u[f]);)f++;let g=!1;"?"===u[f]&&"."===u[f+1]&&(g=!0,f+=2);let v=null;if(g)v="["===u[f]?"bracket":"dot";else if("."===u[f])v="dot",f+=1;else{if("["!==u[f])continue;v="bracket"}for(;f<c&&/\s/.test(u[f]);)f++;let y="",b=0,x=0;if("dot"===v){if(!p(u[f]||""))continue;for(b=f,f+=1;f<c&&h(u[f]||"");)f++;x=f,y=u.slice(b,x)}else{if("["!==u[f])continue;for(f+=1;f<c&&/\s/.test(u[f]);)f++;let e=u[f];if("'"!==e&&'"'!==e)continue;for(f+=1,b=f;f<c;){let t=u[f];if("\\"===t){f+=2;continue}if(t===e)break;f+=1}if(x=f,y=u.slice(b,x),u[f]!==e)continue;for(f+=1;f<c&&/\s/.test(u[f]);)f++;if("]"!==u[f])continue;f+=1}if(!y)continue;let w=f;for(;w<c&&/\s/.test(u[w]);)w++;for("?"===u[w]&&"."===u[w+1]&&(w+=2);w<c&&/\s/.test(u[w]);)w++;let S="("===u[w];o?o.has(y)||(S?s(b,x,l,`Possible undefined ctx method call: ctx.${y}(). 可能是拼写错误或未在当前 ctx API 中定义。`):s(b,x,n,`Possible unknown ctx member access: ctx.${y}. 可能是拼写错误或未在当前 ctx API 中定义。`)):S&&y.length<=2&&!i.has(y)&&s(b,x,l,`Possible undefined ctx method call: ctx.${y}(). 可能是拼写错误或未在当前 ctx API 中定义。`),e=Math.max(e,f-1)}return r},c=()=>{let t="no-noncallable-call",l=[],n=new Set,o=(e,o)=>{if(d(e))return;let i=`${e}-${o}`;n.has(i)||(n.add(i),l.push({from:e,to:Math.max(e+1,o),severity:"warning",source:t,message:"This expression is not callable.",actions:[]}))},i=e,r=i.length,a=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},s=e=>{if(!e)return!1;let t=e.charCodeAt(0);return a(e)||t>=48&&t<=57},u=e=>{let t=e;for(;t<r&&/\s/.test(i[t]);)t++;return t},c=e=>!(e>=r)&&("("===i[e]||"?"===i[e]&&"."===i[e+1]&&"("===i[e+2]),p=e=>{let t=1,l="code";for(let n=e+1;n<r;n++){let e=i[n],o=n+1<r?i[n+1]:"";if("lineComment"===l){"\n"===e&&(l="code");continue}if("blockComment"===l){"*"===e&&"/"===o&&(l="code",n+=1);continue}if("single"===l){if("\\"===e){n+=1;continue}"'"===e&&(l="code");continue}if("double"===l){if("\\"===e){n+=1;continue}'"'===e&&(l="code");continue}if("template"===l){if("\\"===e){n+=1;continue}"`"===e&&(l="code");continue}if("/"===e&&"/"===o){l="lineComment",n+=1;continue}if("/"===e&&"*"===o){l="blockComment",n+=1;continue}if("'"===e){l="single";continue}if('"'===e){l="double";continue}if("`"===e){l="template";continue}if("("===e)t++;else if(")"===e&&0==--t)return n}return -1},h=e=>"true"===e||"false"===e||"null"===e,m="code";for(let e=0;e<r;e++){let t=i[e],l=e+1<r?i[e+1]:"";if("lineComment"===m){"\n"===t&&(m="code");continue}if("blockComment"===m){"*"===t&&"/"===l&&(m="code",e+=1);continue}if("/"===t&&"/"===l){m="lineComment",e+=1;continue}if("/"===t&&"*"===l){m="blockComment",e+=1;continue}if("'"===t||'"'===t){let l=t,n=e;for(e+=1;e<r;){let t=i[e];if("\\"===t){e+=2;continue}if(t===l)break;e+=1}let a=Math.min(r,e+1);c(u(a))&&o(n,a);continue}if("`"===t){let t=e;for(e+=1;e<r;){let t=i[e];if("\\"===t){e+=2;continue}if("`"===t)break;e+=1}let l=Math.min(r,e+1);c(u(l))&&o(t,l);continue}if(t>="0"&&t<="9"){let t=e;for(e+=1;e<r&&i[e]>="0"&&i[e]<="9";)e++;if("."===i[e])for(e+=1;e<r&&i[e]>="0"&&i[e]<="9";)e++;if("e"===i[e]||"E"===i[e]){let t=i[e+1],l=e+1;if(("+"===t||"-"===t)&&(l+=1),i[l]>="0"&&i[l]<="9")for(e=l+1;e<r&&i[e]>="0"&&i[e]<="9";)e++}"n"===i[e]&&(e+=1);let l=e;c(u(l))&&o(t,l),e=l-1;continue}if(a(t)){let t=e;for(e+=1;e<r&&s(i[e]);)e++;h(i.slice(t,e))&&c(u(e))&&o(t,e),e-=1;continue}if("("===t){let t=u(e+1),l=t,n=!1;("+"===i[t]||"-"===i[t])&&(l=t,t=u(t+1));let d=i[t];if("{"===d||"["===d||"'"===d||'"'===d||"`"===d)n=!0;else if(d>="0"&&d<="9")n=!0;else if(a(d)){let e=t+1;for(;e<r&&s(i[e]);)e++;h(i.slice(t,e))&&(n=!0)}if(n){let t=p(e);t>e&&c(u(t+1))&&o(l,t)}}}return l},p=null;try{let t=Y.Parser||Y;p=("function"==typeof X()?t.extend(X()()):t).parse(e,{ecmaVersion:2022,sourceType:"script",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,locations:!0})}catch(i){let t=i,n=0,o=e.length;return t.loc?o=(n=e.split("\n").slice(0,t.loc.line-1).join("\n").length+ +(t.loc.line>1)+t.loc.column)+1:void 0!==t.pos&&(o=(n=t.pos)+1),d(n)||l.push({from:n,to:o,severity:"error",message:`Syntax error: ${t.message}`,actions:[]}),l.push(...u()),l.push(...c()),l}try{let e=function(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"warning";d(e)||l.push({from:e,to:t,message:n,severity:o,actions:[]})},n=new Set(["ctx","console","window","navigator","document","Math","Date","Array","Object","Number","String","Boolean","Promise","RegExp","Set","Map","WeakSet","WeakMap","JSON","Intl","URL","Blob","Error","TypeError","encodeURIComponent","decodeURIComponent","parseInt","parseFloat","isNaN","isFinite","undefined","NaN","Infinity"]),o=e=>{e&&"string"==typeof e.name&&n.add(e.name)},i=e=>{if(!e)return;let t=[e];for(;t.length;){let e=t.pop();e&&("Identifier"===e.type?o(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)))}};Q.a2(p,e=>{switch(null==e?void 0:e.type){case"VariableDeclarator":i(e.id);break;case"FunctionDeclaration":case"FunctionExpression":o(e.id),(e.params||[]).forEach(i);break;case"ArrowFunctionExpression":(e.params||[]).forEach(i);break;case"CatchClause":i(e.param);break;case"ClassDeclaration":o(e.id)}},Z),Q.a2(p,t=>{if(t&&"string"==typeof t.type){if("CallExpression"===t.type){let e=t.callee;if(!(e&&("Identifier"===e.type||"MemberExpression"===e.type||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type||"CallExpression"===e.type||"ChainExpression"===e.type))){let n=((null==e?void 0:e.loc)&&e.start)??t.start,o=((null==e?void 0:e.loc)&&e.end)??t.end;if(d(n))return;l.push({from:n,to:o,severity:"warning",source:"no-noncallable-call",message:"This expression is not callable.",actions:[]})}}else if("NewExpression"===t.type){let l=t.callee;if(!(l&&("Identifier"===l.type||"MemberExpression"===l.type||"CallExpression"===l.type))){let n=((null==l?void 0:l.loc)&&l.start)??t.start,o=((null==l?void 0:l.loc)&&l.end)??t.end;e(n,o,"This constructor is not a function.")}}}},Z);try{let e="possible-undefined-ctx-member-call",n="possible-unknown-ctx-member",o=new Set,i=(null==t?void 0:t.knownCtxMemberRoots)?new Set(Array.from(t.knownCtxMemberRoots)):null;for(let e of["t","logger","libs"])null==i||i.add(e);let r=new Set(["t"]);Q.a2(p,t=>{var n,a,s,u;if(!t||"string"!=typeof t.type||"CallExpression"!==t.type)return;let c=t.callee;if((null==c?void 0:c.type)==="ChainExpression"&&(c=c.expression),!c||"MemberExpression"!==c.type)return;let p=c.object;if(!p||"Identifier"!==p.type||"ctx"!==p.name)return;let h=null;if(c.computed||(null==(n=c.property)?void 0:n.type)!=="Identifier"?c.computed&&(null==(a=c.property)?void 0:a.type)==="Literal"&&"string"==typeof c.property.value&&(h=c.property.value):h=c.property.name,!h)return;let m=String(h).trim();if(!m||m.startsWith("_"))return;if(i){if(i.has(m))return}else if(m.length>2||r.has(m))return;let f=(null==(s=c.property)?void 0:s.start)??c.start??t.start,g=(null==(u=c.property)?void 0:u.end)??f+1,v=`${m}@${f}`;o.has(v)||d(f)||(l.push({from:f,to:g,severity:"warning",source:e,message:`Possible undefined ctx method call: ctx.${m}(). 可能是拼写错误或未在当前 ctx API 中定义。`,actions:[]}),o.add(v))},Z);let a=new Set;Q.ai(p,{MemberExpression(e,t){var o,r,s,u;if(!i)return;let c=t[t.length-2];if((null==c?void 0:c.type)==="CallExpression"){let t=c.callee;if((null==t?void 0:t.type)==="ChainExpression"&&(t=t.expression),t===e)return}let p=null==e?void 0:e.object;if(!p||"Identifier"!==p.type||"ctx"!==p.name)return;let h=null;if(e.computed||(null==(o=e.property)?void 0:o.type)!=="Identifier"?e.computed&&(null==(r=e.property)?void 0:r.type)==="Literal"&&"string"==typeof e.property.value&&(h=e.property.value):h=e.property.name,!h)return;let m=String(h).trim();if(!m||m.startsWith("_")||i.has(m))return;let f=(null==(s=e.property)?void 0:s.start)??e.start??0,g=(null==(u=e.property)?void 0:u.end)??f+1,v=`${m}@${f}`;a.has(v)||d(f)||(l.push({from:f,to:g,severity:"warning",source:n,message:`Possible unknown ctx member access: ctx.${m}. 可能是拼写错误或未在当前 ctx API 中定义。`,actions:[]}),a.add(v))}},Z)}catch(e){}let r=new Set;Q.ai(p,{Identifier(t,l){let o=t.name;if(!o||n.has(o)||r.has(o))return;let i=l[l.length-2];if(!i||"VariableDeclarator"===i.type&&i.id===t||"FunctionDeclaration"===i.type&&i.id===t||"FunctionExpression"===i.type&&i.id===t||"ClassDeclaration"===i.type&&i.id===t||"ClassExpression"===i.type&&i.id===t||"Property"===i.type&&i.key===t&&!0!==i.computed||"MemberExpression"===i.type&&i.property===t&&!0!==i.computed||"LabeledStatement"===i.type&&i.label===t||"BreakStatement"===i.type&&i.label===t||"ContinueStatement"===i.type&&i.label===t)return;let a=t.start??0,s=t.end??a+1;e(a,s,`Possible undefined variable: ${o}`,"warning"),r.add(o)}},Z)}catch(e){}return l},et=e=>(0,d.bu)(t=>ee(t.state.doc.toString(),e)),el=[".ant-modal-content",".ant-modal",".ant-drawer-content",".ant-drawer-content-wrapper"],en=e=>{let t=(null==e?void 0:e.ownerDocument)??document;for(let t of el){let l=null==e?void 0:e.closest(t);if(l instanceof HTMLElement)return l}return t.getElementById("nocobase-embed-container")||t.body},eo=e=>{let{value:t="",onChange:l,placeholder:i="",height:r="100%",minHeight:a,theme:s="light",readonly:u=!1,enableLinter:c=!1,knownCtxMemberRoots:p,extraCompletions:h,completionSource:m,viewRef:f}=e,g=(0,o.useRef)(null),v=(0,o.useRef)();return(0,o.useEffect)(()=>{v.current=l},[l]),(0,o.useEffect)(()=>{var e,l;if(!g.current)return;let n=e=>t=>{let l=t.matchBefore(/[$_\p{Letter}][$_\p{Letter}\p{Number}.-]*/u);return l?l.from!==l.to||t.explicit?{from:l.from,to:l.to,options:e}:null:t.explicit?{from:t.pos,to:t.pos,options:e}:null},o=void 0===a?void 0:"string"==typeof a?a:`${a}px`,y="string"==typeof o?{".cm-gutter,.cm-content":{minHeight:o}}:{},b=[S.o,j(),(0,x.yU)({override:[O(),G(),..."function"==typeof m?[m]:Array.isArray(h)&&h.length?[n(h)]:[]],closeOnBlur:!1,activateOnTyping:!0}),...i?[(0,M.qf)(i)]:[],...c?[(0,d.pJ)(),et({knownCtxMemberRoots:p})]:[],(0,M.vX)({parent:en(g.current)}),M.Lz.updateListener.of(e=>{if(e.docChanged&&!u){let l=e.state.doc.toString();try{var t;null==(t=v.current)||t.call(v,l)}catch(e){}}}),M.Lz.theme({"&.cm-editor":{height:"string"==typeof r?r||"100%":`${r}px`},...y,".cm-scroller":{fontFamily:'"Fira Code", "Monaco", "Menlo", "Ubuntu Mono", monospace',overflow:"auto"},".cm-placeholder":{color:"#999",fontStyle:"normal",whiteSpace:"pre",pointerEvents:"none"},".cm-diagnostic":{padding:"4px 8px",borderRadius:"4px",border:"1px solid #d9d9d9",backgroundColor:"#fff",boxShadow:"0 2px 8px rgba(0,0,0,0.1)",fontSize:"12px",maxWidth:"300px"},".cm-diagnostic-error":{borderLeftColor:"#ff4d4f",borderLeftWidth:"3px"},".cm-diagnostic-warning":{borderLeftColor:"#faad14",borderLeftWidth:"3px"},".cm-diagnostic-info":{borderLeftColor:"#1890ff",borderLeftWidth:"3px"},".cm-lintRange-error":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%23ff4d4f' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-lintRange-warning":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%23faad14' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-lintRange-info":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%231890ff' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-tooltip":{zIndex:1}})];"dark"===s&&b.push(w.bM);let F=f.current&&"function"==typeof(null==(l=f.current.state)||null==(e=l.doc)?void 0:e.toString)?f.current.state.doc.toString():t||"",A=new M.Lz({doc:F,extensions:b,parent:g.current});return f.current=A,()=>{try{A.destroy()}catch(e){}f.current=null}},[m,h,c,r,a,s,u,i]),(0,o.useEffect)(()=>{let e=f.current;e&&e.state.doc.toString()!==(t||"")&&e.dispatch({changes:{from:0,to:e.state.doc.length,insert:t||""}})},[t]),(0,n.jsx)(n.Fragment,{children:(0,n.jsx)("div",{style:{flex:1,minHeight:120},ref:g})})};var ei=l(52930),er=l(50467),ea=l(96436);class es{static registerRightExtra(e){es.rightExtras.register(e.name,e.extra)}static getRightExtras(){return Array.from(es.rightExtras.getValues())}}(0,er._)(es,"rightExtras",new ea.Registry);let ed=e=>{let{name:t="code",language:l="javascript",scene:i,extraEditorRef:r,onActionCountChange:a,extraContent:s}=e,d=es.getRightExtras(),[u,c]=(0,o.useState)({}),p=(0,o.useCallback)((e,t)=>{c(l=>{let n={...l,[e]:t},o=Object.values(n).filter(Boolean).length;return null==a||a(o),n})},[a]),h={padding:"8px",borderBottom:"1px solid #d9d9d9"},{visible:m}=(0,o.useMemo)(()=>{let e=Object.values(u).some(Boolean),t=Array.isArray(d)&&d.length>0,l=!!s;return{visible:e||t||l}},[u,d,s]);return((0,o.useEffect)(()=>{r.buttonGroupHeight=50*!!m},[m,r]),m)?(0,n.jsx)(ei.A,{gap:"middle",justify:"flex-end",align:"center",style:h,children:(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[s,d.map(e=>{let o=e;return(0,n.jsx)(o,{name:t,language:l,scene:i,editorRef:r,setActive:p},e.name)})]})}):null},eu=e=>{let{logs:t,onJumpTo:l,tr:o}=e;return(0,n.jsxs)("div",{style:{borderTop:"1px solid #d9d9d9",maxHeight:180,overflow:"auto",padding:"8px 12px",background:"#fff"},children:[(0,n.jsx)("div",{style:{fontWeight:600,marginBottom:6},children:o("Logs")}),0===t.length?(0,n.jsx)("div",{style:{color:"#999"},children:o("No logs yet. Click Run to execute.")}):t.map((e,t)=>{let i="error"===e.level?"#ff4d4f":"warn"===e.level?"#faad14":"#333",r=("error"===e.level||"warn"===e.level)&&"number"==typeof e.line&&"number"==typeof e.column,a="number"==typeof e.line?Math.max(1,e.line-u):e.line,s="string"==typeof e.msg&&/[((]line\s*\d+(:\d+)?[))]/i.test(e.msg);return(0,n.jsxs)("pre",{onClick:r?()=>{"number"==typeof e.line&&"number"==typeof e.column&&(null==l||l(e.line,e.column))}:void 0,style:{margin:0,whiteSpace:"pre-wrap",color:i,cursor:r?"pointer":"default",textDecoration:r?"underline dotted":"none"},children:["[",e.level,"] ",e.msg,r&&!s?` (${o("at")} ${a}:${e.column})`:""]},t)})]})};var ec=l(97134),ep=l(95725),eh=l(75292),em=l(85196);let ef=e=>{let{open:t,onClose:l,getContainer:i,entries:r,onInsert:a,tr:s}=e,[d,u]=(0,o.useState)(""),c=(0,o.useMemo)(()=>{if(!d)return r;let e=d.toLowerCase();return r.filter(t=>t.name.toLowerCase().includes(e)||(t.prefix||"").toLowerCase().includes(e)||(t.description||"").toLowerCase().includes(e)||([...t.groups||[],t.group].filter(Boolean).join(" ")||"").toLowerCase().includes(e)||t.body.toLowerCase().includes(e))},[r,d]),p=(0,o.useMemo)(()=>{let e={global:s("Common"),libs:s("Libs"),"scene/block":s("Block"),"scene/detail":s("Detail"),"scene/form":s("Form"),"scene/table":s("Table")};return t=>t?e[t]||t:""},[s]);return(0,n.jsxs)(ec.A,{title:s("Snippets"),open:t,onClose:l,getContainer:i,width:"100%",destroyOnClose:!0,children:[(0,n.jsx)(ep.A,{placeholder:s("Search snippets (name / prefix / body / group)"),allowClear:!0,value:d,onChange:e=>u(e.target.value),style:{marginBottom:12}}),(0,n.jsx)(eh.A,{dataSource:c,renderItem:e=>{var t;let l=(null==(t=e.groups)?void 0:t.length)?e.groups:e.group?[e.group]:[];return(0,n.jsx)(eh.A.Item,{actions:[(0,n.jsx)(y.Ay,{size:"small",type:"primary",onClick:()=>{a(e.body.endsWith("\n")?e.body:e.body+"\n")},children:s("Insert")},"insert")],children:(0,n.jsx)(eh.A.Item.Meta,{title:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{children:e.name}),e.prefix?(0,n.jsx)(em.A,{style:{marginLeft:8},children:e.prefix}):null,l.map(e=>(0,n.jsx)(em.A,{color:"blue",style:{marginLeft:8},children:p(e)},e))]}),description:e.description||p(l[0])||e.ref||""})})}})]})},eg={trace:"log",debug:"log",info:"info",warn:"warn",error:"error",fatal:"error"};function ev(e){try{if("string"==typeof e)return e;return JSON.stringify(e)}catch(t){try{return String(e)}catch(e){return"[Unstringifiable]"}}}function ey(e){return{log:function(){for(var t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];return e("log",l)},info:function(){for(var t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];return e("info",l)},warn:function(){for(var t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];return e("warn",l)},error:function(){for(var t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];return e("error",l)}}}function eb(e){let t=String(e||"").match(/[((]line\s*(\d+)(?::(\d+))?[))]/i);if(!t)return null;let l=Number(t[1]),n=Number(t[2]||1);return!Number.isFinite(l)||l<=0?null:!Number.isFinite(n)||n<=0?{line:l,column:1}:{line:l,column:n}}function ex(e){let t=new WeakMap,l=new WeakMap,n=o=>{if(!o||"object"!=typeof o&&"function"!=typeof o||l.has(o))return o;let i=t.get(o);if(i)return i;let r=new Proxy(o,{get(t,l,o){if("child"===l&&"function"==typeof t.child)return function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return n(t.child.apply(t,l))};if("string"==typeof l&&l in eg&&"function"==typeof t[l]){let n=eg[l];return function(){for(var o=arguments.length,i=Array(o),r=0;r<o;r++)i[r]=arguments[r];try{e(n,i)}catch(e){}return t[l].apply(t,i)}}let i=Reflect.get(t,l,o);return"function"==typeof i?i.bind(t):i}});return t.set(o,r),l.set(r,o),r};return n}function ew(e){var t;let l=(null==e?void 0:e.inputArgs)||{},n=null==l?void 0:l.openerUids,o=null==e||null==(t=e.navigation)?void 0:t.viewStack;return Array.isArray(n)&&n.length>0||Array.isArray(o)&&o.length>=2}async function eS(e){if(!e)return!1;try{if(await e.popup)return!0}catch(e){}try{return ew(await e.view)}catch(e){return!1}}function eM(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",[l,n]=(0,o.useState)([]),[r,a]=(0,o.useState)(!1),s=(0,o.useRef)(0),d=(0,o.useRef)(null),c=(0,o.useCallback)(()=>n([]),[]);return{run:(0,o.useCallback)(async l=>{var o;let r=(null==e?void 0:e.t)||(e=>e);a(!0),n([]),s.current+=1;let c=s.current;null==(o=d.current)||o.call(d),d.current=null;try{let o,a,h=null==e?void 0:e.model;if(!h)throw Error("No model in FlowContext");let m=e.engine.getModel(h.uid,!0)||h,[f,g]=await Promise.all([eS(e),eS(h.context)]),v=f||g?h:m,y=f?e:g?h.context:e,b={log:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.log(...t)},info:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.info(...t)},warn:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.warn(...t)},error:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.error(...t)}},x=(e,t)=>{let l=t.map(e=>ev(e)).join(" "),o="warn"===e?eb(l):null;o?n(t=>[...t,{level:e,msg:l,line:o.line+u,column:o.column}]):n(t=>[...t,{level:e,msg:l}])},w=(e,t)=>{var l;x(e,t),null==(l=b[e])||l.call(b,...t)},S=ey(w),M=ex(x),F=["jsSettings","clickSettings"].find(e=>v.getFlow(e))||"jsSettings",[A,k]=await Promise.all([(0,i.prepareRunJsCode)(l,{preprocessTemplates:!0}).catch(()=>void 0),(0,i.prepareRunJsCode)(l,{preprocessTemplates:!1}).catch(()=>void 0)]),C=i.JSRunner.prototype,P=C.run,j=()=>{},I=new Promise(e=>j=e),E=!1,R=()=>{E||(E=!0,i.JSRunner.prototype.run=P,d.current=null)};d.current=R,C.run=async function(e){var t,n,i,r,a;let s=e===l||e===A||e===k,d=null==(n=this)||null==(t=n.globals)?void 0:t.console,u=(null==(r=this)||null==(i=r.globals)?void 0:i.ctx)?Object.getOwnPropertyDescriptor(this.globals.ctx,"logger"):void 0;try{this.globals||(this.globals={});try{this.globals.console=S}catch(e){console.warn("[useCodeRunner] inject console failed:",e)}try{if(this.globals.ctx){let e=this.globals.ctx.logger,t=M(e);Object.defineProperty(this.globals.ctx,"logger",{configurable:!0,enumerable:!0,writable:!1,value:t})}}catch(e){console.warn("[useCodeRunner] inject logger failed:",e)}}catch(e){console.warn("[useCodeRunner] inject globals failed:",e)}try{let t=await P.call(this,e);return s&&(o=t,j(t)),t}finally{try{void 0===d?delete this.globals.console:this.globals.console=d}catch(e){console.warn("[useCodeRunner] restore console failed:",e)}try{(null==(a=this.globals)?void 0:a.ctx)&&(void 0===u?delete this.globals.ctx.logger:Object.defineProperty(this.globals.ctx,"logger",u))}catch(e){console.warn("[useCodeRunner] restore logger failed:",e)}}};let _=async e=>{var n;let o=null==e||null==(n=e.getFlow)?void 0:n.call(e,F),r=(null==o?void 0:o.manual)===!0,a=null==o?void 0:o.on,s="string"==typeof a?a:null==a?void 0:a.eventName;if(o)"string"==typeof s?await e.dispatchEvent(s,{preview:{code:l}},{sequential:!0,useCache:!1}):r?await e.applyFlow(F,{preview:{code:l}}):await e.dispatchEvent("beforeRender",{preview:{code:l}},{sequential:!0,useCache:!1});else{let e=(0,i.createSafeNavigator)();await y.runjs(l,{window:(0,i.createSafeWindow)({navigator:e}),document:(0,i.createSafeDocument)(),navigator:e},{version:t})}};try{await _(v)}catch(e){throw R(),e}let T=e=>{if(null==e?void 0:e.success)w("info",[r("Execution succeeded")]);else{var t;let l=(null==e?void 0:e.timeout)?r("Execution timed out"):String((null==e?void 0:e.error)||r("Unknown error")),o=(null==e||null==(t=e.error)?void 0:t.__runjsHideLocation)?null:p(null==e?void 0:e.error);o&&"number"==typeof o.line&&"number"==typeof o.column?n(e=>[...e,{level:"error",msg:l,line:o.line,column:o.column}]):w("error",[l])}};if(o)return R(),a=o,T(a),a;let D=12e3;return(async()=>{let e=await Promise.race([I,new Promise(e=>setTimeout(()=>e({success:!1,timeout:!0,error:Error("Preview timed out")}),D))]);s.current===c&&(R(),T(e))})(),{success:!0,value:void 0}}catch(t){let e=t instanceof Error?t.message:String(t)||r("Run preview failed");return n(t=>[...t,{level:"error",msg:e}]),{success:!1,error:t}}finally{a(!1)}},[e,t]),logs:l,clearLogs:c,running:r}}var eF=l(2077);let eA=/[$_\p{Letter}][$_\p{Letter}\p{Number}.-]*/u,ek=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then;function eC(e){let{hostCtx:t,staticOptions:l,metaRoots:n}=e,o=Array.isArray(l)?l:[],i=G(),r=Array.isArray(n)&&n.length>0?new Set(n.map(e=>String(e))):null,a=new Map,s=new Map,d={},u=e=>{if("string"!=typeof e||!e)return"";try{let l=null==t?void 0:t.t;return"function"==typeof l?String(l(e)):e}catch(t){return e}},c=e=>"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):"",p=e=>"string"==typeof e?e.trim():"",h=(e,t)=>{try{let l="number"==typeof t&&Number.isFinite(t)?Math.max(0,Math.floor(t)):0,n=Math.max(0,l-4e3),o=(null==e?void 0:e.sliceString)?String(e.sliceString(n,l)||""):"";if(!o)return!1;let i=!1,r=!1,a=!1,s=!1,d=!1,u=!1;for(let e=0;e<o.length;e++){let t=o[e],l=o[e+1];if(s){"\n"===t&&(s=!1);continue}if(d){"*"===t&&"/"===l&&(d=!1,e++);continue}if(i){if(u){u=!1;continue}if("\\"===t){u=!0;continue}"'"===t&&(i=!1);continue}if(r){if(u){u=!1;continue}if("\\"===t){u=!0;continue}'"'===t&&(r=!1);continue}if(a){if(u){u=!1;continue}if("\\"===t){u=!0;continue}"`"===t&&(a=!1);continue}if("/"===t&&"/"===l){s=!0,e++;continue}if("/"===t&&"*"===l){d=!0,e++;continue}if("'"===t){i=!0;continue}if('"'===t){r=!0;continue}if("`"===t){a=!0;continue}}return i||r||a}catch(e){return!1}},m=async e=>{if(!e)return[];if("function"==typeof e)try{let t=await e();return Array.isArray(t)?t:[]}catch(e){return[]}return Array.isArray(e)?e:[]},f=async e=>{if(!(null==e?void 0:e.children))return[];if("function"==typeof e.children)try{let t=await e.children(),l=Array.isArray(t)?t:[];return e.children=l,l}catch(e){return[]}return Array.isArray(e.children)?e.children:[]},g=e=>e.some(e=>"string"==typeof e&&e.startsWith("_")),v=async e=>{try{let t=null==e?void 0:e.hidden,l="function"==typeof t?t():t;return!!(ek(l)?await l:l)}catch(e){return!1}},y=async e=>{try{let t=null==e?void 0:e.disabled,l="function"==typeof t?t():t;if(!(ek(l)?await l:l))return{disabled:!1};let n=null==e?void 0:e.disabledReason,o="function"==typeof n?n():n,i=ek(o)?await o:o,r=u(c(i));return{disabled:!0,reason:r||void 0}}catch(e){return{disabled:!1}}},b=async()=>(d.promise||(d.promise=(async()=>{try{let e=null==t?void 0:t.popup,l=ek(e)?await e:e;return!!(null==l?void 0:l.uid)}catch(e){return!0}})()),d.promise),x=async e=>{if(!t||"function"!=typeof t.getPropertyMetaTree)return[];if(a.has(e))return await a.get(e);let l=(async()=>{try{let l=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);if(!l.length||"ctx"!==l[0]||l.length<2)return[];let n=l[1];if(!n||n.startsWith("_")||r&&!r.has(n)||"popup"===n&&!await b())return[];let o=async()=>{if(s.has(n))return await s.get(n);let e=(async()=>{try{let e=t.getPropertyMetaTree(`{{ ctx.${n} }}`);return await m(e)}catch(e){return[]}})();return s.set(n,e),await e},i=l.slice(2),a=await o();if(!i.length)return a;for(let e of i){if(!e||e.startsWith("_"))return[];let t=Array.isArray(a)?a.find(t=>String((null==t?void 0:t.name)??"")===e):null;if(!t)return[];a=await f(t)}return Array.isArray(a)?a:[]}catch(e){return[]}})();return a.set(e,l),await l},w=async(e,t,l)=>{if(!e||"string"!=typeof e||!e.startsWith("ctx."))return[];let n=t>0&&"."===l,o=e.split(".").map(e=>e.trim()).filter(Boolean);if("ctx"!==o[0])return[];let i=n?o:o.slice(0,-1);if(i.length<2)return[];let a=i[1];if(!a||a.startsWith("_")||i.some((e,t)=>t>0&&"string"==typeof e&&e.startsWith("_"))||r&&!r.has(a)||"popup"===a&&!await b())return[];let s=i.join("."),d=await x(s);if(!d.length)return[];let p=[];for(let e of d){let t=(Array.isArray(null==e?void 0:e.paths)?e.paths:[]).map(e=>String(e)).filter(Boolean);if(!t.length||g(t))continue;let l=`ctx.${t.join(".")}`;if(!l.startsWith("ctx.")||await v(e))continue;let n=u(c(null==e?void 0:e.title))||u(c(null==e?void 0:e.name))||t[t.length-1],o=[...Array.isArray(null==e?void 0:e.parentTitles)?e.parentTitles.map(e=>u(c(e))).filter(Boolean):[],n].filter(Boolean).join(" / "),{disabled:i,reason:r}=await y(e),a=[];o&&a.push(o),i&&a.push("Disabled:",`- ${r||"true"}`);let s=a.join("\n")||o||n||l;p.push({label:l,type:"property",detail:o||"context value",info:s,boost:110,apply:(e,t,n,o)=>{var i;let r=h(null==e||null==(i=e.state)?void 0:i.doc,n)?l:`await ctx.getVar('${l}')`;e.dispatch({changes:{from:n,to:o,insert:r},selection:{anchor:n+r.length},scrollIntoView:!0})}})}return p},S=e=>{let t=new Set,l=[];for(let n=e.length-1;n>=0;n--){let o=e[n],i="string"==typeof(null==o?void 0:o.label)?p(o.label):"";if(i){if(t.has(i))continue;t.add(i)}l.push(e[n])}return l.reverse(),l};return async e=>{try{if(N(e))return null}catch(e){}try{if(i(e))return null}catch(e){}let t=e.matchBefore(eA);if(!t)return e.explicit?{from:e.pos,to:e.pos,options:o}:null;if(t.from===t.to&&!e.explicit)return null;let l=e.pos>0?e.state.doc.sliceString(e.pos-1,e.pos):"",n=[];try{n=await w(t.text,e.pos,l)}catch(e){n=[]}let r=e=>{if(!e||"string"!=typeof e||!e.startsWith("ctx."))return;let t=e.split(".").map(e=>e.trim()).filter(Boolean);if("ctx"!==t[0])return;let l=t[1];return l&&"string"==typeof l?l:void 0},a=n.length>0?r(t.text):void 0,s=a&&a.length?o.filter(e=>{let t="string"==typeof(null==e?void 0:e.label)?p(e.label):"";return!!(!t||!t.startsWith("ctx.")||"ctx"===t||(null==e?void 0:e.type)==="function"||t.endsWith("()"))||!(t===`ctx.${a}`||t.startsWith(`ctx.${a}.`))}):o,d=n.length>0?S([...s,...n]):o;return{from:t.from,to:t.to,options:d}}}function eP(e){return(Array.isArray(e)?e:e?[e]:[]).map(e=>String(e).trim()).filter(Boolean)}let ej={DetailsItemModel:["detailFieldEvent"],DetailsCustomItemModel:["detailFieldEvent"],TableColumnModel:["tableFieldEvent"],TableCustomColumnModel:["tableFieldEvent"],SubTableColumnModel:["tableFieldEvent"],FormItemModel:["formFieldEvent"],FilterFormItemModel:["formFieldEvent"]};function eI(e,t){var l,n;if(!eP(t).includes("eventFlow"))return;let o=null==e||null==(n=e.model)||null==(l=n.constructor)?void 0:l.name;if(!o||"string"!=typeof o)return;let i=ej[o];return(null==i?void 0:i.length)?[...i]:void 0}function eE(e,t){let l=Array.from(new Set([...eP(e),...eP(t)]));return l.length?l:void 0}var eR=l(85387);let e_=e=>{let{value:t="",onChange:l,placeholder:r="",height:a="100%",minHeight:d,theme:u="light",readonly:x=!1,enableLinter:w=!1,wrapperStyle:S,extraCompletions:M,version:F="v1",name:A,language:k,scene:C,RightExtra:P,showLogs:j=!0}=e,I=(0,o.useRef)(null),E=(0,o.useRef)(null),{isFullscreen:R,toggleFullscreen:_,placeholderRef:T,placeholderStyle:D,container:N}=(0,eF.Zn)(),O=(0,i.useFlowContext)(),$=(0,o.useMemo)(()=>{let e;if(O)try{let t=(0,i.getRunJSScenesForContext)(O,{version:F});e=t.length?t:void 0}catch(t){e=void 0}let t=eI(O,C);try{return eE(C,eE(e,t))}catch(e){return eE(C)}},[C,O,F]),{completions:B,entries:L}=s(O,F,$),{run:q,logs:V,running:z}=eM(O,F),[K,U]=(0,o.useState)(!1),W=(0,o.useCallback)(()=>{let e=I.current;return e&&(e.closest(".ant-drawer-content-wrapper")||e.closest(".ant-drawer-content")||e.closest(".ant-modal-content")||e.parentElement)||document.body},[]),H=(0,o.useCallback)((e,t)=>{try{return(null==O?void 0:O.t)?O.t(e,t):e}catch(t){return e}},[O]),G=(0,o.useMemo)(()=>{let e=[];return Array.isArray(B)&&e.push(...B),Array.isArray(M)&&e.push(...M),e},[M,B]),Y=(0,o.useMemo)(()=>eC({hostCtx:O,staticOptions:G}),[O,G]),J=(0,o.useCallback)(async()=>{var e;let t=(null==(e=E.current)?void 0:e.state.doc.toString())||"";c(E.current);let l=await q(t);if(!(null==l?void 0:l.success)){let e=null==l?void 0:l.error,t=(null==l?void 0:l.timeout)?H("Execution timed out"):String(e||H("Unknown error")),n=p(e);n&&E.current&&h(E.current,n.line,n.column,t)}return l},[q,H]),X=(0,o.useRef)({write(e){let t=E.current;t&&t.state.doc.toString()!==e&&t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}})},read(){let e=E.current;return e?e.state.doc.toString():""},run:()=>Promise.resolve(void 0),buttonGroupHeight:0,snippetEntries:[],logs:[]});X.current.snippetEntries=L,X.current.logs=V,X.current.run=J,(0,o.useEffect)(()=>{var e;null==(e=E.current)||e.requestMeasure()},[R]);let Q=(0,n.jsx)(v.A,{title:R?H("Exit fullscreen"):H("Fullscreen"),children:(0,n.jsx)(y.Ay,{size:"small","aria-label":R?H("Exit fullscreen"):H("Fullscreen"),icon:R?(0,n.jsx)(f.A,{}):(0,n.jsx)(g.A,{}),onClick:_})}),Z=(0,n.jsxs)("div",{style:{border:R?"none":"1px solid #d9d9d9",borderRadius:R?0:"6px",overflow:"visible",position:"relative",display:"flex",flexDirection:"column",boxSizing:R?"border-box":void 0,padding:R?16:void 0,height:R?"100%":void 0,minHeight:R?0:void 0,...S},ref:I,children:[(0,n.jsx)(ed,{name:A,language:k,scene:$,extraEditorRef:X.current,extraContent:(0,n.jsxs)(n.Fragment,{children:[P?(0,n.jsx)(P,{viewRef:E}):(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,n.jsx)(y.Ay,{size:"small",onClick:()=>U(!0),children:H("Snippets")}),(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(y.Ay,{size:"small",loading:z,onClick:J,children:H("Run")})})]}),Q]})}),(0,n.jsx)(eo,{value:t,onChange:l,placeholder:r,height:R?"100%":a,minHeight:d,theme:u,readonly:x,enableLinter:w,completionSource:Y,viewRef:E}),j?(0,n.jsx)(eu,{logs:V,onJumpTo:(e,t)=>{let l=E.current;l&&m(l,e,t)},tr:H}):null,(0,n.jsx)(ef,{open:K,onClose:()=>U(!1),getContainer:W,entries:L,tr:H,onInsert:e=>{let t=E.current;if(!t)return;let{from:l,to:n}=t.state.selection.main,o=l+e.length;t.dispatch({changes:{from:l,to:n,insert:e},selection:{anchor:o},scrollIntoView:!0}),t.focus(),U(!1)}})]});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{ref:T,style:R?D:{display:"contents"}}),N?(0,b.createPortal)(Z,N):null]})}},85387(e,t,l){l.d(t,{by:()=>O,fL:()=>$,hP:()=>c,previewRunJS:()=>L});var n=l(14442),o=l(52704),i=l(11978),r=l(19214),a=l.n(r),s=l(79420),d=l(11869);let u={...s.E3,JSXElement(e,t,l){for(let n of(l(e.openingElement,t),e.children||[]))l(n,t);e.closingElement&&l(e.closingElement,t)},JSXFragment(e,t,l){for(let n of(l(e.openingFragment,t),e.children||[]))l(n,t);l(e.closingFragment,t)},JSXOpeningElement(e,t,l){for(let n of(l(e.name,t),e.attributes||[]))l(n,t)},JSXClosingElement(e,t,l){l(e.name,t)},JSXAttribute(e,t,l){l(e.name,t),e.value&&l(e.value,t)},JSXExpressionContainer(e,t,l){l(e.expression,t)},JSXSpreadAttribute(e,t,l){l(e.argument,t)},JSXMemberExpression(e,t,l){l(e.object,t),l(e.property,t)},JSXNamespacedName(e,t,l){l(e.namespace,t),l(e.name,t)},JSXIdentifier(){},JSXText(){},JSXEmptyExpression(){},JSXOpeningFragment(){},JSXClosingFragment(){}},c=4e3,p=5e3,h=1600,m=1,f=(0,n.Q2)({jsx:!0}).language.parser,g=/\{\{[^}]*ctx[^}]*\}\}/,v=/\{\{[^}]*ctx[^}]*$/;function y(e){try{if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return String(e);if(e instanceof Error)return e.message||String(e);return JSON.stringify(e)}catch(t){try{return String(e)}catch{return"[Unstringifiable]"}}}function b(e,t){let l=String(e||"");if(l.length<=t)return l;if(t<=3)return l.slice(0,t);let n=Math.floor((t-3)/2),o=t-3-n;return`${l.slice(0,n)}...${l.slice(-o)}`}function x(e){try{let t=new URL(e),l=t.pathname||"",n=l.split("/").filter(Boolean).pop()||l||"bundle.js";return`${t.origin}/.../${b(n,80)}`}catch{return b(e,120)}}function w(e){let t=String(e||"").trimEnd();t=t.replace(/https?:\/\/[^\s)]+/g,e=>x(e));for(let e=0;e<4;e++){let e=t.replace(/eval at [^()]*\(/g,"eval(");if(e===t)break;t=e}return(t=t.replace(/\(\s*eval\s*\(/g,"(eval(")).replace(/\s+/g," ").trim()}function S(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m,l=String(e||"").split("\n").map(e=>w(e)).filter(e=>!!e);if(!l.length)return"";let n=l[0],o=l.slice(1),i=[];for(let e of o)e&&(i.length>0&&i[i.length-1]===e||i.push(e));let r=i.slice(0,Math.max(0,t)),a=Math.max(0,i.length-r.length),s=[n,...r];return a>0&&s.push(`... (${a} frames omitted)`),s.join("\n")}function M(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h,l=(null==e?void 0:e.stack)?String(e.stack):"";if(!l)return;let n=S(l);return n.length<=t?n:`${n.slice(0,Math.max(0,t-16))}
262
262
  ... (stack truncated)`}function F(e){let t=String(e||"").split("\n"),l=new Set;for(let e=0;e<t.length;e++){let n=t[e];(g.test(n)||v.test(n))&&l.add(e)}if(0===l.size)return()=>!1;let n=[0];for(let e=1;e<t.length;e++)n[e]=n[e-1]+t[e-1].length+1;let o=e=>{let t=0,l=n.length-1,o=0;for(;t<=l;){let i=t+l>>1;n[i]<=e?(o=i,t=i+1):l=i-1}return o};return e=>l.has(o(e))}function A(e,t){let l=Math.max(0,Math.min(e.length,Math.floor(t))),n=e.lineAt(l);return{line:n.number,column:l-n.from+1}}function k(e){return[...e].sort((e,t)=>{var l,n,o,i,r,a,s,d;let u=+("lint"!==e.type),c=+("lint"!==t.type);if(u!==c)return u-c;let p=(null==(n=e.location)||null==(l=n.start)?void 0:l.line)??Number.MAX_SAFE_INTEGER,h=(null==(i=t.location)||null==(o=i.start)?void 0:o.line)??Number.MAX_SAFE_INTEGER;if(p!==h)return p-h;let m=(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 m!==f?m-f:String(e.ruleId||"").localeCompare(String(t.ruleId||""))})}function C(e){let t={error:0,warn:1,info:2,log:3};return e.map((e,t)=>({log:e,index:t})).sort((e,l)=>{let n=t[e.log.level]??Number.MAX_SAFE_INTEGER,o=t[l.log.level]??Number.MAX_SAFE_INTEGER;return n!==o?n-o:e.index-l.index}).map(e=>e.log)}function P(e){let t,l=String(e||"");if(!l.trim())return[];let n=o.EY.of(l.split("\n")),i=F(l);try{t=f.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 o=A(n,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:o}})};do t.type.isError&&s(t.from);while(t.next());return r}function j(e){let t,l=String(e||"");if(!l.trim())return[];let n=F(l),r=o.EY.of(l.split("\n")),d=[],c=(e,t,o)=>{let i=Math.max(0,Math.min(l.length,e));if(n(i))return;let a=A(r,i);d.push({type:"lint",ruleId:t,message:o,location:{start:a}})},p=()=>{let e="no-noncallable-call",t=new Set,o=o=>{let i=Math.max(0,Math.min(l.length,o));n(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,n="code";for(let o=e+1;o<i;o++){let e=l[o],r=o+1<i?l[o+1]:"";if("lineComment"===n){"\n"===e&&(n="code");continue}if("blockComment"===n){"*"===e&&"/"===r&&(n="code",o+=1);continue}if("single"===n){if("\\"===e){o+=1;continue}"'"===e&&(n="code");continue}if("double"===n){if("\\"===e){o+=1;continue}'"'===e&&(n="code");continue}if("template"===n){if("\\"===e){o+=1;continue}"`"===e&&(n="code");continue}if("/"===e&&"/"===r){n="lineComment",o+=1;continue}if("/"===e&&"*"===r){n="blockComment",o+=1;continue}if("'"===e){n="single";continue}if('"'===e){n="double";continue}if("`"===e){n="template";continue}if("("===e)t++;else if(")"===e&&0==--t)return o}return -1},p=e=>"true"===e||"false"===e||"null"===e,h="code";for(let e=0;e<i;e++){let t=l[e],n=e+1<i?l[e+1]:"";if("lineComment"===h){"\n"===t&&(h="code");continue}if("blockComment"===h){"*"===t&&"/"===n&&(h="code",e+=1);continue}if("/"===t&&"/"===n){h="lineComment",e+=1;continue}if("/"===t&&"*"===n){h="blockComment",e+=1;continue}if("'"===t||'"'===t){let n=t,r=e;for(e+=1;e<i;){let t=l[e];if("\\"===t){e+=2;continue}if(t===n)break;e+=1}d(s(Math.min(i,e+1)))&&o(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)))&&o(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],n=e+1;if(("+"===t||"-"===t)&&(n+=1),l[n]>="0"&&l[n]<="9")for(e=n+1;e<i&&l[e]>="0"&&l[e]<="9";)e++}"n"===l[e]&&(e+=1),d(s(e))&&o(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))&&o(t),e-=1;continue}if("("===t){let t=s(e+1),n=t,c=!1;("+"===l[t]||"-"===l[t])&&(n=t,t=s(t+1));let h=l[t];if("{"===h||"["===h||"'"===h||'"'===h||"`"===h)c=!0;else if(h>="0"&&h<="9")c=!0;else if(r(h)){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))&&o(n)}}}};try{let e=i.Parser||i;t=("function"==typeof a()?e.extend(a()()):e).parse(l,{ecmaVersion:2022,sourceType:"script",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,locations:!0})}catch(e){return p(),d}let h=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"]),m=e=>{e&&"string"==typeof e.name&&h.add(e.name)},f=e=>{if(!e)return;let t=[e];for(;t.length;){let e=t.pop();e&&("Identifier"===e.type?m(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{s.a2(t,e=>{switch(null==e?void 0:e.type){case"VariableDeclarator":f(e.id);break;case"FunctionDeclaration":case"FunctionExpression":m(e.id),(e.params||[]).forEach(f);break;case"ArrowFunctionExpression":(e.params||[]).forEach(f);break;case"CatchClause":f(e.param);break;case"ClassDeclaration":m(e.id)}},u)}catch(e){}try{s.a2(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.")}},u)}catch(e){}try{let e=new Set,l=new Set(["t"]);s.a2(t,t=>{var n,o,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==(n=r.property)?void 0:n.type)!=="Identifier"?r.computed&&(null==(o=r.property)?void 0:o.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)},u)}catch(e){}try{let e=new Set;s.ai(t,{Identifier(t,l){let n=null==t?void 0:t.name;if(!n||h.has(n)||e.has(n))return;let o=l[l.length-2];if(!o||"VariableDeclarator"===o.type&&o.id===t||"FunctionDeclaration"===o.type&&o.id===t||"FunctionExpression"===o.type&&o.id===t||"ClassDeclaration"===o.type&&o.id===t||"ClassExpression"===o.type&&o.id===t||"Property"===o.type&&o.key===t&&!0!==o.computed||"MemberExpression"===o.type&&o.property===t&&!0!==o.computed||"LabeledStatement"===o.type&&o.label===t||"BreakStatement"===o.type&&o.label===t||"ContinueStatement"===o.type&&o.label===t)return;let i=t.start??0;c(i,"possible-undefined-variable",`Possible undefined variable: ${n}`),e.add(n)}},u)}catch(e){}return d}function I(e){let t=(t,l)=>{let n=l.map(e=>y(e)).join(" ").trim();e.push({level:t,message:n})},l={trace:function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return t("log",l)},debug:function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return t("log",l)},info:function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return t("info",l)},warn:function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return t("warn",l)},error:function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return t("error",l)},fatal:function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return t("error",l)},child:()=>l};return{consoleCapture:{log:function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return t("log",l)},info:function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return t("info",l)},warn:function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return t("warn",l)},error:function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return t("error",l)}},loggerCapture:l}}function E(e){if(!e.length)return;let t={timeout:0,internal:1,"preview-start-failed":2};return[...e].sort((e,l)=>{let n=t[String(e.ruleId||"")]??10,o=t[String(l.ruleId||"")]??10;return n!==o?n-o:0})[0]}function R(e){var t;let l=null==(t=e.location)?void 0:t.start,n=l?`line ${l.line}:${l.column} `:"",o=e.ruleId?`(${e.ruleId}) `:"";return`${n}${o}${e.message}`.trim()}function _(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 T(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"…",n=String(e||"");return n.length<=t?n:`${n.slice(0,Math.max(0,t-l.length))}${l}`}function D(e,t){let{issues:l,logs:n,execution:o}=e,i=l.filter(e=>"lint"===e.type),r=l.filter(e=>"runtime"===e.type),a=C(n),s=E(r),d=[],u=l.length,c=i.length,p=r.length,h=a.length,m=e=>{e.length&&(d.push("Key logs:"),e.forEach(e=>{d.push(`[${e.level}] ${T(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: ${h}.`:`RunJS preview succeeded: no issues found. Logs: ${h}.`),d.push(_(o));let l=a.slice(0,Math.max(0,t.maxLogs));l.length&&(d.push(""),m(l));let n=d.join("\n").trimEnd();return{message:T(n,t.maxChars),truncated:n.length>t.maxChars}}d.push(`RunJS preview failed: ${u} issues (lint ${c} / runtime ${p}), logs: ${h}.`),d.push(_(o)),d.push("");let f=(e,l)=>{if(!l.length)return;d.push(`${e}:`);let n=l.slice(0,Math.max(0,t.maxIssues));n.forEach((e,l)=>{let n=`${l+1}) ${R(e)}`;if(d.push(n),t.includeStack&&e.stack){let l=T(String(e.stack),t.maxStackChars);d.push(T(l,t.maxStackChars))}}),l.length>n.length&&d.push(`... ${l.length-n.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 v=a.slice(0,Math.max(0,t.maxLogs));v.length&&m(v);let y=d.join("\n").trimEnd(),b=y.length>t.maxChars;return{message:b?T(y,t.maxChars):y,truncated:b}}function N(e){let t=`(issues total ${e.issues.length}, logs total ${e.logs.length})`,l=!1;for(let n 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:o,truncated:i}=D(e,{...n,maxChars:c});if(l=l||i,!i){if(!l)return o;return T(`RunJS preview output was truncated.
263
263
  ${t}
264
264
 
265
- ${o}`,c)}}let n=E(e.issues.filter(e=>"runtime"===e.type)),o=n?`Key runtime issue: ${R(n)}`:"",i=["RunJS preview output was truncated.",t,e.execution?_(e.execution):void 0,o||void 0].filter(Boolean).join("\n").trim();return i.length<=c?i:T(i,c-1)+"\n"}function O(e){return N(e)}async function $(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n="string"==typeof e?e:String(e??""),o=[],i=[],r=null==l?void 0:l.version,a=(0,d.shouldPreprocessRunJSTemplates)({version:r});i.push(...P(n)),i.push(...j(n));let s="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}=I(o),s={console:e};try{if("u">typeof window){let e=(0,d.createSafeNavigator)();s.navigator=e,s.window=(0,d.createSafeWindow)({navigator:e}),s.document=(0,d.createSafeDocument)()}}catch(e){}let c=n;try{c=await (0,d.prepareRunJsCode)(n,{preprocessTemplates:a})}catch(n){let e=String((null==n?void 0:n.name)||""),t=y((null==n?void 0:n.message)||n),l=n 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(n)}),u.finished=!0,u.timeout=!1,{issues:k(i),logs:o,execution:u}}let h=await t.createJSRunner({globals:s,timeoutMs:p,version:r});h.globals.ctx.defineProperty("logger",{value:l});let m=await h.run(c);if(u.finished=!0,u.timeout=!!(null==m?void 0:m.timeout),!(null==m?void 0:m.success)){let e=null==m?void 0:m.error,t=(null==m?void 0:m.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==m?void 0:m.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())-s);u.durationMs=Number.isFinite(e)?e:void 0}return{issues:k(i),logs:o,execution:u}}function B(e){let t=new d.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 L(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=B(t),o=await $(e,n,l),i=0===o.issues.length,r=O(o);return{success:i,message:r.length>c?T(r,c):r}}},68669(e,t,l){l.d(t,{a:()=>a});var n=l(74848),o=l(84626),i=l(71021);l(96540);var r=l(7521);let a=(0,l(11869).observer)(e=>{var t;let{value:l,FilterItem:a,ctx:s}=e;l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let d=()=>{var e;(null==s||null==(e=s.model)?void 0:e.dispatchEvent)&&s.model.dispatchEvent("reset")},u=()=>{var e;(null==s||null==(e=s.model)?void 0:e.dispatchEvent)&&s.model.dispatchEvent("submit")},c=(null==s||null==(t=s.model)?void 0:t.translate)||(e=>e);return(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault(),u()},children:[(0,n.jsx)(r.I,{value:l,FilterItem:a}),(0,n.jsxs)(o.A,{style:{width:"100%",display:"flex",justifyContent:"flex-end"},children:[(0,n.jsx)(i.Ay,{htmlType:"button",onClick:d,children:c("Reset")}),(0,n.jsx)(i.Ay,{type:"primary",htmlType:"submit",children:c("Submit")})]})]})},{displayName:"FilterContent"})},7521(e,t,l){l.d(t,{I:()=>f});var n=l(74848),o=l(97373),i=l(18853),r=l(35710),a=l(36492),s=l(84626),d=l(71021),u=l(18492);l(96540);var c=l(11869);let p=new WeakMap,h=0,m=e=>{let t=p.get(e);return t||(h+=1,t=`filter-item-${h}`,p.set(e,t)),t},f=(0,c.observer)(e=>{let{token:t}=r.A.useToken(),{value:l={logic:"$and",items:[]},FilterItem:c,showBorder:p=!1,onRemove:h,onChange:g,closeIcon:v=(0,n.jsx)(o.A,{style:{color:t.colorIcon}})}=e,{t:y}=(0,u.B)();l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let{logic:b,items:x}=l,w=p?{position:"relative",border:`1px dashed ${t.colorBorder}`,padding:t.paddingSM,marginBottom:t.marginXS,borderRadius:t.borderRadius}:{position:"relative",marginBottom:t.marginXS},S=e=>{l.logic=e,null==g||g(l)},M=()=>{x.push({path:"",operator:"",value:""}),null==g||g(l)},F=()=>{x.push({logic:"$and",items:[]}),null==g||g(l)},A=e=>{x.splice(e,1),null==g||g(l)},k=e=>"path"in e||"operator"in e||"value"in e,C=e=>"logic"in e&&"items"in e;return(0,n.jsxs)("div",{style:w,children:[p&&h&&(0,n.jsx)("button",{type:"button","aria-label":"icon-close",style:{position:"absolute",right:10,top:10,cursor:"pointer",background:"transparent",border:0,padding:0},onClick:h,children:v}),(0,n.jsx)("div",{style:{marginBottom:8,color:t.colorText},children:(0,n.jsxs)("span",{children:[y("Meet")," ",(0,n.jsxs)(a.A,{"data-testid":"filter-select-all-or-any",style:{width:"auto"},value:b,onChange:S,children:[(0,n.jsx)(a.A.Option,{value:"$and",children:y("All")}),(0,n.jsx)(a.A.Option,{value:"$or",children:y("Any")})]})," ",y("conditions in the group")]})}),(0,n.jsx)("div",{children:x.map((e,o)=>C(e)?(0,n.jsx)(f,{value:e,FilterItem:c,showBorder:!0,onRemove:()=>A(o),onChange:e=>{x[o]=e,null==g||g(l)}},m(e)):k(e)?c?(0,n.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,n.jsxs)(s.A,{style:{flex:1,minWidth:0},children:[(0,n.jsx)(c,{value:e}),(0,n.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:()=>A(o),children:v})]})},m(e)):(0,n.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,n.jsxs)(s.A,{style:{flex:1,minWidth:0},children:[(0,n.jsxs)("span",{children:[e.path," ",e.operator," ",String(e.value)]}),(0,n.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:()=>A(o),children:v})]})},m(e)):(0,n.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,n.jsxs)(s.A,{style:{flex:1,minWidth:0},children:[(0,n.jsx)("span",{style:{color:t.colorTextTertiary},children:"Invalid filter item"}),(0,n.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:()=>A(o),children:v})]})},m(e)))}),(0,n.jsxs)(s.A,{size:16,style:{marginTop:8,marginBottom:8},children:[(0,n.jsx)(d.Ay,{style:{padding:0},type:"link",size:"small",icon:(0,n.jsx)(i.A,{}),onClick:M,children:y("Add condition")}),(0,n.jsx)(d.Ay,{style:{padding:0},type:"link",size:"small",icon:(0,n.jsx)(i.A,{}),onClick:F,children:y("Add condition group")})]})]})},{displayName:"FilterGroup"})},80512(e,t,l){l.d(t,{Ru:()=>K,I8:()=>o.I,qi:()=>h,oJ:()=>n.a,Et:()=>R});var n=l(68669),o=l(7521),i=l(74848),r=l(11869),a=l(84626),s=l(36492),d=l(95725),u=l(96540);let c=(e,t,l,n)=>e.map(e=>p(e,t,l,n)).filter(Boolean),p=(e,t,l,n)=>{var o;if(l.length&&1===t&&l.includes(e.name)||!e.interface||!1===e.filterable)return;let i=e.getInterfaceOptions();if(!(null==i?void 0:i.filterable))return;let{nested:r,children:a,operators:s}=i.filterable,d={name:e.name,type:e.type,target:e.target,title:n(e.title),schema:null==e?void 0:e.uiSchema,operators:((null==s||null==(o=s.filter)?void 0:o.call(s,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 d;if((null==a?void 0:a.length)&&(d.children=a),r){let o=c(e.getFields().filter(e=>"attachments"!==e.target&&"formula"!==e.interface),t+1,l,n).filter(Boolean);d.children=d.children||[],d.children.push(...o)}return d}},h=(0,r.observer)(e=>{var t;let{path:l,operator:n,value:o}=e.value,r=e.model,p=(null==(t=r.context.blockModel.collection)?void 0:t.getFields().filter(e=>"attachments"!==e.target))||[],h=m(r.props.filterableFieldNames||[],p.map(e=>e.name)),f=r.translate,g=c(p.filter(e=>"attachments"!==e.target&&"formula"!==e.interface&&!["belongsTo","belongsToMany","hasOne","hasMany","oho","obo","m2o","o2m","m2m"].includes(e.type)),1,e.noIgnore?[]:h,f).filter(Boolean),v=(0,u.useMemo)(()=>{let e=g.find(e=>e.name===l);return(null==e?void 0:e.operators)||[]},[g,l]),y=t=>{var l;e.value.path=t;let n=g.find(e=>e.name===t);(null==n||null==(l=n.operators)?void 0:l.length)>0?e.value.operator=n.operators[0].value:e.value.operator="",e.value.value=""},b=t=>{e.value.operator=t},x=t=>{e.value.value=t.target.value};return(0,i.jsxs)(a.A,{children:[(0,i.jsx)(s.A,{style:{width:200},placeholder:f("Select field"),value:l||void 0,onChange:y,children:g.map(e=>(0,i.jsx)(s.A.Option,{value:e.name,children:e.title},e.name))}),(0,i.jsx)(s.A,{style:{width:120},placeholder:f("Select operator"),value:n||void 0,onChange:b,disabled:!l||0===v.length,children:v.map(e=>(0,i.jsx)(s.A.Option,{value:e.value,children:e.label},e.value))}),(0,i.jsx)(d.A,{style:{width:200},placeholder:f("Enter value"),value:o,onChange:x})]})},{displayName:"FilterItem"});function m(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}var f=l(63718),g=l(94313),v=l(60518),y=l(51643),b=l(60209),x=l(2077),w=l(18451),S=l.n(w),M=l(40098),F=l.n(M),A=l(20419),k=l(85352),C=l(53869);let{DateFilterDynamicComponent:P}=(0,x.RZ)(()=>Promise.resolve().then(l.bind(l,13595)),"DateFilterDynamicComponent");async function j(e){var t,l,n,o;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==(o=e.getPropertyMetaTree)?void 0:o.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==(n=s.getPropertyMetaTree)?void 0:n.call(s,"{{ ctx.collection }}");return await i(d)}function I(e,t,l,n){var o;let r=null==e?void 0:e["x-component"],a=(null==t||null==(o=t.uiSchema)?void 0:o["x-component-props"])||{},u=(null==e?void 0:e["x-component-props"])||{},c=S()({},a,u),p=(0,k.di)(null==e?void 0:e.enum,l)||[],h={style:{width:200,...(null==c?void 0:c.style)||{}},placeholder:(null==c?void 0:c.placeholder)||l("Enter value"),...c},m=e=>{if("number"==typeof e||(null==c?void 0:c.stringMode)===!0&&"string"==typeof e)return e};return e=>{let{value:t,onChange:l,...o}=e||{};if("InputNumber"===r)return(0,i.jsx)(f.A,{...h,...o,value:m(t),onChange:e=>null==l?void 0:l(e)});if("NumberPicker"===r)return(0,i.jsx)(A.NumberPicker,{...h,...o,value:m(t),onChange:e=>null==l?void 0:l(e)});if("Switch"===r)return(0,i.jsx)(g.A,{...h,...o,checked:!!t,onChange:e=>null==l?void 0:l(e)});if("Select"===r)return(0,i.jsx)(s.A,{options:p,...h,...o,value:(0,k.xO)(t,h),onChange:e=>null==l?void 0:l(e)});if("Checkbox"===r)return(0,i.jsx)(v.A,{...h,...o,checked:!!t,onChange:e=>null==l?void 0:l(e.target.checked)});if("Checkbox.Group"===r)return(0,i.jsx)(v.A.Group,{...h,...o,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Radio.Group"===r)return(0,i.jsx)(y.Ay.Group,{...h,...o,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)(b.A,{...h,...o,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)(d.A.TextArea,{...h,...o,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)(P,{...h,...o,value:t,onChange:e=>null==l?void 0:l(e)});if(r&&(null==n?void 0:n.getComponent)){let e=n.getComponent(r);if(e)return(0,i.jsx)(e,{...h,...o,value:t,onChange:e=>null==l?void 0:l(e),style:{width:200,...h.style||{},...null==o?void 0:o.style}})}return(0,i.jsx)(d.A,{...h,...o,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)})}}function E(e){if(e&&"object"==typeof e){let l=e;if("function"==typeof l.preventDefault||l.nativeEvent||"target"in l){var t;let n=null==(t=l.target)?void 0:t.value;return void 0!==n?n:e}}return e}let R=(0,r.observer)(e=>{let{value:t,model:l,rightAsVariable:n,rightMetaTree:o,ignoreFieldNames:c}=e,p=(0,r.useFlowViewContext)(),h=l.translate,{path:m,operator:f,value:g}=t,[v,y]=(0,u.useState)(null),b=(0,u.useCallback)(e=>{var t;return(0,x.w6)(e,l.context.dataSourceManager,null==(t=l.context.app)?void 0:t.dataSourceManager)},[l]),w=(0,u.useMemo)(()=>{var e,t;if(!v)return[];let l=v.interface?b(v.interface):void 0,n=null==v||null==(e=v.uiSchema)?void 0:e["x-filter-operators"];return((Array.isArray(n)&&n.length?n:null==l||null==(t=l.filterable)?void 0:t.operators)||[]).filter(e=>!e.visible||e.visible(v))},[b,v]);(0,u.useEffect)(()=>{if(!w.length)return;let e=F().find(w,e=>e.value===t.operator);if(e)t.noValue=!!e.noValue;else{let e=w[0];t.operator=e.value,t.value=!!e.noValue||void 0,t.noValue=!!e.noValue}},[w,t]);let M=(0,u.useMemo)(()=>w.map(e=>({value:e.value,label:"string"==typeof e.label?h(e.label):e.label})),[w,h]),A=(0,u.useCallback)((e,l)=>{let n=t.path||"",o=e||"",i=o!==n;t.path=o,i&&n&&(t.operator="",t.value=void 0,t.noValue=!1),l&&y(l)},[t]),P=(0,u.useMemo)(()=>({resolveValueFromPath:e=>(y(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(".")]}}),[]),R=(0,u.useCallback)(e=>{t.operator=e;let l=w.find(t=>t.value===e);(null==l?void 0:l.noValue)?(t.value=!0,t.noValue=!0):(t.value=void 0,t.noValue=!1)},[w,t]),_=(0,u.useMemo)(()=>w.find(e=>e.value===f),[w,f]),T=(0,u.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,u.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"}},[]),N=(0,u.useMemo)(()=>{let e=(null==v?void 0:v.uiSchema)||{},t=(null==_?void 0:_.schema)||{},l=S()({},e,t);if((null==v?void 0:v.interface)==="formula"){let e={"x-read-pretty":!1,"x-component":D(T(v)),"x-component-props":{...l["x-component-props"]}};return S()({},l,e)}return l},[v,_,D,T]),O=u.useRef(null==N?void 0:N["x-component"]),$=null==N?void 0:N["x-component"],B=(0,u.useMemo)(()=>{let e=O.current;O.current=$;let l=void 0!==e&&e!==$;if(null==_?void 0:_.noValue)return g;if(l&&null!=g){t.value=void 0;return}return g},[$,g,t,_]),L=(0,u.useCallback)(e=>{t.value=E(e)},[t]),q=u.useRef(h);u.useEffect(()=>{q.current=h},[h]);let V=u.useCallback(e=>{var t;return(null==(t=q.current)?void 0:t.call(q,e))??e},[]),z=(0,u.useMemo)(()=>(0,k.di)(null==N?void 0:N.enum,V)||[],[N,V]),K=(0,u.useMemo)(()=>I(N,v,V,l.context.app),[N,v,V,l.context.app]),U=(0,u.useCallback)(()=>{let e=(0,C._)(l.context.app,f,w),t="$in"===f||"$notIn"===f;if(e&&t){let{Comp:t,props:l}=e,n={...l};(!(null==n?void 0:n.options)||(null==n?void 0:n.options.length)===0)&&(null==z?void 0:z.length)&&(n.options=z);let o={flex:"1 1 40%",minWidth:160,maxWidth:"100%",...(null==n?void 0:n.style)||{}},r=Array.isArray(B)&&B.every(e=>"string"==typeof e||"number"==typeof e)?B:"string"==typeof B?B.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)("div",{style:o,children:(0,i.jsx)(t,{...n,style:{width:"100%",...(null==n?void 0:n.style)||{}},value:r,onChange:e=>L(e)})})}let n=K;return(0,i.jsx)("div",{style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},children:(0,i.jsx)(n,{value:B,onChange:e=>L(e)})})},[f,w,B,K,l.context.app,L,z]),W=(0,u.useMemo)(()=>function(){return(0,i.jsx)(d.A,{placeholder:`<${h("Null")}>`,readOnly:!0})},[h]),H=(0,u.useMemo)(()=>async()=>{let e="function"==typeof o?await o():o??p.getPropertyMetaTree(),t=Array.isArray(e)?e:await e();return[{title:h("Constant"),name:"constant",type:"string",paths:["constant"],render:K},{title:h("Null"),name:"null",type:"object",paths:["null"],render:W},...t]},[o,p,K,W,h]),G=(0,u.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?K:"null"===l?W: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"]}}),[W,K]),Y=(0,u.useMemo)(()=>async()=>{let e=await j(l.context),t=async e=>{let t=e.interface?b(e.interface):void 0,n=[],o=null==t?void 0:t.filterable,i=null==o?void 0:o.children;if(Array.isArray(i)&&i.length)for(let t of i){var r,a,s;let o=t.title||t.name,i=(null==(r=l.context)?void 0:r.t)?l.context.t(o):o;n.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:[],...n];return F().uniqBy(l,"name")}}}let d=[...Array.isArray(e.children)?e.children:[],...n];return{...e,children:d.length?d:e.children}},n=[];for(let l of e)n.push(await t(l));return n},[b,l]);return(0,i.jsxs)(a.A,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:m,metaTree:Y,onChange:A,converters:P,showValueComponent:!1,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},onlyLeafSelectable:!0,placeholder:h("Select field"),ignoreFieldNames:c}),(0,i.jsx)(s.A,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:h("Comparison"),value:f||void 0,onChange:R,children:M.map(e=>(0,i.jsx)(s.A.Option,{value:e.value,children:e.label},e.value))}),!(null==_?void 0:_.noValue)&&(n?(0,i.jsx)(r.VariableInput,{value:B,onChange:e=>L(e),metaTree:H,converters:G,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:h("Enter value")}):U())]})});var _=l(68827),T=l.n(_),D=l(97456);let{DateFilterDynamicComponent:N}=(0,x.RZ)(()=>Promise.resolve().then(l.bind(l,13595)),"DateFilterDynamicComponent");function O(e,t,l){var n,o,r;let a=null==e?void 0:e["x-component"],u=(null==t||null==(n=t.uiSchema)?void 0:n["x-component-props"])||{},c=(null==e?void 0:e["x-component-props"])||{},p=S()({},u,c),h=Array.isArray(null==t||null==(o=t.uiSchema)?void 0:o.enum)?null==t||null==(r=t.uiSchema)?void 0:r.enum:void 0,m=(0,k.di)(h,l),v={style:{width:200,...(null==p?void 0:p.style)||{}},placeholder:(null==p?void 0:p.placeholder)||l("Enter value"),...p};return e=>{let{value:t,onChange:n,...o}=e||{};if("InputNumber"===a)return(0,i.jsx)(f.A,{...v,...o,value:t,onChange:n});if("NumberPicker"===a)return(0,i.jsx)(A.NumberPicker,{...v,...o,value:t,onChange:n});if("Switch"===a)return(0,i.jsx)(g.A,{...v,...o,checked:!!t,onChange:n});if("Select"===a){let e=v;return Array.isArray(null==e?void 0:e.options)&&e.options.length>0?e={...e,options:(0,k.ZY)(e.options,l)}:m&&(e={...e,options:m}),(0,i.jsx)(s.A,{...e,...o,value:(0,k.xO)(t,e),onChange:n})}return"DateFilterDynamicComponent"===a?(0,i.jsx)(N,{...v,...o,value:t,onChange:n}):(0,i.jsx)(d.A,{...v,...o,value:t,onChange:e=>{var t;return null==n?void 0:n(null==e||null==(t=e.target)?void 0:t.value)}})}}let $=[{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}],B=new Set(["$in","$notIn"]);function L(e,t){let l=Array.isArray(e)?e:[],n=Array.isArray(t)?t:[];if(!n.length)return l;let o=n.find(e=>(null==e?void 0:e.name)==="item");if(!o)return[...n,...l];let i=(0,D.mD)(l,[o]);return[...n.filter(e=>(null==e?void 0:e.name)!=="item"),...i]}function q(e,t){var l,n;return{name:t.name,title:t.title||t.name,type:(null==(l=t.schema)?void 0:l.type)||"string",interface:(null==(n=t.schema)?void 0:n["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 V(e,t){var l,n;let o=e.interface&&t?t(e.interface):void 0,i=(Array.isArray(null==o||null==(l=o.filterable)?void 0:l.children)?null==o||null==(n=o.filterable)?void 0:n.children:[]).map(t=>q(e,t)),r=async e=>{let l=[...await Promise.all(e.map(e=>V(e,t))),...i];return T()(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 z(e,t){let l=Array.isArray(e)?e:[];return await Promise.all(l.map(e=>V(e,t)))}let K=(0,r.observer)(e=>{var t;let{value:l,model:n,extraMetaTree:o}=e,c=(0,r.useFlowViewContext)(),p=n.translate,{path:h,operator:m,value:f}=l||{},[g,v]=(0,u.useState)(null),y=(0,u.useRef)(!1),b=(0,u.useMemo)(()=>{if(g){var e,t,l;let o=g.interface?(0,x.w6)(g.interface,n.context.dataSourceManager,null==(e=n.context.app)?void 0:e.dataSourceManager):void 0,i=null==g||null==(t=g.uiSchema)?void 0:t["x-filter-operators"];return((Array.isArray(i)&&i.length?i:null==o||null==(l=o.filterable)?void 0:l.operators)||$).filter(e=>!e.visible||e.visible(g)).map(e=>({value:e.value,label:e.label,noValue:!!e.noValue,schema:e.schema,selected:!!e.selected}))}return[]},[g,n]),w=(0,u.useMemo)(()=>b.map(e=>({value:e.value,label:"string"==typeof e.label?p(e.label):e.label})),[b,p]);(0,u.useEffect)(()=>{if(0!==b.length){if(!m){if(y.current){let e=b.find(e=>e.selected)||b[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1,y.current=!1}return}if(!b.some(e=>e.value===m)){let e=b.find(e=>e.selected)||b[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,m,l]);let M=(0,u.useMemo)(()=>b.find(e=>e.value===m),[b,m]),F=(0,u.useMemo)(()=>{let e=(null==g?void 0:g.uiSchema)||{},t=(null==M?void 0:M.schema)||{};return S()({},e,t)},[g,M]),A=(0,u.useRef)(p);(0,u.useEffect)(()=>{A.current=p},[p]);let P=(0,u.useCallback)(e=>{var t;return(null==(t=A.current)?void 0:t.call(A,e))??e},[]),j=(0,u.useMemo)(()=>O(F,g,P),[F,g,P]),I=(0,u.useMemo)(()=>(0,k.di)(null==F?void 0:F.enum,P)||[],[F,P]),E=(0,u.useMemo)(()=>{let e=(0,C._)(n.context.app,m,b),t=B.has(m);if(!e||!t)return j;let{Comp:l,props:o}=e;return e=>{let{value:t,onChange:n,...r}=e||{},a={...o};(null==a?void 0:a.options)&&(null==a?void 0:a.options.length)!==0||!(I.length>0)||(a.options=I);let s=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:s,onChange:n,style:{width:200,...(null==a?void 0:a.style)||{},...(null==r?void 0:r.style)||{}}})}},[I,n.context.app,b,m,j]),R=(0,u.useMemo)(()=>function(){return(0,i.jsx)(d.A,{placeholder:`<${p("Null")}>`,readOnly:!0})},[p]),_=(0,u.useMemo)(()=>async()=>{let e=L((null==n?void 0:n.context.getPropertyMetaTree())||c.getPropertyMetaTree(),o);return[{title:p("Constant"),name:"constant",type:"string",paths:["constant"]},{title:p("Null"),name:"null",type:"object",paths:["null"]},...e]},[c,n,p,o]),T=(0,u.useCallback)(async()=>{var e,t;let l=(null==n||null==(t=n.context)||null==(e=t.getPropertyMetaTree)?void 0:e.call(t))||c.getPropertyMetaTree(),i=L(Array.isArray(l)?l:[],o),r=e=>{var t;return(0,x.w6)(e,n.context.dataSourceManager,null==(t=n.context.app)?void 0:t.dataSourceManager)};return await z(i,r)},[c,n,o]),D=(0,u.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?E:"null"===l?R: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"]}}),[R,E]),N=(0,u.useCallback)((e,t)=>{let n=l.path||"",o=e||"",i=o!==n;l.path=o,i&&n&&(l.operator="",l.value="",y.current=!0),n||!o||l.operator||(y.current=!0),t&&v(t)},[l]),q=(0,u.useCallback)(e=>{let t=l.operator;l.operator=e;let n=b.find(t=>t.value===e);(null==n?void 0:n.noValue)?(l.value=!0,l.noValue=!0):(B.has(t)&&!B.has(e)&&Array.isArray(l.value)&&(l.value=l.value.join("\n")),l.noValue=!1)},[l,b]);return(0,i.jsxs)(a.A,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:h,onChange:N,metaTree:T,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:p("Select variable"),onlyLeafSelectable:!0}),(0,i.jsx)(s.A,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:p("Comparison"),value:m||void 0,onChange:q,children:w.map(e=>(0,i.jsx)(s.A.Option,{value:e.value,children:e.label},e.value))}),!(null==(t=b.find(e=>e.value===m))?void 0:t.noValue)&&(0,i.jsx)(r.VariableInput,{value:f,onChange:e=>l.value=e,metaTree:_,converters:D,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:p("Enter value"),clearValue:""})]})})},39580(e,t,l){l.d(t,{b2:()=>o.b,tn:()=>n.t,S5:()=>o.S});var n=l(27941);l(74848),l(98668),l(43627),l(11869),l(96540),l(74979),l(21335);var o=l(36869);l(95266),l(47785)},76059(e,t,l){l.d(t,{g:()=>o,k:()=>i});var n=l(11869);let o=(0,n.defineFlow)({key:"popupSettings",title:(0,n.tExpr)("Popup settings"),on:"click",sort:300,steps:{openView:{use:"openView",hideInSettings:async e=>{var t,l,n,o;let i=null==(l=(n=e.model).getStepParams)||null==(t=l.call(n,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return!!e.collectionField&&(void 0===i?!(null==(o=e.collectionField)?void 0:o.isAssociationField())||e.disableFieldClickToOpen:!1===i)}}},defaultParams:e=>{var t,l,n,o,i,r,a,s;let d,u,c,p=e.collectionField,h=e.blockModel,m=null==(l=e.model)||null==(t=l.parent)?void 0:t.associationPathName,f=e.collection||(null==h?void 0:h.collection),g=e=>{var t;return!!(null==e||null==(t=e.isAssociationField)?void 0:t.call(e))},v=!g(p)&&m?null==f||null==(n=f.getFieldByPath)?void 0:n.call(f,m):void 0,y=g(p)?p:v;if(g(y)){let e=y.targetCollection;null==h||h.collection,d=null==e?void 0:e.name,u=null==e?void 0:e.dataSourceKey,c=null==y?void 0:y.resourceName}else p?(d=null==(o=e.collection)?void 0:o.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}}}}),i=e=>e.getStepParams("popupSettings","openView")},10438(e,t,l){let n,o,i;l.d(t,{er5:()=>sC,tPG:()=>eL.t,wUQ:()=>oV,Ui7:()=>hs.Ui,JvK:()=>eJ,m5p:()=>dh,l5h:()=>oJ,jqd:()=>pA,WHj:()=>rB,T9:()=>nL,ZMt:()=>nl,Xw5:()=>t6,xEQ:()=>dk,r39:()=>sS,YXI:()=>tO,riZ:()=>hr.ri,s2k:()=>st,zA_:()=>tM.zA,gbJ:()=>pt,DvX:()=>o,wwh:()=>sj,p$W:()=>hs.p$,xtQ:()=>hr.xt,qi_:()=>C.qi,d13:()=>t_,UX6:()=>tp,sJK:()=>aw,mzg:()=>ab,mHU:()=>rY,Ppd:()=>db,Tuv:()=>dz,Uk$:()=>aq,byO:()=>tM.by,Tnx:()=>hr.Tn,ZCq:()=>d1,HWn:()=>hr.HW,I8R:()=>C.I8,v9U:()=>dH,T16:()=>uB,spd:()=>tR,xz3:()=>nG,XMh:()=>ts,ROt:()=>la,$T1:()=>dq,jjG:()=>hr.jj,Px_:()=>hr.Px,COB:()=>pM,ysz:()=>dY.ys,kA1:()=>nq,_IX:()=>hr._I,AvD:()=>nU,cYG:()=>pI,mOW:()=>t8.mO,zqF:()=>sa,v0X:()=>ao,UfC:()=>hr.Uf,_TB:()=>Y,uMh:()=>dt,mQM:()=>c9,aDm:()=>e_,Hn2:()=>tA,KTk:()=>V,rGX:()=>d5,y2s:()=>oA,s2f:()=>t8.s2,upH:()=>s9,BmO:()=>hs.Bm,foc:()=>no,Uhv:()=>eq,ZVp:()=>dO,bPr:()=>lN,hNf:()=>dV,u36:()=>tj,J$w:()=>rw,Bum:()=>cs,ux6:()=>hr.ux,Ra0:()=>dx,QuL:()=>eE,V6y:()=>hr.V6,djK:()=>hs.dj,qh$:()=>em,K4N:()=>nr,xIu:()=>ig,XK0:()=>eG,xc1:()=>hr.xc,C_u:()=>hs.C_,Ru1:()=>C.Ru,s$$:()=>hd,lrV:()=>tB.lr,znN:()=>pb,OaU:()=>hs.O,$dA:()=>td,N9e:()=>ha.N,m$$:()=>sJ,cPq:()=>sn,gk0:()=>et,to1:()=>tl,dhL:()=>dm,mSG:()=>i9,Fy3:()=>sG,VPO:()=>dL,d6j:()=>ah,y8o:()=>hr.y8,nCj:()=>hs.nC,eLO:()=>hr.eL,LAC:()=>te,fCM:()=>hr.fC,R0X:()=>hs.R0,Dsh:()=>d3,saj:()=>ly,VcJ:()=>dM,dv2:()=>n5,t_Y:()=>hr.t_,er8:()=>c7,FKm:()=>dY.FK,ksX:()=>hs.ks,Ucr:()=>hr.Uc,Eq4:()=>uL,xkv:()=>se,sEB:()=>tP,_ol:()=>ai,W4I:()=>aS,qPo:()=>dj,n8$:()=>hr.n8,JNs:()=>hr.JN,vIF:()=>ow,vrA:()=>dA,tUI:()=>ea,CII:()=>tZ,v6e:()=>sP,MeX:()=>aX,ccc:()=>dY.cc,mw1:()=>en,i6C:()=>oX,sJA:()=>aT,hOt:()=>tB.hO,kNV:()=>to,biS:()=>o1,AMH:()=>i,fMK:()=>pd,PU8:()=>lM,UZR:()=>eB,fAh:()=>D,Yjq:()=>hr.FY,_e9:()=>i7,Myf:()=>pc,fnr:()=>sv,qqP:()=>dn,BYM:()=>tM.BY,RBt:()=>eV.R,dpX:()=>t7,FF9:()=>i6,sYw:()=>e8,oM7:()=>rf,e7P:()=>uP,ODR:()=>lE,hCX:()=>t0,qJX:()=>tf,x_D:()=>oQ,Imp:()=>rZ,mNj:()=>n,P0:()=>sQ,Qt8:()=>hr.Qt,zDb:()=>i1,ivU:()=>ib,VGp:()=>uI,uFv:()=>pe,Pqd:()=>uf,Gap:()=>hr.G,kkB:()=>uC,wqT:()=>tY,R8A:()=>tI,vbm:()=>eR,ugJ:()=>hr.ug,KYF:()=>oI,FaR:()=>aW,v8l:()=>tW,IAc:()=>uM,lv4:()=>hs.lv,qlo:()=>ac,I6c:()=>ue,_UX:()=>ej,t_n:()=>oM,Xig:()=>tB.Xi,isP:()=>d9,fi1:()=>hr.fi,a6D:()=>e7,uTv:()=>hs.uT,MhO:()=>tU,l2T:()=>rt,n6C:()=>t$,OtO:()=>hr.Ot,FWr:()=>hr.FW,wW_:()=>e5,X2M:()=>hs.X2,h2d:()=>dG.h2,cm5:()=>d$,eCD:()=>nB,GJ1:()=>iA,B94:()=>hr.B9,gaO:()=>rg,orA:()=>hi.o,OsV:()=>s$,I6Z:()=>nz,zsf:()=>ee,HJv:()=>az,WzN:()=>hs.Wz,qNx:()=>hr.qN,Odw:()=>tn,G9F:()=>l4,YjI:()=>hr.Yj,xFY:()=>hr.xF,PW6:()=>e$.P,rvE:()=>tm,cNN:()=>n4,mLo:()=>sw,YJB:()=>ie,QBt:()=>hr.QB,LFq:()=>c3,Ck8:()=>ap,hPI:()=>tM.hP,ur8:()=>o3,F4f:()=>t8.F4,tQF:()=>pv,aWb:()=>pg,iT0:()=>aH,mYX:()=>hr.mY,zUb:()=>oF,rpg:()=>sp,sW6:()=>r1,Z0H:()=>aZ,K$V:()=>iy,v$f:()=>eK,_$j:()=>e4,ULH:()=>l0,M6q:()=>tB.M6,pKk:()=>nu,www:()=>oS,MMn:()=>hr.MM,kPK:()=>lr,jj_:()=>ub,Xmd:()=>rQ,B82:()=>hr.B8,zCA:()=>z,np$:()=>dY.np,YXr:()=>o0,hsC:()=>uw,IBN:()=>cn,Zu2:()=>uq,m2W:()=>tg,k9E:()=>dG.k9,KSc:()=>L,Yh4:()=>uD,Mxl:()=>hr.Mx,B6V:()=>iF,KAX:()=>pl,J9o:()=>ui,mUg:()=>sr,mU7:()=>ds,YmV:()=>O.default,_J0:()=>an,pXX:()=>hr.pX,EcU:()=>o2,mRH:()=>oN.m,j0c:()=>tt.j,vW_:()=>oZ,o8y:()=>tM.o8,ThI:()=>hr.Th,e6V:()=>hi.e,qmt:()=>py,Anr:()=>r7,tSM:()=>hr.tS,qir:()=>eZ,kN:()=>oY,s5W:()=>am,NYj:()=>tB.NY,LE6:()=>ug,ngq:()=>dY.ng,omq:()=>tx,Nxx:()=>s5,gvx:()=>e9.g,upW:()=>ar,D1b:()=>os,Cuw:()=>hr.Cu,S3Z:()=>co,B_2:()=>hr.B_,D8m:()=>on,e8C:()=>d0,T8$:()=>nV,nap:()=>S.n,CCB:()=>sV,zFh:()=>aJ,lJp:()=>F,Dhs:()=>pw,eDc:()=>hs.eD,Zpx:()=>uF,Fts:()=>ix,$FU:()=>dU,oJ5:()=>C.oJ,RLu:()=>e3,wBN:()=>oG,Ybt:()=>t9,A14:()=>hr.A1,o2o:()=>hr.o2,hHg:()=>tB.hH,CDb:()=>oT,YgY:()=>ti,BpQ:()=>e2,gLn:()=>hs.gL,Bnh:()=>dY.Bn,oIl:()=>aD,uVo:()=>tN,Ie6:()=>aV,mKE:()=>M,dWc:()=>ct,CM3:()=>hs.CM,SMJ:()=>tB.SM,lcp:()=>t4,ivi:()=>lA,dIg:()=>tk,jmZ:()=>hs.jm,sD1:()=>lb,ymi:()=>tD,Kgy:()=>hr.Kg,ESx:()=>dG.ES,wLo:()=>oH,vy4:()=>rb,Et2:()=>C.Et,xdz:()=>Z,Y5n:()=>lu.EditFormModel,BgT:()=>l6,S0L:()=>X,mk:()=>i3,zTu:()=>pu,qtW:()=>a1,Ni4:()=>th,Mf0:()=>lR,khg:()=>nF,S5n:()=>rv,IJk:()=>rq.IJ,k9Q:()=>dy,Q7G:()=>hs.Q7,mw3:()=>uA,D2p:()=>px,mp5:()=>uc,LaP:()=>eO,eDQ:()=>hr.eD,qJ3:()=>di,s5y:()=>J,ql0:()=>lk,dWg:()=>sM,e7h:()=>ns,ZjK:()=>ld,w5F:()=>es,C9C:()=>hs.C9,aqk:()=>er,JUj:()=>t8.JU,udY:()=>n2,Vrl:()=>dK,t4X:()=>a2,JgE:()=>lf,kbf:()=>uS,fLT:()=>tM.fL,HZo:()=>tB.HZ,LbM:()=>dB,oLV:()=>ez.o,T6P:()=>e6,KHY:()=>oU,Jbm:()=>tr,WuM:()=>pj,zgg:()=>e$.z,Hwd:()=>ha.H,Evi:()=>hr.Ev,Qb_:()=>hr.Qb,AV5:()=>a_,cEK:()=>eP,XCP:()=>dG.XC,pVr:()=>sl});var r,a,s,d,u,c,p,h,m,f={};l.r(f),l.d(f,{connectFields:()=>oI,customizeFilterRender:()=>oV,defaultOperator:()=>oT,operatorComponentProps:()=>oU});var g={};l.r(g),l.d(g,{ActionGroupModel:()=>Z,ActionModel:()=>X,ActionSceneEnum:()=>J,ActionWithoutPermission:()=>Y,AddChildActionModel:()=>t4,AddNewActionModel:()=>tl,AssignFormGridModel:()=>t7,AssignFormItemModel:()=>ly,AssignFormModel:()=>t6,AssociateActionModel:()=>tp,AssociationFieldGroupModel:()=>en,AssociationFieldModel:()=>lN,BasePageTabModel:()=>e2,BlockGridModel:()=>eO,BlockModel:()=>e$.z,BlockSceneEnum:()=>e$.P,BulkDeleteActionModel:()=>th,CascadeSelectFieldModel:()=>aw,CascadeSelectInnerFieldModel:()=>ab,CascadeSelectListFieldModel:()=>aS,CheckboxFieldModel:()=>aJ,CheckboxGroupFieldModel:()=>aX,ChildPageModel:()=>eJ,ChildPageTabModel:()=>e5,ClickableFieldModel:()=>ar,CollectionActionGroupModel:()=>ee,CollectionActionModel:()=>eB,CollectionBlockModel:()=>eL.t,CollectionSelectorFieldModel:()=>aZ,ColorFieldModel:()=>a2,CommonItemModel:()=>eq,CreateContent:()=>l4,CreateFormModel:()=>oH,CustomWidth:()=>iy,DataBlockModel:()=>eV.R,DateOnlyFieldModel:()=>st,DateOnlyFilterFieldModel:()=>nr,DateOnlyPicker:()=>se,DateTimeFilterFieldModel:()=>no,DateTimeNoTzFieldModel:()=>sn,DateTimeNoTzFilterFieldModel:()=>ns,DateTimeNoTzPicker:()=>sl,DateTimeTzFieldModel:()=>sa,DateTimeTzFilterFieldModel:()=>nu,DateTimeTzPicker:()=>sr,DeleteActionModel:()=>tm,DetailsAssociationFieldGroupModel:()=>lb,DetailsBlockModel:()=>lM,DetailsCustomItemModel:()=>lA,DetailsGridModel:()=>lk,DetailsItemModel:()=>ld,DetailsJSFieldItemModel:()=>lE,DisassociateActionModel:()=>tf,DisplayCheckboxFieldModel:()=>dH,DisplayColorFieldModel:()=>db,DisplayDateTimeFieldModel:()=>dx,DisplayEnumFieldModel:()=>dM,DisplayHtmlFieldModel:()=>dA,DisplayIconFieldModel:()=>dk,DisplayJSONFieldModel:()=>dj,DisplayNumberFieldModel:()=>dB,DisplayPasswordFieldModel:()=>dq,DisplayPercentFieldModel:()=>dV,DisplaySubItemFieldModel:()=>dm,DisplaySubListFieldModel:()=>dy,DisplaySubTableFieldModel:()=>dh,DisplayTextFieldModel:()=>dz,DisplayTimeFieldModel:()=>dU,DisplayTitleFieldModel:()=>ds,DisplayURLFieldModel:()=>dK,DividerItemModel:()=>s9,EditActionModel:()=>tg,EditFormContent:()=>a_,EditFormModel:()=>lu.EditFormModel,ExpandCollapseActionModel:()=>t0,FieldDeletePlaceholder:()=>ig,FieldModel:()=>ez.o,FieldModelSelect:()=>nF,FieldOperatorSelect:()=>nV,FilterActionModel:()=>tx,FilterBlockModel:()=>eK,FilterFormActionGroupModel:()=>n5,FilterFormActionModel:()=>n4,FilterFormBlockModel:()=>on,FilterFormCollapseActionModel:()=>os,FilterFormCustomFieldModel:()=>nG,FilterFormCustomItemModel:()=>nz,FilterFormCustomRecordSelectFieldModel:()=>n2,FilterFormFieldModel:()=>lR,FilterFormGridModel:()=>oS,FilterFormItemModel:()=>ow,FilterFormJSActionModel:()=>oM,FilterFormRecordSelectFieldModel:()=>nl,FilterFormResetActionModel:()=>oF,FilterFormSubmitActionModel:()=>oA,FilterManager:()=>em,FormActionGroupModel:()=>tI,FormActionModel:()=>tP,FormAssociationFieldGroupModel:()=>o2,FormAssociationItemModel:()=>o3,FormBlockContent:()=>t8.JU,FormBlockModel:()=>t8.F4,FormComponent:()=>t8.s2,FormCustomItemModel:()=>oG,FormGridModel:()=>t9,FormItemModel:()=>lf,FormJSFieldItemModel:()=>oY,FormModel:()=>t8.mO,FormSubmitActionModel:()=>tj,GRID_FLOW_KEY:()=>eP,GRID_STEP:()=>ej,GridModel:()=>eE,IconFieldModel:()=>sp,InputFieldModel:()=>oN.m,InputNumberField:()=>sw,JSActionModel:()=>tA,JSBlockModel:()=>ie,JSCollectionActionModel:()=>tk,JSColumnModel:()=>rt,JSEditableFieldModel:()=>s5,JSFieldModel:()=>sQ,JSFormActionModel:()=>oJ,JSItemActionModel:()=>tD,JSItemModel:()=>di,JSRecordActionModel:()=>tN,JsonFieldModel:()=>n,JsonInput:()=>sv,LinkActionModel:()=>tZ,MainPageModel:()=>eZ,MarkdownItemModel:()=>dn,NBColorPicker:()=>a1,NumberFieldModel:()=>sS,ObjectNester:()=>rQ,PageModel:()=>eG,PageTabModel:()=>e8,PasswordFieldModel:()=>sM,PercentFieldModel:()=>sP,PercentInput:()=>sC,PluginSettingsTopbarActionModel:()=>dG.ES,PopupActionModel:()=>e7,PopupCollectionActionModel:()=>tO,PopupSubTableActionGroupModel:()=>az,PopupSubTableActionsColumnModel:()=>aW,PopupSubTableEditActionModel:()=>aD,PopupSubTableFieldModel:()=>aq,PopupSubTableFormActionGroupModel:()=>t_,PopupSubTableFormModel:()=>aH,PopupSubTableFormSubmitActionModel:()=>tR,PopupSubTableRemoveActionModel:()=>aV,QUICK_EDIT_FORM_MAX_HEIGHT:()=>oQ,QUICK_EDIT_MARKDOWN_HEIGHT:()=>oZ,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>oX,QuickEditFormModel:()=>o1,RadioGroupFieldModel:()=>sj,RecordActionGroupModel:()=>et,RecordActionModel:()=>te,RecordPickerContent:()=>rb,RecordPickerFieldModel:()=>rw,RecordSelectFieldModel:()=>l6,RefreshActionModel:()=>t$,RichTextField:()=>s$,RichTextFieldModel:()=>o,RootPageModel:()=>e6,RootPageTabModel:()=>e4,RouteModel:()=>tt.j,SelectFieldModel:()=>sV,SourceCascader:()=>nU,SubFormFieldModel:()=>rZ,SubFormListFieldModel:()=>r1,SubPageModel:()=>e3,SubTableColumnModel:()=>rB,SubTableFieldModel:()=>rY,SubTableRecordAction:()=>aT,TableActionsColumnModel:()=>iF,TableAssociationFieldGroupModel:()=>iA,TableBlockModel:()=>i1,TableColumnModel:()=>ib,TableCustomColumnModel:()=>ix,TableJSFieldItemModel:()=>i7,TableSelectModel:()=>i9,TextareaFieldModel:()=>i,TimeFieldModel:()=>sG,TopbarActionModel:()=>dG.k9,UIEditorTopbarActionModel:()=>dG.h2,USER_CENTER_ACTION_ID:()=>dY.Bn,UnitConversion:()=>dL,UpdateRecordActionModel:()=>tU,UserCenterActionItemModel:()=>dY.ng,UserCenterItemModel:()=>dY.np,UserCenterSelectItemModel:()=>dY.FK,UserCenterTextItemModel:()=>dY.ys,UserCenterTopbarActionModel:()=>dY.cc,VariableFieldFormModel:()=>sJ,ViewActionModel:()=>tW,applyAssociateAction:()=>td,applyClickToOpenProps:()=>an,applyClickToOpenSetting:()=>ai,applyDisassociateAction:()=>ts,buildDisplayPathFromValue:()=>ah,buildRecordPickerParentItemContext:()=>rf,buildRecordPickerPopupContextInputArgs:()=>rv,collectAssociationHydrationCandidates:()=>l0,collectCascadeHydrationCandidate:()=>ac,connectFields:()=>oI,customizeFilterRender:()=>oV,defaultOperator:()=>oT,findOptionPathByTk:()=>am,formatNumber:()=>dO,getAllDataModels:()=>es,getAssociationBlockResourceSettings:()=>tn,getAssociationSelectAssociatedRecordsFilter:()=>i3,getAssociationSelectForeignKeyFilter:()=>i6,getAssociationSelectorContextInputArgs:()=>tr,getAssociationTargetResourceSettings:()=>ti,getDefaultOperator:()=>er,getDetailsItemValue:()=>la,getDisplayNumber:()=>d$,getQuickEditFieldProps:()=>o0,getTopbarPluginSettingsItems:()=>dG.XC,getValueWithIndex:()=>lr,injectRecordPickerPopupContext:()=>rg,isAssociationBlockContext:()=>to,isFilterValueEmpty:()=>ea,joinUrlSearch:()=>tY,markCascadeHydrationDone:()=>ap,operatorComponentProps:()=>oU,recalculateGridSizes:()=>e_,refreshClickToOpenRuntime:()=>ao,resolveCustomFieldOperatorList:()=>nB,resolveDefaultCustomFieldOperator:()=>nL,toOperatorSelectOptions:()=>nq,transformNestedData:()=>r7,transformRowsToSingleColumn:()=>eR});var v={};l.r(v),l.d(v,{aclCheck:()=>uI,aclCheckRefresh:()=>uD,actionLinkageRules:()=>pv,afterSuccess:()=>M,blockHeight:()=>cs,blockLinkageRules:()=>pg,confirm:()=>F,customVariable:()=>ue,dataLoadingMode:()=>uS,dataScope:()=>D,dateRangeLimit:()=>ub,dateTimeFormat:()=>ug,detailsFieldLinkageRules:()=>pw,displayFieldComponent:()=>uC,fieldComponent:()=>uP,fieldLinkageRules:()=>pb,filterFormDefaultValues:()=>cn,fixed:()=>uq,formAssignRules:()=>ct,layout:()=>uF,linkageAssignField:()=>pd,linkageRulesRefresh:()=>co,linkageRunjs:()=>pc,linkageSetActionProps:()=>c9,linkageSetBlockProps:()=>c3,linkageSetDetailsFieldProps:()=>pl,linkageSetFieldProps:()=>pe,linkageSetMenuItemProps:()=>c7,menuLinkageRules:()=>py,navigateToURL:()=>d9,numberFormat:()=>pA,openView:()=>d0,overflowMode:()=>pM,pattern:()=>uB,refreshTargetBlocks:()=>ui,renderMode:()=>uM,required:()=>uA,runjs:()=>d1,setTargetDataScope:()=>uc,showMessage:()=>d5,showNotification:()=>d3,sortingRule:()=>uw,subFormFieldLinkageRules:()=>px,subFormLinkageAssignField:()=>pu,subFormLinkageSetFieldProps:()=>pt,titleField:()=>uf,validation:()=>uL});var y=l(11869),b=l(2077),x=l(73544),w=l(96436),S=l(47785);let M=(0,y.defineAction)({name:"afterSuccess",title:(0,y.tExpr)("After successful submission"),uiSchema:{successMessage:{type:"string",title:(0,y.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,y.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,y.tExpr)("Automatic close"),value:!1},{label:(0,y.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,y.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,y.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,y.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,y.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,y.tExpr)("Link"),"x-decorator":"FormItem","x-component":S.n,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,y.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:n=!1,actionAfterSuccess:o="previous",redirectTo:i}=t;"previous"===o&&e.view&&e.view.close();let r=t=>{if(e.engine){let t=e.engine;for(;t.nextEngine;)t=t.nextEngine;let l=[],n=t;for(;n;)l.push(n),n=n.previousEngine;for(let e of l)e.destroyView()}e.router.navigate(t)},a=e=>{if((0,w.isURL)(e)){window.location.href=e;return}r(e)};if(l){let t=e.t(l);if(n)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===o&&i&&a(i)}});e.message.success(t)}"redirect"===o&&i&&a(i)}}),F=(0,y.defineAction)({name:"confirm",title:(0,y.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,y.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,y.tExpr)("Title"),"x-decorator":"FormItem","x-component":S.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,y.tExpr)("Content"),"x-decorator":"FormItem","x-component":S.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,y.tExpr)("Please Confirm"),content:(0,y.tExpr)("Are you sure you want to perform the action?")},async handler(e,t){t.enable&&(await e.modal.confirm({title:e.t(t.title,{ns:"lm-flow-engine"}),content:e.t(t.content,{ns:"lm-flow-engine"}),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||e.exit())}});var A=l(74848),k=l(96540),C=l(80512),P=l(40098),j=l.n(P);let I={__nocobaseDataScopeNull__:!0};function E(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function R(e){return E(e)?null:Array.isArray(e)?e.map(e=>R(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=R(e[l]),t),{}):e}function _(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){(0,y.isVariableExpression)(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=I);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{_(e,t.items[l])})}}function T(e,t){let l=j().cloneDeep(t);return _(e,l),R((0,y.pruneFilter)((0,w.transformFilter)(l)))}let D=(0,y.defineAction)({name:"dataScope",title:(0,y.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,y.useFlowSettingsContext)();return(0,A.jsx)(C.I8,{value:e.value,FilterItem:e=>(0,A.jsx)(C.Et,{...e,model:t.model,rightAsVariable:!0})})}}},defaultParams:e=>({filter:{logic:"$and",items:[]}}),useRawParams:!0,async handler(e,t){var l;let n=null==(l=e.model)?void 0:l.resource;if(!n)return;let o=await e.resolveJsonTemplate(t.filter),i=T(t.filter,o);(0,w.isEmptyFilter)(i)?n.removeFilterGroup(e.model.uid):n.addFilterGroup(e.model.uid,i)}});var N=l(66466),O=l(9556),$=l(16629),B=l(42441);function L(e){return(0,A.jsx)($.A,{...e,children:(0,A.jsx)(B.A,{paragraph:{rows:3}})})}function q(e){let{uid:t,...l}=e,n=(0,y.useFlowModelById)(t);return(0,A.jsx)(y.FlowModelRenderer,{model:n,fallback:(0,A.jsx)(L,{style:{margin:(null==n?void 0:n.context.isMobileLayout)?8:null==n?void 0:n.context.themeToken.marginBlock}}),hideRemoveInSettings:!0,showFlowSettings:{showBackground:!1,showBorder:!1},...l})}let V=k.memo(e=>{let{pageModelClass:t="ChildPageModel",parentId:l,onModelLoaded:n,defaultTabTitle:o,...i}=e,r=(0,y.useFlowEngine)(),a=(0,y.useFlowViewContext)(),{loading:s,data:d}=(0,N.A)(async()=>{let e={async:!0,parentId:l,subKey:"page",subType:"object",use:t};if("ChildPageModel"===t){var i;e.subModels={tabs:[{use:"ChildPageTabModel",stepParams:{pageTabSettings:{tab:{title:o||(null==(i=r.translate)?void 0:i.call(r,"Details"))}}}}]},e.stepParams={pageSettings:{general:{displayTitle:!1,enableTabs:!0}}}}let s=await r.loadOrCreateModel(e,{skipSave:!r.context.flowSettingsEnabled});return(null==s?void 0:s.uid)&&n&&(s.context.addDelegate(a),s.removeParentDelegate(),n(s.uid,s)),s},{refreshDeps:[l]});return!s&&(null==d?void 0:d.uid)?(0,A.jsx)(q,{uid:d.uid,...i}):(0,A.jsx)(L,{style:{margin:(null==a?void 0:a.isMobileLayout)?8:null==a?void 0:a.themeToken.marginBlock}})});V.displayName="FlowPage";let z=e=>{let{uid:t,parentId:l,subKey:n,...o}=e,i=(0,y.useFlowEngine)(),{loading:r,data:a}=(0,N.A)(async()=>await i.loadModel({uid:t,parentId:l,subKey:n}),{refreshDeps:[t,l,n]});return!r&&(null==a?void 0:a.uid)?(0,A.jsx)(q,{uid:a.uid,...o}):(0,A.jsx)(L,{style:{margin:16}})};var K=l(50467),U=l(77096),W=l(42443),H=l(71021),G=l(18492);function Y(e){let{t}=(0,G.B)(),l=(0,y.useFlowModel)(),n=l.context.blockModel,o=e.collection||n.collection,i=o.dataSource,r=(0,k.useMemo)(()=>{let e=`${t(i.displayName||i.key)} > `,l=o?`${t(o.title)||o.name||o.tableName} `:"";return`${e}${l}`},[]),{actionName:a}=(null==e?void 0:e.forbidden)||l.forbidden,s=(0,k.useMemo)(()=>t('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:r,actionName:t(j().capitalize(a))}).replaceAll("&gt;",">"),[a,r,t]);return(0,A.jsx)(W.A,{title:e.message||s,children:e.children})}let J={collection:"collection",record:"record",all:["collection","record"],both:["collection","record"]};class X extends y.FlowModel{static _getScene(){return j().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 e=this.props,t=this.getIcon()?(0,A.jsx)(U.In,{type:this.getIcon()}):void 0;return(0,A.jsx)(H.Ay,{...e,onClick:this.onClick.bind(this),icon:t,children:e.children||this.getTitle()})}render(){return this.props.tooltip?(0,A.jsx)(W.A,{title:this.props.tooltip,children:this.renderButton()}):this.renderButton()}renderHiddenInConfig(){let e=this.props,t=this.getIcon()?(0,A.jsx)(U.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,A.jsx)(Y,{children:(0,A.jsx)(H.Ay,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})}):(0,A.jsx)(W.A,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,A.jsx)(H.Ay,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})})}constructor(...e){super(...e),(0,K._)(this,"defaultProps",{type:"default",title:(0,y.tExpr)("Action")}),(0,K._)(this,"enableEditTooltip",!0),(0,K._)(this,"enableEditTitle",!0),(0,K._)(this,"enableEditIcon",!0),(0,K._)(this,"enableEditType",!0),(0,K._)(this,"enableEditDanger",!0),(0,K._)(this,"enableEditColor",!1)}}var Q=l(94130);class Z extends y.FlowModel{static getAllParentClasses(){let e=[],t=this;for(;t&&t!==Object;)(null==(t=Object.getPrototypeOf(t))?void 0:t.currentModels)&&e.push(t);return e}static get currentModels(){return Object.prototype.hasOwnProperty.call(this,"_models")&&this._models||(this._models=new Map),this._models}static get models(){let e=new Map;for(let t of this.getAllParentClasses())for(let[l,n]of t.currentModels)e.set(l,n);for(let[t,l]of this.currentModels)e.set(t,l);return e}static registerActionModels(e){for(let[t,l]of Object.entries(e))Object.defineProperty(l,"name",{value:t}),this.currentModels.set(t,l)}static isActionModelVisible(e,t){var l;let n=t.collection||(null==(l=t.blockModel)?void 0:l.collection),o=(0,Q.GX)(e);return(0,Q.F3)(n,o)}static async defineChildren(e){let t=this.baseClass?await (0,y.buildSubModelItems)(this.baseClass)(e):[],l=[],n=t.filter(t=>{let l=e.engine.getModelClass(t.useModel);return!!this.isActionModelVisible(l,e)&&(!this.scene||l._isScene(this.scene))});for(let[t,o]of this.models){if(!this.isActionModelVisible(o,e)||n.find(e=>e.useModel===o.name))continue;let t=await (0,y.buildSubModelItem)(o,e);t&&l.push(t)}return j().sortBy([...n,...l],"sort")}}(0,K._)(Z,"baseClass",void 0),(0,K._)(Z,"scene",void 0),(0,K._)(Z,"_models",void 0);class ee extends Z{}(0,K._)(ee,"baseClass",X),(0,K._)(ee,"scene",J.collection);class et extends Z{}(0,K._)(et,"baseClass",X),(0,K._)(et,"scene",J.record);var el=l(2117);X.registerFlow({key:"buttonSettings",title:(0,y.tExpr)("Button settings"),sort:-999,steps:{general:{title:(0,y.tExpr)("Edit button"),uiSchema:e=>({title:e.model.enableEditTitle?{"x-decorator":"FormItem","x-component":"Input",title:(0,y.tExpr)("Button title")}:void 0,tooltip:e.model.enableEditTooltip?{"x-decorator":"FormItem","x-component":"Input",title:(0,y.tExpr)("Button tooltip")}:void 0,icon:e.model.enableEditIcon?{"x-decorator":"FormItem","x-component":"IconPicker",title:(0,y.tExpr)("Button icon")}:void 0,type:e.model.enableEditType?{"x-decorator":"FormItem","x-component":"Radio.Group",title:(0,y.tExpr)("Button type"),enum:[{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")}}'}]}:void 0,danger:e.model.enableEditDanger?{"x-decorator":"FormItem","x-component":"Switch",title:(0,y.tExpr)("Danger action")}:void 0,color:e.model.enableEditColor?{"x-decorator":"FormItem","x-component":b.sk,title:(0,y.tExpr)("Color")}:void 0}),defaultParams:e=>e.model.defaultProps,handler(e,t){let{title:l,tooltip:n,...o}=t;e.model.setProps({title:e.t(l,{ns:"lm-flow-engine"}),tooltip:e.t(n,{ns:"lm-flow-engine"}),...o})}},linkageRules:{use:"actionLinkageRules"}}}),X.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{use:"aclCheck"}}}),X.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"},linkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"actionLinkageRules",flowKey:"buttonSettings",stepKey:"linkageRules"}}}}),X.registerEvents({click:{title:(0,y.tExpr)("Click"),name:"click",uiSchema:{condition:{type:"object",title:(0,y.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":el.H}},handler:el.b}});class en extends y.FlowModel{static defineChildren(e){let t=this.itemModelName,l=function(n){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return n.getToOneAssociationFields().map(n=>{let i=o?`${o}.${n.name}`:n.name;return n.targetCollection?{key:`${i}-assocationField`,label:n.title,children:()=>[{key:`${i}-children-collectionField`,label:e.t("Display fields"),type:"group",children:n.targetCollection.getFields().map(l=>{let n=`${i}.${l.name}`,o=y.DisplayItemModel.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!o)return;let r=o.modelName;return{key:`c-${i}.${l.name}`,label:l.title,useModel:t,toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===n},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:n,associationPathName:i}}},subModels:{field:{use:r}}}}}).filter(Boolean)},{key:`${i}-children-associationField`,label:"Display association fields",type:"group",children:(l(n.targetCollection,i)||[]).filter(Boolean)}]}:void console.error(`AssociationFieldGroupModel: target collection ${n.target} not found for field ${n.name}`)}).filter(Boolean)};return l(e.collection,e.prefixFieldPath)}}(0,K._)(en,"itemModelName","DetailsItemModel"),en.define({label:'{{t("Display fields")}}'});var eo=l(18853);function ei(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function er(e){var t,l,n,o,i,r;return e.operator||(null==(t=e.getStepParams("filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(l=e.subModels.field)?void 0:l.operator)||(null==(r=e.collectionField)||null==(i=r.filterable)||null==(o=i.operators)||null==(n=o[0])?void 0:n.value)||"$includes"}function ea(e){return!!(null==e||"string"==typeof e&&""===e.trim()||Array.isArray(e)&&0===e.filter(e=>null!=e&&("string"!=typeof e||""!==e.trim())).length)||"object"==typeof e&&e.constructor===Object&&0===Object.keys(e).length}function es(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}let ed={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function eu(e,t){var l,n,o;let i=null==e||null==(l=e.context)?void 0:l.dataSourceManager,r=null==e?void 0:e.collection;if(!i||!(null==r?void 0:r.dataSourceKey)||!(null==r?void 0:r.name)||!t)return;let a=r.name,s=t.split(".").filter(Boolean);for(let e=0;e<s.length;e+=1){let t=null==(n=i.getCollectionField)?void 0:n.call(i,`${r.dataSourceKey}.${a}.${s[e]}`);if(!t||e===s.length-1)return t;if(!(a=t.target||(null==(o=t.targetCollection)?void 0:o.name)))return}}function ec(e,t,l){let n=ed[e];if(!n)return e;let o=eu(t,l);return!o||ei(o)?e:n}async function ep(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function eh(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class em{async saveFilterConfigs(){await this.gridModel.saveStepParams()}getFilterConfigs(){return this.filterConfigs}getConnectFieldsConfig(e){let t=this.filterConfigs.filter(t=>t.filterId===e);if(0!==t.length)return{targets:t.map(e=>({targetId:e.targetId,filterPaths:e.filterPaths}))}}async prepareFiltersForTarget(e){let t=this.filterConfigs.filter(t=>t.targetId===e),l=new Set;return await Promise.all(t.map(async t=>{try{var n;let e=this.gridModel.flowEngine.getModel(t.filterId),o=null==e||null==(n=e.context)?void 0:n.blockModel;if(!o||"function"!=typeof o.prepareInitialFilterValues)return;let i=await o.prepareInitialFilterValues();!1!==i&&l.add(o)}catch(t){console.error(`Failed to prepare filter defaults for target "${e}": ${eh(t)}`)}})),l}async saveConnectFieldsConfig(e,t){let l=t.targets.map(t=>({filterId:e,targetId:t.targetId,filterPaths:t.filterPaths})),n=this.filterConfigs.filter(t=>t.filterId!==e);this.filterConfigs=[],this.filterConfigs.push(...n,...l),await this.saveFilterConfigs()}async addFilterConfig(e){if(!e.filterId||!e.targetId)return void console.error("FilterConfig must have filterId, targetId, and operator");if(!Array.isArray(e.filterPaths)||0===e.filterPaths.length)return void console.error("FilterConfig must have non-empty filterPaths array");let t=this.filterConfigs.findIndex(t=>t.filterId===e.filterId&&t.targetId===e.targetId);t>=0?this.filterConfigs[t]={...e}:this.filterConfigs.push({...e}),await this.saveFilterConfigs()}async removeFilterConfig(e){let{filterId:t,targetId:l,persist:n=!0}=e;if(!t&&!l)return console.error("At least one of filterId or targetId must be provided"),0;let o=this.filterConfigs.length;this.filterConfigs=this.filterConfigs.filter(e=>t&&l?e.filterId!==t||e.targetId!==l:t?e.filterId!==t:!l||e.targetId!==l);let i=o-this.filterConfigs.length;return i>0&&n&&await this.saveFilterConfigs(),i}bindToTarget(e){if(!e||"string"!=typeof e)return void console.error("[NocoBase]: targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`[NocoBase]: Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.addFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with addFilterGroup method`);if("function"!=typeof t.resource.removeFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let n=t;l.forEach(e=>{let l=this.gridModel.flowEngine.getModel(e.filterId);if(!l)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" not found`);if(!l.getFilterValue)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" does not have getFilterValue method`);let o=l.getFilterValue();if(ea(o)){try{t.resource.removeFilterGroup(e.filterId),n.setFilterActive(e.filterId,!1)}catch(e){console.error(`[NocoBase]: Failed to remove filter configuration from target model: ${e.message}`)}return}n.setFilterActive(e.filterId,!0);let i=e.filterPaths.map(n=>({path:n,operator:ec(e.operator||er(l),t,n),value:o}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new y.FilterItem({path:i[0].path,operator:i[0].operator,value:i[0].value}));else if(i.length>1){let l={logic:"$or",items:i};t.resource.addFilterGroup(e.filterId,new y.FilterGroup(l))}}catch(e){console.error(`Failed to bind filter configuration to target model: ${e.message}`);return}})}unbindFromTarget(e){if(!e||"string"!=typeof e)return void console.error("targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.removeFilterGroup)return void console.error(`Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let n=t;l.forEach(e=>{try{t.resource.removeFilterGroup(e.filterId),"function"==typeof(null==n?void 0:n.removeFilterSource)&&n.removeFilterSource(e.filterId)}catch(e){console.error(`Failed to unbind filter configuration from target model: ${e.message}`);return}})}async refreshTargetsByFilter(e,t){if(!e)return void console.error("filterId must be provided");let l=Array.isArray(e)?e:[e];if(0===l.length||l.some(e=>!e||"string"!=typeof e))return void console.error("filterId must be non-empty string(s)");let n=this.filterConfigs.filter(e=>l.includes(e.filterId));if(0===n.length)return;let o=(null==t?void 0:t.excludeTargetIds)?new Set(t.excludeTargetIds):void 0,i=[...new Set(n.map(e=>e.targetId))].filter(e=>!(null==o?void 0:o.has(e))).map(async e=>{try{this.bindToTarget(e);let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let l=t,n=t.resource,o=l.getDataLoadingMode();if("manual"===o&&!l.hasActiveFilters()){n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1;return}await ep(n),"function"==typeof n.setPage&&n.setPage(1),await n.refresh()}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(i)}constructor(e,t){(0,K._)(this,"filterConfigs",void 0),(0,K._)(this,"gridModel",void 0),this.gridModel=e,this.filterConfigs=t||[]}}var ef=l(27253),eg=l(84626),ev=l(47152),ey=l(16370);function eb(e){let{rows:t={},sizes:l={},layout:n,renderItem:o,rowGap:i=16,colGap:r=16,dragOverlayRect:a}=e,s=n||(0,y.normalizeGridLayout)({rows:t,sizes:l});return s.rows.length?(0,A.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:i},"data-grid-root":!0,children:[a&&(0,A.jsx)(eS,{rect:a}),(0,A.jsx)(ex,{rows:s.rows,renderItem:o,rowGap:i,colGap:r,parentPath:[]})]}):(0,A.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:a&&(0,A.jsx)(eS,{rect:a})})}function ex(e){let{rows:t,renderItem:l,rowGap:n,colGap:o,parentPath:i}=e;return(0,A.jsx)(A.Fragment,{children:t.map(e=>{let t=e.cells.length,r=e.sizes||[],a=r.some(e=>null!=e&&void 0!==e),s=[...i,{rowId:e.id}],d=e.cells.map((e,l)=>{if(!a)return 24/t;{let e=r.reduce((e,t)=>e+(t||0),0),n=t-r.filter(Boolean).length,o=n>0?(24-e)/n:0;return r[l]??o}});return(0,A.jsx)(ev.A,{gutter:o,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,i)=>(0,A.jsx)(ew,{rowKey:e.id,columnIndex:i,span:d[i],rowGap:n,colGap:o,cell:t,path:[...s.slice(0,-1),{rowId:e.id,cellId:t.id}],renderItem:l},t.id))},e.id)})})}let ew=k.memo(function(e){var t;let{rowKey:l,columnIndex:n,span:o,rowGap:i,colGap:r,cell:a,path:s,renderItem:d}=e,u=a.items||[];return(0,A.jsx)(ey.A,{span:o,"data-grid-column-row-id":l,"data-grid-column-index":n,"data-grid-path":JSON.stringify(s),children:(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:i},children:[u.map((e,t)=>e===y.EMPTY_COLUMN_UID?null:(0,A.jsx)("div",{"data-grid-item-row-id":l,"data-grid-column-index":n,"data-grid-item-index":t,"data-grid-item-uid":e,"data-grid-path":JSON.stringify(s),children:d(e)},e)),(null==(t=a.rows)?void 0:t.length)?(0,A.jsx)(ex,{rows:a.rows,renderItem:d,rowGap:i,colGap:r,parentPath:s}):null]})})});function eS(e){let{rect:t}=e,l={position:"absolute",top:t.top,left:t.left,width:t.width,height:t.height,borderRadius:6,pointerEvents:"none",transition:"all 60ms ease-out",zIndex:100},n={column:{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.08)"},"column-edge":{border:"2px solid var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.12)"},"row-gap":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.05)"},"empty-row":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"},"empty-column":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"},"item-edge":{border:"2px solid var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.12)"}};return(0,A.jsx)("div",{style:{...l,...n[t.type]}})}ew.displayName="GridColumn";var eM=l(18220),eF=l(95725),eA=l(40919);let ek=e=>{let{value:t,onChange:l,rows:n=10,...o}=e,[i,r]=(0,k.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,k.useState)(null);(0,k.useEffect)(()=>{r(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;r(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,A.jsxs)("div",{children:[(0,A.jsx)(eF.A.TextArea,{value:i,autoSize:{minRows:n,maxRows:n+10},onChange:d,...o}),a&&(0,A.jsx)(eA.A,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},eC=(0,eM.connect)(ek),eP="gridSettings",ej="grid",eI=e=>{if(!e)return null;if("number"==typeof e.clientX&&"number"==typeof e.clientY)return{x:e.clientX,y:e.clientY};if(e.touches&&e.touches.length>0){let t=e.touches[0];return{x:t.clientX,y:t.clientY}}if(e.changedTouches&&e.changedTouches.length>0){let t=e.changedTouches[0];return{x:t.clientX,y:t.clientY}}return null};class eE extends y.FlowModel{onInit(e){super.onInit(e),this.props.dragOverlayRect&&this.setProps("dragOverlayRect",null)}bindDragDocumentListeners(){var e;let t=(null==(e=this.getDragContainer())?void 0:e.ownerDocument)||("u"<typeof document?null:document);if(!t)return;let l={capture:!0,passive:!0},n={capture:!0},o=t.defaultView;return t.addEventListener("pointermove",this.updateDragPointerPosition,l),t.addEventListener("mousemove",this.updateDragPointerPosition,l),t.addEventListener("touchmove",this.updateDragPointerPosition,l),t.addEventListener("scroll",this.handleDragScroll,l),null==o||o.addEventListener("scroll",this.handleDragScroll,l),()=>{t.removeEventListener("pointermove",this.updateDragPointerPosition,n),t.removeEventListener("mousemove",this.updateDragPointerPosition,n),t.removeEventListener("touchmove",this.updateDragPointerPosition,n),t.removeEventListener("scroll",this.handleDragScroll,n),null==o||o.removeEventListener("scroll",this.handleDragScroll,n)}}deriveRowOrder(e,t){let l=[],n=new Set;return(t||Object.keys(e)).forEach(t=>{e[t]&&!n.has(t)&&(l.push(t),n.add(t))}),Object.keys(e).forEach(e=>{n.has(e)||(l.push(e),n.add(e))}),l}normalizeRowsWithOrder(e,t){let l=this.deriveRowOrder(e,t),n={};return l.forEach(t=>{e[t]&&(n[t]=e[t])}),Object.keys(e).forEach(t=>{n[t]||(n[t]=e[t])}),{rows:n,rowOrder:l}}orderSizesByRowOrder(e,t){let l={};return t.forEach(t=>{e[t]&&(l[t]=e[t])}),Object.keys(e).forEach(t=>{l[t]||(l[t]=e[t])}),l}getItemFlowSettings(){return this._memoItemFlowSettings||(this._memoItemFlowSettings={showBackground:!1,showDragHandle:!0,...this.itemFlowSettings}),this._memoItemFlowSettings}getItemUids(){return(this.subModels.items||[]).map(e=>e.uid)}normalizeLayoutFromSource(e){let t=this.getStepParams(eP,ej)||{};return(0,y.normalizeGridLayout)({layout:(null==e?void 0:e.layout)??this.props.layout??t.layout,rows:(null==e?void 0:e.rows)??this.props.rows??t.rows,sizes:(null==e?void 0:e.sizes)??this.props.sizes??t.sizes,rowOrder:(null==e?void 0:e.rowOrder)??this.props.rowOrder??t.rowOrder,itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}getGridLayout(){return this.normalizeLayoutFromSource()}serialize(){let e=super.serialize();return e.props=j().omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,y.projectLayoutToLegacyRows)(e);this.setProps("layout",e),this.setProps("rows",t.rows),this.setProps("sizes",t.sizes),this.setProps("rowOrder",t.rowOrder)}setGridStepLayout(e){this.setStepParams(eP,{[ej]:{layout:e}})}findLayoutRowByPath(e,t){if(!(null==t?void 0:t.length))return null;let l=e.rows;for(let e=0;e<t.length;e+=1){let n=t[e],o=l.find(e=>e.id===n.rowId);if(!o)break;if(e===t.length-1)return o;let i=o.cells.find(e=>e.id===n.cellId);l=(null==i?void 0:i.rows)||[]}return null}collectCellItemsForResize(e){return Array.isArray(e.items)?[...e.items]:(e.rows||[]).flatMap(e=>e.cells.flatMap(e=>this.collectCellItemsForResize(e)))}buildResizedCells(e,t){let l=new Set;return t.map((t,n)=>{let o=e.cells.findIndex((e,n)=>!l.has(n)&&j().isEqual(this.collectCellItemsForResize(e),t));if(-1!==o){l.add(o);let n=e.cells[o];return n.rows&&!n.items?j().cloneDeep(n):{id:n.id,items:[...t]}}return{id:`${e.id}:cell:${n}:${(0,ef.uid)()}`,items:[...t]}})}getResizeRowPath(e){if(!(null==e?void 0:e.length))return[];let t=e.map(e=>({...e}));return delete t[t.length-1].cellId,t}getResizeContainerWidth(e){var t,l,n;let o=this.getResizeRowPath(e),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0;if(!o.length)return i;let r=Array.from((null==(l=this.gridContainerRef.current)?void 0:l.querySelectorAll("[data-grid-row-id]"))||[]).find(e=>{try{return j().isEqual(JSON.parse(e.dataset.gridPath||"[]"),o)}catch{return!1}});return(null==r||null==(n=r.parentElement)?void 0:n.clientWidth)||i}resizeGridLayout(e){var t;let{direction:l,resizeDistance:n,model:o}=e,i=this.getGridLayout(),r=(0,y.findModelUidLayoutPosition)(i,o.uid);if(!r)return null;let a=this.findLayoutRowByPath(i,r.path);if(!a)return null;let s=this.getResizeContainerWidth(r.path),d=a.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:u,newSizes:c,moveDistance:p}=e_({position:{rowId:a.id,columnIndex:r.cellIndex,itemIndex:r.itemIndex},direction:l,resizeDistance:n,prevMoveDistance:this.prevMoveDistance,oldRows:{[a.id]:d},oldSizes:{[a.id]:a.sizes||[]},gutter:(null==(t=this.context.themeToken)?void 0:t.marginBlock)??16,gridContainerWidth:s}),h=j().cloneDeep(i),m=this.findLayoutRowByPath(h,r.path);return m?(m.cells=this.buildResizedCells(a,u[a.id]||[]),m.sizes=c[a.id]||[],{layout:(0,y.normalizeGridLayout)({layout:h,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}),moveDistance:p}):null}onMount(){super.onMount(),this.emitter.on("onSubModelAdded",e=>{e.isNew&&(this.resetRows(!0),this.setGridStepLayout(this.props.layout))}),this.emitter.on("onSubModelDestroyed",e=>{var t,l;let n=e.uid;this.resetRows(!0),this.setGridStepLayout(this.props.layout),null==(t=this.context.filterManager)||t.removeFilterConfig({targetId:n}),null==(l=this.context.filterManager)||l.removeFilterConfig({filterId:n}),this.saveStepParams()}),this.emitter.on("onSubModelMoved",()=>{this.resetRows(!0)}),this.emitter.on("onResizeLeft",e=>{let{resizeDistance:t,model:l}=e,n=this.resizeGridLayout({direction:"left",resizeDistance:t,model:l});n&&(this.prevMoveDistance=n.moveDistance,this.syncLayoutProps(n.layout))}),this.emitter.on("onResizeRight",e=>{let{resizeDistance:t,model:l}=e,n=this.resizeGridLayout({direction:"right",resizeDistance:t,model:l});n&&(this.prevMoveDistance=n.moveDistance,this.syncLayoutProps(n.layout))}),this.emitter.on("onResizeBottom",e=>{let{resizeDistance:t,model:l}=e}),this.emitter.on("onResizeEnd",()=>{this.prevMoveDistance=0,this.saveGridLayout(this.props.layout)})}saveGridLayout(e){let t=e&&"version"in e?(0,y.normalizeGridLayout)({layout:e,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}):this.normalizeLayoutFromSource(e);this.setGridStepLayout(t),this.syncLayoutProps(t),this.saveStepParams()}mergeRowsWithItems(e){let t=this.subModels.items||[];if(!t||0===t.length)return{};let l=new Set(t.map(e=>e.uid));l.add(y.EMPTY_COLUMN_UID);let n=new Set,o={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>j().castArray(e).filter(e=>l.has(e))).filter(e=>e.length>0);e.length>0&&(o[t]=e,e.forEach(e=>e.forEach(e=>n.add(e))))}let i=new Set;for(let e of(Object.values(o).forEach(e=>e.forEach(e=>e.forEach(e=>i.add(e)))),t))i.has(e.uid)||(o[(0,ef.uid)()]=[[e.uid]]);return o}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(eP,ej)||{},l=this.normalizeLayoutFromSource(t);this.setGridStepLayout(l),e&&this.syncLayoutProps(l)}computePointerPosition(e){var t;if(!this.dragState)return null;if(this.dragState.pointerPosition)return this.dragState.pointerPosition;let l=this.dragState.pointerOrigin;if(l)return{x:l.x+e.delta.x,y:l.y+e.delta.y};let n=eI(e.activatorEvent);if(n)return this.dragState.pointerOrigin=n,{x:n.x+e.delta.x,y:n.y+e.delta.y};let o=null==(t=e.over)?void 0:t.rect;return o?{x:o.left+o.width/2,y:o.top+o.height/2}:null}getDragContainer(){if(!this.dragState)return this.gridContainerRef.current;let e=this.gridContainerRef.current;return e&&this.dragState.containerEl!==e&&(this.dragState.containerEl=e),this.dragState.containerEl||e}updateLayoutSnapshot(){if(!this.dragState)return;let e=(0,y.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=e.slots,this.dragState.containerRect=e.containerRect}scheduleSnapshotRefresh(){!this.dragState||this.dragState.refreshTimer||(this.dragState.refreshTimer=setTimeout(()=>{this.dragState&&(this.dragState.refreshTimer=null,this.updateLayoutSnapshot(),this.refreshPreviewFromPointer())},16))}refreshPreviewFromPointer(){if(!this.dragState)return;let e=this.dragState.pointerPosition||this.dragState.pointerOrigin;if(!e)return;let t=this.resolveDragSlot(e);this.applyPreview(t)}computeOverlayRect(e){var t,l,n,o;let i=this.dragOverlayConfig,r=e.rect;switch(e.type){case"column":{let l=null==i||null==(t=i.columnInsert)?void 0:t[e.position],n=(null==l?void 0:l.height)??r.height,o=(null==l?void 0:l.offsetTop)??0;return{top:r.top+o,left:r.left,width:r.width,height:n}}case"column-edge":{let t=null==i||null==(l=i.columnEdge)?void 0:l[e.direction],n=(null==t?void 0:t.width)??r.width,o=(null==t?void 0:t.offsetLeft)??0;return{top:r.top,left:r.left+o,width:n,height:r.height}}case"item-edge":{let t=null==i||null==(n=i.columnEdge)?void 0:n[e.direction],l=(null==t?void 0:t.width)??r.width,o=(null==t?void 0:t.offsetLeft)??0;return{top:r.top,left:r.left+o,width:l,height:r.height}}case"row-gap":{let t=null==i||null==(o=i.rowGap)?void 0:o[e.position],l=(null==t?void 0:t.height)??r.height,n=(null==t?void 0:t.offsetTop)??0;return{top:r.top+n,left:r.left,width:r.width,height:l}}default:return{top:r.top,left:r.left,width:r.width,height:r.height}}}getHitTestSlot(e){return{...e,rect:this.computeOverlayRect(e)}}resolveDragSlot(e){var t;return(null==(t=this.dragState)?void 0:t.slots.length)?(0,y.resolveDropIntent)(e,this.dragState.slots.map(e=>this.getHitTestSlot(e))):null}applyPreview(e){if(!this.dragState)return;if(!e){null!==this.dragState.activeSlotKey&&(this.dragState.activeSlotKey=null,this.dragState.previewLayout=void 0,this.setProps("dragOverlayRect",null));return}let t=(0,y.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,y.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:ef.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,ef.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,y.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:j().cloneDeep(l.rows),sizes:j().cloneDeep(l.sizes),rowOrder:j().cloneDeep(l.rowOrder),layout:j().cloneDeep(l.layout)};let n=this.computeOverlayRect(e),o={top:n.top-this.dragState.containerRect.top,left:n.left-this.dragState.containerRect.left,width:n.width,height:n.height,type:e.type};this.setProps("dragOverlayRect",o),this.dragState.activeSlotKey=t}handleDragStart(e){let t=e.active.id,l=this.normalizeLayoutFromSource(),n=(0,y.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:j().cloneDeep(n.rows),sizes:j().cloneDeep(n.sizes),rowOrder:j().cloneDeep(n.rowOrder),layout:j().cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:eI(e.activatorEvent)??void 0,activeSlotKey:null,previewLayout:void 0,refreshTimer:null,generatedIds:new Map},this.dragState.cleanupListeners=this.bindDragDocumentListeners(),this.setProps("dragOverlayRect",null),this.updateLayoutSnapshot(),this.scheduleSnapshotRefresh()}handleDragMove(e){if(!this.dragState)return;this.dragState.slots.length||this.updateLayoutSnapshot();let t=this.computePointerPosition(e);if(!t)return void this.applyPreview(null);let l=this.resolveDragSlot(t);this.applyPreview(l)}finishDrag(){var e,t;this.dragState&&(this.dragState.refreshTimer&&clearTimeout(this.dragState.refreshTimer),null==(e=(t=this.dragState).cleanupListeners)||e.call(t),this.dragState=void 0,this.setProps("dragOverlayRect",null))}handleDragEnd(e){if(!this.dragState)return;let t=this.computePointerPosition(e);if(t){let e=this.resolveDragSlot(t);this.applyPreview(e)}let l=this.dragState.previewLayout;l&&(l.layout?this.syncLayoutProps(j().cloneDeep(l.layout)):(this.setProps("rows",j().cloneDeep(l.rows)),this.setProps("sizes",j().cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",j().cloneDeep(l.rowOrder))),this.saveGridLayout(l)),this.finishDrag()}handleDragCancel(e){this.finishDrag()}renderAddSubModelButton(){throw Error("renderAddSubModelButton method must be implemented in subclasses of GridModel")}getVisibleLayout(){var e;let t=this.normalizeLayoutFromSource(),l=this.context.isMobileLayout?(0,y.normalizeGridLayout)({rows:eR((0,y.projectLayoutToLegacyRows)(t).rows),itemUids:this.getItemUids()}):t,n=(0,y.projectLayoutToLegacyRows)(l),{rows:o,rowOrder:i}=this.normalizeRowsWithOrder(n.rows,n.rowOrder),r=this.orderSizesByRowOrder(n.sizes,i);if(this.context.flowSettingsEnabled)return{layout:l,rows:o,sizes:r};let a=(null==(e=this.subModels)?void 0:e.items)||[];if(!a.length)return{layout:l,rows:n.rows,sizes:n.sizes};let s=new Map(a.map(e=>[e.uid,e])),d=e=>e.map(e=>{let t=[],l=[];return e.cells.forEach((n,o)=>{var i;let r=null==(i=e.sizes)?void 0:i[o],a=Number.isFinite(r)&&r>0?r:1;if(n.rows){let e=d(n.rows);e.length&&(t.push({...n,rows:e}),l.push(a));return}let u=(n.items||[]).filter(e=>{var t;return e!==y.EMPTY_COLUMN_UID&&(null==(t=s.get(e))?void 0:t.hidden)!==!0});u.some(e=>{let t=s.get(e);return!t||!t.hidden})&&(t.push({...n,items:u}),l.push(a))}),t.length?{...e,cells:t,sizes:l}:null}).filter(Boolean),u=(0,y.normalizeGridLayout)({layout:{version:2,rows:d(l.rows)}}),c=(0,y.projectLayoutToLegacyRows)(u);return{layout:u,rows:c.rows,sizes:c.sizes}}render(){let{layout:e,rows:t,sizes:l}=this.getVisibleLayout(),n=Object.keys(t||{}).length>0;return(0,A.jsxs)(A.Fragment,{children:[n&&(0,A.jsx)(eg.A,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap},size:this.props.rowGap,children:(0,A.jsx)(y.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,A.jsx)(eb,{rowGap:this.props.rowGap,colGap:this.props.colGap,layout:e,rows:t,sizes:l,dragOverlayRect:this.props.dragOverlayRect,renderItem:e=>{var t,l,n,o,i;let r=this.flowEngine.getModel(e);if(!r)return this.itemFallback;let a=this.context.fieldKey,s=this.context.fieldIndex,d=this.context.getPropertyOptions("item"),u=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"record"),c=null==(n=(o=this.context).getPropertyOptions)?void 0:n.call(o,"currentObject"),p=null==s?r:(()=>{let t=r.createFork({},`${a}:${e}`);t.context.defineProperty("fieldIndex",{get:()=>s}),t.context.defineProperty("fieldKey",{get:()=>a}),t.context.defineProperty("record",{get:()=>this.context.record,cache:!1,meta:null==u?void 0:u.meta,resolveOnServer:null==u?void 0:u.resolveOnServer,serverOnlyWhenContextParams:null==u?void 0:u.serverOnlyWhenContextParams}),t.context.defineProperty("currentObject",{get:()=>this.context.currentObject,cache:!1,resolveOnServer:null==c?void 0:c.resolveOnServer,serverOnlyWhenContextParams:null==c?void 0:c.serverOnlyWhenContextParams});let{value:l,...n}=d||{};return t.context.defineProperty("item",{...n,get:()=>this.context.item,cache:!1}),t})();return(0,A.jsx)(y.Droppable,{model:p,children:(0,A.jsx)(y.MemoFlowModelRenderer,{model:p,fallback:r.skeleton||this.itemFallback,showFlowSettings:!!this.context.flowSettingsEnabled&&this.getItemFlowSettings(),showErrorFallback:!0,settingsMenuLevel:(null==p?void 0:p.settingsMenuLevel)??this.itemSettingsMenuLevel,showTitle:!0,extraToolbarItems:this.itemExtraToolbarItems},`${p.uid}:${a}:${(null==p?void 0:p.use)||(null==p||null==(i=p.constructor)?void 0:i.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,A.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),(0,K._)(this,"subModelBaseClass","BlockModel"),(0,K._)(this,"gridContainerRef",k.createRef()),(0,K._)(this,"prevMoveDistance",0),(0,K._)(this,"itemSettingsMenuLevel",1),(0,K._)(this,"itemFlowSettings",{}),(0,K._)(this,"dragOverlayConfig",void 0),(0,K._)(this,"itemFallback",(0,A.jsx)(L,{})),(0,K._)(this,"itemExtraToolbarItems",[{key:"drag-handler",component:y.DragHandler,sort:1}]),(0,K._)(this,"dragState",void 0),(0,K._)(this,"_memoItemFlowSettings",void 0),(0,K._)(this,"updateDragPointerPosition",e=>{if(!this.dragState)return;let t=eI(e);t&&(this.dragState.pointerPosition=t)}),(0,K._)(this,"handleDragScroll",()=>{this.dragState&&this.scheduleSnapshotRefresh()})}}function eR(e,t){let l=(null==t?void 0:t.emptyColumnUid)??y.EMPTY_COLUMN_UID,n={};return Object.keys(e).forEach(t=>{e[t].forEach(e=>{let t=e.filter(e=>e!==l);t.length>0&&(n[(0,ef.uid)()]=[t])})}),n}function e_(e){var t,l;let{position:n,direction:o,resizeDistance:i,prevMoveDistance:r,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=j().cloneDeep(s),h=j().cloneDeep(a),m=Math.floor(i/(d-u*((h[n.rowId]||[]).length-1))*c);if(m===r)return{newRows:p,newSizes:h,moveDistance:m};(t=h)[l=n.rowId]??(t[l]=[c]);let f=h[n.rowId],g=m-r,v="left"===o&&n.columnIndex>0,y="right"===o&&n.columnIndex<f.length-1;if(!v&&!y&&g>0){let e=c-f.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:h,moveDistance:r};g>e&&(m=r+e,g=e)}if(h[n.rowId][n.columnIndex]+=g,"left"===o&&n.columnIndex>0&&(h[n.rowId][n.columnIndex-1]-=g,0===h[n.rowId][n.columnIndex-1]&&eD({rows:p,sizes:h,position:n,direction:"left"})),"left"===o&&0===n.columnIndex){let e=h[n.rowId].slice(1).reduce((e,t)=>e+t,0);h[n.rowId][0]<c-e&&eT({rows:p,sizes:h,position:n,direction:"left"})}if("right"===o&&n.columnIndex<h[n.rowId].length-1&&(h[n.rowId][n.columnIndex+1]-=g,0===h[n.rowId][n.columnIndex+1]&&eD({rows:p,sizes:h,position:n,direction:"right"})),"right"===o&&n.columnIndex===h[n.rowId].length-1){let e=h[n.rowId].slice(0,-1).reduce((e,t)=>e+t,0);h[n.rowId][n.columnIndex]<c-e&&eT({rows:p,sizes:h,position:n,direction:"right"})}return{newRows:p,newSizes:h,moveDistance:m}}function eT(e){let{rows:t,sizes:l,position:n,direction:o}=e,i=t[n.rowId]||[],r=l[n.rowId]||[];if("left"===o){let e=i[n.columnIndex-1];if(null==e?void 0:e.includes(y.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex,0,[y.EMPTY_COLUMN_UID]),r.splice(n.columnIndex,0,1)}if("right"===o){let e=i[n.columnIndex+1];if(null==e?void 0:e.includes(y.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex+1,0,[y.EMPTY_COLUMN_UID]),r.splice(n.columnIndex+1,0,1)}}function eD(e){let{rows:t,sizes:l,position:n,direction:o}=e,i=t[n.rowId]||[],r=l[n.rowId]||[];if("left"===o){let e=i[n.columnIndex-1];if(!(null==e?void 0:e.includes(y.EMPTY_COLUMN_UID)))return;i.splice(n.columnIndex-1,1),r.splice(n.columnIndex-1,1)}if("right"===o){let e=i[n.columnIndex+1];if(!(null==e?void 0:e.includes(y.EMPTY_COLUMN_UID)))return;i.splice(n.columnIndex+1,1),r.splice(n.columnIndex+1,1)}}eE.registerFlow({key:eP,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,y.tExpr)("Layout"),"x-decorator":"FormItem","x-component":eC,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,y.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,n=(0,y.normalizeGridLayout)({layout:t.layout,rows:t.rows,sizes:t.sizes,rowOrder:t.rowOrder,itemUids:l.getItemUids(),gridUid:l.uid,logger:console});l.setGridStepLayout(n),l.syncLayoutProps(n)}}}});let eN=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class eO extends eE{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new em(this,e.filterManager)})}get subModelBaseClasses(){var e;let t=(null==(e=this.context.view)?void 0:e.inputArgs)??{};return t.collectionName&&!t.filterByTk,["DataBlockModel","FilterBlockModel","BlockModel"]}get filterManager(){return this.context.filterManager}get addBlockItems(){var e,t;if((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)==="select")return async e=>{let t=await (0,y.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=eN.filter(t=>!!e.engine.getModelClass(t)),n=(await Promise.all(l.map(t=>(0,y.buildSubModelItems)(t)(e)))).flat().sort((e,t)=>(e.sort??1e3)-(t.sort??1e3));return n.length>0&&t.push({key:"select-scene-other-blocks",type:"group",label:e.t("Other blocks"),sort:1e3,children:n}),t}}serialize(){let e=super.serialize();return e.filterManager=this.filterManager.getFilterConfigs(),e}renderAddSubModelButton(){let e=this.addBlockItems;return(0,A.jsx)(y.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,A.jsx)(y.FlowSettingsButton,{icon:(0,A.jsx)(eo.A,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,A.jsx)("div",{className:"nb-block-grid",style:this.context.disableBlockGridPadding?null:{padding:this.context.isMobileLayout?8:this.context.themeToken.marginBlock,paddingBottom:0},children:super.render()})}constructor(...e){super(...e),(0,K._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}})}}eO.registerFlow({key:"blockGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",e.isMobileLayout?12:e.themeToken.marginBlock),e.model.setProps("colGap",e.themeToken.marginBlock)}}}});var e$=l(15892);class eB extends X{}eB.define({children:async e=>(await (0,y.buildSubModelItems)(X)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(J.collection))});var eL=l(52175);class eq extends y.FlowModel{}var eV=l(5679),ez=l(81486);class eK extends e$.z{}eK.define({hide:!0,label:"Filter blocks"});var eU=l(44279),eW=l(21637);async function eH(e){var t,l,n,o,i;(null==(l=e.inputArgs)||null==(t=l.dirty)?void 0:t.hasDirtyForms)&&(await e.modal.confirm({title:e.t("Unsaved changes"),content:e.t("Are you sure you don't want to save?"),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||(null==(i=e.inputArgs)||null==(o=i.controller)||null==(n=o.prevent)||n.call(o),e.exitAll()))}class eG extends y.FlowModel{getEnableTabs(){var e,t;let l=null==(t=this.context)||null==(e=t.currentRoute)?void 0:e.enableTabs;return null!=this.props.routeId&&"boolean"==typeof l?l:!!this.props.enableTabs}getActiveTabKey(){var e,t,l,n;let o=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return o?o.tabUid||(null==(n=this.getFirstTab())?void 0:n.uid):this.props.tabActiveKey||(null==(l=this.getFirstTab())?void 0:l.uid)}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{if(this.dirtyRefreshScheduled=!1,this.unmounted||!1===(0,y.getPageActive)(this.context))return;let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}).catch(()=>{}))}onMount(){var e,t,l,n,o,i,r,a,s;super.onMount(),this.unmounted=!1,this.setProps("tabActiveKey",null==(e=this.context.view.inputArgs)?void 0:e.tabUid),(null==(t=this.context)?void 0:t.pageInfo)&&(this.context.pageInfo.version="v2"),this.updateDocumentTitle(),this.viewActivatedListener||(this.viewActivatedListener=e=>{let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive")},null==(i=this.flowEngine)||null==(o=i.emitter)||null==(n=o.on)||n.call(o,y.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let d=(0,y.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),u=d>0&&d!==this.lastSeenEmitterViewActivatedVersion;if(this.lastSeenEmitterViewActivatedVersion=d,u&&!1!==(0,y.getPageActive)(this.context)){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onActive")}this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(s=this.flowEngine)||null==(a=s.emitter)||null==(r=a.on)||r.call(a,y.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,n,o,i;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,y.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(i=this.flowEngine)||null==(o=i.emitter)||null==(n=o.off)||n.call(o,y.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener),this.dataSourceDirtyListener=void 0),super.onUnmount()}invokeTabModelLifecycleMethod(e,t){var l,n;let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];"onActive"===t&&(null==(l=this.context)?void 0:l.pageInfo)&&(this.context.pageInfo.version="v2");let i=this.flowEngine.getModel(e);if(i){if(i.context.tabActive){let e=!1!==(0,y.getPageActive)(i.context);i.context.tabActive.value=e&&"onActive"===t}null==(n=i.subModels.grid)||n.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,o)})}"onActive"===t&&this.updateDocumentTitle(e)}async updateDocumentTitle(e){var t,l,n,o,i,r,a,s,d,u,c,p,h,m,f,g;let v=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,y.getPageActive)(this.context))return;let b=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),x=null==(i=this.context)||null==(o=i.view)||null==(n=o.inputArgs)?void 0:n.viewUid,w=null==(s=this.flowEngine)||null==(a=s.context)||null==(r=a.route)?void 0:r.pathname;if(b&&x&&"string"==typeof w){let e=null==(d=(0,y.parsePathnameToViewParams)(w).at(-1))?void 0:d.viewUid;if(e&&e!==x)return}let S=++this.documentTitleUpdateVersion,M=async e=>{if(!e||"string"!=typeof e)return"";try{var t,l;let n=await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e));return null==n?"":String(n)}catch(t){return e}},F="";if(this.getEnableTabs()){let t=e||this.getActiveTabKey(),l=t?this.flowEngine.getModel(t):this.getFirstTab();if(!l&&v<5)return void window.setTimeout(()=>{this.unmounted||S===this.documentTitleUpdateVersion&&this.updateDocumentTitle(t,v+1)},0);F=await M(null==l||null==(p=l.stepParams)||null==(c=p.pageTabSettings)||null==(u=c.tab)?void 0:u.documentTitle)||(null==l||null==(h=l.getTabTitle)?void 0:h.call(l))||""}else F=await M(null==(g=this.stepParams)||null==(f=g.pageSettings)||null==(m=f.general)?void 0:m.documentTitle)||this.props.title||"";S===this.documentTitleUpdateVersion&&"string"==typeof F&&""!==F&&(document.title=F)}mapTabs(){return this.mapSubModels("tabs",e=>!this.context.flowSettingsEnabled&&e.hidden?null:{key:e.uid,label:(0,A.jsx)(y.Droppable,{model:e,children:(0,A.jsx)(y.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:y.DragHandler,sort:1}]})}),children:e.renderChildren()}).filter(Boolean)}getFirstTab(){var e;return null==(e=this.subModels.tabs)?void 0:e[0]}renderFirstTab(){var e;let t=this.getFirstTab();return null==t||null==(e=t.renderChildren)?void 0:e.call(t)}async handleDragEnd(e){throw Error("Method not implemented.")}renderTabs(){var e,t,l,n;let o=(null==(e=this.context.themeToken)?void 0:e.paddingLG)??16,i=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,A.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:o,height:1}}),r=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,A.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:o},children:(0,A.jsx)(y.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,A.jsx)(y.FlowSettingsButton,{icon:(0,A.jsx)(eo.A,{}),children:this.context.t("Add tab")})})});return(0,A.jsx)(y.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:(0,A.jsx)(eW.A,{activeKey:(null==(l=this.context.view)||null==(t=l.navigation)?void 0:t.viewParams)?this.context.view.navigation.viewParams.tabUid||(null==(n=this.getFirstTab())?void 0:n.uid):this.props.tabActiveKey,tabBarStyle:this.props.tabBarStyle,items:this.mapTabs(),onChange:e=>{var t,l;null==(l=this.context.view.navigation)||null==(t=l.changeTo)||t.call(l,{tabUid:e}),this.invokeTabModelLifecycleMethod(e,"onActive"),this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive"),this.setProps("tabActiveKey",e)},tabBarExtraContent:{left:i,right:r}})})}render(){let e=this.context.themeToken,t={...this.props.headerStyle};e&&(t.paddingBlock=e.paddingSM,t.paddingInline=e.paddingLG);let l=this.getEnableTabs();return l&&(t.paddingBottom=0),(0,A.jsxs)(A.Fragment,{children:[this.props.displayTitle&&(0,A.jsx)(eU.z,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),(0,K._)(this,"tabBarExtraContent",{}),(0,K._)(this,"viewActivatedListener",void 0),(0,K._)(this,"dataSourceDirtyListener",void 0),(0,K._)(this,"lastSeenEmitterViewActivatedVersion",0),(0,K._)(this,"dirtyRefreshScheduled",!1),(0,K._)(this,"unmounted",!1),(0,K._)(this,"documentTitleUpdateVersion",0),(0,K._)(this,"createPageTabModelOptions",()=>{let e=(0,ef.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,ef.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}})}}eG.registerEvents({close:{title:(0,y.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,y.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":el.H}},handler:el.b}}),eG.registerFlow({key:"closeGuard",title:(0,y.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,y.tExpr)("Unsaved changes confirmation"),handler:eH}}}),eG.registerFlow({key:"pageSettings",title:(0,y.tExpr)("Page settings"),steps:{general:{title:(0,y.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,y.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,y.tExpr)("Document title"),description:(0,y.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":S.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,y.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,y.tExpr)("Enable tabs"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",e.t(t.title,{ns:"lm-desktop-routes"}));else{var l,n;let o=null==(n=e.model.context)||null==(l=n.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||o,{ns:"lm-desktop-routes"}))}e.model.setProps("enableTabs",t.enableTabs),"embed"===e.view.type?(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgContainer)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgContainer)",marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgLayout)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgLayout)",marginBottom:0})),e.model.updateDocumentTitle()}}}});var eY=l(68904);class eJ extends eG{renderBackButtonWhenTabsDisabled(){var e,t,l;if((null==(t=this.context)||null==(e=t.view)?void 0:e.type)!=="embed")return null;let n=null==(l=this.context)?void 0:l.themeToken,o={...this.props.tabBarStyle,paddingBlock:(null==n?void 0:n.paddingXS)??8};return(0,A.jsx)("div",{style:o,children:(0,A.jsx)(eX,{renderSpacerWhenNoBack:!1})})}async handleDragEnd(e){var t,l;if(!(null==(t=e.active)?void 0:t.id)||!(null==(l=e.over)?void 0:l.id))throw Error("Invalid drag event");this.flowEngine.moveModel(e.active.id,e.over.id)}render(){return(0,A.jsxs)(A.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,A.jsx)(eU.z,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,A.jsxs)(A.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),(0,K._)(this,"tabBarExtraContent",{left:(0,A.jsx)(eX,{})}),(0,K._)(this,"createPageTabModelOptions",()=>({use:"ChildPageTabModel"}))}}let eX=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,y.useFlowContext)(),n=l.themeToken,o=32,i=(null==n?void 0:n.paddingLG)??16,r=(0,k.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:n.paddingXS,marginLeft:n.paddingLG,marginRight:o-n.paddingXS}),[n.paddingLG,n.paddingXS]);return"embed"!==l.view.type?t?(0,A.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,A.jsx)(H.Ay,{"aria-label":"back-button",type:"text",icon:(0,A.jsx)(eY.A,{}),style:r,onClick:l.view.close})};class eQ extends y.FlowModel{}eQ.registerFlow({key:"pageSettings",title:(0,y.tExpr)("Page settings"),steps:{general:{title:(0,y.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,y.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,y.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",t.title?e.t(t.title):null);else{var l,n;let o=null==(n=e.model.context)||null==(l=n.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||o))}e.model.setProps("enableTabs",t.enableTabs),e.model.context.closable?(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgLayout,paddingInline:16,marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgContainer,paddingInline:16,marginBottom:0}))}}}});class eZ extends eQ{renderFirstTab(){var e;return(0,A.jsx)(y.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,A.jsxs)(A.Fragment,{children:[this.props.displayTitle&&(0,A.jsx)(eU.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function e0(e){let{ctx:t,options:l}=e,{data:n,loading:o}=(0,N.A)(async()=>{let e=await t.engine.loadOrCreateModel(l,{skipSave:!t.flowSettingsEnabled});return e.context.addDelegate(t),e},{refreshDeps:[t.model.uid]}),i=(null==t?void 0:t.isMobileLayout)?8:null==t?void 0:t.themeToken.marginBlock;return!o&&(null==n?void 0:n.uid)?(0,A.jsx)(y.FlowModelRenderer,{model:n,fallback:(0,A.jsx)(L,{style:{margin:i}})}):(0,A.jsx)(L,{style:{margin:i}})}function e1(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}class e2 extends y.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:y.observable.ref(!0),info:{description:"Whether current tab is active (observable.ref).",detail:"observable.ref<boolean>"}})}getTabTitle(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Untitled",n=this.context.t(l,{ns:"client"});return this.context.t(null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.title,{ns:"lm-desktop-routes"})||n}getTabIcon(){var e,t;return null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.icon}renderChildren(){return null}renderHiddenInConfig(){return(0,A.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,A.jsx)(b.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,A.jsxs)("span",{style:{display:"inline-block"},children:[(0,A.jsx)(b.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}e2.registerFlow({key:"pageTabSettings",title:(0,y.tExpr)("Tab settings"),steps:{tab:{title:(0,y.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,y.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,y.tExpr)("Document title"),description:(0,y.tExpr)("Used as the browser tab title when this tab is active. Supports variables. Leave empty to use Tab name."),"x-decorator":"FormItem","x-component":S.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,y.tExpr)("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}},async handler(e,t){var l;let n="function"==typeof(null==e?void 0:e.t)?e.t.bind(e):e=>e;e.model.setProps("title",n(t.title,{ns:"lm-desktop-routes"})),e.model.setProps("icon",t.icon);let o=e.engine.getModel(e.model.parentId);null==o||null==(l=o.updateDocumentTitle)||l.call(o)}}}});class e4 extends e2{renderChildren(){return(0,A.jsx)(e0,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){return this.save()}async save(){var e,t,l,n,o;let i=this.serialize(),r=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,a=await this.context.api.request({method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:{...this.props.route,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{flowRegistry:i.flowRegistry,documentTitle:r}}}),s=e1(null==a||null==(n=a.data)?void 0:n.data);s&&this.setProps("route",{...this.props.route,...s,options:{...null==(o=this.props.route)?void 0:o.options,...s.options}})}async destroy(){return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid),await this.context.api.request({method:"post",url:"desktopRoutes:destroy",params:{filter:{schemaUid:this.uid}},data:this.props.route}),!0}}class e5 extends e2{renderChildren(){return(0,A.jsx)(e0,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class e8 extends y.FlowModel{render(){return(0,A.jsx)(e0,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class e6 extends eG{syncPageSettingsEnableTabsFromRoute(){var e,t;let l=null==(t=this.context)||null==(e=t.currentRoute)?void 0:e.enableTabs;"boolean"==typeof l&&this.setStepParams("pageSettings","general",{enableTabs:l})}syncEnableTabsToCurrentPage(e){var t;let l=null==(t=this.context)?void 0:t.currentRoute,n=this.props.routeId;l&&(null==n||null==l.id||String(l.id)===String(n))&&(l.enableTabs=e),this.setProps("enableTabs",e)}async ensurePersistedRouteId(e){var t,l,n,o;let i=null==e||null==(l=e.props)||null==(t=l.route)?void 0:t.id;return null!=i?i:("function"==typeof(null==e?void 0:e.save)&&await e.save(),null==e||null==(o=e.props)||null==(n=o.route)?void 0:n.id)}onMount(){super.onMount(),(0,y.reaction)(()=>this.context.pageActive.value,()=>{var e,t;if(this.context.pageActive.value&&this.mounted){let t=null==(e=this.subModels.tabs)?void 0:e[0];t&&(this.setProps("tabActiveKey",t.uid),this.invokeTabModelLifecycleMethod(t.uid,"onActive",!0))}if(!1===this.context.pageActive.value)if(this.props.tabActiveKey)this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive");else{let e=null==(t=this.subModels.tabs)?void 0:t[0];e&&this.invokeTabModelLifecycleMethod(e.uid,"onInactive")}this.mounted=!0})}async openFlowSettings(e){return(null==e?void 0:e.flowKey)==="pageSettings"&&(null==e?void 0:e.stepKey)==="general"&&this.syncPageSettingsEnableTabsFromRoute(),super.openFlowSettings(e)}async saveStepParams(){if(await super.saveStepParams(),this.stepParams.pageSettings){var e,t;let l=!!this.stepParams.pageSettings.general.enableTabs;await this.context.api.request({url:`desktopRoutes:update?filter[id]=${this.props.routeId}`,method:"post",data:{enableTabs:l}}),this.syncEnableTabsToCurrentPage(l),await (null==(e=(t=this.context).refreshDesktopRoutes)?void 0:e.call(t))}}async handleDragEnd(e){var t,l;let n=this.flowEngine.getModel(null==(t=e.active)?void 0:t.id),o=this.flowEngine.getModel(null==(l=e.over)?void 0:l.id);if(!n||!o||n.uid===o.uid)return;let[i,r]=await Promise.all([this.ensurePersistedRouteId(n),this.ensurePersistedRouteId(o)]);null!=i&&null!=r&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:i,targetId:r,sortField:"sort"}}),this.flowEngine.moveModel(n.uid,o.uid,{persist:!1}))}constructor(...e){super(...e),(0,K._)(this,"mounted",!1)}}e6.registerFlow({key:"rootPageSettings",steps:{init:{async handler(e,t){if(e.model.hasSubModel("tabs"))return;let l=e.routeRepository.getRouteBySchemaUid(e.model.parentId);for(let t of(e.model.setProps("routeId",null==l?void 0:l.id),j().castArray(null==l?void 0:l.children).filter(Boolean).sort((e,t)=>(e.sort||0)-(t.sort||0)))){var n,o;if(t.hideInMenu)continue;let l=e.engine.createModel({parentId:e.model.uid,uid:t.schemaUid,subKey:"tabs",subType:"array",use:"RootPageTabModel",sortIndex:t.sort,props:{route:t},flowRegistry:null==(n=t.options)?void 0:n.flowRegistry,stepParams:{pageTabSettings:{tab:{title:t.title,icon:t.icon,documentTitle:null==(o=t.options)?void 0:o.documentTitle}}}});e.model.addSubModel("tabs",l)}}}}});class e3 extends eQ{renderFirstTab(){var e;return(0,A.jsx)(y.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,A.jsxs)(A.Fragment,{children:[this.props.displayTitle&&(0,A.jsx)(eU.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}var e9=l(76059);class e7 extends X{constructor(...e){super(...e),(0,K._)(this,"defaultProps",{title:(0,y.tExpr)("Popup"),icon:"ExportOutlined"})}}e7.define({label:(0,y.tExpr)("Popup")}),e7.registerFlow(e9.g);class te extends X{}te.define({children:async e=>(await (0,y.buildSubModelItems)(X)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(J.record))});var tt=l(23235);class tl extends e7{getAclActionName(){return"create"}constructor(...e){super(...e),(0,K._)(this,"defaultPopupTitle",(0,y.tExpr)("Add new")),(0,K._)(this,"defaultProps",{type:"primary",title:(0,y.tExpr)("Add new"),icon:"PlusOutlined"})}}(0,K._)(tl,"scene",J.collection),tl.define({label:(0,y.tExpr)("Add new"),sort:10});let tn=e=>{var t,l,n,o,i,r;let a=(null==e?void 0:e.blockModel)||(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel);return(null==a||null==(n=a.getResourceSettingsInitParams)?void 0:n.call(a))||(null==a||null==(o=a.getStepParams)?void 0:o.call(a,"resourceSettings","init"))||(null==e||null==(r=e.model)||null==(i=r.getStepParams)?void 0:i.call(r,"resourceSettings","init"))},to=e=>{var t;return!!(null==(t=tn(e))?void 0:t.associationName)},ti=e=>{var t,l,n,o;let i=tn(e),r=(null==e||null==(t=e.blockModel)?void 0:t.association)||(null==e||null==(o=e.model)||null==(n=o.context)||null==(l=n.blockModel)?void 0:l.association),a=null==r?void 0:r.targetCollection;return{dataSourceKey:(null==a?void 0:a.dataSourceKey)||(null==i?void 0:i.dataSourceKey),collectionName:(null==a?void 0:a.name)||(null==r?void 0:r.target)||(null==i?void 0:i.collectionName)}},tr=e=>{var t,l,n,o,i,r;let a=(null==e?void 0:e.blockModel)||(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel),s=null==a?void 0:a.association,d=tn(e);return{collectionField:s,sourceId:(null==a||null==(o=a.resource)||null==(n=o.getSourceId)?void 0:n.call(o))??(null==d?void 0:d.sourceId),associatedRecords:(null==a||null==(r=a.resource)||null==(i=r.getData)?void 0:i.call(r))||[]}},ta=async(e,t,l)=>{var n;return"function"==typeof(null==e?void 0:e[t])?await e[t]({values:l}):await (null==e||null==(n=e.runAction)?void 0:n.call(e,t,{data:l}))},ts=async e=>{var t,l,n,o,i,r,a,s,d,u,c,p;let h=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),m=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!to(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for disassociation"));return}if(!e.record){null==(p=e.message)||null==(c=p.error)||c.call(p,e.t("No record selected for disassociation"));return}let f=null==m||null==(n=m.getFilterByTK)?void 0:n.call(m,e.record);await ta(h,"remove",[f]),await (null==(o=h.refresh)?void 0:o.call(h)),null==(r=e.message)||null==(i=r.success)||i.call(r,e.t("Record disassociated successfully"))},td=async(e,t)=>{var l,n,o,i,r,a,s,d,u,c,p;let h=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),m=(null==e||null==(n=e.blockModel)?void 0:n.collection)||(null==e?void 0:e.collection);if(!to(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for association"));return}if(!(null==t?void 0:t.length)){null==(p=e.message)||null==(c=p.warning)||c.call(p,e.t("Please select at least one record"));return}let f=t.map(e=>{var t;return(null==m||null==(t=m.getFilterByTK)?void 0:t.call(m,e))??e}).filter(e=>null!=e);await ta(h,"add",f),await (null==(o=h.refresh)?void 0:o.call(h)),null==(r=e.message)||null==(i=r.success)||i.call(r,e.t("Record associated successfully"))};function tu(e){let{options:t}=e,l=(0,y.useFlowViewContext)(),{data:n,loading:o}=(0,N.A)(async()=>await l.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:l,skipSave:!l.flowSettingsEnabled}),{refreshDeps:[l,t]});return!o&&(null==n?void 0:n.uid)?(0,A.jsx)(y.FlowModelRenderer,{model:n,fallback:(0,A.jsx)(L,{style:{margin:16}})}):(0,A.jsx)(L,{style:{margin:16}})}function tc(e){let{model:t}=e,l=(0,y.useFlowViewContext)(),{Header:n,Footer:o,type:i}=l.view;return(0,A.jsxs)("div",{children:[(0,A.jsx)(n,{title:"dialog"===i?(0,A.jsx)("div",{style:{padding:`${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px 0`,marginBottom:-l.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:l.t("Select record")}):l.t("Select record")}),(0,A.jsx)(tu,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,A.jsx)(o,{children:"dialog"===i?(0,A.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,A.jsx)(H.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,A.jsx)(H.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class tp extends X{getAclActionName(){return"update"}async associateSelectedRows(){await td(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),(0,K._)(this,"defaultPopupTitle",(0,y.tExpr)("Select record")),(0,K._)(this,"selectedRows",[]),(0,K._)(this,"defaultProps",{title:(0,y.tExpr)("Associate"),icon:"LinkOutlined"})}}(0,K._)(tp,"scene",J.collection),(0,K._)(tp,"capabilityActionName","update"),tp.define({label:(0,y.tExpr)("Associate"),sort:15,hide:e=>!to(e)}),tp.registerFlow({key:"associateSettings",title:(0,y.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,n,o;let i=ti(e),r=(null==(l=e.inputArgs)?void 0:l.isMobileLayout)?"embed":(null==(n=e.inputArgs)?void 0:n.mode)||(null==t?void 0:t.mode)||"drawer",a=(null==(o=e.inputArgs)?void 0:o.size)||(null==t?void 0:t.size)||"medium",s={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}};e.model.selectedRows=[],await e.viewer.open({type:r,width:s[r][a],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:i.dataSourceKey,collectionName:i.collectionName,...tr(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,A.jsx)(tc,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===r?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});class th extends X{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,K._)(this,"defaultProps",{title:(0,y.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,K._)(th,"scene",J.collection),(0,K._)(th,"capabilityActionName","destroyMany"),th.define({label:(0,y.tExpr)("Delete")}),th.registerFlow({key:"deleteSettings",title:(0,y.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,y.tExpr)("Delete record"),content:(0,y.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return void e.message.error(e.t("No resource selected for deletion"));let n=e.blockModel.resource;0===n.getSelectedRows().length?e.message.warning(e.t("Please select at least one record to delete")):(await n.destroy(e.blockModel.collection.getFilterByTK(n.getSelectedRows())),e.message.success(e.t("Selected records deleted successfully")))}}}});class tm extends X{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,K._)(this,"defaultProps",{type:"link",title:(0,y.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,K._)(tm,"scene",J.record),tm.define({label:(0,y.tExpr)("Delete"),sort:60}),tm.registerFlow({key:"deleteSettings",title:(0,y.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,y.tExpr)("Delete record"),content:(0,y.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){e.resource?e.record?(await e.resource.destroy(e.blockModel.collection.getFilterByTK(e.record)),e.message.success(e.t("Record deleted successfully"))):e.message.error(e.t("No resource or record selected for deletion")):e.message.error(e.t("No resource selected for deletion"))}}}});class tf extends X{getAclActionName(){return"update"}constructor(...e){super(...e),(0,K._)(this,"defaultProps",{type:"link",title:(0,y.tExpr)("Disassociate"),icon:"DisconnectOutlined"})}}(0,K._)(tf,"scene",J.record),(0,K._)(tf,"capabilityActionName","update"),tf.define({label:(0,y.tExpr)("Disassociate"),sort:65,hide:e=>!to(e)}),tf.registerFlow({key:"disassociateSettings",title:(0,y.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,y.tExpr)("Disassociate record"),content:(0,y.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await ts(e)}}}});class tg extends e7{getAclActionName(){return"update"}constructor(...e){super(...e),(0,K._)(this,"defaultPopupTitle",(0,y.tExpr)("Edit")),(0,K._)(this,"defaultProps",{title:(0,y.tExpr)("Edit"),icon:"EditOutlined"})}}(0,K._)(tg,"scene",J.record),tg.define({label:(0,y.tExpr)("Edit"),sort:20});var tv=l(28073),ty=l(94384),tb=l(68669);class tx extends X{getIgnoreFieldNames(){var e;if(this.map.has(this.props.filterableFieldNames))return this.map.get(this.props.filterableFieldNames);let t=(null==(e=this.context.blockModel.collection)?void 0:e.getFields())||[],l=tS(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(y.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,A.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,A.jsx)(tb.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,A.jsx)(C.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),(0,A.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,A.jsx)(tv.A,{open:this.props.open,content:(0,A.jsx)(tb.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,A.jsx)(C.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),trigger:"click",placement:"bottomLeft",onOpenChange:e=>{!1===e&&this.setProps("open",void 0)},children:super.render()})}constructor(...e){super(...e),(0,K._)(this,"map",new WeakMap),(0,K._)(this,"defaultProps",{type:"default",title:(0,y.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}})}}function tw(e){for(var t,l=arguments.length,n=Array(l>1?l-1:0),o=1;o<l;o++)n[o-1]=arguments[o];return((null==e||null==(t=e.getFields)?void 0:t.call(e))||[]).filter(e=>{if(!(null==e?void 0:e.interface)||(null==e?void 0:e.filterable)===!1)return!1;let t=(0,b.w6)(e.interface,...n);return!!(null==t?void 0:t.filterable)})}function tS(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}(0,K._)(tx,"scene","collection"),tx.define({label:(0,y.tExpr)("Filter"),toggleable:!0,sort:5}),tx.registerFlow({key:"filterSettings",title:(0,y.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,y.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,y.useFlowSettingsContext)(),n=tw(l.context.blockModel.collection,l.context.dataSourceManager,null==(t=l.context.app)?void 0:t.dataSourceManager).map(e=>({key:e.name,title:e.title}));return(0,A.jsx)(ty.A,{...e,dataSource:n,targetKeys:e.value||[],onChange:t=>{var l;return null==(l=e.onChange)?void 0:l.call(e,t)},render:e=>e.title})},"x-component-props":{showSearch:!0,listStyle:{width:280,height:360}}}},defaultParams(e){var t,l,n,o,i;return{filterableFieldNames:tw(e.blockModel.collection,null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager,null==(i=e.model)||null==(o=i.context)||null==(n=o.app)?void 0:n.dataSourceManager).map(e=>e.name)||[]}},handler(e,t){e.model.setProps("filterableFieldNames",t.filterableFieldNames)}},defaultFilter:{title:(0,y.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,y.useFlowSettingsContext)();return(0,A.jsx)(C.I8,{value:e.value||{},FilterItem:e=>(0,A.jsx)(C.Et,{...e,model:t})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",j().cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",j().cloneDeep(t.defaultFilter))}}}}),tx.registerFlow({key:"submitSettings",on:"submit",steps:{submit:{handler(e,t){let l=e.blockModel,n=null==l?void 0:l.resource;if(!l||!n)return;let o=(0,w.transformFilter)(e.model.props.filterValue),i=!(0,w.isEmptyFilter)(o);l.setFilterActive(e.model.uid,i),i?(n.addFilterGroup(e.model.uid,o),n.setPage(1)):n.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||i||l.hasActiveFilters()?n.refresh():(n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1),e.model.setProps("open",!1)}}}}),tx.registerFlow({key:"resetSettings",title:(0,y.tExpr)("Reset"),on:"reset",steps:{reset:{handler(e,t){let l=e.blockModel,n=null==l?void 0:l.resource;if(!l||!n)return;n.removeFilterGroup(e.model.uid),l.setFilterActive(e.model.uid,!1);let o=l.getDataLoadingMode(),i=e.model.props.defaultFilterValue,r=!(0,w.isEmptyFilter)((0,w.transformFilter)(i));"manual"!==o||r||l.hasActiveFilters()?(r&&(n.addFilterGroup(e.model.uid,(0,w.transformFilter)(i)),l.setFilterActive(e.model.uid,!0),n.setPage(1)),n.refresh()):(n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1),e.model.setProps("open",!1),e.model.setProps("filterValue",j().cloneDeep(i))}}}}),tx.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var tM=l(95266);function tF(e,t){var l;let n=(null==(l=e.inputArgs)?void 0:l.preview)||{},o=(null==n?void 0:n.version)??(null==t?void 0:t.version)??"v1";return{code:("string"==typeof(null==n?void 0:n.code)?n.code:void 0)??(null==t?void 0:t.code)??"",version:o}}class tA extends X{constructor(...e){super(...e),(0,K._)(this,"defaultProps",{type:"default",title:(0,y.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}tA.define({label:(0,y.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),tA.registerFlow({key:"clickSettings",on:"click",title:(0,y.tExpr)("Click settings"),steps:{runJs:{title:(0,y.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":tM.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
265
+ ${o}`,c)}}let n=E(e.issues.filter(e=>"runtime"===e.type)),o=n?`Key runtime issue: ${R(n)}`:"",i=["RunJS preview output was truncated.",t,e.execution?_(e.execution):void 0,o||void 0].filter(Boolean).join("\n").trim();return i.length<=c?i:T(i,c-1)+"\n"}function O(e){return N(e)}async function $(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n="string"==typeof e?e:String(e??""),o=[],i=[],r=null==l?void 0:l.version,a=(0,d.shouldPreprocessRunJSTemplates)({version:r});i.push(...P(n)),i.push(...j(n));let s="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}=I(o),s={console:e};try{if("u">typeof window){let e=(0,d.createSafeNavigator)();s.navigator=e,s.window=(0,d.createSafeWindow)({navigator:e}),s.document=(0,d.createSafeDocument)()}}catch(e){}let c=n;try{c=await (0,d.prepareRunJsCode)(n,{preprocessTemplates:a})}catch(n){let e=String((null==n?void 0:n.name)||""),t=y((null==n?void 0:n.message)||n),l=n 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(n)}),u.finished=!0,u.timeout=!1,{issues:k(i),logs:o,execution:u}}let h=await t.createJSRunner({globals:s,timeoutMs:p,version:r});h.globals.ctx.defineProperty("logger",{value:l});let m=await h.run(c);if(u.finished=!0,u.timeout=!!(null==m?void 0:m.timeout),!(null==m?void 0:m.success)){let e=null==m?void 0:m.error,t=(null==m?void 0:m.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==m?void 0:m.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())-s);u.durationMs=Number.isFinite(e)?e:void 0}return{issues:k(i),logs:o,execution:u}}function B(e){let t=new d.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 L(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=B(t),o=await $(e,n,l),i=0===o.issues.length,r=O(o);return{success:i,message:r.length>c?T(r,c):r}}},68669(e,t,l){l.d(t,{a:()=>a});var n=l(74848),o=l(84626),i=l(71021);l(96540);var r=l(7521);let a=(0,l(11869).observer)(e=>{var t;let{value:l,FilterItem:a,ctx:s}=e;l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let d=()=>{var e;(null==s||null==(e=s.model)?void 0:e.dispatchEvent)&&s.model.dispatchEvent("reset")},u=()=>{var e;(null==s||null==(e=s.model)?void 0:e.dispatchEvent)&&s.model.dispatchEvent("submit")},c=(null==s||null==(t=s.model)?void 0:t.translate)||(e=>e);return(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault(),u()},children:[(0,n.jsx)(r.I,{value:l,FilterItem:a}),(0,n.jsxs)(o.A,{style:{width:"100%",display:"flex",justifyContent:"flex-end"},children:[(0,n.jsx)(i.Ay,{htmlType:"button",onClick:d,children:c("Reset")}),(0,n.jsx)(i.Ay,{type:"primary",htmlType:"submit",children:c("Submit")})]})]})},{displayName:"FilterContent"})},7521(e,t,l){l.d(t,{I:()=>f});var n=l(74848),o=l(97373),i=l(18853),r=l(35710),a=l(36492),s=l(84626),d=l(71021),u=l(18492);l(96540);var c=l(11869);let p=new WeakMap,h=0,m=e=>{let t=p.get(e);return t||(h+=1,t=`filter-item-${h}`,p.set(e,t)),t},f=(0,c.observer)(e=>{let{token:t}=r.A.useToken(),{value:l={logic:"$and",items:[]},FilterItem:c,showBorder:p=!1,onRemove:h,onChange:g,closeIcon:v=(0,n.jsx)(o.A,{style:{color:t.colorIcon}})}=e,{t:y}=(0,u.B)();l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let{logic:b,items:x}=l,w=p?{position:"relative",border:`1px dashed ${t.colorBorder}`,padding:t.paddingSM,marginBottom:t.marginXS,borderRadius:t.borderRadius}:{position:"relative",marginBottom:t.marginXS},S=e=>{l.logic=e,null==g||g(l)},M=()=>{x.push({path:"",operator:"",value:""}),null==g||g(l)},F=()=>{x.push({logic:"$and",items:[]}),null==g||g(l)},A=e=>{x.splice(e,1),null==g||g(l)},k=e=>"path"in e||"operator"in e||"value"in e,C=e=>"logic"in e&&"items"in e;return(0,n.jsxs)("div",{style:w,children:[p&&h&&(0,n.jsx)("button",{type:"button","aria-label":"icon-close",style:{position:"absolute",right:10,top:10,cursor:"pointer",background:"transparent",border:0,padding:0},onClick:h,children:v}),(0,n.jsx)("div",{style:{marginBottom:8,color:t.colorText},children:(0,n.jsxs)("span",{children:[y("Meet")," ",(0,n.jsxs)(a.A,{"data-testid":"filter-select-all-or-any",style:{width:"auto"},value:b,onChange:S,children:[(0,n.jsx)(a.A.Option,{value:"$and",children:y("All")}),(0,n.jsx)(a.A.Option,{value:"$or",children:y("Any")})]})," ",y("conditions in the group")]})}),(0,n.jsx)("div",{children:x.map((e,o)=>C(e)?(0,n.jsx)(f,{value:e,FilterItem:c,showBorder:!0,onRemove:()=>A(o),onChange:e=>{x[o]=e,null==g||g(l)}},m(e)):k(e)?c?(0,n.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,n.jsxs)(s.A,{style:{flex:1,minWidth:0},children:[(0,n.jsx)(c,{value:e}),(0,n.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:()=>A(o),children:v})]})},m(e)):(0,n.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,n.jsxs)(s.A,{style:{flex:1,minWidth:0},children:[(0,n.jsxs)("span",{children:[e.path," ",e.operator," ",String(e.value)]}),(0,n.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:()=>A(o),children:v})]})},m(e)):(0,n.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,n.jsxs)(s.A,{style:{flex:1,minWidth:0},children:[(0,n.jsx)("span",{style:{color:t.colorTextTertiary},children:"Invalid filter item"}),(0,n.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:()=>A(o),children:v})]})},m(e)))}),(0,n.jsxs)(s.A,{size:16,style:{marginTop:8,marginBottom:8},children:[(0,n.jsx)(d.Ay,{style:{padding:0},type:"link",size:"small",icon:(0,n.jsx)(i.A,{}),onClick:M,children:y("Add condition")}),(0,n.jsx)(d.Ay,{style:{padding:0},type:"link",size:"small",icon:(0,n.jsx)(i.A,{}),onClick:F,children:y("Add condition group")})]})]})},{displayName:"FilterGroup"})},80512(e,t,l){l.d(t,{Ru:()=>K,I8:()=>o.I,qi:()=>h,oJ:()=>n.a,Et:()=>R});var n=l(68669),o=l(7521),i=l(74848),r=l(11869),a=l(84626),s=l(36492),d=l(95725),u=l(96540);let c=(e,t,l,n)=>e.map(e=>p(e,t,l,n)).filter(Boolean),p=(e,t,l,n)=>{var o;if(l.length&&1===t&&l.includes(e.name)||!e.interface||!1===e.filterable)return;let i=e.getInterfaceOptions();if(!(null==i?void 0:i.filterable))return;let{nested:r,children:a,operators:s}=i.filterable,d={name:e.name,type:e.type,target:e.target,title:n(e.title),schema:null==e?void 0:e.uiSchema,operators:((null==s||null==(o=s.filter)?void 0:o.call(s,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 d;if((null==a?void 0:a.length)&&(d.children=a),r){let o=c(e.getFields().filter(e=>"attachments"!==e.target&&"formula"!==e.interface),t+1,l,n).filter(Boolean);d.children=d.children||[],d.children.push(...o)}return d}},h=(0,r.observer)(e=>{var t;let{path:l,operator:n,value:o}=e.value,r=e.model,p=(null==(t=r.context.blockModel.collection)?void 0:t.getFields().filter(e=>"attachments"!==e.target))||[],h=m(r.props.filterableFieldNames||[],p.map(e=>e.name)),f=r.translate,g=c(p.filter(e=>"attachments"!==e.target&&"formula"!==e.interface&&!["belongsTo","belongsToMany","hasOne","hasMany","oho","obo","m2o","o2m","m2m"].includes(e.type)),1,e.noIgnore?[]:h,f).filter(Boolean),v=(0,u.useMemo)(()=>{let e=g.find(e=>e.name===l);return(null==e?void 0:e.operators)||[]},[g,l]),y=t=>{var l;e.value.path=t;let n=g.find(e=>e.name===t);(null==n||null==(l=n.operators)?void 0:l.length)>0?e.value.operator=n.operators[0].value:e.value.operator="",e.value.value=""},b=t=>{e.value.operator=t},x=t=>{e.value.value=t.target.value};return(0,i.jsxs)(a.A,{children:[(0,i.jsx)(s.A,{style:{width:200},placeholder:f("Select field"),value:l||void 0,onChange:y,children:g.map(e=>(0,i.jsx)(s.A.Option,{value:e.name,children:e.title},e.name))}),(0,i.jsx)(s.A,{style:{width:120},placeholder:f("Select operator"),value:n||void 0,onChange:b,disabled:!l||0===v.length,children:v.map(e=>(0,i.jsx)(s.A.Option,{value:e.value,children:e.label},e.value))}),(0,i.jsx)(d.A,{style:{width:200},placeholder:f("Enter value"),value:o,onChange:x})]})},{displayName:"FilterItem"});function m(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}var f=l(63718),g=l(94313),v=l(60518),y=l(51643),b=l(60209),x=l(2077),w=l(18451),S=l.n(w),M=l(40098),F=l.n(M),A=l(20419),k=l(85352),C=l(53869);let{DateFilterDynamicComponent:P}=(0,x.RZ)(()=>Promise.resolve().then(l.bind(l,13595)),"DateFilterDynamicComponent");async function j(e){var t,l,n,o;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==(o=e.getPropertyMetaTree)?void 0:o.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==(n=s.getPropertyMetaTree)?void 0:n.call(s,"{{ ctx.collection }}");return await i(d)}function I(e,t,l,n){var o;let r=null==e?void 0:e["x-component"],a=(null==t||null==(o=t.uiSchema)?void 0:o["x-component-props"])||{},u=(null==e?void 0:e["x-component-props"])||{},c=S()({},a,u),p=(0,k.di)(null==e?void 0:e.enum,l)||[],h={style:{width:200,...(null==c?void 0:c.style)||{}},placeholder:(null==c?void 0:c.placeholder)||l("Enter value"),...c},m=e=>{if("number"==typeof e||(null==c?void 0:c.stringMode)===!0&&"string"==typeof e)return e};return e=>{let{value:t,onChange:l,...o}=e||{};if("InputNumber"===r)return(0,i.jsx)(f.A,{...h,...o,value:m(t),onChange:e=>null==l?void 0:l(e)});if("NumberPicker"===r)return(0,i.jsx)(A.NumberPicker,{...h,...o,value:m(t),onChange:e=>null==l?void 0:l(e)});if("Switch"===r)return(0,i.jsx)(g.A,{...h,...o,checked:!!t,onChange:e=>null==l?void 0:l(e)});if("Select"===r)return(0,i.jsx)(s.A,{options:p,...h,...o,value:(0,k.xO)(t,h),onChange:e=>null==l?void 0:l(e)});if("Checkbox"===r)return(0,i.jsx)(v.A,{...h,...o,checked:!!t,onChange:e=>null==l?void 0:l(e.target.checked)});if("Checkbox.Group"===r)return(0,i.jsx)(v.A.Group,{...h,...o,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Radio.Group"===r)return(0,i.jsx)(y.Ay.Group,{...h,...o,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)(b.A,{...h,...o,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)(d.A.TextArea,{...h,...o,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)(P,{...h,...o,value:t,onChange:e=>null==l?void 0:l(e)});if(r&&(null==n?void 0:n.getComponent)){let e=n.getComponent(r);if(e)return(0,i.jsx)(e,{...h,...o,value:t,onChange:e=>null==l?void 0:l(e),style:{width:200,...h.style||{},...null==o?void 0:o.style}})}return(0,i.jsx)(d.A,{...h,...o,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)})}}function E(e){if(e&&"object"==typeof e){let l=e;if("function"==typeof l.preventDefault||l.nativeEvent||"target"in l){var t;let n=null==(t=l.target)?void 0:t.value;return void 0!==n?n:e}}return e}let R=(0,r.observer)(e=>{let{value:t,model:l,rightAsVariable:n,rightMetaTree:o,ignoreFieldNames:c}=e,p=(0,r.useFlowViewContext)(),h=l.translate,{path:m,operator:f,value:g}=t,[v,y]=(0,u.useState)(null),b=(0,u.useCallback)(e=>{var t;return(0,x.w6)(e,l.context.dataSourceManager,null==(t=l.context.app)?void 0:t.dataSourceManager)},[l]),w=(0,u.useMemo)(()=>{var e,t;if(!v)return[];let l=v.interface?b(v.interface):void 0,n=null==v||null==(e=v.uiSchema)?void 0:e["x-filter-operators"];return((Array.isArray(n)&&n.length?n:null==l||null==(t=l.filterable)?void 0:t.operators)||[]).filter(e=>!e.visible||e.visible(v))},[b,v]);(0,u.useEffect)(()=>{if(!w.length)return;let e=F().find(w,e=>e.value===t.operator);if(e)t.noValue=!!e.noValue;else{let e=w[0];t.operator=e.value,t.value=!!e.noValue||void 0,t.noValue=!!e.noValue}},[w,t]);let M=(0,u.useMemo)(()=>w.map(e=>({value:e.value,label:"string"==typeof e.label?h(e.label):e.label})),[w,h]),A=(0,u.useCallback)((e,l)=>{let n=t.path||"",o=e||"",i=o!==n;t.path=o,i&&n&&(t.operator="",t.value=void 0,t.noValue=!1),l&&y(l)},[t]),P=(0,u.useMemo)(()=>({resolveValueFromPath:e=>(y(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(".")]}}),[]),R=(0,u.useCallback)(e=>{t.operator=e;let l=w.find(t=>t.value===e);(null==l?void 0:l.noValue)?(t.value=!0,t.noValue=!0):(t.value=void 0,t.noValue=!1)},[w,t]),_=(0,u.useMemo)(()=>w.find(e=>e.value===f),[w,f]),T=(0,u.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,u.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"}},[]),N=(0,u.useMemo)(()=>{let e=(null==v?void 0:v.uiSchema)||{},t=(null==_?void 0:_.schema)||{},l=S()({},e,t);if((null==v?void 0:v.interface)==="formula"){let e={"x-read-pretty":!1,"x-component":D(T(v)),"x-component-props":{...l["x-component-props"]}};return S()({},l,e)}return l},[v,_,D,T]),O=u.useRef(null==N?void 0:N["x-component"]),$=null==N?void 0:N["x-component"],B=(0,u.useMemo)(()=>{let e=O.current;O.current=$;let l=void 0!==e&&e!==$;if(null==_?void 0:_.noValue)return g;if(l&&null!=g){t.value=void 0;return}return g},[$,g,t,_]),L=(0,u.useCallback)(e=>{t.value=E(e)},[t]),q=u.useRef(h);u.useEffect(()=>{q.current=h},[h]);let V=u.useCallback(e=>{var t;return(null==(t=q.current)?void 0:t.call(q,e))??e},[]),z=(0,u.useMemo)(()=>(0,k.di)(null==N?void 0:N.enum,V)||[],[N,V]),K=(0,u.useMemo)(()=>I(N,v,V,l.context.app),[N,v,V,l.context.app]),U=(0,u.useCallback)(()=>{let e=(0,C._)(l.context.app,f,w),t="$in"===f||"$notIn"===f;if(e&&t){let{Comp:t,props:l}=e,n={...l};(!(null==n?void 0:n.options)||(null==n?void 0:n.options.length)===0)&&(null==z?void 0:z.length)&&(n.options=z);let o={flex:"1 1 40%",minWidth:160,maxWidth:"100%",...(null==n?void 0:n.style)||{}},r=Array.isArray(B)&&B.every(e=>"string"==typeof e||"number"==typeof e)?B:"string"==typeof B?B.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)("div",{style:o,children:(0,i.jsx)(t,{...n,style:{width:"100%",...(null==n?void 0:n.style)||{}},value:r,onChange:e=>L(e)})})}let n=K;return(0,i.jsx)("div",{style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},children:(0,i.jsx)(n,{value:B,onChange:e=>L(e)})})},[f,w,B,K,l.context.app,L,z]),W=(0,u.useMemo)(()=>function(){return(0,i.jsx)(d.A,{placeholder:`<${h("Null")}>`,readOnly:!0})},[h]),H=(0,u.useMemo)(()=>async()=>{let e="function"==typeof o?await o():o??p.getPropertyMetaTree(),t=Array.isArray(e)?e:await e();return[{title:h("Constant"),name:"constant",type:"string",paths:["constant"],render:K},{title:h("Null"),name:"null",type:"object",paths:["null"],render:W},...t]},[o,p,K,W,h]),G=(0,u.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?K:"null"===l?W: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"]}}),[W,K]),Y=(0,u.useMemo)(()=>async()=>{let e=await j(l.context),t=async e=>{let t=e.interface?b(e.interface):void 0,n=[],o=null==t?void 0:t.filterable,i=null==o?void 0:o.children;if(Array.isArray(i)&&i.length)for(let t of i){var r,a,s;let o=t.title||t.name,i=(null==(r=l.context)?void 0:r.t)?l.context.t(o):o;n.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:[],...n];return F().uniqBy(l,"name")}}}let d=[...Array.isArray(e.children)?e.children:[],...n];return{...e,children:d.length?d:e.children}},n=[];for(let l of e)n.push(await t(l));return n},[b,l]);return(0,i.jsxs)(a.A,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:m,metaTree:Y,onChange:A,converters:P,showValueComponent:!1,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},onlyLeafSelectable:!0,placeholder:h("Select field"),ignoreFieldNames:c}),(0,i.jsx)(s.A,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:h("Comparison"),value:f||void 0,onChange:R,children:M.map(e=>(0,i.jsx)(s.A.Option,{value:e.value,children:e.label},e.value))}),!(null==_?void 0:_.noValue)&&(n?(0,i.jsx)(r.VariableInput,{value:B,onChange:e=>L(e),metaTree:H,converters:G,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:h("Enter value")}):U())]})});var _=l(68827),T=l.n(_),D=l(97456);let{DateFilterDynamicComponent:N}=(0,x.RZ)(()=>Promise.resolve().then(l.bind(l,13595)),"DateFilterDynamicComponent");function O(e,t,l){var n,o,r;let a=null==e?void 0:e["x-component"],u=(null==t||null==(n=t.uiSchema)?void 0:n["x-component-props"])||{},c=(null==e?void 0:e["x-component-props"])||{},p=S()({},u,c),h=Array.isArray(null==t||null==(o=t.uiSchema)?void 0:o.enum)?null==t||null==(r=t.uiSchema)?void 0:r.enum:void 0,m=(0,k.di)(h,l),v={style:{width:200,...(null==p?void 0:p.style)||{}},placeholder:(null==p?void 0:p.placeholder)||l("Enter value"),...p};return e=>{let{value:t,onChange:n,...o}=e||{};if("InputNumber"===a)return(0,i.jsx)(f.A,{...v,...o,value:t,onChange:n});if("NumberPicker"===a)return(0,i.jsx)(A.NumberPicker,{...v,...o,value:t,onChange:n});if("Switch"===a)return(0,i.jsx)(g.A,{...v,...o,checked:!!t,onChange:n});if("Select"===a){let e=v;return Array.isArray(null==e?void 0:e.options)&&e.options.length>0?e={...e,options:(0,k.ZY)(e.options,l)}:m&&(e={...e,options:m}),(0,i.jsx)(s.A,{...e,...o,value:(0,k.xO)(t,e),onChange:n})}return"DateFilterDynamicComponent"===a?(0,i.jsx)(N,{...v,...o,value:t,onChange:n}):(0,i.jsx)(d.A,{...v,...o,value:t,onChange:e=>{var t;return null==n?void 0:n(null==e||null==(t=e.target)?void 0:t.value)}})}}let $=[{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}],B=new Set(["$in","$notIn"]);function L(e,t){let l=Array.isArray(e)?e:[],n=Array.isArray(t)?t:[];if(!n.length)return l;let o=n.find(e=>(null==e?void 0:e.name)==="item");if(!o)return[...n,...l];let i=(0,D.mD)(l,[o]);return[...n.filter(e=>(null==e?void 0:e.name)!=="item"),...i]}function q(e,t){var l,n;return{name:t.name,title:t.title||t.name,type:(null==(l=t.schema)?void 0:l.type)||"string",interface:(null==(n=t.schema)?void 0:n["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 V(e,t){var l,n;let o=e.interface&&t?t(e.interface):void 0,i=(Array.isArray(null==o||null==(l=o.filterable)?void 0:l.children)?null==o||null==(n=o.filterable)?void 0:n.children:[]).map(t=>q(e,t)),r=async e=>{let l=[...await Promise.all(e.map(e=>V(e,t))),...i];return T()(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 z(e,t){let l=Array.isArray(e)?e:[];return await Promise.all(l.map(e=>V(e,t)))}let K=(0,r.observer)(e=>{var t;let{value:l,model:n,extraMetaTree:o}=e,c=(0,r.useFlowViewContext)(),p=n.translate,{path:h,operator:m,value:f}=l||{},[g,v]=(0,u.useState)(null),y=(0,u.useRef)(!1),b=(0,u.useMemo)(()=>{if(g){var e,t,l;let o=g.interface?(0,x.w6)(g.interface,n.context.dataSourceManager,null==(e=n.context.app)?void 0:e.dataSourceManager):void 0,i=null==g||null==(t=g.uiSchema)?void 0:t["x-filter-operators"];return((Array.isArray(i)&&i.length?i:null==o||null==(l=o.filterable)?void 0:l.operators)||$).filter(e=>!e.visible||e.visible(g)).map(e=>({value:e.value,label:e.label,noValue:!!e.noValue,schema:e.schema,selected:!!e.selected}))}return[]},[g,n]),w=(0,u.useMemo)(()=>b.map(e=>({value:e.value,label:"string"==typeof e.label?p(e.label):e.label})),[b,p]);(0,u.useEffect)(()=>{if(0!==b.length){if(!m){if(y.current){let e=b.find(e=>e.selected)||b[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1,y.current=!1}return}if(!b.some(e=>e.value===m)){let e=b.find(e=>e.selected)||b[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,m,l]);let M=(0,u.useMemo)(()=>b.find(e=>e.value===m),[b,m]),F=(0,u.useMemo)(()=>{let e=(null==g?void 0:g.uiSchema)||{},t=(null==M?void 0:M.schema)||{};return S()({},e,t)},[g,M]),A=(0,u.useRef)(p);(0,u.useEffect)(()=>{A.current=p},[p]);let P=(0,u.useCallback)(e=>{var t;return(null==(t=A.current)?void 0:t.call(A,e))??e},[]),j=(0,u.useMemo)(()=>O(F,g,P),[F,g,P]),I=(0,u.useMemo)(()=>(0,k.di)(null==F?void 0:F.enum,P)||[],[F,P]),E=(0,u.useMemo)(()=>{let e=(0,C._)(n.context.app,m,b),t=B.has(m);if(!e||!t)return j;let{Comp:l,props:o}=e;return e=>{let{value:t,onChange:n,...r}=e||{},a={...o};(null==a?void 0:a.options)&&(null==a?void 0:a.options.length)!==0||!(I.length>0)||(a.options=I);let s=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:s,onChange:n,style:{width:200,...(null==a?void 0:a.style)||{},...(null==r?void 0:r.style)||{}}})}},[I,n.context.app,b,m,j]),R=(0,u.useMemo)(()=>function(){return(0,i.jsx)(d.A,{placeholder:`<${p("Null")}>`,readOnly:!0})},[p]),_=(0,u.useMemo)(()=>async()=>{let e=L((null==n?void 0:n.context.getPropertyMetaTree())||c.getPropertyMetaTree(),o);return[{title:p("Constant"),name:"constant",type:"string",paths:["constant"]},{title:p("Null"),name:"null",type:"object",paths:["null"]},...e]},[c,n,p,o]),T=(0,u.useCallback)(async()=>{var e,t;let l=(null==n||null==(t=n.context)||null==(e=t.getPropertyMetaTree)?void 0:e.call(t))||c.getPropertyMetaTree(),i=L(Array.isArray(l)?l:[],o),r=e=>{var t;return(0,x.w6)(e,n.context.dataSourceManager,null==(t=n.context.app)?void 0:t.dataSourceManager)};return await z(i,r)},[c,n,o]),D=(0,u.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?E:"null"===l?R: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"]}}),[R,E]),N=(0,u.useCallback)((e,t)=>{let n=l.path||"",o=e||"",i=o!==n;l.path=o,i&&n&&(l.operator="",l.value="",y.current=!0),n||!o||l.operator||(y.current=!0),t&&v(t)},[l]),q=(0,u.useCallback)(e=>{let t=l.operator;l.operator=e;let n=b.find(t=>t.value===e);(null==n?void 0:n.noValue)?(l.value=!0,l.noValue=!0):(B.has(t)&&!B.has(e)&&Array.isArray(l.value)&&(l.value=l.value.join("\n")),l.noValue=!1)},[l,b]);return(0,i.jsxs)(a.A,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:h,onChange:N,metaTree:T,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:p("Select variable"),onlyLeafSelectable:!0}),(0,i.jsx)(s.A,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:p("Comparison"),value:m||void 0,onChange:q,children:w.map(e=>(0,i.jsx)(s.A.Option,{value:e.value,children:e.label},e.value))}),!(null==(t=b.find(e=>e.value===m))?void 0:t.noValue)&&(0,i.jsx)(r.VariableInput,{value:f,onChange:e=>l.value=e,metaTree:_,converters:D,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:p("Enter value"),clearValue:""})]})})},39580(e,t,l){l.d(t,{b2:()=>o.b,tn:()=>n.t,S5:()=>o.S});var n=l(27941);l(74848),l(98668),l(43627),l(11869),l(96540),l(74979),l(21335);var o=l(36869);l(95266),l(47785)},76059(e,t,l){l.d(t,{g:()=>o,k:()=>i});var n=l(11869);let o=(0,n.defineFlow)({key:"popupSettings",title:(0,n.tExpr)("Popup settings"),on:"click",sort:300,steps:{openView:{use:"openView",hideInSettings:async e=>{var t,l,n,o;let i=null==(l=(n=e.model).getStepParams)||null==(t=l.call(n,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return!!e.collectionField&&(void 0===i?!(null==(o=e.collectionField)?void 0:o.isAssociationField())||e.disableFieldClickToOpen:!1===i)}}},defaultParams:e=>{var t,l,n,o,i,r,a,s;let d,u,c,p=e.collectionField,h=e.blockModel,m=null==(l=e.model)||null==(t=l.parent)?void 0:t.associationPathName,f=e.collection||(null==h?void 0:h.collection),g=e=>{var t;return!!(null==e||null==(t=e.isAssociationField)?void 0:t.call(e))},v=!g(p)&&m?null==f||null==(n=f.getFieldByPath)?void 0:n.call(f,m):void 0,y=g(p)?p:v;if(g(y)){let e=y.targetCollection;null==h||h.collection,d=null==e?void 0:e.name,u=null==e?void 0:e.dataSourceKey,c=null==y?void 0:y.resourceName}else p?(d=null==(o=e.collection)?void 0:o.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}}}}),i=e=>e.getStepParams("popupSettings","openView")},10438(e,t,l){let n,o,i;l.d(t,{er5:()=>sC,tPG:()=>eL.t,wUQ:()=>oV,Ui7:()=>hm.Ui,JvK:()=>eJ,m5p:()=>db,l5h:()=>oJ,jqd:()=>pE,WHj:()=>rB,T9:()=>nL,ZMt:()=>nl,Xw5:()=>t6,xEQ:()=>dR,r39:()=>sS,YXI:()=>tO,riZ:()=>hp.ri,s2k:()=>st,zA_:()=>tM.zA,gbJ:()=>pa,DvX:()=>o,wwh:()=>sj,p$W:()=>hm.p$,xtQ:()=>hp.xt,qi_:()=>C.qi,d13:()=>t_,UX6:()=>tp,sJK:()=>aw,mzg:()=>ab,mHU:()=>rY,Ppd:()=>dA,Tuv:()=>dY,Uk$:()=>aq,byO:()=>tM.by,Tnx:()=>hp.Tn,ZCq:()=>d3,HWn:()=>hp.HW,I8R:()=>C.I8,v9U:()=>dZ,T16:()=>uU,spd:()=>tR,xz3:()=>nG,XMh:()=>ts,ROt:()=>la,$T1:()=>dH,jjG:()=>hp.jj,Px_:()=>hp.Px,COB:()=>pj,ysz:()=>d1.ys,kA1:()=>nq,_IX:()=>hp._I,AvD:()=>nU,cYG:()=>pN,mOW:()=>t8.mO,zqF:()=>sa,v0X:()=>ao,UfC:()=>hp.Uf,_TB:()=>Y,uMh:()=>ds,mQM:()=>po,aDm:()=>e_,Hn2:()=>tA,KTk:()=>V,rGX:()=>ue,y2s:()=>oA,s2f:()=>t8.s2,upH:()=>di,BmO:()=>hm.Bm,foc:()=>no,Uhv:()=>eq,ZVp:()=>dz,bPr:()=>lN,hNf:()=>dG,u36:()=>tj,J$w:()=>rw,Bum:()=>cm,ux6:()=>hp.ux,Ra0:()=>dk,QuL:()=>eE,V6y:()=>hp.V6,djK:()=>hm.dj,qh$:()=>em,K4N:()=>nr,xIu:()=>ig,XK0:()=>eG,xc1:()=>hp.xc,C_u:()=>hm.C_,Ru1:()=>C.Ru,s$$:()=>hf,lrV:()=>tB.lr,znN:()=>pA,OaU:()=>hm.O,$dA:()=>td,N9e:()=>hh.N,m$$:()=>sJ,cPq:()=>sn,gk0:()=>et,to1:()=>tl,dhL:()=>dx,mSG:()=>i9,Fy3:()=>sG,VPO:()=>dW,d6j:()=>ah,y8o:()=>hp.y8,nCj:()=>hm.nC,eLO:()=>hp.eL,LAC:()=>te,fCM:()=>hp.fC,R0X:()=>hm.R0,Dsh:()=>un,saj:()=>ly,VcJ:()=>dj,dv2:()=>n5,t_Y:()=>hp.t_,er8:()=>pi,FKm:()=>d1.FK,ksX:()=>hm.ks,Ucr:()=>hp.Uc,Eq4:()=>uW,xkv:()=>se,sEB:()=>tP,_ol:()=>ai,W4I:()=>aS,qPo:()=>dD,n8$:()=>hp.n8,JNs:()=>hp.JN,vIF:()=>ow,vrA:()=>dE,tUI:()=>ea,CII:()=>tZ,v6e:()=>sP,MeX:()=>aX,ccc:()=>d1.cc,mw1:()=>en,i6C:()=>oX,sJA:()=>aT,hOt:()=>tB.hO,kNV:()=>to,biS:()=>o1,AMH:()=>i,fMK:()=>pf,PU8:()=>lM,UZR:()=>eB,fAh:()=>D,Yjq:()=>hp.FY,_e9:()=>i7,Myf:()=>pv,fnr:()=>sv,qqP:()=>du,BYM:()=>tM.BY,RBt:()=>eV.R,dpX:()=>t7,FF9:()=>i6,sYw:()=>e8,oM7:()=>rf,e7P:()=>uT,ODR:()=>lE,hCX:()=>t0,qJX:()=>tf,x_D:()=>oQ,Imp:()=>rZ,mNj:()=>n,P0:()=>sQ,Qt8:()=>hp.Qt,zDb:()=>i1,ivU:()=>ib,VGp:()=>uN,uFv:()=>pr,Pqd:()=>uw,Gap:()=>hp.G,kkB:()=>u_,wqT:()=>tY,R8A:()=>tI,vbm:()=>eR,ugJ:()=>hp.ug,KYF:()=>oI,FaR:()=>aW,v8l:()=>tW,IAc:()=>uj,lv4:()=>hm.lv,qlo:()=>ac,I6c:()=>ur,_UX:()=>ej,t_n:()=>oM,Xig:()=>tB.Xi,isP:()=>uo,fi1:()=>hp.fi,a6D:()=>e7,uTv:()=>hm.uT,MhO:()=>tU,l2T:()=>rt,n6C:()=>t$,OtO:()=>hp.Ot,FWr:()=>hp.FW,wW_:()=>e5,X2M:()=>hm.X2,h2d:()=>d0.h2,cm5:()=>dK,eCD:()=>nB,GJ1:()=>iA,B94:()=>hp.B9,gaO:()=>rg,orA:()=>hc.o,OsV:()=>s$,I6Z:()=>nz,zsf:()=>ee,HJv:()=>az,WzN:()=>hm.Wz,qNx:()=>hp.qN,Odw:()=>tn,G9F:()=>l4,YjI:()=>hp.Yj,xFY:()=>hp.xF,PW6:()=>e$.P,rvE:()=>tm,cNN:()=>n4,mLo:()=>sw,YJB:()=>ie,QBt:()=>hp.QB,LFq:()=>pn,Ck8:()=>ap,hPI:()=>tM.hP,ur8:()=>o3,F4f:()=>t8.F4,tQF:()=>pM,aWb:()=>pS,iT0:()=>aH,mYX:()=>hp.mY,zUb:()=>oF,rpg:()=>sp,sW6:()=>r1,Z0H:()=>aZ,K$V:()=>iy,v$f:()=>eK,_$j:()=>e4,ULH:()=>l0,M6q:()=>tB.M6,pKk:()=>nu,www:()=>oS,MMn:()=>hp.MM,kPK:()=>lr,jj_:()=>uA,Xmd:()=>rQ,B82:()=>hp.B8,zCA:()=>z,np$:()=>d1.np,YXr:()=>o0,hsC:()=>uC,IBN:()=>cd,Zu2:()=>uH,m2W:()=>tg,k9E:()=>d0.k9,KSc:()=>L,Yh4:()=>uq,Mxl:()=>hp.Mx,B6V:()=>iF,KAX:()=>ps,J9o:()=>uc,mUg:()=>sr,mU7:()=>dm,YmV:()=>O.default,_J0:()=>an,pXX:()=>hp.pX,EcU:()=>o2,mRH:()=>oN.m,j0c:()=>tt.j,vW_:()=>oZ,o8y:()=>tM.o8,ThI:()=>hp.Th,e6V:()=>hc.e,qmt:()=>pF,Anr:()=>r7,tSM:()=>hp.tS,qir:()=>eZ,kN:()=>oY,s5W:()=>am,NYj:()=>tB.NY,LE6:()=>uS,ngq:()=>d1.ng,omq:()=>tx,Nxx:()=>de,gvx:()=>e9.g,upW:()=>ar,D1b:()=>os,Cuw:()=>hp.Cu,S3Z:()=>cu,B_2:()=>hp.B_,D8m:()=>on,e8C:()=>d6,T8$:()=>nV,nap:()=>S.n,CCB:()=>sV,zFh:()=>aJ,lJp:()=>F,Dhs:()=>pC,eDc:()=>hm.eD,Zpx:()=>uI,Fts:()=>ix,$FU:()=>dX,oJ5:()=>C.oJ,RLu:()=>e3,wBN:()=>oG,Ybt:()=>t9,A14:()=>hp.A1,o2o:()=>hp.o2,hHg:()=>tB.hH,CDb:()=>oT,YgY:()=>ti,BpQ:()=>e2,gLn:()=>hm.gL,Bnh:()=>d1.Bn,oIl:()=>aD,uVo:()=>tN,Ie6:()=>aV,mKE:()=>M,dWc:()=>ca,CM3:()=>hm.CM,SMJ:()=>tB.SM,lcp:()=>t4,ivi:()=>lA,dIg:()=>tk,jmZ:()=>hm.jm,sD1:()=>lb,ymi:()=>tD,Kgy:()=>hp.Kg,ESx:()=>d0.ES,wLo:()=>oH,vy4:()=>rb,Et2:()=>C.Et,xdz:()=>Z,Y5n:()=>lu.EditFormModel,BgT:()=>l6,S0L:()=>X,mk:()=>i3,zTu:()=>pg,qtW:()=>a1,Ni4:()=>th,Mf0:()=>lR,khg:()=>nF,S5n:()=>rv,IJk:()=>rq.IJ,k9Q:()=>dF,Q7G:()=>hm.Q7,mw3:()=>uE,D2p:()=>pk,mp5:()=>uv,LaP:()=>eO,eDQ:()=>hp.eD,qJ3:()=>dc,s5y:()=>J,ql0:()=>lk,dWg:()=>sM,e7h:()=>ns,ZjK:()=>ld,w5F:()=>es,C9C:()=>hm.C9,aqk:()=>er,JUj:()=>t8.JU,udY:()=>n2,Vrl:()=>dJ,t4X:()=>a2,JgE:()=>lf,kbf:()=>uP,fLT:()=>tM.fL,HZo:()=>tB.HZ,LbM:()=>dU,oLV:()=>ez.o,T6P:()=>e6,KHY:()=>oU,Jbm:()=>tr,WuM:()=>pD,zgg:()=>e$.z,Hwd:()=>hh.H,Evi:()=>hp.Ev,Qb_:()=>hp.Qb,AV5:()=>a_,cEK:()=>eP,XCP:()=>d0.XC,pVr:()=>sl});var r,a,s,d,u,c,p,h,m,f={};l.r(f),l.d(f,{connectFields:()=>oI,customizeFilterRender:()=>oV,defaultOperator:()=>oT,operatorComponentProps:()=>oU});var g={};l.r(g),l.d(g,{ActionGroupModel:()=>Z,ActionModel:()=>X,ActionSceneEnum:()=>J,ActionWithoutPermission:()=>Y,AddChildActionModel:()=>t4,AddNewActionModel:()=>tl,AssignFormGridModel:()=>t7,AssignFormItemModel:()=>ly,AssignFormModel:()=>t6,AssociateActionModel:()=>tp,AssociationFieldGroupModel:()=>en,AssociationFieldModel:()=>lN,BasePageTabModel:()=>e2,BlockGridModel:()=>eO,BlockModel:()=>e$.z,BlockSceneEnum:()=>e$.P,BulkDeleteActionModel:()=>th,CascadeSelectFieldModel:()=>aw,CascadeSelectInnerFieldModel:()=>ab,CascadeSelectListFieldModel:()=>aS,CheckboxFieldModel:()=>aJ,CheckboxGroupFieldModel:()=>aX,ChildPageModel:()=>eJ,ChildPageTabModel:()=>e5,ClickableFieldModel:()=>ar,CollectionActionGroupModel:()=>ee,CollectionActionModel:()=>eB,CollectionBlockModel:()=>eL.t,CollectionSelectorFieldModel:()=>aZ,ColorFieldModel:()=>a2,CommonItemModel:()=>eq,CreateContent:()=>l4,CreateFormModel:()=>oH,CustomWidth:()=>iy,DataBlockModel:()=>eV.R,DateOnlyFieldModel:()=>st,DateOnlyFilterFieldModel:()=>nr,DateOnlyPicker:()=>se,DateTimeFilterFieldModel:()=>no,DateTimeNoTzFieldModel:()=>sn,DateTimeNoTzFilterFieldModel:()=>ns,DateTimeNoTzPicker:()=>sl,DateTimeTzFieldModel:()=>sa,DateTimeTzFilterFieldModel:()=>nu,DateTimeTzPicker:()=>sr,DeleteActionModel:()=>tm,DetailsAssociationFieldGroupModel:()=>lb,DetailsBlockModel:()=>lM,DetailsCustomItemModel:()=>lA,DetailsGridModel:()=>lk,DetailsItemModel:()=>ld,DetailsJSFieldItemModel:()=>lE,DisassociateActionModel:()=>tf,DisplayCheckboxFieldModel:()=>dZ,DisplayColorFieldModel:()=>dA,DisplayDateTimeFieldModel:()=>dk,DisplayEnumFieldModel:()=>dj,DisplayHtmlFieldModel:()=>dE,DisplayIconFieldModel:()=>dR,DisplayJSONFieldModel:()=>dD,DisplayNumberFieldModel:()=>dU,DisplayPasswordFieldModel:()=>dH,DisplayPercentFieldModel:()=>dG,DisplaySubItemFieldModel:()=>dx,DisplaySubListFieldModel:()=>dF,DisplaySubTableFieldModel:()=>db,DisplayTextFieldModel:()=>dY,DisplayTimeFieldModel:()=>dX,DisplayTitleFieldModel:()=>dm,DisplayURLFieldModel:()=>dJ,DividerItemModel:()=>di,EditActionModel:()=>tg,EditFormContent:()=>a_,EditFormModel:()=>lu.EditFormModel,ExpandCollapseActionModel:()=>t0,FieldDeletePlaceholder:()=>ig,FieldModel:()=>ez.o,FieldModelSelect:()=>nF,FieldOperatorSelect:()=>nV,FilterActionModel:()=>tx,FilterBlockModel:()=>eK,FilterFormActionGroupModel:()=>n5,FilterFormActionModel:()=>n4,FilterFormBlockModel:()=>on,FilterFormCollapseActionModel:()=>os,FilterFormCustomFieldModel:()=>nG,FilterFormCustomItemModel:()=>nz,FilterFormCustomRecordSelectFieldModel:()=>n2,FilterFormFieldModel:()=>lR,FilterFormGridModel:()=>oS,FilterFormItemModel:()=>ow,FilterFormJSActionModel:()=>oM,FilterFormRecordSelectFieldModel:()=>nl,FilterFormResetActionModel:()=>oF,FilterFormSubmitActionModel:()=>oA,FilterManager:()=>em,FormActionGroupModel:()=>tI,FormActionModel:()=>tP,FormAssociationFieldGroupModel:()=>o2,FormAssociationItemModel:()=>o3,FormBlockContent:()=>t8.JU,FormBlockModel:()=>t8.F4,FormComponent:()=>t8.s2,FormCustomItemModel:()=>oG,FormGridModel:()=>t9,FormItemModel:()=>lf,FormJSFieldItemModel:()=>oY,FormModel:()=>t8.mO,FormSubmitActionModel:()=>tj,GRID_FLOW_KEY:()=>eP,GRID_STEP:()=>ej,GridModel:()=>eE,IconFieldModel:()=>sp,InputFieldModel:()=>oN.m,InputNumberField:()=>sw,JSActionModel:()=>tA,JSBlockModel:()=>ie,JSCollectionActionModel:()=>tk,JSColumnModel:()=>rt,JSEditableFieldModel:()=>de,JSFieldModel:()=>sQ,JSFormActionModel:()=>oJ,JSItemActionModel:()=>tD,JSItemModel:()=>dc,JSRecordActionModel:()=>tN,JsonFieldModel:()=>n,JsonInput:()=>sv,LinkActionModel:()=>tZ,MainPageModel:()=>eZ,MarkdownItemModel:()=>du,NBColorPicker:()=>a1,NumberFieldModel:()=>sS,ObjectNester:()=>rQ,PageModel:()=>eG,PageTabModel:()=>e8,PasswordFieldModel:()=>sM,PercentFieldModel:()=>sP,PercentInput:()=>sC,PluginSettingsTopbarActionModel:()=>d0.ES,PopupActionModel:()=>e7,PopupCollectionActionModel:()=>tO,PopupSubTableActionGroupModel:()=>az,PopupSubTableActionsColumnModel:()=>aW,PopupSubTableEditActionModel:()=>aD,PopupSubTableFieldModel:()=>aq,PopupSubTableFormActionGroupModel:()=>t_,PopupSubTableFormModel:()=>aH,PopupSubTableFormSubmitActionModel:()=>tR,PopupSubTableRemoveActionModel:()=>aV,QUICK_EDIT_FORM_MAX_HEIGHT:()=>oQ,QUICK_EDIT_MARKDOWN_HEIGHT:()=>oZ,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>oX,QuickEditFormModel:()=>o1,RadioGroupFieldModel:()=>sj,RecordActionGroupModel:()=>et,RecordActionModel:()=>te,RecordPickerContent:()=>rb,RecordPickerFieldModel:()=>rw,RecordSelectFieldModel:()=>l6,RefreshActionModel:()=>t$,RichTextField:()=>s$,RichTextFieldModel:()=>o,RootPageModel:()=>e6,RootPageTabModel:()=>e4,RouteModel:()=>tt.j,SelectFieldModel:()=>sV,SourceCascader:()=>nU,SubFormFieldModel:()=>rZ,SubFormListFieldModel:()=>r1,SubPageModel:()=>e3,SubTableColumnModel:()=>rB,SubTableFieldModel:()=>rY,SubTableRecordAction:()=>aT,TableActionsColumnModel:()=>iF,TableAssociationFieldGroupModel:()=>iA,TableBlockModel:()=>i1,TableColumnModel:()=>ib,TableCustomColumnModel:()=>ix,TableJSFieldItemModel:()=>i7,TableSelectModel:()=>i9,TextareaFieldModel:()=>i,TimeFieldModel:()=>sG,TopbarActionModel:()=>d0.k9,UIEditorTopbarActionModel:()=>d0.h2,USER_CENTER_ACTION_ID:()=>d1.Bn,UnitConversion:()=>dW,UpdateRecordActionModel:()=>tU,UserCenterActionItemModel:()=>d1.ng,UserCenterItemModel:()=>d1.np,UserCenterSelectItemModel:()=>d1.FK,UserCenterTextItemModel:()=>d1.ys,UserCenterTopbarActionModel:()=>d1.cc,VariableFieldFormModel:()=>sJ,ViewActionModel:()=>tW,applyAssociateAction:()=>td,applyClickToOpenProps:()=>an,applyClickToOpenSetting:()=>ai,applyDisassociateAction:()=>ts,buildDisplayPathFromValue:()=>ah,buildRecordPickerParentItemContext:()=>rf,buildRecordPickerPopupContextInputArgs:()=>rv,collectAssociationHydrationCandidates:()=>l0,collectCascadeHydrationCandidate:()=>ac,connectFields:()=>oI,customizeFilterRender:()=>oV,defaultOperator:()=>oT,findOptionPathByTk:()=>am,formatNumber:()=>dz,getAllDataModels:()=>es,getAssociationBlockResourceSettings:()=>tn,getAssociationSelectAssociatedRecordsFilter:()=>i3,getAssociationSelectForeignKeyFilter:()=>i6,getAssociationSelectorContextInputArgs:()=>tr,getAssociationTargetResourceSettings:()=>ti,getDefaultOperator:()=>er,getDetailsItemValue:()=>la,getDisplayNumber:()=>dK,getQuickEditFieldProps:()=>o0,getTopbarPluginSettingsItems:()=>d0.XC,getValueWithIndex:()=>lr,injectRecordPickerPopupContext:()=>rg,isAssociationBlockContext:()=>to,isFilterValueEmpty:()=>ea,joinUrlSearch:()=>tY,markCascadeHydrationDone:()=>ap,operatorComponentProps:()=>oU,recalculateGridSizes:()=>e_,refreshClickToOpenRuntime:()=>ao,resolveCustomFieldOperatorList:()=>nB,resolveDefaultCustomFieldOperator:()=>nL,toOperatorSelectOptions:()=>nq,transformNestedData:()=>r7,transformRowsToSingleColumn:()=>eR});var v={};l.r(v),l.d(v,{aclCheck:()=>uN,aclCheckRefresh:()=>uq,actionLinkageRules:()=>pM,afterSuccess:()=>M,blockHeight:()=>cm,blockLinkageRules:()=>pS,confirm:()=>F,customVariable:()=>ur,dataLoadingMode:()=>uP,dataScope:()=>D,dateRangeLimit:()=>uA,dateTimeFormat:()=>uS,detailsFieldLinkageRules:()=>pC,displayFieldComponent:()=>u_,fieldComponent:()=>uT,fieldLinkageRules:()=>pA,filterFormDefaultValues:()=>cd,fixed:()=>uH,formAssignRules:()=>ca,layout:()=>uI,linkageAssignField:()=>pf,linkageRulesRefresh:()=>cu,linkageRunjs:()=>pv,linkageSetActionProps:()=>po,linkageSetBlockProps:()=>pn,linkageSetDetailsFieldProps:()=>ps,linkageSetFieldProps:()=>pr,linkageSetMenuItemProps:()=>pi,menuLinkageRules:()=>pF,navigateToURL:()=>uo,numberFormat:()=>pE,openView:()=>d6,overflowMode:()=>pj,pattern:()=>uU,refreshTargetBlocks:()=>uc,renderMode:()=>uj,required:()=>uE,runjs:()=>d3,setTargetDataScope:()=>uv,showMessage:()=>ue,showNotification:()=>un,sortingRule:()=>uC,subFormFieldLinkageRules:()=>pk,subFormLinkageAssignField:()=>pg,subFormLinkageSetFieldProps:()=>pa,titleField:()=>uw,validation:()=>uW});var y=l(11869),b=l(2077),x=l(73544),w=l(96436),S=l(47785);let M=(0,y.defineAction)({name:"afterSuccess",title:(0,y.tExpr)("After successful submission"),uiSchema:{successMessage:{type:"string",title:(0,y.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,y.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,y.tExpr)("Automatic close"),value:!1},{label:(0,y.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,y.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,y.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,y.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,y.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,y.tExpr)("Link"),"x-decorator":"FormItem","x-component":S.n,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,y.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:n=!1,actionAfterSuccess:o="previous",redirectTo:i}=t;"previous"===o&&e.view&&e.view.close();let r=t=>{if(e.engine){let t=e.engine;for(;t.nextEngine;)t=t.nextEngine;let l=[],n=t;for(;n;)l.push(n),n=n.previousEngine;for(let e of l)e.destroyView()}e.router.navigate(t)},a=e=>{if((0,w.isURL)(e)){window.location.href=e;return}r(e)};if(l){let t=e.t(l);if(n)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===o&&i&&a(i)}});e.message.success(t)}"redirect"===o&&i&&a(i)}}),F=(0,y.defineAction)({name:"confirm",title:(0,y.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,y.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,y.tExpr)("Title"),"x-decorator":"FormItem","x-component":S.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,y.tExpr)("Content"),"x-decorator":"FormItem","x-component":S.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,y.tExpr)("Please Confirm"),content:(0,y.tExpr)("Are you sure you want to perform the action?")},async handler(e,t){t.enable&&(await e.modal.confirm({title:e.t(t.title,{ns:"lm-flow-engine"}),content:e.t(t.content,{ns:"lm-flow-engine"}),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||e.exit())}});var A=l(74848),k=l(96540),C=l(80512),P=l(40098),j=l.n(P);let I={__nocobaseDataScopeNull__:!0};function E(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function R(e){return E(e)?null:Array.isArray(e)?e.map(e=>R(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=R(e[l]),t),{}):e}function _(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){(0,y.isVariableExpression)(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=I);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{_(e,t.items[l])})}}function T(e,t){let l=j().cloneDeep(t);return _(e,l),R((0,y.pruneFilter)((0,w.transformFilter)(l)))}let D=(0,y.defineAction)({name:"dataScope",title:(0,y.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,y.useFlowSettingsContext)();return(0,A.jsx)(C.I8,{value:e.value,FilterItem:e=>(0,A.jsx)(C.Et,{...e,model:t.model,rightAsVariable:!0})})}}},defaultParams:e=>({filter:{logic:"$and",items:[]}}),useRawParams:!0,async handler(e,t){var l;let n=null==(l=e.model)?void 0:l.resource;if(!n)return;let o=await e.resolveJsonTemplate(t.filter),i=T(t.filter,o);(0,w.isEmptyFilter)(i)?n.removeFilterGroup(e.model.uid):n.addFilterGroup(e.model.uid,i)}});var N=l(66466),O=l(9556),$=l(16629),B=l(42441);function L(e){return(0,A.jsx)($.A,{...e,children:(0,A.jsx)(B.A,{paragraph:{rows:3}})})}function q(e){let{uid:t,...l}=e,n=(0,y.useFlowModelById)(t);return(0,A.jsx)(y.FlowModelRenderer,{model:n,fallback:(0,A.jsx)(L,{style:{margin:(null==n?void 0:n.context.isMobileLayout)?8:null==n?void 0:n.context.themeToken.marginBlock}}),hideRemoveInSettings:!0,showFlowSettings:{showBackground:!1,showBorder:!1},...l})}let V=k.memo(e=>{let{pageModelClass:t="ChildPageModel",parentId:l,onModelLoaded:n,defaultTabTitle:o,...i}=e,r=(0,y.useFlowEngine)(),a=(0,y.useFlowViewContext)(),{loading:s,data:d}=(0,N.A)(async()=>{let e={async:!0,parentId:l,subKey:"page",subType:"object",use:t};if("ChildPageModel"===t){var i;e.subModels={tabs:[{use:"ChildPageTabModel",stepParams:{pageTabSettings:{tab:{title:o||(null==(i=r.translate)?void 0:i.call(r,"Details"))}}}}]},e.stepParams={pageSettings:{general:{displayTitle:!1,enableTabs:!0}}}}let s=await r.loadOrCreateModel(e,{skipSave:!r.context.flowSettingsEnabled});return(null==s?void 0:s.uid)&&n&&(s.context.addDelegate(a),s.removeParentDelegate(),n(s.uid,s)),s},{refreshDeps:[l]});return!s&&(null==d?void 0:d.uid)?(0,A.jsx)(q,{uid:d.uid,...i}):(0,A.jsx)(L,{style:{margin:(null==a?void 0:a.isMobileLayout)?8:null==a?void 0:a.themeToken.marginBlock}})});V.displayName="FlowPage";let z=e=>{let{uid:t,parentId:l,subKey:n,...o}=e,i=(0,y.useFlowEngine)(),{loading:r,data:a}=(0,N.A)(async()=>await i.loadModel({uid:t,parentId:l,subKey:n}),{refreshDeps:[t,l,n]});return!r&&(null==a?void 0:a.uid)?(0,A.jsx)(q,{uid:a.uid,...o}):(0,A.jsx)(L,{style:{margin:16}})};var K=l(50467),U=l(77096),W=l(42443),H=l(71021),G=l(18492);function Y(e){let{t}=(0,G.B)(),l=(0,y.useFlowModel)(),n=l.context.blockModel,o=e.collection||n.collection,i=o.dataSource,r=(0,k.useMemo)(()=>{let e=`${t(i.displayName||i.key)} > `,l=o?`${t(o.title)||o.name||o.tableName} `:"";return`${e}${l}`},[]),{actionName:a}=(null==e?void 0:e.forbidden)||l.forbidden,s=(0,k.useMemo)(()=>t('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:r,actionName:t(j().capitalize(a))}).replaceAll("&gt;",">"),[a,r,t]);return(0,A.jsx)(W.A,{title:e.message||s,children:e.children})}let J={collection:"collection",record:"record",all:["collection","record"],both:["collection","record"]};class X extends y.FlowModel{static _getScene(){return j().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 e=this.props,t=this.getIcon()?(0,A.jsx)(U.In,{type:this.getIcon()}):void 0;return(0,A.jsx)(H.Ay,{...e,onClick:this.onClick.bind(this),icon:t,children:e.children||this.getTitle()})}render(){return this.props.tooltip?(0,A.jsx)(W.A,{title:this.props.tooltip,children:this.renderButton()}):this.renderButton()}renderHiddenInConfig(){let e=this.props,t=this.getIcon()?(0,A.jsx)(U.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,A.jsx)(Y,{children:(0,A.jsx)(H.Ay,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})}):(0,A.jsx)(W.A,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,A.jsx)(H.Ay,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})})}constructor(...e){super(...e),(0,K._)(this,"defaultProps",{type:"default",title:(0,y.tExpr)("Action")}),(0,K._)(this,"enableEditTooltip",!0),(0,K._)(this,"enableEditTitle",!0),(0,K._)(this,"enableEditIcon",!0),(0,K._)(this,"enableEditType",!0),(0,K._)(this,"enableEditDanger",!0),(0,K._)(this,"enableEditColor",!1)}}var Q=l(94130);class Z extends y.FlowModel{static getAllParentClasses(){let e=[],t=this;for(;t&&t!==Object;)(null==(t=Object.getPrototypeOf(t))?void 0:t.currentModels)&&e.push(t);return e}static get currentModels(){return Object.prototype.hasOwnProperty.call(this,"_models")&&this._models||(this._models=new Map),this._models}static get models(){let e=new Map;for(let t of this.getAllParentClasses())for(let[l,n]of t.currentModels)e.set(l,n);for(let[t,l]of this.currentModels)e.set(t,l);return e}static registerActionModels(e){for(let[t,l]of Object.entries(e))Object.defineProperty(l,"name",{value:t}),this.currentModels.set(t,l)}static isActionModelVisible(e,t){var l;let n=t.collection||(null==(l=t.blockModel)?void 0:l.collection),o=(0,Q.GX)(e);return(0,Q.F3)(n,o)}static async defineChildren(e){let t=this.baseClass?await (0,y.buildSubModelItems)(this.baseClass)(e):[],l=[],n=t.filter(t=>{let l=e.engine.getModelClass(t.useModel);return!!this.isActionModelVisible(l,e)&&(!this.scene||l._isScene(this.scene))});for(let[t,o]of this.models){if(!this.isActionModelVisible(o,e)||n.find(e=>e.useModel===o.name))continue;let t=await (0,y.buildSubModelItem)(o,e);t&&l.push(t)}return j().sortBy([...n,...l],"sort")}}(0,K._)(Z,"baseClass",void 0),(0,K._)(Z,"scene",void 0),(0,K._)(Z,"_models",void 0);class ee extends Z{}(0,K._)(ee,"baseClass",X),(0,K._)(ee,"scene",J.collection);class et extends Z{}(0,K._)(et,"baseClass",X),(0,K._)(et,"scene",J.record);var el=l(2117);X.registerFlow({key:"buttonSettings",title:(0,y.tExpr)("Button settings"),sort:-999,steps:{general:{title:(0,y.tExpr)("Edit button"),uiSchema:e=>({title:e.model.enableEditTitle?{"x-decorator":"FormItem","x-component":"Input",title:(0,y.tExpr)("Button title")}:void 0,tooltip:e.model.enableEditTooltip?{"x-decorator":"FormItem","x-component":"Input",title:(0,y.tExpr)("Button tooltip")}:void 0,icon:e.model.enableEditIcon?{"x-decorator":"FormItem","x-component":"IconPicker",title:(0,y.tExpr)("Button icon")}:void 0,type:e.model.enableEditType?{"x-decorator":"FormItem","x-component":"Radio.Group",title:(0,y.tExpr)("Button type"),enum:[{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")}}'}]}:void 0,danger:e.model.enableEditDanger?{"x-decorator":"FormItem","x-component":"Switch",title:(0,y.tExpr)("Danger action")}:void 0,color:e.model.enableEditColor?{"x-decorator":"FormItem","x-component":b.sk,title:(0,y.tExpr)("Color")}:void 0}),defaultParams:e=>e.model.defaultProps,handler(e,t){let{title:l,tooltip:n,...o}=t;e.model.setProps({title:e.t(l,{ns:"lm-flow-engine"}),tooltip:e.t(n,{ns:"lm-flow-engine"}),...o})}},linkageRules:{use:"actionLinkageRules"}}}),X.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{use:"aclCheck"}}}),X.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"},linkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"actionLinkageRules",flowKey:"buttonSettings",stepKey:"linkageRules"}}}}),X.registerEvents({click:{title:(0,y.tExpr)("Click"),name:"click",uiSchema:{condition:{type:"object",title:(0,y.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":el.H}},handler:el.b}});class en extends y.FlowModel{static defineChildren(e){let t=this.itemModelName,l=function(n){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return n.getToOneAssociationFields().map(n=>{let i=o?`${o}.${n.name}`:n.name;return n.targetCollection?{key:`${i}-assocationField`,label:n.title,children:()=>[{key:`${i}-children-collectionField`,label:e.t("Display fields"),type:"group",children:n.targetCollection.getFields().map(l=>{let n=`${i}.${l.name}`,o=y.DisplayItemModel.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!o)return;let r=o.modelName;return{key:`c-${i}.${l.name}`,label:l.title,useModel:t,toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===n},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:n,associationPathName:i}}},subModels:{field:{use:r}}}}}).filter(Boolean)},{key:`${i}-children-associationField`,label:"Display association fields",type:"group",children:(l(n.targetCollection,i)||[]).filter(Boolean)}]}:void console.error(`AssociationFieldGroupModel: target collection ${n.target} not found for field ${n.name}`)}).filter(Boolean)};return l(e.collection,e.prefixFieldPath)}}(0,K._)(en,"itemModelName","DetailsItemModel"),en.define({label:'{{t("Display fields")}}'});var eo=l(18853);function ei(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function er(e){var t,l,n,o,i,r;return e.operator||(null==(t=e.getStepParams("filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(l=e.subModels.field)?void 0:l.operator)||(null==(r=e.collectionField)||null==(i=r.filterable)||null==(o=i.operators)||null==(n=o[0])?void 0:n.value)||"$includes"}function ea(e){return!!(null==e||"string"==typeof e&&""===e.trim()||Array.isArray(e)&&0===e.filter(e=>null!=e&&("string"!=typeof e||""!==e.trim())).length)||"object"==typeof e&&e.constructor===Object&&0===Object.keys(e).length}function es(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}let ed={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function eu(e,t){var l,n,o;let i=null==e||null==(l=e.context)?void 0:l.dataSourceManager,r=null==e?void 0:e.collection;if(!i||!(null==r?void 0:r.dataSourceKey)||!(null==r?void 0:r.name)||!t)return;let a=r.name,s=t.split(".").filter(Boolean);for(let e=0;e<s.length;e+=1){let t=null==(n=i.getCollectionField)?void 0:n.call(i,`${r.dataSourceKey}.${a}.${s[e]}`);if(!t||e===s.length-1)return t;if(!(a=t.target||(null==(o=t.targetCollection)?void 0:o.name)))return}}function ec(e,t,l){let n=ed[e];if(!n)return e;let o=eu(t,l);return!o||ei(o)?e:n}async function ep(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function eh(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class em{async saveFilterConfigs(){await this.gridModel.saveStepParams()}getFilterConfigs(){return this.filterConfigs}getConnectFieldsConfig(e){let t=this.filterConfigs.filter(t=>t.filterId===e);if(0!==t.length)return{targets:t.map(e=>({targetId:e.targetId,filterPaths:e.filterPaths}))}}async prepareFiltersForTarget(e){let t=this.filterConfigs.filter(t=>t.targetId===e),l=new Set;return await Promise.all(t.map(async t=>{try{var n;let e=this.gridModel.flowEngine.getModel(t.filterId),o=null==e||null==(n=e.context)?void 0:n.blockModel;if(!o||"function"!=typeof o.prepareInitialFilterValues)return;let i=await o.prepareInitialFilterValues();!1!==i&&l.add(o)}catch(t){console.error(`Failed to prepare filter defaults for target "${e}": ${eh(t)}`)}})),l}async saveConnectFieldsConfig(e,t){let l=t.targets.map(t=>({filterId:e,targetId:t.targetId,filterPaths:t.filterPaths})),n=this.filterConfigs.filter(t=>t.filterId!==e);this.filterConfigs=[],this.filterConfigs.push(...n,...l),await this.saveFilterConfigs()}async addFilterConfig(e){if(!e.filterId||!e.targetId)return void console.error("FilterConfig must have filterId, targetId, and operator");if(!Array.isArray(e.filterPaths)||0===e.filterPaths.length)return void console.error("FilterConfig must have non-empty filterPaths array");let t=this.filterConfigs.findIndex(t=>t.filterId===e.filterId&&t.targetId===e.targetId);t>=0?this.filterConfigs[t]={...e}:this.filterConfigs.push({...e}),await this.saveFilterConfigs()}async removeFilterConfig(e){let{filterId:t,targetId:l,persist:n=!0}=e;if(!t&&!l)return console.error("At least one of filterId or targetId must be provided"),0;let o=this.filterConfigs.length;this.filterConfigs=this.filterConfigs.filter(e=>t&&l?e.filterId!==t||e.targetId!==l:t?e.filterId!==t:!l||e.targetId!==l);let i=o-this.filterConfigs.length;return i>0&&n&&await this.saveFilterConfigs(),i}bindToTarget(e){if(!e||"string"!=typeof e)return void console.error("[NocoBase]: targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`[NocoBase]: Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.addFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with addFilterGroup method`);if("function"!=typeof t.resource.removeFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let n=t;l.forEach(e=>{let l=this.gridModel.flowEngine.getModel(e.filterId);if(!l)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" not found`);if(!l.getFilterValue)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" does not have getFilterValue method`);let o=l.getFilterValue();if(ea(o)){try{t.resource.removeFilterGroup(e.filterId),n.setFilterActive(e.filterId,!1)}catch(e){console.error(`[NocoBase]: Failed to remove filter configuration from target model: ${e.message}`)}return}n.setFilterActive(e.filterId,!0);let i=e.filterPaths.map(n=>({path:n,operator:ec(e.operator||er(l),t,n),value:o}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new y.FilterItem({path:i[0].path,operator:i[0].operator,value:i[0].value}));else if(i.length>1){let l={logic:"$or",items:i};t.resource.addFilterGroup(e.filterId,new y.FilterGroup(l))}}catch(e){console.error(`Failed to bind filter configuration to target model: ${e.message}`);return}})}unbindFromTarget(e){if(!e||"string"!=typeof e)return void console.error("targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.removeFilterGroup)return void console.error(`Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let n=t;l.forEach(e=>{try{t.resource.removeFilterGroup(e.filterId),"function"==typeof(null==n?void 0:n.removeFilterSource)&&n.removeFilterSource(e.filterId)}catch(e){console.error(`Failed to unbind filter configuration from target model: ${e.message}`);return}})}async refreshTargetsByFilter(e,t){if(!e)return void console.error("filterId must be provided");let l=Array.isArray(e)?e:[e];if(0===l.length||l.some(e=>!e||"string"!=typeof e))return void console.error("filterId must be non-empty string(s)");let n=this.filterConfigs.filter(e=>l.includes(e.filterId));if(0===n.length)return;let o=(null==t?void 0:t.excludeTargetIds)?new Set(t.excludeTargetIds):void 0,i=[...new Set(n.map(e=>e.targetId))].filter(e=>!(null==o?void 0:o.has(e))).map(async e=>{try{this.bindToTarget(e);let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let l=t,n=t.resource,o=l.getDataLoadingMode();if("manual"===o&&!l.hasActiveFilters()){n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1;return}await ep(n),"function"==typeof n.setPage&&n.setPage(1),await n.refresh()}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(i)}constructor(e,t){(0,K._)(this,"filterConfigs",void 0),(0,K._)(this,"gridModel",void 0),this.gridModel=e,this.filterConfigs=t||[]}}var ef=l(27253),eg=l(84626),ev=l(47152),ey=l(16370);function eb(e){let{rows:t={},sizes:l={},layout:n,renderItem:o,rowGap:i=16,colGap:r=16,dragOverlayRect:a}=e,s=n||(0,y.normalizeGridLayout)({rows:t,sizes:l});return s.rows.length?(0,A.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:i},"data-grid-root":!0,children:[a&&(0,A.jsx)(eS,{rect:a}),(0,A.jsx)(ex,{rows:s.rows,renderItem:o,rowGap:i,colGap:r,parentPath:[]})]}):(0,A.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:a&&(0,A.jsx)(eS,{rect:a})})}function ex(e){let{rows:t,renderItem:l,rowGap:n,colGap:o,parentPath:i}=e;return(0,A.jsx)(A.Fragment,{children:t.map(e=>{let t=e.cells.length,r=e.sizes||[],a=r.some(e=>null!=e&&void 0!==e),s=[...i,{rowId:e.id}],d=e.cells.map((e,l)=>{if(!a)return 24/t;{let e=r.reduce((e,t)=>e+(t||0),0),n=t-r.filter(Boolean).length,o=n>0?(24-e)/n:0;return r[l]??o}});return(0,A.jsx)(ev.A,{gutter:o,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,i)=>(0,A.jsx)(ew,{rowKey:e.id,columnIndex:i,span:d[i],rowGap:n,colGap:o,cell:t,path:[...s.slice(0,-1),{rowId:e.id,cellId:t.id}],renderItem:l},t.id))},e.id)})})}let ew=k.memo(function(e){var t;let{rowKey:l,columnIndex:n,span:o,rowGap:i,colGap:r,cell:a,path:s,renderItem:d}=e,u=a.items||[];return(0,A.jsx)(ey.A,{span:o,"data-grid-column-row-id":l,"data-grid-column-index":n,"data-grid-path":JSON.stringify(s),children:(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:i},children:[u.map((e,t)=>e===y.EMPTY_COLUMN_UID?null:(0,A.jsx)("div",{"data-grid-item-row-id":l,"data-grid-column-index":n,"data-grid-item-index":t,"data-grid-item-uid":e,"data-grid-path":JSON.stringify(s),children:d(e)},e)),(null==(t=a.rows)?void 0:t.length)?(0,A.jsx)(ex,{rows:a.rows,renderItem:d,rowGap:i,colGap:r,parentPath:s}):null]})})});function eS(e){let{rect:t}=e,l={position:"absolute",top:t.top,left:t.left,width:t.width,height:t.height,borderRadius:6,pointerEvents:"none",transition:"all 60ms ease-out",zIndex:100},n={column:{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.08)"},"column-edge":{border:"2px solid var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.12)"},"row-gap":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.05)"},"empty-row":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"},"empty-column":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"},"item-edge":{border:"2px solid var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.12)"}};return(0,A.jsx)("div",{style:{...l,...n[t.type]}})}ew.displayName="GridColumn";var eM=l(18220),eF=l(95725),eA=l(40919);let ek=e=>{let{value:t,onChange:l,rows:n=10,...o}=e,[i,r]=(0,k.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,k.useState)(null);(0,k.useEffect)(()=>{r(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;r(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,A.jsxs)("div",{children:[(0,A.jsx)(eF.A.TextArea,{value:i,autoSize:{minRows:n,maxRows:n+10},onChange:d,...o}),a&&(0,A.jsx)(eA.A,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},eC=(0,eM.connect)(ek),eP="gridSettings",ej="grid",eI=e=>{if(!e)return null;if("number"==typeof e.clientX&&"number"==typeof e.clientY)return{x:e.clientX,y:e.clientY};if(e.touches&&e.touches.length>0){let t=e.touches[0];return{x:t.clientX,y:t.clientY}}if(e.changedTouches&&e.changedTouches.length>0){let t=e.changedTouches[0];return{x:t.clientX,y:t.clientY}}return null};class eE extends y.FlowModel{onInit(e){super.onInit(e),this.props.dragOverlayRect&&this.setProps("dragOverlayRect",null)}bindDragDocumentListeners(){var e;let t=(null==(e=this.getDragContainer())?void 0:e.ownerDocument)||("u"<typeof document?null:document);if(!t)return;let l={capture:!0,passive:!0},n={capture:!0},o=t.defaultView;return t.addEventListener("pointermove",this.updateDragPointerPosition,l),t.addEventListener("mousemove",this.updateDragPointerPosition,l),t.addEventListener("touchmove",this.updateDragPointerPosition,l),t.addEventListener("scroll",this.handleDragScroll,l),null==o||o.addEventListener("scroll",this.handleDragScroll,l),()=>{t.removeEventListener("pointermove",this.updateDragPointerPosition,n),t.removeEventListener("mousemove",this.updateDragPointerPosition,n),t.removeEventListener("touchmove",this.updateDragPointerPosition,n),t.removeEventListener("scroll",this.handleDragScroll,n),null==o||o.removeEventListener("scroll",this.handleDragScroll,n)}}deriveRowOrder(e,t){let l=[],n=new Set;return(t||Object.keys(e)).forEach(t=>{e[t]&&!n.has(t)&&(l.push(t),n.add(t))}),Object.keys(e).forEach(e=>{n.has(e)||(l.push(e),n.add(e))}),l}normalizeRowsWithOrder(e,t){let l=this.deriveRowOrder(e,t),n={};return l.forEach(t=>{e[t]&&(n[t]=e[t])}),Object.keys(e).forEach(t=>{n[t]||(n[t]=e[t])}),{rows:n,rowOrder:l}}orderSizesByRowOrder(e,t){let l={};return t.forEach(t=>{e[t]&&(l[t]=e[t])}),Object.keys(e).forEach(t=>{l[t]||(l[t]=e[t])}),l}getItemFlowSettings(){return this._memoItemFlowSettings||(this._memoItemFlowSettings={showBackground:!1,showDragHandle:!0,...this.itemFlowSettings}),this._memoItemFlowSettings}getItemUids(){return(this.subModels.items||[]).map(e=>e.uid)}normalizeLayoutFromSource(e){let t=this.getStepParams(eP,ej)||{};return(0,y.normalizeGridLayout)({layout:(null==e?void 0:e.layout)??this.props.layout??t.layout,rows:(null==e?void 0:e.rows)??this.props.rows??t.rows,sizes:(null==e?void 0:e.sizes)??this.props.sizes??t.sizes,rowOrder:(null==e?void 0:e.rowOrder)??this.props.rowOrder??t.rowOrder,itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}getGridLayout(){return this.normalizeLayoutFromSource()}serialize(){let e=super.serialize();return e.props=j().omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,y.projectLayoutToLegacyRows)(e);this.setProps("layout",e),this.setProps("rows",t.rows),this.setProps("sizes",t.sizes),this.setProps("rowOrder",t.rowOrder)}setGridStepLayout(e){this.setStepParams(eP,{[ej]:{layout:e}})}findLayoutRowByPath(e,t){if(!(null==t?void 0:t.length))return null;let l=e.rows;for(let e=0;e<t.length;e+=1){let n=t[e],o=l.find(e=>e.id===n.rowId);if(!o)break;if(e===t.length-1)return o;let i=o.cells.find(e=>e.id===n.cellId);l=(null==i?void 0:i.rows)||[]}return null}collectCellItemsForResize(e){return Array.isArray(e.items)?[...e.items]:(e.rows||[]).flatMap(e=>e.cells.flatMap(e=>this.collectCellItemsForResize(e)))}buildResizedCells(e,t){let l=new Set;return t.map((t,n)=>{let o=e.cells.findIndex((e,n)=>!l.has(n)&&j().isEqual(this.collectCellItemsForResize(e),t));if(-1!==o){l.add(o);let n=e.cells[o];return n.rows&&!n.items?j().cloneDeep(n):{id:n.id,items:[...t]}}return{id:`${e.id}:cell:${n}:${(0,ef.uid)()}`,items:[...t]}})}getResizeRowPath(e){if(!(null==e?void 0:e.length))return[];let t=e.map(e=>({...e}));return delete t[t.length-1].cellId,t}getResizeContainerWidth(e){var t,l,n;let o=this.getResizeRowPath(e),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0;if(!o.length)return i;let r=Array.from((null==(l=this.gridContainerRef.current)?void 0:l.querySelectorAll("[data-grid-row-id]"))||[]).find(e=>{try{return j().isEqual(JSON.parse(e.dataset.gridPath||"[]"),o)}catch{return!1}});return(null==r||null==(n=r.parentElement)?void 0:n.clientWidth)||i}resizeGridLayout(e){var t;let{direction:l,resizeDistance:n,model:o}=e,i=this.getGridLayout(),r=(0,y.findModelUidLayoutPosition)(i,o.uid);if(!r)return null;let a=this.findLayoutRowByPath(i,r.path);if(!a)return null;let s=this.getResizeContainerWidth(r.path),d=a.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:u,newSizes:c,moveDistance:p}=e_({position:{rowId:a.id,columnIndex:r.cellIndex,itemIndex:r.itemIndex},direction:l,resizeDistance:n,prevMoveDistance:this.prevMoveDistance,oldRows:{[a.id]:d},oldSizes:{[a.id]:a.sizes||[]},gutter:(null==(t=this.context.themeToken)?void 0:t.marginBlock)??16,gridContainerWidth:s}),h=j().cloneDeep(i),m=this.findLayoutRowByPath(h,r.path);return m?(m.cells=this.buildResizedCells(a,u[a.id]||[]),m.sizes=c[a.id]||[],{layout:(0,y.normalizeGridLayout)({layout:h,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}),moveDistance:p}):null}onMount(){super.onMount(),this.emitter.on("onSubModelAdded",e=>{e.isNew&&(this.resetRows(!0),this.setGridStepLayout(this.props.layout))}),this.emitter.on("onSubModelDestroyed",e=>{var t,l;let n=e.uid;this.resetRows(!0),this.setGridStepLayout(this.props.layout),null==(t=this.context.filterManager)||t.removeFilterConfig({targetId:n}),null==(l=this.context.filterManager)||l.removeFilterConfig({filterId:n}),this.saveStepParams()}),this.emitter.on("onSubModelMoved",()=>{this.resetRows(!0)}),this.emitter.on("onResizeLeft",e=>{let{resizeDistance:t,model:l}=e,n=this.resizeGridLayout({direction:"left",resizeDistance:t,model:l});n&&(this.prevMoveDistance=n.moveDistance,this.syncLayoutProps(n.layout))}),this.emitter.on("onResizeRight",e=>{let{resizeDistance:t,model:l}=e,n=this.resizeGridLayout({direction:"right",resizeDistance:t,model:l});n&&(this.prevMoveDistance=n.moveDistance,this.syncLayoutProps(n.layout))}),this.emitter.on("onResizeBottom",e=>{let{resizeDistance:t,model:l}=e}),this.emitter.on("onResizeEnd",()=>{this.prevMoveDistance=0,this.saveGridLayout(this.props.layout)})}saveGridLayout(e){let t=e&&"version"in e?(0,y.normalizeGridLayout)({layout:e,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}):this.normalizeLayoutFromSource(e);this.setGridStepLayout(t),this.syncLayoutProps(t),this.saveStepParams()}mergeRowsWithItems(e){let t=this.subModels.items||[];if(!t||0===t.length)return{};let l=new Set(t.map(e=>e.uid));l.add(y.EMPTY_COLUMN_UID);let n=new Set,o={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>j().castArray(e).filter(e=>l.has(e))).filter(e=>e.length>0);e.length>0&&(o[t]=e,e.forEach(e=>e.forEach(e=>n.add(e))))}let i=new Set;for(let e of(Object.values(o).forEach(e=>e.forEach(e=>e.forEach(e=>i.add(e)))),t))i.has(e.uid)||(o[(0,ef.uid)()]=[[e.uid]]);return o}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(eP,ej)||{},l=this.normalizeLayoutFromSource(t);this.setGridStepLayout(l),e&&this.syncLayoutProps(l)}computePointerPosition(e){var t;if(!this.dragState)return null;if(this.dragState.pointerPosition)return this.dragState.pointerPosition;let l=this.dragState.pointerOrigin;if(l)return{x:l.x+e.delta.x,y:l.y+e.delta.y};let n=eI(e.activatorEvent);if(n)return this.dragState.pointerOrigin=n,{x:n.x+e.delta.x,y:n.y+e.delta.y};let o=null==(t=e.over)?void 0:t.rect;return o?{x:o.left+o.width/2,y:o.top+o.height/2}:null}getDragContainer(){if(!this.dragState)return this.gridContainerRef.current;let e=this.gridContainerRef.current;return e&&this.dragState.containerEl!==e&&(this.dragState.containerEl=e),this.dragState.containerEl||e}updateLayoutSnapshot(){if(!this.dragState)return;let e=(0,y.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=e.slots,this.dragState.containerRect=e.containerRect}scheduleSnapshotRefresh(){!this.dragState||this.dragState.refreshTimer||(this.dragState.refreshTimer=setTimeout(()=>{this.dragState&&(this.dragState.refreshTimer=null,this.updateLayoutSnapshot(),this.refreshPreviewFromPointer())},16))}refreshPreviewFromPointer(){if(!this.dragState)return;let e=this.dragState.pointerPosition||this.dragState.pointerOrigin;if(!e)return;let t=this.resolveDragSlot(e);this.applyPreview(t)}computeOverlayRect(e){var t,l,n,o;let i=this.dragOverlayConfig,r=e.rect;switch(e.type){case"column":{let l=null==i||null==(t=i.columnInsert)?void 0:t[e.position],n=(null==l?void 0:l.height)??r.height,o=(null==l?void 0:l.offsetTop)??0;return{top:r.top+o,left:r.left,width:r.width,height:n}}case"column-edge":{let t=null==i||null==(l=i.columnEdge)?void 0:l[e.direction],n=(null==t?void 0:t.width)??r.width,o=(null==t?void 0:t.offsetLeft)??0;return{top:r.top,left:r.left+o,width:n,height:r.height}}case"item-edge":{let t=null==i||null==(n=i.columnEdge)?void 0:n[e.direction],l=(null==t?void 0:t.width)??r.width,o=(null==t?void 0:t.offsetLeft)??0;return{top:r.top,left:r.left+o,width:l,height:r.height}}case"row-gap":{let t=null==i||null==(o=i.rowGap)?void 0:o[e.position],l=(null==t?void 0:t.height)??r.height,n=(null==t?void 0:t.offsetTop)??0;return{top:r.top+n,left:r.left,width:r.width,height:l}}default:return{top:r.top,left:r.left,width:r.width,height:r.height}}}getHitTestSlot(e){return{...e,rect:this.computeOverlayRect(e)}}resolveDragSlot(e){var t;return(null==(t=this.dragState)?void 0:t.slots.length)?(0,y.resolveDropIntent)(e,this.dragState.slots.map(e=>this.getHitTestSlot(e))):null}applyPreview(e){if(!this.dragState)return;if(!e){null!==this.dragState.activeSlotKey&&(this.dragState.activeSlotKey=null,this.dragState.previewLayout=void 0,this.setProps("dragOverlayRect",null));return}let t=(0,y.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,y.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:ef.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,ef.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,y.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:j().cloneDeep(l.rows),sizes:j().cloneDeep(l.sizes),rowOrder:j().cloneDeep(l.rowOrder),layout:j().cloneDeep(l.layout)};let n=this.computeOverlayRect(e),o={top:n.top-this.dragState.containerRect.top,left:n.left-this.dragState.containerRect.left,width:n.width,height:n.height,type:e.type};this.setProps("dragOverlayRect",o),this.dragState.activeSlotKey=t}handleDragStart(e){let t=e.active.id,l=this.normalizeLayoutFromSource(),n=(0,y.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:j().cloneDeep(n.rows),sizes:j().cloneDeep(n.sizes),rowOrder:j().cloneDeep(n.rowOrder),layout:j().cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:eI(e.activatorEvent)??void 0,activeSlotKey:null,previewLayout:void 0,refreshTimer:null,generatedIds:new Map},this.dragState.cleanupListeners=this.bindDragDocumentListeners(),this.setProps("dragOverlayRect",null),this.updateLayoutSnapshot(),this.scheduleSnapshotRefresh()}handleDragMove(e){if(!this.dragState)return;this.dragState.slots.length||this.updateLayoutSnapshot();let t=this.computePointerPosition(e);if(!t)return void this.applyPreview(null);let l=this.resolveDragSlot(t);this.applyPreview(l)}finishDrag(){var e,t;this.dragState&&(this.dragState.refreshTimer&&clearTimeout(this.dragState.refreshTimer),null==(e=(t=this.dragState).cleanupListeners)||e.call(t),this.dragState=void 0,this.setProps("dragOverlayRect",null))}handleDragEnd(e){if(!this.dragState)return;let t=this.computePointerPosition(e);if(t){let e=this.resolveDragSlot(t);this.applyPreview(e)}let l=this.dragState.previewLayout;l&&(l.layout?this.syncLayoutProps(j().cloneDeep(l.layout)):(this.setProps("rows",j().cloneDeep(l.rows)),this.setProps("sizes",j().cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",j().cloneDeep(l.rowOrder))),this.saveGridLayout(l)),this.finishDrag()}handleDragCancel(e){this.finishDrag()}renderAddSubModelButton(){throw Error("renderAddSubModelButton method must be implemented in subclasses of GridModel")}getVisibleLayout(){var e;let t=this.normalizeLayoutFromSource(),l=this.context.isMobileLayout?(0,y.normalizeGridLayout)({rows:eR((0,y.projectLayoutToLegacyRows)(t).rows),itemUids:this.getItemUids()}):t,n=(0,y.projectLayoutToLegacyRows)(l),{rows:o,rowOrder:i}=this.normalizeRowsWithOrder(n.rows,n.rowOrder),r=this.orderSizesByRowOrder(n.sizes,i);if(this.context.flowSettingsEnabled)return{layout:l,rows:o,sizes:r};let a=(null==(e=this.subModels)?void 0:e.items)||[];if(!a.length)return{layout:l,rows:n.rows,sizes:n.sizes};let s=new Map(a.map(e=>[e.uid,e])),d=e=>e.map(e=>{let t=[],l=[];return e.cells.forEach((n,o)=>{var i;let r=null==(i=e.sizes)?void 0:i[o],a=Number.isFinite(r)&&r>0?r:1;if(n.rows){let e=d(n.rows);e.length&&(t.push({...n,rows:e}),l.push(a));return}let u=(n.items||[]).filter(e=>{var t;return e!==y.EMPTY_COLUMN_UID&&(null==(t=s.get(e))?void 0:t.hidden)!==!0});u.some(e=>{let t=s.get(e);return!t||!t.hidden})&&(t.push({...n,items:u}),l.push(a))}),t.length?{...e,cells:t,sizes:l}:null}).filter(Boolean),u=(0,y.normalizeGridLayout)({layout:{version:2,rows:d(l.rows)}}),c=(0,y.projectLayoutToLegacyRows)(u);return{layout:u,rows:c.rows,sizes:c.sizes}}render(){let{layout:e,rows:t,sizes:l}=this.getVisibleLayout(),n=Object.keys(t||{}).length>0;return(0,A.jsxs)(A.Fragment,{children:[n&&(0,A.jsx)(eg.A,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap},size:this.props.rowGap,children:(0,A.jsx)(y.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,A.jsx)(eb,{rowGap:this.props.rowGap,colGap:this.props.colGap,layout:e,rows:t,sizes:l,dragOverlayRect:this.props.dragOverlayRect,renderItem:e=>{var t,l,n,o,i;let r=this.flowEngine.getModel(e);if(!r)return this.itemFallback;let a=this.context.fieldKey,s=this.context.fieldIndex,d=this.context.getPropertyOptions("item"),u=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"record"),c=null==(n=(o=this.context).getPropertyOptions)?void 0:n.call(o,"currentObject"),p=null==s?r:(()=>{let t=r.createFork({},`${a}:${e}`);t.context.defineProperty("fieldIndex",{get:()=>s}),t.context.defineProperty("fieldKey",{get:()=>a}),t.context.defineProperty("record",{get:()=>this.context.record,cache:!1,meta:null==u?void 0:u.meta,resolveOnServer:null==u?void 0:u.resolveOnServer,serverOnlyWhenContextParams:null==u?void 0:u.serverOnlyWhenContextParams}),t.context.defineProperty("currentObject",{get:()=>this.context.currentObject,cache:!1,resolveOnServer:null==c?void 0:c.resolveOnServer,serverOnlyWhenContextParams:null==c?void 0:c.serverOnlyWhenContextParams});let{value:l,...n}=d||{};return t.context.defineProperty("item",{...n,get:()=>this.context.item,cache:!1}),t})();return(0,A.jsx)(y.Droppable,{model:p,children:(0,A.jsx)(y.MemoFlowModelRenderer,{model:p,fallback:r.skeleton||this.itemFallback,showFlowSettings:!!this.context.flowSettingsEnabled&&this.getItemFlowSettings(),showErrorFallback:!0,settingsMenuLevel:(null==p?void 0:p.settingsMenuLevel)??this.itemSettingsMenuLevel,showTitle:!0,extraToolbarItems:this.itemExtraToolbarItems},`${p.uid}:${a}:${(null==p?void 0:p.use)||(null==p||null==(i=p.constructor)?void 0:i.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,A.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),(0,K._)(this,"subModelBaseClass","BlockModel"),(0,K._)(this,"gridContainerRef",k.createRef()),(0,K._)(this,"prevMoveDistance",0),(0,K._)(this,"itemSettingsMenuLevel",1),(0,K._)(this,"itemFlowSettings",{}),(0,K._)(this,"dragOverlayConfig",void 0),(0,K._)(this,"itemFallback",(0,A.jsx)(L,{})),(0,K._)(this,"itemExtraToolbarItems",[{key:"drag-handler",component:y.DragHandler,sort:1}]),(0,K._)(this,"dragState",void 0),(0,K._)(this,"_memoItemFlowSettings",void 0),(0,K._)(this,"updateDragPointerPosition",e=>{if(!this.dragState)return;let t=eI(e);t&&(this.dragState.pointerPosition=t)}),(0,K._)(this,"handleDragScroll",()=>{this.dragState&&this.scheduleSnapshotRefresh()})}}function eR(e,t){let l=(null==t?void 0:t.emptyColumnUid)??y.EMPTY_COLUMN_UID,n={};return Object.keys(e).forEach(t=>{e[t].forEach(e=>{let t=e.filter(e=>e!==l);t.length>0&&(n[(0,ef.uid)()]=[t])})}),n}function e_(e){var t,l;let{position:n,direction:o,resizeDistance:i,prevMoveDistance:r,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=j().cloneDeep(s),h=j().cloneDeep(a),m=Math.floor(i/(d-u*((h[n.rowId]||[]).length-1))*c);if(m===r)return{newRows:p,newSizes:h,moveDistance:m};(t=h)[l=n.rowId]??(t[l]=[c]);let f=h[n.rowId],g=m-r,v="left"===o&&n.columnIndex>0,y="right"===o&&n.columnIndex<f.length-1;if(!v&&!y&&g>0){let e=c-f.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:h,moveDistance:r};g>e&&(m=r+e,g=e)}if(h[n.rowId][n.columnIndex]+=g,"left"===o&&n.columnIndex>0&&(h[n.rowId][n.columnIndex-1]-=g,0===h[n.rowId][n.columnIndex-1]&&eD({rows:p,sizes:h,position:n,direction:"left"})),"left"===o&&0===n.columnIndex){let e=h[n.rowId].slice(1).reduce((e,t)=>e+t,0);h[n.rowId][0]<c-e&&eT({rows:p,sizes:h,position:n,direction:"left"})}if("right"===o&&n.columnIndex<h[n.rowId].length-1&&(h[n.rowId][n.columnIndex+1]-=g,0===h[n.rowId][n.columnIndex+1]&&eD({rows:p,sizes:h,position:n,direction:"right"})),"right"===o&&n.columnIndex===h[n.rowId].length-1){let e=h[n.rowId].slice(0,-1).reduce((e,t)=>e+t,0);h[n.rowId][n.columnIndex]<c-e&&eT({rows:p,sizes:h,position:n,direction:"right"})}return{newRows:p,newSizes:h,moveDistance:m}}function eT(e){let{rows:t,sizes:l,position:n,direction:o}=e,i=t[n.rowId]||[],r=l[n.rowId]||[];if("left"===o){let e=i[n.columnIndex-1];if(null==e?void 0:e.includes(y.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex,0,[y.EMPTY_COLUMN_UID]),r.splice(n.columnIndex,0,1)}if("right"===o){let e=i[n.columnIndex+1];if(null==e?void 0:e.includes(y.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex+1,0,[y.EMPTY_COLUMN_UID]),r.splice(n.columnIndex+1,0,1)}}function eD(e){let{rows:t,sizes:l,position:n,direction:o}=e,i=t[n.rowId]||[],r=l[n.rowId]||[];if("left"===o){let e=i[n.columnIndex-1];if(!(null==e?void 0:e.includes(y.EMPTY_COLUMN_UID)))return;i.splice(n.columnIndex-1,1),r.splice(n.columnIndex-1,1)}if("right"===o){let e=i[n.columnIndex+1];if(!(null==e?void 0:e.includes(y.EMPTY_COLUMN_UID)))return;i.splice(n.columnIndex+1,1),r.splice(n.columnIndex+1,1)}}eE.registerFlow({key:eP,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,y.tExpr)("Layout"),"x-decorator":"FormItem","x-component":eC,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,y.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,n=(0,y.normalizeGridLayout)({layout:t.layout,rows:t.rows,sizes:t.sizes,rowOrder:t.rowOrder,itemUids:l.getItemUids(),gridUid:l.uid,logger:console});l.setGridStepLayout(n),l.syncLayoutProps(n)}}}});let eN=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class eO extends eE{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new em(this,e.filterManager)})}get subModelBaseClasses(){var e;let t=(null==(e=this.context.view)?void 0:e.inputArgs)??{};return t.collectionName&&!t.filterByTk,["DataBlockModel","FilterBlockModel","BlockModel"]}get filterManager(){return this.context.filterManager}get addBlockItems(){var e,t;if((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)==="select")return async e=>{let t=await (0,y.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=eN.filter(t=>!!e.engine.getModelClass(t)),n=(await Promise.all(l.map(t=>(0,y.buildSubModelItems)(t)(e)))).flat().sort((e,t)=>(e.sort??1e3)-(t.sort??1e3));return n.length>0&&t.push({key:"select-scene-other-blocks",type:"group",label:e.t("Other blocks"),sort:1e3,children:n}),t}}serialize(){let e=super.serialize();return e.filterManager=this.filterManager.getFilterConfigs(),e}renderAddSubModelButton(){let e=this.addBlockItems;return(0,A.jsx)(y.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,A.jsx)(y.FlowSettingsButton,{icon:(0,A.jsx)(eo.A,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,A.jsx)("div",{className:"nb-block-grid",style:this.context.disableBlockGridPadding?null:{padding:this.context.isMobileLayout?8:this.context.themeToken.marginBlock,paddingBottom:0},children:super.render()})}constructor(...e){super(...e),(0,K._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}})}}eO.registerFlow({key:"blockGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",e.isMobileLayout?12:e.themeToken.marginBlock),e.model.setProps("colGap",e.themeToken.marginBlock)}}}});var e$=l(15892);class eB extends X{}eB.define({children:async e=>(await (0,y.buildSubModelItems)(X)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(J.collection))});var eL=l(52175);class eq extends y.FlowModel{}var eV=l(5679),ez=l(81486);class eK extends e$.z{}eK.define({hide:!0,label:"Filter blocks"});var eU=l(44279),eW=l(21637);async function eH(e){var t,l,n,o,i;(null==(l=e.inputArgs)||null==(t=l.dirty)?void 0:t.hasDirtyForms)&&(await e.modal.confirm({title:e.t("Unsaved changes"),content:e.t("Are you sure you don't want to save?"),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||(null==(i=e.inputArgs)||null==(o=i.controller)||null==(n=o.prevent)||n.call(o),e.exitAll()))}class eG extends y.FlowModel{getEnableTabs(){var e,t;let l=null==(t=this.context)||null==(e=t.currentRoute)?void 0:e.enableTabs;return null!=this.props.routeId&&"boolean"==typeof l?l:!!this.props.enableTabs}getActiveTabKey(){var e,t,l,n;let o=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return o?o.tabUid||(null==(n=this.getFirstTab())?void 0:n.uid):this.props.tabActiveKey||(null==(l=this.getFirstTab())?void 0:l.uid)}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{if(this.dirtyRefreshScheduled=!1,this.unmounted||!1===(0,y.getPageActive)(this.context))return;let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}).catch(()=>{}))}onMount(){var e,t,l,n,o,i,r,a,s;super.onMount(),this.unmounted=!1,this.setProps("tabActiveKey",null==(e=this.context.view.inputArgs)?void 0:e.tabUid),(null==(t=this.context)?void 0:t.pageInfo)&&(this.context.pageInfo.version="v2"),this.updateDocumentTitle(),this.viewActivatedListener||(this.viewActivatedListener=e=>{let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive")},null==(i=this.flowEngine)||null==(o=i.emitter)||null==(n=o.on)||n.call(o,y.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let d=(0,y.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),u=d>0&&d!==this.lastSeenEmitterViewActivatedVersion;if(this.lastSeenEmitterViewActivatedVersion=d,u&&!1!==(0,y.getPageActive)(this.context)){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onActive")}this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(s=this.flowEngine)||null==(a=s.emitter)||null==(r=a.on)||r.call(a,y.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,n,o,i;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,y.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(i=this.flowEngine)||null==(o=i.emitter)||null==(n=o.off)||n.call(o,y.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener),this.dataSourceDirtyListener=void 0),super.onUnmount()}invokeTabModelLifecycleMethod(e,t){var l,n;let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];"onActive"===t&&(null==(l=this.context)?void 0:l.pageInfo)&&(this.context.pageInfo.version="v2");let i=this.flowEngine.getModel(e);if(i){if(i.context.tabActive){let e=!1!==(0,y.getPageActive)(i.context);i.context.tabActive.value=e&&"onActive"===t}null==(n=i.subModels.grid)||n.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,o)})}"onActive"===t&&this.updateDocumentTitle(e)}async updateDocumentTitle(e){var t,l,n,o,i,r,a,s,d,u,c,p,h,m,f,g;let v=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,y.getPageActive)(this.context))return;let b=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),x=null==(i=this.context)||null==(o=i.view)||null==(n=o.inputArgs)?void 0:n.viewUid,w=null==(s=this.flowEngine)||null==(a=s.context)||null==(r=a.route)?void 0:r.pathname;if(b&&x&&"string"==typeof w){let e=null==(d=(0,y.parsePathnameToViewParams)(w).at(-1))?void 0:d.viewUid;if(e&&e!==x)return}let S=++this.documentTitleUpdateVersion,M=async e=>{if(!e||"string"!=typeof e)return"";try{var t,l;let n=await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e));return null==n?"":String(n)}catch(t){return e}},F="";if(this.getEnableTabs()){let t=e||this.getActiveTabKey(),l=t?this.flowEngine.getModel(t):this.getFirstTab();if(!l&&v<5)return void window.setTimeout(()=>{this.unmounted||S===this.documentTitleUpdateVersion&&this.updateDocumentTitle(t,v+1)},0);F=await M(null==l||null==(p=l.stepParams)||null==(c=p.pageTabSettings)||null==(u=c.tab)?void 0:u.documentTitle)||(null==l||null==(h=l.getTabTitle)?void 0:h.call(l))||""}else F=await M(null==(g=this.stepParams)||null==(f=g.pageSettings)||null==(m=f.general)?void 0:m.documentTitle)||this.props.title||"";S===this.documentTitleUpdateVersion&&"string"==typeof F&&""!==F&&(document.title=F)}mapTabs(){return this.mapSubModels("tabs",e=>!this.context.flowSettingsEnabled&&e.hidden?null:{key:e.uid,label:(0,A.jsx)(y.Droppable,{model:e,children:(0,A.jsx)(y.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:y.DragHandler,sort:1}]})}),children:e.renderChildren()}).filter(Boolean)}getFirstTab(){var e;return null==(e=this.subModels.tabs)?void 0:e[0]}renderFirstTab(){var e;let t=this.getFirstTab();return null==t||null==(e=t.renderChildren)?void 0:e.call(t)}async handleDragEnd(e){throw Error("Method not implemented.")}renderTabs(){var e,t,l,n;let o=(null==(e=this.context.themeToken)?void 0:e.paddingLG)??16,i=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,A.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:o,height:1}}),r=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,A.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:o},children:(0,A.jsx)(y.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,A.jsx)(y.FlowSettingsButton,{icon:(0,A.jsx)(eo.A,{}),children:this.context.t("Add tab")})})});return(0,A.jsx)(y.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:(0,A.jsx)(eW.A,{activeKey:(null==(l=this.context.view)||null==(t=l.navigation)?void 0:t.viewParams)?this.context.view.navigation.viewParams.tabUid||(null==(n=this.getFirstTab())?void 0:n.uid):this.props.tabActiveKey,tabBarStyle:this.props.tabBarStyle,items:this.mapTabs(),onChange:e=>{var t,l;null==(l=this.context.view.navigation)||null==(t=l.changeTo)||t.call(l,{tabUid:e}),this.invokeTabModelLifecycleMethod(e,"onActive"),this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive"),this.setProps("tabActiveKey",e)},tabBarExtraContent:{left:i,right:r}})})}render(){let e=this.context.themeToken,t={...this.props.headerStyle};e&&(t.paddingBlock=e.paddingSM,t.paddingInline=e.paddingLG);let l=this.getEnableTabs();return l&&(t.paddingBottom=0),(0,A.jsxs)(A.Fragment,{children:[this.props.displayTitle&&(0,A.jsx)(eU.z,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),(0,K._)(this,"tabBarExtraContent",{}),(0,K._)(this,"viewActivatedListener",void 0),(0,K._)(this,"dataSourceDirtyListener",void 0),(0,K._)(this,"lastSeenEmitterViewActivatedVersion",0),(0,K._)(this,"dirtyRefreshScheduled",!1),(0,K._)(this,"unmounted",!1),(0,K._)(this,"documentTitleUpdateVersion",0),(0,K._)(this,"createPageTabModelOptions",()=>{let e=(0,ef.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,ef.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}})}}eG.registerEvents({close:{title:(0,y.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,y.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":el.H}},handler:el.b}}),eG.registerFlow({key:"closeGuard",title:(0,y.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,y.tExpr)("Unsaved changes confirmation"),handler:eH}}}),eG.registerFlow({key:"pageSettings",title:(0,y.tExpr)("Page settings"),steps:{general:{title:(0,y.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,y.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,y.tExpr)("Document title"),description:(0,y.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":S.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,y.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,y.tExpr)("Enable tabs"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",e.t(t.title,{ns:"lm-desktop-routes"}));else{var l,n;let o=null==(n=e.model.context)||null==(l=n.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||o,{ns:"lm-desktop-routes"}))}e.model.setProps("enableTabs",t.enableTabs),"embed"===e.view.type?(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgContainer)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgContainer)",marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgLayout)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgLayout)",marginBottom:0})),e.model.updateDocumentTitle()}}}});var eY=l(68904);class eJ extends eG{renderBackButtonWhenTabsDisabled(){var e,t,l;if((null==(t=this.context)||null==(e=t.view)?void 0:e.type)!=="embed")return null;let n=null==(l=this.context)?void 0:l.themeToken,o={...this.props.tabBarStyle,paddingBlock:(null==n?void 0:n.paddingXS)??8};return(0,A.jsx)("div",{style:o,children:(0,A.jsx)(eX,{renderSpacerWhenNoBack:!1})})}async handleDragEnd(e){var t,l;if(!(null==(t=e.active)?void 0:t.id)||!(null==(l=e.over)?void 0:l.id))throw Error("Invalid drag event");this.flowEngine.moveModel(e.active.id,e.over.id)}render(){return(0,A.jsxs)(A.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,A.jsx)(eU.z,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,A.jsxs)(A.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),(0,K._)(this,"tabBarExtraContent",{left:(0,A.jsx)(eX,{})}),(0,K._)(this,"createPageTabModelOptions",()=>({use:"ChildPageTabModel"}))}}let eX=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,y.useFlowContext)(),n=l.themeToken,o=32,i=(null==n?void 0:n.paddingLG)??16,r=(0,k.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:n.paddingXS,marginLeft:n.paddingLG,marginRight:o-n.paddingXS}),[n.paddingLG,n.paddingXS]);return"embed"!==l.view.type?t?(0,A.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,A.jsx)(H.Ay,{"aria-label":"back-button",type:"text",icon:(0,A.jsx)(eY.A,{}),style:r,onClick:l.view.close})};class eQ extends y.FlowModel{}eQ.registerFlow({key:"pageSettings",title:(0,y.tExpr)("Page settings"),steps:{general:{title:(0,y.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,y.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,y.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",t.title?e.t(t.title):null);else{var l,n;let o=null==(n=e.model.context)||null==(l=n.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||o))}e.model.setProps("enableTabs",t.enableTabs),e.model.context.closable?(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgLayout,paddingInline:16,marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgContainer,paddingInline:16,marginBottom:0}))}}}});class eZ extends eQ{renderFirstTab(){var e;return(0,A.jsx)(y.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,A.jsxs)(A.Fragment,{children:[this.props.displayTitle&&(0,A.jsx)(eU.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function e0(e){let{ctx:t,options:l}=e,{data:n,loading:o}=(0,N.A)(async()=>{let e=await t.engine.loadOrCreateModel(l,{skipSave:!t.flowSettingsEnabled});return e.context.addDelegate(t),e},{refreshDeps:[t.model.uid]}),i=(null==t?void 0:t.isMobileLayout)?8:null==t?void 0:t.themeToken.marginBlock;return!o&&(null==n?void 0:n.uid)?(0,A.jsx)(y.FlowModelRenderer,{model:n,fallback:(0,A.jsx)(L,{style:{margin:i}})}):(0,A.jsx)(L,{style:{margin:i}})}function e1(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}class e2 extends y.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:y.observable.ref(!0),info:{description:"Whether current tab is active (observable.ref).",detail:"observable.ref<boolean>"}})}getTabTitle(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Untitled",n=this.context.t(l,{ns:"client"});return this.context.t(null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.title,{ns:"lm-desktop-routes"})||n}getTabIcon(){var e,t;return null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.icon}renderChildren(){return null}renderHiddenInConfig(){return(0,A.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,A.jsx)(b.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,A.jsxs)("span",{style:{display:"inline-block"},children:[(0,A.jsx)(b.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}e2.registerFlow({key:"pageTabSettings",title:(0,y.tExpr)("Tab settings"),steps:{tab:{title:(0,y.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,y.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,y.tExpr)("Document title"),description:(0,y.tExpr)("Used as the browser tab title when this tab is active. Supports variables. Leave empty to use Tab name."),"x-decorator":"FormItem","x-component":S.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,y.tExpr)("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}},async handler(e,t){var l;let n="function"==typeof(null==e?void 0:e.t)?e.t.bind(e):e=>e;e.model.setProps("title",n(t.title,{ns:"lm-desktop-routes"})),e.model.setProps("icon",t.icon);let o=e.engine.getModel(e.model.parentId);null==o||null==(l=o.updateDocumentTitle)||l.call(o)}}}});class e4 extends e2{renderChildren(){return(0,A.jsx)(e0,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){return this.save()}async save(){var e,t,l,n,o;let i=this.serialize(),r=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,a=await this.context.api.request({method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:{...this.props.route,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{flowRegistry:i.flowRegistry,documentTitle:r}}}),s=e1(null==a||null==(n=a.data)?void 0:n.data);s&&this.setProps("route",{...this.props.route,...s,options:{...null==(o=this.props.route)?void 0:o.options,...s.options}})}async destroy(){return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid),await this.context.api.request({method:"post",url:"desktopRoutes:destroy",params:{filter:{schemaUid:this.uid}},data:this.props.route}),!0}}class e5 extends e2{renderChildren(){return(0,A.jsx)(e0,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class e8 extends y.FlowModel{render(){return(0,A.jsx)(e0,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class e6 extends eG{syncPageSettingsEnableTabsFromRoute(){var e,t;let l=null==(t=this.context)||null==(e=t.currentRoute)?void 0:e.enableTabs;"boolean"==typeof l&&this.setStepParams("pageSettings","general",{enableTabs:l})}syncEnableTabsToCurrentPage(e){var t;let l=null==(t=this.context)?void 0:t.currentRoute,n=this.props.routeId;l&&(null==n||null==l.id||String(l.id)===String(n))&&(l.enableTabs=e),this.setProps("enableTabs",e)}async ensurePersistedRouteId(e){var t,l,n,o;let i=null==e||null==(l=e.props)||null==(t=l.route)?void 0:t.id;return null!=i?i:("function"==typeof(null==e?void 0:e.save)&&await e.save(),null==e||null==(o=e.props)||null==(n=o.route)?void 0:n.id)}onMount(){super.onMount(),(0,y.reaction)(()=>this.context.pageActive.value,()=>{var e,t;if(this.context.pageActive.value&&this.mounted){let t=null==(e=this.subModels.tabs)?void 0:e[0];t&&(this.setProps("tabActiveKey",t.uid),this.invokeTabModelLifecycleMethod(t.uid,"onActive",!0))}if(!1===this.context.pageActive.value)if(this.props.tabActiveKey)this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive");else{let e=null==(t=this.subModels.tabs)?void 0:t[0];e&&this.invokeTabModelLifecycleMethod(e.uid,"onInactive")}this.mounted=!0})}async openFlowSettings(e){return(null==e?void 0:e.flowKey)==="pageSettings"&&(null==e?void 0:e.stepKey)==="general"&&this.syncPageSettingsEnableTabsFromRoute(),super.openFlowSettings(e)}async saveStepParams(){if(await super.saveStepParams(),this.stepParams.pageSettings){var e,t;let l=!!this.stepParams.pageSettings.general.enableTabs;await this.context.api.request({url:`desktopRoutes:update?filter[id]=${this.props.routeId}`,method:"post",data:{enableTabs:l}}),this.syncEnableTabsToCurrentPage(l),await (null==(e=(t=this.context).refreshDesktopRoutes)?void 0:e.call(t))}}async handleDragEnd(e){var t,l;let n=this.flowEngine.getModel(null==(t=e.active)?void 0:t.id),o=this.flowEngine.getModel(null==(l=e.over)?void 0:l.id);if(!n||!o||n.uid===o.uid)return;let[i,r]=await Promise.all([this.ensurePersistedRouteId(n),this.ensurePersistedRouteId(o)]);null!=i&&null!=r&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:i,targetId:r,sortField:"sort"}}),this.flowEngine.moveModel(n.uid,o.uid,{persist:!1}))}constructor(...e){super(...e),(0,K._)(this,"mounted",!1)}}e6.registerFlow({key:"rootPageSettings",steps:{init:{async handler(e,t){if(e.model.hasSubModel("tabs"))return;let l=e.routeRepository.getRouteBySchemaUid(e.model.parentId);for(let t of(e.model.setProps("routeId",null==l?void 0:l.id),j().castArray(null==l?void 0:l.children).filter(Boolean).sort((e,t)=>(e.sort||0)-(t.sort||0)))){var n,o;if(t.hideInMenu)continue;let l=e.engine.createModel({parentId:e.model.uid,uid:t.schemaUid,subKey:"tabs",subType:"array",use:"RootPageTabModel",sortIndex:t.sort,props:{route:t},flowRegistry:null==(n=t.options)?void 0:n.flowRegistry,stepParams:{pageTabSettings:{tab:{title:t.title,icon:t.icon,documentTitle:null==(o=t.options)?void 0:o.documentTitle}}}});e.model.addSubModel("tabs",l)}}}}});class e3 extends eQ{renderFirstTab(){var e;return(0,A.jsx)(y.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,A.jsxs)(A.Fragment,{children:[this.props.displayTitle&&(0,A.jsx)(eU.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}var e9=l(76059);class e7 extends X{constructor(...e){super(...e),(0,K._)(this,"defaultProps",{title:(0,y.tExpr)("Popup"),icon:"ExportOutlined"})}}e7.define({label:(0,y.tExpr)("Popup")}),e7.registerFlow(e9.g);class te extends X{}te.define({children:async e=>(await (0,y.buildSubModelItems)(X)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(J.record))});var tt=l(23235);class tl extends e7{getAclActionName(){return"create"}constructor(...e){super(...e),(0,K._)(this,"defaultPopupTitle",(0,y.tExpr)("Add new")),(0,K._)(this,"defaultProps",{type:"primary",title:(0,y.tExpr)("Add new"),icon:"PlusOutlined"})}}(0,K._)(tl,"scene",J.collection),tl.define({label:(0,y.tExpr)("Add new"),sort:10});let tn=e=>{var t,l,n,o,i,r;let a=(null==e?void 0:e.blockModel)||(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel);return(null==a||null==(n=a.getResourceSettingsInitParams)?void 0:n.call(a))||(null==a||null==(o=a.getStepParams)?void 0:o.call(a,"resourceSettings","init"))||(null==e||null==(r=e.model)||null==(i=r.getStepParams)?void 0:i.call(r,"resourceSettings","init"))},to=e=>{var t;return!!(null==(t=tn(e))?void 0:t.associationName)},ti=e=>{var t,l,n,o;let i=tn(e),r=(null==e||null==(t=e.blockModel)?void 0:t.association)||(null==e||null==(o=e.model)||null==(n=o.context)||null==(l=n.blockModel)?void 0:l.association),a=null==r?void 0:r.targetCollection;return{dataSourceKey:(null==a?void 0:a.dataSourceKey)||(null==i?void 0:i.dataSourceKey),collectionName:(null==a?void 0:a.name)||(null==r?void 0:r.target)||(null==i?void 0:i.collectionName)}},tr=e=>{var t,l,n,o,i,r;let a=(null==e?void 0:e.blockModel)||(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel),s=null==a?void 0:a.association,d=tn(e);return{collectionField:s,sourceId:(null==a||null==(o=a.resource)||null==(n=o.getSourceId)?void 0:n.call(o))??(null==d?void 0:d.sourceId),associatedRecords:(null==a||null==(r=a.resource)||null==(i=r.getData)?void 0:i.call(r))||[]}},ta=async(e,t,l)=>{var n;return"function"==typeof(null==e?void 0:e[t])?await e[t]({values:l}):await (null==e||null==(n=e.runAction)?void 0:n.call(e,t,{data:l}))},ts=async e=>{var t,l,n,o,i,r,a,s,d,u,c,p;let h=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),m=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!to(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for disassociation"));return}if(!e.record){null==(p=e.message)||null==(c=p.error)||c.call(p,e.t("No record selected for disassociation"));return}let f=null==m||null==(n=m.getFilterByTK)?void 0:n.call(m,e.record);await ta(h,"remove",[f]),await (null==(o=h.refresh)?void 0:o.call(h)),null==(r=e.message)||null==(i=r.success)||i.call(r,e.t("Record disassociated successfully"))},td=async(e,t)=>{var l,n,o,i,r,a,s,d,u,c,p;let h=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),m=(null==e||null==(n=e.blockModel)?void 0:n.collection)||(null==e?void 0:e.collection);if(!to(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for association"));return}if(!(null==t?void 0:t.length)){null==(p=e.message)||null==(c=p.warning)||c.call(p,e.t("Please select at least one record"));return}let f=t.map(e=>{var t;return(null==m||null==(t=m.getFilterByTK)?void 0:t.call(m,e))??e}).filter(e=>null!=e);await ta(h,"add",f),await (null==(o=h.refresh)?void 0:o.call(h)),null==(r=e.message)||null==(i=r.success)||i.call(r,e.t("Record associated successfully"))};function tu(e){let{options:t}=e,l=(0,y.useFlowViewContext)(),{data:n,loading:o}=(0,N.A)(async()=>await l.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:l,skipSave:!l.flowSettingsEnabled}),{refreshDeps:[l,t]});return!o&&(null==n?void 0:n.uid)?(0,A.jsx)(y.FlowModelRenderer,{model:n,fallback:(0,A.jsx)(L,{style:{margin:16}})}):(0,A.jsx)(L,{style:{margin:16}})}function tc(e){let{model:t}=e,l=(0,y.useFlowViewContext)(),{Header:n,Footer:o,type:i}=l.view;return(0,A.jsxs)("div",{children:[(0,A.jsx)(n,{title:"dialog"===i?(0,A.jsx)("div",{style:{padding:`${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px 0`,marginBottom:-l.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:l.t("Select record")}):l.t("Select record")}),(0,A.jsx)(tu,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,A.jsx)(o,{children:"dialog"===i?(0,A.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,A.jsx)(H.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,A.jsx)(H.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class tp extends X{getAclActionName(){return"update"}async associateSelectedRows(){await td(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),(0,K._)(this,"defaultPopupTitle",(0,y.tExpr)("Select record")),(0,K._)(this,"selectedRows",[]),(0,K._)(this,"defaultProps",{title:(0,y.tExpr)("Associate"),icon:"LinkOutlined"})}}(0,K._)(tp,"scene",J.collection),(0,K._)(tp,"capabilityActionName","update"),tp.define({label:(0,y.tExpr)("Associate"),sort:15,hide:e=>!to(e)}),tp.registerFlow({key:"associateSettings",title:(0,y.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,n,o;let i=ti(e),r=(null==(l=e.inputArgs)?void 0:l.isMobileLayout)?"embed":(null==(n=e.inputArgs)?void 0:n.mode)||(null==t?void 0:t.mode)||"drawer",a=(null==(o=e.inputArgs)?void 0:o.size)||(null==t?void 0:t.size)||"medium",s={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}};e.model.selectedRows=[],await e.viewer.open({type:r,width:s[r][a],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:i.dataSourceKey,collectionName:i.collectionName,...tr(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,A.jsx)(tc,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===r?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});class th extends X{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,K._)(this,"defaultProps",{title:(0,y.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,K._)(th,"scene",J.collection),(0,K._)(th,"capabilityActionName","destroyMany"),th.define({label:(0,y.tExpr)("Delete")}),th.registerFlow({key:"deleteSettings",title:(0,y.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,y.tExpr)("Delete record"),content:(0,y.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return void e.message.error(e.t("No resource selected for deletion"));let n=e.blockModel.resource;0===n.getSelectedRows().length?e.message.warning(e.t("Please select at least one record to delete")):(await n.destroy(e.blockModel.collection.getFilterByTK(n.getSelectedRows())),e.message.success(e.t("Selected records deleted successfully")))}}}});class tm extends X{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,K._)(this,"defaultProps",{type:"link",title:(0,y.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,K._)(tm,"scene",J.record),tm.define({label:(0,y.tExpr)("Delete"),sort:60}),tm.registerFlow({key:"deleteSettings",title:(0,y.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,y.tExpr)("Delete record"),content:(0,y.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){e.resource?e.record?(await e.resource.destroy(e.blockModel.collection.getFilterByTK(e.record)),e.message.success(e.t("Record deleted successfully"))):e.message.error(e.t("No resource or record selected for deletion")):e.message.error(e.t("No resource selected for deletion"))}}}});class tf extends X{getAclActionName(){return"update"}constructor(...e){super(...e),(0,K._)(this,"defaultProps",{type:"link",title:(0,y.tExpr)("Disassociate"),icon:"DisconnectOutlined"})}}(0,K._)(tf,"scene",J.record),(0,K._)(tf,"capabilityActionName","update"),tf.define({label:(0,y.tExpr)("Disassociate"),sort:65,hide:e=>!to(e)}),tf.registerFlow({key:"disassociateSettings",title:(0,y.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,y.tExpr)("Disassociate record"),content:(0,y.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await ts(e)}}}});class tg extends e7{getAclActionName(){return"update"}constructor(...e){super(...e),(0,K._)(this,"defaultPopupTitle",(0,y.tExpr)("Edit")),(0,K._)(this,"defaultProps",{title:(0,y.tExpr)("Edit"),icon:"EditOutlined"})}}(0,K._)(tg,"scene",J.record),tg.define({label:(0,y.tExpr)("Edit"),sort:20});var tv=l(28073),ty=l(94384),tb=l(68669);class tx extends X{getIgnoreFieldNames(){var e;if(this.map.has(this.props.filterableFieldNames))return this.map.get(this.props.filterableFieldNames);let t=(null==(e=this.context.blockModel.collection)?void 0:e.getFields())||[],l=tS(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(y.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,A.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,A.jsx)(tb.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,A.jsx)(C.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),(0,A.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,A.jsx)(tv.A,{open:this.props.open,content:(0,A.jsx)(tb.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,A.jsx)(C.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),trigger:"click",placement:"bottomLeft",onOpenChange:e=>{!1===e&&this.setProps("open",void 0)},children:super.render()})}constructor(...e){super(...e),(0,K._)(this,"map",new WeakMap),(0,K._)(this,"defaultProps",{type:"default",title:(0,y.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}})}}function tw(e){for(var t,l=arguments.length,n=Array(l>1?l-1:0),o=1;o<l;o++)n[o-1]=arguments[o];return((null==e||null==(t=e.getFields)?void 0:t.call(e))||[]).filter(e=>{if(!(null==e?void 0:e.interface)||(null==e?void 0:e.filterable)===!1)return!1;let t=(0,b.w6)(e.interface,...n);return!!(null==t?void 0:t.filterable)})}function tS(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}(0,K._)(tx,"scene","collection"),tx.define({label:(0,y.tExpr)("Filter"),toggleable:!0,sort:5}),tx.registerFlow({key:"filterSettings",title:(0,y.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,y.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,y.useFlowSettingsContext)(),n=tw(l.context.blockModel.collection,l.context.dataSourceManager,null==(t=l.context.app)?void 0:t.dataSourceManager).map(e=>({key:e.name,title:e.title}));return(0,A.jsx)(ty.A,{...e,dataSource:n,targetKeys:e.value||[],onChange:t=>{var l;return null==(l=e.onChange)?void 0:l.call(e,t)},render:e=>e.title})},"x-component-props":{showSearch:!0,listStyle:{width:280,height:360}}}},defaultParams(e){var t,l,n,o,i;return{filterableFieldNames:tw(e.blockModel.collection,null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager,null==(i=e.model)||null==(o=i.context)||null==(n=o.app)?void 0:n.dataSourceManager).map(e=>e.name)||[]}},handler(e,t){e.model.setProps("filterableFieldNames",t.filterableFieldNames)}},defaultFilter:{title:(0,y.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,y.useFlowSettingsContext)();return(0,A.jsx)(C.I8,{value:e.value||{},FilterItem:e=>(0,A.jsx)(C.Et,{...e,model:t})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",j().cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",j().cloneDeep(t.defaultFilter))}}}}),tx.registerFlow({key:"submitSettings",on:"submit",steps:{submit:{handler(e,t){let l=e.blockModel,n=null==l?void 0:l.resource;if(!l||!n)return;let o=(0,w.transformFilter)(e.model.props.filterValue),i=!(0,w.isEmptyFilter)(o);l.setFilterActive(e.model.uid,i),i?(n.addFilterGroup(e.model.uid,o),n.setPage(1)):n.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||i||l.hasActiveFilters()?n.refresh():(n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1),e.model.setProps("open",!1)}}}}),tx.registerFlow({key:"resetSettings",title:(0,y.tExpr)("Reset"),on:"reset",steps:{reset:{handler(e,t){let l=e.blockModel,n=null==l?void 0:l.resource;if(!l||!n)return;n.removeFilterGroup(e.model.uid),l.setFilterActive(e.model.uid,!1);let o=l.getDataLoadingMode(),i=e.model.props.defaultFilterValue,r=!(0,w.isEmptyFilter)((0,w.transformFilter)(i));"manual"!==o||r||l.hasActiveFilters()?(r&&(n.addFilterGroup(e.model.uid,(0,w.transformFilter)(i)),l.setFilterActive(e.model.uid,!0),n.setPage(1)),n.refresh()):(n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1),e.model.setProps("open",!1),e.model.setProps("filterValue",j().cloneDeep(i))}}}}),tx.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var tM=l(95266);function tF(e,t){var l;let n=(null==(l=e.inputArgs)?void 0:l.preview)||{},o=(null==n?void 0:n.version)??(null==t?void 0:t.version)??"v1";return{code:("string"==typeof(null==n?void 0:n.code)?n.code:void 0)??(null==t?void 0:t.code)??"",version:o}}class tA extends X{constructor(...e){super(...e),(0,K._)(this,"defaultProps",{type:"default",title:(0,y.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}tA.define({label:(0,y.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),tA.registerFlow({key:"clickSettings",on:"click",title:(0,y.tExpr)("Click settings"),steps:{runJs:{title:(0,y.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":tM.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
266
266
  ctx.message.info('Hello JS action.');
267
267
  `}),async handler(e,t){let{code:l,version:n}=tF(e,t),o=(0,y.createSafeNavigator)();await e.runjs(l,{window:(0,y.createSafeWindow)({navigator:o}),document:(0,y.createSafeDocument)(),navigator:o},{version:n})}}}});class tk extends X{constructor(...e){super(...e),(0,K._)(this,"defaultProps",{title:(0,y.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}(0,K._)(tk,"scene",J.collection),tk.define({label:(0,y.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSCollectionActionModel"}}),tk.registerFlow({key:"clickSettings",on:"click",title:(0,y.tExpr)("Click settings"),steps:{runJs:{title:(0,y.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":tM.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
268
268
  const rows = ctx.resource?.getSelectedRows?.() || [];
@@ -692,7 +692,7 @@ function JsEditableField() {
692
692
 
693
693
  // Mount to the field container
694
694
  ctx.render(<JsEditableField />);
695
- `;function s0(e){var t,l,n,o;return(null==e||null==(t=e.props)?void 0:t.pattern)??(null==e||null==(l=e.context)?void 0:l.pattern)??(null==e||null==(o=e.parent)||null==(n=o.props)?void 0:n.pattern)}function s1(e){var t;return!!(null==e||null==(t=e.props)?void 0:t.readOnly)||"readPretty"===s0(e)}function s2(e){let t=e??sZ;return"string"==typeof t?t.trim():""}let s4=e=>{var t,l;let{model:n,value:o,onChange:i,disabled:r,readOnly:a}=e,s=(0,k.useRef)(null),d=null==(t=n.context)?void 0:t.ref,u=e=>{s.current=e,d&&"object"==typeof d&&(d.current=e)},c=null==(l=n.getStepParams("jsSettings","runJs"))?void 0:l.code,p=(0,k.useMemo)(()=>s2(c),[c]);return((0,k.useEffect)(()=>{s.current&&p&&n.scheduleApplyJsSettings()},[n,p]),(0,k.useEffect)(()=>{if(!s.current||!p)return;let e=new CustomEvent("js-field:value-change",{detail:o});s.current.dispatchEvent(e)},[o,p]),a&&!p)?(0,A.jsx)("span",{children:String(o??"")}):p?(0,A.jsx)("span",{ref:u,style:{display:"inline-block",width:"100%"}}):(0,A.jsx)(eF.A,{value:o,onChange:e=>null==i?void 0:i(e.target.value),disabled:r,style:{width:"100%"}})};class s5 extends ez.o{scheduleApplyJsSettings(){var e;!s2(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code)||this._pendingJsSettingsApply||(this._pendingJsSettingsApply=!0,queueMicrotask(()=>{var e,t,l;this._pendingJsSettingsApply=!1;let n=s2(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code),o=null==(t=this.context.ref)?void 0:t.current;if(!n||!o)return;let i={code:n,disabled:!!(null==(l=this.props)?void 0:l.disabled),readOnly:s1(this),element:o},r=this._lastAppliedJsSettings;r&&r.code===i.code&&r.disabled===i.disabled&&r.readOnly===i.readOnly&&r.element===i.element||(this._lastAppliedJsSettings=i,this.applyFlow("jsSettings"))}))}useHooksBeforeRender(){var e,t;let l=s2(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code),n=null==(t=this.props)?void 0:t.disabled;(0,k.useEffect)(()=>{l&&this.scheduleApplyJsSettings()},[l,n])}render(){var e,t,l;let n=s1(this);return(0,A.jsx)(s4,{model:this,value:null==(e=this.props)?void 0:e.value,onChange:null==(t=this.props)?void 0:t.onChange,disabled:null==(l=this.props)?void 0:l.disabled,readOnly:n})}onMount(){if(this._mountedOnce){var e;(null==(e=this.context.ref)?void 0:e.current)&&this.rerender()}this._mountedOnce=!0}constructor(...e){super(...e),(0,K._)(this,"_mountedOnce",!1),(0,K._)(this,"_pendingJsSettingsApply",!1),(0,K._)(this,"_lastAppliedJsSettings",void 0)}}let s8={label:(0,y.tExpr)("JS field"),preserveOnPatternChange:!0};s5.define(s8),s5.registerFlow({key:"jsSettings",title:(0,y.tExpr)("JavaScript settings"),manual:!0,steps:{runJs:{title:(0,y.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":tM.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams(e){var t;return null==(t=e.collectionField)||t.title,{version:"v2",code:sZ}},async handler(e,t){let{code:l,version:n}=tF(e,t);(null==l?void 0:l.trim())&&e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>{var l;return new y.ElementProxy((null==(l=e.ref)?void 0:l.current)||t)},cache:!1}),e.defineMethod("getValue",()=>{var t,l,n,o,i;let r=null==(t=e.model.props)?void 0:t.name;if(null!=r){let t=null==(o=e.form)||null==(n=o.getFieldValue)?void 0:n.call(o,r);return void 0!==t?t:null==(i=e.model.props)?void 0:i.value}return null==(l=e.model.props)?void 0:l.value}),e.defineMethod("setValue",t=>{try{var l,n,o;e.model.setProps("value",t);let i=null==(l=e.model.props)?void 0:l.name;null!=i&&(null==(o=e.form)||null==(n=o.setFieldValue)||n.call(o,i,t))}catch(e){}}),e.defineProperty("namePath",{get:()=>{var t;return null==(t=e.model.props)?void 0:t.name},cache:!1}),e.defineProperty("disabled",{get:()=>{var t;return!!(null==(t=e.model.props)?void 0:t.disabled)},cache:!1}),e.defineProperty("readOnly",{get:()=>s1(e.model),cache:!1});let o=(0,y.createSafeNavigator)();await e.runjs(l,{window:(0,y.createSafeWindow)({navigator:o}),document:(0,y.createSafeDocument)(),navigator:o},{version:n})})}}}});let s6=(e,t)=>e||t,s3=e=>{let{token:t}=i_.A.useToken(),{color:l,borderColor:n,label:o,orientation:i,dashed:r}=e;return(0,A.jsx)(lD.A,{type:"horizontal",style:{color:s6(l,t.colorText),borderColor:s6(n,t.colorSplit)},orientationMargin:"0",orientation:i,dashed:r,children:o})};class s9 extends eq{render(){return(0,A.jsx)(y.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,A.jsx)(s3,{...this.props})})}}s9.registerFlow({key:"markdownItemSetting",title:'{{t("Divider settings")}}',steps:{title:{title:'{{t("Edit divider")}}',defaultParams:e=>{var t,l;return{label:'{{t("Text")}}',orientation:"left",color:null==(t=e.themeToken)?void 0:t.colorText,borderColor:null==(l=e.themeToken)?void 0:l.colorSplit}},uiSchema:e=>({label:{title:'{{t("Divider label")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:!0}},orientation:{"x-component":"Radio.Group","x-decorator":"FormItem",title:'{{t("Label position")}}',enum:[{label:e.t("Left"),value:"left"},{label:e.t("Center"),value:"center"},{label:e.t("Right"),value:"right"}]},dashed:{title:'{{t("Dashed")}}',"x-component":"Switch","x-decorator":"FormItem"},color:{title:'{{t("Color")}}',"x-component":a1,"x-decorator":"FormItem"},borderColor:{title:'{{t("Divider line color")}}',"x-component":a1,"x-decorator":"FormItem"}}),handler(e,t){let l=t.label;l&&l!==e.t("Text")&&(l=e.t(l,{ns:"lm-flow-engine"})),e.model.setProps({...t,label:l})}}}}),s9.define({label:'{{t("Divider")}}'});let s7=e=>{let{style:t}=e,{t:l}=(0,G.B)(),n=(0,y.useFlowContext)();return(0,k.useEffect)(()=>{let e=n.getStepFormValues("markdownBlockSettings","editMarkdown");n.model._previousStepParams=j().cloneDeep(e)},[]),(0,A.jsx)(H.Ay,{color:"primary",variant:"outlined",style:t,onClick:()=>{let e=n.getStepFormValues("markdownBlockSettings","editMarkdown");n.model.setStepParams("markdownBlockSettings","editMarkdown",e)},children:l("Preview")})},de=e=>{let{style:t}=e,{t:l}=(0,G.B)(),n=(0,y.useFlowContext)();return(0,A.jsx)(H.Ay,{type:"default",style:t,onClick:()=>{n.model._previousStepParams&&(n.model.setStepParams("markdownBlockSettings","editMarkdown",n.model._previousStepParams),n.model._previousStepParams=null),n.view.close()},children:l("Cancel")})},dt=(0,y.defineFlow)({key:"markdownBlockSettings",title:(0,y.tExpr)("Markdown block settings",{ns:"block-markdown"}),steps:{editMarkdown:{title:(0,y.tExpr)("Edit markdown"),uiSchema(e){let t=e.t;return{content:{type:"string","x-decorator":"FormItem","x-component":t=>e.markdown.edit({...t,value:t.value||e.model.props.value,mode:"sv",height:"82vh",style:{padding:10}}),description:(0,A.jsxs)(eg.A,{children:[(0,A.jsxs)("span",{style:{marginLeft:"10px"},className:"ant-formily-item-extra",children:[t("References"),":"]}),(0,A.jsx)("a",{href:"https://v2.docs.nocobase.com/interface-builder/blocks/other-blocks/markdown",target:"_blank",rel:"noreferrer",children:"Markdown"})]})}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}},footer:(e,t)=>{let{OkBtn:l}=t;return(0,A.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center"},children:[(0,A.jsx)(de,{style:{marginRight:6}}),(0,A.jsx)(s7,{style:{marginRight:6}}),(0,A.jsx)(l,{})]})}}},useRawParams:!0,defaultParams:e=>({content:e.t('{{t("This is a demo text, **supports Markdown syntax**.")}}')}),async handler(e,t){let l=t.content;try{let t=await e.liquid.renderWithFullContext(l,e),n=e.markdown.render(t,{textOnly:!1});e.model.setProps({content:n,value:l})}catch(t){e.model.setProps({content:(0,A.jsx)("pre",{children:`渲染失败: ${t}`}),value:l})}}}}}),dl=e=>{let{ctx:t,raw:l,record:n}=e,[o,i]=k.useState(null);return k.useEffect(()=>{let e=!1;return(async()=>{try{let n=await t.liquid.renderWithFullContext(l,t),o=await t.markdown.render(n,{textOnly:!1});e||i(o)}catch(t){e||i(`<pre>渲染失败: ${t}</pre>`)}})(),()=>{e=!0}},[l,n]),o};class dn extends eq{render(){let e=this.context.record,t=this.props.value;return(0,A.jsx)(y.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,A.jsx)(dl,{ctx:this.context,raw:t,record:e})})}constructor(...e){super(...e),(0,K._)(this,"_previousStepParams",void 0)}}dn.registerFlow(dt),dn.define({label:'{{t("Markdown")}}'});class di extends eq{getInputArgs(){let e={};if(this.context.resource){let t=this.context.resource.getSourceId();t&&(e.sourceId=t)}if(this.context.collection&&this.context.record){let t=this.context.collection.getFilterByTK(this.context.record);t&&(e.filterByTk=t)}return e}render(){return(0,A.jsx)(y.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,A.jsx)("div",{ref:this.context.ref})})}onMount(){let e=this.context.resource;if(e){let t=()=>{this.applyFlow("jsSettings")};e.on("refresh",t),this._offResourceRefresh=()=>{e.off("refresh",t)}}if(this._mountedOnce){var t;(null==(t=this.context.ref)?void 0:t.current)&&this.rerender()}this._mountedOnce=!0}onUnmount(){var e,t;null==(e=(t=this)._offResourceRefresh)||e.call(t),this._offResourceRefresh=void 0}constructor(...e){super(...e),(0,K._)(this,"_offResourceRefresh",void 0),(0,K._)(this,"_mountedOnce",!1)}}di.define({label:(0,y.tExpr)("JS item"),createModelOptions:{use:"JSItemModel"},sort:120}),di.registerFlow({key:"jsSettings",title:(0,y.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,y.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":tM.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
695
+ `;function s0(e){var t,l,n,o;return(null==e||null==(t=e.props)?void 0:t.pattern)??(null==e||null==(l=e.context)?void 0:l.pattern)??(null==e||null==(o=e.parent)||null==(n=o.props)?void 0:n.pattern)}function s1(e){var t;return!!(null==e||null==(t=e.props)?void 0:t.readOnly)||"readPretty"===s0(e)}function s2(e){let t=e??sZ;return"string"==typeof t?t.trim():""}function s4(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e||"number"==typeof e):"number"==typeof e?[e]:"string"==typeof e?e.split(".").map(e=>e.trim()).filter(Boolean):null}function s5(e,t){return t.length<=e.length&&t.every((t,l)=>String(e[l])===String(t))}function s8(e){var t,l,n;let o=(null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"))||(null==e||null==(n=e.parent)||null==(l=n.getStepParams)?void 0:l.call(n,"fieldSettings","init")),i=s4(null==o?void 0:o.fieldPath),r=s4(null==o?void 0:o.associationPathName);return(null==i?void 0:i.length)?!(null==r?void 0:r.length)||s5(i,r)?i:[...r,...i]:null}function s6(e,t){if(!(null==e?void 0:e.length))return null;if(e.some(e=>"number"==typeof e)||!Array.isArray(t)||0===t.length)return e;let l=new Map;for(let e of t){if("string"!=typeof e)continue;let[t,n]=e.split(":"),o=Number(n);if(!t||!Number.isFinite(o))continue;let i=l.get(t)||[];i.push(o),l.set(t,i)}if(!l.size)return e;let n=[];for(let t of e){n.push(t);let e=l.get(String(t));(null==e?void 0:e.length)&&n.push(e.shift())}return n}function s3(e){var t,l;return s6(s8(e.model)||s4(e.fieldPathArray)||s4(null==(l=e.model)||null==(t=l.props)?void 0:t.name),e.fieldIndex)}function s9(e,t,l){if("function"==typeof(null==e?void 0:e.setFieldValue))return void e.setFieldValue(t,l);if("function"==typeof(null==e?void 0:e.setFieldsValue)){let n={},o=n;t.forEach((e,n)=>{if(n===t.length-1){o[e]=l;return}o[e]="number"==typeof t[n+1]?[]:{},o=o[e]}),e.setFieldsValue(n)}}let s7=e=>{var t,l;let{model:n,value:o,onChange:i,disabled:r,readOnly:a}=e,s=(0,k.useRef)(null),d=null==(t=n.context)?void 0:t.ref,u=e=>{s.current=e,d&&"object"==typeof d&&(d.current=e)},c=null==(l=n.getStepParams("jsSettings","runJs"))?void 0:l.code,p=(0,k.useMemo)(()=>s2(c),[c]);return((0,k.useEffect)(()=>{s.current&&p&&n.scheduleApplyJsSettings()},[n,p]),(0,k.useEffect)(()=>{if(!s.current||!p)return;let e=new CustomEvent("js-field:value-change",{detail:o});s.current.dispatchEvent(e)},[o,p]),a&&!p)?(0,A.jsx)("span",{children:String(o??"")}):p?(0,A.jsx)("span",{ref:u,style:{display:"inline-block",width:"100%"}}):(0,A.jsx)(eF.A,{value:o,onChange:e=>null==i?void 0:i(e.target.value),disabled:r,style:{width:"100%"}})};class de extends ez.o{scheduleApplyJsSettings(){var e;!s2(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code)||this._pendingJsSettingsApply||(this._pendingJsSettingsApply=!0,queueMicrotask(()=>{var e,t,l;this._pendingJsSettingsApply=!1;let n=s2(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code),o=null==(t=this.context.ref)?void 0:t.current;if(!n||!o)return;let i={code:n,disabled:!!(null==(l=this.props)?void 0:l.disabled),readOnly:s1(this),element:o},r=this._lastAppliedJsSettings;r&&r.code===i.code&&r.disabled===i.disabled&&r.readOnly===i.readOnly&&r.element===i.element||(this._lastAppliedJsSettings=i,this.applyFlow("jsSettings"))}))}useHooksBeforeRender(){var e,t;let l=s2(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code),n=null==(t=this.props)?void 0:t.disabled;(0,k.useEffect)(()=>{l&&this.scheduleApplyJsSettings()},[l,n])}render(){var e,t,l;let n=s1(this);return(0,A.jsx)(s7,{model:this,value:null==(e=this.props)?void 0:e.value,onChange:null==(t=this.props)?void 0:t.onChange,disabled:null==(l=this.props)?void 0:l.disabled,readOnly:n})}onMount(){if(this._mountedOnce){var e;(null==(e=this.context.ref)?void 0:e.current)&&this.rerender()}this._mountedOnce=!0}constructor(...e){super(...e),(0,K._)(this,"_mountedOnce",!1),(0,K._)(this,"_pendingJsSettingsApply",!1),(0,K._)(this,"_lastAppliedJsSettings",void 0)}}let dt={label:(0,y.tExpr)("JS field"),preserveOnPatternChange:!0};de.define(dt),de.registerFlow({key:"jsSettings",title:(0,y.tExpr)("JavaScript settings"),manual:!0,steps:{runJs:{title:(0,y.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":tM.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams(e){var t;return null==(t=e.collectionField)||t.title,{version:"v2",code:sZ}},async handler(e,t){let{code:l,version:n}=tF(e,t);(null==l?void 0:l.trim())&&e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>{var l;return new y.ElementProxy((null==(l=e.ref)?void 0:l.current)||t)},cache:!1}),e.defineMethod("getValue",()=>{var t,l,n,o;let i=s3(e);if(null==i?void 0:i.length){let t=null==(n=e.form)||null==(l=n.getFieldValue)?void 0:l.call(n,i);return void 0!==t?t:null==(o=e.model.props)?void 0:o.value}return null==(t=e.model.props)?void 0:t.value}),e.defineMethod("setValue",t=>{try{e.model.setProps("value",t);let l=s3(e);(null==l?void 0:l.length)&&s9(e.form,l,t)}catch(e){}}),e.defineProperty("namePath",{get:()=>s3(e),cache:!1}),e.defineProperty("disabled",{get:()=>{var t;return!!(null==(t=e.model.props)?void 0:t.disabled)},cache:!1}),e.defineProperty("readOnly",{get:()=>s1(e.model),cache:!1});let o=(0,y.createSafeNavigator)();await e.runjs(l,{window:(0,y.createSafeWindow)({navigator:o}),document:(0,y.createSafeDocument)(),navigator:o},{version:n})})}}}});let dl=(e,t)=>e||t,dn=e=>{let{token:t}=i_.A.useToken(),{color:l,borderColor:n,label:o,orientation:i,dashed:r}=e;return(0,A.jsx)(lD.A,{type:"horizontal",style:{color:dl(l,t.colorText),borderColor:dl(n,t.colorSplit)},orientationMargin:"0",orientation:i,dashed:r,children:o})};class di extends eq{render(){return(0,A.jsx)(y.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,A.jsx)(dn,{...this.props})})}}di.registerFlow({key:"markdownItemSetting",title:'{{t("Divider settings")}}',steps:{title:{title:'{{t("Edit divider")}}',defaultParams:e=>{var t,l;return{label:'{{t("Text")}}',orientation:"left",color:null==(t=e.themeToken)?void 0:t.colorText,borderColor:null==(l=e.themeToken)?void 0:l.colorSplit}},uiSchema:e=>({label:{title:'{{t("Divider label")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:!0}},orientation:{"x-component":"Radio.Group","x-decorator":"FormItem",title:'{{t("Label position")}}',enum:[{label:e.t("Left"),value:"left"},{label:e.t("Center"),value:"center"},{label:e.t("Right"),value:"right"}]},dashed:{title:'{{t("Dashed")}}',"x-component":"Switch","x-decorator":"FormItem"},color:{title:'{{t("Color")}}',"x-component":a1,"x-decorator":"FormItem"},borderColor:{title:'{{t("Divider line color")}}',"x-component":a1,"x-decorator":"FormItem"}}),handler(e,t){let l=t.label;l&&l!==e.t("Text")&&(l=e.t(l,{ns:"lm-flow-engine"})),e.model.setProps({...t,label:l})}}}}),di.define({label:'{{t("Divider")}}'});let dr=e=>{let{style:t}=e,{t:l}=(0,G.B)(),n=(0,y.useFlowContext)();return(0,k.useEffect)(()=>{let e=n.getStepFormValues("markdownBlockSettings","editMarkdown");n.model._previousStepParams=j().cloneDeep(e)},[]),(0,A.jsx)(H.Ay,{color:"primary",variant:"outlined",style:t,onClick:()=>{let e=n.getStepFormValues("markdownBlockSettings","editMarkdown");n.model.setStepParams("markdownBlockSettings","editMarkdown",e)},children:l("Preview")})},da=e=>{let{style:t}=e,{t:l}=(0,G.B)(),n=(0,y.useFlowContext)();return(0,A.jsx)(H.Ay,{type:"default",style:t,onClick:()=>{n.model._previousStepParams&&(n.model.setStepParams("markdownBlockSettings","editMarkdown",n.model._previousStepParams),n.model._previousStepParams=null),n.view.close()},children:l("Cancel")})},ds=(0,y.defineFlow)({key:"markdownBlockSettings",title:(0,y.tExpr)("Markdown block settings",{ns:"block-markdown"}),steps:{editMarkdown:{title:(0,y.tExpr)("Edit markdown"),uiSchema(e){let t=e.t;return{content:{type:"string","x-decorator":"FormItem","x-component":t=>e.markdown.edit({...t,value:t.value||e.model.props.value,mode:"sv",height:"82vh",style:{padding:10}}),description:(0,A.jsxs)(eg.A,{children:[(0,A.jsxs)("span",{style:{marginLeft:"10px"},className:"ant-formily-item-extra",children:[t("References"),":"]}),(0,A.jsx)("a",{href:"https://v2.docs.nocobase.com/interface-builder/blocks/other-blocks/markdown",target:"_blank",rel:"noreferrer",children:"Markdown"})]})}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}},footer:(e,t)=>{let{OkBtn:l}=t;return(0,A.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center"},children:[(0,A.jsx)(da,{style:{marginRight:6}}),(0,A.jsx)(dr,{style:{marginRight:6}}),(0,A.jsx)(l,{})]})}}},useRawParams:!0,defaultParams:e=>({content:e.t('{{t("This is a demo text, **supports Markdown syntax**.")}}')}),async handler(e,t){let l=t.content;try{let t=await e.liquid.renderWithFullContext(l,e),n=e.markdown.render(t,{textOnly:!1});e.model.setProps({content:n,value:l})}catch(t){e.model.setProps({content:(0,A.jsx)("pre",{children:`渲染失败: ${t}`}),value:l})}}}}}),dd=e=>{let{ctx:t,raw:l,record:n}=e,[o,i]=k.useState(null);return k.useEffect(()=>{let e=!1;return(async()=>{try{let n=await t.liquid.renderWithFullContext(l,t),o=await t.markdown.render(n,{textOnly:!1});e||i(o)}catch(t){e||i(`<pre>渲染失败: ${t}</pre>`)}})(),()=>{e=!0}},[l,n]),o};class du extends eq{render(){let e=this.context.record,t=this.props.value;return(0,A.jsx)(y.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,A.jsx)(dd,{ctx:this.context,raw:t,record:e})})}constructor(...e){super(...e),(0,K._)(this,"_previousStepParams",void 0)}}du.registerFlow(ds),du.define({label:'{{t("Markdown")}}'});class dc extends eq{getInputArgs(){let e={};if(this.context.resource){let t=this.context.resource.getSourceId();t&&(e.sourceId=t)}if(this.context.collection&&this.context.record){let t=this.context.collection.getFilterByTK(this.context.record);t&&(e.filterByTk=t)}return e}render(){return(0,A.jsx)(y.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,A.jsx)("div",{ref:this.context.ref})})}onMount(){let e=this.context.resource;if(e){let t=()=>{this.applyFlow("jsSettings")};e.on("refresh",t),this._offResourceRefresh=()=>{e.off("refresh",t)}}if(this._mountedOnce){var t;(null==(t=this.context.ref)?void 0:t.current)&&this.rerender()}this._mountedOnce=!0}onUnmount(){var e,t;null==(e=(t=this)._offResourceRefresh)||e.call(t),this._offResourceRefresh=void 0}constructor(...e){super(...e),(0,K._)(this,"_offResourceRefresh",void 0),(0,K._)(this,"_mountedOnce",!1)}}dc.define({label:(0,y.tExpr)("JS item"),createModelOptions:{use:"JSItemModel"},sort:120}),dc.registerFlow({key:"jsSettings",title:(0,y.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,y.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":tM.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
696
696
  function JsItem() {
697
697
  return (
698
698
  <div style={{ fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif", lineHeight: 1.6 }}>
@@ -703,14 +703,14 @@ function JsItem() {
703
703
  }
704
704
 
705
705
  ctx.render(<JsItem />);
706
- `.trim()}),async handler(e,t){let{code:l,version:n}=tF(e,t);e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>new y.ElementProxy(t)});let o=(0,y.createSafeNavigator)();await e.runjs(l,{window:(0,y.createSafeWindow)({navigator:o}),document:(0,y.createSafeDocument)(),navigator:o},{version:n})})}}}});var dr=l(84359);function da(e){var t,l,n,o,i;return!!(null==(i=e.model)||null==(o=i.parent)||null==(n=o.context)||null==(l=n.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))}class ds extends ar{get collectionField(){var e,t,l;let n=this.context.collectionField;return(null==n||null==(e=n.isAssociationField)?void 0:e.call(n))?n:(null==(l=this.parent)||null==(t=l.context)?void 0:t.collectionField)||n}renderComponent(e){return e}render(){let{value:e,fieldNames:t,overflowMode:l,width:n,style:o,className:i}=this.props,r=this.props.titleField||(null==t?void 0:t.label),a={className:i,ellipsis:"ellipsis"===l&&{tooltip:{rootClassName:(0,tH.css)`
706
+ `.trim()}),async handler(e,t){let{code:l,version:n}=tF(e,t);e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>new y.ElementProxy(t)});let o=(0,y.createSafeNavigator)();await e.runjs(l,{window:(0,y.createSafeWindow)({navigator:o}),document:(0,y.createSafeDocument)(),navigator:o},{version:n})})}}}});var dp=l(84359);function dh(e){var t,l,n,o,i;return!!(null==(i=e.model)||null==(o=i.parent)||null==(n=o.context)||null==(l=n.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))}class dm extends ar{get collectionField(){var e,t,l;let n=this.context.collectionField;return(null==n||null==(e=n.isAssociationField)?void 0:e.call(n))?n:(null==(l=this.parent)||null==(t=l.context)?void 0:t.collectionField)||n}renderComponent(e){return e}render(){let{value:e,fieldNames:t,overflowMode:l,width:n,style:o,className:i}=this.props,r=this.props.titleField||(null==t?void 0:t.label),a={className:i,ellipsis:"ellipsis"===l&&{tooltip:{rootClassName:(0,tH.css)`
707
707
  .ant-tooltip-inner {
708
708
  color: #000;
709
709
  max-height: 500px;
710
710
  overflow-y: auto;
711
711
  padding: 10px;
712
712
  }
713
- `,color:"#fff"}},style:{...o||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:n||"auto"}};if(!r)return(0,A.jsx)(dr.A.Text,{...a,children:this.renderInDisplayStyle(e)});{let t=(0,P.castArray)(e).flatMap((t,l)=>{let n=this.renderInDisplayStyle(null==t?void 0:t[r],t,Array.isArray(e)),o=k.isValidElement(n)?k.cloneElement(n,{key:`item-${l}`}):n;return 0===l?[o]:[(0,A.jsx)("span",{children:", "},`sep-${l}`),o]});return(0,A.jsx)(dr.A.Text,{...a,children:t})}}}ds.registerFlow({key:"displayFieldSettings",title:(0,y.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,y.tExpr)("Enable click-to-open"),uiMode:{type:"switch",key:"clickToOpen"},defaultParams:e=>{var t,l;return e.disableFieldClickToOpen?{clickToOpen:!1}:{clickToOpen:(null==(l=e.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))||da(e)}},hideInSettings:e=>e.disableFieldClickToOpen,async afterParamsSave(e,t){await ai(e,t)},handler(e,t){an(e,t)}}}}),ds.registerFlow(e9.g);let dd=k.memo(e=>{let t=(0,y.useFlowEngine)(),l=e=>{let{active:l,over:n}=e;l.id&&(null==n?void 0:n.id)&&l.id!==n.id&&t.moveModel(l.id,n.id)};return(0,A.jsx)(y.DndProvider,{onDragEnd:l,children:(0,A.jsx)("thead",{...e})})}),du=(0,y.observer)(e=>{let{className:t,title:l,editable:n,width:o,record:i,recordIndex:r,dataIndex:a,children:s,model:d,...u}=e;return(0,A.jsx)("td",{className:ij()(t),...u,children:(0,A.jsxs)("div",{style:{width:o},children:[" ",s]})})}),dc=e=>{let{model:t}=e;return(0,A.jsx)(y.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,A.jsx)(y.FlowSettingsButton,{icon:(0,A.jsx)(t3.A,{}),children:t.translate("Fields")})})},dp=e=>{let{pageSize:t,value:l,size:n,collection:o,baseColumns:i,enableIndexColumn:r=!0,model:a}=e,[s,d]=(0,k.useState)(1),[u,c]=(0,k.useState)(t),{t:p}=(0,G.B)();(0,k.useEffect)(()=>{c(t)},[t]);let h=(0,k.useMemo)(()=>({current:s,pageSize:u,total:null==l?void 0:l.length,onChange:(e,t)=>{d(e),c(t)},showSizeChanger:!0,showTotal:e=>p("Total {{count}} items",{count:e})}),[s,u,l]),m=()=>{let e=ia([r&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(s-1)*u+l+1},...i.concat({key:"empty"})].filter(Boolean));return a.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,A.jsx)(dc,{model:a})}),e},f=(0,k.useCallback)(async(e,t,l)=>{if(!(0,P.isEmpty)(l)){let e=a.context.blockModel.resource,t=a.props.globalSort,n=a.context.collectionField.name,o=l.order?"ascend"===l.order?[l.field]:[`-${l.field}`]:t,i=o?`${n}(sort=${o})`:n,r=e.getAppends().map(e=>RegExp(`^${n}\\(sort=[^)]+\\)$`).test(e)||e===n?i:e);l&&e.setAppends(r),await e.refresh()}},[a]);return(0,A.jsx)(iC.A,{tableLayout:"fixed",size:n,rowKey:o.filterTargetKey,scroll:{x:"max-content"},dataSource:l,columns:m(),pagination:h,onChange:f,className:(0,tH.css)`
713
+ `,color:"#fff"}},style:{...o||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:n||"auto"}};if(!r)return(0,A.jsx)(dp.A.Text,{...a,children:this.renderInDisplayStyle(e)});{let t=(0,P.castArray)(e).flatMap((t,l)=>{let n=this.renderInDisplayStyle(null==t?void 0:t[r],t,Array.isArray(e)),o=k.isValidElement(n)?k.cloneElement(n,{key:`item-${l}`}):n;return 0===l?[o]:[(0,A.jsx)("span",{children:", "},`sep-${l}`),o]});return(0,A.jsx)(dp.A.Text,{...a,children:t})}}}dm.registerFlow({key:"displayFieldSettings",title:(0,y.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,y.tExpr)("Enable click-to-open"),uiMode:{type:"switch",key:"clickToOpen"},defaultParams:e=>{var t,l;return e.disableFieldClickToOpen?{clickToOpen:!1}:{clickToOpen:(null==(l=e.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))||dh(e)}},hideInSettings:e=>e.disableFieldClickToOpen,async afterParamsSave(e,t){await ai(e,t)},handler(e,t){an(e,t)}}}}),dm.registerFlow(e9.g);let df=k.memo(e=>{let t=(0,y.useFlowEngine)(),l=e=>{let{active:l,over:n}=e;l.id&&(null==n?void 0:n.id)&&l.id!==n.id&&t.moveModel(l.id,n.id)};return(0,A.jsx)(y.DndProvider,{onDragEnd:l,children:(0,A.jsx)("thead",{...e})})}),dg=(0,y.observer)(e=>{let{className:t,title:l,editable:n,width:o,record:i,recordIndex:r,dataIndex:a,children:s,model:d,...u}=e;return(0,A.jsx)("td",{className:ij()(t),...u,children:(0,A.jsxs)("div",{style:{width:o},children:[" ",s]})})}),dv=e=>{let{model:t}=e;return(0,A.jsx)(y.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,A.jsx)(y.FlowSettingsButton,{icon:(0,A.jsx)(t3.A,{}),children:t.translate("Fields")})})},dy=e=>{let{pageSize:t,value:l,size:n,collection:o,baseColumns:i,enableIndexColumn:r=!0,model:a}=e,[s,d]=(0,k.useState)(1),[u,c]=(0,k.useState)(t),{t:p}=(0,G.B)();(0,k.useEffect)(()=>{c(t)},[t]);let h=(0,k.useMemo)(()=>({current:s,pageSize:u,total:null==l?void 0:l.length,onChange:(e,t)=>{d(e),c(t)},showSizeChanger:!0,showTotal:e=>p("Total {{count}} items",{count:e})}),[s,u,l]),m=()=>{let e=ia([r&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(s-1)*u+l+1},...i.concat({key:"empty"})].filter(Boolean));return a.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,A.jsx)(dv,{model:a})}),e},f=(0,k.useCallback)(async(e,t,l)=>{if(!(0,P.isEmpty)(l)){let e=a.context.blockModel.resource,t=a.props.globalSort,n=a.context.collectionField.name,o=l.order?"ascend"===l.order?[l.field]:[`-${l.field}`]:t,i=o?`${n}(sort=${o})`:n,r=e.getAppends().map(e=>RegExp(`^${n}\\(sort=[^)]+\\)$`).test(e)||e===n?i:e);l&&e.setAppends(r),await e.refresh()}},[a]);return(0,A.jsx)(iC.A,{tableLayout:"fixed",size:n,rowKey:o.filterTargetKey,scroll:{x:"max-content"},dataSource:l,columns:m(),pagination:h,onChange:f,className:(0,tH.css)`
714
714
  .ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content {
715
715
  display: inline;
716
716
  }
@@ -720,22 +720,22 @@ ctx.render(<JsItem />);
720
720
  .ant-table-column-sorters .ant-table-column-title {
721
721
  overflow: visible;
722
722
  }
723
- `,components:{header:{wrapper:dd},body:{cell:du}}})};class dh extends ez.o{get collection(){return this.context.collection}get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.context.fieldPath}),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}getBaseColumns(){return this.mapSubModels("columns",e=>"TableColumnModel"===e.use&&e.getColumnProps()).filter(e=>e&&!(null==e?void 0:e.hidden))}render(){return(0,A.jsx)(dp,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),(0,K._)(this,"disableTitleField",!0),(0,K._)(this,"defaultOverflowMode","ellipsis")}}dh.registerFlow({key:"TableAssociation",title:(0,y.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,y.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}}}}),dh.define({label:(0,y.tExpr)("Sub-table")}),ld.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class dm extends ez.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,A.jsx)(rQ,{...this.props})}constructor(...e){super(...e),(0,K._)(this,"disableTitleField",!0),(0,K._)(this,"subModelBaseClasses",{action:"RecordActionGroupModel",field:["DetailsItemModel"]})}}dm.define({label:(0,y.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),ld.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let df=e=>(0,P.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),dg=e=>{let{parentFieldIndex:t,index:l,blockPage:n}=e,o=t.length>0?t.join("|"):"root";return`row_${o}_${l}_${n}`},dv=e=>{var t;let{name:l,value:n=[]}=e,o=(0,y.useFlowModel)(),i=o.subModels.grid,r=df(o.context.fieldIndex),a=o.context.record,s=o.context.collectionField.name,d=o.context.flowSettingsEnabled&&0===n.length?[{}]:n,u=o.context.blockModel.resource,c=(null==u||null==(t=u.getPage)?void 0:t.call(u))||0;return d.length>0&&(0,A.jsx)($.A,{bordered:!0,style:{position:"relative"},className:(0,tH.css)`
723
+ `,components:{header:{wrapper:df},body:{cell:dg}}})};class db extends ez.o{get collection(){return this.context.collection}get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.context.fieldPath}),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}getBaseColumns(){return this.mapSubModels("columns",e=>"TableColumnModel"===e.use&&e.getColumnProps()).filter(e=>e&&!(null==e?void 0:e.hidden))}render(){return(0,A.jsx)(dy,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),(0,K._)(this,"disableTitleField",!0),(0,K._)(this,"defaultOverflowMode","ellipsis")}}db.registerFlow({key:"TableAssociation",title:(0,y.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,y.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}}}}),db.define({label:(0,y.tExpr)("Sub-table")}),ld.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class dx extends ez.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,A.jsx)(rQ,{...this.props})}constructor(...e){super(...e),(0,K._)(this,"disableTitleField",!0),(0,K._)(this,"subModelBaseClasses",{action:"RecordActionGroupModel",field:["DetailsItemModel"]})}}dx.define({label:(0,y.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),ld.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let dw=e=>(0,P.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),dS=e=>{let{parentFieldIndex:t,index:l,blockPage:n}=e,o=t.length>0?t.join("|"):"root";return`row_${o}_${l}_${n}`},dM=e=>{var t;let{name:l,value:n=[]}=e,o=(0,y.useFlowModel)(),i=o.subModels.grid,r=dw(o.context.fieldIndex),a=o.context.record,s=o.context.collectionField.name,d=o.context.flowSettingsEnabled&&0===n.length?[{}]:n,u=o.context.blockModel.resource,c=(null==u||null==(t=u.getPage)?void 0:t.call(u))||0;return d.length>0&&(0,A.jsx)($.A,{bordered:!0,style:{position:"relative"},className:(0,tH.css)`
724
724
  > .ant-card-body > .ant-divider:last-child {
725
725
  display: none;
726
726
  }
727
- `,children:d.map((e,t)=>{var l;let n=dg({parentFieldIndex:r,index:t,blockPage:c}),u=i.createFork({},`${n}`);u.gridContainerRef===i.gridContainerRef&&(u.gridContainerRef=k.createRef());let p=null==o||null==(l=o.context)?void 0:l.item;return u.context.defineProperty("fieldIndex",{get:()=>[...r,`${s}:${t}`]}),u.context.defineProperty("fieldKey",{get:()=>n}),u.context.defineProperty("record",{get:()=>a}),u.context.defineProperty("currentObject",{get:()=>e}),u.context.defineProperty("item",{get:()=>({index:t,length:d.length,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:p}),cache:!1}),(0,A.jsxs)("div",{style:{marginBottom:12},children:[(0,A.jsx)(y.FlowModelRenderer,{model:u,showFlowSettings:!1}),(0,A.jsx)(lD.A,{})]},n)})})};class dy extends ez.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,A.jsx)(dv,{...this.props})}constructor(...e){super(...e),(0,K._)(this,"disableTitleField",!0),(0,K._)(this,"subModelBaseClasses",{action:"RecordActionGroupModel",field:["DetailsItemModel"]})}}dy.define({label:(0,y.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubListFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),ld.bindModelToInterface("DisplaySubListFieldModel",["m2m","o2m","mbm"]);class db extends ez.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,A.jsx)("div",{role:"button","aria-label":"color-picker-read-pretty",style:t,className:(0,tH.cx)(l,(0,tH.css)`
727
+ `,children:d.map((e,t)=>{var l;let n=dS({parentFieldIndex:r,index:t,blockPage:c}),u=i.createFork({},`${n}`);u.gridContainerRef===i.gridContainerRef&&(u.gridContainerRef=k.createRef());let p=null==o||null==(l=o.context)?void 0:l.item;return u.context.defineProperty("fieldIndex",{get:()=>[...r,`${s}:${t}`]}),u.context.defineProperty("fieldKey",{get:()=>n}),u.context.defineProperty("record",{get:()=>a}),u.context.defineProperty("currentObject",{get:()=>e}),u.context.defineProperty("item",{get:()=>({index:t,length:d.length,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:p}),cache:!1}),(0,A.jsxs)("div",{style:{marginBottom:12},children:[(0,A.jsx)(y.FlowModelRenderer,{model:u,showFlowSettings:!1}),(0,A.jsx)(lD.A,{})]},n)})})};class dF extends ez.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,A.jsx)(dM,{...this.props})}constructor(...e){super(...e),(0,K._)(this,"disableTitleField",!0),(0,K._)(this,"subModelBaseClasses",{action:"RecordActionGroupModel",field:["DetailsItemModel"]})}}dF.define({label:(0,y.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubListFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),ld.bindModelToInterface("DisplaySubListFieldModel",["m2m","o2m","mbm"]);class dA extends ez.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,A.jsx)("div",{role:"button","aria-label":"color-picker-read-pretty",style:t,className:(0,tH.cx)(l,(0,tH.css)`
728
728
  display: inline-flex;
729
729
  .ant-color-picker-trigger-disabled {
730
730
  cursor: default;
731
731
  }
732
- `),children:(0,A.jsx)(a0.A,{disabled:!0,value:e,size:"small"})}):null}}y.DisplayItemModel.bindModelToInterface("DisplayColorFieldModel",["color"],{isDefault:!0});class dx extends ar{renderComponent(e){let{className:t,style:l}=this.props,n=this.props.format,o="";if(e){let t=a8()(e);o=t.isValid()?t.format(n):""}return(0,A.jsx)("div",{className:t,style:l,children:o})}}function dw(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0;return(Array.isArray(e)?e:[e]).map(e=>{var n,o;return(null==t||null==(n=t.find)?void 0:n.call(t,t=>t[l.value]==e))??{value:e,label:(null==e||null==(o=e.toString)?void 0:o.call(e))??e}})}dx.registerFlow({key:"datetimeSettings",sort:1e3,title:(0,y.tExpr)("Datetime settings"),steps:{dateFormat:{use:"dateDisplayFormat",title:(0,y.tExpr)("Date display format")}}}),dx.define({label:(0,y.tExpr)("Datetime")}),y.DisplayItemModel.bindModelToInterface("DisplayDateTimeFieldModel",["date","datetimeNoTz","createdAt","datetime","updatedAt","unixTimestamp","formula"],{isDefault:!0,when:(e,t)=>"formula"!==t.type||"date"===t.dataType});let dS={label:"label",value:"value",color:"color"};class dM extends ar{isEmpty(e){return null==e||""===e}isEmptyEnumValue(e){return Array.isArray(e)?0===e.length:this.isEmpty(e)}renderComponent(e){let{options:t=[],dataSource:l}=this.props,n=dw(e,l||t,dS);return this.isEmpty(e)||!n.length?null:n.map(e=>(0,A.jsx)(lT.A,{color:e[dS.color],icon:(0,A.jsx)(b.In,{type:e.icon}),children:this.translate(e[dS.label])},e[dS.value]))}renderInDisplayStyle(e,t,l,n){let{clickToOpen:o=!1,...i}=this.props,r=this.renderComponent(e),a=t&&this.isEmptyEnumValue(e)?"N/A":r,s={cursor:o?"pointer":"default",alignItems:"center",gap:4,display:l&&"inline-block"},d=e=>{o&&this.onClick(e,t)};return o?(0,A.jsx)("a",{...i,style:s,onClick:d,children:a}):(0,A.jsx)("span",{...i,style:s,className:i.className,children:a})}}dM.define({label:(0,y.tExpr)("Select")}),dM.registerFlow({key:"displayCollectionSelectSettings",sort:6e3,steps:{init:{handler(e){if(["collection","tableoid"].includes(e.collectionField.interface))if(e.model.props.isTableOid){let t=e.dataSourceManager.getDataSource("main").collectionManager.getChildrenCollections(e.collectionField.collectionName),l=(0,P.castArray)(e.collectionField.collection).concat(t).map(e=>({label:e.title||e.name,value:e.name||e.value}));e.model.setProps({options:l})}else{let t=e.dataSourceManager.getDataSource("main").getCollections(),l=e.model.context.collectionField.enum||[],n=t.filter(e=>!e.options.hidden).filter(e=>!l.length||l.find(t=>t.value===e.name)).map(e=>{var t;return{label:e.title||e.name,value:e.name||e.value,color:null==(t=e.category)?void 0:t.color}});e.model.setProps({dataSource:n})}}}}}),y.DisplayItemModel.bindModelToInterface("DisplayEnumFieldModel",["select","multipleSelect","radioGroup","checkboxGroup","collection","tableoid"],{isDefault:!0});var dF=l(51612);class dA extends ds{renderComponent(e){let{textOnly:t=!0}=this.props;return(0,A.jsx)(dF.g,{...this.props,textOnly:t,value:e})}}dA.define({label:(0,y.tExpr)("HTML")}),dA.registerFlow({key:"htmlFieldSettings",title:(0,y.tExpr)("Content settings"),sort:200,steps:{renderMode:{use:"renderMode"}}}),y.DisplayItemModel.bindModelToInterface("DisplayHtmlFieldModel",["richText"],{isDefault:!0});class dk extends ez.o{render(){let{value:e,style:t,className:l}=this.props;return(0,A.jsx)(b.In,{type:e,style:t,className:l})}}y.DisplayItemModel.bindModelToInterface("DisplayIconFieldModel",["icon"],{isDefault:!0});let dC=(0,tH.css)`
732
+ `),children:(0,A.jsx)(a0.A,{disabled:!0,value:e,size:"small"})}):null}}y.DisplayItemModel.bindModelToInterface("DisplayColorFieldModel",["color"],{isDefault:!0});class dk extends ar{renderComponent(e){let{className:t,style:l}=this.props,n=this.props.format,o="";if(e){let t=a8()(e);o=t.isValid()?t.format(n):""}return(0,A.jsx)("div",{className:t,style:l,children:o})}}function dC(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0;return(Array.isArray(e)?e:[e]).map(e=>{var n,o;return(null==t||null==(n=t.find)?void 0:n.call(t,t=>t[l.value]==e))??{value:e,label:(null==e||null==(o=e.toString)?void 0:o.call(e))??e}})}dk.registerFlow({key:"datetimeSettings",sort:1e3,title:(0,y.tExpr)("Datetime settings"),steps:{dateFormat:{use:"dateDisplayFormat",title:(0,y.tExpr)("Date display format")}}}),dk.define({label:(0,y.tExpr)("Datetime")}),y.DisplayItemModel.bindModelToInterface("DisplayDateTimeFieldModel",["date","datetimeNoTz","createdAt","datetime","updatedAt","unixTimestamp","formula"],{isDefault:!0,when:(e,t)=>"formula"!==t.type||"date"===t.dataType});let dP={label:"label",value:"value",color:"color"};class dj extends ar{isEmpty(e){return null==e||""===e}isEmptyEnumValue(e){return Array.isArray(e)?0===e.length:this.isEmpty(e)}renderComponent(e){let{options:t=[],dataSource:l}=this.props,n=dC(e,l||t,dP);return this.isEmpty(e)||!n.length?null:n.map(e=>(0,A.jsx)(lT.A,{color:e[dP.color],icon:(0,A.jsx)(b.In,{type:e.icon}),children:this.translate(e[dP.label])},e[dP.value]))}renderInDisplayStyle(e,t,l,n){let{clickToOpen:o=!1,...i}=this.props,r=this.renderComponent(e),a=t&&this.isEmptyEnumValue(e)?"N/A":r,s={cursor:o?"pointer":"default",alignItems:"center",gap:4,display:l&&"inline-block"},d=e=>{o&&this.onClick(e,t)};return o?(0,A.jsx)("a",{...i,style:s,onClick:d,children:a}):(0,A.jsx)("span",{...i,style:s,className:i.className,children:a})}}dj.define({label:(0,y.tExpr)("Select")}),dj.registerFlow({key:"displayCollectionSelectSettings",sort:6e3,steps:{init:{handler(e){if(["collection","tableoid"].includes(e.collectionField.interface))if(e.model.props.isTableOid){let t=e.dataSourceManager.getDataSource("main").collectionManager.getChildrenCollections(e.collectionField.collectionName),l=(0,P.castArray)(e.collectionField.collection).concat(t).map(e=>({label:e.title||e.name,value:e.name||e.value}));e.model.setProps({options:l})}else{let t=e.dataSourceManager.getDataSource("main").getCollections(),l=e.model.context.collectionField.enum||[],n=t.filter(e=>!e.options.hidden).filter(e=>!l.length||l.find(t=>t.value===e.name)).map(e=>{var t;return{label:e.title||e.name,value:e.name||e.value,color:null==(t=e.category)?void 0:t.color}});e.model.setProps({dataSource:n})}}}}}),y.DisplayItemModel.bindModelToInterface("DisplayEnumFieldModel",["select","multipleSelect","radioGroup","checkboxGroup","collection","tableoid"],{isDefault:!0});var dI=l(51612);class dE extends dm{renderComponent(e){let{textOnly:t=!0}=this.props;return(0,A.jsx)(dI.g,{...this.props,textOnly:t,value:e})}}dE.define({label:(0,y.tExpr)("HTML")}),dE.registerFlow({key:"htmlFieldSettings",title:(0,y.tExpr)("Content settings"),sort:200,steps:{renderMode:{use:"renderMode"}}}),y.DisplayItemModel.bindModelToInterface("DisplayHtmlFieldModel",["richText"],{isDefault:!0});class dR extends ez.o{render(){let{value:e,style:t,className:l}=this.props;return(0,A.jsx)(b.In,{type:e,style:t,className:l})}}y.DisplayItemModel.bindModelToInterface("DisplayIconFieldModel",["icon"],{isDefault:!0});let d_=(0,tH.css)`
733
733
  margin-bottom: 0;
734
734
  line-height: 1.5;
735
735
  font-size: 90%;
736
736
  background: none !important;
737
737
  border: none !important;
738
- `,dP=e=>{let{content:t,style:l,className:n}=e,o=(0,k.useRef)(null),[i,r]=(0,k.useState)(!1);(0,k.useEffect)(()=>{let e=o.current;e&&r(e.scrollWidth>e.clientWidth)},[t]);let a=(0,A.jsx)("div",{ref:o,style:{...l,whiteSpace:"nowrap",fontFamily:"Consolas, Monaco, monospace",overflow:"hidden",textOverflow:"ellipsis"},children:t});return i?(0,A.jsx)(W.A,{title:(0,A.jsx)("pre",{style:{margin:0,maxHeight:400},className:n,children:t}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",maxWidth:500},color:"#fff",overlayStyle:{maxWidth:500,whiteSpace:"pre-wrap"},children:a}):a};class dj extends ds{renderComponent(e){let{space:t,style:l,className:n,overflowMode:o}=this.props,i="";if(null!=e)try{i=JSON.stringify(e,null,t??2)}catch(e){i=this.flowEngine.translate("Invalid JSON format")}return"ellipsis"===o?(0,A.jsx)(dP,{content:i,style:l,className:(0,tH.cx)(n,dC)}):(0,A.jsx)("pre",{className:(0,tH.cx)(n,dC),style:l,children:i})}}y.DisplayItemModel.bindModelToInterface("DisplayJSONFieldModel",["json"],{isDefault:!0});var dI=l(47275);function dE(e){let t=(0,P.toString)(e);return t.includes(".")?t.split(".")[1].replace(/0+$/,"").length:0}let dR={"0,0.00":{thousands:",",decimal:"."},"0.0,00":{thousands:".",decimal:","},"0 0,00":{thousands:" ",decimal:"."},"0.00":{thousands:"",decimal:"."}};function d_(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3?arguments[3]:void 0;if(e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER)return dT(e,t,l,n);let o=e;n&&(o=Number(e));let i="";if(dR[t]){let{thousands:e,decimal:n}=dR[t];i=o.toLocaleString("en-US",{style:"decimal",minimumFractionDigits:l,maximumFractionDigits:l}).replace(/,/g,"comma_placeholder").replace(/\./g,"dot_placeholder").replace(/comma_placeholder/g,e).replace(/dot_placeholder/g,n)}else i=o.toString();return i}function dT(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3?arguments[3]:void 0,o=e;n&&(o=new sb.A(e).toString());let i="";if(dR[t]){let{thousands:e,decimal:n}=dR[t],[r,a]=o.toString().split("."),s=a,d=r.replace(/\B(?=(\d{3})+(?!\d))/g,e);s&&l?(s=s.substring(0,l),i=`${d}${n}${s}`):i=d}else i=o.toString();return i}function dD(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*",n=arguments.length>2?arguments[2]:void 0;if(!n)return e;if("*"===l)t=e*n;else{if("/"!==l)return console.error("Error: Invalid operator. Use '*' for multiplication or '/' for division."),null;if(0===n)return console.error("Error: Division by zero."),null;t=e/n}return sF.LIG(t,9)}function dN(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";return(0,dI.GP)(`.${t}e`)(e).replace(".",l).replace(/e([+-]?\d+)/,(e,t)=>t.startsWith("+")?`\xd710<sup>${t.slice(1)}</sup>`:`\xd710<sup>-${t.slice(1)}</sup>`)}function dO(e){let t,{step:l,formatStyle:n="normal",value:o,unitConversion:i,unitConversionType:r,separator:a="0,0.00"}=e;if(!(0,ef.isValid)(o))return null;let s=dD(o,r,i);if(t=d_((0,w.toFixedByStep)(s,l),a,dE(l),n),"scientifix"===n){var d;t=dN(Number(s),dE(l),null==dR||null==(d=dR[a])?void 0:d.decimal)}return"NaN"===t&&(t=o),t}let d$=e=>{let{numberStep:t,formatStyle:l,value:n,unitConversion:o,unitConversionType:i,separator:r}=e;return dO({step:t,formatStyle:l,value:n,unitConversion:o,unitConversionType:i,separator:r})};class dB extends ar{renderComponent(e){let{addonBefore:t,addonAfter:l,style:n,className:o}=this.props,i=d$({...this.props,value:e});return i?(0,A.jsxs)("span",{className:o,style:n,children:[t,(0,A.jsx)("span",{dangerouslySetInnerHTML:{__html:i}}),l]}):null}}dB.define({label:(0,y.tExpr)("Number")});let dL=()=>{let e=(0,eM.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,G.B)();return(0,A.jsxs)(l_.A,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,A.jsx)(l_.A.Option,{value:"*",children:l("Multiply by")}),(0,A.jsx)(l_.A.Option,{value:"/",children:l("Divide by")})]})};dB.registerFlow({key:"numberSettings",sort:500,title:(0,y.tExpr)("Number settings"),steps:{format:{title:(0,y.tExpr)("Number format"),use:"numberFormat"}}}),y.DisplayItemModel.bindModelToInterface("DisplayNumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0});class dq extends ez.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,A.jsx)("div",{className:l,style:t,children:"********"}):(0,A.jsx)("div",{className:l,style:t})}}y.DisplayItemModel.bindModelToInterface("DisplayPasswordFieldModel",["password"],{isDefault:!0});class dV extends ar{renderComponent(e){let{addonBefore:t="",addonAfter:l="%",numberStep:n,style:o,className:i}=this.props,r=sF.LIG(100*e,9);if(null==e)return;let a=d$({...this.props,value:r,numberStep:n});return a?(0,A.jsxs)("div",{className:i,style:o,children:[t,(0,A.jsx)("span",{dangerouslySetInnerHTML:{__html:a}}),l]}):null}}dV.registerFlow({key:"numberSettings",sort:500,title:(0,y.tExpr)("Number settings"),steps:{format:{title:(0,y.tExpr)("Number format"),uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,y.tExpr)("Normal")},{value:"scientifix",label:(0,y.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,A.jsx)(dL,{})}},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","x-disabled":!0}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:n,separator:o,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:n,separator:o||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a||"%"}},handler(e,t){let{formatStyle:l,unitConversion:n,unitConversionType:o,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:n,unitConversionType:o,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}}}),dV.define({label:(0,y.tExpr)("Percent")}),y.DisplayItemModel.bindModelToInterface("DisplayPercentFieldModel",["percent"],{isDefault:!0});class dz extends ar{t(e){return"string"!=typeof e?e:e.startsWith("{{")&&e.endsWith("}}")?this.translate(e):e}renderComponent(e,t){let{prefix:l,suffix:n,overflowMode:o,style:i,className:r}=this.props;return(0,A.jsxs)("span",{className:r,style:{...i||{},whiteSpace:"wrap"===o||t?"pre-line":"nowrap"},children:[l,this.t(e),n]})}}dz.define({label:(0,y.tExpr)("Text")}),y.DisplayItemModel.bindModelToInterface("DisplayTextFieldModel",["input","email","phone","uuid","textarea","nanoid"],{isDefault:!0});class dK extends ds{renderComponent(e){let{style:t,className:l}=this.props,n=e&&(0,A.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:e,className:l,style:{...t||{},overflowWrap:"anywhere"},children:e});return(0,A.jsx)(A.Fragment,{children:n})}}dK.define({label:(0,y.tExpr)("URL")}),y.DisplayItemModel.bindModelToInterface("DisplayURLFieldModel",["url"],{isDefault:!0,when:e=>!0});class dU extends ar{renderComponent(e){let{prefix:t,suffix:l,style:n,className:o}=this.props,i=this.props.format||"HH:mm:ss",r=e&&a8()(e,"HH:mm:ss").format(i);return(0,A.jsxs)("span",{className:o,style:n,children:[t,r,l]})}}dU.registerFlow({key:"timeSettings",sort:1e3,title:(0,y.tExpr)("Time settings"),steps:{dateFormat:{title:(0,y.tExpr)("Time format"),use:"dateDisplayFormat"}}}),dU.define({label:(0,y.tExpr)("Time")}),y.DisplayItemModel.bindModelToInterface("DisplayTimeFieldModel",["time"],{isDefault:!0});var dW=l(49901);class dH extends ez.o{render(){let{value:e,showUnchecked:t,style:l,className:n}=this.props;return e?(0,A.jsx)(dW.A,{className:n,style:{color:"#52c41a",...l||{}}}):t?(0,A.jsx)(nm.A,{className:n,style:{color:"#ff4d4f",...l||{}}}):(0,A.jsx)(nh.A,{className:n,style:l,disabled:!0})}}dH.define({label:(0,y.tExpr)("Checkbox")}),y.DisplayItemModel.bindModelToInterface("DisplayCheckboxFieldModel",["checkbox"],{isDefault:!0});var dG=l(75811),dY=l(36161);function dJ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];let l=new Set,n=[],o=t.length?new Set(t):null,i=e=>{var t;if(!(null==e?void 0:e.uid)||l.has(e.uid))return;l.add(e.uid);let r=null==(t=e.getUserModifiedFields)?void 0:t.call(e);(null==r?void 0:r.size)&&!(null==o?void 0:o.has(e.uid))&&n.push(e.uid),Object.values(e.subModels||{}).forEach(e=>{j().castArray(e).forEach(e=>{e&&"object"==typeof e&&i(e)})})};return i(e),n}function dX(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=dJ(e,t);return{hasDirtyForms:l.length>0,formModelUids:l}}function dQ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||!t.length)return;let l=new Set,n=new Set(t),o=e=>{if(!(!(null==e?void 0:e.uid)||l.has(e.uid))){if(l.add(e.uid),n.has(e.uid)){var t;null==(t=e.resetUserModifiedFields)||t.call(e)}Object.values(e.subModels||{}).forEach(e=>{j().castArray(e).forEach(e=>{e&&"object"==typeof e&&o(e)})})}};o(e)}function dZ(e){return async t=>{let{result:l,force:n,ignoredDirtyFormModelUids:o}=t;if(n)return!0;let i=dX(e,o),r=!1,a=await e.dispatchEvent("close",{result:l,force:!1,dirty:i,controller:{prevent(){r=!0}}}),s=(null==a?void 0:a.__abortedByExitAll)===!0||!!Array.isArray(a)&&a.some(e=>e instanceof y.FlowExitAllException),d=!r&&!s;return d&&i.hasDirtyForms&&dQ(e,i.formModelUids),d}}let d0=(0,y.defineAction)({name:"openView",title:(0,y.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,y.tExpr)("Open mode"),enum:[{label:(0,y.tExpr)("Drawer"),value:"drawer"},{label:(0,y.tExpr)("Dialog"),value:"dialog"},{label:(0,y.tExpr)("Page"),value:"embed"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,y.tExpr)("Popup size"),enum:[{label:(0,y.tExpr)("Small"),value:"small"},{label:(0,y.tExpr)("Medium"),value:"medium"},{label:(0,y.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "embed"}}'}}}}},hideInSettings:async e=>{var t,l,n,o;if(!e.model.getFlow("displayFieldSettings"))return!1;let i=null==(l=(n=e.model).getStepParams)||null==(t=l.call(n,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return void 0===i?!(null==(o=e.collectionField)?void 0:o.isAssociationField()):!1===i},defaultParams:async e=>{var t,l,n,o,i,r,a,s,d,u;let c,p=e.getPropertyMetaTree()||[],h=Array.isArray(p)&&p.some(e=>"record"===String(null==e?void 0:e.name)),m=(null==(t=e.collection)?void 0:t.filterTargetKey)||"id";if(null==(n=e.blockModel)||null==(l=n.resource)?void 0:l.resourceName){let t=e.collection.dataSource.collectionManager.getAssociation(null==(s=e.blockModel)||null==(a=s.resource)?void 0:a.resourceName);(null==t?void 0:t.interface)!=="m2m"&&(m=(null==t?void 0:t.targetKey)||m)}let f=h?`{{ ctx.record.${m} }}`:void 0;try{let t=null==(u=e.resource)||null==(d=u.getSourceId)?void 0:d.call(u);null!=t&&""!==String(t)&&(c="{{ ctx.resource.sourceId }}")}catch(e){}let g=null==(o=e.collection)?void 0:o.dataSourceKey,v=null==(i=e.collection)?void 0:i.name;return{mode:"drawer",size:"medium",pageModelClass:"ChildPageModel",uid:null==(r=e.model)?void 0:r.uid,...f?{filterByTk:f}:{},...c?{sourceId:c}:{},...g?{dataSourceKey:g}:{},...v?{collectionName:v}:{}}},async beforeParamsSave(e,t){if(null==t?void 0:t.uid){let l=e.engine;if(!(l.getModel(t.uid)||await l.loadModel({uid:t.uid})))throw Error(e.t("Popup UID not exists"))}},async handler(e,t){var l,n,o,i,r,a,s,d,u,c,p,h,m,f,g,v,y,b,x;let w=e.inputArgs||{},S=w.defineProperties??(null==(n=e.model.context)||null==(l=n.inputArgs)?void 0:l.defineProperties)??void 0,M=w.defineMethods??(null==(i=e.model.context)||null==(o=i.inputArgs)?void 0:o.defineMethods)??void 0,F=(null==(a=e.model)||null==(r=a.getInputArgs)?void 0:r.call(a))||{},k=(null==w?void 0:w.defaultInputKeys)||[],C=e=>{let l=void 0!==(null==w?void 0:w[e]),n=k.includes(e);return l&&!n?w[e]:void 0!==(null==t?void 0:t[e])?t[e]:l?w[e]:null==F?void 0:F[e]},P=(()=>{var t,l;let n=C("filterByTk");return(null==(t=e.collection)?void 0:t.template)==="sql"&&Array.isArray(null==(l=e.collection)?void 0:l.filterTargetKey)&&1===e.collection.filterTargetKey.length&&null!=n&&"object"!=typeof n?{[e.collection.filterTargetKey[0]]:n}:n})(),I=C("sourceId"),E=void 0!==(null==w?void 0:w.dataSourceKey)?w.dataSourceKey:null==t?void 0:t.dataSourceKey,R=void 0!==(null==w?void 0:w.collectionName)?w.collectionName:null==t?void 0:t.collectionName,_=void 0!==(null==w?void 0:w.associationName)?w.associationName:null==t?void 0:t.associationName,T=void 0!==w.tabUid?w.tabUid:t.tabUid,D=(null==(s=e.inputArgs)?void 0:s.isMobileLayout)?"embed":(null==(d=e.inputArgs)?void 0:d.mode)||t.mode||"drawer",N=void 0!==w.navigation?w.navigation:t.navigation;if((S||M)&&(N=!1),!1!==N&&!1!==e.isNavigationEnabled&&!e.inputArgs.navigation&&(null==(f=e.view)?void 0:f.navigation)){let l={type:D,inputArgs:{...e.inputArgs,dataSourceKey:E,collectionName:R,associationName:_,filterByTk:P,sourceId:I,tabUid:T,viewUid:(null==(v=e.model.context)||null==(g=v.inputArgs)?void 0:g.viewUid)||e.model.uid},navigation:null==(y=e.view)?void 0:y.navigation,preventClose:!!(null==t?void 0:t.preventClose),engineCtx:e.engine.context};e.model.context.defineProperty("view",{value:l});let n={viewUid:(null==(x=e.model.context)||null==(b=x.inputArgs)?void 0:b.viewUid)||e.model.uid,filterByTk:P,sourceId:I,tabUid:T};e.view.navigation.navigateTo(n);return}if((null==t?void 0:t.uid)&&t.uid!==e.model.uid)return void await e.openView(t.uid,{...w,...t||{},navigation:N,target:e.inputArgs.target||e.layoutContentElement,dataSourceKey:E??F.dataSourceKey,collectionName:R??F.collectionName,associationName:void 0!==_?_:F.associationName,filterByTk:P,sourceId:I,tabUid:T,...S?{defineProperties:S}:{},...M?{defineMethods:M}:{}});let O={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},$=e.inputArgs.pageModelClass||t.pageModelClass||"ChildPageModel",B=e.inputArgs.size||t.size||"medium",L=null,q=null,z=e.model.uid;if(t.subModelKey){let l=await e.engine.loadOrCreateModel({async:!0,parentId:e.model.uid,subKey:t.subModelKey,subType:"object",use:"FlowModel"},{skipSave:!e.flowSettingsEnabled});(null==l?void 0:l.uid)&&(z=l.uid)}let K=!!(null==(u=e.inputArgs)?void 0:u.navigation),U=(null==(p=e.view)||null==(c=p.inputArgs)?void 0:c.openerUids)||w.openerUids||[],W=K?w.openerUids||U:[...U,(null==(m=e.model.context)||null==(h=m.inputArgs)?void 0:h.viewUid)||e.model.uid],H=void 0!==w.preventClose?!!w.preventClose:!!t.preventClose,G={viewUid:e.model.uid,...e.inputArgs,...w,dataSourceKey:E,collectionName:R,associationName:_,tabUid:T,openerUids:W,pageActive:!0};G.filterByTk=P,G.sourceId=I,await e.viewer.open({type:D,triggerByRouter:G.triggerByRouter,inputArgs:j().omit(G,"triggerByRouter"),preventClose:H,destroyOnClose:!0,inheritContext:!1,target:e.inputArgs.target||e.layoutContentElement,width:O[D][B],content:t=>(e.inputArgs.destroyRef&&(e.inputArgs.destroyRef.current=t.destroy),e.inputArgs.updateRef&&(e.inputArgs.updateRef.current=t.update),(0,A.jsx)(V,{parentId:z,pageModelClass:$,onModelLoaded:(l,n)=>{var o,i,r,a;L=l;let s=n||e.engine.getModel(L);if(q=s||null,!s)return;t.beforeClose=dZ(s);let d=w.defineProperties??(null==(i=e.model.context)||null==(o=i.inputArgs)?void 0:o.defineProperties)??{},u=w.defineMethods??(null==(a=e.model.context)||null==(r=a.inputArgs)?void 0:r.defineMethods)??{};s.context.defineProperty("currentView",{get:()=>t}),s.context.defineProperty("flowSettingsEnabled",{get:()=>e.flowSettingsEnabled,cache:!1}),s.context.defineProperty("view",{get:()=>t}),s.context.defineProperty("closable",{get:()=>"embed"!==D}),s instanceof e6&&s.context.defineProperty("pageActive",{get:()=>e.pageActive}),Object.entries(d).forEach(e=>{let[t,l]=e;s.context.defineProperty(t,l)}),Object.entries(u).forEach(e=>{let[t,l]=e;s.context.defineMethod(t,l)}),s.invalidateFlowCache("beforeRender",!0),s._rerunLastAutoRun()},defaultTabTitle:e.model.defaultPopupTitle})),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===D?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}},onClose:()=>{if(L){let t=q||e.model.flowEngine.getModel(L);null==t||t.invalidateFlowCache("beforeRender",!0)}},onOpen:e.inputArgs.onOpen})}}),d1=(0,y.defineAction)({name:"runjs",title:(0,y.tExpr)("Execute JavaScript"),scene:[y.ActionScene.DYNAMIC_EVENT_FLOW],sort:1e4,useRawParams:!0,uiSchema:{code:{type:"string","x-component":tM.BY,"x-component-props":{enableLinter:!0,height:"200px",scene:"eventFlow"}}},async handler(e,t){var l;if(null==(l=e.inputArgs)?void 0:l.navigation)return;let n=(0,y.createSafeNavigator)();return e.runjs(t.code,{window:(0,y.createSafeWindow)({navigator:n}),document:(0,y.createSafeDocument)(),navigator:n})}}),d2=3;function d4(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d2;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let d5=(0,y.defineAction)({name:"showMessage",title:(0,y.tExpr)("Show message"),scene:y.ActionScene.DYNAMIC_EVENT_FLOW,sort:500,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,n=(0,y.useFlowContext)(),o=n.model.translate.bind(n.model),i={type:t.type??"info",content:t.content||"",duration:d4(t.duration)},r=e=>{l({...i,...e})},a=e=>{r({type:e.target.value})},s=e=>{r({content:e.target.value})},d=e=>{r({duration:d4(e)})},u=e=>(0,A.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,A.jsxs)("div",{children:[u(o("Message type")),(0,A.jsxs)(np.Ay.Group,{value:i.type,onChange:a,children:[(0,A.jsx)(np.Ay,{value:"success",children:o("Success")}),(0,A.jsx)(np.Ay,{value:"error",children:o("Error")}),(0,A.jsx)(np.Ay,{value:"info",children:o("Info")}),(0,A.jsx)(np.Ay,{value:"warning",children:o("Warning")}),(0,A.jsx)(np.Ay,{value:"loading",children:o("Loading")})]})]}),(0,A.jsxs)("div",{children:[u(o("Message content")),(0,A.jsx)(eF.A.TextArea,{value:i.content,onChange:s,placeholder:o("Please input message content"),rows:3,style:{width:"100%"}})]}),(0,A.jsxs)("div",{children:[u(o("Duration (seconds, 0 = no auto close)")),(0,A.jsx)(oi.A,{value:i.duration,onChange:d,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:n="info",content:o,duration:i=d2}=l||{type:"info",content:"",duration:d2},r=d4(i);if(!o)return;let a=`flow-message-${(0,w.uid)()}`,s=0===r?(0,A.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[(0,A.jsx)("span",{children:o}),(0,A.jsx)(nm.A,{role:"button","aria-label":"close message",style:{color:"rgba(0, 0, 0, 0.45)",cursor:"pointer",fontSize:"12px"},onClick:()=>{var t,l;return null==(t=(l=e.message).destroy)?void 0:t.call(l,a)}})]}):o,d={key:a,type:n,content:s,duration:r};e.message.open(d)}}),d8=5;function d6(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d8;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let d3=(0,y.defineAction)({name:"showNotification",title:(0,y.tExpr)("Show notification"),scene:y.ActionScene.DYNAMIC_EVENT_FLOW,sort:600,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,n=(0,y.useFlowContext)(),o=n.model.translate.bind(n.model),i={type:t.type??"info",title:t.title||"",description:t.description||"",duration:d6(t.duration),placement:t.placement??"topRight"},r=e=>{l({...i,...e})},a=e=>{r({type:e.target.value})},s=e=>{r({title:e.target.value})},d=e=>{r({description:e.target.value})},u=e=>{r({duration:d6(e)})},c=e=>{r({placement:e})},p=[{label:o("Top left"),value:"topLeft"},{label:o("Top right"),value:"topRight"},{label:o("Bottom left"),value:"bottomLeft"},{label:o("Bottom right"),value:"bottomRight"}],h=e=>(0,A.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,A.jsxs)("div",{children:[h(o("Notification type")),(0,A.jsxs)(np.Ay.Group,{value:i.type,onChange:a,children:[(0,A.jsx)(np.Ay,{value:"success",children:o("Success")}),(0,A.jsx)(np.Ay,{value:"error",children:o("Error")}),(0,A.jsx)(np.Ay,{value:"info",children:o("Info")}),(0,A.jsx)(np.Ay,{value:"warning",children:o("Warning")})]})]}),(0,A.jsxs)("div",{children:[h(o("Notification title")),(0,A.jsx)(eF.A,{value:i.title,onChange:s,placeholder:o("Please input notification title"),style:{width:"100%"}})]}),(0,A.jsxs)("div",{children:[h(o("Notification description")),(0,A.jsx)(eF.A.TextArea,{value:i.description,onChange:d,placeholder:o("Please input notification description"),rows:3,style:{width:"100%"}})]}),(0,A.jsxs)("div",{children:[h(o("Placement")),(0,A.jsx)(l_.A,{value:i.placement,onChange:c,options:p,style:{width:"100%"}})]}),(0,A.jsxs)("div",{children:[h(o("Duration (seconds, 0 = no auto close)")),(0,A.jsx)(oi.A,{value:i.duration,onChange:u,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:n="info",title:o,description:i,duration:r=d8,placement:a="topRight"}=l||{type:"info",title:"",description:"",duration:d8,placement:"topRight"},s=d6(r);(o||i)&&e.notification.open({type:n,message:o,description:i,duration:s,placement:a})}}),d9=(0,y.defineAction)({name:"navigateToURL",title:(0,y.tExpr)("Navigate to URL"),scene:y.ActionScene.DYNAMIC_EVENT_FLOW,sort:400,uiSchema:{value:{type:"object",properties:{url:{title:(0,y.tExpr)("URL"),type:"string","x-decorator":"FormItem","x-component":S.n,description:'{{t("Do not concatenate search params in the URL")}}',required:!0},searchParams:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{t("Search parameters")}}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,tH.css)`
738
+ `,dT=e=>{let{content:t,style:l,className:n}=e,o=(0,k.useRef)(null),[i,r]=(0,k.useState)(!1);(0,k.useEffect)(()=>{let e=o.current;e&&r(e.scrollWidth>e.clientWidth)},[t]);let a=(0,A.jsx)("div",{ref:o,style:{...l,whiteSpace:"nowrap",fontFamily:"Consolas, Monaco, monospace",overflow:"hidden",textOverflow:"ellipsis"},children:t});return i?(0,A.jsx)(W.A,{title:(0,A.jsx)("pre",{style:{margin:0,maxHeight:400},className:n,children:t}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",maxWidth:500},color:"#fff",overlayStyle:{maxWidth:500,whiteSpace:"pre-wrap"},children:a}):a};class dD extends dm{renderComponent(e){let{space:t,style:l,className:n,overflowMode:o}=this.props,i="";if(null!=e)try{i=JSON.stringify(e,null,t??2)}catch(e){i=this.flowEngine.translate("Invalid JSON format")}return"ellipsis"===o?(0,A.jsx)(dT,{content:i,style:l,className:(0,tH.cx)(n,d_)}):(0,A.jsx)("pre",{className:(0,tH.cx)(n,d_),style:l,children:i})}}y.DisplayItemModel.bindModelToInterface("DisplayJSONFieldModel",["json"],{isDefault:!0});var dN=l(47275);function dO(e){let t=(0,P.toString)(e);return t.includes(".")?t.split(".")[1].replace(/0+$/,"").length:0}let d$={"0,0.00":{thousands:",",decimal:"."},"0.0,00":{thousands:".",decimal:","},"0 0,00":{thousands:" ",decimal:"."},"0.00":{thousands:"",decimal:"."}};function dB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3?arguments[3]:void 0;if(e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER)return dL(e,t,l,n);let o=e;n&&(o=Number(e));let i="";if(d$[t]){let{thousands:e,decimal:n}=d$[t];i=o.toLocaleString("en-US",{style:"decimal",minimumFractionDigits:l,maximumFractionDigits:l}).replace(/,/g,"comma_placeholder").replace(/\./g,"dot_placeholder").replace(/comma_placeholder/g,e).replace(/dot_placeholder/g,n)}else i=o.toString();return i}function dL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3?arguments[3]:void 0,o=e;n&&(o=new sb.A(e).toString());let i="";if(d$[t]){let{thousands:e,decimal:n}=d$[t],[r,a]=o.toString().split("."),s=a,d=r.replace(/\B(?=(\d{3})+(?!\d))/g,e);s&&l?(s=s.substring(0,l),i=`${d}${n}${s}`):i=d}else i=o.toString();return i}function dq(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*",n=arguments.length>2?arguments[2]:void 0;if(!n)return e;if("*"===l)t=e*n;else{if("/"!==l)return console.error("Error: Invalid operator. Use '*' for multiplication or '/' for division."),null;if(0===n)return console.error("Error: Division by zero."),null;t=e/n}return sF.LIG(t,9)}function dV(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";return(0,dN.GP)(`.${t}e`)(e).replace(".",l).replace(/e([+-]?\d+)/,(e,t)=>t.startsWith("+")?`\xd710<sup>${t.slice(1)}</sup>`:`\xd710<sup>-${t.slice(1)}</sup>`)}function dz(e){let t,{step:l,formatStyle:n="normal",value:o,unitConversion:i,unitConversionType:r,separator:a="0,0.00"}=e;if(!(0,ef.isValid)(o))return null;let s=dq(o,r,i);if(t=dB((0,w.toFixedByStep)(s,l),a,dO(l),n),"scientifix"===n){var d;t=dV(Number(s),dO(l),null==d$||null==(d=d$[a])?void 0:d.decimal)}return"NaN"===t&&(t=o),t}let dK=e=>{let{numberStep:t,formatStyle:l,value:n,unitConversion:o,unitConversionType:i,separator:r}=e;return dz({step:t,formatStyle:l,value:n,unitConversion:o,unitConversionType:i,separator:r})};class dU extends ar{renderComponent(e){let{addonBefore:t,addonAfter:l,style:n,className:o}=this.props,i=dK({...this.props,value:e});return i?(0,A.jsxs)("span",{className:o,style:n,children:[t,(0,A.jsx)("span",{dangerouslySetInnerHTML:{__html:i}}),l]}):null}}dU.define({label:(0,y.tExpr)("Number")});let dW=()=>{let e=(0,eM.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,G.B)();return(0,A.jsxs)(l_.A,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,A.jsx)(l_.A.Option,{value:"*",children:l("Multiply by")}),(0,A.jsx)(l_.A.Option,{value:"/",children:l("Divide by")})]})};dU.registerFlow({key:"numberSettings",sort:500,title:(0,y.tExpr)("Number settings"),steps:{format:{title:(0,y.tExpr)("Number format"),use:"numberFormat"}}}),y.DisplayItemModel.bindModelToInterface("DisplayNumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0});class dH extends ez.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,A.jsx)("div",{className:l,style:t,children:"********"}):(0,A.jsx)("div",{className:l,style:t})}}y.DisplayItemModel.bindModelToInterface("DisplayPasswordFieldModel",["password"],{isDefault:!0});class dG extends ar{renderComponent(e){let{addonBefore:t="",addonAfter:l="%",numberStep:n,style:o,className:i}=this.props,r=sF.LIG(100*e,9);if(null==e)return;let a=dK({...this.props,value:r,numberStep:n});return a?(0,A.jsxs)("div",{className:i,style:o,children:[t,(0,A.jsx)("span",{dangerouslySetInnerHTML:{__html:a}}),l]}):null}}dG.registerFlow({key:"numberSettings",sort:500,title:(0,y.tExpr)("Number settings"),steps:{format:{title:(0,y.tExpr)("Number format"),uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,y.tExpr)("Normal")},{value:"scientifix",label:(0,y.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,A.jsx)(dW,{})}},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","x-disabled":!0}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:n,separator:o,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:n,separator:o||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a||"%"}},handler(e,t){let{formatStyle:l,unitConversion:n,unitConversionType:o,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:n,unitConversionType:o,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}}}),dG.define({label:(0,y.tExpr)("Percent")}),y.DisplayItemModel.bindModelToInterface("DisplayPercentFieldModel",["percent"],{isDefault:!0});class dY extends ar{t(e){return"string"!=typeof e?e:e.startsWith("{{")&&e.endsWith("}}")?this.translate(e):e}renderComponent(e,t){let{prefix:l,suffix:n,overflowMode:o,style:i,className:r}=this.props;return(0,A.jsxs)("span",{className:r,style:{...i||{},whiteSpace:"wrap"===o||t?"pre-line":"nowrap"},children:[l,this.t(e),n]})}}dY.define({label:(0,y.tExpr)("Text")}),y.DisplayItemModel.bindModelToInterface("DisplayTextFieldModel",["input","email","phone","uuid","textarea","nanoid"],{isDefault:!0});class dJ extends dm{renderComponent(e){let{style:t,className:l}=this.props,n=e&&(0,A.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:e,className:l,style:{...t||{},overflowWrap:"anywhere"},children:e});return(0,A.jsx)(A.Fragment,{children:n})}}dJ.define({label:(0,y.tExpr)("URL")}),y.DisplayItemModel.bindModelToInterface("DisplayURLFieldModel",["url"],{isDefault:!0,when:e=>!0});class dX extends ar{renderComponent(e){let{prefix:t,suffix:l,style:n,className:o}=this.props,i=this.props.format||"HH:mm:ss",r=e&&a8()(e,"HH:mm:ss").format(i);return(0,A.jsxs)("span",{className:o,style:n,children:[t,r,l]})}}dX.registerFlow({key:"timeSettings",sort:1e3,title:(0,y.tExpr)("Time settings"),steps:{dateFormat:{title:(0,y.tExpr)("Time format"),use:"dateDisplayFormat"}}}),dX.define({label:(0,y.tExpr)("Time")}),y.DisplayItemModel.bindModelToInterface("DisplayTimeFieldModel",["time"],{isDefault:!0});var dQ=l(49901);class dZ extends ez.o{render(){let{value:e,showUnchecked:t,style:l,className:n}=this.props;return e?(0,A.jsx)(dQ.A,{className:n,style:{color:"#52c41a",...l||{}}}):t?(0,A.jsx)(nm.A,{className:n,style:{color:"#ff4d4f",...l||{}}}):(0,A.jsx)(nh.A,{className:n,style:l,disabled:!0})}}dZ.define({label:(0,y.tExpr)("Checkbox")}),y.DisplayItemModel.bindModelToInterface("DisplayCheckboxFieldModel",["checkbox"],{isDefault:!0});var d0=l(75811),d1=l(36161);function d2(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];let l=new Set,n=[],o=t.length?new Set(t):null,i=e=>{var t;if(!(null==e?void 0:e.uid)||l.has(e.uid))return;l.add(e.uid);let r=null==(t=e.getUserModifiedFields)?void 0:t.call(e);(null==r?void 0:r.size)&&!(null==o?void 0:o.has(e.uid))&&n.push(e.uid),Object.values(e.subModels||{}).forEach(e=>{j().castArray(e).forEach(e=>{e&&"object"==typeof e&&i(e)})})};return i(e),n}function d4(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=d2(e,t);return{hasDirtyForms:l.length>0,formModelUids:l}}function d5(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||!t.length)return;let l=new Set,n=new Set(t),o=e=>{if(!(!(null==e?void 0:e.uid)||l.has(e.uid))){if(l.add(e.uid),n.has(e.uid)){var t;null==(t=e.resetUserModifiedFields)||t.call(e)}Object.values(e.subModels||{}).forEach(e=>{j().castArray(e).forEach(e=>{e&&"object"==typeof e&&o(e)})})}};o(e)}function d8(e){return async t=>{let{result:l,force:n,ignoredDirtyFormModelUids:o}=t;if(n)return!0;let i=d4(e,o),r=!1,a=await e.dispatchEvent("close",{result:l,force:!1,dirty:i,controller:{prevent(){r=!0}}}),s=(null==a?void 0:a.__abortedByExitAll)===!0||!!Array.isArray(a)&&a.some(e=>e instanceof y.FlowExitAllException),d=!r&&!s;return d&&i.hasDirtyForms&&d5(e,i.formModelUids),d}}let d6=(0,y.defineAction)({name:"openView",title:(0,y.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,y.tExpr)("Open mode"),enum:[{label:(0,y.tExpr)("Drawer"),value:"drawer"},{label:(0,y.tExpr)("Dialog"),value:"dialog"},{label:(0,y.tExpr)("Page"),value:"embed"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,y.tExpr)("Popup size"),enum:[{label:(0,y.tExpr)("Small"),value:"small"},{label:(0,y.tExpr)("Medium"),value:"medium"},{label:(0,y.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "embed"}}'}}}}},hideInSettings:async e=>{var t,l,n,o;if(!e.model.getFlow("displayFieldSettings"))return!1;let i=null==(l=(n=e.model).getStepParams)||null==(t=l.call(n,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return void 0===i?!(null==(o=e.collectionField)?void 0:o.isAssociationField()):!1===i},defaultParams:async e=>{var t,l,n,o,i,r,a,s,d,u;let c,p=e.getPropertyMetaTree()||[],h=Array.isArray(p)&&p.some(e=>"record"===String(null==e?void 0:e.name)),m=(null==(t=e.collection)?void 0:t.filterTargetKey)||"id";if(null==(n=e.blockModel)||null==(l=n.resource)?void 0:l.resourceName){let t=e.collection.dataSource.collectionManager.getAssociation(null==(s=e.blockModel)||null==(a=s.resource)?void 0:a.resourceName);(null==t?void 0:t.interface)!=="m2m"&&(m=(null==t?void 0:t.targetKey)||m)}let f=h?`{{ ctx.record.${m} }}`:void 0;try{let t=null==(u=e.resource)||null==(d=u.getSourceId)?void 0:d.call(u);null!=t&&""!==String(t)&&(c="{{ ctx.resource.sourceId }}")}catch(e){}let g=null==(o=e.collection)?void 0:o.dataSourceKey,v=null==(i=e.collection)?void 0:i.name;return{mode:"drawer",size:"medium",pageModelClass:"ChildPageModel",uid:null==(r=e.model)?void 0:r.uid,...f?{filterByTk:f}:{},...c?{sourceId:c}:{},...g?{dataSourceKey:g}:{},...v?{collectionName:v}:{}}},async beforeParamsSave(e,t){if(null==t?void 0:t.uid){let l=e.engine;if(!(l.getModel(t.uid)||await l.loadModel({uid:t.uid})))throw Error(e.t("Popup UID not exists"))}},async handler(e,t){var l,n,o,i,r,a,s,d,u,c,p,h,m,f,g,v,y,b,x;let w=e.inputArgs||{},S=w.defineProperties??(null==(n=e.model.context)||null==(l=n.inputArgs)?void 0:l.defineProperties)??void 0,M=w.defineMethods??(null==(i=e.model.context)||null==(o=i.inputArgs)?void 0:o.defineMethods)??void 0,F=(null==(a=e.model)||null==(r=a.getInputArgs)?void 0:r.call(a))||{},k=(null==w?void 0:w.defaultInputKeys)||[],C=e=>{let l=void 0!==(null==w?void 0:w[e]),n=k.includes(e);return l&&!n?w[e]:void 0!==(null==t?void 0:t[e])?t[e]:l?w[e]:null==F?void 0:F[e]},P=(()=>{var t,l;let n=C("filterByTk");return(null==(t=e.collection)?void 0:t.template)==="sql"&&Array.isArray(null==(l=e.collection)?void 0:l.filterTargetKey)&&1===e.collection.filterTargetKey.length&&null!=n&&"object"!=typeof n?{[e.collection.filterTargetKey[0]]:n}:n})(),I=C("sourceId"),E=void 0!==(null==w?void 0:w.dataSourceKey)?w.dataSourceKey:null==t?void 0:t.dataSourceKey,R=void 0!==(null==w?void 0:w.collectionName)?w.collectionName:null==t?void 0:t.collectionName,_=void 0!==(null==w?void 0:w.associationName)?w.associationName:null==t?void 0:t.associationName,T=void 0!==w.tabUid?w.tabUid:t.tabUid,D=(null==(s=e.inputArgs)?void 0:s.isMobileLayout)?"embed":(null==(d=e.inputArgs)?void 0:d.mode)||t.mode||"drawer",N=void 0!==w.navigation?w.navigation:t.navigation;if((S||M)&&(N=!1),!1!==N&&!1!==e.isNavigationEnabled&&!e.inputArgs.navigation&&(null==(f=e.view)?void 0:f.navigation)){let l={type:D,inputArgs:{...e.inputArgs,dataSourceKey:E,collectionName:R,associationName:_,filterByTk:P,sourceId:I,tabUid:T,viewUid:(null==(v=e.model.context)||null==(g=v.inputArgs)?void 0:g.viewUid)||e.model.uid},navigation:null==(y=e.view)?void 0:y.navigation,preventClose:!!(null==t?void 0:t.preventClose),engineCtx:e.engine.context};e.model.context.defineProperty("view",{value:l});let n={viewUid:(null==(x=e.model.context)||null==(b=x.inputArgs)?void 0:b.viewUid)||e.model.uid,filterByTk:P,sourceId:I,tabUid:T};e.view.navigation.navigateTo(n);return}if((null==t?void 0:t.uid)&&t.uid!==e.model.uid)return void await e.openView(t.uid,{...w,...t||{},navigation:N,target:e.inputArgs.target||e.layoutContentElement,dataSourceKey:E??F.dataSourceKey,collectionName:R??F.collectionName,associationName:void 0!==_?_:F.associationName,filterByTk:P,sourceId:I,tabUid:T,...S?{defineProperties:S}:{},...M?{defineMethods:M}:{}});let O={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},$=e.inputArgs.pageModelClass||t.pageModelClass||"ChildPageModel",B=e.inputArgs.size||t.size||"medium",L=null,q=null,z=e.model.uid;if(t.subModelKey){let l=await e.engine.loadOrCreateModel({async:!0,parentId:e.model.uid,subKey:t.subModelKey,subType:"object",use:"FlowModel"},{skipSave:!e.flowSettingsEnabled});(null==l?void 0:l.uid)&&(z=l.uid)}let K=!!(null==(u=e.inputArgs)?void 0:u.navigation),U=(null==(p=e.view)||null==(c=p.inputArgs)?void 0:c.openerUids)||w.openerUids||[],W=K?w.openerUids||U:[...U,(null==(m=e.model.context)||null==(h=m.inputArgs)?void 0:h.viewUid)||e.model.uid],H=void 0!==w.preventClose?!!w.preventClose:!!t.preventClose,G={viewUid:e.model.uid,...e.inputArgs,...w,dataSourceKey:E,collectionName:R,associationName:_,tabUid:T,openerUids:W,pageActive:!0};G.filterByTk=P,G.sourceId=I,await e.viewer.open({type:D,triggerByRouter:G.triggerByRouter,inputArgs:j().omit(G,"triggerByRouter"),preventClose:H,destroyOnClose:!0,inheritContext:!1,target:e.inputArgs.target||e.layoutContentElement,width:O[D][B],content:t=>(e.inputArgs.destroyRef&&(e.inputArgs.destroyRef.current=t.destroy),e.inputArgs.updateRef&&(e.inputArgs.updateRef.current=t.update),(0,A.jsx)(V,{parentId:z,pageModelClass:$,onModelLoaded:(l,n)=>{var o,i,r,a;L=l;let s=n||e.engine.getModel(L);if(q=s||null,!s)return;t.beforeClose=d8(s);let d=w.defineProperties??(null==(i=e.model.context)||null==(o=i.inputArgs)?void 0:o.defineProperties)??{},u=w.defineMethods??(null==(a=e.model.context)||null==(r=a.inputArgs)?void 0:r.defineMethods)??{};s.context.defineProperty("currentView",{get:()=>t}),s.context.defineProperty("flowSettingsEnabled",{get:()=>e.flowSettingsEnabled,cache:!1}),s.context.defineProperty("view",{get:()=>t}),s.context.defineProperty("closable",{get:()=>"embed"!==D}),s instanceof e6&&s.context.defineProperty("pageActive",{get:()=>e.pageActive}),Object.entries(d).forEach(e=>{let[t,l]=e;s.context.defineProperty(t,l)}),Object.entries(u).forEach(e=>{let[t,l]=e;s.context.defineMethod(t,l)}),s.invalidateFlowCache("beforeRender",!0),s._rerunLastAutoRun()},defaultTabTitle:e.model.defaultPopupTitle})),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===D?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}},onClose:()=>{if(L){let t=q||e.model.flowEngine.getModel(L);null==t||t.invalidateFlowCache("beforeRender",!0)}},onOpen:e.inputArgs.onOpen})}}),d3=(0,y.defineAction)({name:"runjs",title:(0,y.tExpr)("Execute JavaScript"),scene:[y.ActionScene.DYNAMIC_EVENT_FLOW],sort:1e4,useRawParams:!0,uiSchema:{code:{type:"string","x-component":tM.BY,"x-component-props":{enableLinter:!0,height:"200px",scene:"eventFlow"}}},async handler(e,t){var l;if(null==(l=e.inputArgs)?void 0:l.navigation)return;let n=(0,y.createSafeNavigator)();return e.runjs(t.code,{window:(0,y.createSafeWindow)({navigator:n}),document:(0,y.createSafeDocument)(),navigator:n})}}),d9=3;function d7(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d9;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let ue=(0,y.defineAction)({name:"showMessage",title:(0,y.tExpr)("Show message"),scene:y.ActionScene.DYNAMIC_EVENT_FLOW,sort:500,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,n=(0,y.useFlowContext)(),o=n.model.translate.bind(n.model),i={type:t.type??"info",content:t.content||"",duration:d7(t.duration)},r=e=>{l({...i,...e})},a=e=>{r({type:e.target.value})},s=e=>{r({content:e.target.value})},d=e=>{r({duration:d7(e)})},u=e=>(0,A.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,A.jsxs)("div",{children:[u(o("Message type")),(0,A.jsxs)(np.Ay.Group,{value:i.type,onChange:a,children:[(0,A.jsx)(np.Ay,{value:"success",children:o("Success")}),(0,A.jsx)(np.Ay,{value:"error",children:o("Error")}),(0,A.jsx)(np.Ay,{value:"info",children:o("Info")}),(0,A.jsx)(np.Ay,{value:"warning",children:o("Warning")}),(0,A.jsx)(np.Ay,{value:"loading",children:o("Loading")})]})]}),(0,A.jsxs)("div",{children:[u(o("Message content")),(0,A.jsx)(eF.A.TextArea,{value:i.content,onChange:s,placeholder:o("Please input message content"),rows:3,style:{width:"100%"}})]}),(0,A.jsxs)("div",{children:[u(o("Duration (seconds, 0 = no auto close)")),(0,A.jsx)(oi.A,{value:i.duration,onChange:d,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:n="info",content:o,duration:i=d9}=l||{type:"info",content:"",duration:d9},r=d7(i);if(!o)return;let a=`flow-message-${(0,w.uid)()}`,s=0===r?(0,A.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[(0,A.jsx)("span",{children:o}),(0,A.jsx)(nm.A,{role:"button","aria-label":"close message",style:{color:"rgba(0, 0, 0, 0.45)",cursor:"pointer",fontSize:"12px"},onClick:()=>{var t,l;return null==(t=(l=e.message).destroy)?void 0:t.call(l,a)}})]}):o,d={key:a,type:n,content:s,duration:r};e.message.open(d)}}),ut=5;function ul(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ut;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let un=(0,y.defineAction)({name:"showNotification",title:(0,y.tExpr)("Show notification"),scene:y.ActionScene.DYNAMIC_EVENT_FLOW,sort:600,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,n=(0,y.useFlowContext)(),o=n.model.translate.bind(n.model),i={type:t.type??"info",title:t.title||"",description:t.description||"",duration:ul(t.duration),placement:t.placement??"topRight"},r=e=>{l({...i,...e})},a=e=>{r({type:e.target.value})},s=e=>{r({title:e.target.value})},d=e=>{r({description:e.target.value})},u=e=>{r({duration:ul(e)})},c=e=>{r({placement:e})},p=[{label:o("Top left"),value:"topLeft"},{label:o("Top right"),value:"topRight"},{label:o("Bottom left"),value:"bottomLeft"},{label:o("Bottom right"),value:"bottomRight"}],h=e=>(0,A.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,A.jsxs)("div",{children:[h(o("Notification type")),(0,A.jsxs)(np.Ay.Group,{value:i.type,onChange:a,children:[(0,A.jsx)(np.Ay,{value:"success",children:o("Success")}),(0,A.jsx)(np.Ay,{value:"error",children:o("Error")}),(0,A.jsx)(np.Ay,{value:"info",children:o("Info")}),(0,A.jsx)(np.Ay,{value:"warning",children:o("Warning")})]})]}),(0,A.jsxs)("div",{children:[h(o("Notification title")),(0,A.jsx)(eF.A,{value:i.title,onChange:s,placeholder:o("Please input notification title"),style:{width:"100%"}})]}),(0,A.jsxs)("div",{children:[h(o("Notification description")),(0,A.jsx)(eF.A.TextArea,{value:i.description,onChange:d,placeholder:o("Please input notification description"),rows:3,style:{width:"100%"}})]}),(0,A.jsxs)("div",{children:[h(o("Placement")),(0,A.jsx)(l_.A,{value:i.placement,onChange:c,options:p,style:{width:"100%"}})]}),(0,A.jsxs)("div",{children:[h(o("Duration (seconds, 0 = no auto close)")),(0,A.jsx)(oi.A,{value:i.duration,onChange:u,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:n="info",title:o,description:i,duration:r=ut,placement:a="topRight"}=l||{type:"info",title:"",description:"",duration:ut,placement:"topRight"},s=ul(r);(o||i)&&e.notification.open({type:n,message:o,description:i,duration:s,placement:a})}}),uo=(0,y.defineAction)({name:"navigateToURL",title:(0,y.tExpr)("Navigate to URL"),scene:y.ActionScene.DYNAMIC_EVENT_FLOW,sort:400,uiSchema:{value:{type:"object",properties:{url:{title:(0,y.tExpr)("URL"),type:"string","x-decorator":"FormItem","x-component":S.n,description:'{{t("Do not concatenate search params in the URL")}}',required:!0},searchParams:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{t("Search parameters")}}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,tH.css)`
739
739
  & > .ant-space-item:first-child {
740
740
  flex: 3;
741
741
  }
@@ -747,7 +747,7 @@ ctx.render(<JsItem />);
747
747
  flex-shrink: 0;
748
748
  flex: 1;
749
749
  }
750
- `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":S.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{t("Add parameter")}}',"x-component":"ArrayItems.Addition"}}},openInNewWindow:{type:"boolean","x-content":'{{t("Open in new window")}}',"x-decorator":"FormItem","x-component":"Checkbox"}}}},async handler(e,t){let{value:l}=t,{url:n,searchParams:o=[],openInNewWindow:i=!1}=l||{url:"",searchParams:[],openInNewWindow:!1};if(!n)return;let r=n;if(o&&o.length>0){let e=new URL(n,globalThis.location.origin);for(let t of o)t.name&&void 0!==t.value&&e.searchParams.append(t.name,t.value);r=e.pathname+e.search+e.hash}i?globalThis.open(r,"_blank"):e.router.navigate(r)}});var d7=l(18182);let ue=(0,y.defineAction)({name:"customVariable",title:(0,y.tExpr)("Custom variable"),scene:[y.ActionScene.DYNAMIC_EVENT_FLOW],sort:100,uiSchema:{variables:{type:"array","x-component":uo,"x-component-props":{}}},async handler(e,t){let{variables:l=[]}=t;l.forEach(t=>{if("runjs"===t.type){let l=async()=>{let{code:l,version:n}=(0,y.normalizeRunJSValue)(t.runjs);return(0,y.runjsWithSafeGlobals)(e,l,{version:n})},n=()=>({title:t.title,type:"any"});n.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:n});return}let l=()=>{var l;let n=e.model.flowEngine.getModel(t.formUid);return null==n||null==(l=n.form)?void 0:l.getFieldsValue(!0)},n=()=>{var l;let n=e.model.flowEngine.getModel(t.formUid),o=null==n||null==(l=n.subModels)?void 0:l.grid,i={};return o?(o.mapSubModels("items",e=>{i[e.props.name]={title:e.props.label,type:"string"}}),{title:t.title,type:"object",properties:i}):void console.warn(`Not found form or form has no grid: ${t.formUid}`)};n.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:n})})}}),ut={formValue:(0,y.tExpr)("Form variable"),runjs:(0,y.tExpr)("JS variable")},ul=()=>`var_${(0,ef.uid)().slice(0,4)}`,un=()=>({code:"",version:"v2"});function uo(e){let{value:t=[],onChange:l,disabled:n}=e,o=(0,y.useFlowContext)(),i=k.useMemo(()=>o.model.translate.bind(o.model),[o.model]),[r]=t5.A.useForm(),[a,s]=k.useState(!1),[d,u]=k.useState(null),[c,p]=k.useState("formValue"),h=k.useCallback(()=>{r.resetFields(),r.setFieldsValue({key:ul(),title:"",formUid:"",runjs:un()})},[r]),m=k.useCallback((e,l)=>{if(p(e),u(l),null===l)h();else{let e=t[l];if(!e)return;r.setFieldsValue({key:e.key,title:e.title,formUid:"formValue"===e.type?e.formUid:"",runjs:"runjs"===e.type?(0,y.normalizeRunJSValue)(e.runjs):un()})}s(!0)},[r,h,t]),f=k.useCallback(()=>{s(!1),u(null),h()},[h]),g=k.useCallback(async()=>{let e=await r.validateFields(),n="runjs"===c?{key:e.key,title:e.title,type:"runjs",runjs:(0,y.normalizeRunJSValue)(e.runjs)}:{key:e.key,title:e.title,type:"formValue",formUid:e.formUid},o=[...t];null===d?o.push(n):o.splice(d,1,n),null==l||l(o),f()},[f,c,d,r,l,t]),v=k.useCallback(e=>{d7.A.confirm({title:i("Delete variable"),content:i("Are you sure you want to delete this variable?"),okText:i("Confirm"),cancelText:i("Cancel"),onOk:()=>{let n=t.filter((t,l)=>l!==e);null==l||l(n)}})},[l,i,t]),b=k.useCallback(e=>{n||m(e,null)},[n,m]),x=k.useCallback(e=>{if(n)return;let l=t[e];l&&m(l.type,e)},[n,m,t]),w=k.useMemo(()=>[{title:i("Title"),dataIndex:"title",key:"title",ellipsis:!0,render:e=>(0,A.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Identifier"),dataIndex:"key",key:"key",ellipsis:!0,render:e=>(0,A.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Type"),dataIndex:"type",key:"type",ellipsis:!0,render:e=>(0,A.jsx)(lT.A,{style:{whiteSpace:"nowrap"},children:i(ut[e]||e)})},{title:i("Actions"),key:"actions",render:(e,t,l)=>(0,A.jsxs)(eg.A,{size:12,style:{whiteSpace:"nowrap"},children:[(0,A.jsx)(H.Ay,{type:"link",size:"small",icon:(0,A.jsx)(ik.A,{}),onClick:()=>x(l),disabled:n,title:i("Edit")}),(0,A.jsx)(H.Ay,{type:"link",size:"small",icon:(0,A.jsx)(ok.A,{}),danger:!0,onClick:()=>v(l),disabled:n,title:i("Delete")})]})}],[n,v,x,i]),S=k.useMemo(()=>({items:[{key:"formValue",label:i(ut.formValue)},{key:"runjs",label:i(ut.runjs)}],onClick:e=>{let{key:t}=e;return b(t)}}),[b,i]);return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,A.jsx)(iC.A,{rowKey:"key",columns:w,dataSource:t,pagination:!1,locale:{emptyText:i("No data")},size:"small",scroll:{x:"max-content"},bordered:!0}),(0,A.jsx)(oj.A,{menu:S,trigger:["hover"],disabled:n,children:(0,A.jsx)(H.Ay,{type:"dashed",block:!0,icon:(0,A.jsx)(eo.A,{}),disabled:n,children:i("Add variable")})}),(0,A.jsx)(d7.A,{open:a,title:null===d?i("Add variable"):i("Edit variable"),onCancel:f,onOk:g,okText:i("Confirm"),cancelText:i("Cancel"),destroyOnClose:!0,maskClosable:!1,okButtonProps:{disabled:n},cancelButtonProps:{disabled:n},children:(0,A.jsxs)(t5.A,{form:r,layout:"vertical",disabled:n,children:[(0,A.jsx)(t5.A.Item,{label:i("Variable title"),name:"title",rules:[{required:!0,message:i("Please enter variable title")}],children:(0,A.jsx)(eF.A,{placeholder:i("Please enter variable title")})}),(0,A.jsx)(t5.A.Item,{label:i("Variable identifier"),name:"key",rules:[{required:!0,message:i("Please enter variable identifier")}],children:(0,A.jsx)(eF.A,{placeholder:i("Please enter variable identifier")})}),"formValue"===c?(0,A.jsx)(t5.A.Item,{label:i("Form UID"),name:"formUid",rules:[{required:!0,message:i("Please enter form uid")}],children:(0,A.jsx)(eF.A,{placeholder:i("Please enter form uid")})}):null,"runjs"===c?(0,A.jsx)(t5.A.Item,{label:i("JavaScript"),name:"runjs",rules:[{validator:async(e,t)=>{if(!(0,y.isRunJSValue)(t)||!(0,y.normalizeRunJSValue)(t).code.trim())throw Error(i("Please enter JavaScript code"))}}],children:(0,A.jsx)(lv.h,{t:i,scene:"eventFlow",height:"240px",containerStyle:{width:"100%"}})}):null]})})]})}let ui=(0,y.defineAction)({name:"refreshTargetBlocks",title:(0,y.tExpr)("Refresh target blocks"),scene:[y.ActionScene.DYNAMIC_EVENT_FLOW],sort:300,uiSchema:{targets:{type:"array","x-component":ur,"x-component-props":{}}},async handler(e,t){let{targets:l=[]}=t;l.forEach(t=>{let l=e.engine.getModel(t,!0);l?l.refresh():console.warn(`Not found model: ${t}`)})}});function ur(e){let{value:t=[],onChange:l}=e,{t:n}=(0,G.B)(),o=(0,y.useFlowContext)().themeToken,i=t.length>0?t:[""],r=(e,t)=>{let n=[...i];n[e]=t,null==l||l(n)},a=e=>{let t=i.filter((t,l)=>l!==e);null==l||l(t.length>0?t:[""])},s=()=>{null==l||l([...i,""])};return(0,A.jsxs)(eg.A,{direction:"vertical",size:8,style:{width:"100%"},children:[i.map((e,t)=>(0,A.jsxs)(eg.A,{style:{width:"100%"},size:8,children:[(0,A.jsx)(eF.A,{placeholder:n("Target block uid"),value:e,onChange:e=>r(t,e.target.value),style:{flex:1}}),i.length>1&&(0,A.jsx)(H.Ay,{type:"text",icon:(0,A.jsx)(nm.A,{}),onClick:()=>a(t),"aria-label":n("Remove"),style:{color:o.colorTextSecondary}})]},`target-${t}-${e}`)),(0,A.jsx)(H.Ay,{type:"dashed",block:!0,icon:(0,A.jsx)(eo.A,{}),onClick:s,children:n("Add target block")})]})}function ua(e){if(!e)return!1;let t=(0,y.extractUsedVariablePaths)(e)||{};return Object.prototype.hasOwnProperty.call(t,"clickedRowRecord")}function us(e,t){var l;return(null==(l=e.inputArgs)?void 0:l.selected)===!1&&ua(t.filter)}function ud(e,t,l){if(!us(e,t))return T(t.filter,l.filter)}function uu(e){var t,l;return!!e.hasData()||(null==(t=e.getMeta)?void 0:t.call(e,"count"))!==void 0||(null==(l=e.getMeta)?void 0:l.call(e,"hasNext"))!==void 0}let uc=(0,y.defineAction)({name:"setTargetDataScope",title:(0,y.tExpr)("Set data scope"),scene:[y.ActionScene.DYNAMIC_EVENT_FLOW],sort:200,uiSchema:{targetBlockUid:{type:"string",title:(0,y.tExpr)("Target block UID"),"x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:(0,y.tExpr)("Please enter the target block UID")}},filter:{type:"object",title:(0,y.tExpr)("Condition"),"x-decorator":"FormItem","x-component":up,"x-reactions":[{dependencies:["targetBlockUid"],fulfill:{state:{componentProps:{uid:"{{$deps[0]}}"},hidden:"{{!$deps[0]}}"}}}]}},defaultParams:e=>({targetBlockUid:"",filter:{logic:"$and",items:[]}}),useRawParams:!0,async handler(e,t){let l=await e.resolveJsonTemplate(t),n=l.targetBlockUid;if(!n)return;let o=e.model,i=ud(e,t,l);o.scheduleModelOperation(n,t=>{let l=t.resource;l&&((0,w.isEmptyFilter)(i)?l.removeFilterGroup(`setTargetDataScope_${e.model.uid}`):l.addFilterGroup(`setTargetDataScope_${e.model.uid}`,i),uu(l)&&l.refresh())})}});function up(e){let t=(0,y.useFlowContext)(),l=e.uid,n=t.engine.getModel(l,!0);return n?(0,A.jsx)(C.I8,{value:e.value,FilterItem:e=>(0,A.jsx)(C.Et,{...e,model:n,rightAsVariable:!0})}):(0,A.jsxs)("div",{style:{color:t.themeToken.colorError},children:[t.t("Cannot find the model instance with UID"),": ",l]})}let uh=e=>"string"==typeof e?e:Array.isArray(e)&&1===e.length?e[0]:void 0,um=(e,t)=>{var l;if(!e)return null;let n=t||(null==(l=e.titleCollectionField)?void 0:l.name)||uh(e.filterTargetKey);return n?e.getField(n):null},uf=(0,y.defineAction)({name:"titleField",title:(0,y.tExpr)("Title field"),uiMode:e=>{var t,l,n,o;let i=e.collectionField.targetCollection,r=e.dataSourceManager||(null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager)||(null==(n=e.app)?void 0:n.dataSourceManager);return{type:"select",key:"label",props:{options:((null==i||null==(o=i.getFields)?void 0:o.call(i))??[]).filter(e=>{var t;return(0,b.w)("function"==typeof e.getInterfaceOptions?e.getInterfaceOptions():(0,b.w6)((null==(t=e.options)?void 0:t.interface)||e.interface,r))}).map(e=>({value:e.name,label:null==e?void 0:e.title}))}}},defaultParams:e=>{var t,l,n,o,i;let r=null==(n=e.model)||null==(l=n.context)||null==(t=l.collectionField)?void 0:t.targetCollectionTitleFieldName;return{label:(null==(i=e.model.parent)||null==(o=i.props)?void 0:o.titleField)||e.model.props.titleField||r}},hideInSettings:async e=>{var t;return!e.collectionField||!e.collectionField.isAssociationField()||(null==(t=e.model.subModels.field)?void 0:t.disableTitleField)},beforeParamsSave:async(e,t,l)=>{let n=e.model.collectionField.target,o=e.model.collectionField.targetCollection;if(t.label!==l.label){var i;let l=null==(i=e.model.subModels.field)?void 0:i.uid;l&&await e.engine.destroyModel(l);let r=um(o,t.label);if(!r)return;let a=y.DisplayItemModel.getDefaultBindingByField(e,r);if(!a)return;let s=a.modelName,d=e.model.setSubModel("field",{use:s,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:n,fieldPath:t.label}}}});await d.save(),await d.dispatchEvent("beforeRender"),await e.model.save()}},async handler(e,t){let l=e.model.collectionField.target,n=e.model.collectionField.targetCollection,o=um(n,t.label);if(!o)return;let i={value:uh(n.filterTargetKey)||o.name,label:o.name};e.model.setProps({fieldNames:i});let r=y.DisplayItemModel.getDefaultBindingByField(e,o);if(!r)return;let a=r.modelName;if(!e.model.subModels.field){let t=e.model.setSubModel("field",{use:a,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:l,fieldPath:i.label}}}});await t.dispatchEvent("beforeRender")}}}),ug=(0,y.defineAction)({title:(0,y.tExpr)("Date display format"),name:"dateDisplayFormat",uiSchema:e=>{let{collectionField:t}=e.model.context,l=t.type,n={type:"string",title:'{{t("Time format")}}',"x-component":o9.S5,"x-decorator":"FormItem","x-component-props":{className:(0,tH.css)`
750
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":S.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{t("Add parameter")}}',"x-component":"ArrayItems.Addition"}}},openInNewWindow:{type:"boolean","x-content":'{{t("Open in new window")}}',"x-decorator":"FormItem","x-component":"Checkbox"}}}},async handler(e,t){let{value:l}=t,{url:n,searchParams:o=[],openInNewWindow:i=!1}=l||{url:"",searchParams:[],openInNewWindow:!1};if(!n)return;let r=n;if(o&&o.length>0){let e=new URL(n,globalThis.location.origin);for(let t of o)t.name&&void 0!==t.value&&e.searchParams.append(t.name,t.value);r=e.pathname+e.search+e.hash}i?globalThis.open(r,"_blank"):e.router.navigate(r)}});var ui=l(18182);let ur=(0,y.defineAction)({name:"customVariable",title:(0,y.tExpr)("Custom variable"),scene:[y.ActionScene.DYNAMIC_EVENT_FLOW],sort:100,uiSchema:{variables:{type:"array","x-component":uu,"x-component-props":{}}},async handler(e,t){let{variables:l=[]}=t;l.forEach(t=>{if("runjs"===t.type){let l=async()=>{let{code:l,version:n}=(0,y.normalizeRunJSValue)(t.runjs);return(0,y.runjsWithSafeGlobals)(e,l,{version:n})},n=()=>({title:t.title,type:"any"});n.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:n});return}let l=()=>{var l;let n=e.model.flowEngine.getModel(t.formUid);return null==n||null==(l=n.form)?void 0:l.getFieldsValue(!0)},n=()=>{var l;let n=e.model.flowEngine.getModel(t.formUid),o=null==n||null==(l=n.subModels)?void 0:l.grid,i={};return o?(o.mapSubModels("items",e=>{i[e.props.name]={title:e.props.label,type:"string"}}),{title:t.title,type:"object",properties:i}):void console.warn(`Not found form or form has no grid: ${t.formUid}`)};n.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:n})})}}),ua={formValue:(0,y.tExpr)("Form variable"),runjs:(0,y.tExpr)("JS variable")},us=()=>`var_${(0,ef.uid)().slice(0,4)}`,ud=()=>({code:"",version:"v2"});function uu(e){let{value:t=[],onChange:l,disabled:n}=e,o=(0,y.useFlowContext)(),i=k.useMemo(()=>o.model.translate.bind(o.model),[o.model]),[r]=t5.A.useForm(),[a,s]=k.useState(!1),[d,u]=k.useState(null),[c,p]=k.useState("formValue"),h=k.useCallback(()=>{r.resetFields(),r.setFieldsValue({key:us(),title:"",formUid:"",runjs:ud()})},[r]),m=k.useCallback((e,l)=>{if(p(e),u(l),null===l)h();else{let e=t[l];if(!e)return;r.setFieldsValue({key:e.key,title:e.title,formUid:"formValue"===e.type?e.formUid:"",runjs:"runjs"===e.type?(0,y.normalizeRunJSValue)(e.runjs):ud()})}s(!0)},[r,h,t]),f=k.useCallback(()=>{s(!1),u(null),h()},[h]),g=k.useCallback(async()=>{let e=await r.validateFields(),n="runjs"===c?{key:e.key,title:e.title,type:"runjs",runjs:(0,y.normalizeRunJSValue)(e.runjs)}:{key:e.key,title:e.title,type:"formValue",formUid:e.formUid},o=[...t];null===d?o.push(n):o.splice(d,1,n),null==l||l(o),f()},[f,c,d,r,l,t]),v=k.useCallback(e=>{ui.A.confirm({title:i("Delete variable"),content:i("Are you sure you want to delete this variable?"),okText:i("Confirm"),cancelText:i("Cancel"),onOk:()=>{let n=t.filter((t,l)=>l!==e);null==l||l(n)}})},[l,i,t]),b=k.useCallback(e=>{n||m(e,null)},[n,m]),x=k.useCallback(e=>{if(n)return;let l=t[e];l&&m(l.type,e)},[n,m,t]),w=k.useMemo(()=>[{title:i("Title"),dataIndex:"title",key:"title",ellipsis:!0,render:e=>(0,A.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Identifier"),dataIndex:"key",key:"key",ellipsis:!0,render:e=>(0,A.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Type"),dataIndex:"type",key:"type",ellipsis:!0,render:e=>(0,A.jsx)(lT.A,{style:{whiteSpace:"nowrap"},children:i(ua[e]||e)})},{title:i("Actions"),key:"actions",render:(e,t,l)=>(0,A.jsxs)(eg.A,{size:12,style:{whiteSpace:"nowrap"},children:[(0,A.jsx)(H.Ay,{type:"link",size:"small",icon:(0,A.jsx)(ik.A,{}),onClick:()=>x(l),disabled:n,title:i("Edit")}),(0,A.jsx)(H.Ay,{type:"link",size:"small",icon:(0,A.jsx)(ok.A,{}),danger:!0,onClick:()=>v(l),disabled:n,title:i("Delete")})]})}],[n,v,x,i]),S=k.useMemo(()=>({items:[{key:"formValue",label:i(ua.formValue)},{key:"runjs",label:i(ua.runjs)}],onClick:e=>{let{key:t}=e;return b(t)}}),[b,i]);return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,A.jsx)(iC.A,{rowKey:"key",columns:w,dataSource:t,pagination:!1,locale:{emptyText:i("No data")},size:"small",scroll:{x:"max-content"},bordered:!0}),(0,A.jsx)(oj.A,{menu:S,trigger:["hover"],disabled:n,children:(0,A.jsx)(H.Ay,{type:"dashed",block:!0,icon:(0,A.jsx)(eo.A,{}),disabled:n,children:i("Add variable")})}),(0,A.jsx)(ui.A,{open:a,title:null===d?i("Add variable"):i("Edit variable"),onCancel:f,onOk:g,okText:i("Confirm"),cancelText:i("Cancel"),destroyOnClose:!0,maskClosable:!1,okButtonProps:{disabled:n},cancelButtonProps:{disabled:n},children:(0,A.jsxs)(t5.A,{form:r,layout:"vertical",disabled:n,children:[(0,A.jsx)(t5.A.Item,{label:i("Variable title"),name:"title",rules:[{required:!0,message:i("Please enter variable title")}],children:(0,A.jsx)(eF.A,{placeholder:i("Please enter variable title")})}),(0,A.jsx)(t5.A.Item,{label:i("Variable identifier"),name:"key",rules:[{required:!0,message:i("Please enter variable identifier")}],children:(0,A.jsx)(eF.A,{placeholder:i("Please enter variable identifier")})}),"formValue"===c?(0,A.jsx)(t5.A.Item,{label:i("Form UID"),name:"formUid",rules:[{required:!0,message:i("Please enter form uid")}],children:(0,A.jsx)(eF.A,{placeholder:i("Please enter form uid")})}):null,"runjs"===c?(0,A.jsx)(t5.A.Item,{label:i("JavaScript"),name:"runjs",rules:[{validator:async(e,t)=>{if(!(0,y.isRunJSValue)(t)||!(0,y.normalizeRunJSValue)(t).code.trim())throw Error(i("Please enter JavaScript code"))}}],children:(0,A.jsx)(lv.h,{t:i,scene:"eventFlow",height:"240px",containerStyle:{width:"100%"}})}):null]})})]})}let uc=(0,y.defineAction)({name:"refreshTargetBlocks",title:(0,y.tExpr)("Refresh target blocks"),scene:[y.ActionScene.DYNAMIC_EVENT_FLOW],sort:300,uiSchema:{targets:{type:"array","x-component":up,"x-component-props":{}}},async handler(e,t){let{targets:l=[]}=t;l.forEach(t=>{let l=e.engine.getModel(t,!0);l?l.refresh():console.warn(`Not found model: ${t}`)})}});function up(e){let{value:t=[],onChange:l}=e,{t:n}=(0,G.B)(),o=(0,y.useFlowContext)().themeToken,i=t.length>0?t:[""],r=(e,t)=>{let n=[...i];n[e]=t,null==l||l(n)},a=e=>{let t=i.filter((t,l)=>l!==e);null==l||l(t.length>0?t:[""])},s=()=>{null==l||l([...i,""])};return(0,A.jsxs)(eg.A,{direction:"vertical",size:8,style:{width:"100%"},children:[i.map((e,t)=>(0,A.jsxs)(eg.A,{style:{width:"100%"},size:8,children:[(0,A.jsx)(eF.A,{placeholder:n("Target block uid"),value:e,onChange:e=>r(t,e.target.value),style:{flex:1}}),i.length>1&&(0,A.jsx)(H.Ay,{type:"text",icon:(0,A.jsx)(nm.A,{}),onClick:()=>a(t),"aria-label":n("Remove"),style:{color:o.colorTextSecondary}})]},`target-${t}-${e}`)),(0,A.jsx)(H.Ay,{type:"dashed",block:!0,icon:(0,A.jsx)(eo.A,{}),onClick:s,children:n("Add target block")})]})}function uh(e){if(!e)return!1;let t=(0,y.extractUsedVariablePaths)(e)||{};return Object.prototype.hasOwnProperty.call(t,"clickedRowRecord")}function um(e,t){var l;return(null==(l=e.inputArgs)?void 0:l.selected)===!1&&uh(t.filter)}function uf(e,t,l){if(!um(e,t))return T(t.filter,l.filter)}function ug(e){var t,l;return!!e.hasData()||(null==(t=e.getMeta)?void 0:t.call(e,"count"))!==void 0||(null==(l=e.getMeta)?void 0:l.call(e,"hasNext"))!==void 0}let uv=(0,y.defineAction)({name:"setTargetDataScope",title:(0,y.tExpr)("Set data scope"),scene:[y.ActionScene.DYNAMIC_EVENT_FLOW],sort:200,uiSchema:{targetBlockUid:{type:"string",title:(0,y.tExpr)("Target block UID"),"x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:(0,y.tExpr)("Please enter the target block UID")}},filter:{type:"object",title:(0,y.tExpr)("Condition"),"x-decorator":"FormItem","x-component":uy,"x-reactions":[{dependencies:["targetBlockUid"],fulfill:{state:{componentProps:{uid:"{{$deps[0]}}"},hidden:"{{!$deps[0]}}"}}}]}},defaultParams:e=>({targetBlockUid:"",filter:{logic:"$and",items:[]}}),useRawParams:!0,async handler(e,t){let l=await e.resolveJsonTemplate(t),n=l.targetBlockUid;if(!n)return;let o=e.model,i=uf(e,t,l);o.scheduleModelOperation(n,t=>{let l=t.resource;l&&((0,w.isEmptyFilter)(i)?l.removeFilterGroup(`setTargetDataScope_${e.model.uid}`):l.addFilterGroup(`setTargetDataScope_${e.model.uid}`,i),ug(l)&&l.refresh())})}});function uy(e){let t=(0,y.useFlowContext)(),l=e.uid,n=t.engine.getModel(l,!0);return n?(0,A.jsx)(C.I8,{value:e.value,FilterItem:e=>(0,A.jsx)(C.Et,{...e,model:n,rightAsVariable:!0})}):(0,A.jsxs)("div",{style:{color:t.themeToken.colorError},children:[t.t("Cannot find the model instance with UID"),": ",l]})}let ub=e=>"string"==typeof e?e:Array.isArray(e)&&1===e.length?e[0]:void 0,ux=(e,t)=>{var l;if(!e)return null;let n=t||(null==(l=e.titleCollectionField)?void 0:l.name)||ub(e.filterTargetKey);return n?e.getField(n):null},uw=(0,y.defineAction)({name:"titleField",title:(0,y.tExpr)("Title field"),uiMode:e=>{var t,l,n,o;let i=e.collectionField.targetCollection,r=e.dataSourceManager||(null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager)||(null==(n=e.app)?void 0:n.dataSourceManager);return{type:"select",key:"label",props:{options:((null==i||null==(o=i.getFields)?void 0:o.call(i))??[]).filter(e=>{var t;return(0,b.w)("function"==typeof e.getInterfaceOptions?e.getInterfaceOptions():(0,b.w6)((null==(t=e.options)?void 0:t.interface)||e.interface,r))}).map(e=>({value:e.name,label:null==e?void 0:e.title}))}}},defaultParams:e=>{var t,l,n,o,i;let r=null==(n=e.model)||null==(l=n.context)||null==(t=l.collectionField)?void 0:t.targetCollectionTitleFieldName;return{label:(null==(i=e.model.parent)||null==(o=i.props)?void 0:o.titleField)||e.model.props.titleField||r}},hideInSettings:async e=>{var t;return!e.collectionField||!e.collectionField.isAssociationField()||(null==(t=e.model.subModels.field)?void 0:t.disableTitleField)},beforeParamsSave:async(e,t,l)=>{let n=e.model.collectionField.target,o=e.model.collectionField.targetCollection;if(t.label!==l.label){var i;let l=null==(i=e.model.subModels.field)?void 0:i.uid;l&&await e.engine.destroyModel(l);let r=ux(o,t.label);if(!r)return;let a=y.DisplayItemModel.getDefaultBindingByField(e,r);if(!a)return;let s=a.modelName,d=e.model.setSubModel("field",{use:s,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:n,fieldPath:t.label}}}});await d.save(),await d.dispatchEvent("beforeRender"),await e.model.save()}},async handler(e,t){let l=e.model.collectionField.target,n=e.model.collectionField.targetCollection,o=ux(n,t.label);if(!o)return;let i={value:ub(n.filterTargetKey)||o.name,label:o.name};e.model.setProps({fieldNames:i});let r=y.DisplayItemModel.getDefaultBindingByField(e,o);if(!r)return;let a=r.modelName;if(!e.model.subModels.field){let t=e.model.setSubModel("field",{use:a,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:l,fieldPath:i.label}}}});await t.dispatchEvent("beforeRender")}}}),uS=(0,y.defineAction)({title:(0,y.tExpr)("Date display format"),name:"dateDisplayFormat",uiSchema:e=>{let{collectionField:t}=e.model.context,l=t.type,n={type:"string",title:'{{t("Time format")}}',"x-component":o9.S5,"x-decorator":"FormItem","x-component-props":{className:(0,tH.css)`
751
751
  .ant-radio-wrapper {
752
752
  display: flex;
753
753
  margin: 5px 0px;
@@ -757,7 +757,7 @@ ctx.render(<JsItem />);
757
757
  display: flex;
758
758
  margin: 5px 0px;
759
759
  }
760
- `,defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},enum:[{label:(0,o9.b2)({format:"MMMM Do YYYY"}),value:"MMMM Do YYYY"},{label:(0,o9.b2)({format:"YYYY-MM-DD"}),value:"YYYY-MM-DD"},{label:(0,o9.b2)({format:"MM/DD/YY"}),value:"MM/DD/YY"},{label:(0,o9.b2)({format:"YYYY/MM/DD"}),value:"YYYY/MM/DD"},{label:(0,o9.b2)({format:"DD/MM/YYYY"}),value:"DD/MM/YYYY"},{label:(0,y.tExpr)("Custom"),value:"custom"}],"x-reactions":[e=>{let{picker:t}=e.form.values;e.value=(0,w.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:n}=t.form.values||{};t.hidden="dateOnly"===l.type||"date"!==n,"date"!==n&&(t.value=!1)}]},timeFormat:n}},defaultParams:e=>{let{showTime:t,dateFormat:l,timeFormat:n,picker:o}={...e.model.context.collectionField.getComponentProps(),...e.model.props};return{picker:o||"date",dateFormat:l||"YYYY-MM-DD",timeFormat:n||"HH:mm:ss",showTime:t}},handler(e,t){let{collectionField:l}=e.model.context;"time"===l.type?e.model.setProps({...t,format:null==t?void 0:t.timeFormat}):e.model.setProps({...t,format:(null==t?void 0:t.showTime)?`${t.dateFormat} ${t.timeFormat}`:t.dateFormat})}});var uv=l(97456);function uy(e){if(""!==e&&null!=e)return e}let ub=(0,y.defineAction)({name:"dateRangeLimit",title:(0,y.tExpr)("Date range limit"),uiMode:{type:"dialog",props:{width:720}},uiSchema(e){var t,l;let n={targetPath:(null==(l=e.model.context)||null==(t=l.collectionField)?void 0:t.name)||"",enableDateVariableAsConstant:!0};return{_minDate:{type:"string",title:(0,y.tExpr)("MinDate"),"x-decorator":"FormItem","x-component":uv.zv,"x-component-props":n},_maxDate:{type:"string",title:(0,y.tExpr)("MaxDate"),"x-decorator":"FormItem","x-component":uv.zv,"x-component-props":n}}},defaultParams(e){var t,l;return{_minDate:uy(null==(t=e.model.props)?void 0:t._minDate),_maxDate:uy(null==(l=e.model.props)?void 0:l._maxDate)}},useRawParams:!0,async handler(e,t){e.model.setProps({_minDate:uy(null==t?void 0:t._minDate),_maxDate:uy(null==t?void 0:t._maxDate)})}}),ux=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}}),uw=(0,y.defineAction)({name:"sortingRule",title:(0,y.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:ux((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,y.tExpr)("ASC"),value:"asc"},{label:(0,y.tExpr)("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:(0,y.tExpr)("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},defaultParams:e=>({sort:[]}),async handler(e,t){var l;let n=t.sort.map(e=>"desc"===e.direction?`-${e.field}`:e.field),o=null==(l=e.model)?void 0:l.resource;o&&(e.model.setProps({globalSort:n}),o.setSort(n))}}),uS=(0,y.defineAction)({name:"dataLoadingMode",title:(0,y.tExpr)("Data loading mode"),uiMode:{type:"select",key:"mode",props:{options:[{value:"auto",label:(0,y.tExpr)("Load all data when filter is empty")},{value:"manual",label:(0,y.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 y.MultiRecordResource)},handler(e,t){let l=e.blockModel;if(!l)return;let n=l.resource;n instanceof y.MultiRecordResource&&("manual"!==t.mode||l.hasActiveFilters()?"auto"===t.mode&&n.refresh():(n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1))}}),uM=(0,y.defineAction)({title:(0,y.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,n;let o=null==(l=(n=e.model).getStepParams)||null==(t=l.call(n,"displayFieldSettings","overflowMode"))?void 0:t.overflowMode;return void 0===o?e.model.parent instanceof ib:!0===o||"ellipsis"===o},defaultParams:{textOnly:!0},handler(e,t){e.model.setProps({textOnly:t.textOnly})}}),uF=(0,y.defineAction)({title:(0,y.tExpr)("Set block layout"),name:"layout",uiSchema:{layout:{type:"string",enum:[{label:(0,y.tExpr)("Vertical"),value:"vertical"},{label:(0,y.tExpr)("Horizontal"),value:"horizontal"}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},labelAlign:{title:(0,y.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,y.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,y.tExpr)("When the Label exceeds the width"),enum:[{label:(0,y.tExpr)("Line break"),value:!0},{label:(0,y.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,y.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})})}}),uA=(0,y.defineAction)({title:(0,y.tExpr)("Required"),name:"required",uiMode:e=>{var t,l,n;let o=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(n=e.model.props.validation)?void 0:n.rules)||[];return{type:"switch",key:"required",props:{disabled:o.concat(i).some(e=>"required"===e.name)}}},uiSchema:async e=>{var t,l,n;let o=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(n=e.model.props.validation)?void 0:n.rules)||[],r=o.concat(i).some(e=>"required"===e.name);return{required:{"x-component":"Switch","x-decorator":"FormItem","x-component-props":{checkedChildren:(0,y.tExpr)("Yes"),unCheckedChildren:(0,y.tExpr)("No")},"x-disabled":r}}},defaultParams:e=>({required:e.model.getProps().required}),handler(e,t){var l,n;let o=e.model.getProps().rules||[],i=((null==(n=e.model.collectionField)||null==(l=n.validation)?void 0:l.rules)||[]).some(e=>"required"===e.name);(o=o.filter(e=>!e.required),i)?e.model.setProps({rules:o,required:!0}):(t.required&&o.push({required:!0,message:e.t("The field value is required")}),e.model.setProps({rules:o,required:t.required}))}});function uk(e,t,l){let{collectionField:n}=e,o=t.getBindingsByField(e,n),i=t=>t.map(t=>{var l;let n=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=n.meta)?void 0:l.label)||t.modelName),value:t.modelName}});if(l){let r=t.getBindingsByField(e,n.targetCollection.getField(l));return[o.length&&{label:e.t("AssociationField component"),options:i(o)},{label:e.t("Title field component"),options:i(r)}].filter(Boolean)}return i(o)}let uC=(0,y.defineAction)({name:"displayFieldComponent",title:(0,y.tExpr)("Field component"),uiMode:e=>{let{titleField:t}=e.model.props;return{type:"select",key:"use",props:{options:uk(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 n=e.model.constructor.getBindingsByField(e,e.collectionField),{titleField:o}=e.model.props,i=[];o&&(i=e.model.constructor.getBindingsByField(e,e.collectionField.targetCollection.getField(o)));let r=n.concat(i).find(e=>e.modelName===t.use);t.use!==l.use&&await lo({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:ln(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){let l=ln(e.model.subModels.field);t.use!==l&&e.model.setStepParams(e.flowKey,"model",{use:t.use})}}),uP=(0,y.defineAction)({title:(0,y.tExpr)("Field component"),name:"fieldComponent",uiMode:e=>{if("readPretty"===e.model.getProps().pattern){var t,l;let{titleField:n}=e.model.props,o=e.model.constructor.getBindingsByField(e,e.collectionField);return o&&(1!==o.length||n)?{type:"select",key:"use",props:{options:uk(e,ld,n||(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 n=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=n.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 n=e.model.constructor.getBindingsByField(e,e.collectionField),o=[];if("readPretty"===e.model.getProps().pattern){let{titleField:t}=e.model.props;n=ld.getBindingsByField(e,e.collectionField),t&&(o=ld.getBindingsByField(e,e.collectionField.targetCollection.getField(t)))}let i=n.concat(o).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 lo({parentModel:e.model,targetUse:t.use,defaultProps:l,pattern:e.model.getProps().pattern})}},defaultParams:e=>{let t="readPretty"===e.model.getProps().pattern?ld.getDefaultBindingByField(e,e.collectionField):e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:ln(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){}}),uj=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},uI=(0,y.defineAction)({name:"aclCheck",async handler(e,t){var l,n,o,i,r;let a=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:(null==(n=e.collectionField)?void 0:n.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:e.collectionField?null:null==(o=e.resource)?void 0:o.getMeta("allowedActions"),recordPkValue:uj((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()))}}),uE=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},uR=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}))},u_=async e=>{var t,l,n,o,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==(o=e.resource)||null==(n=o.getMeta)?void 0:n.call(o,"allowedActions"),recordPkValue:uE((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)))},uT=async e=>{var t,l,n,o,i,r,a,s,d,u,c,p,h,m,f,g,v,y,b,x,w;if(!e.collectionField)return;let S=null==(l=e.blockModel)||null==(t=l.context)?void 0:t.actionName;if(!S)return;let M=await e.aclCheck({dataSourceKey:null==(n=e.dataSource)?void 0:n.key,resourceName:null==(o=e.collectionField)?void 0:o.collectionName,fields:[null==(i=e.collectionField)?void 0:i.name],actionName:S});if("update"===S){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==(h=e.exitAll)||h.call(e)),M||e.model.setProps({aclDisabled:!0})}else if("create"===S){let t=await e.aclCheck({dataSourceKey:null==(m=e.dataSource)?void 0:m.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==(v=e.collectionField)?void 0:v.collectionName,fields:[e.collectionField.name],actionName:"update"});M||(null==(y=e.item)?void 0:y.__is_stored__)||(null==(b=(x=e.model).setHidden)||b.call(x,!0),e.model.forbidden={actionName:S},null==(w=e.exitAll)||w.call(e)),t&&l||e.model.setProps({aclDisabled:!0})}},uD=(0,y.defineAction)({name:"aclCheckRefresh",async handler(e,t){let l=(null==t?void 0:t.strategy)||"default";(uR(e),"formItem"===l)?await uT(e):await u_(e)}});function uN(e){var t,l,n,o,i;return(null==(o=e.model.subModels)||null==(n=o.field)||null==(l=n.props)||null==(t=l.fieldNames)?void 0:t.label)||e.model.props.titleField||(null==(i=e.collectionField)?void 0:i.targetCollectionTitleFieldName)}function uO(e){var t;let l=e.model.subModels.field,n=ln(l)??(null==l?void 0:l.use),o="string"==typeof n?e.engine.getModelClass(n):n;return((null==o||null==(t=o.meta)?void 0:t.preserveOnPatternChange)??!1)===!0}async function u$(e){var t,l,n,o,i,r,a;null==(t=(l=e.model).invalidateFlowCache)||t.call(l,"beforeRender",!0),await (null==(n=(o=e.model).rerender)?void 0:n.call(o));let s=e.model.parent;s&&(null==(i=s.invalidateFlowCache)||i.call(s,"beforeRender",!0),null==(r=s.setProps)||r.call(s,{__patternRefreshKey:(0,ef.uid)()}),await (null==(a=s.rerender)?void 0:a.call(s)))}let uB=(0,y.defineAction)({name:"pattern",title:(0,y.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(uO(e)){if(t.pattern!==l.pattern){var n,o;null==(o=e.model.subModels.field)||null==(n=o.scheduleApplyJsSettings)||n.call(o)}await u$(e);return}let i=e.collectionField.targetCollection,r=uN(e),a=null==i?void 0:i.getField(r),{model:s}=e,d=function(t){var l,n;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.collectionField;if(!t)return;let i="function"==typeof t.defaultProps?t.defaultProps(e,o):t.defaultProps;return(null==(n=e.collectionField)||null==(l=n.isAssociationField)?void 0:l.call(n))&&r?{...i||{},titleField:r}:i};if("readPretty"===t.pattern){let t=ld.getDefaultBindingByField(e,e.collectionField,{fallbackToTargetTitleField:!0,targetCollectionTitleField:a});await lo({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 lo({parentModel:s,targetUse:t.modelName,defaultProps:d(t)})}await u$(e)},async beforeParamsSave(e,t,l){if("readPretty"===t.pattern){let t=uN(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})}}),uL=(0,y.defineAction)({title:(0,y.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":b.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=[],n=(0,y.jioToJoiSchema)(t.validation),o=e.model.props.label;l.push({validator:(t,l)=>{let{error:i}=n.validate(l,{abortEarly:!1});if(i){let t=i.details.map(t=>e.t(`${t.type}`,{...t.context,ns:"data-source-main",label:o})),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})}}}),uq=(0,y.defineAction)({title:(0,y.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)}});var uV=l(12094),uz=l(17025),uK=l(61852),uU=l(27692),uW=l(55021),uH=l(47674);let uG=e=>{let{t,fieldOptions:l,rootCollection:n,value:o,onChange:i,defaultMode:r="assign",fixedMode:a,showCondition:s=!0,showEnable:d=!0,showValueEditorWhenNoField:u=!1,getValueInputProps:c,isTitleFieldCandidate:p,onSyncAssociationTitleField:h,enableDateVariableAsConstant:m=!1}=e,f=Array.isArray(o)?o:[],[g,v]=k.useState(()=>Array.isArray(l)?l:[]);k.useEffect(()=>{v(Array.isArray(l)?l:[])},[l]);let b=k.useCallback((e,t)=>(null==e?void 0:e.key)||String(t),[]),[x,w]=k.useState({}),[S,M]=k.useState({}),[F,C]=k.useState(null);k.useEffect(()=>{let e=new Set(f.map((e,t)=>b(e,t)));w(t=>{let l={},n=!1;for(let[o,i]of Object.entries(t))e.has(o)?l[o]=i:n=!0;return n?l:t}),M(t=>{let l={},n=!1;for(let[o,i]of Object.entries(t))e.has(o)?l[o]=!!i:n=!0;return n?l:t}),F&&!e.has(F)&&C(null)},[b,F,f]);let P=k.useCallback((e,l,n)=>{if(!(null==e?void 0:e.getFields)||n.has(e))return[];let o=new Set(n);o.add(e);let i=("function"==typeof e.getFields?e.getFields():[])||[],r=[];for(let e of i){var a;if(!e)continue;let n=e,i="string"==typeof n.interface?n.interface:void 0;if(!i||"formula"===i)continue;let s=String(n.name||"");if(!s)continue;let d=t("string"==typeof n.title?n.title:s),u={name:s,title:d,type:String(n.type||"string"),interface:i,uiSchema:n.uiSchema,paths:[...l,s]},c=!!(null==(a=n.isAssociationField)?void 0:a.call(n)),p=(0,li.E4)(n);c&&!p&&n.targetCollection&&(u.children=async()=>P(n.targetCollection,[...l,s],o)),r.push(u)}return r},[t]),j=k.useCallback(e=>{if(!(null==n?void 0:n.getField))return;let l=N(e);if(!l.length)return;let o=[],i=n;for(let e=0;e<l.length;e++){var r,a;let n=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,n);if(!(null==s||null==(a=s.isAssociationField)?void 0:a.call(s)))break;let d=(0,li.E4)(s),u=null==s?void 0:s.targetCollection;if(!u)break;let c=t("string"==typeof s.title?s.title:n);o.push({collection:u,toMany:d,viaLabel:c}),i=u}if(o.length<=0)return;let s=(e,l,n,i)=>{let r=o[e]||o[0],a=[];r.toMany&&(a.push({title:t("Index (starts from 0)"),name:"index",type:"number",paths:[...l,"index"]}),a.push({title:t("Total count"),name:"length",type:"number",paths:[...l,"length"]})),a.push({title:t("Attributes"),name:"value",type:"object",paths:[...l,"value"],children:async()=>P(r.collection,[...l,"value"],new Set)}),e-1>=0&&a.push(s(e-1,[...l,"parentItem"],"parentItem","Parent item"));let d=null==r?void 0:r.viaLabel;return{title:d?`${t(i)}(${d})`:t(i),name:n,type:"object",paths:l,children:a}};return[s(o.length-1,["item"],"item","Current item")]},[P,n,t]),I=(e,t)=>{let l=f.map((l,n)=>n===e?{...l,...t}:l);null==i||i(l)},E=e=>{let t=b(f[e],e);w(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),M(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),F===t&&C(null);let l=f.filter((t,l)=>l!==e);null==i||i(l)},R=(e,t)=>{let l=[...f],n="up"===t?e-1:e+1;if(n<0||n>=l.length)return;let[o]=l.splice(e,1);l.splice(n,0,o),null==i||i(l)},_=()=>{let e=[...f,{key:(0,ef.uid)(),enable:!0,mode:a||r,condition:{logic:"$and",items:[]},targetPath:void 0,value:void 0}];null==i||i(e)},T=e=>a||((null==e?void 0:e.mode)==="default"?"default":"assign"),D=k.useCallback(e=>{let l="default"===e?t("Default value"):t("Fixed value"),n="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."),o=e=>{e.preventDefault(),e.stopPropagation()};return(0,A.jsxs)(eg.A,{size:4,children:[(0,A.jsx)("span",{children:l}),(0,A.jsx)(W.A,{title:n,children:(0,A.jsx)(it.A,{style:{cursor:"help",opacity:.65,fontSize:12},onMouseDown:o,onClick:o})})]})},[t]),N=k.useCallback(e=>{let t=String(e||"");return t?t.split(".").map(e=>e.trim()).filter(Boolean):[]},[]),O=e=>{let l=N(e);if(!l.length)return;if(!(null==n?void 0:n.getField))return l.join(" / ");let o=[],i=n;for(let e=0;e<l.length;e++){var r,a;let n=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,n);if(!s){o.push(n);continue}o.push(t("string"==typeof s.title?s.title:n)),(null==s||null==(a=s.isAssociationField)?void 0:a.call(s))&&(null==s?void 0:s.targetCollection)&&(i=s.targetCollection)}return o.filter(Boolean).join(" / ")},$=k.useCallback(e=>{let l=N(e);if(!l.length||!(null==n?void 0:n.getField))return null;let o=n,i=null;for(let e=0;e<l.length;e++){var r,a,s,d,u,c,h;let n=String(l[e]);if(!(i=(null==o||null==(r=o.getField)?void 0:r.call(o,n))||null))break;if(e===l.length-1){if(!(null==i||null==(s=i.isAssociationField)?void 0:s.call(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 p)return!!p(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),n="string"==typeof(null==e?void 0:e.titleField)&&e.titleField?e.titleField:void 0,o="string"==typeof(null==e||null==(d=e.options)?void 0:d.titleField)&&(null==(u=e.options)?void 0:u.titleField)?null==(c=e.options)?void 0:c.titleField:void 0,r="string"==typeof(null==i?void 0:i.targetCollectionTitleFieldName)&&i.targetCollectionTitleFieldName?i.targetCollectionTitleFieldName:void 0,a=n||o||r;if(a&&!l.some(e=>e.value===a)){let n="function"==typeof(null==e?void 0:e.getField)&&(null==(h=e.getField(a))?void 0:h.title)||a;l.unshift({value:a,label:t("string"==typeof n?n:a)})}let m="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:a,valueKey:m,candidates:l}}if(!(null==i||null==(a=i.isAssociationField)?void 0:a.call(i))||!(null==i?void 0:i.targetCollection))break;o=i.targetCollection}return null},[p,N,n,t]),B=k.useCallback(e=>{if(!(null==n?void 0:n.getField))return null;let t=n;for(let n of e){var l,o;let e=null==t||null==(l=t.getField)?void 0:l.call(t,n);if(!(null==e||null==(o=e.isAssociationField)?void 0:o.call(e))||!(null==e?void 0:e.targetCollection))return null;t=e.targetCollection}return t||null},[n]),L=k.useCallback(e=>{let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],n=[];for(let e of l){var o;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(o=l.isAssociationField)?void 0:o.call(l)),d=!!l.targetCollection;n.push({label:a,value:r,isLeaf:!(s&&d)})}return n},[t]),q=k.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 n=B(t.map(e=>String(null==e?void 0:e.value)).filter(Boolean));if(!n){l.isLeaf=!0,v(e=>[...e]);return}let o=L(n);o.length?l.children=o:l.isLeaf=!0,v(e=>[...e])},[L,B]),V=k.useCallback(async e=>{if(!e.length)return;let t=g,l=[];for(let o=0;o<e.length-1;o++){var n;let i=String(e[o]),r=t.find(e=>String(null==e?void 0:e.value)===i);if(!r)return;if(l.push(r),null==(n=r.children)?void 0:n.length){t=r.children;continue}if(r.isLeaf)return;await q(l),t=r.children||[]}},[g,q]),z=k.useMemo(()=>{let e=[],t=new Set;for(let l of f){let n=(null==l?void 0:l.targetPath)?String(l.targetPath):"";n&&(t.has(n)||(t.add(n),e.push(n)))}return e},[f]);k.useEffect(()=>{let e=!1;return(async()=>{for(let t of z){if(e)return;let l=N(t);l.length&&await V(l)}})(),()=>{e=!0}},[N,V,z]);let K=(e,l)=>{let n="default"===T(e)?t("Default value"):t("Fixed value"),o=O(e.targetPath),i=o?String(o):t("Please select field");return(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,A.jsxs)("div",{style:{flex:1,marginRight:16,minWidth:0,display:"flex",alignItems:"center",gap:8},children:[(0,A.jsx)("div",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},title:i,children:i}),(0,A.jsx)("div",{style:{opacity:.65,fontSize:12,whiteSpace:"nowrap"},children:n})]}),(0,A.jsxs)(eg.A,{onClick:e=>e.stopPropagation(),children:[(0,A.jsx)(W.A,{title:t("Delete"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(ok.A,{}),onClick:()=>E(l),"aria-label":t("Delete")})}),(0,A.jsx)(W.A,{title:t("Move up"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(uV.A,{}),onClick:()=>R(l,"up"),disabled:0===l,"aria-label":t("Move up")})}),(0,A.jsx)(W.A,{title:t("Move down"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(uz.A,{}),onClick:()=>R(l,"down"),disabled:l===f.length-1,"aria-label":t("Move down")})}),d&&(0,A.jsx)(oC.A,{size:"small",checked:!1!==e.enable,onChange:e=>I(l,{enable:e}),checkedChildren:t("Enable"),unCheckedChildren:t("Disable")})]})]})},U=f.map((e,l)=>{var n;let o=T(e),i=j(e.targetPath),r=b(e,l),d=$(e.targetPath),p=x[r],f="string"==typeof p&&p||"string"==typeof(null==e?void 0:e.valueTitleField)&&e.valueTitleField||(null==d?void 0:d.currentTitleField)||void 0,v=!f||!d||!!d.candidates.some(e=>e.value===f),k=v?f:(null==d?void 0:d.currentTitleField)||void 0,P=!!d,E=!!(null==d||null==(n=d.candidates)?void 0:n.length),R=F===r,_=!!h&&P&&E&&v&&!!k&&k!==(null==d?void 0:d.currentTitleField)&&!R,O=!(0,y.isVariableExpression)(null==e?void 0:e.value)&&!(0,y.isRunJSValue)(null==e?void 0:e.value)&&(null==e?void 0:e.value)!==null,B=P&&O,L=B&&!!S[r],V=P?(0,A.jsxs)(eg.A.Compact,{size:"small",onClick:e=>e.stopPropagation(),children:[(0,A.jsx)(l_.A,{size:"small",style:{minWidth:160},value:k,placeholder:E?t("Please select field"):t("No available title fields"),options:(null==d?void 0:d.candidates)||[],disabled:!E||R,allowClear:!1,onChange:e=>{let t=String(e||""),n=t&&t!==(null==d?void 0:d.currentTitleField)?t:void 0;w(e=>{let t=Object.prototype.hasOwnProperty.call(e,r);if(!n){if(!t)return e;let l={...e};return delete l[r],l}return e[r]===n?e:{...e,[r]:n}}),I(l,{valueTitleField:n})}}),(0,A.jsx)(W.A,{title:_?t("Sync selected title field to collection"):t("Please choose a different title field before syncing"),children:(0,A.jsx)(uW.A,{title:t("Sync title field"),description:t("This will update the collection title field globally. Continue?"),okText:t("OK"),cancelText:t("Cancel"),disabled:!_,onConfirm:async()=>{if(d&&k&&"function"==typeof h&&d.candidates.some(e=>e.value===k)){C(r);try{await h({ruleItem:e,ruleIndex:l,targetPath:e.targetPath,associationField:d.associationField,targetCollection:d.targetCollection,titleField:k}),w(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t}),I(l,{valueTitleField:void 0})}catch(e){console.warn("[FieldAssignRulesEditor] Failed to sync title field",e)}finally{C(e=>e===r?null:e)}}},children:(0,A.jsx)(H.Ay,{size:"small",icon:(0,A.jsx)(uK.A,{spin:R}),disabled:!_,"aria-label":t("Sync title field")})})})]}):null;return{key:e.key||String(l),label:K(e,l),styles:{header:{display:"flex",alignItems:"center"}},children:(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Field")}),(0,A.jsx)(nK.A,{value:N(e.targetPath),placeholder:t("Please select field"),style:{width:"100%"},options:g,loadData:q,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 n=Array.isArray(t)?t.map(e=>String(e)).filter(Boolean):[],o=n.length?n.join("."):void 0,i=o!==e.targetPath;i&&(w(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t}),M(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t})),I(l,{targetPath:o,valueTitleField:i?void 0:e.valueTitleField,value:i?void 0:e.value})}})]}),(u||!!e.targetPath)&&(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Value")}),(0,A.jsx)(uv.zv,{targetPath:e.targetPath||"",value:e.value,onChange:e=>I(l,{value:e}),extraMetaTree:i,...(null==c?void 0:c(e,l))||{},enableDateVariableAsConstant:m,associationFieldNamesOverride:d&&k?{label:k,value:d.valueKey}:void 0},`${e.targetPath||"no-field"}::${k||""}`),B&&(0,A.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:6},children:(0,A.jsx)(tv.A,{trigger:"click",open:L,onOpenChange:e=>{M(t=>({...t,[r]:e}))},placement:"bottomRight",title:t("Advanced"),content:(0,A.jsx)("div",{style:{minWidth:280},children:(0,A.jsxs)(eg.A,{size:8,align:"center",wrap:!0,children:[(0,A.jsx)("span",{style:{fontSize:12,opacity:.75},children:t("Title field")}),V]})}),children:(0,A.jsx)(H.Ay,{type:"link",size:"small",style:{paddingInline:0,height:"auto"},icon:L?(0,A.jsx)(uU.A,{}):(0,A.jsx)(oo.A,{}),children:t("Advanced")})})})]}),!a&&(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Assignment mode")}),(0,A.jsx)(np.Ay.Group,{value:o,style:{width:"100%"},onChange:e=>I(l,{mode:e.target.value}),children:(0,A.jsxs)(eg.A,{size:16,children:[(0,A.jsx)(np.Ay,{value:"default",children:D("default")}),(0,A.jsx)(np.Ay,{value:"assign",children:D("assign")})]})})]}),s&&(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Condition")}),(0,A.jsx)(el.H,{value:e.condition||{logic:"$and",items:[]},onChange:e=>I(l,{condition:e}),extraMetaTree:i})]})]})}}),G=k.useMemo(()=>{if(!f.length)return[];let e=-1;for(let l=f.length-1;l>=0;l--){var t;if((null==(t=f[l])?void 0:t.enable)!==!1){e=l;break}}let l=e>=0?e:0,n=f[l],o=(null==n?void 0:n.key)||String(l);return o?[o]:[]},[f]);return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[f.length?(0,A.jsx)(uH.A,{items:U,size:"small",style:{marginBottom:8},defaultActiveKey:G,accordion:!0}):(0,A.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:6,backgroundColor:"#fafafa",marginBottom:8},children:(0,A.jsx)(od.A,{description:t("No data"),style:{margin:"20px 0"}})}),(0,A.jsx)(H.Ay,{type:"dashed",icon:(0,A.jsx)(eo.A,{}),onClick:_,style:{width:"100%"},children:t("Add")})]})};function uY(e){return(0,li.Gj)(e)}function uJ(e,t){var l,n,o,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==(o=i.field)||null==(n=o.context)?void 0:n.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 uX(e){let t=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);return t.length?t[t.length-1]:""}function uQ(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 uZ(e,t){let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],n=[];for(let e of l){var o;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(o=l.isAssociationField)?void 0:o.call(l)),d=!!l.targetCollection;n.push({label:a,value:r,isLeaf:!(s&&d)})}return n}function u0(e,t){let l=Array.isArray(e)?e:[],n=Array.isArray(t)?t:[],o=new Set;for(let e of l){let t=(null==e?void 0:e.value)?String(e.value):"";t&&o.add(t)}return[...l,...n.filter(e=>{let t=(null==e?void 0:e.value)?String(e.value):"";return!!t&&!o.has(t)})]}function u1(e){var t,l,n;let{formBlockModel:o,t:i,maxFormItemDepth:r=1/0}=e,a=(null==o||null==(n=o.subModels)||null==(l=n.grid)||null==(t=l.subModels)?void 0:t.items)||[],s=uQ(o),d=(e,t)=>{if(!Array.isArray(e)||t>r)return[];let l=[];for(let r of e){var n,o,a,s,u,c;if(!r)continue;let e=uJ(r,i),p=uY(r);if(!p)continue;let h=uX(p);if(!h)continue;let m={label:e,value:h},f=null==r||null==(n=r.subModels)?void 0:n.field,g=null==f||null==(s=f.subModels)||null==(a=s.grid)||null==(o=a.subModels)?void 0:o.items,v=null==f||null==(u=f.context)?void 0:u.collectionField,y=!!(null==v||null==(c=v.isAssociationField)?void 0:c.call(v)),b=!!(null==v?void 0:v.targetCollection);if(Array.isArray(g)){if(y&&b)m.isLeaf=!1;else{let e=g.length?d(g,t+1):[];e.length?(m.children=e,m.isLeaf=!1):m.isLeaf=!0}l.push(m);continue}y&&b?m.isLeaf=!1:m.isLeaf=!0,l.push(m)}return l};return u0(d(a,1),uZ(s,i))}var u2=l(87959);function u4(e,t){var l;let n="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;return!!e&&!!n&&!!(null==(l=(0,y.getCollectionFieldInterface)(n,e))?void 0:l.titleUsable)}function u5(e){let t=(null==e?void 0:e.dataSourceKey)??(null==e?void 0:e.dataSource);return"string"==typeof t&&t?t:b.Ze}function u8(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 u6(e){return e&&e!==b.Ze?`dataSources/${e}/collections:update`:"collections:update"}async function u3(e){var t,l;let{api:n,dataSourceManager:o,targetCollection:i,titleField:r}=e;if("function"!=typeof(null==n?void 0:n.request))throw Error("API client is unavailable.");if("string"!=typeof r||!r)throw Error("Title field is required.");let a=u8(i),s=u5(i);await n.request({url:u6(s),method:"post",params:{filterByTk:a},data:{titleField:r}}),null==i||null==(t=i.setOption)||t.call(i,"titleField",r);let d=null==o||null==(l=o.getDataSource)?void 0:l.call(o,s);return d&&"function"==typeof d.reload&&await d.reload(),{dataSourceKey:s,collectionName:a,titleField:r}}function u9(e){let{api:t,dataSourceManager:l}=(0,y.useFlowContext)();return{isTitleFieldCandidate:k.useCallback(e=>u4(l,e),[l]),onSyncAssociationTitleField:k.useCallback(async n=>{let{targetCollection:o,titleField:i}=n;try{await u3({api:t,dataSourceManager:l,targetCollection:o,titleField:i}),u2.Ay.success(e("Saved successfully"))}catch(l){let t=(null==l?void 0:l.message)?String(l.message):e("Save failed");throw u2.Ay.error(t),l}},[t,l,e])}}var u7=l(71712);let ce=(0,y.observer)(e=>{let t=(0,y.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:n,onSyncAssociationTitleField:o}=u9(l),i="function"==typeof e.onChange,r=k.useMemo(()=>u1({formBlockModel:t.model,t:l}),[t.model]),a=k.useMemo(()=>(0,u7.K7)(t.model),[t.model]),s=k.useMemo(()=>(0,n3.PP)(t.model,"formModelSettings","assignRules"),[t.model]),d=k.useRef(!1),[u,c]=k.useState(!1),p=k.useCallback(()=>{d.current||(d.current=!0,c(!0))},[]),h=k.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),m=k.useMemo(()=>s?h:(0,u7.S2)(e.value,a),[s,a,h,e.value]),f=k.useMemo(()=>i&&u?h:m,[i,u,m,h]),g=k.useCallback(t=>{var l;i&&(p(),null==(l=e.onChange)||l.call(e,t))},[i,p,e.onChange]);return k.useEffect(()=>{if(!d.current&&i){if(s)return void p();if(!(0,P.isEqual)(h,m)){var t;null==(t=e.onChange)||t.call(e,m)}p()}},[i,s,m,p,h,e.onChange]),(0,A.jsx)(uG,{t:l,fieldOptions:r,rootCollection:(0,li.w7)(t.model),value:f,onChange:g,showValueEditorWhenNoField:!0,isTitleFieldCandidate:n,onSyncAssociationTitleField:o,enableDateVariableAsConstant:!0})}),ct=(0,y.defineAction)({name:"formAssignRules",title:(0,y.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":ce}}),defaultParams:{value:[]},handler(){}}),cl=(0,y.observer)(e=>{let t=(0,y.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:n,onSyncAssociationTitleField:o}=u9(l),i="function"==typeof e.onChange,r=k.useMemo(()=>u1({formBlockModel:t.model,t:l}),[t.model]),a=k.useMemo(()=>ot(t.model),[t.model]),s=k.useMemo(()=>(0,n3.PP)(t.model,"formFilterBlockModelSettings","defaultValues"),[t.model]),d=k.useCallback(e=>{var l,n,o,i;let r=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!r)return{};let a=(0,li.eo)(t.model,r);return a?{operator:er(a),operatorMetaList:(null==a||null==(n=a.collectionField)||null==(l=n.filterable)?void 0:l.operators)||((null==a||null==(i=a.context)||null==(o=i.filterField)?void 0:o.type)?null===b.II||void 0===b.II?void 0:b.II[a.context.filterField.type]:[])||[],preferFormItemFieldModel:!0}:{}},[t.model]),u=k.useRef(!1),[c,p]=k.useState(!1),h=k.useCallback(()=>{u.current||(u.current=!0,p(!0))},[]),m=k.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),f=k.useMemo(()=>s?m:(0,n3.S2)(e.value,a),[s,a,m,e.value]),g=k.useMemo(()=>i&&c?m:f,[i,c,f,m]),v=k.useCallback(t=>{var l;i&&(h(),null==(l=e.onChange)||l.call(e,t))},[i,h,e.onChange]);return k.useEffect(()=>{if(!u.current&&i){if(s)return void h();if(!(0,P.isEqual)(m,f)){var t;null==(t=e.onChange)||t.call(e,f)}h()}},[i,s,f,h,m,e.onChange]),(0,A.jsx)(uG,{t:l,fieldOptions:r,rootCollection:(0,li.w7)(t.model),value:g,onChange:v,fixedMode:"default",showCondition:!1,showValueEditorWhenNoField:!0,getValueInputProps:d,isTitleFieldCandidate:n,onSyncAssociationTitleField:o})}),cn=(0,y.defineAction)({name:"filterFormDefaultValues",title:(0,y.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":cl}}),defaultParams:{value:[]},handler(){}}),co=(0,y.defineAction)({name:"linkageRulesRefresh",async handler(e,t){var l,n,o,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==(n=u.context)?void 0:n.flowSettingsEnabled)),p=!(null==u?void 0:u.isFork)&&!!(null==u||null==(o=u.forks)?void 0:o.size)&&Array.from((null==u?void 0:u.forks)||[]).some(e=>{var t,l,n;return!!e&&!e.disposed&&!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)&&!!(null==e||null==(n=e.getFlow)?void 0:n.call(e,s))}),h=!!(null==u||null==(r=u.context)||null==(i=r.ref)?void 0:i.current);if(p&&!h&&!c)return;let m=`${s}:${d}:${a}`,f=(l=u).__linkageRulesRefreshInflight||(l.__linkageRulesRefreshInflight=new Map),g=f.get(m);if(g)return void await g;let v=(async()=>{var t,l;let n=null==u||null==(t=u.getStepParams)?void 0:t.call(u,s,d),o=null==(l=e.getAction)?void 0:l.call(e,a),i=(null==o?void 0:o.useRawParams)?{value:[],...n||{}}:await e.resolveJsonTemplate({value:[],...n||{}});(null==o?void 0:o.handler)&&await o.handler(e,i)})();f.set(m,v);try{await v}finally{f.delete(m)}}}),ci="defaultHeight",cr="specifyValue",ca="fullHeight",cs=(0,y.defineAction)({name:"blockHeight",title:(0,y.tExpr)("Block height"),uiMode:{type:"dialog"},uiSchema:e=>{let{t}=e;return{heightMode:{type:"string",enum:[{label:t("Default"),value:ci},{label:t("Specify height"),value:cr},{label:t("Full height"),value:ca}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:t("Height"),type:"number",required:!0,"x-decorator":"FormItem","x-component":oi.A,"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:ci}),async handler(e,t){e.model.setDecoratorProps({heightMode:t.heightMode,height:t.height})}});var cd=l(95503),cu=l(7521),cc=l(47632);let cp="formValuesChange",ch="__formValueDrivenLinkageRefreshBindings";function cm(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function cf(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function cg(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,rq.Qc)(l),l);return Array.from(t.values())}function cv(e){let t=cg(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&cf(e,t)))}function cy(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,n]=e.split(":"),o=Number(n);!t||Number.isNaN(o)||l.push({name:t,index:o})}return l}function cb(e){var t,l;return cy((null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function cx(e,t){let l=e.length-1-t;if(l<0)return null;let n=[];for(let t=0;t<=l;t++)n.push(e[t].name,e[t].index);return n}function cw(e,t){let l=cx(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function cS(e,t){let l=cb(e);if(!l.length)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let n=0,o=[...t];for(;"parentItem"===o[0];)n+=1,o=o.slice(1);let i=o[0];if(!i)return{wildcard:!0,valuePaths:[],structuralPaths:[]};if("value"===i){let e=cx(l,n);if(!e)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let t=cw(l,n);return{wildcard:!1,valuePaths:[[...e,...o.slice(1)]],structuralPaths:t?[t]:[]}}if("index"===i||"length"===i){let e=cw(l,n);return e?{wildcard:!1,valuePaths:[],structuralPaths:[e]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}if("__is_new__"===i||"__is_stored__"===i){let e=cx(l,n);return e?{wildcard:!1,valuePaths:[[...e,i]],structuralPaths:[]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}return{wildcard:!0,valuePaths:[],structuralPaths:[]}}function cM(e,t){if("string"==typeof e&&e.trim())for(let[l,n]of Object.entries((0,y.extractUsedVariablePathsFromRunJS)(e)||{})){let e=Array.isArray(n)?n:[];for(let n of e.length?e:[""]){if("formValues"===l){if(!n){t.wildcard=!0;continue}let e=(0,rq.EA)(String(n)).filter(e=>"object"!=typeof e);(0,cc.Dd)(e,t);continue}if("item"===l){let e=n?`ctx:item:${String(n)}`:"ctx:item";t.deps.add(e)}}}}function cF(e,t){let l=new WeakSet,n=e=>{if(!e||"object"!=typeof e||l.has(e))return;if(l.add(e),(0,y.isRunJSValue)(e)&&(0,cc.Wp)(e,t),Array.isArray(e))return void e.forEach(n);let o=null==e?void 0:e.name;("linkageRunjs"===o||"runjs"===o)&&(cM(j().get(e,["params","value","script"]),t),cM(j().get(e,["params","code"]),t)),Object.values(e).forEach(n)};n(e)}function cA(e,t){let l={deps:new Set,wildcard:!1};(0,cc.G)(t,l),cF(t,l);let n=[],o=[],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}n.push((0,rq.c1)(e));continue}if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),r=cS(e,l?(0,rq.EA)(l).filter(e=>"object"!=typeof e):[]);i||(i=r.wildcard),n.push(...r.valuePaths),o.push(...r.structuralPaths)}}return{wildcard:i,valuePaths:cv(n),structuralPaths:cg(o)}}function ck(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0}function cC(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,rq.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,rq.c1)(e))}if(l.length)return l;let n=null==e?void 0:e.changedValues;if(n&&"object"==typeof n)for(let e of Object.keys(n)){let t=(0,rq.c1)(e);t.length&&l.push(t)}return l}function cP(e,t){if(!ck(e))return!1;let l=cC(t);if(e.wildcard||!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(cf(l,t)||cf(t,l))return!0;for(let l of e.structuralPaths)if(cm(l,t)||cf(t,l))return!0}return!1}function cj(e,t){let l=e=>e.map(e=>(0,rq.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 cI(e){var t,l;return(t=e)[l=ch]||(t[l]=new Map)}function cE(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 cR(e){var t,l,n;let o=[],i=e=>{e&&!o.includes(e)&&o.push(e)};i(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel),i(e.model);let r=null==(n=e.model)?void 0:n.parent;for(;r;)i(r),r=null==r?void 0:r.parent;return o.find(cE)||null}function c_(e,t){let l=cI(e).get(t);l&&l.dispose()}function cT(e,t,l){var n,o,i,r,a,s;let d=e.model,u=null==e?void 0:e.flowKey;if(!d||!u)return;let c="linkageRules",p=`${u}:${c}:${l}`,h=cI(d),m=cA(e,t);if(!ck(m))return void c_(d,p);let f=cR(e);if(!f)return void c_(d,p);let g=cj(m,f),v=h.get(p);if((null==v?void 0:v.signature)===g)return;v&&v.dispose();let b={signature:g,running:!1,linkageTxIds:new Set,pendingPayload:null,dispose:()=>{}},x=(null==d||null==(n=d.flowEngine)?void 0:n.emitter)||(null==e||null==(o=e.engine)?void 0:o.emitter)||(null==d||null==(r=d.context)||null==(i=r.engine)?void 0:i.emitter),w=()=>{var e,t,l,n;null==(t=f.emitter)||null==(e=t.off)||e.call(t,cp,M),null==x||null==(l=x.off)||l.call(x,"model:unmounted",F),null==x||null==(n=x.off)||n.call(x,"model:destroyed",A),h.get(p)===b&&h.delete(p)},S=e=>{if("string"!=typeof e||!e||(b.linkageTxIds.add(e),b.linkageTxIds.size<=20))return;let t=b.linkageTxIds.values().next().value;t&&b.linkageTxIds.delete(t)},M=n=>{let o="string"==typeof(null==n?void 0:n.linkageTxId)?n.linkageTxId:void 0;if((null==n?void 0:n.source)==="linkage"&&o&&b.linkageTxIds.has(o))return;if(d.disposed||f.disposed)return void w();if(!cP(cA(e,t),n))return;if(b.running){b.pendingPayload=n;return}let i=o||("string"==typeof(null==n?void 0:n.txId)?n.txId:void 0);S(i),b.running=!0;let r=new y.FlowRuntimeContext(d,u);r.defineProperty("inputArgs",{value:{...n||{},linkageTxId:i}}),co.handler(r,{actionName:l,flowKey:u,stepKey:c}).catch(e=>{console.warn("[linkageRules] Failed to refresh form value driven linkage rules",e)}).finally(()=>{b.running=!1;let e=b.pendingPayload;b.pendingPayload=null,e&&M(e)})},F=e=>{let{model:t}=e;(t===f||t===d&&d.disposed)&&w()},A=e=>{let{model:t}=e;(t===d||t===f)&&w()};b.dispose=w,h.set(p,b),f.emitter.on(cp,M),null==x||null==(a=x.on)||a.call(x,"model:unmounted",F),null==x||null==(s=x.on)||s.call(x,"model:destroyed",A)}let cD=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}]`},cN=e=>{let t=0,l=e;for(;l;)(l instanceof rZ||l instanceof r1)&&(t+=1),l=null==l?void 0:l.parent;return t},cO=e=>{let t=Number(null==e?void 0:e.linkageScopeDepth);return Number.isFinite(t)?t:cN(null==e?void 0:e.model)},c$=e=>{try{var t,l,n,o;return((null==(o=e.model)||null==(n=o.subModels)||null==(l=n.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),[]}},cB=e=>e.map(e=>e&&"object"==typeof e?{...e}:e),cL=new Set(["select","multipleSelect","radioGroup","checkboxGroup"]),cq=e=>{var t,l,n,o,i;return(null==e||null==(t=e.collectionField)?void 0:t.interface)||(null==e||null==(i=e.subModels)||null==(o=i.field)||null==(n=o.context)||null==(l=n.collectionField)?void 0:l.interface)},cV=e=>cL.has(cq(e)),cz=e=>{var t,l,n,o;let i=(null==e||null==(t=e.subModels)?void 0:t.field)||e,r=(0,lg.di)(null==e||null==(n=e.collectionField)||null==(l=n.uiSchema)?void 0:l.enum,e=>e)||[];return r.length>0?(i._originalOptionsFallback=cB(r),i._originalOptionsFallback):Array.isArray(null==i?void 0:i._originalOptionsFallback)&&i._originalOptionsFallback.length>0?i._originalOptionsFallback:Array.isArray(null==i||null==(o=i.props)?void 0:o.options)&&i.props.options.length>0?(i._originalOptionsFallback=cB(i.props.options),i._originalOptionsFallback):null},cK=(e,t)=>{let l=cz(e);return l?l.map(e=>e&&"object"==typeof e&&"string"==typeof e.label?{...e,label:t(e.label)}:e):[]},cU=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,n=t.map(t=>{var l;return null==(l=e.find(e=>e.value===t))?void 0:l.model}).filter(e=>cV(e)).filter(Boolean).flatMap(e=>cK(e,l)),o=new Map;return n.forEach(e=>{o.set(JSON.stringify(null==e?void 0:e.value),e)}),Array.from(o.values())},cW=(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}},cH=(e,t)=>{var l;return"limitOptions"===e&&(null==t||null==(l=t.subModels)?void 0:l.field)||t},cG=e=>e&&"object"==typeof e&&1===Object.keys(e).length&&Array.isArray(e.options),cY=(e,t)=>{cG(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:cB(t.options)})})},cJ=e=>{let{value:t={fields:[]},onChange:l,includeFormStates:n=!0,fieldOptionsGetter:o=c$}=e,i=(0,y.useFlowContext)(),r=i.model.translate.bind(i.model),a=o(i),s=(t.fields||[]).map(e=>{var t;return null==(t=a.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),d=1===s.length&&s.every(e=>cV(e)),u=[{label:r("Visible"),value:"visible"},{label:r("Hidden"),value:"hidden"},{label:r("Hidden (reserved value)"),value:"hiddenReservedValue"},n&&{label:r("Required"),value:"required"},n&&{label:r("Not required"),value:"notRequired"},n&&{label:r("Disabled"),value:"disabled"},n&&{label:r("Enabled"),value:"enabled"},n&&d&&{label:r("Options"),value:"limitOptions"}].filter(Boolean),c=cU(a,t.fields,r),p=e=>{let n=e.map(e=>{var t;return null==(t=a.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),o=1===n.length&&n.every(e=>cV(e)),i="limitOptions"!==t.state||o?t.state:void 0,r="limitOptions"===t.state||"limitOptions"===i?[]:t.selectedOptions;l({...t,fields:e,state:i,selectedOptions:r})},h=e=>{l({...t,state:e,selectedOptions:"limitOptions"===e?t.selectedOptions||[]:void 0})},m=e=>{l({...t,selectedOptions:c.filter(t=>e.includes(t.value))})};return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("Fields")}),(0,A.jsx)(l_.A,{mode:"multiple",value:t.fields,onChange:p,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,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("State")}),(0,A.jsx)(l_.A,{value:t.state,onChange:h,placeholder:r("Please select state"),style:{width:"100%"},options:u,allowClear:!0})]}),"limitOptions"===t.state&&d&&(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("Options")}),(0,A.jsx)(l_.A,{mode:"multiple",value:(t.selectedOptions||[]).map(e=>e.value),onChange:m,style:{width:"100%"},options:c,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]})]})},cX=e=>{try{var t,l,n,o;return((null==(o=e.model)||null==(n=o.subModels)||null==(l=n.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 cQ(e){let t=e;return t.includes(",")&&t.includes(":")?t.split(",").map(e=>e.trim()).filter(Boolean):t?[t]:[]}function cZ(e){let[t,l]=String(e||"").split(":");if(!t)return null;let n=Number(l);return Number.isFinite(n)?{fieldName:t,index:n}:null}function c0(e,t){let l,n;if(!e)return null;let o=String(e).split(".").map(e=>e.trim()).filter(Boolean);if(!o.length)return null;let i=cQ(t).map(cZ).filter(Boolean),r=0,a=[];for(let e of o){a.push(e);let t=i[r];t&&t.fieldName===e&&(l=[...a],n=t.index,a.push(t.index),r+=1)}return{fieldPathArray:a,listRootPath:l,listRowIndex:n,hasUnmatchedIndices:r<i.length}}function c1(e,t,l){if(Array.isArray(e))return e;if(!e||"object"!=typeof e)return[];let n=null==e?void 0:e.field,o=null==e?void 0:e[t.valueKey];if(n){let e=null==l?void 0:l(String(n));return e?[{key:"legacy",enable:!0,targetPath:e,mode:t.mode,condition:{logic:"$and",items:[]},value:o}]:[]}return[]}function c2(e){return t=>{try{var l,n,o,i;let r=null==(n=e.engine)||null==(l=n.getModel)?void 0:l.call(n,t),a=(null==r||null==(i=r.getStepParams)||null==(o=i.call(r,"fieldSettings","init"))?void 0:o.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 c4=Symbol("SKIP_RUNJS_ASSIGN_VALUE");async function c5(e,t){if(!(0,y.isRunJSValue)(t))return t;try{let{code:l,version:n}=(0,y.normalizeRunJSValue)(t),o=await (0,y.runjsWithSafeGlobals)(e,l,{version:n});if(!(null==o?void 0:o.success))return c4;return o.value}catch(e){return console.warn("[linkageRules] Failed to evaluate RunJS assign value",e),c4}}function c8(e){var t,l,n;let o=e=>{var t,l;if(!e||"object"!=typeof e)return null;let n=null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"fieldSettings","init"))?void 0:t.fieldPath,o=null==e?void 0:e.fieldPath;return"string"==typeof n&&n||"string"==typeof o&&o||null},i=null==(t=e.model)?void 0:t.parent;for(;i;){let e=o(i);if(e)return e;i=null==i?void 0:i.parent}let r=null==(n=e.model)||null==(l=n.context)?void 0:l.prefixFieldPath;return"string"==typeof r&&r?r:null}function c6(e,t){let l=String(t||"").trim();if(!l)return null;let n=(0,li.eo)(e.model,l);if(n)return{targetPath:l,fieldModel:n};let o=c8(e);if(!o)return null;let i=String(o).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=[],c=Math.min(i.length,r.length);for(let e=c;e>=1;e--){let t=i.slice(i.length-e),l=r.slice(0,e);if(!j().isEqual(t,l))continue;let n=a([...i,...r.slice(e)]);n&&!u.includes(n)&&u.push(n),d(n)}let p=a([...i,...r]);for(let t of(d(p),s)){let l=(0,li.eo)(e.model,t);if(l)return{targetPath:t,fieldModel:l}}let h=1===r.length?p:u.length>0?u[0]:l;return h?{targetPath:h,fieldModel:null}:null}let c3=(0,y.defineAction)({name:"linkageSetBlockProps",title:(0,y.tExpr)("Set block state"),scene:y.ActionScene.BLOCK_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,n=(0,y.useFlowContext)(),o=n.model.translate.bind(n.model);return(0,A.jsx)(l_.A,{value:t,onChange:l,placeholder:o("Please select state"),style:{width:"100%"},options:[{label:o("Visible"),value:"visible"},{label:o("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:n}=t;n(e.model,{hiddenModel:"hidden"===l})}}),c9=(0,y.defineAction)({name:"linkageSetActionProps",title:(0,y.tExpr)("Set button state"),scene:y.ActionScene.ACTION_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,n=(0,y.useFlowContext)(),o=n.model.translate.bind(n.model);return(0,A.jsx)(l_.A,{value:t,onChange:l,placeholder:o("Please select state"),style:{width:"100%"},options:[{label:o("Visible"),value:"visible"},{label:o("Hidden"),value:"hidden"},{label:o("Hidden text"),value:"hiddenText"},{label:o("Enabled"),value:"enabled"},{label:o("Disabled"),value:"disabled"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:n}=t;n(e.model,{hiddenModel:"hidden"===l,disabled:"disabled"===l,hiddenText:"hiddenText"===l})}}),c7=(0,y.defineAction)({name:"linkageSetMenuItemProps",title:(0,y.tExpr)("Set menu item state"),scene:y.ActionScene.MENU_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,n=(0,y.useFlowContext)(),o=n.model.translate.bind(n.model);return(0,A.jsx)(l_.A,{value:t,onChange:l,placeholder:o("Please select state"),style:{width:"100%"},options:[{label:o("Visible"),value:"visible"},{label:o("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:n}=t;n(e.model,{hiddenModel:"hidden"===l})}}),pe=(0,y.defineAction)({name:"linkageSetFieldProps",title:(0,y.tExpr)("Set field state"),scene:y.ActionScene.FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,A.jsx)(cJ,{...e})}},handler:(e,t)=>{let{value:l,setProps:n}=t,{fields:o,state:i}=l||{};o&&Array.isArray(o)&&i&&o.forEach(t=>{try{var o,r,a,s;let d=((null==(s=e.model)||null==(a=s.subModels)||null==(r=a.grid)||null==(o=r.subModels)?void 0:o.items)||[]).find(e=>e.uid===t);if(d){let e=cW(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);n(cH(i,d),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),pt=(0,y.defineAction)({name:"subFormLinkageSetFieldProps",title:(0,y.tExpr)("Set field state"),scene:y.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,A.jsx)(cJ,{...e,fieldOptionsGetter:cX})}},handler:(e,t)=>{let{value:l,setProps:n}=t,{fields:o,state:i}=l||{};o&&Array.isArray(o)&&i&&o.forEach(t=>{try{var o,r,a,s,d;let u=null==(r=e.engine)||null==(o=r.getModel)?void 0:o.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,h=p&&"function"==typeof u.getFork?u.getFork(p):null,m=h;if(h||(m=u),m){let e=cW(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);n(cH(i,m),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),pl=(0,y.defineAction)({name:"linkageSetDetailsFieldProps",title:(0,y.tExpr)("Set field state"),scene:y.ActionScene.DETAILS_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,A.jsx)(cJ,{...e,includeFormStates:!1})}},handler:(e,t)=>{let{value:l,setProps:n}=t,{fields:o,state:i}=l||{};o&&Array.isArray(o)&&i&&o.forEach(t=>{try{var l,o,r,a;let s=((null==(a=e.model)||null==(r=a.subModels)||null==(o=r.grid)||null==(l=o.subModels)?void 0:l.items)||[]).find(e=>e.uid===t);if(s){let e=cW(i);if(!e)return void console.warn(`Unknown state: ${i}`);n(cH(i,s),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),pn={mode:"assign",valueKey:"assignValue"},po={mode:"default",valueKey:"initialValue"},pi=e=>{let{value:t,onChange:l,legacy:n,fixedMode:o}=e,i=(0,y.useFlowContext)(),r=k.useCallback(e=>i.model.translate(e),[i.model]),{isTitleFieldCandidate:a,onSyncAssociationTitleField:s}=u9(r),d=k.useMemo(()=>u1({formBlockModel:i.model,t:r,maxFormItemDepth:1}),[i.model,r]),u=c1(t,n,c2(i)),c=k.useCallback(e=>{"function"==typeof l&&l(e)},[l]);return(0,A.jsx)(uG,{t:r,fieldOptions:d,rootCollection:(0,li.w7)(i.model),value:u,onChange:c,fixedMode:o,isTitleFieldCandidate:a,onSyncAssociationTitleField:s,enableDateVariableAsConstant:!0})},pr=e=>(0,A.jsx)(pi,{...e,legacy:pn}),pa=e=>(0,A.jsx)(pi,{...e,legacy:pn}),ps=e=>(0,A.jsx)(pi,{...e,legacy:po,fixedMode:"default"}),pd=(0,y.defineAction)({name:"linkageAssignField",title:(0,y.tExpr)("Field assignment"),scene:y.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":pr}},handler:async(e,t)=>{let{value:l,setProps:n,addFormValuePatch:o}=t,i=c1(l,{mode:"assign",valueKey:"assignValue"},c2(e));if(i.length)try{let t=(t,l,n)=>!l||e.app.jsonLogic.apply({[l]:[t,n]});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,w.evaluateConditions)((0,w.removeInvalidFilterItems)(s),t))continue;let d=(0,li.eo)(e.model,i),u=i.split(".")[0],c=(null==d?void 0:d.collectionField)??(null==(a=(0,li.w7)(e.model))||null==(r=a.getField)?void 0:r.call(a,u)),p=null==l?void 0:l.value;if((0,y.isRunJSValue)(p)&&(p=await c5(e,p))===c4)continue;let h=lp(c,p);if(void 0===h){d&&n(d,{});continue}let m=(null==l?void 0:l.mode)==="default"?"default":"assign";d?n(d,"default"===m?{initialValue:h}:{value:h}):"function"==typeof o&&o({path:i,value:h,whenEmpty:"default"===m})}}catch(e){console.warn("[linkageAssignField] Failed to assign value to fields",e)}}}),pu=(0,y.defineAction)({name:"subFormLinkageAssignField",title:(0,y.tExpr)("Field assignment"),scene:y.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":pa}},handler:async(e,t)=>{let{value:l,setProps:n,addFormValuePatch:o}=t,i=c1(l,{mode:"assign",valueKey:"assignValue"},c2(e));if(i.length)try{let t=(t,l,n)=>!l||e.app.jsonLogic.apply({[l]:[t,n]}),l=()=>{let t=e.model;return(null==t?void 0:t.__subFormLinkageExplicitPathKeys)instanceof Set||(t.__subFormLinkageExplicitPathKeys=new Set),t.__subFormLinkageExplicitPathKeys},m=t=>{var l,n;let o=(0,rq.IJ)(t,null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex);if(!Array.isArray(o)||!o.length)return null;let i=o.filter(e=>"string"==typeof e||"number"==typeof e);return i.length?(0,rq.Qc)(i):null},f=()=>{let t=null==e?void 0:e.inputArgs;if(!t||"user"!==t.source)return;let n=Array.isArray(t.changedPaths)?t.changedPaths:[];if(!n.length)return;let o=l();for(let t of n){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 n=(0,rq.IJ)(t,null==(r=e.model)||null==(i=r.context)?void 0:i.fieldIndex);if(Array.isArray(n)&&n.length){let e=n.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}}(null==l?void 0:l.length)&&o.add((0,rq.Qc)(l))}},g=t=>{var n,o;let i=l(),r=m(t);if(!r)return!1;if(i.has(r))return!0;let a=(0,rq.IJ)(t,null==(o=e.model)||null==(n=o.context)?void 0:n.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,rq.Qc)(s);if(!i.has(l))continue;let n=a[e+1];if("number"!=typeof n)return!0}return!1};f();let v=t=>{var l,n,o,i,r,a;let s=e.engine.getModel(t);if(!s)return null;let d=null==e||null==(n=e.model)||null==(l=n.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==(o=i.call(s,"fieldSettings","init"))?void 0:o.fieldPath),t=c0(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,u,c,p,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 m=c6(e,i);if(!(null==m?void 0:m.targetPath))continue;let f=m.targetPath,b=m.fieldModel||null,x=(null==b?void 0:b.uid)?String(b.uid):"",S=null==l?void 0:l.condition;if(S&&!(0,w.evaluateConditions)((0,w.removeInvalidFilterItems)(S),t))continue;let M=(null==l?void 0:l.mode)==="default"?"default":"assign",F=(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),A="update"===F,k=(null==e||null==(u=e.item)?void 0:u.__is_new__)===!0;if("default"===M&&A&&!k)continue;let C=f.split(".")[0],P=(null==b?void 0:b.collectionField)??(null==(p=(0,li.w7)((null==(h=e.model)?void 0:h.parent)??e.model))||null==(c=p.getField)?void 0:c.call(p,C)),j=null==l?void 0:l.value;if((0,y.isRunJSValue)(j)&&(j=await c5(e,j))===c4)continue;let I=lp(P,j);if(void 0===I){if(!x)continue;let e=v(x);e&&n(e,{});continue}if(!x){if("default"===M&&g(f))continue;"function"==typeof o&&o({path:f,value:I,whenEmpty:"default"===M});continue}let E=v(x);E&&n(E,"default"===M?{initialValue:I}:{value:I})}}catch(e){console.warn("[subFormLinkageAssignField] Failed to assign value to fields",e)}}});(0,y.defineAction)({name:"setFieldsDefaultValue",title:(0,y.tExpr)("设置字段默认值"),scene:y.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":ps}},handler:async(e,t)=>{let{value:l,setProps:n,addFormValuePatch:o}=t,i=c1(l,{mode:"default",valueKey:"initialValue"},c2(e));if(i.length)try{let t=(t,l,n)=>!l||e.app.jsonLogic.apply({[l]:[t,n]});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,w.evaluateConditions)((0,w.removeInvalidFilterItems)(s),t))continue;let d=(0,li.eo)(e.model,i),u=i.split(".")[0],c=(null==d?void 0:d.collectionField)??(null==(a=(0,li.w7)(e.model))||null==(r=a.getField)?void 0:r.call(a,u)),p=null==l?void 0:l.value;if((0,y.isRunJSValue)(p)&&(p=await c5(e,p))===c4)continue;let h=lp(c,p);if(void 0===h){d&&n(d,{});continue}d?n(d,{initialValue:h}):"function"==typeof o&&o({path:i,value:h,whenEmpty:!0})}}catch(e){console.warn("[setFieldsDefaultValue] Failed to set fields default value",e)}}});let pc=(0,y.defineAction)({name:"linkageRunjs",title:(0,y.tExpr)("Execute JavaScript"),scene:[y.ActionScene.BLOCK_LINKAGE_RULES,y.ActionScene.FIELD_LINKAGE_RULES,y.ActionScene.ACTION_LINKAGE_RULES,y.ActionScene.MENU_LINKAGE_RULES,y.ActionScene.DETAILS_FIELD_LINKAGE_RULES,y.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES],sort:300,useRawParams:!0,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={script:""},onChange:l}=e,n=e=>{l({...t,script:e})};return(0,A.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:(0,A.jsx)("div",{children:(0,A.jsx)(tM.BY,{value:t.script,onChange:n,height:"200px",enableLinter:!0,scene:"linkage"})})})}}},handler:async(e,t)=>{let{value:l}=t,{script:n}=l||{};if(n&&"string"==typeof n)try{let t=(0,y.createSafeNavigator)();await e.runjs(n,{window:(0,y.createSafeWindow)({navigator:t}),document:(0,y.createSafeDocument)(),navigator:t})}catch(t){var o;if(console.error("Script execution error:",t),null==(o=e.app)?void 0:o.message){let l=t instanceof Error?t.message:String(t);e.app.message.error(`Script execution error: ${l}`)}}}});function pp(e){let t=j().cloneDeep(e||{}),l=new Map,n=e=>{let t=`__ncb_linkage_runjs_script_mask__${(0,ef.uid)()}__`;return l.set(t,e),t},o=null==t?void 0:t.value;return Array.isArray(o)&&o.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let l=j().get(e,["params","value","script"]);"string"==typeof l&&l.length&&j().set(e,["params","value","script"],n(l));let o=j().get(e,["params","code"]);"string"==typeof o&&o.length&&j().set(e,["params","code"],n(o))})}),{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 n=j().get(e,["params","value","script"]);"string"==typeof n&&l.has(n)&&j().set(e,["params","value","script"],l.get(n));let o=j().get(e,["params","code"]);"string"==typeof o&&l.has(o)&&j().set(e,["params","code"],l.get(o))})}),e}}}async function ph(e,t){let{masked:l,restore:n}=pp(t);return n(await e.resolveJsonTemplate(l))}let pm=(0,y.observer)(e=>{let{value:t,supportedActions:l}=e,n=(0,y.useFlowContext)(),o=(0,y.useFlowEngine)(),i=n.model.translate.bind(n.model),r=i("Assignment takes precedence over form field assignment"),a=()=>({key:(0,ef.uid)(),title:i("Linkage rule"),enable:!0,condition:{logic:"$and",items:[]},actions:[]}),s=()=>{t.push(a())},d=e=>{t.splice(e,1)},u=e=>{if(e>0){let l=t[e];t.splice(e,1),t.splice(e-1,0,l)}},c=e=>{if(e<t.length-1){let l=t[e];t.splice(e,1),t.splice(e+1,0,l)}},p=e=>{let l=j().cloneDeep(t[e]),n={...l,key:(0,ef.uid)(),title:`${l.title} (Copy)`};t.splice(e+1,0,n)},h=(e,l)=>{t[e].title=l},m=(e,l)=>{t[e].enable=l},f=()=>l.map(e=>n.getAction(e)),g=(e,l)=>{let n={key:(0,ef.uid)(),name:l,params:void 0};t[e].actions.push(n)},v=(e,l)=>{t[e].actions.splice(l,1)},b=(e,l,n)=>{t[e].actions[l].params=n},x=(e,l)=>(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,A.jsx)("div",{style:{flex:1,marginRight:16},children:(0,A.jsx)(eF.A,{value:e.title,onChange:e=>h(l,e.target.value),onClick:e=>e.stopPropagation(),placeholder:"Enter rule title"})}),(0,A.jsxs)(eg.A,{onClick:e=>e.stopPropagation(),children:[(0,A.jsx)(W.A,{title:i("Delete"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(ok.A,{}),onClick:()=>d(l)})}),(0,A.jsx)(W.A,{title:i("Move up"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(uV.A,{}),onClick:()=>u(l),disabled:0===l})}),(0,A.jsx)(W.A,{title:i("Move down"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(uz.A,{}),onClick:()=>c(l),disabled:l===t.length-1})}),(0,A.jsx)(W.A,{title:i("Copy"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(cd.A,{}),onClick:()=>p(l)})}),(0,A.jsx)(oC.A,{size:"small",checked:e.enable,onChange:e=>m(l,e),checkedChildren:i("Enable"),unCheckedChildren:i("Disable")})]})]}),w=t.map((e,t)=>({key:e.key,label:x(e,t),styles:{header:{display:"flex",alignItems:"center"}},children:(0,A.jsxs)("div",{children:[(0,A.jsxs)("div",{style:{marginBottom:32},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,A.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#1890ff",borderRadius:"2px",marginRight:8}}),(0,A.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Condition")})]}),(0,A.jsx)("div",{style:{paddingLeft:12},children:(0,A.jsx)(cu.I,{value:e.condition,FilterItem:e=>(0,A.jsx)(C.Ru,{model:n.model,value:e.value})})})]}),(0,A.jsxs)("div",{children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,A.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#52c41a",borderRadius:"2px",marginRight:8}}),(0,A.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Actions")})]}),(0,A.jsxs)("div",{style:{paddingLeft:12},children:[e.actions.length>0?(0,A.jsx)("div",{style:{marginBottom:16},children:e.actions.map((e,l)=>{let a=n.getAction(e.name);return a?(0,A.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,A.jsxs)("span",{style:{fontWeight:500,color:"#262626"},children:[i(a.title),"linkageAssignField"===e.name||"subFormLinkageAssignField"===e.name?(0,A.jsx)(W.A,{title:r,children:(0,A.jsx)(it.A,{style:{marginInlineStart:4},onClick:e=>e.stopPropagation()})}):null,(0,A.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,A.jsx)(W.A,{title:i("Delete action"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(ok.A,{}),onClick:()=>v(t,l)})})]}),(0,A.jsx)("div",{children:o.flowSettings.renderStepForm({uiSchema:a.uiSchema,initialValues:e.params,flowEngine:o,onFormValuesChange:e=>b(t,l,e.values)})})]},e.key):null})}):null,(0,A.jsx)(oj.A,{menu:{items:f().map(e=>({key:e.name,label:i(e.title||e.name),onClick:()=>g(t,e.name)}))},trigger:["hover"],children:(0,A.jsx)(H.Ay,{type:"link",icon:(0,A.jsx)(eo.A,{}),style:{padding:0,height:"auto",textAlign:"left"},children:i("Add action")})})]})]})]})}));return(0,A.jsxs)(A.Fragment,{children:[t.length>0?(0,A.jsx)(uH.A,{items:w,size:"small",style:{marginBottom:8},defaultActiveKey:t.length>0?[t[0].key]:[],accordion:!0}):(0,A.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,A.jsx)(od.A,{description:i("No linkage rules"),style:{margin:"20px 0"}})}),(0,A.jsx)(H.Ay,{type:"dashed",icon:(0,A.jsx)(eo.A,{}),onClick:s,style:{width:"100%"},children:i("Add linkage rule")})]})}),pf=async(e,t)=>{var l,n,o,i,r,a,s,d;let u=(t,l,n)=>!l||e.app.jsonLogic.apply({[l]:[t,n]}),c=t.value,p=e.model.__allModels||(e.model.__allModels=[]),h=new Set(p),m=new Map,f=[],g=(0,li.w7)((null==(n=e.model)||null==(l=n.context)?void 0:l.blockModel)??e.model),v=e=>{if(!Array.isArray(e)||!e.length||!(null==g?void 0:g.getField))return!0;let t=g;for(let o=0;o<e.length;o++){var l,n;let i=e[o];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==(n=r.isAssociationField)?void 0:n.call(r)),s=!!(null==r?void 0:r.targetCollection);if((0,li.E4)(r)&&o+1<e.length&&"number"!=typeof e[o+1])return!1;a&&s&&(t=r.targetCollection)}return!0},y=t=>{var l,n;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 o=null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex;return(0,rq.IJ)(t,o)},b=()=>{var t,l;let n=(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel)??e.model;return(null==n?void 0:n.formValueRuntime)??(null==e?void 0:e.formValueRuntime)},x=e=>{let t=b();if("function"!=typeof(null==t?void 0:t.recordDefaultValuePatch))return;let l=new Map;for(let t of e)l.set((0,rq.Qc)(t.path),t);for(let e of l.values())e.whenEmpty&&t.recordDefaultValuePatch(e.path,e.value)},S=t=>{var l,n,o,i,r;if(!t)return;let a=null==t?void 0:t.path;if(!a)return;let s=y(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(!v(s))return void console.warn("[linkageRules] Skip linkage assignment for to-many association subpath without row index",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.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==(o=i.context)?void 0:o.form,l=null==t||null==(r=t.getFieldValue)?void 0:r.call(t,s);if(d){let e=b();if("function"==typeof(null==e?void 0:e.canApplyDefaultValuePatch)){if(!e.canApplyDefaultValuePatch(s,u))return}else if(null!=l&&""!==l)return}if(j().isEqual(l,u))return}catch{}f.push({path:s,value:u,...d?{whenEmpty:!0}:{}})},M=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"),n="string"==typeof(null==t?void 0:t.fieldPath)?t.fieldPath:"",o="string"==typeof(null==t?void 0:t.associationPathName)?t.associationPathName:"",i=n||("string"==typeof(null==e?void 0:e.fieldPath)?e.fieldPath:""),r=o||("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 n=null==e||null==(t=e.props)?void 0:t.name;if("string"==typeof n&&n)return n;if(Array.isArray(n)&&n.length){let e="";for(let t of n){if("number"==typeof t){e+=`[${t}]`;continue}"string"==typeof t&&t&&(e?e+=`.${t}`:e=t)}return e||null}return null};for(let t of c.filter(e=>e.enable)){let{condition:l,actions:n}=t;if((0,w.evaluateConditions)((0,w.removeInvalidFilterItems)(l),u))for(let t of n){let l=(e,t)=>{e.__originalProps||(e.__originalProps={hiddenModel:e.hidden,hiddenText:void 0,disabled:void 0,required:void 0,hidden:void 0,...e.props}),m.set(e,{...m.get(e)||{},...t}),-1===p.indexOf(e)&&p.push(e),h.add(e)};await (null==(a=e.getAction(t.name))?void 0:a.handler(e,{...t.params,setProps:l,addFormValuePatch:S}))}}let F=new Map,A=new Map;h.forEach(e=>{let t=(null==e?void 0:e.uid)||String(e),l=m.get(e)||{};if(F.has(t)){let n=A.get(t)||{},o={...n,...l};A.set(t,o);let i=F.get(t),r=Object.keys(l).length>0,a=Object.keys(n).length>0;!r||a&&e.isFork&&i.isFork?e.isFork&&!i.isFork&&F.set(t,e):F.set(t,e)}else F.set(t,e),A.set(t,{...l})}),F.forEach((t,l)=>{let n=A.get(l)||{},o={...t.__originalProps,...n};if(t.setProps(j().omit(o,["hiddenModel","value","hiddenText"])),cY(t,n),"function"==typeof t.setHidden?t.setHidden(!!o.hiddenModel):t.hidden=!!o.hiddenModel,!0===o.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===o.required){let e=(t.props.rules||[]).filter(e=>!e.required);t.setProps("rules",e)}if(o.hiddenText&&t.setProps("title",""),Object.prototype.hasOwnProperty.call(n,"value")&&t.context.form){let l=M(t);if(l)S({path:l,value:o.value});else{var i;console.warn("[linkageRules] Skip linkage assignment due to missing target path",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,targetUid:null==t?void 0:t.uid})}}t.__props=null});let k=[...f];if(!k.length)return;let C=e,P=null==C?void 0:C.setFormValues,I=null==(r=e.model)||null==(i=r.context)||null==(o=i.blockModel)?void 0:o.context,E=null==I?void 0:I.setFormValues,R=null==C?void 0:C.inputArgs,_="string"==typeof(null==R?void 0:R.linkageTxId)&&R.linkageTxId?R.linkageTxId:"string"==typeof(null==R?void 0:R.txId)?R.txId:void 0,T=cO(e),D=async(e,t,l)=>{await e.call(t,k,{source:l,linkageTxId:_,linkageScopeDepth:T})};if("function"==typeof P)try{await D(P,C,"linkage"),x(k);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:k.length,patches:k.slice(0,10).map(e=>({path:e.path,value:cD(e.value)}))}),console.warn(t)}if("function"==typeof E)try{await D(E,I,"linkage"),x(k);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:k.length,patches:k.slice(0,10).map(e=>({path:e.path,value:cD(e.value)}))}),console.warn(t)}k.forEach(t=>{let{path:l,value:n}=t;try{var o,i,r;let t=null==(i=e.model)||null==(o=i.context)?void 0:o.form;if("function"==typeof(null==t?void 0:t.getFieldValue)){let e=t.getFieldValue(l);if(j().isEqual(e,n))return}null==t||null==(r=t.setFieldValue)||r.call(t,l,n)}catch(e){console.warn("[linkageRules] Failed to set form field value (fallback setFieldValue)",{path:l},e)}}),x(k)},pg=(0,y.defineAction)({name:"blockLinkageRules",title:(0,y.tExpr)("Block linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":pm,"x-component-props":{supportedActions:pS(e,y.ActionScene.BLOCK_LINKAGE_RULES),title:(0,y.tExpr)("Block linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{cT(e,t,"blockLinkageRules");let l=await ph(e,t);return pf(e,l)}}),pv=(0,y.defineAction)({name:"actionLinkageRules",title:(0,y.tExpr)("Linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":pm,"x-component-props":{supportedActions:pS(e,y.ActionScene.ACTION_LINKAGE_RULES),title:(0,y.tExpr)("Linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{cT(e,t,"actionLinkageRules");let l=await ph(e,t);return pf(e,l)}}),py=(0,y.defineAction)({name:"menuLinkageRules",title:(0,y.tExpr)("Menu linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":pm,"x-component-props":{supportedActions:pS(e,y.ActionScene.MENU_LINKAGE_RULES),title:(0,y.tExpr)("Menu linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{let l=await ph(e,t);return pf(e,l)}}),pb=(0,y.defineAction)({name:"fieldLinkageRules",title:(0,y.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":pm,"x-component-props":{supportedActions:pS(e,y.ActionScene.FIELD_LINKAGE_RULES),title:(0,y.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,n,o;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,li.w7)((null==(n=e.model)||null==(l=n.context)?void 0:l.blockModel)??e.model),s=e=>{if(!(null==a?void 0:a.getField))return null;let t=(0,rq.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return null;let l=a,n=[];for(let e=0;e<t.length-1;e++){var o,i;let r=t[e];if("string"!=typeof r)continue;let a=null==l||null==(o=l.getField)?void 0:o.call(l,r);if(!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a)))break;let s=(0,li.E4)(a);if(s&&n.push(r),s&&"number"==typeof t[e+1]&&(e+=1),!(null==(l=null==a?void 0:a.targetCollection)?void 0:l.getField))break}if(!n.length)return null;let r=n[n.length-1],s=n.filter(e=>e===r).length;return`${r}#${s}`},d=e=>{if(!(null==a?void 0:a.getField))return!1;let t=(0,rq.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 n,o;let i=t[e];if("string"!=typeof i)continue;let r=null==l||null==(n=l.getField)?void 0:n.call(l,i);if(!(null==r||null==(o=r.isAssociationField)?void 0:o.call(r)))break;if((0,li.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},u=c2(e),{blockParams:c,rowParamsByKey:p}=(()=>{let e=null==t?void 0:t.value;if(!Array.isArray(e)||!e.length)return{blockParams:t,rowParamsByKey:new Map};let l=[],n=new Map,o=(e,t,l)=>{if(!e||!l.length)return;let o=n.get(e)||[];o.push({...t,actions:l}),n.set(e,o)};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},n=Array.isArray(t.actions)?t.actions:[],i=[],r=new Map;for(let e of n){let t=null==e?void 0:e.name,l=null==e?void 0:e.params,n=null==l?void 0:l.value,o=t=>{let o=c1(n,t,u);if(!o.length)return{block:null,rows:new Map};let i=[],r=new Map;for(let e of o){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,c=new Map;for(let[t,n]of r.entries())n.length&&c.set(t,{...e,params:{...l,value:n}});return{block:a,rows:c}};if("linkageAssignField"===t){let e=o({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=o({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)=>{o(l,e,t)})}let i={...t,value:l},r=new Map;return n.forEach((e,l)=>{r.set(l,{...t,value:e})}),{blockParams:i,rowParamsByKey:r}})(),h=await ph(e,c);if(await pf(e,h),!p.size)return;let m=e=>{var t;let l=null==e||null==(t=e.context)?void 0:t.fieldIndex,n=(Array.isArray(l)?l:[]).filter(e=>"string"==typeof e),o=[],i=[];for(let e of n){let[t,l]=e.split(":"),n=Number(l);!t||Number.isNaN(n)||(o.push({name:t,index:n}),i.push(t,n))}return{normalized:n,entries:o,path:i}},f=e=>{let{entries:t}=m(e);if(!t.length)return null;let l=t[t.length-1].name,n=t.reduce((e,t)=>t.name===l?e+1:e,0);return`${l}#${n}`},g=e=>{let{normalized:t}=m(e);return t.length?JSON.stringify(t):null},v=e=>{let{path:t}=m(e);return t.length?t:null},b=t=>{var l,n,o,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==(o=i.blockModel)||null==(n=o.context)?void 0:n.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)},x=e=>{let t=v(e);if(!t)return!0;let l=b(e);return!l||"function"!=typeof l.getFieldValue||void 0!==l.getFieldValue(t)},w=e=>{var t,l,n;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"item")||void 0!==(null==e||null==(n=e.context)?void 0:n.item)},S=e=>{var t,l,n;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"subTableRowFork")||void 0!==(null==e||null==(n=e.context)?void 0:n.subTableRowFork)||void 0!==(null==e?void 0:e.subTableRowFork)||(null==e?void 0:e.subTableRowFork)===!0},M=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)&&!!f(e)&&!!g(e)},F=e=>!!e&&"object"==typeof e&&!!S(e)&&!!f(e)&&!!g(e)&&w(e),A=e=>M(e)||F(e),k=()=>{let t=new Map,l=new Map,n=e.engine;return(null==n?void 0:n.forEachModel)&&n.forEachModel(e=>{let n=null==e?void 0:e.forks;n&&"function"==typeof n.forEach&&n.forEach(e=>{if(!e||e.disposed||!A(e)||!x(e))return;let n=f(e),o=g(e);if(!n||!o)return;let i=l.get(n)||new Set;if(i.has(o))return;i.add(o),l.set(n,i);let r=t.get(n)||[];r.push(e),t.set(n,r)})}),t},C=async()=>{let t=k(),l=!1;for(let[o,i]of p.entries()){let a=t.get(o)||[];if(a.length&&(l=!0),a.length)for(let t of a){let l=new y.FlowRuntimeContext(t,e.flowKey);r(l);try{let e=await ph(l,i);await pf(l,e)}catch(l){var n;console.warn("[linkageRules] Failed to run row-scoped linkage rules",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,rowScopeKey:o,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==(o=e.model)?void 0:o.uid,rowKeys:Array.from(p.keys())}),l[t]=!0,setTimeout(()=>{l[t]=!1;let n=e.model;n&&!n.disposed&&C().catch(e=>{console.warn("[linkageRules] Failed to retry row-scoped linkage rules",e)})},0))}}}),px=(0,y.defineAction)({name:"subFormFieldLinkageRules",title:(0,y.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":pm,"x-component-props":{supportedActions:pS(e,y.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES),title:(0,y.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,n,o,i;if(e.model.hidden)return;let r=null==(n=e.model)||null==(l=n.subModels)?void 0:l.grid;if(!r)return void console.warn("[subFormFieldLinkageRules] Missing subModels.grid",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid});let a=cN(null==e?void 0:e.model),s=t=>{let l=new y.FlowRuntimeContext(t,e.flowKey),n=null==e?void 0:e.inputArgs;return n&&"object"==typeof n&&l.defineProperty("inputArgs",{value:{...n}}),l.defineProperty("linkageScopeDepth",{value:a}),l};if(e.model instanceof rZ){if(r.hidden)return;let l=s(r);try{let e=await ph(l,t);await pf(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 n=s(l);try{let e=await ph(n,t);await pf(n,e)}catch(t){var o;console.warn("[subFormFieldLinkageRules] Failed to run linkage rules for fork",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,forkUid:null==l?void 0:l.uid,gridUid:null==r?void 0:r.uid}),console.warn(t)}}))}}),pw=(0,y.defineAction)({name:"detailsFieldLinkageRules",title:(0,y.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":pm,"x-component-props":{supportedActions:pS(e,y.ActionScene.DETAILS_FIELD_LINKAGE_RULES),title:(0,y.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{if(e.model.hidden)return;let l=await ph(e,t);return pf(e,l)}});function pS(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 pM=(0,y.defineAction)({name:"overflowMode",title:(0,y.tExpr)("Ellipsis on text overflow"),uiMode:{type:"switch",key:"overflowMode"},defaultParams:e=>({overflowMode:e.model.parent instanceof ib}),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"})}}),pF=()=>{let e=(0,eM.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,G.B)();return(0,A.jsxs)(l_.A,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,A.jsx)(l_.A.Option,{value:"*",children:l("Multiply by")}),(0,A.jsx)(l_.A.Option,{value:"/",children:l("Divide by")})]})},pA=(0,y.defineAction)({title:(0,y.tExpr)("Number format"),name:"numberFormat",uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,y.tExpr)("Normal")},{value:"scientifix",label:(0,y.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,A.jsx)(pF,{})}},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:n,separator:o,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:n,separator:o||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a}},handler(e,t){let{formatStyle:l,unitConversion:n,unitConversionType:o,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:n,unitConversionType:o,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}),pk=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 pC(e){return class extends e{async onDispatchEventStart(e){var t,l,n,o,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==(o=i.dataSourceManager)||null==(n=o.getCollectionField)?void 0:n.call(o,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,n,o,i,r,a,s,d,u,c;if("beforeRender"!==e)return;let p={...this._originalPropsFallback||{},...(null==(t=this._originalModel)?void 0:t.props)||{}},h=null==(l=this.context)?void 0:l.collectionField,m={};(null==p?void 0:p.fieldNames)&&(m.fieldNames=p.fieldNames),void 0!==(null==p?void 0:p.allowMultiple)&&(m.allowMultiple=p.allowMultiple);let f=pk(null==(n=this.props)?void 0:n.options),g=!!(null==f?void 0:f.length),v=pk(null==p?void 0:p.options),y=(null==v?void 0:v.length)?v:this._originalOptionsFallback;!g&&Array.isArray(y)&&y.length>0&&(m.options=y.map(e=>e&&"object"==typeof e?{...e}:e));let b=(()=>{let e=null==h?void 0:h.type,t=null==h?void 0:h.interface,l=t&&("m2m"===t||"o2m"===t||"mbm"===t);return!!(e&&("belongsToMany"===e||"hasMany"===e||"belongsToArray"===e)||l)})(),x=void 0!==p.multiple?p.multiple:b,w=void 0!==p.allowMultiple?p.allowMultiple:void 0!==p.multiple?p.multiple:b;void 0!==x&&(m.multiple=x),void 0!==w&&(m.allowMultiple=w),Object.keys(m).length&&this.setProps(m),(null==h?void 0:h.interface)==="multipleSelect"&&void 0===(null==(o=this.props)?void 0:o.mode)&&this.setProps({mode:"multiple"}),(0,lg.NI)(this,h),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 S=null==(c=this.getStepParams("formItemSettings","initialValue"))?void 0:c.defaultValue;void 0!==S&&this.setProps({defaultValue:S})}setProps(e){var t,l,n;let{originalModel:o,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=(n=this).setPattern)||l.call(n,"editable"),u}remove(){for(var e,t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];null==(e=super.remove)||e.call(this,...l)}}}let pP=(0,eM.connect)(e=>{let{value:t,onChange:l,metaTree:n,flags:o,...i}=e,r=(0,y.useFlowContext)(),{model:a}=r,s=k.useCallback(e=>!!e&&"function"==typeof(null==e?void 0:e.query),[]),d=k.useCallback((e,t)=>{if(s(e)){var l,n,o,i;let r=null==(n=e.query(t))||null==(l=n.get)?void 0:l.call(n,"selfModified"),a=null==(i=e.query(t))||null==(o=i.get)?void 0:o.call(i,"modified");return!!(r||a)}return"function"==typeof(null==e?void 0:e.isFieldsTouched)&&!!e.isFieldsTouched([t])},[s]),u=k.useCallback((e,t)=>{if(s(e))return(0,P.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,P.get)(l,t)},[s]),c=k.useCallback((e,t,l)=>{if(e&&(null==t?void 0:t.length)){if(s(e))return void e.setFieldValue(t,l);if("function"==typeof(null==e?void 0:e.setFieldValue))e.setFieldValue(t,l);else{var n;let o={};(0,P.set)(o,t,l),null==e||null==(n=e.setFieldsValue)||n.call(e,o)}}},[s]),p=k.useCallback(async e=>{let t=e;if((0,y.isRunJSValue)(t)){try{let{code:e,version:l}=(0,y.normalizeRunJSValue)(t),n=await (0,y.runjsWithSafeGlobals)(null==a?void 0:a.context,e,{version:l});t=(null==n?void 0:n.success)?n.value:void 0}catch{t=void 0}return t}if((0,y.isVariableExpression)(t)){var l,n;let o=await (null==a||null==(n=a.context)||null==(l=n.resolveJsonTemplate)?void 0:l.call(n,t));if(void 0!==o&&(t=o),t===e){let e=(0,y.extractPropertyPath)(String(t));e&&(t=(0,P.get)(null==a?void 0:a.context,e.join(".")))}}return t},[a]),h=k.useCallback((e,t)=>lh(e,t),[]);k.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,n,o)=>{var i,r,a,s,m,f,g;let v,y,b=[],x=(null==t||null==(i=t.props)?void 0:i.name)??(null==t?void 0:t.fieldPath);b=h(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 n&&o&&void 0!==o.defaultValue&&(v=null==(a=t.getStepParams(e,n))?void 0:a.defaultValue,y=o.defaultValue);let w=l(e,n,o);if(void 0!==y){let e=(null==t||null==(f=t.context)||null==(m=f.blockModel)||null==(s=m.context)?void 0:s.form)||(null==t||null==(g=t.context)?void 0:g.form);if(e&&b.length){let t=d(e,b),l=u(e,b),n=await p(v),o=await p(y),i=null==l||""===l,r=(0,P.isEqual)(l,n)||!t&&i;void 0!==o&&r&&c(e,b,o)}}return w})},[a,u,d,p,c,h]);let m=(0,k.useMemo)(()=>{var e;let t=null==a||null==(e=a.context)?void 0:e.flags;if(t||o)return{...t||{},...o||{}}},[a,o]),f=k.useRef(void 0);(0,P.isEqual)(f.current,m)||(f.current=m);let g=f.current,v=(0,k.useMemo)(()=>{var e,t,l,n,o,i,r,s,d,u,c,p,h,m,f,v,b,x,w,S,M,F,A,k,C,P,j,I;let E=a,R=(null==E?void 0:E.customFieldModelInstance)||(null==E||null==(e=E.subModels)?void 0:e.field),_=(null==R?void 0:R.props)||{},T=(null==E?void 0:E.customFieldProps)||{},{value:D,defaultValue:N,...O}=_,{value:$,defaultValue:B,...L}=T,q=(null==E||null==(t=E.getStepParams)?void 0:t.call(E,"fieldSettings","init"))||(null==R||null==(l=R.getStepParams)?void 0:l.call(R,"fieldSettings","init")),V=null==R?void 0:R.collectionField;if(!V&&(null==q?void 0:q.dataSourceKey)&&(null==q?void 0:q.collectionName)&&(null==q?void 0:q.fieldPath)){let e=`${q.dataSourceKey}.${q.collectionName}.${q.fieldPath}`;V=null==a||null==(f=a.context)||null==(m=f.dataSourceManager)||null==(h=m.getCollectionField)?void 0:h.call(m,e)}V||(V=null==E||null==(v=E.context)?void 0:v.collectionField);let z=null==R?void 0:R.constructor,K=V?y.EditableItemModel.getDefaultBindingByField(null==a?void 0:a.context,V):null,U=null==V?void 0:V.type,W=null==V?void 0:V.interface,H="belongsToMany"===U||"hasMany"===U||"belongsToArray"===U||"m2m"===W||"o2m"===W||"mbm"===W,G=!!((null==g?void 0:g.isInSetDefaultValueDialog)&&H),Y=H?l6:oN.m,J=K?null==a||null==(i=a.context)||null==(o=i.engine)||null==(n=o.getModelClass)?void 0:n.call(o,K.modelName):null,X="function"==typeof z?z:null,Q=pC("string"==typeof(null==z?void 0:z.name)&&/FilterFieldModel$/.test(z.name)||(null==E?void 0:E.customFieldModelInstance)?X||J||Y:J||X||Y),Z=null==R||null==(r=R.props)?void 0:r.fieldNames,ee=null==R||null==(s=R.props)?void 0:s.titleField,et=null==R||null==(d=R.getStepParams)?void 0:d.call(R,"selectSettings","fieldNames"),el=null==R||null==(u=R.getStepParams)?void 0:u.call(R,"selectSettings","allowMultiple"),en={};q&&(en.fieldSettings={init:q}),(et||el)&&(en.selectSettings={...et?{fieldNames:et}:{},...el?{allowMultiple:el}:{}});let eo={use:Q,uid:(0,ef.uid)(),parentId:null,subKey:null,subType:null,stepParams:{...(null==R?void 0:R.stepParams)||{},...Object.keys(en).length?en:{}},props:{disabled:!1,allowClear:!0,...O,...void 0!==Z?{fieldNames:Z}:{},...void 0!==ee?{titleField:ee}:{},...G?{keepDropdownOpenOnSelect:!0}:{},...L}},ei=a.context.engine.createModel({use:"VariableFieldFormModel",subModels:{fields:[eo]}}),er=null==(p=ei.subModels)||null==(c=p.fields)?void 0:c[0];if(er&&(er._originalModel=R,er._originalPropsFallback=null==E?void 0:E.customFieldProps,er._fallbackCollectionField=null==E||null==(b=E.context)?void 0:b.collectionField,er._originalOptionsFallback=pk(null==R||null==(x=R.getDataSource)?void 0:x.call(R))||pk(null==R||null==(w=R.props)?void 0:w.options)||pk(null==E||null==(S=E.customFieldProps)?void 0:S.options)),(null==q?void 0:q.dataSourceKey)&&(null==q?void 0:q.collectionName)){let e=a.context.dataSourceManager,t=null==e||null==(M=e.getDataSource)?void 0:M.call(e,q.dataSourceKey),l=null==e||null==(F=e.getCollection)?void 0:F.call(e,q.dataSourceKey,q.collectionName);t&&(null==(k=ei.context)||null==(A=k.defineProperty)||A.call(k,"dataSource",{get:()=>t})),l&&(null==(P=ei.context)||null==(C=P.defineProperty)||C.call(P,"collection",{get:()=>l}))}return g&&(null==(I=ei.context)||null==(j=I.defineProperty)||j.call(I,"flags",{value:g})),ei},[a,g]);k.useEffect(()=>()=>{var e,t;null==(t=v.subModels)||null==(e=t.fields)||e.forEach(e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),v.remove()},[v]);let b=(0,k.useMemo)(()=>e=>{let l=k.useRef(!1),[,n]=k.useReducer(e=>e+1,0),o=k.useRef(Symbol("init")),i=k.useRef(Symbol("none")),r=k.useRef(!1);return k.useEffect(()=>{var a,s,d,u,c,p,h,m,f;let g=null==v||null==(s=v.subModels)||null==(a=s.fields)?void 0:a[0];if(!g)return;let{disabled:y,readOnly:b,readPretty:x,pattern:w,...S}=e||{},M=!!(null==g||null==(c=g.context)||null==(u=c.collectionField)||null==(d=u.isAssociationField)?void 0:d.call(u)),F=e=>!!e&&"object"==typeof e&&"data"in e,A=e=>Array.isArray(e)?e.map(e=>F(e)?e.data:e):F(e)?e.data:e,k=(null==g||null==(p=g._originalModel)?void 0:p.use)||(null==g?void 0:g.use),C=null==g||null==(m=g.context)||null==(h=m.collectionField)?void 0:h.interface,P=new Set(["input","email","phone","uuid","url","nanoid","textarea","markdown","password","color"]),j="InputFieldModel"===k||(C?P.has(C):g instanceof oN.m),I=e=>{if(e&&"object"==typeof e&&"target"in e){let t=null==e?void 0:e.target;if(j&&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,o=Array(l),a=0;a<l;a++)o[a]=arguments[a];let s=o.length>1&&("string"==typeof o[1]||Array.isArray(o[1])&&o[1].every(e=>"string"==typeof e))?o[1]:o[0],d=M?A(s):I(s);if(!j){let e=M?A(s):I(s);i.current=e,g.setProps({value:e,defaultValue:void 0})}j&&r.current||(null==(t=(null==S?void 0:S.onChange)??(null==e?void 0:e.onChange))||t(d),n())},onCompositionStart:function(){for(var t,l,n=arguments.length,o=Array(n),i=0;i<n;i++)o[i]=arguments[i];r.current=!0,null==S||null==(t=S.onCompositionStart)||t.call(S,...o),null==e||null==(l=e.onCompositionStart)||l.call(e,...o)},onCompositionUpdate:(null==S?void 0:S.onCompositionUpdate)??(null==e?void 0:e.onCompositionUpdate),onCompositionEnd:t=>{var l,n,o;r.current=!1;let i=I(t);null==(l=(null==S?void 0:S.onChange)??(null==e?void 0:e.onChange))||l(i),null==S||null==(n=S.onCompositionEnd)||n.call(S,t),null==e||null==(o=e.onCompositionEnd)||o.call(e,t)},style:{width:"100%",minWidth:0,...(null==S?void 0:S.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(!j){let e=t;if(e!==o.current&&(o.current=e,void 0!==e)){let t=M?A(e):I(e);i.current=t,g.setProps({value:t}),n()}}},[e,t]),(0,A.jsx)("div",{style:{flexGrow:1},children:(0,A.jsx)(y.FlowModelRenderer,{model:v,showFlowSettings:!1})})},[v]);k.useEffect(()=>{var e,t,l,n;let o=null==a?void 0:a.operator,i=null==v||null==(t=v.subModels)||null==(e=t.fields)?void 0:e[0];if(!o||!i)return;let r=i.__originalRender||i.render;i.__originalRender=r;let s=(0,oO._)(a.context.app,o,(null==(n=a.collectionField)||null==(l=n.filterable)?void 0:l.operators)||[]);if(s&&i instanceof oN.m){let{Comp:e,props:t}=s;i.render=()=>{var l;return(0,A.jsx)(e,{...i.props,...t,style:{width:"100%",...null==(l=i.props)?void 0:l.style,...null==t?void 0:t.style}})}}else"function"==typeof r&&(i.render=r)},[a,v,null==a?void 0:a.operator]),k.useEffect(()=>{var e,t,l,n,o;let i=null==a?void 0:a.operator,r=null==v||null==(t=v.subModels)||null==(e=t.fields)?void 0:e[0];if(!r||!i)return;let s=((null==(n=a.collectionField)||null==(l=n.filterable)?void 0:l.operators)||[]).find(e=>e.value===i),d=null==s||null==(o=s.schema)?void 0:o["x-component-props"];d&&r.setProps(d)},[a,v,null==a?void 0:a.operator]);let x=(0,k.useMemo)(()=>function(){var e;return(0,A.jsx)(eF.A,{placeholder:`<${(null==(e=r.t)?void 0:e.call(r,"Null"))??"Null"}>`,readOnly:!0})},[r]),w=(0,k.useMemo)(()=>e=>(0,A.jsx)(lv.h,{t:r.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange}),[r]),S=(0,k.useMemo)(()=>async()=>{var e,t,l,o;let i=[];return i="function"==typeof n?await n()||[]:Array.isArray(n)?n:(null==(o=r.getPropertyMetaTree)?void 0:o.call(r))||[],[{title:(null==(e=r.t)?void 0:e.call(r,"Constant"))??"Constant",name:"constant",type:"string",paths:["constant"],render:b},{title:(null==(t=r.t)?void 0:t.call(r,"Null"))??"Null",name:"null",type:"object",paths:["null"],render:x},{title:(null==(l=r.t)?void 0:l.call(r,"RunJS"))??"RunJS",name:"runjs",type:"object",paths:["runjs"],render:w},...i]},[n,r,b,x,w]);return k.useEffect(()=>{var e;let t=null==(e=v.subModels.fields)?void 0:e[0];null==t||t.setProps({disabled:!1})},[v,t]),(0,A.jsx)(y.VariableInput,{metaTree:S,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?b:"null"===l?x:"runjs"===l?w:y.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,y.isRunJSValue)(e)?["runjs"]:(0,y.isVariableExpression)(e)?(0,y.parseValueToPath)(e):["constant"]}})});class pj{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=j().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 y.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)}`,n=(e,t)=>{let{subModels:o,flowEngine:i,...r}=e||{},a={...r};if(a.uid=l(),t&&(a.parentId=t),o&&"object"==typeof o)for(let e of(a.subModels={},Object.keys(o))){let t=o[e];Array.isArray(t)?a.subModels[e]=t.map(e=>n(e,a.uid)):t&&"object"==typeof t&&(a.subModels[e]=n(t,a.uid))}return a};return n(t)}constructor(e=""){(0,K._)(this,"prefix",void 0),this.prefix=e}}class pI{buildFindOneKey(e){let t=(null==e?void 0:e.uid)??"",l=(null==e?void 0:e.parentId)??"",n=(null==e?void 0:e.subKey)??"";return`uid:${t}|parentId:${l}|subKey:${n}`}async findOne(e){let t=this.buildFindOneKey(e),l=this.inFlightFindOne.get(t);if(l){let e=await l;return e?j().cloneDeep(e):e}let n=this.app.apiClient.request({url:"flowModels:findOne",params:j().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,n);let o=await n;return o?j().cloneDeep(o):o}async save(e,t){var l;let n=e.serialize();return(null==t?void 0:t.onlyStepParams)&&delete n.subModels,null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:save",data:n})).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 n=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:n}})).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){(0,K._)(this,"app",void 0),(0,K._)(this,"inFlightFindOne",void 0),this.app=e,this.inFlightFindOne=new Map}}var pE=l(13774),pR=l(59452);function p_(e){return!!e&&"object"==typeof e}function pT(e){if(e){if("string"==typeof e)return e;if(p_(e))return e.eventName}}function pD(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 pN(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 pO=e=>{let{model:t}=e,l=k.useMemo(()=>t.translate.bind(t),[t]),n=()=>{let e=document.querySelector(`#${y.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[y.EMBED_REPLACING_DATA_KEY]&&(e.style.width="auto",e.style.maxWidth="none",e.style.minWidth="auto")},content:(0,A.jsx)(pH,{model:t})})};return(0,A.jsx)(pE.A,{style:{cursor:"pointer"},onClick:n})},p$={display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},pB={width:"4px",height:"16px",borderRadius:"2px",marginRight:8},pL={margin:0,fontSize:14,fontWeight:500,color:"#262626"},pq={marginBottom:8,fontSize:14,fontWeight:500,color:"#262626"},pV={marginInlineStart:4,color:"#ff4d4f"},pz={marginInlineStart:2,marginInlineEnd:8},pK=e=>{let{color:t,children:l}=e;return(0,A.jsxs)("div",{style:p$,children:[(0,A.jsx)("div",{style:{...pB,backgroundColor:t}}),(0,A.jsx)("h4",{style:pL,children:l})]})},pU=e=>{let{children:t,required:l,style:n}=e;return(0,A.jsxs)("div",{style:{...pq,...n},children:[t,l&&(0,A.jsx)("span",{style:pV,children:"*"}),(0,A.jsx)("span",{style:pz,children:":"})]})},pW=(0,y.observer)(e=>{var t;let{flow:l,model:n,flowEngine:o,flowRegistry:i}=e,r=(0,y.useFlowContext)(),a=n.translate.bind(n),s=(0,pR.A)(),[d,u]=k.useState([]),c=pT(l.on),p=p_(l.on)?l.on:void 0,h=c?null==(t=n.getEvent(c))?void 0:t.uiSchema:void 0,m="function"==typeof h?h(r):h,f=null==p?void 0:p.defaultParams,g=k.useCallback(()=>{if(p_(l.on))return l.on;if(!c)return;let e={eventName:c};return l.on=e,e},[c,l]),v=(null==p?void 0:p.phase)?String(p.phase):"beforeAllFlows",b=(null==p?void 0:p.flowKey)?String(p.flowKey):void 0,x=(null==p?void 0:p.stepKey)?String(p.stepKey):void 0,w=k.useMemo(()=>[...n.getEvents().values()],[n]);k.useEffect(()=>{let e=!1;return(async()=>{let t=[];for(let e of w)await (0,y.shouldHideEventInSettings)(n,l,e)||t.push({label:n.translate(e.title),value:e.name});e||u(e=>j().isEqual(e,t)?e:t)})(),()=>{e=!0}},[l,n,w]);let S=k.useMemo(()=>c?Array.from(n.constructor.globalFlowRegistry.getFlows().values()).filter(e=>"beforeRender"===c?!0!==e.manual&&(!e.on||"beforeRender"===pT(e.on)):pT(e.on)===c):[],[c,n]),M=k.useMemo(()=>new Map(S.map(e=>[e.key,e])),[S]),F=k.useCallback((e,t)=>{if(!t)return e;let l=a(String(t));return`${e} (${l})`},[a]),C=k.useMemo(()=>S.map(e=>({value:e.key,label:F(String(e.key),e.title),disabled:i.hasFlow(e.key)})),[i,F,S]),P=k.useMemo(()=>{if(!b)return[];let e=M.get(b);return e?e.mapSteps(e=>{let t=e.use?n.getAction(e.use):void 0,l=e.title||(null==t?void 0:t.title);return{value:e.key,label:F(String(e.key),l)}}):[]},[b,F,n,M]),I=k.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]),E=["beforeFlow","afterFlow","beforeStep","afterStep"].includes(v),R=["beforeStep","afterStep"].includes(v),_=p?pN(p):void 0,T="flowKey"===_,D="stepKey"===_,N=e=>{let t=p_(l.on)?l.on:{eventName:e};l.on=t,t.eventName=e,delete t.phase,delete t.flowKey,delete t.stepKey,s()};return(0,A.jsxs)("div",{style:{marginBottom:32},children:[(0,A.jsx)(pK,{color:"#1890ff",children:a("Event")}),(0,A.jsxs)("div",{style:{paddingLeft:12},children:[(0,A.jsxs)("div",{style:{marginBottom:16},children:[(0,A.jsx)(pU,{children:a("Trigger event")}),(0,A.jsx)(l_.A,{placeholder:a("Select trigger event"),style:{width:"100%"},value:c,onChange:e=>{N(e)},options:d})]}),(0,A.jsxs)("div",{style:{marginBottom:16},children:[(0,A.jsx)(pU,{children:a("Execution timing")}),(0,A.jsx)(l_.A,{style:{width:"100%"},disabled:!c,value:v,onChange:e=>{let t=g();t&&(t.phase=e,pD(t),s())},options:I}),E&&(0,A.jsxs)("div",{style:{marginTop:12,display:"flex",flexDirection:"column",gap:12},children:[(0,A.jsxs)("div",{children:[(0,A.jsx)(pU,{required:E,style:{marginBottom:6},children:a("Built-in flow")}),(0,A.jsx)(l_.A,{style:{width:"100%"},disabled:!c||0===C.length,placeholder:a("Select a built-in flow"),value:b,status:T?"error":void 0,options:C,onChange:e=>{let t=g();t&&(e?t.flowKey=e:delete t.flowKey,delete t.stepKey,s())}}),T&&(0,A.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow")})]}),R&&(0,A.jsxs)("div",{children:[(0,A.jsx)(pU,{required:R,style:{marginBottom:6},children:a("Built-in flow step")}),(0,A.jsx)(l_.A,{style:{width:"100%"},disabled:!c||!b||0===P.length,placeholder:a("Select a built-in flow step"),value:x,status:D?"error":void 0,options:P,onChange:e=>{let t=g();t&&(e?t.stepKey=e:delete t.stepKey,s())}}),D&&(0,A.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow step")})]}),0===C.length&&(0,A.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8c8c8c"},children:a("No built-in flows for this event")})]})]}),c&&o.flowSettings.renderStepForm({key:c,uiSchema:m,initialValues:f,flowEngine:o,onFormValuesChange:e=>{let t=g();t&&(t.defaultParams=e.values)}})]})]})}),pH=(0,y.observer)(e=>{let{model:t}=e,l=(0,y.useFlowContext)(),n=t.flowEngine,o=(0,y.serializeFlowRegistry)(t.flowRegistry),i=k.useRef(o),[r]=k.useState(()=>new y.DetachedFlowRegistry(o)),[a,s]=k.useState(!1),d=k.useMemo(()=>t.translate.bind(t),[t]),u=k.useCallback(()=>!j().isEqual(i.current,(0,y.serializeFlowRegistry)(r)),[r]);k.useEffect(()=>{j().isEqual(i.current,o)||u()||((0,y.replaceFlowRegistry)(r,o),i.current=o)},[r,u,o]),k.useEffect(()=>{let e=l.view,t=e.beforeClose,n=async e=>{if(u()){var n,o;if(!(await (null==(o=l.modal)||null==(n=o.confirm)?void 0:n.call(o,{title:d("Unsaved changes"),content:d("Are you sure you don't want to save?"),okText:d("Confirm"),cancelText:d("Cancel")}))??!0))return!1}return!1!==await (null==t?void 0:t(e))};return e.beforeClose=n,()=>{e.beforeClose===n&&(e.beforeClose=t)}},[l,u,d]);let c=()=>{r.addFlow((0,ef.uid)(),{title:d("Event flow"),steps:{}})},p=e=>{e.remove()},h=(e,t)=>{e.title=t},m=()=>[...t.getActions().values()].filter(e=>j().castArray(e.scene).includes(y.ActionScene.DYNAMIC_EVENT_FLOW)).sort((e,t)=>(e.sort??0)-(t.sort??0)),f=(e,t)=>{let l={use:t.name};e.addStep((0,ef.uid)(),l)},g=e=>{e.remove()},v=(e,t)=>{e.defaultParams=t},b=e=>(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,A.jsx)("div",{style:{flex:1,marginRight:16},children:(0,A.jsx)(eF.A,{value:e.title,onChange:t=>h(e,t.target.value),onClick:e=>e.stopPropagation(),placeholder:d("Enter flow title")})}),(0,A.jsx)(eg.A,{onClick:e=>e.stopPropagation(),children:(0,A.jsx)(W.A,{title:"Delete",children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(ok.A,{}),onClick:()=>p(e)})})})]}),x=r.mapFlows(e=>({key:e.key,label:b(e),styles:{header:{display:"flex",alignItems:"center"}},children:(0,A.jsxs)("div",{children:[(0,A.jsx)(pW,{flow:e,model:t,flowEngine:n,flowRegistry:r}),(0,A.jsxs)("div",{children:[(0,A.jsx)(pK,{color:"#52c41a",children:d("Steps")}),(0,A.jsxs)("div",{style:{paddingLeft:12},children:[(0,A.jsx)("div",{style:{marginBottom:16},children:e.mapSteps(e=>{let l=t.getAction(e.use);return l?(0,A.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,A.jsxs)("span",{style:{fontWeight:600,color:"#262626"},children:[d(l.title),(0,A.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,A.jsx)(W.A,{title:d("Delete step"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(ok.A,{}),onClick:()=>g(e)})})]}),(0,A.jsx)("div",{children:k.createElement(y.FlowStepContext.Provider,{value:{params:(0,y.untracked)(()=>e.defaultParams),path:`${t.uid}_${e.flowKey}_${e.key}`}},n.flowSettings.renderStepForm({uiSchema:l.uiSchema,initialValues:(0,y.untracked)(()=>e.defaultParams),flowEngine:n,onFormValuesChange:t=>v(e,t.values)}))})]},e.key):null})}),(0,A.jsx)(oj.A,{menu:{items:m().map(t=>({key:t.name,label:d(t.title)||t.name,onClick:()=>f(e,t)}))},trigger:["hover"],children:(0,A.jsx)(H.Ay,{type:"link",icon:(0,A.jsx)(eo.A,{}),style:{padding:0,height:"auto",textAlign:"left"},children:d("Add step")})})]})]})]})}));return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,A.jsxs)("div",{style:{flex:1,padding:"16px",overflow:"auto",minHeight:0},children:[x.length>0?(0,A.jsx)(uH.A,{items:x,size:"small",style:{marginBottom:8},defaultActiveKey:[x[0].key],accordion:!0}):(0,A.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,A.jsx)(od.A,{description:d("No event flows"),style:{margin:"20px 0"}})}),(0,A.jsx)(H.Ay,{type:"dashed",icon:(0,A.jsx)(eo.A,{}),onClick:c,style:{width:"100%"},children:d("Add event flow")})]}),(0,A.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",padding:"8px 16px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fff",flexShrink:0},children:[(0,A.jsx)(H.Ay,{onClick:()=>l.view.close(),children:d("Cancel")}),(0,A.jsx)(H.Ay,{type:"primary",loading:a,onClick:async()=>{var e,n,o,a,u,c,p,h,m,f,g,v;s(!0);let b=r.mapFlows(e=>{if(!p_(e.on))return;pD(e.on);let t=pN(e.on);if(t)return{type:t}}).filter(Boolean)[0];if(b){let e="flowKey"===b.type?d("Please select a built-in flow"):d("Please select a built-in flow step");null==(c=t.context)||null==(u=c.message)||null==(a=u.error)||a.call(u,e),s(!1);return}let x=(0,y.serializeFlowRegistry)(t.flowRegistry),w=[];try{for(let e of r.mapFlows(e=>e))for(let l of e.mapSteps(e=>e)){let n=l.serialize(),o=l.use?t.getAction(l.use):void 0,i=n.beforeParamsSave||(null==o?void 0:o.beforeParamsSave),r=n.afterParamsSave||(null==o?void 0:o.afterParamsSave);if("function"!=typeof i&&"function"!=typeof r)continue;let a=new y.FlowRuntimeContext(t,e.key,"settings");(0,y.setupRuntimeContextSteps)(a,e.steps,t,e.key),a.defineProperty("currentStep",{value:n});let s={...l.defaultParams||{}},d={...l.defaultParams||{}};"function"==typeof i&&await i(a,s,d),"function"==typeof r&&w.push(async()=>{await r(a,s,d)}),l.defaultParams=s}(0,y.replaceFlowRegistry)(t.flowRegistry,(0,y.serializeFlowRegistry)(r)),await t.flowRegistry.save()}catch(e){(0,y.replaceFlowRegistry)(t.flowRegistry,x),s(!1),null==(m=t.context)||null==(h=m.message)||null==(p=h.error)||p.call(h,"Steps post-save hooks failed to run"),console.error(e);return}i.current=(0,y.serializeFlowRegistry)(t.flowRegistry);try{for(let e of w)await e()}catch(e){null==(v=t.context)||null==(g=v.message)||null==(f=g.error)||f.call(g,"Steps post-save hooks failed to run"),console.error(e)}t.flowRegistry.mapFlows(e=>{if((0,y.isBeforeRenderFlow)(e))return e}).filter(Boolean).length>0&&t.rerender(),s(!1),null==(o=t.context)||null==(n=o.message)||null==(e=n.success)||e.call(n,d("Configuration saved")),l.view.destroy()},children:d("Save")})]})]})});var pG=l(81469),pY=l(5338),pJ=l(35634),pX=l.n(pJ);let pQ=()=>{let e=(0,y.useFlowContext)().app,t=e.pm.get("@nocobase/plugin-block-markdown");return t.dependencyLoaded||(t.initVditorDependency(e),t.dependencyLoaded=!0),t.getCDN(e)};var pZ=l(42524);let p0="nb-markdown-vditor";function p1(){let{theme:e,token:t,hashId:l}=i_.A.useToken(),n=(0,pZ.useStyleRegister)({theme:e,token:t,hashId:l,path:["flow-markdown",p0]},()=>({[`.${p0}`]:{".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,k.useMemo)(()=>n,[n,e,t,l]),hashId:l,componentCls:p0}}function p2(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 p4=e=>{if(e){let t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}};function p5(e){let t=(0,k.useRef)(null),{wrapSSR:l,componentCls:n,hashId:o}=p1(),i=pQ();return(0,k.useEffect)(()=>{e.loadImages&&(pX().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",()=>{p8(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,pY.createRoot)(l).render((0,A.jsx)(pG.A,{value:t}))})},300))},[e.value,e.loadImages,i]),l((0,A.jsx)("span",{className:`${o} ${n}`,children:(0,A.jsx)("span",{ref:t,style:{border:"none",...(null==e?void 0:e.style)??{}}})}))}function p8(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 p6=e=>{let{value:t,textOnly:l=!0}=e,n=pQ(),[o,i]=(0,k.useState)(!1),[r,a]=(0,k.useState)(!1),[s,d]=(0,k.useState)(!1),[u,c]=(0,k.useState)(""),p=(0,k.useRef)();(0,k.useEffect)(()=>{e.value&&l&&pX().md2html(e.value,{mode:"light",cdn:n}).then(e=>{c(p2(e))}).catch(()=>c(""))},[e.value,l]);let h=(0,k.useCallback)(()=>{var e;return!!p.current&&p4(p.current)>(null==(e=p.current)?void 0:e.offsetWidth)},[p]),m=e=>{i(e),e&&!s&&d(!0)};return e.ellipsis?(0,A.jsx)(tv.A,{open:o,getPopupContainer:()=>{var e;return null==(e=document.getElementsByClassName("ant-drawer-content"))?void 0:e[0]},onOpenChange:e=>{m(r&&e)},overlayStyle:{maxWidth:600},content:(0,A.jsx)("div",{style:{maxHeight:400,overflow:"auto"},children:(0,A.jsx)(p5,{value:t,loadImages:s})}),children:(0,A.jsx)("div",{ref:p,style:{overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},onMouseEnter:e=>{let t=e.target;h()&&a(t.scrollWidth>=t.clientWidth)},children:l?u:(0,A.jsx)("div",{className:(0,tH.css)`
760
+ `,defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},enum:[{label:(0,o9.b2)({format:"MMMM Do YYYY"}),value:"MMMM Do YYYY"},{label:(0,o9.b2)({format:"YYYY-MM-DD"}),value:"YYYY-MM-DD"},{label:(0,o9.b2)({format:"MM/DD/YY"}),value:"MM/DD/YY"},{label:(0,o9.b2)({format:"YYYY/MM/DD"}),value:"YYYY/MM/DD"},{label:(0,o9.b2)({format:"DD/MM/YYYY"}),value:"DD/MM/YYYY"},{label:(0,y.tExpr)("Custom"),value:"custom"}],"x-reactions":[e=>{let{picker:t}=e.form.values;e.value=(0,w.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:n}=t.form.values||{};t.hidden="dateOnly"===l.type||"date"!==n,"date"!==n&&(t.value=!1)}]},timeFormat:n}},defaultParams:e=>{let{showTime:t,dateFormat:l,timeFormat:n,picker:o}={...e.model.context.collectionField.getComponentProps(),...e.model.props};return{picker:o||"date",dateFormat:l||"YYYY-MM-DD",timeFormat:n||"HH:mm:ss",showTime:t}},handler(e,t){let{collectionField:l}=e.model.context;"time"===l.type?e.model.setProps({...t,format:null==t?void 0:t.timeFormat}):e.model.setProps({...t,format:(null==t?void 0:t.showTime)?`${t.dateFormat} ${t.timeFormat}`:t.dateFormat})}});var uM=l(97456);function uF(e){if(""!==e&&null!=e)return e}let uA=(0,y.defineAction)({name:"dateRangeLimit",title:(0,y.tExpr)("Date range limit"),uiMode:{type:"dialog",props:{width:720}},uiSchema(e){var t,l;let n={targetPath:(null==(l=e.model.context)||null==(t=l.collectionField)?void 0:t.name)||"",enableDateVariableAsConstant:!0};return{_minDate:{type:"string",title:(0,y.tExpr)("MinDate"),"x-decorator":"FormItem","x-component":uM.zv,"x-component-props":n},_maxDate:{type:"string",title:(0,y.tExpr)("MaxDate"),"x-decorator":"FormItem","x-component":uM.zv,"x-component-props":n}}},defaultParams(e){var t,l;return{_minDate:uF(null==(t=e.model.props)?void 0:t._minDate),_maxDate:uF(null==(l=e.model.props)?void 0:l._maxDate)}},useRawParams:!0,async handler(e,t){e.model.setProps({_minDate:uF(null==t?void 0:t._minDate),_maxDate:uF(null==t?void 0:t._maxDate)})}}),uk=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}}),uC=(0,y.defineAction)({name:"sortingRule",title:(0,y.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:uk((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,y.tExpr)("ASC"),value:"asc"},{label:(0,y.tExpr)("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:(0,y.tExpr)("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},defaultParams:e=>({sort:[]}),async handler(e,t){var l;let n=t.sort.map(e=>"desc"===e.direction?`-${e.field}`:e.field),o=null==(l=e.model)?void 0:l.resource;o&&(e.model.setProps({globalSort:n}),o.setSort(n))}}),uP=(0,y.defineAction)({name:"dataLoadingMode",title:(0,y.tExpr)("Data loading mode"),uiMode:{type:"select",key:"mode",props:{options:[{value:"auto",label:(0,y.tExpr)("Load all data when filter is empty")},{value:"manual",label:(0,y.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 y.MultiRecordResource)},handler(e,t){let l=e.blockModel;if(!l)return;let n=l.resource;n instanceof y.MultiRecordResource&&("manual"!==t.mode||l.hasActiveFilters()?"auto"===t.mode&&n.refresh():(n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1))}}),uj=(0,y.defineAction)({title:(0,y.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,n;let o=null==(l=(n=e.model).getStepParams)||null==(t=l.call(n,"displayFieldSettings","overflowMode"))?void 0:t.overflowMode;return void 0===o?e.model.parent instanceof ib:!0===o||"ellipsis"===o},defaultParams:{textOnly:!0},handler(e,t){e.model.setProps({textOnly:t.textOnly})}}),uI=(0,y.defineAction)({title:(0,y.tExpr)("Set block layout"),name:"layout",uiSchema:{layout:{type:"string",enum:[{label:(0,y.tExpr)("Vertical"),value:"vertical"},{label:(0,y.tExpr)("Horizontal"),value:"horizontal"}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},labelAlign:{title:(0,y.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,y.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,y.tExpr)("When the Label exceeds the width"),enum:[{label:(0,y.tExpr)("Line break"),value:!0},{label:(0,y.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,y.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})})}}),uE=(0,y.defineAction)({title:(0,y.tExpr)("Required"),name:"required",uiMode:e=>{var t,l,n;let o=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(n=e.model.props.validation)?void 0:n.rules)||[];return{type:"switch",key:"required",props:{disabled:o.concat(i).some(e=>"required"===e.name)}}},uiSchema:async e=>{var t,l,n;let o=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(n=e.model.props.validation)?void 0:n.rules)||[],r=o.concat(i).some(e=>"required"===e.name);return{required:{"x-component":"Switch","x-decorator":"FormItem","x-component-props":{checkedChildren:(0,y.tExpr)("Yes"),unCheckedChildren:(0,y.tExpr)("No")},"x-disabled":r}}},defaultParams:e=>({required:e.model.getProps().required}),handler(e,t){var l,n;let o=e.model.getProps().rules||[],i=((null==(n=e.model.collectionField)||null==(l=n.validation)?void 0:l.rules)||[]).some(e=>"required"===e.name);(o=o.filter(e=>!e.required),i)?e.model.setProps({rules:o,required:!0}):(t.required&&o.push({required:!0,message:e.t("The field value is required")}),e.model.setProps({rules:o,required:t.required}))}});function uR(e,t,l){let{collectionField:n}=e,o=t.getBindingsByField(e,n),i=t=>t.map(t=>{var l;let n=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=n.meta)?void 0:l.label)||t.modelName),value:t.modelName}});if(l){let r=t.getBindingsByField(e,n.targetCollection.getField(l));return[o.length&&{label:e.t("AssociationField component"),options:i(o)},{label:e.t("Title field component"),options:i(r)}].filter(Boolean)}return i(o)}let u_=(0,y.defineAction)({name:"displayFieldComponent",title:(0,y.tExpr)("Field component"),uiMode:e=>{let{titleField:t}=e.model.props;return{type:"select",key:"use",props:{options:uR(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 n=e.model.constructor.getBindingsByField(e,e.collectionField),{titleField:o}=e.model.props,i=[];o&&(i=e.model.constructor.getBindingsByField(e,e.collectionField.targetCollection.getField(o)));let r=n.concat(i).find(e=>e.modelName===t.use);t.use!==l.use&&await lo({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:ln(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){let l=ln(e.model.subModels.field);t.use!==l&&e.model.setStepParams(e.flowKey,"model",{use:t.use})}}),uT=(0,y.defineAction)({title:(0,y.tExpr)("Field component"),name:"fieldComponent",uiMode:e=>{if("readPretty"===e.model.getProps().pattern){var t,l;let{titleField:n}=e.model.props,o=e.model.constructor.getBindingsByField(e,e.collectionField);return o&&(1!==o.length||n)?{type:"select",key:"use",props:{options:uR(e,ld,n||(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 n=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=n.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 n=e.model.constructor.getBindingsByField(e,e.collectionField),o=[];if("readPretty"===e.model.getProps().pattern){let{titleField:t}=e.model.props;n=ld.getBindingsByField(e,e.collectionField),t&&(o=ld.getBindingsByField(e,e.collectionField.targetCollection.getField(t)))}let i=n.concat(o).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 lo({parentModel:e.model,targetUse:t.use,defaultProps:l,pattern:e.model.getProps().pattern})}},defaultParams:e=>{let t="readPretty"===e.model.getProps().pattern?ld.getDefaultBindingByField(e,e.collectionField):e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:ln(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){}}),uD=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},uN=(0,y.defineAction)({name:"aclCheck",async handler(e,t){var l,n,o,i,r;let a=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:(null==(n=e.collectionField)?void 0:n.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:e.collectionField?null:null==(o=e.resource)?void 0:o.getMeta("allowedActions"),recordPkValue:uD((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()))}}),uO=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},u$=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}))},uB=async e=>{var t,l,n,o,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==(o=e.resource)||null==(n=o.getMeta)?void 0:n.call(o,"allowedActions"),recordPkValue:uO((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)))},uL=async e=>{var t,l,n,o,i,r,a,s,d,u,c,p,h,m,f,g,v,y,b,x,w;if(!e.collectionField)return;let S=null==(l=e.blockModel)||null==(t=l.context)?void 0:t.actionName;if(!S)return;let M=await e.aclCheck({dataSourceKey:null==(n=e.dataSource)?void 0:n.key,resourceName:null==(o=e.collectionField)?void 0:o.collectionName,fields:[null==(i=e.collectionField)?void 0:i.name],actionName:S});if("update"===S){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==(h=e.exitAll)||h.call(e)),M||e.model.setProps({aclDisabled:!0})}else if("create"===S){let t=await e.aclCheck({dataSourceKey:null==(m=e.dataSource)?void 0:m.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==(v=e.collectionField)?void 0:v.collectionName,fields:[e.collectionField.name],actionName:"update"});M||(null==(y=e.item)?void 0:y.__is_stored__)||(null==(b=(x=e.model).setHidden)||b.call(x,!0),e.model.forbidden={actionName:S},null==(w=e.exitAll)||w.call(e)),t&&l||e.model.setProps({aclDisabled:!0})}},uq=(0,y.defineAction)({name:"aclCheckRefresh",async handler(e,t){let l=(null==t?void 0:t.strategy)||"default";(u$(e),"formItem"===l)?await uL(e):await uB(e)}});function uV(e){var t,l,n,o,i;return(null==(o=e.model.subModels)||null==(n=o.field)||null==(l=n.props)||null==(t=l.fieldNames)?void 0:t.label)||e.model.props.titleField||(null==(i=e.collectionField)?void 0:i.targetCollectionTitleFieldName)}function uz(e){var t;let l=e.model.subModels.field,n=ln(l)??(null==l?void 0:l.use),o="string"==typeof n?e.engine.getModelClass(n):n;return((null==o||null==(t=o.meta)?void 0:t.preserveOnPatternChange)??!1)===!0}async function uK(e){var t,l,n,o,i,r,a;null==(t=(l=e.model).invalidateFlowCache)||t.call(l,"beforeRender",!0),await (null==(n=(o=e.model).rerender)?void 0:n.call(o));let s=e.model.parent;s&&(null==(i=s.invalidateFlowCache)||i.call(s,"beforeRender",!0),null==(r=s.setProps)||r.call(s,{__patternRefreshKey:(0,ef.uid)()}),await (null==(a=s.rerender)?void 0:a.call(s)))}let uU=(0,y.defineAction)({name:"pattern",title:(0,y.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(uz(e)){if(t.pattern!==l.pattern){var n,o;null==(o=e.model.subModels.field)||null==(n=o.scheduleApplyJsSettings)||n.call(o)}await uK(e);return}let i=e.collectionField.targetCollection,r=uV(e),a=null==i?void 0:i.getField(r),{model:s}=e,d=function(t){var l,n;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.collectionField;if(!t)return;let i="function"==typeof t.defaultProps?t.defaultProps(e,o):t.defaultProps;return(null==(n=e.collectionField)||null==(l=n.isAssociationField)?void 0:l.call(n))&&r?{...i||{},titleField:r}:i};if("readPretty"===t.pattern){let t=ld.getDefaultBindingByField(e,e.collectionField,{fallbackToTargetTitleField:!0,targetCollectionTitleField:a});await lo({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 lo({parentModel:s,targetUse:t.modelName,defaultProps:d(t)})}await uK(e)},async beforeParamsSave(e,t,l){if("readPretty"===t.pattern){let t=uV(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})}}),uW=(0,y.defineAction)({title:(0,y.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":b.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=[],n=(0,y.jioToJoiSchema)(t.validation),o=e.model.props.label;l.push({validator:(t,l)=>{let{error:i}=n.validate(l,{abortEarly:!1});if(i){let t=i.details.map(t=>e.t(`${t.type}`,{...t.context,ns:"data-source-main",label:o})),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})}}}),uH=(0,y.defineAction)({title:(0,y.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)}});var uG=l(12094),uY=l(17025),uJ=l(61852),uX=l(27692),uQ=l(55021),uZ=l(47674);let u0=e=>{let{t,fieldOptions:l,rootCollection:n,value:o,onChange:i,defaultMode:r="assign",fixedMode:a,showCondition:s=!0,showEnable:d=!0,showValueEditorWhenNoField:u=!1,getValueInputProps:c,isTitleFieldCandidate:p,onSyncAssociationTitleField:h,enableDateVariableAsConstant:m=!1}=e,f=Array.isArray(o)?o:[],[g,v]=k.useState(()=>Array.isArray(l)?l:[]);k.useEffect(()=>{v(Array.isArray(l)?l:[])},[l]);let b=k.useCallback((e,t)=>(null==e?void 0:e.key)||String(t),[]),[x,w]=k.useState({}),[S,M]=k.useState({}),[F,C]=k.useState(null);k.useEffect(()=>{let e=new Set(f.map((e,t)=>b(e,t)));w(t=>{let l={},n=!1;for(let[o,i]of Object.entries(t))e.has(o)?l[o]=i:n=!0;return n?l:t}),M(t=>{let l={},n=!1;for(let[o,i]of Object.entries(t))e.has(o)?l[o]=!!i:n=!0;return n?l:t}),F&&!e.has(F)&&C(null)},[b,F,f]);let P=k.useCallback((e,l,n)=>{if(!(null==e?void 0:e.getFields)||n.has(e))return[];let o=new Set(n);o.add(e);let i=("function"==typeof e.getFields?e.getFields():[])||[],r=[];for(let e of i){var a;if(!e)continue;let n=e,i="string"==typeof n.interface?n.interface:void 0;if(!i||"formula"===i)continue;let s=String(n.name||"");if(!s)continue;let d=t("string"==typeof n.title?n.title:s),u={name:s,title:d,type:String(n.type||"string"),interface:i,uiSchema:n.uiSchema,paths:[...l,s]},c=!!(null==(a=n.isAssociationField)?void 0:a.call(n)),p=(0,li.E4)(n);c&&!p&&n.targetCollection&&(u.children=async()=>P(n.targetCollection,[...l,s],o)),r.push(u)}return r},[t]),j=k.useCallback(e=>{if(!(null==n?void 0:n.getField))return;let l=N(e);if(!l.length)return;let o=[],i=n;for(let e=0;e<l.length;e++){var r,a;let n=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,n);if(!(null==s||null==(a=s.isAssociationField)?void 0:a.call(s)))break;let d=(0,li.E4)(s),u=null==s?void 0:s.targetCollection;if(!u)break;let c=t("string"==typeof s.title?s.title:n);o.push({collection:u,toMany:d,viaLabel:c}),i=u}if(o.length<=0)return;let s=(e,l,n,i)=>{let r=o[e]||o[0],a=[];r.toMany&&(a.push({title:t("Index (starts from 0)"),name:"index",type:"number",paths:[...l,"index"]}),a.push({title:t("Total count"),name:"length",type:"number",paths:[...l,"length"]})),a.push({title:t("Attributes"),name:"value",type:"object",paths:[...l,"value"],children:async()=>P(r.collection,[...l,"value"],new Set)}),e-1>=0&&a.push(s(e-1,[...l,"parentItem"],"parentItem","Parent item"));let d=null==r?void 0:r.viaLabel;return{title:d?`${t(i)}(${d})`:t(i),name:n,type:"object",paths:l,children:a}};return[s(o.length-1,["item"],"item","Current item")]},[P,n,t]),I=(e,t)=>{let l=f.map((l,n)=>n===e?{...l,...t}:l);null==i||i(l)},E=e=>{let t=b(f[e],e);w(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),M(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),F===t&&C(null);let l=f.filter((t,l)=>l!==e);null==i||i(l)},R=(e,t)=>{let l=[...f],n="up"===t?e-1:e+1;if(n<0||n>=l.length)return;let[o]=l.splice(e,1);l.splice(n,0,o),null==i||i(l)},_=()=>{let e=[...f,{key:(0,ef.uid)(),enable:!0,mode:a||r,condition:{logic:"$and",items:[]},targetPath:void 0,value:void 0}];null==i||i(e)},T=e=>a||((null==e?void 0:e.mode)==="default"?"default":"assign"),D=k.useCallback(e=>{let l="default"===e?t("Default value"):t("Fixed value"),n="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."),o=e=>{e.preventDefault(),e.stopPropagation()};return(0,A.jsxs)(eg.A,{size:4,children:[(0,A.jsx)("span",{children:l}),(0,A.jsx)(W.A,{title:n,children:(0,A.jsx)(it.A,{style:{cursor:"help",opacity:.65,fontSize:12},onMouseDown:o,onClick:o})})]})},[t]),N=k.useCallback(e=>{let t=String(e||"");return t?t.split(".").map(e=>e.trim()).filter(Boolean):[]},[]),O=e=>{let l=N(e);if(!l.length)return;if(!(null==n?void 0:n.getField))return l.join(" / ");let o=[],i=n;for(let e=0;e<l.length;e++){var r,a;let n=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,n);if(!s){o.push(n);continue}o.push(t("string"==typeof s.title?s.title:n)),(null==s||null==(a=s.isAssociationField)?void 0:a.call(s))&&(null==s?void 0:s.targetCollection)&&(i=s.targetCollection)}return o.filter(Boolean).join(" / ")},$=k.useCallback(e=>{let l=N(e);if(!l.length||!(null==n?void 0:n.getField))return null;let o=n,i=null;for(let e=0;e<l.length;e++){var r,a,s,d,u,c,h;let n=String(l[e]);if(!(i=(null==o||null==(r=o.getField)?void 0:r.call(o,n))||null))break;if(e===l.length-1){if(!(null==i||null==(s=i.isAssociationField)?void 0:s.call(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 p)return!!p(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),n="string"==typeof(null==e?void 0:e.titleField)&&e.titleField?e.titleField:void 0,o="string"==typeof(null==e||null==(d=e.options)?void 0:d.titleField)&&(null==(u=e.options)?void 0:u.titleField)?null==(c=e.options)?void 0:c.titleField:void 0,r="string"==typeof(null==i?void 0:i.targetCollectionTitleFieldName)&&i.targetCollectionTitleFieldName?i.targetCollectionTitleFieldName:void 0,a=n||o||r;if(a&&!l.some(e=>e.value===a)){let n="function"==typeof(null==e?void 0:e.getField)&&(null==(h=e.getField(a))?void 0:h.title)||a;l.unshift({value:a,label:t("string"==typeof n?n:a)})}let m="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:a,valueKey:m,candidates:l}}if(!(null==i||null==(a=i.isAssociationField)?void 0:a.call(i))||!(null==i?void 0:i.targetCollection))break;o=i.targetCollection}return null},[p,N,n,t]),B=k.useCallback(e=>{if(!(null==n?void 0:n.getField))return null;let t=n;for(let n of e){var l,o;let e=null==t||null==(l=t.getField)?void 0:l.call(t,n);if(!(null==e||null==(o=e.isAssociationField)?void 0:o.call(e))||!(null==e?void 0:e.targetCollection))return null;t=e.targetCollection}return t||null},[n]),L=k.useCallback(e=>{let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],n=[];for(let e of l){var o;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(o=l.isAssociationField)?void 0:o.call(l)),d=!!l.targetCollection;n.push({label:a,value:r,isLeaf:!(s&&d)})}return n},[t]),q=k.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 n=B(t.map(e=>String(null==e?void 0:e.value)).filter(Boolean));if(!n){l.isLeaf=!0,v(e=>[...e]);return}let o=L(n);o.length?l.children=o:l.isLeaf=!0,v(e=>[...e])},[L,B]),V=k.useCallback(async e=>{if(!e.length)return;let t=g,l=[];for(let o=0;o<e.length-1;o++){var n;let i=String(e[o]),r=t.find(e=>String(null==e?void 0:e.value)===i);if(!r)return;if(l.push(r),null==(n=r.children)?void 0:n.length){t=r.children;continue}if(r.isLeaf)return;await q(l),t=r.children||[]}},[g,q]),z=k.useMemo(()=>{let e=[],t=new Set;for(let l of f){let n=(null==l?void 0:l.targetPath)?String(l.targetPath):"";n&&(t.has(n)||(t.add(n),e.push(n)))}return e},[f]);k.useEffect(()=>{let e=!1;return(async()=>{for(let t of z){if(e)return;let l=N(t);l.length&&await V(l)}})(),()=>{e=!0}},[N,V,z]);let K=(e,l)=>{let n="default"===T(e)?t("Default value"):t("Fixed value"),o=O(e.targetPath),i=o?String(o):t("Please select field");return(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,A.jsxs)("div",{style:{flex:1,marginRight:16,minWidth:0,display:"flex",alignItems:"center",gap:8},children:[(0,A.jsx)("div",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},title:i,children:i}),(0,A.jsx)("div",{style:{opacity:.65,fontSize:12,whiteSpace:"nowrap"},children:n})]}),(0,A.jsxs)(eg.A,{onClick:e=>e.stopPropagation(),children:[(0,A.jsx)(W.A,{title:t("Delete"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(ok.A,{}),onClick:()=>E(l),"aria-label":t("Delete")})}),(0,A.jsx)(W.A,{title:t("Move up"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(uG.A,{}),onClick:()=>R(l,"up"),disabled:0===l,"aria-label":t("Move up")})}),(0,A.jsx)(W.A,{title:t("Move down"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(uY.A,{}),onClick:()=>R(l,"down"),disabled:l===f.length-1,"aria-label":t("Move down")})}),d&&(0,A.jsx)(oC.A,{size:"small",checked:!1!==e.enable,onChange:e=>I(l,{enable:e}),checkedChildren:t("Enable"),unCheckedChildren:t("Disable")})]})]})},U=f.map((e,l)=>{var n;let o=T(e),i=j(e.targetPath),r=b(e,l),d=$(e.targetPath),p=x[r],f="string"==typeof p&&p||"string"==typeof(null==e?void 0:e.valueTitleField)&&e.valueTitleField||(null==d?void 0:d.currentTitleField)||void 0,v=!f||!d||!!d.candidates.some(e=>e.value===f),k=v?f:(null==d?void 0:d.currentTitleField)||void 0,P=!!d,E=!!(null==d||null==(n=d.candidates)?void 0:n.length),R=F===r,_=!!h&&P&&E&&v&&!!k&&k!==(null==d?void 0:d.currentTitleField)&&!R,O=!(0,y.isVariableExpression)(null==e?void 0:e.value)&&!(0,y.isRunJSValue)(null==e?void 0:e.value)&&(null==e?void 0:e.value)!==null,B=P&&O,L=B&&!!S[r],V=P?(0,A.jsxs)(eg.A.Compact,{size:"small",onClick:e=>e.stopPropagation(),children:[(0,A.jsx)(l_.A,{size:"small",style:{minWidth:160},value:k,placeholder:E?t("Please select field"):t("No available title fields"),options:(null==d?void 0:d.candidates)||[],disabled:!E||R,allowClear:!1,onChange:e=>{let t=String(e||""),n=t&&t!==(null==d?void 0:d.currentTitleField)?t:void 0;w(e=>{let t=Object.prototype.hasOwnProperty.call(e,r);if(!n){if(!t)return e;let l={...e};return delete l[r],l}return e[r]===n?e:{...e,[r]:n}}),I(l,{valueTitleField:n})}}),(0,A.jsx)(W.A,{title:_?t("Sync selected title field to collection"):t("Please choose a different title field before syncing"),children:(0,A.jsx)(uQ.A,{title:t("Sync title field"),description:t("This will update the collection title field globally. Continue?"),okText:t("OK"),cancelText:t("Cancel"),disabled:!_,onConfirm:async()=>{if(d&&k&&"function"==typeof h&&d.candidates.some(e=>e.value===k)){C(r);try{await h({ruleItem:e,ruleIndex:l,targetPath:e.targetPath,associationField:d.associationField,targetCollection:d.targetCollection,titleField:k}),w(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t}),I(l,{valueTitleField:void 0})}catch(e){console.warn("[FieldAssignRulesEditor] Failed to sync title field",e)}finally{C(e=>e===r?null:e)}}},children:(0,A.jsx)(H.Ay,{size:"small",icon:(0,A.jsx)(uJ.A,{spin:R}),disabled:!_,"aria-label":t("Sync title field")})})})]}):null;return{key:e.key||String(l),label:K(e,l),styles:{header:{display:"flex",alignItems:"center"}},children:(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Field")}),(0,A.jsx)(nK.A,{value:N(e.targetPath),placeholder:t("Please select field"),style:{width:"100%"},options:g,loadData:q,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 n=Array.isArray(t)?t.map(e=>String(e)).filter(Boolean):[],o=n.length?n.join("."):void 0,i=o!==e.targetPath;i&&(w(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t}),M(e=>{if(!(r in e))return e;let t={...e};return delete t[r],t})),I(l,{targetPath:o,valueTitleField:i?void 0:e.valueTitleField,value:i?void 0:e.value})}})]}),(u||!!e.targetPath)&&(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Value")}),(0,A.jsx)(uM.zv,{targetPath:e.targetPath||"",value:e.value,onChange:e=>I(l,{value:e}),extraMetaTree:i,...(null==c?void 0:c(e,l))||{},enableDateVariableAsConstant:m,associationFieldNamesOverride:d&&k?{label:k,value:d.valueKey}:void 0},`${e.targetPath||"no-field"}::${k||""}`),B&&(0,A.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:6},children:(0,A.jsx)(tv.A,{trigger:"click",open:L,onOpenChange:e=>{M(t=>({...t,[r]:e}))},placement:"bottomRight",title:t("Advanced"),content:(0,A.jsx)("div",{style:{minWidth:280},children:(0,A.jsxs)(eg.A,{size:8,align:"center",wrap:!0,children:[(0,A.jsx)("span",{style:{fontSize:12,opacity:.75},children:t("Title field")}),V]})}),children:(0,A.jsx)(H.Ay,{type:"link",size:"small",style:{paddingInline:0,height:"auto"},icon:L?(0,A.jsx)(uX.A,{}):(0,A.jsx)(oo.A,{}),children:t("Advanced")})})})]}),!a&&(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Assignment mode")}),(0,A.jsx)(np.Ay.Group,{value:o,style:{width:"100%"},onChange:e=>I(l,{mode:e.target.value}),children:(0,A.jsxs)(eg.A,{size:16,children:[(0,A.jsx)(np.Ay,{value:"default",children:D("default")}),(0,A.jsx)(np.Ay,{value:"assign",children:D("assign")})]})})]}),s&&(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Condition")}),(0,A.jsx)(el.H,{value:e.condition||{logic:"$and",items:[]},onChange:e=>I(l,{condition:e}),extraMetaTree:i})]})]})}}),G=k.useMemo(()=>{if(!f.length)return[];let e=-1;for(let l=f.length-1;l>=0;l--){var t;if((null==(t=f[l])?void 0:t.enable)!==!1){e=l;break}}let l=e>=0?e:0,n=f[l],o=(null==n?void 0:n.key)||String(l);return o?[o]:[]},[f]);return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[f.length?(0,A.jsx)(uZ.A,{items:U,size:"small",style:{marginBottom:8},defaultActiveKey:G,accordion:!0}):(0,A.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:6,backgroundColor:"#fafafa",marginBottom:8},children:(0,A.jsx)(od.A,{description:t("No data"),style:{margin:"20px 0"}})}),(0,A.jsx)(H.Ay,{type:"dashed",icon:(0,A.jsx)(eo.A,{}),onClick:_,style:{width:"100%"},children:t("Add")})]})};function u1(e){return(0,li.Gj)(e)}function u2(e,t){var l,n,o,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==(o=i.field)||null==(n=o.context)?void 0:n.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 u4(e){let t=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);return t.length?t[t.length-1]:""}function u5(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 u8(e,t){let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],n=[];for(let e of l){var o;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(o=l.isAssociationField)?void 0:o.call(l)),d=!!l.targetCollection;n.push({label:a,value:r,isLeaf:!(s&&d)})}return n}function u6(e,t){let l=Array.isArray(e)?e:[],n=Array.isArray(t)?t:[],o=new Set;for(let e of l){let t=(null==e?void 0:e.value)?String(e.value):"";t&&o.add(t)}return[...l,...n.filter(e=>{let t=(null==e?void 0:e.value)?String(e.value):"";return!!t&&!o.has(t)})]}function u3(e){var t,l,n;let{formBlockModel:o,t:i,maxFormItemDepth:r=1/0}=e,a=(null==o||null==(n=o.subModels)||null==(l=n.grid)||null==(t=l.subModels)?void 0:t.items)||[],s=u5(o),d=(e,t)=>{if(!Array.isArray(e)||t>r)return[];let l=[];for(let r of e){var n,o,a,s,u,c;if(!r)continue;let e=u2(r,i),p=u1(r);if(!p)continue;let h=u4(p);if(!h)continue;let m={label:e,value:h},f=null==r||null==(n=r.subModels)?void 0:n.field,g=null==f||null==(s=f.subModels)||null==(a=s.grid)||null==(o=a.subModels)?void 0:o.items,v=null==f||null==(u=f.context)?void 0:u.collectionField,y=!!(null==v||null==(c=v.isAssociationField)?void 0:c.call(v)),b=!!(null==v?void 0:v.targetCollection);if(Array.isArray(g)){if(y&&b)m.isLeaf=!1;else{let e=g.length?d(g,t+1):[];e.length?(m.children=e,m.isLeaf=!1):m.isLeaf=!0}l.push(m);continue}y&&b?m.isLeaf=!1:m.isLeaf=!0,l.push(m)}return l};return u6(d(a,1),u8(s,i))}var u9=l(87959);function u7(e,t){var l;let n="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;return!!e&&!!n&&!!(null==(l=(0,y.getCollectionFieldInterface)(n,e))?void 0:l.titleUsable)}function ce(e){let t=(null==e?void 0:e.dataSourceKey)??(null==e?void 0:e.dataSource);return"string"==typeof t&&t?t:b.Ze}function ct(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 cl(e){return e&&e!==b.Ze?`dataSources/${e}/collections:update`:"collections:update"}async function cn(e){var t,l;let{api:n,dataSourceManager:o,targetCollection:i,titleField:r}=e;if("function"!=typeof(null==n?void 0:n.request))throw Error("API client is unavailable.");if("string"!=typeof r||!r)throw Error("Title field is required.");let a=ct(i),s=ce(i);await n.request({url:cl(s),method:"post",params:{filterByTk:a},data:{titleField:r}}),null==i||null==(t=i.setOption)||t.call(i,"titleField",r);let d=null==o||null==(l=o.getDataSource)?void 0:l.call(o,s);return d&&"function"==typeof d.reload&&await d.reload(),{dataSourceKey:s,collectionName:a,titleField:r}}function co(e){let{api:t,dataSourceManager:l}=(0,y.useFlowContext)();return{isTitleFieldCandidate:k.useCallback(e=>u7(l,e),[l]),onSyncAssociationTitleField:k.useCallback(async n=>{let{targetCollection:o,titleField:i}=n;try{await cn({api:t,dataSourceManager:l,targetCollection:o,titleField:i}),u9.Ay.success(e("Saved successfully"))}catch(l){let t=(null==l?void 0:l.message)?String(l.message):e("Save failed");throw u9.Ay.error(t),l}},[t,l,e])}}var ci=l(71712);let cr=(0,y.observer)(e=>{let t=(0,y.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:n,onSyncAssociationTitleField:o}=co(l),i="function"==typeof e.onChange,r=k.useMemo(()=>u3({formBlockModel:t.model,t:l}),[t.model]),a=k.useMemo(()=>(0,ci.K7)(t.model),[t.model]),s=k.useMemo(()=>(0,n3.PP)(t.model,"formModelSettings","assignRules"),[t.model]),d=k.useRef(!1),[u,c]=k.useState(!1),p=k.useCallback(()=>{d.current||(d.current=!0,c(!0))},[]),h=k.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),m=k.useMemo(()=>s?h:(0,ci.S2)(e.value,a),[s,a,h,e.value]),f=k.useMemo(()=>i&&u?h:m,[i,u,m,h]),g=k.useCallback(t=>{var l;i&&(p(),null==(l=e.onChange)||l.call(e,t))},[i,p,e.onChange]);return k.useEffect(()=>{if(!d.current&&i){if(s)return void p();if(!(0,P.isEqual)(h,m)){var t;null==(t=e.onChange)||t.call(e,m)}p()}},[i,s,m,p,h,e.onChange]),(0,A.jsx)(u0,{t:l,fieldOptions:r,rootCollection:(0,li.w7)(t.model),value:f,onChange:g,showValueEditorWhenNoField:!0,isTitleFieldCandidate:n,onSyncAssociationTitleField:o,enableDateVariableAsConstant:!0})}),ca=(0,y.defineAction)({name:"formAssignRules",title:(0,y.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":cr}}),defaultParams:{value:[]},handler(){}}),cs=(0,y.observer)(e=>{let t=(0,y.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:n,onSyncAssociationTitleField:o}=co(l),i="function"==typeof e.onChange,r=k.useMemo(()=>u3({formBlockModel:t.model,t:l}),[t.model]),a=k.useMemo(()=>ot(t.model),[t.model]),s=k.useMemo(()=>(0,n3.PP)(t.model,"formFilterBlockModelSettings","defaultValues"),[t.model]),d=k.useCallback(e=>{var l,n,o,i;let r=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!r)return{};let a=(0,li.eo)(t.model,r);return a?{operator:er(a),operatorMetaList:(null==a||null==(n=a.collectionField)||null==(l=n.filterable)?void 0:l.operators)||((null==a||null==(i=a.context)||null==(o=i.filterField)?void 0:o.type)?null===b.II||void 0===b.II?void 0:b.II[a.context.filterField.type]:[])||[],preferFormItemFieldModel:!0}:{}},[t.model]),u=k.useRef(!1),[c,p]=k.useState(!1),h=k.useCallback(()=>{u.current||(u.current=!0,p(!0))},[]),m=k.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),f=k.useMemo(()=>s?m:(0,n3.S2)(e.value,a),[s,a,m,e.value]),g=k.useMemo(()=>i&&c?m:f,[i,c,f,m]),v=k.useCallback(t=>{var l;i&&(h(),null==(l=e.onChange)||l.call(e,t))},[i,h,e.onChange]);return k.useEffect(()=>{if(!u.current&&i){if(s)return void h();if(!(0,P.isEqual)(m,f)){var t;null==(t=e.onChange)||t.call(e,f)}h()}},[i,s,f,h,m,e.onChange]),(0,A.jsx)(u0,{t:l,fieldOptions:r,rootCollection:(0,li.w7)(t.model),value:g,onChange:v,fixedMode:"default",showCondition:!1,showValueEditorWhenNoField:!0,getValueInputProps:d,isTitleFieldCandidate:n,onSyncAssociationTitleField:o})}),cd=(0,y.defineAction)({name:"filterFormDefaultValues",title:(0,y.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":cs}}),defaultParams:{value:[]},handler(){}}),cu=(0,y.defineAction)({name:"linkageRulesRefresh",async handler(e,t){var l,n,o,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==(n=u.context)?void 0:n.flowSettingsEnabled)),p=!(null==u?void 0:u.isFork)&&!!(null==u||null==(o=u.forks)?void 0:o.size)&&Array.from((null==u?void 0:u.forks)||[]).some(e=>{var t,l,n;return!!e&&!e.disposed&&!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)&&!!(null==e||null==(n=e.getFlow)?void 0:n.call(e,s))}),h=!!(null==u||null==(r=u.context)||null==(i=r.ref)?void 0:i.current);if(p&&!h&&!c)return;let m=`${s}:${d}:${a}`,f=(l=u).__linkageRulesRefreshInflight||(l.__linkageRulesRefreshInflight=new Map),g=f.get(m);if(g)return void await g;let v=(async()=>{var t,l;let n=null==u||null==(t=u.getStepParams)?void 0:t.call(u,s,d),o=null==(l=e.getAction)?void 0:l.call(e,a),i=(null==o?void 0:o.useRawParams)?{value:[],...n||{}}:await e.resolveJsonTemplate({value:[],...n||{}});(null==o?void 0:o.handler)&&await o.handler(e,i)})();f.set(m,v);try{await v}finally{f.delete(m)}}}),cc="defaultHeight",cp="specifyValue",ch="fullHeight",cm=(0,y.defineAction)({name:"blockHeight",title:(0,y.tExpr)("Block height"),uiMode:{type:"dialog"},uiSchema:e=>{let{t}=e;return{heightMode:{type:"string",enum:[{label:t("Default"),value:cc},{label:t("Specify height"),value:cp},{label:t("Full height"),value:ch}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:t("Height"),type:"number",required:!0,"x-decorator":"FormItem","x-component":oi.A,"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:cc}),async handler(e,t){e.model.setDecoratorProps({heightMode:t.heightMode,height:t.height})}});var cf=l(95503),cg=l(7521),cv=l(47632);let cy="formValuesChange",cb="__formValueDrivenLinkageRefreshBindings";function cx(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function cw(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function cS(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,rq.Qc)(l),l);return Array.from(t.values())}function cM(e){let t=cS(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&cw(e,t)))}function cF(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,n]=e.split(":"),o=Number(n);!t||Number.isNaN(o)||l.push({name:t,index:o})}return l}function cA(e){var t,l;return cF((null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function ck(e,t){let l=e.length-1-t;if(l<0)return null;let n=[];for(let t=0;t<=l;t++)n.push(e[t].name,e[t].index);return n}function cC(e,t){let l=ck(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function cP(e,t){let l=cA(e);if(!l.length)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let n=0,o=[...t];for(;"parentItem"===o[0];)n+=1,o=o.slice(1);let i=o[0];if(!i)return{wildcard:!0,valuePaths:[],structuralPaths:[]};if("value"===i){let e=ck(l,n);if(!e)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let t=cC(l,n);return{wildcard:!1,valuePaths:[[...e,...o.slice(1)]],structuralPaths:t?[t]:[]}}if("index"===i||"length"===i){let e=cC(l,n);return e?{wildcard:!1,valuePaths:[],structuralPaths:[e]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}if("__is_new__"===i||"__is_stored__"===i){let e=ck(l,n);return e?{wildcard:!1,valuePaths:[[...e,i]],structuralPaths:[]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}return{wildcard:!0,valuePaths:[],structuralPaths:[]}}function cj(e,t){if("string"==typeof e&&e.trim())for(let[l,n]of Object.entries((0,y.extractUsedVariablePathsFromRunJS)(e)||{})){let e=Array.isArray(n)?n:[];for(let n of e.length?e:[""]){if("formValues"===l){if(!n){t.wildcard=!0;continue}let e=(0,rq.EA)(String(n)).filter(e=>"object"!=typeof e);(0,cv.Dd)(e,t);continue}if("item"===l){let e=n?`ctx:item:${String(n)}`:"ctx:item";t.deps.add(e)}}}}function cI(e,t){let l=new WeakSet,n=e=>{if(!e||"object"!=typeof e||l.has(e))return;if(l.add(e),(0,y.isRunJSValue)(e)&&(0,cv.Wp)(e,t),Array.isArray(e))return void e.forEach(n);let o=null==e?void 0:e.name;("linkageRunjs"===o||"runjs"===o)&&(cj(j().get(e,["params","value","script"]),t),cj(j().get(e,["params","code"]),t)),Object.values(e).forEach(n)};n(e)}function cE(e,t){let l={deps:new Set,wildcard:!1};(0,cv.G)(t,l),cI(t,l);let n=[],o=[],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}n.push((0,rq.c1)(e));continue}if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),r=cP(e,l?(0,rq.EA)(l).filter(e=>"object"!=typeof e):[]);i||(i=r.wildcard),n.push(...r.valuePaths),o.push(...r.structuralPaths)}}return{wildcard:i,valuePaths:cM(n),structuralPaths:cS(o)}}function cR(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0}function c_(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,rq.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,rq.c1)(e))}if(l.length)return l;let n=null==e?void 0:e.changedValues;if(n&&"object"==typeof n)for(let e of Object.keys(n)){let t=(0,rq.c1)(e);t.length&&l.push(t)}return l}function cT(e,t){if(!cR(e))return!1;let l=c_(t);if(e.wildcard||!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(cw(l,t)||cw(t,l))return!0;for(let l of e.structuralPaths)if(cx(l,t)||cw(t,l))return!0}return!1}function cD(e,t){let l=e=>e.map(e=>(0,rq.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 cN(e){var t,l;return(t=e)[l=cb]||(t[l]=new Map)}function cO(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 c$(e){var t,l,n;let o=[],i=e=>{e&&!o.includes(e)&&o.push(e)};i(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel),i(e.model);let r=null==(n=e.model)?void 0:n.parent;for(;r;)i(r),r=null==r?void 0:r.parent;return o.find(cO)||null}function cB(e,t){let l=cN(e).get(t);l&&l.dispose()}function cL(e,t,l){var n,o,i,r,a,s;let d=e.model,u=null==e?void 0:e.flowKey;if(!d||!u)return;let c="linkageRules",p=`${u}:${c}:${l}`,h=cN(d),m=cE(e,t);if(!cR(m))return void cB(d,p);let f=c$(e);if(!f)return void cB(d,p);let g=cD(m,f),v=h.get(p);if((null==v?void 0:v.signature)===g)return;v&&v.dispose();let b={signature:g,running:!1,linkageTxIds:new Set,pendingPayload:null,dispose:()=>{}},x=(null==d||null==(n=d.flowEngine)?void 0:n.emitter)||(null==e||null==(o=e.engine)?void 0:o.emitter)||(null==d||null==(r=d.context)||null==(i=r.engine)?void 0:i.emitter),w=()=>{var e,t,l,n;null==(t=f.emitter)||null==(e=t.off)||e.call(t,cy,M),null==x||null==(l=x.off)||l.call(x,"model:unmounted",F),null==x||null==(n=x.off)||n.call(x,"model:destroyed",A),h.get(p)===b&&h.delete(p)},S=e=>{if("string"!=typeof e||!e||(b.linkageTxIds.add(e),b.linkageTxIds.size<=20))return;let t=b.linkageTxIds.values().next().value;t&&b.linkageTxIds.delete(t)},M=n=>{let o="string"==typeof(null==n?void 0:n.linkageTxId)?n.linkageTxId:void 0;if((null==n?void 0:n.source)==="linkage"&&o&&b.linkageTxIds.has(o))return;if(d.disposed||f.disposed)return void w();if(!cT(cE(e,t),n))return;if(b.running){b.pendingPayload=n;return}let i=o||("string"==typeof(null==n?void 0:n.txId)?n.txId:void 0);S(i),b.running=!0;let r=new y.FlowRuntimeContext(d,u);r.defineProperty("inputArgs",{value:{...n||{},linkageTxId:i}}),cu.handler(r,{actionName:l,flowKey:u,stepKey:c}).catch(e=>{console.warn("[linkageRules] Failed to refresh form value driven linkage rules",e)}).finally(()=>{b.running=!1;let e=b.pendingPayload;b.pendingPayload=null,e&&M(e)})},F=e=>{let{model:t}=e;(t===f||t===d&&d.disposed)&&w()},A=e=>{let{model:t}=e;(t===d||t===f)&&w()};b.dispose=w,h.set(p,b),f.emitter.on(cy,M),null==x||null==(a=x.on)||a.call(x,"model:unmounted",F),null==x||null==(s=x.on)||s.call(x,"model:destroyed",A)}let cq=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}]`},cV=e=>{let t=0,l=e;for(;l;)(l instanceof rZ||l instanceof r1)&&(t+=1),l=null==l?void 0:l.parent;return t},cz=e=>{let t=Number(null==e?void 0:e.linkageScopeDepth);return Number.isFinite(t)?t:cV(null==e?void 0:e.model)},cK=e=>{try{var t,l,n,o;return((null==(o=e.model)||null==(n=o.subModels)||null==(l=n.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),[]}},cU=e=>e.map(e=>e&&"object"==typeof e?{...e}:e),cW=new Set(["select","multipleSelect","radioGroup","checkboxGroup"]),cH=e=>{var t,l,n,o,i;return(null==e||null==(t=e.collectionField)?void 0:t.interface)||(null==e||null==(i=e.subModels)||null==(o=i.field)||null==(n=o.context)||null==(l=n.collectionField)?void 0:l.interface)},cG=e=>cW.has(cH(e)),cY=e=>{var t,l,n,o;let i=(null==e||null==(t=e.subModels)?void 0:t.field)||e,r=(0,lg.di)(null==e||null==(n=e.collectionField)||null==(l=n.uiSchema)?void 0:l.enum,e=>e)||[];return r.length>0?(i._originalOptionsFallback=cU(r),i._originalOptionsFallback):Array.isArray(null==i?void 0:i._originalOptionsFallback)&&i._originalOptionsFallback.length>0?i._originalOptionsFallback:Array.isArray(null==i||null==(o=i.props)?void 0:o.options)&&i.props.options.length>0?(i._originalOptionsFallback=cU(i.props.options),i._originalOptionsFallback):null},cJ=(e,t)=>{let l=cY(e);return l?l.map(e=>e&&"object"==typeof e&&"string"==typeof e.label?{...e,label:t(e.label)}:e):[]},cX=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,n=t.map(t=>{var l;return null==(l=e.find(e=>e.value===t))?void 0:l.model}).filter(e=>cG(e)).filter(Boolean).flatMap(e=>cJ(e,l)),o=new Map;return n.forEach(e=>{o.set(JSON.stringify(null==e?void 0:e.value),e)}),Array.from(o.values())},cQ=(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}},cZ=(e,t)=>{var l;return"limitOptions"===e&&(null==t||null==(l=t.subModels)?void 0:l.field)||t},c0=e=>e&&"object"==typeof e&&1===Object.keys(e).length&&Array.isArray(e.options),c1=(e,t)=>{c0(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:cU(t.options)})})},c2=e=>{let{value:t={fields:[]},onChange:l,includeFormStates:n=!0,fieldOptionsGetter:o=cK}=e,i=(0,y.useFlowContext)(),r=i.model.translate.bind(i.model),a=o(i),s=(t.fields||[]).map(e=>{var t;return null==(t=a.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),d=1===s.length&&s.every(e=>cG(e)),u=[{label:r("Visible"),value:"visible"},{label:r("Hidden"),value:"hidden"},{label:r("Hidden (reserved value)"),value:"hiddenReservedValue"},n&&{label:r("Required"),value:"required"},n&&{label:r("Not required"),value:"notRequired"},n&&{label:r("Disabled"),value:"disabled"},n&&{label:r("Enabled"),value:"enabled"},n&&d&&{label:r("Options"),value:"limitOptions"}].filter(Boolean),c=cX(a,t.fields,r),p=e=>{let n=e.map(e=>{var t;return null==(t=a.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),o=1===n.length&&n.every(e=>cG(e)),i="limitOptions"!==t.state||o?t.state:void 0,r="limitOptions"===t.state||"limitOptions"===i?[]:t.selectedOptions;l({...t,fields:e,state:i,selectedOptions:r})},h=e=>{l({...t,state:e,selectedOptions:"limitOptions"===e?t.selectedOptions||[]:void 0})},m=e=>{l({...t,selectedOptions:c.filter(t=>e.includes(t.value))})};return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("Fields")}),(0,A.jsx)(l_.A,{mode:"multiple",value:t.fields,onChange:p,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,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("State")}),(0,A.jsx)(l_.A,{value:t.state,onChange:h,placeholder:r("Please select state"),style:{width:"100%"},options:u,allowClear:!0})]}),"limitOptions"===t.state&&d&&(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:r("Options")}),(0,A.jsx)(l_.A,{mode:"multiple",value:(t.selectedOptions||[]).map(e=>e.value),onChange:m,style:{width:"100%"},options:c,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]})]})},c4=e=>{try{var t,l,n,o;return((null==(o=e.model)||null==(n=o.subModels)||null==(l=n.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 c5(e){let t=e;return t.includes(",")&&t.includes(":")?t.split(",").map(e=>e.trim()).filter(Boolean):t?[t]:[]}function c8(e){let[t,l]=String(e||"").split(":");if(!t)return null;let n=Number(l);return Number.isFinite(n)?{fieldName:t,index:n}:null}function c6(e,t){let l,n;if(!e)return null;let o=String(e).split(".").map(e=>e.trim()).filter(Boolean);if(!o.length)return null;let i=c5(t).map(c8).filter(Boolean),r=0,a=[];for(let e of o){a.push(e);let t=i[r];t&&t.fieldName===e&&(l=[...a],n=t.index,a.push(t.index),r+=1)}return{fieldPathArray:a,listRootPath:l,listRowIndex:n,hasUnmatchedIndices:r<i.length}}function c3(e,t,l){if(Array.isArray(e))return e;if(!e||"object"!=typeof e)return[];let n=null==e?void 0:e.field,o=null==e?void 0:e[t.valueKey];if(n){let e=null==l?void 0:l(String(n));return e?[{key:"legacy",enable:!0,targetPath:e,mode:t.mode,condition:{logic:"$and",items:[]},value:o}]:[]}return[]}function c9(e){return t=>{try{var l,n,o,i;let r=null==(n=e.engine)||null==(l=n.getModel)?void 0:l.call(n,t),a=(null==r||null==(i=r.getStepParams)||null==(o=i.call(r,"fieldSettings","init"))?void 0:o.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 c7=Symbol("SKIP_RUNJS_ASSIGN_VALUE");async function pe(e,t){if(!(0,y.isRunJSValue)(t))return t;try{let{code:l,version:n}=(0,y.normalizeRunJSValue)(t),o=await (0,y.runjsWithSafeGlobals)(e,l,{version:n});if(!(null==o?void 0:o.success))return c7;return o.value}catch(e){return console.warn("[linkageRules] Failed to evaluate RunJS assign value",e),c7}}function pt(e){var t,l,n;let o=e=>{var t,l;if(!e||"object"!=typeof e)return null;let n=null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"fieldSettings","init"))?void 0:t.fieldPath,o=null==e?void 0:e.fieldPath;return"string"==typeof n&&n||"string"==typeof o&&o||null},i=null==(t=e.model)?void 0:t.parent;for(;i;){let e=o(i);if(e)return e;i=null==i?void 0:i.parent}let r=null==(n=e.model)||null==(l=n.context)?void 0:l.prefixFieldPath;return"string"==typeof r&&r?r:null}function pl(e,t){let l=String(t||"").trim();if(!l)return null;let n=(0,li.eo)(e.model,l);if(n)return{targetPath:l,fieldModel:n};let o=pt(e);if(!o)return null;let i=String(o).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=[],c=Math.min(i.length,r.length);for(let e=c;e>=1;e--){let t=i.slice(i.length-e),l=r.slice(0,e);if(!j().isEqual(t,l))continue;let n=a([...i,...r.slice(e)]);n&&!u.includes(n)&&u.push(n),d(n)}let p=a([...i,...r]);for(let t of(d(p),s)){let l=(0,li.eo)(e.model,t);if(l)return{targetPath:t,fieldModel:l}}let h=1===r.length?p:u.length>0?u[0]:l;return h?{targetPath:h,fieldModel:null}:null}let pn=(0,y.defineAction)({name:"linkageSetBlockProps",title:(0,y.tExpr)("Set block state"),scene:y.ActionScene.BLOCK_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,n=(0,y.useFlowContext)(),o=n.model.translate.bind(n.model);return(0,A.jsx)(l_.A,{value:t,onChange:l,placeholder:o("Please select state"),style:{width:"100%"},options:[{label:o("Visible"),value:"visible"},{label:o("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:n}=t;n(e.model,{hiddenModel:"hidden"===l})}}),po=(0,y.defineAction)({name:"linkageSetActionProps",title:(0,y.tExpr)("Set button state"),scene:y.ActionScene.ACTION_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,n=(0,y.useFlowContext)(),o=n.model.translate.bind(n.model);return(0,A.jsx)(l_.A,{value:t,onChange:l,placeholder:o("Please select state"),style:{width:"100%"},options:[{label:o("Visible"),value:"visible"},{label:o("Hidden"),value:"hidden"},{label:o("Hidden text"),value:"hiddenText"},{label:o("Enabled"),value:"enabled"},{label:o("Disabled"),value:"disabled"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:n}=t;n(e.model,{hiddenModel:"hidden"===l,disabled:"disabled"===l,hiddenText:"hiddenText"===l})}}),pi=(0,y.defineAction)({name:"linkageSetMenuItemProps",title:(0,y.tExpr)("Set menu item state"),scene:y.ActionScene.MENU_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,n=(0,y.useFlowContext)(),o=n.model.translate.bind(n.model);return(0,A.jsx)(l_.A,{value:t,onChange:l,placeholder:o("Please select state"),style:{width:"100%"},options:[{label:o("Visible"),value:"visible"},{label:o("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:n}=t;n(e.model,{hiddenModel:"hidden"===l})}}),pr=(0,y.defineAction)({name:"linkageSetFieldProps",title:(0,y.tExpr)("Set field state"),scene:y.ActionScene.FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,A.jsx)(c2,{...e})}},handler:(e,t)=>{let{value:l,setProps:n}=t,{fields:o,state:i}=l||{};o&&Array.isArray(o)&&i&&o.forEach(t=>{try{var o,r,a,s;let d=((null==(s=e.model)||null==(a=s.subModels)||null==(r=a.grid)||null==(o=r.subModels)?void 0:o.items)||[]).find(e=>e.uid===t);if(d){let e=cQ(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);n(cZ(i,d),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),pa=(0,y.defineAction)({name:"subFormLinkageSetFieldProps",title:(0,y.tExpr)("Set field state"),scene:y.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,A.jsx)(c2,{...e,fieldOptionsGetter:c4})}},handler:(e,t)=>{let{value:l,setProps:n}=t,{fields:o,state:i}=l||{};o&&Array.isArray(o)&&i&&o.forEach(t=>{try{var o,r,a,s,d;let u=null==(r=e.engine)||null==(o=r.getModel)?void 0:o.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,h=p&&"function"==typeof u.getFork?u.getFork(p):null,m=h;if(h||(m=u),m){let e=cQ(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);n(cZ(i,m),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),ps=(0,y.defineAction)({name:"linkageSetDetailsFieldProps",title:(0,y.tExpr)("Set field state"),scene:y.ActionScene.DETAILS_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,A.jsx)(c2,{...e,includeFormStates:!1})}},handler:(e,t)=>{let{value:l,setProps:n}=t,{fields:o,state:i}=l||{};o&&Array.isArray(o)&&i&&o.forEach(t=>{try{var l,o,r,a;let s=((null==(a=e.model)||null==(r=a.subModels)||null==(o=r.grid)||null==(l=o.subModels)?void 0:l.items)||[]).find(e=>e.uid===t);if(s){let e=cQ(i);if(!e)return void console.warn(`Unknown state: ${i}`);n(cZ(i,s),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),pd={mode:"assign",valueKey:"assignValue"},pu={mode:"default",valueKey:"initialValue"},pc=e=>{let{value:t,onChange:l,legacy:n,fixedMode:o}=e,i=(0,y.useFlowContext)(),r=k.useCallback(e=>i.model.translate(e),[i.model]),{isTitleFieldCandidate:a,onSyncAssociationTitleField:s}=co(r),d=k.useMemo(()=>u3({formBlockModel:i.model,t:r,maxFormItemDepth:1}),[i.model,r]),u=c3(t,n,c9(i)),c=k.useCallback(e=>{"function"==typeof l&&l(e)},[l]);return(0,A.jsx)(u0,{t:r,fieldOptions:d,rootCollection:(0,li.w7)(i.model),value:u,onChange:c,fixedMode:o,isTitleFieldCandidate:a,onSyncAssociationTitleField:s,enableDateVariableAsConstant:!0})},pp=e=>(0,A.jsx)(pc,{...e,legacy:pd}),ph=e=>(0,A.jsx)(pc,{...e,legacy:pd}),pm=e=>(0,A.jsx)(pc,{...e,legacy:pu,fixedMode:"default"}),pf=(0,y.defineAction)({name:"linkageAssignField",title:(0,y.tExpr)("Field assignment"),scene:y.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":pp}},handler:async(e,t)=>{let{value:l,setProps:n,addFormValuePatch:o}=t,i=c3(l,{mode:"assign",valueKey:"assignValue"},c9(e));if(i.length)try{let t=(t,l,n)=>!l||e.app.jsonLogic.apply({[l]:[t,n]});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,w.evaluateConditions)((0,w.removeInvalidFilterItems)(s),t))continue;let d=(0,li.eo)(e.model,i),u=i.split(".")[0],c=(null==d?void 0:d.collectionField)??(null==(a=(0,li.w7)(e.model))||null==(r=a.getField)?void 0:r.call(a,u)),p=null==l?void 0:l.value;if((0,y.isRunJSValue)(p)&&(p=await pe(e,p))===c7)continue;let h=lp(c,p);if(void 0===h){d&&n(d,{});continue}let m=(null==l?void 0:l.mode)==="default"?"default":"assign";d?n(d,"default"===m?{initialValue:h}:{value:h}):"function"==typeof o&&o({path:i,value:h,whenEmpty:"default"===m})}}catch(e){console.warn("[linkageAssignField] Failed to assign value to fields",e)}}}),pg=(0,y.defineAction)({name:"subFormLinkageAssignField",title:(0,y.tExpr)("Field assignment"),scene:y.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":ph}},handler:async(e,t)=>{let{value:l,setProps:n,addFormValuePatch:o}=t,i=c3(l,{mode:"assign",valueKey:"assignValue"},c9(e));if(i.length)try{let t=(t,l,n)=>!l||e.app.jsonLogic.apply({[l]:[t,n]}),l=()=>{let t=e.model;return(null==t?void 0:t.__subFormLinkageExplicitPathKeys)instanceof Set||(t.__subFormLinkageExplicitPathKeys=new Set),t.__subFormLinkageExplicitPathKeys},m=t=>{var l,n;let o=(0,rq.IJ)(t,null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex);if(!Array.isArray(o)||!o.length)return null;let i=o.filter(e=>"string"==typeof e||"number"==typeof e);return i.length?(0,rq.Qc)(i):null},f=()=>{let t=null==e?void 0:e.inputArgs;if(!t||"user"!==t.source)return;let n=Array.isArray(t.changedPaths)?t.changedPaths:[];if(!n.length)return;let o=l();for(let t of n){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 n=(0,rq.IJ)(t,null==(r=e.model)||null==(i=r.context)?void 0:i.fieldIndex);if(Array.isArray(n)&&n.length){let e=n.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}}(null==l?void 0:l.length)&&o.add((0,rq.Qc)(l))}},g=t=>{var n,o;let i=l(),r=m(t);if(!r)return!1;if(i.has(r))return!0;let a=(0,rq.IJ)(t,null==(o=e.model)||null==(n=o.context)?void 0:n.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,rq.Qc)(s);if(!i.has(l))continue;let n=a[e+1];if("number"!=typeof n)return!0}return!1};f();let v=t=>{var l,n,o,i,r,a;let s=e.engine.getModel(t);if(!s)return null;let d=null==e||null==(n=e.model)||null==(l=n.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==(o=i.call(s,"fieldSettings","init"))?void 0:o.fieldPath),t=c6(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,u,c,p,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 m=pl(e,i);if(!(null==m?void 0:m.targetPath))continue;let f=m.targetPath,b=m.fieldModel||null,x=(null==b?void 0:b.uid)?String(b.uid):"",S=null==l?void 0:l.condition;if(S&&!(0,w.evaluateConditions)((0,w.removeInvalidFilterItems)(S),t))continue;let M=(null==l?void 0:l.mode)==="default"?"default":"assign",F=(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),A="update"===F,k=(null==e||null==(u=e.item)?void 0:u.__is_new__)===!0;if("default"===M&&A&&!k)continue;let C=f.split(".")[0],P=(null==b?void 0:b.collectionField)??(null==(p=(0,li.w7)((null==(h=e.model)?void 0:h.parent)??e.model))||null==(c=p.getField)?void 0:c.call(p,C)),j=null==l?void 0:l.value;if((0,y.isRunJSValue)(j)&&(j=await pe(e,j))===c7)continue;let I=lp(P,j);if(void 0===I){if(!x)continue;let e=v(x);e&&n(e,{});continue}if(!x){if("default"===M&&g(f))continue;"function"==typeof o&&o({path:f,value:I,whenEmpty:"default"===M});continue}let E=v(x);E&&n(E,"default"===M?{initialValue:I}:{value:I})}}catch(e){console.warn("[subFormLinkageAssignField] Failed to assign value to fields",e)}}});(0,y.defineAction)({name:"setFieldsDefaultValue",title:(0,y.tExpr)("设置字段默认值"),scene:y.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":pm}},handler:async(e,t)=>{let{value:l,setProps:n,addFormValuePatch:o}=t,i=c3(l,{mode:"default",valueKey:"initialValue"},c9(e));if(i.length)try{let t=(t,l,n)=>!l||e.app.jsonLogic.apply({[l]:[t,n]});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,w.evaluateConditions)((0,w.removeInvalidFilterItems)(s),t))continue;let d=(0,li.eo)(e.model,i),u=i.split(".")[0],c=(null==d?void 0:d.collectionField)??(null==(a=(0,li.w7)(e.model))||null==(r=a.getField)?void 0:r.call(a,u)),p=null==l?void 0:l.value;if((0,y.isRunJSValue)(p)&&(p=await pe(e,p))===c7)continue;let h=lp(c,p);if(void 0===h){d&&n(d,{});continue}d?n(d,{initialValue:h}):"function"==typeof o&&o({path:i,value:h,whenEmpty:!0})}}catch(e){console.warn("[setFieldsDefaultValue] Failed to set fields default value",e)}}});let pv=(0,y.defineAction)({name:"linkageRunjs",title:(0,y.tExpr)("Execute JavaScript"),scene:[y.ActionScene.BLOCK_LINKAGE_RULES,y.ActionScene.FIELD_LINKAGE_RULES,y.ActionScene.ACTION_LINKAGE_RULES,y.ActionScene.MENU_LINKAGE_RULES,y.ActionScene.DETAILS_FIELD_LINKAGE_RULES,y.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES],sort:300,useRawParams:!0,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={script:""},onChange:l}=e,n=e=>{l({...t,script:e})};return(0,A.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:(0,A.jsx)("div",{children:(0,A.jsx)(tM.BY,{value:t.script,onChange:n,height:"200px",enableLinter:!0,scene:"linkage"})})})}}},handler:async(e,t)=>{let{value:l}=t,{script:n}=l||{};if(n&&"string"==typeof n)try{let t=(0,y.createSafeNavigator)();await e.runjs(n,{window:(0,y.createSafeWindow)({navigator:t}),document:(0,y.createSafeDocument)(),navigator:t})}catch(t){var o;if(console.error("Script execution error:",t),null==(o=e.app)?void 0:o.message){let l=t instanceof Error?t.message:String(t);e.app.message.error(`Script execution error: ${l}`)}}}});function py(e){let t=j().cloneDeep(e||{}),l=new Map,n=e=>{let t=`__ncb_linkage_runjs_script_mask__${(0,ef.uid)()}__`;return l.set(t,e),t},o=null==t?void 0:t.value;return Array.isArray(o)&&o.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let l=j().get(e,["params","value","script"]);"string"==typeof l&&l.length&&j().set(e,["params","value","script"],n(l));let o=j().get(e,["params","code"]);"string"==typeof o&&o.length&&j().set(e,["params","code"],n(o))})}),{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 n=j().get(e,["params","value","script"]);"string"==typeof n&&l.has(n)&&j().set(e,["params","value","script"],l.get(n));let o=j().get(e,["params","code"]);"string"==typeof o&&l.has(o)&&j().set(e,["params","code"],l.get(o))})}),e}}}async function pb(e,t){let{masked:l,restore:n}=py(t);return n(await e.resolveJsonTemplate(l))}let px=(0,y.observer)(e=>{let{value:t,supportedActions:l}=e,n=(0,y.useFlowContext)(),o=(0,y.useFlowEngine)(),i=n.model.translate.bind(n.model),r=i("Assignment takes precedence over form field assignment"),a=()=>({key:(0,ef.uid)(),title:i("Linkage rule"),enable:!0,condition:{logic:"$and",items:[]},actions:[]}),s=()=>{t.push(a())},d=e=>{t.splice(e,1)},u=e=>{if(e>0){let l=t[e];t.splice(e,1),t.splice(e-1,0,l)}},c=e=>{if(e<t.length-1){let l=t[e];t.splice(e,1),t.splice(e+1,0,l)}},p=e=>{let l=j().cloneDeep(t[e]),n={...l,key:(0,ef.uid)(),title:`${l.title} (Copy)`};t.splice(e+1,0,n)},h=(e,l)=>{t[e].title=l},m=(e,l)=>{t[e].enable=l},f=()=>l.map(e=>n.getAction(e)),g=(e,l)=>{let n={key:(0,ef.uid)(),name:l,params:void 0};t[e].actions.push(n)},v=(e,l)=>{t[e].actions.splice(l,1)},b=(e,l,n)=>{t[e].actions[l].params=n},x=(e,l)=>(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,A.jsx)("div",{style:{flex:1,marginRight:16},children:(0,A.jsx)(eF.A,{value:e.title,onChange:e=>h(l,e.target.value),onClick:e=>e.stopPropagation(),placeholder:"Enter rule title"})}),(0,A.jsxs)(eg.A,{onClick:e=>e.stopPropagation(),children:[(0,A.jsx)(W.A,{title:i("Delete"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(ok.A,{}),onClick:()=>d(l)})}),(0,A.jsx)(W.A,{title:i("Move up"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(uG.A,{}),onClick:()=>u(l),disabled:0===l})}),(0,A.jsx)(W.A,{title:i("Move down"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(uY.A,{}),onClick:()=>c(l),disabled:l===t.length-1})}),(0,A.jsx)(W.A,{title:i("Copy"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(cf.A,{}),onClick:()=>p(l)})}),(0,A.jsx)(oC.A,{size:"small",checked:e.enable,onChange:e=>m(l,e),checkedChildren:i("Enable"),unCheckedChildren:i("Disable")})]})]}),w=t.map((e,t)=>({key:e.key,label:x(e,t),styles:{header:{display:"flex",alignItems:"center"}},children:(0,A.jsxs)("div",{children:[(0,A.jsxs)("div",{style:{marginBottom:32},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,A.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#1890ff",borderRadius:"2px",marginRight:8}}),(0,A.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Condition")})]}),(0,A.jsx)("div",{style:{paddingLeft:12},children:(0,A.jsx)(cg.I,{value:e.condition,FilterItem:e=>(0,A.jsx)(C.Ru,{model:n.model,value:e.value})})})]}),(0,A.jsxs)("div",{children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,A.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#52c41a",borderRadius:"2px",marginRight:8}}),(0,A.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Actions")})]}),(0,A.jsxs)("div",{style:{paddingLeft:12},children:[e.actions.length>0?(0,A.jsx)("div",{style:{marginBottom:16},children:e.actions.map((e,l)=>{let a=n.getAction(e.name);return a?(0,A.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,A.jsxs)("span",{style:{fontWeight:500,color:"#262626"},children:[i(a.title),"linkageAssignField"===e.name||"subFormLinkageAssignField"===e.name?(0,A.jsx)(W.A,{title:r,children:(0,A.jsx)(it.A,{style:{marginInlineStart:4},onClick:e=>e.stopPropagation()})}):null,(0,A.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,A.jsx)(W.A,{title:i("Delete action"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(ok.A,{}),onClick:()=>v(t,l)})})]}),(0,A.jsx)("div",{children:o.flowSettings.renderStepForm({uiSchema:a.uiSchema,initialValues:e.params,flowEngine:o,onFormValuesChange:e=>b(t,l,e.values)})})]},e.key):null})}):null,(0,A.jsx)(oj.A,{menu:{items:f().map(e=>({key:e.name,label:i(e.title||e.name),onClick:()=>g(t,e.name)}))},trigger:["hover"],children:(0,A.jsx)(H.Ay,{type:"link",icon:(0,A.jsx)(eo.A,{}),style:{padding:0,height:"auto",textAlign:"left"},children:i("Add action")})})]})]})]})}));return(0,A.jsxs)(A.Fragment,{children:[t.length>0?(0,A.jsx)(uZ.A,{items:w,size:"small",style:{marginBottom:8},defaultActiveKey:t.length>0?[t[0].key]:[],accordion:!0}):(0,A.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,A.jsx)(od.A,{description:i("No linkage rules"),style:{margin:"20px 0"}})}),(0,A.jsx)(H.Ay,{type:"dashed",icon:(0,A.jsx)(eo.A,{}),onClick:s,style:{width:"100%"},children:i("Add linkage rule")})]})}),pw=async(e,t)=>{var l,n,o,i,r,a,s,d;let u=(t,l,n)=>!l||e.app.jsonLogic.apply({[l]:[t,n]}),c=t.value,p=e.model.__allModels||(e.model.__allModels=[]),h=new Set(p),m=new Map,f=[],g=(0,li.w7)((null==(n=e.model)||null==(l=n.context)?void 0:l.blockModel)??e.model),v=e=>{if(!Array.isArray(e)||!e.length||!(null==g?void 0:g.getField))return!0;let t=g;for(let o=0;o<e.length;o++){var l,n;let i=e[o];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==(n=r.isAssociationField)?void 0:n.call(r)),s=!!(null==r?void 0:r.targetCollection);if((0,li.E4)(r)&&o+1<e.length&&"number"!=typeof e[o+1])return!1;a&&s&&(t=r.targetCollection)}return!0},y=t=>{var l,n;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 o=null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex;return(0,rq.IJ)(t,o)},b=()=>{var t,l;let n=(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel)??e.model;return(null==n?void 0:n.formValueRuntime)??(null==e?void 0:e.formValueRuntime)},x=e=>{let t=b();if("function"!=typeof(null==t?void 0:t.recordDefaultValuePatch))return;let l=new Map;for(let t of e)l.set((0,rq.Qc)(t.path),t);for(let e of l.values())e.whenEmpty&&t.recordDefaultValuePatch(e.path,e.value)},S=t=>{var l,n,o,i,r;if(!t)return;let a=null==t?void 0:t.path;if(!a)return;let s=y(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(!v(s))return void console.warn("[linkageRules] Skip linkage assignment for to-many association subpath without row index",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.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==(o=i.context)?void 0:o.form,l=null==t||null==(r=t.getFieldValue)?void 0:r.call(t,s);if(d){let e=b();if("function"==typeof(null==e?void 0:e.canApplyDefaultValuePatch)){if(!e.canApplyDefaultValuePatch(s,u))return}else if(null!=l&&""!==l)return}if(j().isEqual(l,u))return}catch{}f.push({path:s,value:u,...d?{whenEmpty:!0}:{}})},M=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"),n="string"==typeof(null==t?void 0:t.fieldPath)?t.fieldPath:"",o="string"==typeof(null==t?void 0:t.associationPathName)?t.associationPathName:"",i=n||("string"==typeof(null==e?void 0:e.fieldPath)?e.fieldPath:""),r=o||("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 n=null==e||null==(t=e.props)?void 0:t.name;if("string"==typeof n&&n)return n;if(Array.isArray(n)&&n.length){let e="";for(let t of n){if("number"==typeof t){e+=`[${t}]`;continue}"string"==typeof t&&t&&(e?e+=`.${t}`:e=t)}return e||null}return null};for(let t of c.filter(e=>e.enable)){let{condition:l,actions:n}=t;if((0,w.evaluateConditions)((0,w.removeInvalidFilterItems)(l),u))for(let t of n){let l=(e,t)=>{e.__originalProps||(e.__originalProps={hiddenModel:e.hidden,hiddenText:void 0,disabled:void 0,required:void 0,hidden:void 0,...e.props}),m.set(e,{...m.get(e)||{},...t}),-1===p.indexOf(e)&&p.push(e),h.add(e)};await (null==(a=e.getAction(t.name))?void 0:a.handler(e,{...t.params,setProps:l,addFormValuePatch:S}))}}let F=new Map,A=new Map;h.forEach(e=>{let t=(null==e?void 0:e.uid)||String(e),l=m.get(e)||{};if(F.has(t)){let n=A.get(t)||{},o={...n,...l};A.set(t,o);let i=F.get(t),r=Object.keys(l).length>0,a=Object.keys(n).length>0;!r||a&&e.isFork&&i.isFork?e.isFork&&!i.isFork&&F.set(t,e):F.set(t,e)}else F.set(t,e),A.set(t,{...l})}),F.forEach((t,l)=>{let n=A.get(l)||{},o={...t.__originalProps,...n};if(t.setProps(j().omit(o,["hiddenModel","value","hiddenText"])),c1(t,n),"function"==typeof t.setHidden?t.setHidden(!!o.hiddenModel):t.hidden=!!o.hiddenModel,!0===o.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===o.required){let e=(t.props.rules||[]).filter(e=>!e.required);t.setProps("rules",e)}if(o.hiddenText&&t.setProps("title",""),Object.prototype.hasOwnProperty.call(n,"value")&&t.context.form){let l=M(t);if(l)S({path:l,value:o.value});else{var i;console.warn("[linkageRules] Skip linkage assignment due to missing target path",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,targetUid:null==t?void 0:t.uid})}}t.__props=null});let k=[...f];if(!k.length)return;let C=e,P=null==C?void 0:C.setFormValues,I=null==(r=e.model)||null==(i=r.context)||null==(o=i.blockModel)?void 0:o.context,E=null==I?void 0:I.setFormValues,R=null==C?void 0:C.inputArgs,_="string"==typeof(null==R?void 0:R.linkageTxId)&&R.linkageTxId?R.linkageTxId:"string"==typeof(null==R?void 0:R.txId)?R.txId:void 0,T=cz(e),D=async(e,t,l)=>{await e.call(t,k,{source:l,linkageTxId:_,linkageScopeDepth:T})};if("function"==typeof P)try{await D(P,C,"linkage"),x(k);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:k.length,patches:k.slice(0,10).map(e=>({path:e.path,value:cq(e.value)}))}),console.warn(t)}if("function"==typeof E)try{await D(E,I,"linkage"),x(k);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:k.length,patches:k.slice(0,10).map(e=>({path:e.path,value:cq(e.value)}))}),console.warn(t)}k.forEach(t=>{let{path:l,value:n}=t;try{var o,i,r;let t=null==(i=e.model)||null==(o=i.context)?void 0:o.form;if("function"==typeof(null==t?void 0:t.getFieldValue)){let e=t.getFieldValue(l);if(j().isEqual(e,n))return}null==t||null==(r=t.setFieldValue)||r.call(t,l,n)}catch(e){console.warn("[linkageRules] Failed to set form field value (fallback setFieldValue)",{path:l},e)}}),x(k)},pS=(0,y.defineAction)({name:"blockLinkageRules",title:(0,y.tExpr)("Block linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":px,"x-component-props":{supportedActions:pP(e,y.ActionScene.BLOCK_LINKAGE_RULES),title:(0,y.tExpr)("Block linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{cL(e,t,"blockLinkageRules");let l=await pb(e,t);return pw(e,l)}}),pM=(0,y.defineAction)({name:"actionLinkageRules",title:(0,y.tExpr)("Linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":px,"x-component-props":{supportedActions:pP(e,y.ActionScene.ACTION_LINKAGE_RULES),title:(0,y.tExpr)("Linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{cL(e,t,"actionLinkageRules");let l=await pb(e,t);return pw(e,l)}}),pF=(0,y.defineAction)({name:"menuLinkageRules",title:(0,y.tExpr)("Menu linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":px,"x-component-props":{supportedActions:pP(e,y.ActionScene.MENU_LINKAGE_RULES),title:(0,y.tExpr)("Menu linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{let l=await pb(e,t);return pw(e,l)}}),pA=(0,y.defineAction)({name:"fieldLinkageRules",title:(0,y.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":px,"x-component-props":{supportedActions:pP(e,y.ActionScene.FIELD_LINKAGE_RULES),title:(0,y.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,n,o;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,li.w7)((null==(n=e.model)||null==(l=n.context)?void 0:l.blockModel)??e.model),s=e=>{if(!(null==a?void 0:a.getField))return null;let t=(0,rq.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return null;let l=a,n=[];for(let e=0;e<t.length-1;e++){var o,i;let r=t[e];if("string"!=typeof r)continue;let a=null==l||null==(o=l.getField)?void 0:o.call(l,r);if(!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a)))break;let s=(0,li.E4)(a);if(s&&n.push(r),s&&"number"==typeof t[e+1]&&(e+=1),!(null==(l=null==a?void 0:a.targetCollection)?void 0:l.getField))break}if(!n.length)return null;let r=n[n.length-1],s=n.filter(e=>e===r).length;return`${r}#${s}`},d=e=>{if(!(null==a?void 0:a.getField))return!1;let t=(0,rq.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 n,o;let i=t[e];if("string"!=typeof i)continue;let r=null==l||null==(n=l.getField)?void 0:n.call(l,i);if(!(null==r||null==(o=r.isAssociationField)?void 0:o.call(r)))break;if((0,li.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},u=c9(e),{blockParams:c,rowParamsByKey:p}=(()=>{let e=null==t?void 0:t.value;if(!Array.isArray(e)||!e.length)return{blockParams:t,rowParamsByKey:new Map};let l=[],n=new Map,o=(e,t,l)=>{if(!e||!l.length)return;let o=n.get(e)||[];o.push({...t,actions:l}),n.set(e,o)};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},n=Array.isArray(t.actions)?t.actions:[],i=[],r=new Map;for(let e of n){let t=null==e?void 0:e.name,l=null==e?void 0:e.params,n=null==l?void 0:l.value,o=t=>{let o=c3(n,t,u);if(!o.length)return{block:null,rows:new Map};let i=[],r=new Map;for(let e of o){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,c=new Map;for(let[t,n]of r.entries())n.length&&c.set(t,{...e,params:{...l,value:n}});return{block:a,rows:c}};if("linkageAssignField"===t){let e=o({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=o({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)=>{o(l,e,t)})}let i={...t,value:l},r=new Map;return n.forEach((e,l)=>{r.set(l,{...t,value:e})}),{blockParams:i,rowParamsByKey:r}})(),h=await pb(e,c);if(await pw(e,h),!p.size)return;let m=e=>{var t;let l=null==e||null==(t=e.context)?void 0:t.fieldIndex,n=(Array.isArray(l)?l:[]).filter(e=>"string"==typeof e),o=[],i=[];for(let e of n){let[t,l]=e.split(":"),n=Number(l);!t||Number.isNaN(n)||(o.push({name:t,index:n}),i.push(t,n))}return{normalized:n,entries:o,path:i}},f=e=>{let{entries:t}=m(e);if(!t.length)return null;let l=t[t.length-1].name,n=t.reduce((e,t)=>t.name===l?e+1:e,0);return`${l}#${n}`},g=e=>{let{normalized:t}=m(e);return t.length?JSON.stringify(t):null},v=e=>{let{path:t}=m(e);return t.length?t:null},b=t=>{var l,n,o,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==(o=i.blockModel)||null==(n=o.context)?void 0:n.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)},x=e=>{let t=v(e);if(!t)return!0;let l=b(e);return!l||"function"!=typeof l.getFieldValue||void 0!==l.getFieldValue(t)},w=e=>{var t,l,n;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"item")||void 0!==(null==e||null==(n=e.context)?void 0:n.item)},S=e=>{var t,l,n;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"subTableRowFork")||void 0!==(null==e||null==(n=e.context)?void 0:n.subTableRowFork)||void 0!==(null==e?void 0:e.subTableRowFork)||(null==e?void 0:e.subTableRowFork)===!0},M=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)&&!!f(e)&&!!g(e)},F=e=>!!e&&"object"==typeof e&&!!S(e)&&!!f(e)&&!!g(e)&&w(e),A=e=>M(e)||F(e),k=()=>{let t=new Map,l=new Map,n=e.engine;return(null==n?void 0:n.forEachModel)&&n.forEachModel(e=>{let n=null==e?void 0:e.forks;n&&"function"==typeof n.forEach&&n.forEach(e=>{if(!e||e.disposed||!A(e)||!x(e))return;let n=f(e),o=g(e);if(!n||!o)return;let i=l.get(n)||new Set;if(i.has(o))return;i.add(o),l.set(n,i);let r=t.get(n)||[];r.push(e),t.set(n,r)})}),t},C=async()=>{let t=k(),l=!1;for(let[o,i]of p.entries()){let a=t.get(o)||[];if(a.length&&(l=!0),a.length)for(let t of a){let l=new y.FlowRuntimeContext(t,e.flowKey);r(l);try{let e=await pb(l,i);await pw(l,e)}catch(l){var n;console.warn("[linkageRules] Failed to run row-scoped linkage rules",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,rowScopeKey:o,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==(o=e.model)?void 0:o.uid,rowKeys:Array.from(p.keys())}),l[t]=!0,setTimeout(()=>{l[t]=!1;let n=e.model;n&&!n.disposed&&C().catch(e=>{console.warn("[linkageRules] Failed to retry row-scoped linkage rules",e)})},0))}}}),pk=(0,y.defineAction)({name:"subFormFieldLinkageRules",title:(0,y.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":px,"x-component-props":{supportedActions:pP(e,y.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES),title:(0,y.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,n,o,i;if(e.model.hidden)return;let r=null==(n=e.model)||null==(l=n.subModels)?void 0:l.grid;if(!r)return void console.warn("[subFormFieldLinkageRules] Missing subModels.grid",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid});let a=cV(null==e?void 0:e.model),s=t=>{let l=new y.FlowRuntimeContext(t,e.flowKey),n=null==e?void 0:e.inputArgs;return n&&"object"==typeof n&&l.defineProperty("inputArgs",{value:{...n}}),l.defineProperty("linkageScopeDepth",{value:a}),l};if(e.model instanceof rZ){if(r.hidden)return;let l=s(r);try{let e=await pb(l,t);await pw(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 n=s(l);try{let e=await pb(n,t);await pw(n,e)}catch(t){var o;console.warn("[subFormFieldLinkageRules] Failed to run linkage rules for fork",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,forkUid:null==l?void 0:l.uid,gridUid:null==r?void 0:r.uid}),console.warn(t)}}))}}),pC=(0,y.defineAction)({name:"detailsFieldLinkageRules",title:(0,y.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":px,"x-component-props":{supportedActions:pP(e,y.ActionScene.DETAILS_FIELD_LINKAGE_RULES),title:(0,y.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{if(e.model.hidden)return;let l=await pb(e,t);return pw(e,l)}});function pP(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 pj=(0,y.defineAction)({name:"overflowMode",title:(0,y.tExpr)("Ellipsis on text overflow"),uiMode:{type:"switch",key:"overflowMode"},defaultParams:e=>({overflowMode:e.model.parent instanceof ib}),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"})}}),pI=()=>{let e=(0,eM.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,G.B)();return(0,A.jsxs)(l_.A,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,A.jsx)(l_.A.Option,{value:"*",children:l("Multiply by")}),(0,A.jsx)(l_.A.Option,{value:"/",children:l("Divide by")})]})},pE=(0,y.defineAction)({title:(0,y.tExpr)("Number format"),name:"numberFormat",uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,y.tExpr)("Normal")},{value:"scientifix",label:(0,y.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,A.jsx)(pI,{})}},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:n,separator:o,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:n,separator:o||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a}},handler(e,t){let{formatStyle:l,unitConversion:n,unitConversionType:o,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:n,unitConversionType:o,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}),pR=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 p_(e){return class extends e{async onDispatchEventStart(e){var t,l,n,o,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==(o=i.dataSourceManager)||null==(n=o.getCollectionField)?void 0:n.call(o,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,n,o,i,r,a,s,d,u,c;if("beforeRender"!==e)return;let p={...this._originalPropsFallback||{},...(null==(t=this._originalModel)?void 0:t.props)||{}},h=null==(l=this.context)?void 0:l.collectionField,m={};(null==p?void 0:p.fieldNames)&&(m.fieldNames=p.fieldNames),void 0!==(null==p?void 0:p.allowMultiple)&&(m.allowMultiple=p.allowMultiple);let f=pR(null==(n=this.props)?void 0:n.options),g=!!(null==f?void 0:f.length),v=pR(null==p?void 0:p.options),y=(null==v?void 0:v.length)?v:this._originalOptionsFallback;!g&&Array.isArray(y)&&y.length>0&&(m.options=y.map(e=>e&&"object"==typeof e?{...e}:e));let b=(()=>{let e=null==h?void 0:h.type,t=null==h?void 0:h.interface,l=t&&("m2m"===t||"o2m"===t||"mbm"===t);return!!(e&&("belongsToMany"===e||"hasMany"===e||"belongsToArray"===e)||l)})(),x=void 0!==p.multiple?p.multiple:b,w=void 0!==p.allowMultiple?p.allowMultiple:void 0!==p.multiple?p.multiple:b;void 0!==x&&(m.multiple=x),void 0!==w&&(m.allowMultiple=w),Object.keys(m).length&&this.setProps(m),(null==h?void 0:h.interface)==="multipleSelect"&&void 0===(null==(o=this.props)?void 0:o.mode)&&this.setProps({mode:"multiple"}),(0,lg.NI)(this,h),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 S=null==(c=this.getStepParams("formItemSettings","initialValue"))?void 0:c.defaultValue;void 0!==S&&this.setProps({defaultValue:S})}setProps(e){var t,l,n;let{originalModel:o,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=(n=this).setPattern)||l.call(n,"editable"),u}remove(){for(var e,t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];null==(e=super.remove)||e.call(this,...l)}}}let pT=(0,eM.connect)(e=>{let{value:t,onChange:l,metaTree:n,flags:o,...i}=e,r=(0,y.useFlowContext)(),{model:a}=r,s=k.useCallback(e=>!!e&&"function"==typeof(null==e?void 0:e.query),[]),d=k.useCallback((e,t)=>{if(s(e)){var l,n,o,i;let r=null==(n=e.query(t))||null==(l=n.get)?void 0:l.call(n,"selfModified"),a=null==(i=e.query(t))||null==(o=i.get)?void 0:o.call(i,"modified");return!!(r||a)}return"function"==typeof(null==e?void 0:e.isFieldsTouched)&&!!e.isFieldsTouched([t])},[s]),u=k.useCallback((e,t)=>{if(s(e))return(0,P.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,P.get)(l,t)},[s]),c=k.useCallback((e,t,l)=>{if(e&&(null==t?void 0:t.length)){if(s(e))return void e.setFieldValue(t,l);if("function"==typeof(null==e?void 0:e.setFieldValue))e.setFieldValue(t,l);else{var n;let o={};(0,P.set)(o,t,l),null==e||null==(n=e.setFieldsValue)||n.call(e,o)}}},[s]),p=k.useCallback(async e=>{let t=e;if((0,y.isRunJSValue)(t)){try{let{code:e,version:l}=(0,y.normalizeRunJSValue)(t),n=await (0,y.runjsWithSafeGlobals)(null==a?void 0:a.context,e,{version:l});t=(null==n?void 0:n.success)?n.value:void 0}catch{t=void 0}return t}if((0,y.isVariableExpression)(t)){var l,n;let o=await (null==a||null==(n=a.context)||null==(l=n.resolveJsonTemplate)?void 0:l.call(n,t));if(void 0!==o&&(t=o),t===e){let e=(0,y.extractPropertyPath)(String(t));e&&(t=(0,P.get)(null==a?void 0:a.context,e.join(".")))}}return t},[a]),h=k.useCallback((e,t)=>lh(e,t),[]);k.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,n,o)=>{var i,r,a,s,m,f,g;let v,y,b=[],x=(null==t||null==(i=t.props)?void 0:i.name)??(null==t?void 0:t.fieldPath);b=h(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 n&&o&&void 0!==o.defaultValue&&(v=null==(a=t.getStepParams(e,n))?void 0:a.defaultValue,y=o.defaultValue);let w=l(e,n,o);if(void 0!==y){let e=(null==t||null==(f=t.context)||null==(m=f.blockModel)||null==(s=m.context)?void 0:s.form)||(null==t||null==(g=t.context)?void 0:g.form);if(e&&b.length){let t=d(e,b),l=u(e,b),n=await p(v),o=await p(y),i=null==l||""===l,r=(0,P.isEqual)(l,n)||!t&&i;void 0!==o&&r&&c(e,b,o)}}return w})},[a,u,d,p,c,h]);let m=(0,k.useMemo)(()=>{var e;let t=null==a||null==(e=a.context)?void 0:e.flags;if(t||o)return{...t||{},...o||{}}},[a,o]),f=k.useRef(void 0);(0,P.isEqual)(f.current,m)||(f.current=m);let g=f.current,v=(0,k.useMemo)(()=>{var e,t,l,n,o,i,r,s,d,u,c,p,h,m,f,v,b,x,w,S,M,F,A,k,C,P,j,I;let E=a,R=(null==E?void 0:E.customFieldModelInstance)||(null==E||null==(e=E.subModels)?void 0:e.field),_=(null==R?void 0:R.props)||{},T=(null==E?void 0:E.customFieldProps)||{},{value:D,defaultValue:N,...O}=_,{value:$,defaultValue:B,...L}=T,q=(null==E||null==(t=E.getStepParams)?void 0:t.call(E,"fieldSettings","init"))||(null==R||null==(l=R.getStepParams)?void 0:l.call(R,"fieldSettings","init")),V=null==R?void 0:R.collectionField;if(!V&&(null==q?void 0:q.dataSourceKey)&&(null==q?void 0:q.collectionName)&&(null==q?void 0:q.fieldPath)){let e=`${q.dataSourceKey}.${q.collectionName}.${q.fieldPath}`;V=null==a||null==(f=a.context)||null==(m=f.dataSourceManager)||null==(h=m.getCollectionField)?void 0:h.call(m,e)}V||(V=null==E||null==(v=E.context)?void 0:v.collectionField);let z=null==R?void 0:R.constructor,K=V?y.EditableItemModel.getDefaultBindingByField(null==a?void 0:a.context,V):null,U=null==V?void 0:V.type,W=null==V?void 0:V.interface,H="belongsToMany"===U||"hasMany"===U||"belongsToArray"===U||"m2m"===W||"o2m"===W||"mbm"===W,G=!!((null==g?void 0:g.isInSetDefaultValueDialog)&&H),Y=H?l6:oN.m,J=K?null==a||null==(i=a.context)||null==(o=i.engine)||null==(n=o.getModelClass)?void 0:n.call(o,K.modelName):null,X="function"==typeof z?z:null,Q=p_("string"==typeof(null==z?void 0:z.name)&&/FilterFieldModel$/.test(z.name)||(null==E?void 0:E.customFieldModelInstance)?X||J||Y:J||X||Y),Z=null==R||null==(r=R.props)?void 0:r.fieldNames,ee=null==R||null==(s=R.props)?void 0:s.titleField,et=null==R||null==(d=R.getStepParams)?void 0:d.call(R,"selectSettings","fieldNames"),el=null==R||null==(u=R.getStepParams)?void 0:u.call(R,"selectSettings","allowMultiple"),en={};q&&(en.fieldSettings={init:q}),(et||el)&&(en.selectSettings={...et?{fieldNames:et}:{},...el?{allowMultiple:el}:{}});let eo={use:Q,uid:(0,ef.uid)(),parentId:null,subKey:null,subType:null,stepParams:{...(null==R?void 0:R.stepParams)||{},...Object.keys(en).length?en:{}},props:{disabled:!1,allowClear:!0,...O,...void 0!==Z?{fieldNames:Z}:{},...void 0!==ee?{titleField:ee}:{},...G?{keepDropdownOpenOnSelect:!0}:{},...L}},ei=a.context.engine.createModel({use:"VariableFieldFormModel",subModels:{fields:[eo]}}),er=null==(p=ei.subModels)||null==(c=p.fields)?void 0:c[0];if(er&&(er._originalModel=R,er._originalPropsFallback=null==E?void 0:E.customFieldProps,er._fallbackCollectionField=null==E||null==(b=E.context)?void 0:b.collectionField,er._originalOptionsFallback=pR(null==R||null==(x=R.getDataSource)?void 0:x.call(R))||pR(null==R||null==(w=R.props)?void 0:w.options)||pR(null==E||null==(S=E.customFieldProps)?void 0:S.options)),(null==q?void 0:q.dataSourceKey)&&(null==q?void 0:q.collectionName)){let e=a.context.dataSourceManager,t=null==e||null==(M=e.getDataSource)?void 0:M.call(e,q.dataSourceKey),l=null==e||null==(F=e.getCollection)?void 0:F.call(e,q.dataSourceKey,q.collectionName);t&&(null==(k=ei.context)||null==(A=k.defineProperty)||A.call(k,"dataSource",{get:()=>t})),l&&(null==(P=ei.context)||null==(C=P.defineProperty)||C.call(P,"collection",{get:()=>l}))}return g&&(null==(I=ei.context)||null==(j=I.defineProperty)||j.call(I,"flags",{value:g})),ei},[a,g]);k.useEffect(()=>()=>{var e,t;null==(t=v.subModels)||null==(e=t.fields)||e.forEach(e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),v.remove()},[v]);let b=(0,k.useMemo)(()=>e=>{let l=k.useRef(!1),[,n]=k.useReducer(e=>e+1,0),o=k.useRef(Symbol("init")),i=k.useRef(Symbol("none")),r=k.useRef(!1);return k.useEffect(()=>{var a,s,d,u,c,p,h,m,f;let g=null==v||null==(s=v.subModels)||null==(a=s.fields)?void 0:a[0];if(!g)return;let{disabled:y,readOnly:b,readPretty:x,pattern:w,...S}=e||{},M=!!(null==g||null==(c=g.context)||null==(u=c.collectionField)||null==(d=u.isAssociationField)?void 0:d.call(u)),F=e=>!!e&&"object"==typeof e&&"data"in e,A=e=>Array.isArray(e)?e.map(e=>F(e)?e.data:e):F(e)?e.data:e,k=(null==g||null==(p=g._originalModel)?void 0:p.use)||(null==g?void 0:g.use),C=null==g||null==(m=g.context)||null==(h=m.collectionField)?void 0:h.interface,P=new Set(["input","email","phone","uuid","url","nanoid","textarea","markdown","password","color"]),j="InputFieldModel"===k||(C?P.has(C):g instanceof oN.m),I=e=>{if(e&&"object"==typeof e&&"target"in e){let t=null==e?void 0:e.target;if(j&&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,o=Array(l),a=0;a<l;a++)o[a]=arguments[a];let s=o.length>1&&("string"==typeof o[1]||Array.isArray(o[1])&&o[1].every(e=>"string"==typeof e))?o[1]:o[0],d=M?A(s):I(s);if(!j){let e=M?A(s):I(s);i.current=e,g.setProps({value:e,defaultValue:void 0})}j&&r.current||(null==(t=(null==S?void 0:S.onChange)??(null==e?void 0:e.onChange))||t(d),n())},onCompositionStart:function(){for(var t,l,n=arguments.length,o=Array(n),i=0;i<n;i++)o[i]=arguments[i];r.current=!0,null==S||null==(t=S.onCompositionStart)||t.call(S,...o),null==e||null==(l=e.onCompositionStart)||l.call(e,...o)},onCompositionUpdate:(null==S?void 0:S.onCompositionUpdate)??(null==e?void 0:e.onCompositionUpdate),onCompositionEnd:t=>{var l,n,o;r.current=!1;let i=I(t);null==(l=(null==S?void 0:S.onChange)??(null==e?void 0:e.onChange))||l(i),null==S||null==(n=S.onCompositionEnd)||n.call(S,t),null==e||null==(o=e.onCompositionEnd)||o.call(e,t)},style:{width:"100%",minWidth:0,...(null==S?void 0:S.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(!j){let e=t;if(e!==o.current&&(o.current=e,void 0!==e)){let t=M?A(e):I(e);i.current=t,g.setProps({value:t}),n()}}},[e,t]),(0,A.jsx)("div",{style:{flexGrow:1},children:(0,A.jsx)(y.FlowModelRenderer,{model:v,showFlowSettings:!1})})},[v]);k.useEffect(()=>{var e,t,l,n;let o=null==a?void 0:a.operator,i=null==v||null==(t=v.subModels)||null==(e=t.fields)?void 0:e[0];if(!o||!i)return;let r=i.__originalRender||i.render;i.__originalRender=r;let s=(0,oO._)(a.context.app,o,(null==(n=a.collectionField)||null==(l=n.filterable)?void 0:l.operators)||[]);if(s&&i instanceof oN.m){let{Comp:e,props:t}=s;i.render=()=>{var l;return(0,A.jsx)(e,{...i.props,...t,style:{width:"100%",...null==(l=i.props)?void 0:l.style,...null==t?void 0:t.style}})}}else"function"==typeof r&&(i.render=r)},[a,v,null==a?void 0:a.operator]),k.useEffect(()=>{var e,t,l,n,o;let i=null==a?void 0:a.operator,r=null==v||null==(t=v.subModels)||null==(e=t.fields)?void 0:e[0];if(!r||!i)return;let s=((null==(n=a.collectionField)||null==(l=n.filterable)?void 0:l.operators)||[]).find(e=>e.value===i),d=null==s||null==(o=s.schema)?void 0:o["x-component-props"];d&&r.setProps(d)},[a,v,null==a?void 0:a.operator]);let x=(0,k.useMemo)(()=>function(){var e;return(0,A.jsx)(eF.A,{placeholder:`<${(null==(e=r.t)?void 0:e.call(r,"Null"))??"Null"}>`,readOnly:!0})},[r]),w=(0,k.useMemo)(()=>e=>(0,A.jsx)(lv.h,{t:r.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange}),[r]),S=(0,k.useMemo)(()=>async()=>{var e,t,l,o;let i=[];return i="function"==typeof n?await n()||[]:Array.isArray(n)?n:(null==(o=r.getPropertyMetaTree)?void 0:o.call(r))||[],[{title:(null==(e=r.t)?void 0:e.call(r,"Constant"))??"Constant",name:"constant",type:"string",paths:["constant"],render:b},{title:(null==(t=r.t)?void 0:t.call(r,"Null"))??"Null",name:"null",type:"object",paths:["null"],render:x},{title:(null==(l=r.t)?void 0:l.call(r,"RunJS"))??"RunJS",name:"runjs",type:"object",paths:["runjs"],render:w},...i]},[n,r,b,x,w]);return k.useEffect(()=>{var e;let t=null==(e=v.subModels.fields)?void 0:e[0];null==t||t.setProps({disabled:!1})},[v,t]),(0,A.jsx)(y.VariableInput,{metaTree:S,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?b:"null"===l?x:"runjs"===l?w:y.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,y.isRunJSValue)(e)?["runjs"]:(0,y.isVariableExpression)(e)?(0,y.parseValueToPath)(e):["constant"]}})});class pD{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=j().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 y.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)}`,n=(e,t)=>{let{subModels:o,flowEngine:i,...r}=e||{},a={...r};if(a.uid=l(),t&&(a.parentId=t),o&&"object"==typeof o)for(let e of(a.subModels={},Object.keys(o))){let t=o[e];Array.isArray(t)?a.subModels[e]=t.map(e=>n(e,a.uid)):t&&"object"==typeof t&&(a.subModels[e]=n(t,a.uid))}return a};return n(t)}constructor(e=""){(0,K._)(this,"prefix",void 0),this.prefix=e}}class pN{buildFindOneKey(e){let t=(null==e?void 0:e.uid)??"",l=(null==e?void 0:e.parentId)??"",n=(null==e?void 0:e.subKey)??"";return`uid:${t}|parentId:${l}|subKey:${n}`}async findOne(e){let t=this.buildFindOneKey(e),l=this.inFlightFindOne.get(t);if(l){let e=await l;return e?j().cloneDeep(e):e}let n=this.app.apiClient.request({url:"flowModels:findOne",params:j().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,n);let o=await n;return o?j().cloneDeep(o):o}async save(e,t){var l;let n=e.serialize();return(null==t?void 0:t.onlyStepParams)&&delete n.subModels,null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:save",data:n})).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 n=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:n}})).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){(0,K._)(this,"app",void 0),(0,K._)(this,"inFlightFindOne",void 0),this.app=e,this.inFlightFindOne=new Map}}var pO=l(13774),p$=l(59452);function pB(e){return!!e&&"object"==typeof e}function pL(e){if(e){if("string"==typeof e)return e;if(pB(e))return e.eventName}}function pq(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 pV(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 pz=e=>{let{model:t}=e,l=k.useMemo(()=>t.translate.bind(t),[t]),n=()=>{let e=document.querySelector(`#${y.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[y.EMBED_REPLACING_DATA_KEY]&&(e.style.width="auto",e.style.maxWidth="none",e.style.minWidth="auto")},content:(0,A.jsx)(pZ,{model:t})})};return(0,A.jsx)(pO.A,{style:{cursor:"pointer"},onClick:n})},pK={display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},pU={width:"4px",height:"16px",borderRadius:"2px",marginRight:8},pW={margin:0,fontSize:14,fontWeight:500,color:"#262626"},pH={marginBottom:8,fontSize:14,fontWeight:500,color:"#262626"},pG={marginInlineStart:4,color:"#ff4d4f"},pY={marginInlineStart:2,marginInlineEnd:8},pJ=e=>{let{color:t,children:l}=e;return(0,A.jsxs)("div",{style:pK,children:[(0,A.jsx)("div",{style:{...pU,backgroundColor:t}}),(0,A.jsx)("h4",{style:pW,children:l})]})},pX=e=>{let{children:t,required:l,style:n}=e;return(0,A.jsxs)("div",{style:{...pH,...n},children:[t,l&&(0,A.jsx)("span",{style:pG,children:"*"}),(0,A.jsx)("span",{style:pY,children:":"})]})},pQ=(0,y.observer)(e=>{var t;let{flow:l,model:n,flowEngine:o,flowRegistry:i}=e,r=(0,y.useFlowContext)(),a=n.translate.bind(n),s=(0,p$.A)(),[d,u]=k.useState([]),c=pL(l.on),p=pB(l.on)?l.on:void 0,h=c?null==(t=n.getEvent(c))?void 0:t.uiSchema:void 0,m="function"==typeof h?h(r):h,f=null==p?void 0:p.defaultParams,g=k.useCallback(()=>{if(pB(l.on))return l.on;if(!c)return;let e={eventName:c};return l.on=e,e},[c,l]),v=(null==p?void 0:p.phase)?String(p.phase):"beforeAllFlows",b=(null==p?void 0:p.flowKey)?String(p.flowKey):void 0,x=(null==p?void 0:p.stepKey)?String(p.stepKey):void 0,w=k.useMemo(()=>[...n.getEvents().values()],[n]);k.useEffect(()=>{let e=!1;return(async()=>{let t=[];for(let e of w)await (0,y.shouldHideEventInSettings)(n,l,e)||t.push({label:n.translate(e.title),value:e.name});e||u(e=>j().isEqual(e,t)?e:t)})(),()=>{e=!0}},[l,n,w]);let S=k.useMemo(()=>c?Array.from(n.constructor.globalFlowRegistry.getFlows().values()).filter(e=>"beforeRender"===c?!0!==e.manual&&(!e.on||"beforeRender"===pL(e.on)):pL(e.on)===c):[],[c,n]),M=k.useMemo(()=>new Map(S.map(e=>[e.key,e])),[S]),F=k.useCallback((e,t)=>{if(!t)return e;let l=a(String(t));return`${e} (${l})`},[a]),C=k.useMemo(()=>S.map(e=>({value:e.key,label:F(String(e.key),e.title),disabled:i.hasFlow(e.key)})),[i,F,S]),P=k.useMemo(()=>{if(!b)return[];let e=M.get(b);return e?e.mapSteps(e=>{let t=e.use?n.getAction(e.use):void 0,l=e.title||(null==t?void 0:t.title);return{value:e.key,label:F(String(e.key),l)}}):[]},[b,F,n,M]),I=k.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]),E=["beforeFlow","afterFlow","beforeStep","afterStep"].includes(v),R=["beforeStep","afterStep"].includes(v),_=p?pV(p):void 0,T="flowKey"===_,D="stepKey"===_,N=e=>{let t=pB(l.on)?l.on:{eventName:e};l.on=t,t.eventName=e,delete t.phase,delete t.flowKey,delete t.stepKey,s()};return(0,A.jsxs)("div",{style:{marginBottom:32},children:[(0,A.jsx)(pJ,{color:"#1890ff",children:a("Event")}),(0,A.jsxs)("div",{style:{paddingLeft:12},children:[(0,A.jsxs)("div",{style:{marginBottom:16},children:[(0,A.jsx)(pX,{children:a("Trigger event")}),(0,A.jsx)(l_.A,{placeholder:a("Select trigger event"),style:{width:"100%"},value:c,onChange:e=>{N(e)},options:d})]}),(0,A.jsxs)("div",{style:{marginBottom:16},children:[(0,A.jsx)(pX,{children:a("Execution timing")}),(0,A.jsx)(l_.A,{style:{width:"100%"},disabled:!c,value:v,onChange:e=>{let t=g();t&&(t.phase=e,pq(t),s())},options:I}),E&&(0,A.jsxs)("div",{style:{marginTop:12,display:"flex",flexDirection:"column",gap:12},children:[(0,A.jsxs)("div",{children:[(0,A.jsx)(pX,{required:E,style:{marginBottom:6},children:a("Built-in flow")}),(0,A.jsx)(l_.A,{style:{width:"100%"},disabled:!c||0===C.length,placeholder:a("Select a built-in flow"),value:b,status:T?"error":void 0,options:C,onChange:e=>{let t=g();t&&(e?t.flowKey=e:delete t.flowKey,delete t.stepKey,s())}}),T&&(0,A.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow")})]}),R&&(0,A.jsxs)("div",{children:[(0,A.jsx)(pX,{required:R,style:{marginBottom:6},children:a("Built-in flow step")}),(0,A.jsx)(l_.A,{style:{width:"100%"},disabled:!c||!b||0===P.length,placeholder:a("Select a built-in flow step"),value:x,status:D?"error":void 0,options:P,onChange:e=>{let t=g();t&&(e?t.stepKey=e:delete t.stepKey,s())}}),D&&(0,A.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow step")})]}),0===C.length&&(0,A.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8c8c8c"},children:a("No built-in flows for this event")})]})]}),c&&o.flowSettings.renderStepForm({key:c,uiSchema:m,initialValues:f,flowEngine:o,onFormValuesChange:e=>{let t=g();t&&(t.defaultParams=e.values)}})]})]})}),pZ=(0,y.observer)(e=>{let{model:t}=e,l=(0,y.useFlowContext)(),n=t.flowEngine,o=(0,y.serializeFlowRegistry)(t.flowRegistry),i=k.useRef(o),[r]=k.useState(()=>new y.DetachedFlowRegistry(o)),[a,s]=k.useState(!1),d=k.useMemo(()=>t.translate.bind(t),[t]),u=k.useCallback(()=>!j().isEqual(i.current,(0,y.serializeFlowRegistry)(r)),[r]);k.useEffect(()=>{j().isEqual(i.current,o)||u()||((0,y.replaceFlowRegistry)(r,o),i.current=o)},[r,u,o]),k.useEffect(()=>{let e=l.view,t=e.beforeClose,n=async e=>{if(u()){var n,o;if(!(await (null==(o=l.modal)||null==(n=o.confirm)?void 0:n.call(o,{title:d("Unsaved changes"),content:d("Are you sure you don't want to save?"),okText:d("Confirm"),cancelText:d("Cancel")}))??!0))return!1}return!1!==await (null==t?void 0:t(e))};return e.beforeClose=n,()=>{e.beforeClose===n&&(e.beforeClose=t)}},[l,u,d]);let c=()=>{r.addFlow((0,ef.uid)(),{title:d("Event flow"),steps:{}})},p=e=>{e.remove()},h=(e,t)=>{e.title=t},m=()=>[...t.getActions().values()].filter(e=>j().castArray(e.scene).includes(y.ActionScene.DYNAMIC_EVENT_FLOW)).sort((e,t)=>(e.sort??0)-(t.sort??0)),f=(e,t)=>{let l={use:t.name};e.addStep((0,ef.uid)(),l)},g=e=>{e.remove()},v=(e,t)=>{e.defaultParams=t},b=e=>(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,A.jsx)("div",{style:{flex:1,marginRight:16},children:(0,A.jsx)(eF.A,{value:e.title,onChange:t=>h(e,t.target.value),onClick:e=>e.stopPropagation(),placeholder:d("Enter flow title")})}),(0,A.jsx)(eg.A,{onClick:e=>e.stopPropagation(),children:(0,A.jsx)(W.A,{title:"Delete",children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(ok.A,{}),onClick:()=>p(e)})})})]}),x=r.mapFlows(e=>({key:e.key,label:b(e),styles:{header:{display:"flex",alignItems:"center"}},children:(0,A.jsxs)("div",{children:[(0,A.jsx)(pQ,{flow:e,model:t,flowEngine:n,flowRegistry:r}),(0,A.jsxs)("div",{children:[(0,A.jsx)(pJ,{color:"#52c41a",children:d("Steps")}),(0,A.jsxs)("div",{style:{paddingLeft:12},children:[(0,A.jsx)("div",{style:{marginBottom:16},children:e.mapSteps(e=>{let l=t.getAction(e.use);return l?(0,A.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,A.jsxs)("span",{style:{fontWeight:600,color:"#262626"},children:[d(l.title),(0,A.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,A.jsx)(W.A,{title:d("Delete step"),children:(0,A.jsx)(H.Ay,{type:"text",size:"small",icon:(0,A.jsx)(ok.A,{}),onClick:()=>g(e)})})]}),(0,A.jsx)("div",{children:k.createElement(y.FlowStepContext.Provider,{value:{params:(0,y.untracked)(()=>e.defaultParams),path:`${t.uid}_${e.flowKey}_${e.key}`}},n.flowSettings.renderStepForm({uiSchema:l.uiSchema,initialValues:(0,y.untracked)(()=>e.defaultParams),flowEngine:n,onFormValuesChange:t=>v(e,t.values)}))})]},e.key):null})}),(0,A.jsx)(oj.A,{menu:{items:m().map(t=>({key:t.name,label:d(t.title)||t.name,onClick:()=>f(e,t)}))},trigger:["hover"],children:(0,A.jsx)(H.Ay,{type:"link",icon:(0,A.jsx)(eo.A,{}),style:{padding:0,height:"auto",textAlign:"left"},children:d("Add step")})})]})]})]})}));return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,A.jsxs)("div",{style:{flex:1,padding:"16px",overflow:"auto",minHeight:0},children:[x.length>0?(0,A.jsx)(uZ.A,{items:x,size:"small",style:{marginBottom:8},defaultActiveKey:[x[0].key],accordion:!0}):(0,A.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,A.jsx)(od.A,{description:d("No event flows"),style:{margin:"20px 0"}})}),(0,A.jsx)(H.Ay,{type:"dashed",icon:(0,A.jsx)(eo.A,{}),onClick:c,style:{width:"100%"},children:d("Add event flow")})]}),(0,A.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",padding:"8px 16px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fff",flexShrink:0},children:[(0,A.jsx)(H.Ay,{onClick:()=>l.view.close(),children:d("Cancel")}),(0,A.jsx)(H.Ay,{type:"primary",loading:a,onClick:async()=>{var e,n,o,a,u,c,p,h,m,f,g,v;s(!0);let b=r.mapFlows(e=>{if(!pB(e.on))return;pq(e.on);let t=pV(e.on);if(t)return{type:t}}).filter(Boolean)[0];if(b){let e="flowKey"===b.type?d("Please select a built-in flow"):d("Please select a built-in flow step");null==(c=t.context)||null==(u=c.message)||null==(a=u.error)||a.call(u,e),s(!1);return}let x=(0,y.serializeFlowRegistry)(t.flowRegistry),w=[];try{for(let e of r.mapFlows(e=>e))for(let l of e.mapSteps(e=>e)){let n=l.serialize(),o=l.use?t.getAction(l.use):void 0,i=n.beforeParamsSave||(null==o?void 0:o.beforeParamsSave),r=n.afterParamsSave||(null==o?void 0:o.afterParamsSave);if("function"!=typeof i&&"function"!=typeof r)continue;let a=new y.FlowRuntimeContext(t,e.key,"settings");(0,y.setupRuntimeContextSteps)(a,e.steps,t,e.key),a.defineProperty("currentStep",{value:n});let s={...l.defaultParams||{}},d={...l.defaultParams||{}};"function"==typeof i&&await i(a,s,d),"function"==typeof r&&w.push(async()=>{await r(a,s,d)}),l.defaultParams=s}(0,y.replaceFlowRegistry)(t.flowRegistry,(0,y.serializeFlowRegistry)(r)),await t.flowRegistry.save()}catch(e){(0,y.replaceFlowRegistry)(t.flowRegistry,x),s(!1),null==(m=t.context)||null==(h=m.message)||null==(p=h.error)||p.call(h,"Steps post-save hooks failed to run"),console.error(e);return}i.current=(0,y.serializeFlowRegistry)(t.flowRegistry);try{for(let e of w)await e()}catch(e){null==(v=t.context)||null==(g=v.message)||null==(f=g.error)||f.call(g,"Steps post-save hooks failed to run"),console.error(e)}t.flowRegistry.mapFlows(e=>{if((0,y.isBeforeRenderFlow)(e))return e}).filter(Boolean).length>0&&t.rerender(),s(!1),null==(o=t.context)||null==(n=o.message)||null==(e=n.success)||e.call(n,d("Configuration saved")),l.view.destroy()},children:d("Save")})]})]})});var p0=l(81469),p1=l(5338),p2=l(35634),p4=l.n(p2);let p5=()=>{let e=(0,y.useFlowContext)().app,t=e.pm.get("@nocobase/plugin-block-markdown");return t.dependencyLoaded||(t.initVditorDependency(e),t.dependencyLoaded=!0),t.getCDN(e)};var p8=l(42524);let p6="nb-markdown-vditor";function p3(){let{theme:e,token:t,hashId:l}=i_.A.useToken(),n=(0,p8.useStyleRegister)({theme:e,token:t,hashId:l,path:["flow-markdown",p6]},()=>({[`.${p6}`]:{".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,k.useMemo)(()=>n,[n,e,t,l]),hashId:l,componentCls:p6}}function p9(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 p7=e=>{if(e){let t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}};function he(e){let t=(0,k.useRef)(null),{wrapSSR:l,componentCls:n,hashId:o}=p3(),i=p5();return(0,k.useEffect)(()=>{e.loadImages&&(p4().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",()=>{ht(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,p1.createRoot)(l).render((0,A.jsx)(p0.A,{value:t}))})},300))},[e.value,e.loadImages,i]),l((0,A.jsx)("span",{className:`${o} ${n}`,children:(0,A.jsx)("span",{ref:t,style:{border:"none",...(null==e?void 0:e.style)??{}}})}))}function ht(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 hl=e=>{let{value:t,textOnly:l=!0}=e,n=p5(),[o,i]=(0,k.useState)(!1),[r,a]=(0,k.useState)(!1),[s,d]=(0,k.useState)(!1),[u,c]=(0,k.useState)(""),p=(0,k.useRef)();(0,k.useEffect)(()=>{e.value&&l&&p4().md2html(e.value,{mode:"light",cdn:n}).then(e=>{c(p9(e))}).catch(()=>c(""))},[e.value,l]);let h=(0,k.useCallback)(()=>{var e;return!!p.current&&p7(p.current)>(null==(e=p.current)?void 0:e.offsetWidth)},[p]),m=e=>{i(e),e&&!s&&d(!0)};return e.ellipsis?(0,A.jsx)(tv.A,{open:o,getPopupContainer:()=>{var e;return null==(e=document.getElementsByClassName("ant-drawer-content"))?void 0:e[0]},onOpenChange:e=>{m(r&&e)},overlayStyle:{maxWidth:600},content:(0,A.jsx)("div",{style:{maxHeight:400,overflow:"auto"},children:(0,A.jsx)(he,{value:t,loadImages:s})}),children:(0,A.jsx)("div",{ref:p,style:{overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},onMouseEnter:e=>{let t=e.target;h()&&a(t.scrollWidth>=t.clientWidth)},children:l?u:(0,A.jsx)("div",{className:(0,tH.css)`
761
761
  .vditor-reset {
762
762
  white-space: nowrap;
763
763
  display: -webkit-box;
@@ -767,7 +767,7 @@ ctx.render(<JsItem />);
767
767
  text-overflow: ellipsis;
768
768
  word-break: break-word;
769
769
  }
770
- `,children:(0,A.jsx)(p5,{value:t,loadImages:!0})})})}):l?u:(0,A.jsx)(p5,{value:t,loadImages:!0})};l(57187);let p3=["headings","bold","italic","strike","link","list","ordered-list","check","quote","line","code","inline-code","upload","fullscreen"],p9="block-markdown",p7=["en_US","fr_FR","pt_BR","ja_JP","ko_KR","ru_RU","sv_SE","zh_CN","zh_TW"],he=e=>{let{disabled:t,onChange:l,value:n,fileCollection:o,toolbar:i,vditorRef:r}=e,a=(0,y.useFlowContext)(),[s,d]=(0,k.useState)(!1),u=(0,k.useRef)();(0,k.useRef)(!1);let c=(0,k.useRef)(null),p=(0,k.useRef)(null),h=a.api,m=pQ(),{wrapSSR:f,hashId:g,componentCls:v}=p1(),x=h.auth.locale||"en-US",w=a.app.pm.get("@nocobase/plugin-file-manager"),S=(0,k.useRef)(a.t.bind(a));S.current=a.t.bind(a);let{t:M}=(0,G.B)(),F=(0,b.$5)(),C=(0,b.fl)("drawer",F+1e3,0),P=(0,k.useMemo)(()=>{let e=x.replace(/-/g,"_");return p7.includes(e)?e:"en_US"},[x]);return(0,k.useEffect)(()=>{if(!c.current)return;let a=i??p3,s=new(pX())(c.current,{value:n??"",lang:P,cache:{enable:!1},undoDelay:0,mode:e.mode||"ir",preview:{math:{engine:"KaTeX"}},toolbar:a,fullscreen:{index:1200},cdn:m,minHeight:200,height:e.height,after:()=>{u.current=s,d(!0),s.setValue(n??""),t?s.disabled():(s.enable(),document.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,pY.createRoot)(l).render((0,A.jsx)(pG.A,{value:t}))}))},input(e){l(e)},upload:{multiple:!1,fieldName:"file",async handler(e){var t,l,n,i,r,a,d,u;let c=e[0];s.focus();let{data:p}=await h.resource("vditor").check({fileCollectionName:o});if(!(null==p||null==(t=p.data)?void 0:t.isSupportToUploadFiles))return void s.tip(M("vditor.uploadError.message",{ns:p9,storageTitle:null==(u=p.data.storage)?void 0:u.title}),0);s.tip(M("uploading"),0);let{data:m,errorMessage:f}=await w.uploadFile({file:c,fileCollectionName:o,storageId:null==p||null==(n=p.data)||null==(l=n.storage)?void 0:l.id,storageType:null==p||null==(r=p.data)||null==(i=r.storage)?void 0:i.type,storageRules:null==p||null==(d=p.data)||null==(a=d.storage)?void 0:a.rules});if(f)return void s.tip(S.current(f),3e3);if(!m)return void s.tip(M("Response data is empty",{ns:p9}),3e3);let g=m.filename,v=m.url;return c.type.startsWith("image/")?s.insertValue(`![${g}](${v})`):s.insertValue(`[${g}](${v})`),s.tip(M(""),10),null}}});r.current=s;let p=c.current;if(!p)return;let f=new MutationObserver(()=>{let e=p.classList.contains("vditor--fullscreen"),t=p.querySelectorAll(".vditor-reset"),l=p.querySelectorAll(".vditor-toolbar");t.forEach(t=>{t.style.padding=e?"10px 200px":""}),l.forEach(t=>{t.style.paddingLeft=e?"200px":""})});return f.observe(p,{attributes:!0,attributeFilter:["class"]}),()=>{var e;null==(e=u.current)||e.destroy(),u.current=void 0,f.disconnect()}},[null==i?void 0:i.join(",")]),(0,k.useEffect)(()=>{if(s&&u.current){let i=u.current;if(n!==i.getValue()){var e,t,l,o;i.setValue(n??"");let r=null==(e=c.current)?void 0:e.querySelector("div.vditor-content > div.vditor-ir > pre"),a=null==(t=c.current)?void 0:t.querySelector(".vditor-content"),s=r&&(document.activeElement===r||r.contains(document.activeElement)||(null==(o=document.activeElement)||null==(l=o.closest)?void 0:l.call(o,".vditor-content"))===a);if(r&&s){let e=document.createRange(),t=window.getSelection();t&&(e.selectNodeContents(r),e.collapse(!1),t.removeAllRanges(),t.addRange(e))}}}},[n,s]),(0,k.useEffect)(()=>{s&&u.current&&(t?u.current.disabled():u.current.enable())},[t,s]),(0,k.useEffect)(()=>{if(!p.current)return;let e=new MutationObserver(e=>{for(let t of e)for(let e of Array.from(t.addedNodes))e instanceof HTMLElement&&e.classList.contains("vditor-img")&&(p.current.appendChild(e),e.style.zIndex=String(C))});return e.observe(document.body,{childList:!0}),()=>{e.disconnect()}},[C]),f((0,A.jsx)("div",{ref:p,className:`${g} ${v}`,children:(0,A.jsx)("div",{ref:c})}))},ht=e=>{let{value:t="",onChange:l,placeholder:n,style:o,quoteFlag:i,enableContextSelect:r=!0,...a}=e,s=(0,y.useFlowContext)(),[d,u]=(0,k.useState)(t||""),c=(0,k.useRef)(null),p=!!s.model.context.flowSettingsEnabled;(0,k.useEffect)(()=>{!1!==i&&u(t)},[t]);let h=(0,k.useCallback)(e=>{let t=(e??"").replace(/^\s+/g,"");null==l||l(t),u(t)},[l]),m=(0,k.useCallback)(e=>{let t=c.current;if(!t)return void console.warn("Vditor 尚未初始化,无法插入文本");if(t.getCursorPosition()){let l=t.getCursorPosition().top,n=t.getValue().split("\n"),o=document.querySelector(".vditor-reset"),i=n[Math.floor(l/(parseFloat(window.getComputedStyle(o).lineHeight)||20))]??"";(i.includes("{%")||i.includes("%}"))&&(e=e.replace(/^{{\s*(.*?)\s*}}$/,"$1"))}t.insertValue(e);let n=t.getValue();u(n),null==l||l(n),requestAnimationFrame(()=>{t.focus()})},[d,l]),f=(0,k.useCallback)(e=>{e&&m(e)},[m]),g=(0,k.useMemo)(()=>()=>{var e;return null==(e=s.getPropertyMetaTree)?void 0:e.call(s)},[s]);return(0,A.jsxs)("div",{style:{position:"relative",width:"100%",...o},children:[(0,A.jsx)(he,{vditorRef:c,value:d,onChange:h,placeholder:n,style:{width:"100%"},...a}),p&&r&&(0,A.jsx)("div",{style:{position:"absolute",top:10,right:10,zIndex:1,lineHeight:0},children:(0,A.jsx)(y.FlowContextSelector,{metaTree:g,onChange:e=>f(e),onlyLeafSelectable:!1,children:(0,A.jsx)(H.Ay,{type:"default",className:(0,tH.css)`
770
+ `,children:(0,A.jsx)(he,{value:t,loadImages:!0})})})}):l?u:(0,A.jsx)(he,{value:t,loadImages:!0})};l(57187);let hn=["headings","bold","italic","strike","link","list","ordered-list","check","quote","line","code","inline-code","upload","fullscreen"],ho="block-markdown",hi=["en_US","fr_FR","pt_BR","ja_JP","ko_KR","ru_RU","sv_SE","zh_CN","zh_TW"],hr=e=>{let{disabled:t,onChange:l,value:n,fileCollection:o,toolbar:i,vditorRef:r}=e,a=(0,y.useFlowContext)(),[s,d]=(0,k.useState)(!1),u=(0,k.useRef)();(0,k.useRef)(!1);let c=(0,k.useRef)(null),p=(0,k.useRef)(null),h=a.api,m=p5(),{wrapSSR:f,hashId:g,componentCls:v}=p3(),x=h.auth.locale||"en-US",w=a.app.pm.get("@nocobase/plugin-file-manager"),S=(0,k.useRef)(a.t.bind(a));S.current=a.t.bind(a);let{t:M}=(0,G.B)(),F=(0,b.$5)(),C=(0,b.fl)("drawer",F+1e3,0),P=(0,k.useMemo)(()=>{let e=x.replace(/-/g,"_");return hi.includes(e)?e:"en_US"},[x]);return(0,k.useEffect)(()=>{if(!c.current)return;let a=i??hn,s=new(p4())(c.current,{value:n??"",lang:P,cache:{enable:!1},undoDelay:0,mode:e.mode||"ir",preview:{math:{engine:"KaTeX"}},toolbar:a,fullscreen:{index:1200},cdn:m,minHeight:200,height:e.height,after:()=>{u.current=s,d(!0),s.setValue(n??""),t?s.disabled():(s.enable(),document.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,p1.createRoot)(l).render((0,A.jsx)(p0.A,{value:t}))}))},input(e){l(e)},upload:{multiple:!1,fieldName:"file",async handler(e){var t,l,n,i,r,a,d,u;let c=e[0];s.focus();let{data:p}=await h.resource("vditor").check({fileCollectionName:o});if(!(null==p||null==(t=p.data)?void 0:t.isSupportToUploadFiles))return void s.tip(M("vditor.uploadError.message",{ns:ho,storageTitle:null==(u=p.data.storage)?void 0:u.title}),0);s.tip(M("uploading"),0);let{data:m,errorMessage:f}=await w.uploadFile({file:c,fileCollectionName:o,storageId:null==p||null==(n=p.data)||null==(l=n.storage)?void 0:l.id,storageType:null==p||null==(r=p.data)||null==(i=r.storage)?void 0:i.type,storageRules:null==p||null==(d=p.data)||null==(a=d.storage)?void 0:a.rules});if(f)return void s.tip(S.current(f),3e3);if(!m)return void s.tip(M("Response data is empty",{ns:ho}),3e3);let g=m.filename,v=m.url;return c.type.startsWith("image/")?s.insertValue(`![${g}](${v})`):s.insertValue(`[${g}](${v})`),s.tip(M(""),10),null}}});r.current=s;let p=c.current;if(!p)return;let f=new MutationObserver(()=>{let e=p.classList.contains("vditor--fullscreen"),t=p.querySelectorAll(".vditor-reset"),l=p.querySelectorAll(".vditor-toolbar");t.forEach(t=>{t.style.padding=e?"10px 200px":""}),l.forEach(t=>{t.style.paddingLeft=e?"200px":""})});return f.observe(p,{attributes:!0,attributeFilter:["class"]}),()=>{var e;null==(e=u.current)||e.destroy(),u.current=void 0,f.disconnect()}},[null==i?void 0:i.join(",")]),(0,k.useEffect)(()=>{if(s&&u.current){let i=u.current;if(n!==i.getValue()){var e,t,l,o;i.setValue(n??"");let r=null==(e=c.current)?void 0:e.querySelector("div.vditor-content > div.vditor-ir > pre"),a=null==(t=c.current)?void 0:t.querySelector(".vditor-content"),s=r&&(document.activeElement===r||r.contains(document.activeElement)||(null==(o=document.activeElement)||null==(l=o.closest)?void 0:l.call(o,".vditor-content"))===a);if(r&&s){let e=document.createRange(),t=window.getSelection();t&&(e.selectNodeContents(r),e.collapse(!1),t.removeAllRanges(),t.addRange(e))}}}},[n,s]),(0,k.useEffect)(()=>{s&&u.current&&(t?u.current.disabled():u.current.enable())},[t,s]),(0,k.useEffect)(()=>{if(!p.current)return;let e=new MutationObserver(e=>{for(let t of e)for(let e of Array.from(t.addedNodes))e instanceof HTMLElement&&e.classList.contains("vditor-img")&&(p.current.appendChild(e),e.style.zIndex=String(C))});return e.observe(document.body,{childList:!0}),()=>{e.disconnect()}},[C]),f((0,A.jsx)("div",{ref:p,className:`${g} ${v}`,children:(0,A.jsx)("div",{ref:c})}))},ha=e=>{let{value:t="",onChange:l,placeholder:n,style:o,quoteFlag:i,enableContextSelect:r=!0,...a}=e,s=(0,y.useFlowContext)(),[d,u]=(0,k.useState)(t||""),c=(0,k.useRef)(null),p=!!s.model.context.flowSettingsEnabled;(0,k.useEffect)(()=>{!1!==i&&u(t)},[t]);let h=(0,k.useCallback)(e=>{let t=(e??"").replace(/^\s+/g,"");null==l||l(t),u(t)},[l]),m=(0,k.useCallback)(e=>{let t=c.current;if(!t)return void console.warn("Vditor 尚未初始化,无法插入文本");if(t.getCursorPosition()){let l=t.getCursorPosition().top,n=t.getValue().split("\n"),o=document.querySelector(".vditor-reset"),i=n[Math.floor(l/(parseFloat(window.getComputedStyle(o).lineHeight)||20))]??"";(i.includes("{%")||i.includes("%}"))&&(e=e.replace(/^{{\s*(.*?)\s*}}$/,"$1"))}t.insertValue(e);let n=t.getValue();u(n),null==l||l(n),requestAnimationFrame(()=>{t.focus()})},[d,l]),f=(0,k.useCallback)(e=>{e&&m(e)},[m]),g=(0,k.useMemo)(()=>()=>{var e;return null==(e=s.getPropertyMetaTree)?void 0:e.call(s)},[s]);return(0,A.jsxs)("div",{style:{position:"relative",width:"100%",...o},children:[(0,A.jsx)(hr,{vditorRef:c,value:d,onChange:h,placeholder:n,style:{width:"100%"},...a}),p&&r&&(0,A.jsx)("div",{style:{position:"absolute",top:10,right:10,zIndex:1,lineHeight:0},children:(0,A.jsx)(y.FlowContextSelector,{metaTree:g,onChange:e=>f(e),onlyLeafSelectable:!1,children:(0,A.jsx)(H.Ay,{type:"default",className:(0,tH.css)`
771
771
  font-style: italic;
772
772
  font-family: 'New York, Times New Roman, Times, serif';
773
773
  line-height: 1;
@@ -776,7 +776,7 @@ ctx.render(<JsItem />);
776
776
  border-top-color: transparent;
777
777
  background-color: transparent;
778
778
  }
779
- `,children:"x"})})})]})};class hl{render(e,t){if(!e)return null;try{return(0,A.jsx)(p6,{value:e,...t})}catch(e){return console.error("渲染失败:",e),(0,A.jsxs)("pre",{style:{color:"red"},children:["Markdown 渲染错误:",e.message]})}}edit(e){try{return(0,A.jsx)(ht,{...e})}catch(e){return(0,A.jsxs)("pre",{style:{color:"red"},children:["Markdown 编辑器加载错误:",e.message]})}}}var hn=l(23155);class ho extends hn.HX{transformLiquidContext(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};for(let l of e){let e=l.replace(/^ctx\./,"").split("."),n=t;for(let t=0;t<e.length;t++){let o=e[t];t===e.length-1?n[o]=`{{${l}}}`:(n[o]=n[o]||{},n=n[o])}}return t}async render(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{return await this.parseAndRender(e,t)}catch(e){return console.error("[Liquid] 模板解析失败:",e),`<pre style="color:red;">Liquid 模板错误:${e.message}</pre>`}}isFieldUsed(e,t){return t.some(t=>t.replace(/^ctx\./,"").endsWith(e))}enrichArrayFieldsSelective(e,t){if(e&&"object"==typeof e)for(let l in e){let n=e[l];if(Array.isArray(n)&&n.length&&"object"==typeof n[0]){let e=n;Object.keys(e[0]).filter(n=>["string","number","boolean"].includes(typeof e[0][n])&&this.isFieldUsed(`${l}.${n}`,t)).forEach(t=>{e[t]=e.map(e=>null!=e[t]?e[t]:"").join(",")}),e.forEach(e=>this.enrichArrayFieldsSelective(e,t))}else n&&"object"==typeof n&&this.enrichArrayFieldsSelective(n,t)}}async renderWithFullContext(e,t){if(e)try{"number"==typeof e&&(e=String(e)),e=e.replace(/\{\{\s*t\s*\(\s*(['"])([\s\S]*?)\1\s*(?:,\s*\{\s*ns\s*:\s*(['"])([\s\S]*?)\3\s*\}\s*)?\)\s*\}\}/g,(e,l,n,o,i)=>{try{let e=i?t.t(n,{ns:i}):t.t(n);if(null==e)return"";return/[{][{%]/.test(e)?`{% raw %}${e}{% endraw %}`:e}catch{return e}});let l=await this.fullVariables(e),n=l.map(e=>this.transformLiquidContext([e])),o=(await Promise.all(n.map(e=>t.resolveJsonTemplate(e)))).reduce((e,t)=>(0,P.merge)(e,t),{});return this.enrichArrayFieldsSelective(o,l),await this.render(e,{ctx:o})}catch(t){return e}}constructor(e){super({extname:".liquid",cache:!0,...e}),this.registerFilter("t",e.ctx.t),this.registerFilter("log",e=>(console.log("[Liquid log]",e),e))}}var hi=l(95267),hr=l(16631),ha=l(44124),hs=l(60183);class hd extends x.Plugin{async load(){this.app.addComponents({FlowRoute:O.default}),this.app.flowEngine.setModelRepository(new pI(this.app));let e=Object.fromEntries(Object.entries(g).filter(e=>{let[,t]=e;return"function"==typeof t&&t.prototype instanceof y.FlowModel}));this.flowEngine.registerModels(e),this.flowEngine.registerActions(v),this.flowEngine.registerActions(f),this.flowEngine.flowSettings.registerComponents({IconPicker:b.ar,DefaultValue:pP,FlowSettingsVariableTextArea:S.n}),this.flowEngine.flowSettings.addToolbarItem({key:"dynamic-flows-editor",component:pO,visible:e=>e.getEvents().size>0,sort:0});let t=new hl;this.flowEngine.context.defineProperty("markdown",{get:()=>t});let n=new ho({ctx:this.flowEngine.context});this.flowEngine.context.defineProperty("liquid",{get:()=>n}),this.flowEngine.context.defineMethod("previewRunJS",async function(e,t){let n=await Promise.resolve().then(l.bind(l,85387));return await n.previewRunJS(String(e??""),this,{version:t})},{description:"Preview/diagnose a RunJS snippet (lint + sandbox execution).",detail:"(code: string, version?: string) => Promise<{ success: boolean; message: string }>",params:[{name:"code",type:"string",description:"RunJS code to preview."},{name:"version",type:"string",description:"RunJS version override (e.g. v1/v2)."}],returns:{type:"Promise<PreviewRunJSResult>",description:"Preview result."},completion:{insertText:"await ctx.previewRunJS('console.log(1)', 'v2')"}})}}},51612(e,t,l){l.d(t,{g:()=>f});var n=l(74848),o=l(96540),i=l(40098);let r=l.n(i)().memoize(async e=>e?(await Promise.all([l.e("2512"),l.e("32")]).then(l.bind(l,86419))).default.render(e):e);function a(e){let[t,l]=(0,o.useState)(""),[n,i]=(0,o.useState)(!0);return(0,o.useEffect)(()=>{i(!0),r(e).then(e=>{l(e),i(!1)}).catch(e=>console.log(e))},[e]),{html:t,loading:n}}function s(e){let t=e,l=document.createElement("div");l.innerHTML=t;let n=l.innerText;return l=null,(null==n?void 0:n.replace(/[\n\r]/g,""))||""}var d=l(24978),u=l(22803),c=l(11869),p=l(35710);let h=()=>{let e=(0,c.useFlowContext)(),{token:t}=p.A.useToken(),l=!!e.isDarkTheme,n=new d.q(t.colorFillAlter).onBackground(t.colorBgContainer).toHexShortString(),o={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:n,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:n,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return(0,u.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:o})};var m=l(42443);let f=e=>{let{textOnly:t,overflowMode:l,style:i}=e,r=h(),{html:d=""}=a(e.value),u=s(d),c="ellipsis"===l,p=(0,o.useRef)(null),[f,g]=(0,o.useState)(!1);(0,o.useEffect)(()=>{if(p.current){let e=p.current;g(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight)}},[d,i,l]);let v={...i||{},...c?{display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-word",cursor:"default"}:{}},y=(0,n.jsx)("div",{ref:p,className:`${r} nb-markdown`,dangerouslySetInnerHTML:{__html:t?u:d},style:v});return c&&f?(0,n.jsx)(m.A,{title:(0,n.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:y}):y}},85352(e,t,l){function n(){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,n=void 0!==t.value,o=l?t.label:String(t.value??""),i=n?t.value:o,r={label:o,value:i};return t.color&&(r.color=t.color),t.icon&&(r.icon=t.icon),r}return{label:String(e),value:e}}):[]}function o(){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 o(n(e),t)}function r(e,t){let l=null==t?void 0:t.mode,n="multiple"===l||"tags"===l||(null==t?void 0:t.multiple)===!0;return Array.isArray(e)?e.filter(e=>""!==e&&null!=e):""===e||null==e?n?[]: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 n=t.find(t=>(null==t?void 0:t.value)===e);return n?{value:e,label:n.label}:{value:e,label:(null==e||null==(l=e.toString)?void 0:l.call(e))??e}})}function s(e,t){var l,o,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==(o=i.options)?void 0:o.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=n(a);return!!s.length&&(e.setProps({options:s}),!0)}l.d(t,{NI:()=>s,ZY:()=>o,di:()=>i,xO:()=>r,yg:()=>a})},13940(e,t,l){l.d(t,{E4:()=>i,Gj:()=>d,a_:()=>n,eo:()=>p,w7:()=>r});let n="__custom__";function o(e){return`${n}:${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 n=l.type,o=l.interface;return"belongsToMany"===n||"hasMany"===n||"belongsToArray"===n||"m2m"===o||"o2m"===o||"mbm"===o}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,n=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==n?void 0:n.fieldPath)??t.fieldPath,d=(null==n?void 0:n.associationPathName)??t.associationPathName,u=null==r?void 0:r.name,c=a(s),p=a(d),h=a(u),m=new Set;return c&&m.add(c),p&&(c?c.startsWith(`${p}.`)?m.add(c):m.add(`${p}.${c}`):m.add(p)),h&&m.add(o(h)),Array.from(m)}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 n=t.grid;if(!n||"object"!=typeof n)return[];let o=n.subModels;if(!o||"object"!=typeof o)return[];let i=o.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 n=e=>{if(!Array.isArray(e))return null;for(let t of e){if(s(t).some(e=>e===l))return t;let e=n(c(t));if(e)return e}return null};return n(u(e))}},53869(e,t,l){l.d(t,{_:()=>o});var n=l(13595);function o(e,t,l){let o;if(!l||!Array.isArray(l))return null;let i=l.find(e=>(null==e?void 0:e.value)===t),r=null==i?void 0:i.schema,a=null==r?void 0:r["x-component"];if(!a)return null;if("DateFilterDynamicComponent"===a)o=n.DateFilterDynamicComponent;else{var s;o=null==e||null==(s=e.getComponent)?void 0:s.call(e,a)}return o?{Comp:o,props:(null==r?void 0:r["x-component-props"])||{}}:null}},25359(e,t,l){l.d(t,{ON:()=>i,jI:()=>o});let n="__saveStepParamsWithSubModels";function o(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");e[n]=!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[n])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[n]}}},15892(e,t,l){l.d(t,{P:()=>y,z:()=>b});var n=l(50467),o=l(74848),i=l(95243),r=l(11869),a=l(40098),s=l.n(a),d=l(96540),u=l(42443),c=l(39580),p=l(2117),h=l(92275),m=l(18492),f=l(27941);let g=()=>{let{t:e}=(0,m.B)(),t=(0,r.useFlowModel)(),l=t.context.blockModel.collection,n=l.dataSource,i=(0,d.useMemo)(()=>{let t=`${e(n.displayName||n.key)} > `,o=l?`${e(l.title)||l.name||l.tableName} `:"";return`${t}${o}`},[]),{actionName:a}=t.forbidden,u=(0,d.useMemo)(()=>e('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:i,actionName:e(s().capitalize(a))}).replaceAll("&gt;",">"),[a,i,e]);return(0,o.jsx)(f.t,{children:(0,o.jsx)(h.Ay,{status:"403",subTitle:u})})};function v(){let{t:e}=(0,m.B)(),t=(0,r.useFlowModel)(),l=t.dataSource,n=(0,d.useMemo)(()=>{let n=`${e(l.displayName||l.key)} > `,o=t.resource.resourceName;return`${n}${o}`},[]),i=(0,d.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)(f.t,{children:(0,o.jsx)(h.Ay,{status:"404",subTitle:i})})}let y={new:"new",one:"one",many:"many",select:"select",filter:"filter",oam:["one","many"],subForm:"subForm",bulkEditForm:"bulkEditForm"};class b extends r.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 s().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)(u.A,{title:this.context.t("The block is hidden and only visible when the UI Editor is active"),children:(0,o.jsx)(c.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,r.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)(v,{}):(0,o.jsx)(c.tn,{ref:this.context.ref,...this.decoratorProps,children:(0,o.jsx)(this.ObservedRenderComponent,{})})}constructor(...e){super(...e),(0,n._)(this,"decoratorProps",(0,i.observable)({})),(0,n._)(this,"_defaultCustomModelClasses",{}),(0,n._)(this,"customModelClasses",{}),(0,n._)(this,"collectionRequired",!1),(0,n._)(this,"ObservedRenderComponent",null),(0,n._)(this,"activeFilterSources",new Map)}}(0,n._)(b,"scene",void 0),b.registerFlow({key:"cardSettings",title:(0,r.tExpr)("Card settings"),steps:{titleDescription:{title:(0,r.tExpr)("Title & description"),uiSchema:{title:{"x-component":"Input","x-decorator":"FormItem",title:(0,r.tExpr)("Title")},description:{"x-component":"Input.TextArea","x-decorator":"FormItem",title:(0,r.tExpr)("Description")}},handler(e,t){let l=e.t(t.title,{ns:"lm-flow-engine"}),n=e.t(t.description,{ns:"lm-flow-engine"});e.model.setDecoratorProps({title:l,description:n})}},linkageRules:{use:"blockLinkageRules"},blockHeight:{use:"blockHeight"}}}),b.define({hide:!0,label:(0,r.tExpr)("Other blocks")}),r.FlowModel.registerEvents({beforeRender:{title:(0,r.tExpr)("Before render"),name:"beforeRender",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":p.H}},handler:p.b}})},52175(e,t,l){l.d(t,{t:()=>u});var n=l(50467),o=l(11869),i=l(40098),r=l.n(i),a=l(42632),s=l(94130),d=l(5679);class u extends d.R{onMount(){super.onMount(),this.previousBeforeRenderHash=this.context.location.search}getDirtyTrackingVersion(e,t,l,n){var o;let i=new Set,r=(null==l||null==(o=l.getResourceName)?void 0:o.call(l))||n.associationName||n.collectionName;r&&i.add(String(r)),n.associationName&&i.add(String(n.associationName)),n.collectionName&&i.add(String(n.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(),n=t.getDataSourceKey()||l.dataSourceKey||"main",o=this.context.engine,i=this.getDirtyTrackingVersion(o,n,t,l);if(e){if(this.dirtyRefreshing)return;this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(o,n,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(o,n,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1}))}static filterCollection(e){return!!e.filterTargetKey}static isCollectionAvailable(e){if(!e)return!1;let t=(0,s.b1)(this);return(0,s.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 r().merge({},l,t)}return r().merge({},this.meta.createModelOptions,t)},l=e=>this.name+e,{dataSourceKey:n,collectionName:i,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:n=>e.getCollections().map(n=>{if(!this.filterCollection(n)||!this.isCollectionAvailable(n))return null;let o={dataSourceKey:n.dataSourceKey,collectionName:n.name};return{key:l(`ds-${e.key}.${n.name}`),label:n.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}}).filter(Boolean)}).filter(Boolean),u=e=>1===d.length?d[0].children(e):d;if(!i)return u(e);if(this._isScene("select")){let o={dataSourceKey:n,collectionName:i};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let r=e.dataSourceManager.getCollection(n,i),s=[];return this.isCollectionAvailable(r)&&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:n,collectionName:i};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let r=[],d=e.dataSourceManager.getCollection(n,i);return this.isCollectionAvailable(d)&&r.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),null!=s&&r.push({key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(n,i).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 i={dataSourceKey:n,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:i}}})}}).filter(Boolean)}),r.push({key:l("others-collections"),label:"Other collections",children:u(e)}),r}let c=[{key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(n,i).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 i={dataSourceKey:n,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:i}}})}}).filter(Boolean)},{key:l("others-records"),label:"Other records",children:u(e)}];if(this._isScene("one")){let o=e.dataSourceManager.getCollection(n,i);if(!o||!this.filterCollection(o)||!this.isCollectionAvailable(o))return c;let r={dataSourceKey:n,collectionName:i,filterByTk:"{{ctx.view.inputArgs.filterByTk}}"};a&&(r.associationName=a,r.sourceId="{{ctx.view.inputArgs.sourceId}}"),c.unshift({key:l("current-record"),label:"Current record",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:r}}})})}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 n=this.context.engine;if(!(null==n?void 0:n.getDataSourceDirtyVersion))return;let o=(null==(l=t.getDataSourceKey)?void 0:l.call(t))||e.dataSourceKey||"main";this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,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,n,o,i,r;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==(i=this.context)||null==(o=i.dataSourceManager)||null==(n=o.getDataSources)?void 0:n.call(o).length)||0,c=null==(r=this.collection)?void 0:r.title;if(this.association){let e=this.resource.getResourceName(),t=this.dataSource.getCollection(e.split(".")[0]);return(0,a.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c,sourceCollectionTitle:t.title,associationTitle:this.association.title})}return(0,a.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c})}addAppends(e){var t,l;let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)if(e.includes(".")){let[l,o]=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}.${o}`);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)`)}n&&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)`),n&&this.resource.refresh())}}constructor(...e){super(...e),(0,n._)(this,"isManualRefresh",!1),(0,n._)(this,"collectionRequired",!0),(0,n._)(this,"previousBeforeRenderHash",void 0),(0,n._)(this,"lastSeenDirtyVersion",null),(0,n._)(this,"dirtyRefreshing",!1)}}u.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)}}}}),u.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()}}}}),u.registerFlow({key:"dataLoadingModeSettings",sort:800,title:(0,o.tExpr)("Set data loading mode"),steps:{dataLoadingMode:{use:"dataLoadingMode"}}}),u.define({hide:!0})},5679(e,t,l){l.d(t,{R:()=>i});var n=l(11869),o=l(15892);class i extends o.z{}i.define({hide:!0,label:(0,n.tExpr)("Data blocks"),async children(e){let t=await (0,n.buildSubModelItems)(i)(e),{collectionName:l,filterByTk:o,scene:r}=e.view.inputArgs;return t.filter(t=>{var n,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&&!o?null==(c=p._isScene)?void 0:c.call(p,"new"):!p._isScene||!(null==(n=p._isScene)?void 0:n.call(p,"select"))&&!(null==(i=p._isScene)?void 0:i.call(p,"subForm"))&&!(null==(a=p._isScene)?void 0:a.call(p,"bulkEditForm"))})}})},81486(e,t,l){l.d(t,{o:()=>o});var n=l(11869);class o extends n.FlowModel{static resolveUse(e,t,l){var n,o;let i=null==e||null==(o=e.stepParams)||null==(n=o.fieldBinding)?void 0:n.use;return i&&i!==(null==e?void 0:e.use)?i:null==e?void 0:e.use}}},23235(e,t,l){l.d(t,{j:()=>o});var n=l(11869);class o extends n.FlowModel{}o.registerFlow({key:"popupSettings",on:"click",steps:{openView:{use:"openView",defaultParams:e=>({mode:"embed",preventClose:!0,pageModelClass:"RootPageModel"})}}})},13595(e,t,l){l.r(t),l.d(t,{DateFilterDynamicComponent:()=>A});var n=l(74848),o=l(96540),i=l(35710),r=l(71500),a=l(84626),s=l(36492),d=l(63718),u=l(22803),c=l(11869),p=l(2077),h=l(96436),m=l(37985),f=l(40098),g=l.n(f);let v=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,y=(e,t)=>{if(!e)return null;if(h.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,h.dayjs)(e).format(t),n=(0,h.dayjs)(l,t);return n.isValid()?n:(0,h.dayjs)(e)}let l=(0,h.dayjs)(e,t);if(l.isValid())return l;let n=(0,h.dayjs)(e);return n.isValid()?n:null},b=e=>{let{value:t,picker:l="date",format:i,showTime:r,timeFormat:a}=e,s=(0,c.useFlowEngine)(),d=s.translate.bind(s),u=(0,p.fD)(),f=[{label:d("Today"),value:u.today},{label:d("Last week"),value:u.lastWeek},{label:d("This week"),value:u.thisWeek},{label:d("Next week"),value:u.nextWeek},{label:d("Last month"),value:u.lastMonth},{label:d("This month"),value:u.thisMonth},{label:d("Next month"),value:u.nextMonth},{label:d("Last quarter"),value:u.lastQuarter},{label:d("This quarter"),value:u.thisQuarter},{label:d("Next quarter"),value:u.nextQuarter},{label:d("Last year"),value:u.lastYear},{label:d("This year"),value:u.thisYear},{label:d("Next year"),value:u.nextYear},{label:d("Last 7 days"),value:u.last7Days},{label:d("Next 7 days"),value:u.next7Days},{label:d("Last 30 days"),value:u.last30Days},{label:d("Next 30 days"),value:u.next30Days},{label:d("Last 90 days"),value:u.last90Days},{label:d("Next 90 days"),value:u.next90Days}],b=t?(0,p.Pn)(null==t?void 0:t[0],l):l,x=b===l&&i?i:(0,h.getPickerFormat)(b),w="date"===b?v(x):x,S=(0,h.getDateTimeFormat)(b,w,r,a),M={utc:!0,presets:f,...e,format:S,picker:b,showTime:!!r&&{defaultValue:[(0,h.dayjs)("00:00:00","HH:mm:ss"),(0,h.dayjs)("23:59:59","HH:mm:ss")]}},F=(0,o.useMemo)(()=>g().castArray(e.value).map(e=>y(e,S)),[e.value,S]);return(0,n.jsx)(m.A.RangePicker,{...M,style:{flex:1,...null==M?void 0:M.style},value:F})},x=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,w=(e,t)=>{if(!e)return null;if(h.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,h.dayjs)(e).format(t),n=(0,h.dayjs)(l,t);return n.isValid()?n:(0,h.dayjs)(e)}let l=(0,h.dayjs)(e,t);if(l.isValid())return l;let n=(0,h.dayjs)(e);return n.isValid()?n:null},S=e=>{let{picker:t="date",format:l,showTime:i,timeFormat:r,onChange:d}=e,u=(0,c.useFlowContext)(),f=Array.isArray(e.value)?e.value[0]:e.value,g=f?(0,p.Pn)(f,t):t,[v,y]=(0,o.useState)(g),b=u.model.translate.bind(u.model),S=e=>{let n=e===t&&l?l:(0,h.getPickerFormat)(e),o="date"===e?x(n):n;return(0,h.getDateTimeFormat)(e,o,i,r)},M=(0,o.useMemo)(()=>S(v),[l,t,i,v,r]),F=(0,o.useMemo)(()=>w(f,M),[f,M]),A={utc:!0,inputReadOnly:u.isMobileLayout,...e,underFilter:!0,showTime:!!i&&{defaultValue:(0,h.dayjs)("00:00:00","HH:mm:ss")},format:M,picker:v};return(0,n.jsxs)(a.A.Compact,{style:{width:"100%"},children:[(0,n.jsx)(s.A,{style:{width:"100px"},popupMatchSelectWidth:!1,value:v,options:[{label:b("Date"),value:"date"},{label:b("Month"),value:"month"},{label:b("Quarter"),value:"quarter"},{label:b("Year"),value:"year"}],onChange:e=>{let t=S(e),l=M;if(y(e),!f||!d)return;let n=w(f,l);n&&n.isValid()&&d(n,n.format(t))}}),(0,n.jsx)(m.A,{...A,style:{flex:1,...null==A?void 0:A.style},value:F})]})},M=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},F=e=>{let{isRange:t,defaultValue:l,onChange:i,...r}=e,a=(0,o.useCallback)((e,t)=>i(t),[i]);return t?(0,n.jsx)(b,{...r,onChange:a}):(0,n.jsx)(S,{...r,onChange:a})},A=e=>{let{value:t,onChange:l,includeNow:p=!1,...h}=e,m=(0,c.useFlowEngine)(),f=m.translate.bind(m),{token:g}=i.A.useToken(),[v,y]=(0,o.useState)(!1),b=(0,o.useMemo)(()=>M(f,p),[f,p]),x=e=>{if(y(!1),"exact"===e)return l(void 0);let t={type:e};["past","next"].includes(e)&&(t.number=1,t.unit="day"),l(t)},w=()=>{let e=b.slice(0,3),t=b.slice(3),l=(0,u.css)`
779
+ `,children:"x"})})})]})};class hs{render(e,t){if(!e)return null;try{return(0,A.jsx)(hl,{value:e,...t})}catch(e){return console.error("渲染失败:",e),(0,A.jsxs)("pre",{style:{color:"red"},children:["Markdown 渲染错误:",e.message]})}}edit(e){try{return(0,A.jsx)(ha,{...e})}catch(e){return(0,A.jsxs)("pre",{style:{color:"red"},children:["Markdown 编辑器加载错误:",e.message]})}}}var hd=l(23155);class hu extends hd.HX{transformLiquidContext(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};for(let l of e){let e=l.replace(/^ctx\./,"").split("."),n=t;for(let t=0;t<e.length;t++){let o=e[t];t===e.length-1?n[o]=`{{${l}}}`:(n[o]=n[o]||{},n=n[o])}}return t}async render(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{return await this.parseAndRender(e,t)}catch(e){return console.error("[Liquid] 模板解析失败:",e),`<pre style="color:red;">Liquid 模板错误:${e.message}</pre>`}}isFieldUsed(e,t){return t.some(t=>t.replace(/^ctx\./,"").endsWith(e))}enrichArrayFieldsSelective(e,t){if(e&&"object"==typeof e)for(let l in e){let n=e[l];if(Array.isArray(n)&&n.length&&"object"==typeof n[0]){let e=n;Object.keys(e[0]).filter(n=>["string","number","boolean"].includes(typeof e[0][n])&&this.isFieldUsed(`${l}.${n}`,t)).forEach(t=>{e[t]=e.map(e=>null!=e[t]?e[t]:"").join(",")}),e.forEach(e=>this.enrichArrayFieldsSelective(e,t))}else n&&"object"==typeof n&&this.enrichArrayFieldsSelective(n,t)}}async renderWithFullContext(e,t){if(e)try{"number"==typeof e&&(e=String(e)),e=e.replace(/\{\{\s*t\s*\(\s*(['"])([\s\S]*?)\1\s*(?:,\s*\{\s*ns\s*:\s*(['"])([\s\S]*?)\3\s*\}\s*)?\)\s*\}\}/g,(e,l,n,o,i)=>{try{let e=i?t.t(n,{ns:i}):t.t(n);if(null==e)return"";return/[{][{%]/.test(e)?`{% raw %}${e}{% endraw %}`:e}catch{return e}});let l=await this.fullVariables(e),n=l.map(e=>this.transformLiquidContext([e])),o=(await Promise.all(n.map(e=>t.resolveJsonTemplate(e)))).reduce((e,t)=>(0,P.merge)(e,t),{});return this.enrichArrayFieldsSelective(o,l),await this.render(e,{ctx:o})}catch(t){return e}}constructor(e){super({extname:".liquid",cache:!0,...e}),this.registerFilter("t",e.ctx.t),this.registerFilter("log",e=>(console.log("[Liquid log]",e),e))}}var hc=l(95267),hp=l(16631),hh=l(44124),hm=l(60183);class hf extends x.Plugin{async load(){this.app.addComponents({FlowRoute:O.default}),this.app.flowEngine.setModelRepository(new pN(this.app));let e=Object.fromEntries(Object.entries(g).filter(e=>{let[,t]=e;return"function"==typeof t&&t.prototype instanceof y.FlowModel}));this.flowEngine.registerModels(e),this.flowEngine.registerActions(v),this.flowEngine.registerActions(f),this.flowEngine.flowSettings.registerComponents({IconPicker:b.ar,DefaultValue:pT,FlowSettingsVariableTextArea:S.n}),this.flowEngine.flowSettings.addToolbarItem({key:"dynamic-flows-editor",component:pz,visible:e=>e.getEvents().size>0,sort:0});let t=new hs;this.flowEngine.context.defineProperty("markdown",{get:()=>t});let n=new hu({ctx:this.flowEngine.context});this.flowEngine.context.defineProperty("liquid",{get:()=>n}),this.flowEngine.context.defineMethod("previewRunJS",async function(e,t){let n=await Promise.resolve().then(l.bind(l,85387));return await n.previewRunJS(String(e??""),this,{version:t})},{description:"Preview/diagnose a RunJS snippet (lint + sandbox execution).",detail:"(code: string, version?: string) => Promise<{ success: boolean; message: string }>",params:[{name:"code",type:"string",description:"RunJS code to preview."},{name:"version",type:"string",description:"RunJS version override (e.g. v1/v2)."}],returns:{type:"Promise<PreviewRunJSResult>",description:"Preview result."},completion:{insertText:"await ctx.previewRunJS('console.log(1)', 'v2')"}})}}},51612(e,t,l){l.d(t,{g:()=>f});var n=l(74848),o=l(96540),i=l(40098);let r=l.n(i)().memoize(async e=>e?(await Promise.all([l.e("2512"),l.e("32")]).then(l.bind(l,86419))).default.render(e):e);function a(e){let[t,l]=(0,o.useState)(""),[n,i]=(0,o.useState)(!0);return(0,o.useEffect)(()=>{i(!0),r(e).then(e=>{l(e),i(!1)}).catch(e=>console.log(e))},[e]),{html:t,loading:n}}function s(e){let t=e,l=document.createElement("div");l.innerHTML=t;let n=l.innerText;return l=null,(null==n?void 0:n.replace(/[\n\r]/g,""))||""}var d=l(24978),u=l(22803),c=l(11869),p=l(35710);let h=()=>{let e=(0,c.useFlowContext)(),{token:t}=p.A.useToken(),l=!!e.isDarkTheme,n=new d.q(t.colorFillAlter).onBackground(t.colorBgContainer).toHexShortString(),o={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:n,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:n,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return(0,u.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:o})};var m=l(42443);let f=e=>{let{textOnly:t,overflowMode:l,style:i}=e,r=h(),{html:d=""}=a(e.value),u=s(d),c="ellipsis"===l,p=(0,o.useRef)(null),[f,g]=(0,o.useState)(!1);(0,o.useEffect)(()=>{if(p.current){let e=p.current;g(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight)}},[d,i,l]);let v={...i||{},...c?{display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-word",cursor:"default"}:{}},y=(0,n.jsx)("div",{ref:p,className:`${r} nb-markdown`,dangerouslySetInnerHTML:{__html:t?u:d},style:v});return c&&f?(0,n.jsx)(m.A,{title:(0,n.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:y}):y}},85352(e,t,l){function n(){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,n=void 0!==t.value,o=l?t.label:String(t.value??""),i=n?t.value:o,r={label:o,value:i};return t.color&&(r.color=t.color),t.icon&&(r.icon=t.icon),r}return{label:String(e),value:e}}):[]}function o(){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 o(n(e),t)}function r(e,t){let l=null==t?void 0:t.mode,n="multiple"===l||"tags"===l||(null==t?void 0:t.multiple)===!0;return Array.isArray(e)?e.filter(e=>""!==e&&null!=e):""===e||null==e?n?[]: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 n=t.find(t=>(null==t?void 0:t.value)===e);return n?{value:e,label:n.label}:{value:e,label:(null==e||null==(l=e.toString)?void 0:l.call(e))??e}})}function s(e,t){var l,o,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==(o=i.options)?void 0:o.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=n(a);return!!s.length&&(e.setProps({options:s}),!0)}l.d(t,{NI:()=>s,ZY:()=>o,di:()=>i,xO:()=>r,yg:()=>a})},13940(e,t,l){l.d(t,{E4:()=>i,Gj:()=>d,a_:()=>n,eo:()=>p,w7:()=>r});let n="__custom__";function o(e){return`${n}:${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 n=l.type,o=l.interface;return"belongsToMany"===n||"hasMany"===n||"belongsToArray"===n||"m2m"===o||"o2m"===o||"mbm"===o}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,n=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==n?void 0:n.fieldPath)??t.fieldPath,d=(null==n?void 0:n.associationPathName)??t.associationPathName,u=null==r?void 0:r.name,c=a(s),p=a(d),h=a(u),m=new Set;return c&&m.add(c),p&&(c?c.startsWith(`${p}.`)?m.add(c):m.add(`${p}.${c}`):m.add(p)),h&&m.add(o(h)),Array.from(m)}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 n=t.grid;if(!n||"object"!=typeof n)return[];let o=n.subModels;if(!o||"object"!=typeof o)return[];let i=o.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 n=e=>{if(!Array.isArray(e))return null;for(let t of e){if(s(t).some(e=>e===l))return t;let e=n(c(t));if(e)return e}return null};return n(u(e))}},53869(e,t,l){l.d(t,{_:()=>o});var n=l(13595);function o(e,t,l){let o;if(!l||!Array.isArray(l))return null;let i=l.find(e=>(null==e?void 0:e.value)===t),r=null==i?void 0:i.schema,a=null==r?void 0:r["x-component"];if(!a)return null;if("DateFilterDynamicComponent"===a)o=n.DateFilterDynamicComponent;else{var s;o=null==e||null==(s=e.getComponent)?void 0:s.call(e,a)}return o?{Comp:o,props:(null==r?void 0:r["x-component-props"])||{}}:null}},25359(e,t,l){l.d(t,{ON:()=>i,jI:()=>o});let n="__saveStepParamsWithSubModels";function o(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");e[n]=!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[n])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[n]}}},15892(e,t,l){l.d(t,{P:()=>y,z:()=>b});var n=l(50467),o=l(74848),i=l(95243),r=l(11869),a=l(40098),s=l.n(a),d=l(96540),u=l(42443),c=l(39580),p=l(2117),h=l(92275),m=l(18492),f=l(27941);let g=()=>{let{t:e}=(0,m.B)(),t=(0,r.useFlowModel)(),l=t.context.blockModel.collection,n=l.dataSource,i=(0,d.useMemo)(()=>{let t=`${e(n.displayName||n.key)} > `,o=l?`${e(l.title)||l.name||l.tableName} `:"";return`${t}${o}`},[]),{actionName:a}=t.forbidden,u=(0,d.useMemo)(()=>e('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:i,actionName:e(s().capitalize(a))}).replaceAll("&gt;",">"),[a,i,e]);return(0,o.jsx)(f.t,{children:(0,o.jsx)(h.Ay,{status:"403",subTitle:u})})};function v(){let{t:e}=(0,m.B)(),t=(0,r.useFlowModel)(),l=t.dataSource,n=(0,d.useMemo)(()=>{let n=`${e(l.displayName||l.key)} > `,o=t.resource.resourceName;return`${n}${o}`},[]),i=(0,d.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)(f.t,{children:(0,o.jsx)(h.Ay,{status:"404",subTitle:i})})}let y={new:"new",one:"one",many:"many",select:"select",filter:"filter",oam:["one","many"],subForm:"subForm",bulkEditForm:"bulkEditForm"};class b extends r.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 s().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)(u.A,{title:this.context.t("The block is hidden and only visible when the UI Editor is active"),children:(0,o.jsx)(c.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,r.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)(v,{}):(0,o.jsx)(c.tn,{ref:this.context.ref,...this.decoratorProps,children:(0,o.jsx)(this.ObservedRenderComponent,{})})}constructor(...e){super(...e),(0,n._)(this,"decoratorProps",(0,i.observable)({})),(0,n._)(this,"_defaultCustomModelClasses",{}),(0,n._)(this,"customModelClasses",{}),(0,n._)(this,"collectionRequired",!1),(0,n._)(this,"ObservedRenderComponent",null),(0,n._)(this,"activeFilterSources",new Map)}}(0,n._)(b,"scene",void 0),b.registerFlow({key:"cardSettings",title:(0,r.tExpr)("Card settings"),steps:{titleDescription:{title:(0,r.tExpr)("Title & description"),uiSchema:{title:{"x-component":"Input","x-decorator":"FormItem",title:(0,r.tExpr)("Title")},description:{"x-component":"Input.TextArea","x-decorator":"FormItem",title:(0,r.tExpr)("Description")}},handler(e,t){let l=e.t(t.title,{ns:"lm-flow-engine"}),n=e.t(t.description,{ns:"lm-flow-engine"});e.model.setDecoratorProps({title:l,description:n})}},linkageRules:{use:"blockLinkageRules"},blockHeight:{use:"blockHeight"}}}),b.define({hide:!0,label:(0,r.tExpr)("Other blocks")}),r.FlowModel.registerEvents({beforeRender:{title:(0,r.tExpr)("Before render"),name:"beforeRender",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":p.H}},handler:p.b}})},52175(e,t,l){l.d(t,{t:()=>u});var n=l(50467),o=l(11869),i=l(40098),r=l.n(i),a=l(42632),s=l(94130),d=l(5679);class u extends d.R{onMount(){super.onMount(),this.previousBeforeRenderHash=this.context.location.search}getDirtyTrackingVersion(e,t,l,n){var o;let i=new Set,r=(null==l||null==(o=l.getResourceName)?void 0:o.call(l))||n.associationName||n.collectionName;r&&i.add(String(r)),n.associationName&&i.add(String(n.associationName)),n.collectionName&&i.add(String(n.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(),n=t.getDataSourceKey()||l.dataSourceKey||"main",o=this.context.engine,i=this.getDirtyTrackingVersion(o,n,t,l);if(e){if(this.dirtyRefreshing)return;this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(o,n,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(o,n,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1}))}static filterCollection(e){return!!e.filterTargetKey}static isCollectionAvailable(e){if(!e)return!1;let t=(0,s.b1)(this);return(0,s.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 r().merge({},l,t)}return r().merge({},this.meta.createModelOptions,t)},l=e=>this.name+e,{dataSourceKey:n,collectionName:i,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:n=>e.getCollections().map(n=>{if(!this.filterCollection(n)||!this.isCollectionAvailable(n))return null;let o={dataSourceKey:n.dataSourceKey,collectionName:n.name};return{key:l(`ds-${e.key}.${n.name}`),label:n.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}}).filter(Boolean)}).filter(Boolean),u=e=>1===d.length?d[0].children(e):d;if(!i)return u(e);if(this._isScene("select")){let o={dataSourceKey:n,collectionName:i};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let r=e.dataSourceManager.getCollection(n,i),s=[];return this.isCollectionAvailable(r)&&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:n,collectionName:i};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let r=[],d=e.dataSourceManager.getCollection(n,i);return this.isCollectionAvailable(d)&&r.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),null!=s&&r.push({key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(n,i).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 i={dataSourceKey:n,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:i}}})}}).filter(Boolean)}),r.push({key:l("others-collections"),label:"Other collections",children:u(e)}),r}let c=[{key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(n,i).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 i={dataSourceKey:n,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:i}}})}}).filter(Boolean)},{key:l("others-records"),label:"Other records",children:u(e)}];if(this._isScene("one")){let o=e.dataSourceManager.getCollection(n,i);if(!o||!this.filterCollection(o)||!this.isCollectionAvailable(o))return c;let r={dataSourceKey:n,collectionName:i,filterByTk:"{{ctx.view.inputArgs.filterByTk}}"};a&&(r.associationName=a,r.sourceId="{{ctx.view.inputArgs.sourceId}}"),c.unshift({key:l("current-record"),label:"Current record",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:r}}})})}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 n=this.context.engine;if(!(null==n?void 0:n.getDataSourceDirtyVersion))return;let o=(null==(l=t.getDataSourceKey)?void 0:l.call(t))||e.dataSourceKey||"main";this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,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,n,o,i,r;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==(i=this.context)||null==(o=i.dataSourceManager)||null==(n=o.getDataSources)?void 0:n.call(o).length)||0,c=null==(r=this.collection)?void 0:r.title;if(this.association){let e=this.resource.getResourceName(),t=this.dataSource.getCollection(e.split(".")[0]);return(0,a.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c,sourceCollectionTitle:t.title,associationTitle:this.association.title})}return(0,a.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c})}addAppends(e){var t,l;let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)if(e.includes(".")){let[l,o]=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}.${o}`);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)`)}n&&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)`),n&&this.resource.refresh())}}constructor(...e){super(...e),(0,n._)(this,"isManualRefresh",!1),(0,n._)(this,"collectionRequired",!0),(0,n._)(this,"previousBeforeRenderHash",void 0),(0,n._)(this,"lastSeenDirtyVersion",null),(0,n._)(this,"dirtyRefreshing",!1)}}u.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)}}}}),u.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()}}}}),u.registerFlow({key:"dataLoadingModeSettings",sort:800,title:(0,o.tExpr)("Set data loading mode"),steps:{dataLoadingMode:{use:"dataLoadingMode"}}}),u.define({hide:!0})},5679(e,t,l){l.d(t,{R:()=>i});var n=l(11869),o=l(15892);class i extends o.z{}i.define({hide:!0,label:(0,n.tExpr)("Data blocks"),async children(e){let t=await (0,n.buildSubModelItems)(i)(e),{collectionName:l,filterByTk:o,scene:r}=e.view.inputArgs;return t.filter(t=>{var n,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&&!o?null==(c=p._isScene)?void 0:c.call(p,"new"):!p._isScene||!(null==(n=p._isScene)?void 0:n.call(p,"select"))&&!(null==(i=p._isScene)?void 0:i.call(p,"subForm"))&&!(null==(a=p._isScene)?void 0:a.call(p,"bulkEditForm"))})}})},81486(e,t,l){l.d(t,{o:()=>o});var n=l(11869);class o extends n.FlowModel{static resolveUse(e,t,l){var n,o;let i=null==e||null==(o=e.stepParams)||null==(n=o.fieldBinding)?void 0:n.use;return i&&i!==(null==e?void 0:e.use)?i:null==e?void 0:e.use}}},23235(e,t,l){l.d(t,{j:()=>o});var n=l(11869);class o extends n.FlowModel{}o.registerFlow({key:"popupSettings",on:"click",steps:{openView:{use:"openView",defaultParams:e=>({mode:"embed",preventClose:!0,pageModelClass:"RootPageModel"})}}})},13595(e,t,l){l.r(t),l.d(t,{DateFilterDynamicComponent:()=>A});var n=l(74848),o=l(96540),i=l(35710),r=l(71500),a=l(84626),s=l(36492),d=l(63718),u=l(22803),c=l(11869),p=l(2077),h=l(96436),m=l(37985),f=l(40098),g=l.n(f);let v=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,y=(e,t)=>{if(!e)return null;if(h.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,h.dayjs)(e).format(t),n=(0,h.dayjs)(l,t);return n.isValid()?n:(0,h.dayjs)(e)}let l=(0,h.dayjs)(e,t);if(l.isValid())return l;let n=(0,h.dayjs)(e);return n.isValid()?n:null},b=e=>{let{value:t,picker:l="date",format:i,showTime:r,timeFormat:a}=e,s=(0,c.useFlowEngine)(),d=s.translate.bind(s),u=(0,p.fD)(),f=[{label:d("Today"),value:u.today},{label:d("Last week"),value:u.lastWeek},{label:d("This week"),value:u.thisWeek},{label:d("Next week"),value:u.nextWeek},{label:d("Last month"),value:u.lastMonth},{label:d("This month"),value:u.thisMonth},{label:d("Next month"),value:u.nextMonth},{label:d("Last quarter"),value:u.lastQuarter},{label:d("This quarter"),value:u.thisQuarter},{label:d("Next quarter"),value:u.nextQuarter},{label:d("Last year"),value:u.lastYear},{label:d("This year"),value:u.thisYear},{label:d("Next year"),value:u.nextYear},{label:d("Last 7 days"),value:u.last7Days},{label:d("Next 7 days"),value:u.next7Days},{label:d("Last 30 days"),value:u.last30Days},{label:d("Next 30 days"),value:u.next30Days},{label:d("Last 90 days"),value:u.last90Days},{label:d("Next 90 days"),value:u.next90Days}],b=t?(0,p.Pn)(null==t?void 0:t[0],l):l,x=b===l&&i?i:(0,h.getPickerFormat)(b),w="date"===b?v(x):x,S=(0,h.getDateTimeFormat)(b,w,r,a),M={utc:!0,presets:f,...e,format:S,picker:b,showTime:!!r&&{defaultValue:[(0,h.dayjs)("00:00:00","HH:mm:ss"),(0,h.dayjs)("23:59:59","HH:mm:ss")]}},F=(0,o.useMemo)(()=>g().castArray(e.value).map(e=>y(e,S)),[e.value,S]);return(0,n.jsx)(m.A.RangePicker,{...M,style:{flex:1,...null==M?void 0:M.style},value:F})},x=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,w=(e,t)=>{if(!e)return null;if(h.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,h.dayjs)(e).format(t),n=(0,h.dayjs)(l,t);return n.isValid()?n:(0,h.dayjs)(e)}let l=(0,h.dayjs)(e,t);if(l.isValid())return l;let n=(0,h.dayjs)(e);return n.isValid()?n:null},S=e=>{let{picker:t="date",format:l,showTime:i,timeFormat:r,onChange:d}=e,u=(0,c.useFlowContext)(),f=Array.isArray(e.value)?e.value[0]:e.value,g=f?(0,p.Pn)(f,t):t,[v,y]=(0,o.useState)(g),b=u.model.translate.bind(u.model),S=e=>{let n=e===t&&l?l:(0,h.getPickerFormat)(e),o="date"===e?x(n):n;return(0,h.getDateTimeFormat)(e,o,i,r)},M=(0,o.useMemo)(()=>S(v),[l,t,i,v,r]),F=(0,o.useMemo)(()=>w(f,M),[f,M]),A={utc:!0,inputReadOnly:u.isMobileLayout,...e,underFilter:!0,showTime:!!i&&{defaultValue:(0,h.dayjs)("00:00:00","HH:mm:ss")},format:M,picker:v};return(0,n.jsxs)(a.A.Compact,{style:{width:"100%"},children:[(0,n.jsx)(s.A,{style:{width:"100px"},popupMatchSelectWidth:!1,value:v,options:[{label:b("Date"),value:"date"},{label:b("Month"),value:"month"},{label:b("Quarter"),value:"quarter"},{label:b("Year"),value:"year"}],onChange:e=>{let t=S(e),l=M;if(y(e),!f||!d)return;let n=w(f,l);n&&n.isValid()&&d(n,n.format(t))}}),(0,n.jsx)(m.A,{...A,style:{flex:1,...null==A?void 0:A.style},value:F})]})},M=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},F=e=>{let{isRange:t,defaultValue:l,onChange:i,...r}=e,a=(0,o.useCallback)((e,t)=>i(t),[i]);return t?(0,n.jsx)(b,{...r,onChange:a}):(0,n.jsx)(S,{...r,onChange:a})},A=e=>{let{value:t,onChange:l,includeNow:p=!1,...h}=e,m=(0,c.useFlowEngine)(),f=m.translate.bind(m),{token:g}=i.A.useToken(),[v,y]=(0,o.useState)(!1),b=(0,o.useMemo)(()=>M(f,p),[f,p]),x=e=>{if(y(!1),"exact"===e)return l(void 0);let t={type:e};["past","next"].includes(e)&&(t.number=1,t.unit="day"),l(t)},w=()=>{let e=b.slice(0,3),t=b.slice(3),l=(0,u.css)`
780
780
  padding: 3px 10px;
781
781
  cursor: pointer;
782
782
  white-space: nowrap;
@@ -1046,7 +1046,7 @@ ctx.render(<JsItem />);
1046
1046
  throw e;
1047
1047
  }
1048
1048
  })()`,n=new Compartment(this.globals);try{let e=n.evaluate(l),t=new Promise((e,t)=>setTimeout(()=>t(Error("Execution timed out")),this.timeoutMs)),o=await Promise.race([e,t]);return{success:!0,value:o}}catch(n){if(n instanceof o.sy||n instanceof o.zz)throw n;let t=a(e),l=s(n,t)&&t?d(n,t):n;return console.error(l),{success:!1,error:l,timeout:(null==l?void 0:l.message)==="Execution timed out"}}}constructor(e={}){var t,l;(0,n._)(this,"globals",void 0),(0,n._)(this,"timeoutMs",void 0);let o=e=>{if("u">typeof window&&"function"==typeof window[e])return window[e].bind(window);let t=globalThis[e];return"function"==typeof t?t.bind(globalThis):t},i=e.globals||{},r={};if(!Object.prototype.hasOwnProperty.call(i,"Blob"))try{let e=null==(t=i.window)?void 0:t.Blob;void 0!==e&&(r.Blob=e)}catch{}if(!Object.prototype.hasOwnProperty.call(i,"URL"))try{let e=null==(l=i.window)?void 0:l.URL;void 0!==e&&(r.URL=e)}catch{}this.globals={console,setTimeout:o("setTimeout"),clearTimeout:o("clearTimeout"),setInterval:o("setInterval"),clearInterval:o("clearInterval"),...r,...i},this.timeoutMs=e.timeoutMs??5e3}}},47451(e,t,l){l.d(t,{_:()=>i});var n=l(81440),o=l(16639);function i(e){let t=new n.$;Object.defineProperty(t,o.i6,{value:"view",configurable:!0}),e.modelRepository&&t.setModelRepository(e.modelRepository),t.context.addDelegate(e.context);let l=t.unlinkFromStack.bind(t);t.unlinkFromStack=function(){var e;return null==(e=t.disposeScheduler)||e.call(t),l()};let i=new Set(["_modelInstances","_applyFlowCache","executor","context",o.i6,"previousEngine","nextEngine","emitter","_modelOperationScheduler","getScheduler","scheduleModelOperation","disposeScheduler","unlinkFromStack","linkAfter","_previousEngine","_nextEngine","getModel","_destroyView","setDestroyView","destroyView"]),r={get(t,l,n){if(i.has(l))return Reflect.get(t,l,n);let o=Reflect.get(e,l,n);return"registerModels"===l&&"function"==typeof o?o.bind(e):o},set:(t,l,n)=>i.has(l)?Reflect.set(t,l,n):Reflect.set(e,l,n),has:(t,l)=>l in t||l in e};return t.linkAfter(e),new Proxy(t,r)}},64171(e,t,l){l.d(t,{Z:()=>o});var n=l(50467);class o{onActionRegistered(){}registerActions(e){for(let[,t]of Object.entries(e||{}))this.registerAction(t)}registerAction(e){if(!(null==e?void 0:e.name))throw Error("Action must have a name.");this.actions.has(e.name)&&console.warn(`Action '${e.name}' is already registered. It will be overwritten.`),this.actions.set(e.name,e),this.onActionRegistered()}constructor(){(0,n._)(this,"actions",new Map)}}},31102(e,t,l){l.d(t,{FC:()=>a,eI:()=>u,jP:()=>s});var n=l(74848),o=l(96540),i=l(42443),r=l(89013);let a={paddingBottom:0},s={marginBottom:12},d=["colon","dependencies","extra","getValueFromEvent","getValueProps","hasFeedback","help","htmlFor","initialValue","label","labelAlign","labelCol","messageVariables","name","normalize","noStyle","preserve","rules","tooltip","trigger","validateStatus","validateTrigger","valuePropName","wrapperCol","labelWidth","labelWrap","layout","required","showLabel"],u=e=>{let{children:t,showLabel:l=!0,labelWidth:u,...c}=e,p=Object.fromEntries(Object.entries(c).filter(e=>{let[t]=e;return!d.includes(t)})),h="function"==typeof t?t:o.Children.map(t,e=>o.isValidElement(e)?o.cloneElement(e,{...p}):e),{label:m,labelWrap:f,colon:g=!0,layout:v}=c,y=!v||"vertical"===v||f,b="vertical"===v?{width:u,...a}:{width:u},x=()=>l?y?(0,n.jsxs)("div",{style:{width:"100%",whiteSpace:"normal",wordBreak:"break-word",display:"flex",alignItems:"center",justifyContent:"flex-start",fontWeight:600},children:[(0,n.jsx)("span",{style:{flex:1},children:m}),g&&(0,n.jsx)("span",{style:{marginLeft:4,flexShrink:0},children:":"})]}):(0,n.jsx)(i.A,{title:m,children:(0,n.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",maxWidth:("number"==typeof u?u:120)-20,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",verticalAlign:"middle",fontWeight:600},children:[(0,n.jsx)("span",{style:{flexShrink:1,overflow:"hidden",textOverflow:"ellipsis"},children:m}),g&&(0,n.jsx)("span",{style:{marginLeft:4,flexShrink:0},children:":"})]})}):null;return(0,n.jsx)(r.A.Item,{...c,style:{...s,...c.style},labelCol:{style:b},layout:v,label:x(),colon:!1,extra:c.extra&&(0,n.jsx)("span",{style:{whiteSpace:"pre-wrap"},children:c.extra}),tooltip:c.tooltip&&{title:c.tooltip,overlayInnerStyle:{whiteSpace:"pre-line"}},children:h})}},61793(e,t,l){let n,o;l.d(t,{D:()=>w});var i=l(74848),r=l(4888),a=l(96540),s=l(42524),d=l(27253),u=l(35710);let c=(e,t)=>{let{getPrefixCls:l}=(0,a.useContext)(r.Ay.ConfigContext)||{};if("ConfigContext"in r.Ay)return(null==l?void 0:l(e,null==t?void 0:t.prefixCls))||"";{let l=(null==t?void 0:t.prefixCls)??"ant-";return`${l}${e??""}`}},{ConfigContext:p}=r.Ay,h=()=>(0,a.useContext)(p),m=u.A.useToken,f=(e,t)=>{let{fontFamily:l,fontSize:n}=e,o=`[class^="${t}"], [class*=" ${t}"]`;return{[o]:{fontFamily:l,fontSize:n,boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"},[o]:{boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}}}}},g=(n="nb-mobile-action-drawer",o=e=>{let{componentCls:t}=e;return{[t]:{".nb-mobile-action-drawer-header":{height:"var(--nb-mobile-page-header-height)",display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:`1px solid ${e.colorSplit}`,position:"sticky",top:0,backgroundColor:"white",zIndex:1e3,"& + .nb-grid-container > .nb-grid > .nb-grid-warp > .ant-btn":{margin:12}},".nb-mobile-action-drawer-placeholder":{display:"inline-block",padding:12,visibility:"hidden"},".nb-mobile-action-drawer-close-icon":{display:"inline-block",padding:12,cursor:"pointer"},".nb-mobile-action-drawer-body":{borderTopLeftRadius:8,borderTopRightRadius:8,maxHeight:"calc(100% - var(--nb-mobile-page-header-height))",overflowY:"auto",overflowX:"hidden",backgroundColor:e.colorBgLayout,"& > .nb-grid-container":{padding:`${e.paddingPageVertical}px ${e.paddingPageHorizontal}px`},".ant-tabs-nav":{marginBottom:"0px !important",padding:`0 ${e.paddingPageHorizontal+e.borderRadiusBlock/2}px`,backgroundColor:e.colorBgContainer},"& > .nb-grid-container > .nb-grid > .nb-grid-warp > .nb-grid-row:nth-last-child(2) .noco-card-item":{marginBottom:0,"& > .ant-card":{marginBottom:"0 !important"}}},".nb-mobile-action-drawer-footer":{padding:"8px var(--nb-mobile-page-tabs-content-padding)",display:"flex",alignItems:"center",justifyContent:"flex-end",position:"sticky",bottom:0,left:0,right:0,zIndex:1e3,borderTop:`1px solid ${e.colorSplit}`,backgroundColor:e.colorBgLayout,".ant-btn":{marginLeft:8}}}}},e=>{let{theme:t,token:l,hashId:i}=m(),{getPrefixCls:r,iconPrefixCls:u}=h(),p=c(n),g=r(),v=(0,s.useStyleRegister)({theme:t,token:l,hashId:i,path:["formily-antd",n,p,u]},()=>{let t=`.${p}`,n=o((0,d.merge)(l,{componentCls:t,prefixCls:p,iconCls:`.${u}`,antCls:`.${g}`}),e,{hashId:i,prefixCls:p,rootPrefixCls:g,iconPrefixCls:u});return[f(l,p),n]});return{wrapSSR:(0,a.useMemo)(()=>v,[t,l,i,p,u,g,e]),hashId:i,componentCls:p,rootPrefixCls:g}});var v=l(18492),y=l(22505);let{Popup:b}=(0,y.R)(()=>Promise.resolve().then(l.bind(l,77577)),"Popup"),{CloseOutline:x}=(0,y.R)(()=>l.e("3279").then(l.bind(l,38370)),"CloseOutline"),w=e=>{let{title:t,visible:l,onClose:n,children:o,minHeight:s,className:d,footer:u}=e,{t:c}=(0,v.B)(),{componentCls:p,hashId:h}=g(),m=(0,a.useMemo)(()=>({minHeight:s}),[s]),f=(0,a.useMemo)(()=>({token:{paddingPageHorizontal:8,paddingPageVertical:8,marginBlock:12,borderRadiusBlock:8,fontSize:14}}),[]);return(0,i.jsx)(r.Ay,{theme:f,children:(0,i.jsxs)(b,{className:`${p} ${h} ${d||""}`,visible:l,onClose:n,onMaskClick:n,bodyClassName:"nb-mobile-action-drawer-body",bodyStyle:{padding:0},maskStyle:m,style:m,destroyOnClose:!0,children:[(0,i.jsxs)("div",{className:"nb-mobile-action-drawer-header",children:[(0,i.jsx)("span",{className:"nb-mobile-action-drawer-placeholder",children:(0,i.jsx)(x,{})}),(0,i.jsx)("span",{children:t}),(0,i.jsx)("span",{className:"nb-mobile-action-drawer-close-icon",onClick:n,role:"button",tabIndex:0,"aria-label":c("Close"),children:(0,i.jsx)(x,{})})]}),o,u&&(0,i.jsx)("div",{className:"nb-mobile-action-drawer-footer",children:u})]})})}},96332(e,t,l){l.d(t,{openRequiredParamsStepFormDialog:()=>m});var n=l(74848),o=l(18220),i=l(95243),r=l(87959),a=l(71021),s=l(96540),d=l(29007),u=l(16296),c=l(48555);let p=(0,o.createSchemaField)(),h=e=>{let{model:t,requiredSteps:l,formStep:o,children:i}=e,r=l[(null==o?void 0:o.current)??0],a=s.useMemo(()=>{let{flowKey:e,step:l}=r,n=t.getFlow(e),o=new d.W5(t,e,"settings");return(0,c.wx)(o,(null==n?void 0:n.steps)||{},t,e),o.defineProperty("currentStep",{value:l}),o},[t,r]);return(0,n.jsx)(u.u,{value:a,children:i})},m=async e=>{let{model:t,dialogWidth:s=800,dialogTitle:m}=e,f=(0,c.lW)(t);if(m||f("Step parameter configuration"),!t)throw r.Ay.error(f("Invalid model provided")),Error(f("Invalid model provided"));return new Promise((e,r)=>{(async()=>{try{var g,v,y;let r=t.getFlows(),b=[];for(let[e,l]of r)for(let n in l.steps){let o=l.steps[n];if(o.paramsRequired||o.preset){let i=await (0,c.o7)(t,l,o);if(i){t.getStepParams(e,n);let r=!1;console.log(`Flow: ${e}, Step: ${n}, hasAllRequiredParams:`,r),r||b.push({flowKey:e,stepKey:n,step:o,uiSchema:i,title:o.title||n,flowTitle:l.title||e})}}}if(console.log("Required steps:",b),0===b.length)return void e({});let x={};for(let{flowKey:e,stepKey:l,step:n}of b){let o=t.getStepParams(e,l)||{},r={};n.use&&(r=(null==(y=t.flowEngine)||null==(v=y.getAction)?void 0:v.call(y,n.use)).defaultParams||{});let a=new d.W5(t,e,"settings"),s=t.getFlow(e);s&&(0,c.wx)(a,s.steps,t,e),a.defineProperty("currentStep",{value:n});let u=await (0,c.gG)(r,a),p=await (0,c.gG)(n.defaultParams,a),h={...(0,i.toJS)(u),...(0,i.toJS)(p),...(0,i.toJS)(o)};Object.keys(h).length>0&&(x[e]||(x[e]={}),x[e][l]=h)}let w={};b.forEach(e=>{let{flowKey:t,stepKey:l,uiSchema:n,title:o,flowTitle:i}=e;w[`${t}_${l}`]={type:"void","x-component":"FormStep.StepPane","x-component-props":{title:`${o}`,description:`Flow: ${i}`},properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:{[t]:{type:"object",properties:{[l]:{type:"object",properties:n}}}}}}}});let S=1===b.length?{type:"object",properties:{...Object.values(w)[0].properties}}:{type:"object",properties:{step:{type:"void","x-component":"FormStep","x-component-props":{formStep:"{{formStep}}"},properties:w}}},{FormDialog:M,FormStep:F}=await Promise.resolve().then(l.bind(l,20419)),A=b.length>1?F.createFormStep(0):null,k=t.flowEngine,C={formStep:A,totalSteps:b.length,requiredSteps:b,useFlowSettingsContext:u.s,...null==(g=k.flowSettings)?void 0:g.scopes},P=M({title:m||f("Step parameter configuration"),width:s,footer:null,destroyOnClose:!0},l=>{var i;let r=async()=>{try{await l.submit();let n=l.values;b.forEach(e=>{var l;let{flowKey:o,stepKey:i}=e,r=null==(l=n[o])?void 0:l[i];r&&t.setStepParams(o,i,r)}),await t.saveStepParams(),e(n),P.close()}catch(e){console.error(f("Error submitting form"),":",e)}},s=()=>{P.close(),e({})},d={...C,closeDialog:s,handleNext:()=>{l.validate().then(()=>{A&&A.next()}).catch(e=>{console.log(f("Form validation failed"),":",e)})}},u=(0,c.ln)(d,S);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(h,{model:t,requiredSteps:b,formStep:A,children:(0,n.jsx)(p,{schema:u,components:{FormStep:F,...null==(i=k.flowSettings)?void 0:i.components},scope:d})}),(0,n.jsx)(o.FormConsumer,{children:()=>(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:24,paddingTop:16,borderTop:"1px solid #f0f0f0"},children:1===b.length?(0,n.jsx)(a.Ay,{type:"primary",onClick:r,children:f("Complete configuration")}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.Ay,{disabled:!(null==A?void 0:A.allowBack),onClick:()=>{A&&A.back()},children:f("Previous step")}),(0,n.jsx)(a.Ay,{disabled:!(null==A?void 0:A.allowNext),type:"primary",onClick:()=>{l.validate().then(()=>{A&&A.next()}).catch(e=>{console.log(f("Form validation failed"),":",e)})},style:{display:((null==A?void 0:A.current)??0)<b.length-1?"inline-block":"none"},children:f("Next step")}),(0,n.jsx)(a.Ay,{disabled:null==A?void 0:A.allowNext,type:"primary",onClick:r,style:{display:((null==A?void 0:A.current)??0)>=b.length-1?"inline-block":"none"},children:f("Complete configuration")})]})})})]})});P.open({initialValues:(0,c.ln)(C,x)})}catch(e){r(Error(`${f("Failed to import FormDialog or FormStep")}: ${e.message}`))}})()}).catch(e=>{console.error(e)})}},23183(e,t,l){l.d(t,{openStepSettingsDialog:()=>f});var n=l(74848),o=l(78880),i=l(18220),r=l(95243),a=l(84626),s=l(71021),d=l(96540),u=l(16296),c=l(48555),p=l(31108),h=l(52847);let m=(0,i.createSchemaField)(),f=async e=>{var t,l,f,g,v,y,b,x;let{model:w,flowKey:S,stepKey:M,dialogWidth:F=600,dialogTitle:A,mode:k="dialog",ctx:C,uiModeProps:P,cleanup:j}=e,I=(0,c.lW)(w),E=w.context.message;if(!w)throw E.error(I("Invalid model provided")),Error(I("Invalid model provided"));let R=w.getFlow(S),_=null==R||null==(t=R.steps)?void 0:t[M];if(!R)throw E.error(I("Flow with key {{flowKey}} not found",{flowKey:S})),Error(I("Flow with key {{flowKey}} not found",{flowKey:S}));if(!_)throw E.error(I("Step with key {{stepKey}} not found",{stepKey:M})),Error(I("Step with key {{stepKey}} not found",{stepKey:M}));let T=_.title,D=_.beforeParamsSave,N=_.afterParamsSave,O={};if(_.use){let e=null==(x=w.flowEngine)||null==(b=x.getAction)?void 0:b.call(x,_.use);e&&(O=e.defaultParams||{},T=T||e.title,D=D||e.beforeParamsSave,N=N||e.afterParamsSave)}let $=w.getFlow(S),B=await (0,c.o7)(w,$,_);if(!B)return E.info(I("This step has no configurable parameters")),{};let L=C;L.currentStep&&L.currentStep===_||L.defineProperty("currentStep",{value:_});let q=w.flowEngine,V={useFlowSettingsContext:u.s,...null==(l=q.flowSettings)?void 0:l.scopes},z=w.getStepParams(S,M)||{},K=await (0,c.gG)(_.defaultParams,L),U=await (0,c.gG)(O,L),W={...(0,r.toJS)(U),...(0,r.toJS)(K),...(0,r.toJS)(z)},H={...(0,r.toJS)(z)},G={type:"object",properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:B}}},Y=w.context.viewer[k].bind(w.context.viewer),{zIndex:J,...X}=(0,r.toJS)(P)||{},Q=e=>{var t,l;return Math.max("function"==typeof(null==(t=w.context.viewer)?void 0:t.getNextZIndex)?w.context.viewer.getNextZIndex():((null==(l=w.context.themeToken)?void 0:l.zIndexPopupBase)||1e3)+1,Number(e)||0)},Z=Q(J),ee=(0,o.createForm)({initialValues:(0,c.ln)(V,W)}),et=(null==(f=w.context.view)?void 0:f.inputArgs)||{},el=(null==C||null==(g=C.view)?void 0:g.navigation)??(null==(v=w.context.view)?void 0:v.navigation),en={...et,...el?{navigation:el}:{},...(null==(y=(0,r.toJS)(P))?void 0:y.inputArgs)||{},__isSettingsPopup:!0};Y({title:A||I(T),width:F,destroyOnClose:!0,...X,zIndex:Z,inputArgs:en,onClose:()=>{j&&j()},content:e=>{let t=(0,h.PA)(()=>{var t;(0,d.useEffect)(()=>(0,r.autorun)(()=>{let{zIndex:t,...l}=(0,r.toJS)(P)||{};e.update({...l,zIndex:Q(t)})}),[]);let l=(0,c.ln)(V,G);return(0,n.jsx)(i.FormProvider,{form:ee,children:(0,n.jsxs)(u.u,{value:L,children:[(0,n.jsx)(m,{schema:l,components:{...null==(t=q.flowSettings)?void 0:t.components},scope:V}),(0,n.jsx)(e.Footer,{children:(0,n.jsxs)(a.A,{align:"end",children:[(0,n.jsx)(s.Ay,{type:"default",onClick:()=>{e.close()},children:I("Cancel")}),(0,n.jsx)(s.Ay,{type:"primary",onClick:async()=>{try{await ee.submit();let t=ee.values;w.setStepParams(S,M,t),D&&await D(L,t,H),e.close(),await w.saveStepParams(),E.success(I("Configuration saved")),N&&await N(L,t,H)}catch(t){if(t instanceof c.VD)return;if(t instanceof c.sy||t instanceof p.zz)return void e.close();console.error(I("Error saving configuration"),":",t),E.error(I("Error saving configuration, please check console"))}},children:I("OK")})]})})]})})});return(0,n.jsx)(t,{})}})}},41594(e,t,l){l.d(t,{Ls:()=>a,Qp:()=>c,jx:()=>p,yG:()=>u,z5:()=>d});var n=l(2543),o=l.n(n),i=l(48555);async function r(e,t){return"function"==typeof e?await e(t):e}async function a(e,t){let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.meta??{};if(await r(n.hide,t)&&!l)return;let o={key:e.name,label:n.label||e.name,searchable:!!n.searchable,searchPlaceholder:n.searchPlaceholder,toggleable:n.toggleable,useModel:e.name,sort:n.sort||1e3,children:s(e,t)};return o.createModelOptions=n.createModelOptions||{use:e.name},o}function s(e,t){let l,n=e.meta??{};if(!1===n.children)return!1;if(n.children&&(l=n.children),e.defineChildren&&(l=e.defineChildren.bind(e)),"function"==typeof l){let e=l;l=async()=>{let l=await e(t),r=e=>null==e?void 0:e.map(e=>{let l={...e};if(l.children)l.children=Array.isArray(l.children)?r(l.children):l.children;else if(l.createModelOptions){let e=l.createModelOptions;l.createModelOptions=async function(){for(var l=arguments.length,r=Array(l),a=0;a<l;a++)r[a]=arguments[a];let s=r&&r.length>0?r[r.length-1]:void 0,d=await (0,i.mv)(null==n?void 0:n.createModelOptions,t,s),u=await (0,i.mv)(e,t,s);return o().merge({},o().cloneDeep(d),u)}}return l});return r(l)}}return l}function d(e){return async t=>{let l=await c([e])(t);if(0===l.length)return[];let n=l.shift().children;return"function"==typeof n?n(t):n}}function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return async l=>{var n,o;let s=l.engine.getSubclassesOf(e),d=[];for(let e of Array.from(s.values()))await r(null==(n=e.meta)?void 0:n.hide,l)||d.push(e);if(0===(d=d.filter(e=>{for(let l of t)if("string"==typeof l){if(e.name===l)return!1}else if(e===l||(0,i.FA)(e,l))return!1;return!0}).sort((e,t)=>{var l,n;return((null==(l=e.meta)?void 0:l.sort)??1e3)-((null==(n=t.meta)?void 0:n.sort)??1e3)})).length){let t="string"==typeof e?l.engine.getModelClass(e):e;t&&!await r(null==(o=t.meta)?void 0:o.hide,l)&&(d=[t])}let u=[];for(let e of d){let t=await a(e,l);t&&u.push(t)}return u}}function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return async t=>{let l=[],n=[];for(let a of e){var o,i,r;let e="string"==typeof a?t.engine.getModelClass(a):a;if(!e)continue;let d=s(e,t);d||(d=await u(a,n)(t)),n.push(e);let c=!1;if("function"==typeof d)try{let e=await d(t);c=Array.isArray(e)?e.length>0:!!e}catch(e){c=!1}else c=Array.isArray(d)?d.length>0:!!d;if(!c)continue;let p=(null==e||null==(o=e.meta)?void 0:o.label)||("string"==typeof a?a:e.name),h="string"==typeof a?a:e.name,m=(null==e||null==(i=e.meta)?void 0:i.menuType)||"group",f=(null==e||null==(r=e.meta)?void 0:r.sort)??1e3;"submenu"===m?l.push({key:h,label:p,sort:f,children:d}):l.push({key:h,type:"group",label:p,sort:f,children:d})}return l.sort((e,t)=>((null==e?void 0:e.sort)??1e3)-((null==t?void 0:t.sort)??1e3))}}function p(e,t){let{useModel:l,fieldUseModel:n,associationPathName:o,refreshTargets:i}=t,r=t.collection||e.model.collection||e.collection,a=r.getFields(),s=[];for(let e of a){var d;if(!(null==e||null==(d=e.options)?void 0:d.interface))continue;let t=o?`${o}.${e.name}`:e.name,a="function"==typeof n?n(e):n??"FieldModel";if(a){let n={dataSourceKey:r.dataSourceKey,collectionName:r.name,fieldPath:e.name,associationPathName:o};s.push({key:t,label:e.title,toggleable:e=>{let{associationPathName:l,fieldPath:n}=e.getStepParams("fieldSettings","init")||{};return(l?`${l}.${n}`:n)===t},useModel:l,refreshTargets:i,createModelOptions:()=>({use:l,stepParams:{fieldSettings:{init:n}},subModels:{field:{use:a,stepParams:{fieldSettings:{init:n}}}}})})}}return[{key:`addField_${r.name}`,label:"",type:"group",searchable:!0,searchPlaceholder:e.t("Search fields"),children:s.filter(Boolean)}]}},76546(e,t,l){l.d(t,{pM:()=>f,qG:()=>m,qS:()=>h,Ns:()=>d,zA:()=>c,U1:()=>p,JL:()=>g,Xk:()=>v});var n=l(50467),o=l(95243),i=l(2543),r=l.n(i),a=l(16075),s=l.n(a);function d(e){var t;let l;switch(e.type){case"string":l=s().string();break;case"number":l=s().number();break;case"array":l=s().array();break;case"boolean":l=s().boolean();break;default:l=s().any()}let n=(e,t)=>{if(!t||0===Object.keys(t).length)return[];if(Array.isArray(t))return t;if("email"===e){var l;let e={...t};return(null==(l=e.tlds)?void 0:l.allow)===!0?e.tlds.allow=!1:e.tlds||(e.tlds={allow:!1}),[e]}if(["length","min","max"].includes(e))return[t.limit];if("pattern"===e){let e=null==t?void 0:t.regex;return e instanceof RegExp?[e]:[new RegExp(e)]}let n=Object.values(t);return n.length?n:[]},o=!1;return null==(t=e.rules)||t.forEach(e=>{let{name:t,args:i}=e;if("required"===t&&(o=!0),"function"==typeof l[t])try{l=l[t](...n(t,i))}catch(e){console.warn(`调用 Joi 方法 ${t} 失败:`,e)}else console.warn(`Joi schema 上不存在方法: ${t}`)}),o||(l=(l=l.optional().allow("")).optional().allow(null)),l}function u(e){let t=[],l=new Set,n=new Set,o=new Map;e.forEach(e=>{o.set(e.name,e)});let i=e=>{if(n.has(e.name))throw Error(`Circular dependency detected: ${e.name} inherits from itself through a chain`);if(!l.has(e.name)){for(let t of(n.add(e.name),e.inherits||[])){let l=o.get(t);if(!l){console.warn(`Warning: Collection ${t}, inherited by ${e.name}, not found.`);continue}i(l)}n.delete(e.name),l.add(e.name),t.push(e)}};for(let t of e)i(t);return t}class c{setFlowEngine(e){this.flowEngine=e}setRequester(e){this.requester=e}setCollectionFieldInterfaceManager(e){this.collectionFieldInterfaceManager=e}addFieldInterfaces(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];null==(t=this.collectionFieldInterfaceManager)||null==(e=t.addFieldInterfaces)||e.call(t,l)}addFieldInterfaceGroups(e){var t,l;null==(l=this.collectionFieldInterfaceManager)||null==(t=l.addFieldInterfaceGroups)||t.call(l,e)}addFieldInterfaceComponentOption(e,t){var l,n;null==(n=this.collectionFieldInterfaceManager)||null==(l=n.addFieldInterfaceComponentOption)||l.call(n,e,t)}addFieldInterfaceOperator(e,t){var l,n;null==(n=this.collectionFieldInterfaceManager)||null==(l=n.addFieldInterfaceOperator)||l.call(n,e,t)}registerLoader(e,t){this.loaders.set(e,t)}removeLoader(e){this.loaders.delete(e)}addDataSource(e){if(this.dataSources.has(e.key))throw Error(`DataSource with name ${e.key} already exists`);e instanceof h||(e=new(e.use||h)(e)),this.dataSources.set(e.key,e),e.setDataSourceManager(this)}upsertDataSource(e){if(this.dataSources.has(e.key)){var t;null==(t=this.dataSources.get(e.key))||t.patchOptions(e)}else this.addDataSource(e)}removeDataSource(e){this.dataSources.delete(e)}clearDataSources(){this.dataSources.clear()}getDataSources(){return Array.from(this.dataSources.values())}getDataSource(e){return this.dataSources.get(e)}getCollection(e,t){let l=this.getDataSource(e);if(l)return l.collectionManager.getCollection(t)}getCollectionField(e){let[t,...l]=e.split("."),n=this.getDataSource(t);if(n)return n.getCollectionField(l.join("."))}async ensureLoaded(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{force:t=!1}=e,l=this.resolveLoadKeys(e.keys),n=t?l:l.filter(e=>!this.loadedKeys.has(e));if(n.length)return this.loadingPromise||(this.loadingPromise=(async()=>{try{for(let e of n)await this.loadKey(e,{initial:!this.loadedKeys.has(e),force:t})}finally{this.loadingPromise=null}})()),this.loadingPromise}async reload(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.resolveLoadKeys(e.keys);if(t.length)return this.loadingPromise||(this.loadingPromise=(async()=>{try{for(let e of t)await this.loadKey(e,{initial:!1,force:!0})}finally{this.loadingPromise=null}})()),this.loadingPromise}async reloadDataSource(e){return this.loadingKeys.has(e)&&this.loadingPromise?this.loadingPromise:!this.loaders.has(e)&&this.loaders.has("*")?this.reload({keys:["*"]}):this.reload({keys:[e]})}resolveLoadKeys(e){let t=(null==e?void 0:e.length)?e:["main"],l=t.filter(e=>this.loaders.has(e));return this.loaders.has("*")?r().uniq(["*",...l]):l.length?l:t}getApp(){var e,t;return null==(t=this.flowEngine)||null==(e=t.context)?void 0:e.app}dispatchDataSourceEvent(e,t){var l,n;null==(n=this.getApp())||null==(l=n.eventBus)||l.dispatchEvent(new CustomEvent(e,{detail:t}))}setDataSourceState(e,t){let l=this.getDataSource(e);l&&l.patchOptions(t)}applyDataSourceLoadResult(e,t){if("*"===e)return void((null==t?void 0:t.dataSources)||[]).forEach(e=>{let{collections:t,...l}=e;if(this.upsertDataSource(l),t){var n;null==(n=this.getDataSource(l.key))||n.setCollections(t,{clearFields:!0})}});let l=this.getDataSource(e);l&&l.setCollections((null==t?void 0:t.collections)||[],{clearFields:!0})}async loadKey(e,t){let l=this.loaders.get(e);if(!l)return;this.getDataSource(e)||"*"===e||this.addDataSource({key:e});let{initial:n}=t;this.loadingKeys.add(e),"*"!==e&&this.setDataSourceState(e,{status:n?"loading":"reloading",errorMessage:void 0}),this.loadErrors.set(e,null);try{let t=await l({key:e,manager:this})||{};this.applyDataSourceLoadResult(e,t),this.loadedKeys.add(e),"*"!==e&&this.setDataSourceState(e,{status:"loaded",errorMessage:void 0}),this.dispatchDataSourceEvent("dataSource:loaded",{dataSourceKey:e,initial:n})}catch(l){let t=l instanceof Error?l:Error(String(l));throw this.loadErrors.set(e,t),"*"!==e&&this.setDataSourceState(e,{status:n?"loading-failed":"reloading-failed",errorMessage:t.message}),this.dispatchDataSourceEvent("dataSource:loadFailed",{dataSourceKey:e,initial:n,error:t}),t}finally{this.loadingKeys.delete(e)}}constructor(){(0,n._)(this,"dataSources",void 0),(0,n._)(this,"flowEngine",void 0),(0,n._)(this,"requester",void 0),(0,n._)(this,"collectionFieldInterfaceManager",void 0),(0,n._)(this,"loaders",new Map),(0,n._)(this,"loadedKeys",new Set),(0,n._)(this,"loadingKeys",new Set),(0,n._)(this,"loadErrors",new Map),(0,n._)(this,"loadingPromise",null),this.dataSources=o.observable.shallow(new Map)}}function p(e){for(var t=arguments.length,l=Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];if(e)for(let t of l){let l=null==t?void 0:t.collectionFieldInterfaceManager,n=null==l?void 0:l.getFieldInterface;if("function"==typeof n)return n.call(l,e)}}class h{get flowEngine(){return this.dataSourceManager.flowEngine}get displayName(){return this.flowEngine.translate(this.options.displayName,{ns:"lm-collections"})||this.key}get key(){return this.options.key}get name(){return this.options.key}get status(){return this.options.status}get errorMessage(){return this.options.errorMessage}setDataSourceManager(e){this.dataSourceManager=e}getCollections(){return this.collectionManager.getCollections()}getCollection(e){return this.collectionManager.getCollection(e)}getAssocation(e){return this.getAssociation(e)}getAssociation(e){return this.collectionManager.getAssociation(e)}addCollection(e){return this.collectionManager.addCollection(e)}updateCollection(e){return this.collectionManager.updateCollection(e)}upsertCollection(e){return this.collectionManager.upsertCollection(e)}upsertCollections(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.collectionManager.upsertCollections(e,t)}setCollections(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.collectionManager.setCollections(e,t)}removeCollection(e){return this.collectionManager.removeCollection(e)}clearCollections(){this.collectionManager.clearCollections()}setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.keys(this.options).forEach(e=>delete this.options[e]),Object.assign(this.options,e)}patchOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this.options,e)}reload(){return this.dataSourceManager.reloadDataSource(this.key)}getCollectionField(e){let[t,...l]=e.split("."),n=l.join("."),o=this.getCollection(t);if(!o)return;let i=o.getFieldByPath(n);if(i)return i}constructor(e={}){(0,n._)(this,"dataSourceManager",void 0),(0,n._)(this,"collectionManager",void 0),(0,n._)(this,"options",void 0),this.options=(0,o.observable)({...e}),this.collectionManager=new m(this)}}class m{resetCaches(){this.childrenCollectionsName={},this.allCollectionsInheritChain=void 0}get flowEngine(){return this.dataSource.flowEngine}addCollection(e){let t;(t=e instanceof f?e:new f(e)).setDataSource(this.dataSource),t.initInherits(),this.collections.set(t.name,t),this.resetCaches()}removeCollection(e){this.collections.delete(e),this.resetCaches()}updateCollection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=this.getCollection(e.name);if(!l)throw Error(`Collection ${e.name} not found`);l.setOptions(e,t),this.resetCaches()}upsertCollection(e){return this.collections.has(e.name)?this.updateCollection(e):this.addCollection(e),this.getCollection(e.name)}upsertCollections(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let l of u(e))this.collections.has(l.name)?this.updateCollection(l,t):this.addCollection(l);this.resetCaches()}setCollections(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.clearCollections(),this.upsertCollections(e,t)}sortCollectionsByInherits(e){let t=new Map;for(let l of e)t.set(l.name,l);let l={},n={};for(let t of e)l[t.name]=new Set,n[t.name]=0;for(let t of e)for(let e of t.inherits||[])l[e]||(l[e]=new Set),l[e].add(t.name),n[t.name]=(n[t.name]||0)+1;let o=[];for(let e in n)0===n[e]&&o.push(e);let i=[];for(;o.length;){let e=o.shift();for(let r of(t.has(e)&&i.push(t.get(e)),l[e]||[]))n[r]--,0===n[r]&&o.push(r)}if(i.length!==e.length)throw Error("Collection inherits has circular dependency!");return i}getCollection(e){if(e.includes(".")){let[t,l]=e.split("."),n=this.getCollection(t);if(!n)throw Error(`Collection ${t} not found in data source ${this.dataSource.key}`);let o=n.getField(l);if(!o)throw Error(`Field ${l} not found in collection ${t}`);return o.targetCollection}return this.collections.get(e)}getCollections(){return r().sortBy(Array.from(this.collections.values()).filter(e=>!e.hidden),"sort")}clearCollections(){this.collections.clear(),this.resetCaches()}getAssociation(e){let[t,l]=e.split("."),n=this.getCollection(t);if(!n)throw Error(`Collection ${t} not found in data source ${this.dataSource.key}`);return n.getField(l)}getChildrenCollections(e){let t=[],l=Array.from(this.collections.values()),n=e=>(l.filter(t=>{var l;return null==(l=t.options.inherits)?void 0:l.includes(e)}).forEach(e=>{let l=e.name;return t.push(e),n(l)}),t);return n(e)}getChildrenCollectionsName(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=t?"supportView":"notSupportView";if(this.childrenCollectionsName[l])return this.childrenCollectionsName[l].slice();let n=[],o=[...this.getCollections()],i=e=>(o.filter(t=>{var l;return l=[...t.inherits],l.includes(e)}).forEach(e=>{let t=e.name;return n.push(t),i(t)}),t&&o.filter(t=>{var l;return l=[...t.sources],l.length===1&&(null==t?void 0:t.sources[0])===e}).forEach(e=>{let t=e.name;return n.push(e.name),i(t)}),r().uniq(n));return this.childrenCollectionsName[l]=i(e),this.childrenCollectionsName[l]}getAllCollectionsInheritChain(e){if(this.allCollectionsInheritChain)return this.allCollectionsInheritChain.slice();let t=[e],l=e=>{let n=this.getCollection(e);if(n){let{inherits:o}=n,i=this.getChildrenCollectionsName(e);if(o)for(let e=0;e<o.length;e++){let n=o[e];t.includes(n)||(t.push(n),l(n))}if(i)for(let e=0;e<i.length;e++){let n=this.getCollection(i[e]).name;t.includes(n)||(t.push(n),l(n))}}return t};return this.allCollectionsInheritChain=l(e),this.allCollectionsInheritChain||[]}constructor(e){(0,n._)(this,"dataSource",void 0),(0,n._)(this,"collections",void 0),(0,n._)(this,"allCollectionsInheritChain",void 0),(0,n._)(this,"childrenCollectionsName",void 0),this.dataSource=e,this.childrenCollectionsName={},this.collections=o.observable.shallow(new Map)}}class f{clone(){let e=new f(r().cloneDeep(this.options));return e.setDataSource(this.dataSource),e}getFilterByTK(e){if(!e)throw Error("Record is required to get filterByTk");if(Array.isArray(e))return e.map(e=>this.getFilterByTK(e));if(!this.filterTargetKey)throw Error(`filterTargetKey is not defined for collection ${this.name}`);return"string"==typeof this.filterTargetKey?e[this.filterTargetKey]:Array.isArray(this.filterTargetKey)&&1===this.filterTargetKey.length?e[this.filterTargetKey[0]]:r().pick(e,this.filterTargetKey)}get titleableFields(){return this.getFields().filter(e=>e.titleable)}get hidden(){return this.options.hidden||!1}get flowEngine(){return this.dataSource.flowEngine}get collectionManager(){return this.dataSource.collectionManager}get sort(){return this.options.sort||0}get filterTargetKey(){return this.options.filterTargetKey}get dataSourceKey(){return this.dataSource.key}get name(){return this.options.name}get template(){return this.options.template}get storage(){return this.options.storage||"local"}get title(){return this.flowEngine.translate(this.options.title,{ns:"lm-collections"})||this.name}get titleCollectionField(){let e=this.options.titleField||this.filterTargetKey;if(Array.isArray(e)){if(1!==e.length)return;return this.getField(e[0])}return this.getField(e)}initInherits(){for(let e of(this.inherits.clear(),this.options.inherits||[])){let t=this.collectionManager.getCollection(e);if(!t){console.warn(`Warning: Collection ${e} not found for collection ${this.name}`);continue}this.inherits.set(e,t)}}setDataSource(e){this.dataSource=e}setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object.keys(this.options).forEach(e=>delete this.options[e]),Object.assign(this.options,e),this.initInherits(),t.clearFields&&this.clearFields(),this.upsertFields(this.options.fields||[])}setOption(e,t){this.options[e]=t}getFields(){let e=new Map;for(let t of this.inherits.values())if(t&&"function"==typeof t.getFields)for(let l of t.getFields())e.set(l.name,l);for(let[t,l]of this.fields.entries())e.set(t,l);return Array.from(e.values())}getToOneAssociationFields(){return this.getAssociationFields(["one"])}getAssociationFields(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.includes("new")?this.getFields().filter(e=>["hasMany","belongsToMany","belongsToArray"].includes(e.type)):e.includes("many")&&e.includes("one")?this.getFields().filter(e=>e.isAssociationField()):e.includes("many")?this.getFields().filter(e=>["hasMany","belongsToMany","belongsToArray"].includes(e.type)):e.includes("one")?this.getFields().filter(e=>["hasOne","belongsTo"].includes(e.type)):this.getFields().filter(e=>e.isAssociationField())}mapFields(e){return this.getFields().map(e)}setFields(e){for(let t of(this.fields.clear(),e))this.addField(t)}upsertFields(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(let t of e)this.fields.has(t.name)?this.fields.get(t.name).setOptions(t):this.addField(t)}getFieldByPath(e){let[t,...l]=e.split("."),n=this.getField(t);return 0===l.length?n:(null==n?void 0:n.targetCollection)?n.targetCollection.getFieldByPath(l.join(".")):null}getField(e){return this.fields.get(e)}getFullFieldPath(e){return this.dataSource.key+"."+this.name+"."+e}addField(e){if(e.name&&this.fields.has(e.name))throw Error(`Field with name ${e.name} already exists in collection ${this.name}`);if(e instanceof g)e.setCollection(this),this.fields.set(e.name,e);else{let t=new g(e);t.setCollection(this),this.fields.set(t.name,t)}}removeField(e){return this.fields.delete(e)}clearFields(){return this.fields.clear()}refresh(){}getRelationshipFields(){let e=["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"];return this.getFields().filter(t=>e.includes(t.interface))}getRelatedCollections(){let e=this.getRelationshipFields(),t=[],l=new Set;for(let n of e)if(n.target&&!l.has(n.target)){let e=this.collectionManager.getCollection(n.target);e&&e.name!==this.name&&(t.push(e),l.add(n.target))}return t}hasRelationshipFields(){return this.getRelationshipFields().length>0}constructor(e={}){(0,n._)(this,"fields",void 0),(0,n._)(this,"options",void 0),(0,n._)(this,"inherits",void 0),(0,n._)(this,"dataSource",void 0),this.options=(0,o.observable)({...e}),this.fields=o.observable.shallow(new Map),this.inherits=o.observable.shallow(new Map),this.setFields(e.fields||[])}}class g{setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.keys(this.options).forEach(e=>delete this.options[e]),Object.assign(this.options,e)}setCollection(e){this.collection=e}get targetCollectionTitleFieldName(){var e,t;return null==(t=this.targetCollection)||null==(e=t.titleCollectionField)?void 0:e.name}get targetCollectionTitleField(){var e;return null==(e=this.targetCollection)?void 0:e.titleCollectionField}get flowEngine(){return this.collection.flowEngine}get dataSourceKey(){var e;return null==(e=this.collection)?void 0:e.dataSourceKey}get resourceName(){return`${this.collection.name}.${this.name}`}get collectionName(){var e;return(null==(e=this.collection)?void 0:e.name)||this.options.collectionName}get readonly(){var e;return this.options.readonly||(null==(e=this.options.uiSchema)?void 0:e["x-read-pretty"])||!1}get titleable(){return!!(this.options.titleable??this.options.titleUsable)}get fullpath(){return this.collection.dataSource.key+"."+this.collection.name+"."+this.name}get name(){return this.options.name}get type(){return this.options.type}get dataType(){return this.options.dataType}get foreignKey(){return this.options.foreignKey}get targetKey(){return this.options.targetKey||this.targetCollection.filterTargetKey}get sourceKey(){return this.options.sourceKey}get target(){return this.options.target}get title(){var e,t,l;let n=(null==(t=this.options)||null==(e=t.uiSchema)?void 0:e.title)||(null==(l=this.options)?void 0:l.title);return this.flowEngine.translate(n,{ns:"lm-collections"})||this.options.name}set title(e){this.options.title=e}get enum(){var e;let t=(null==(e=this.options.uiSchema)?void 0:e.enum)||[];return"integer"===this.type?t.map(e=>"object"!=typeof e||null===e.value||void 0===e.value?e:{...e,label:e.label?this.flowEngine.translate(e.label,{ns:"lm-collections"}):e.label,value:Number(e.value)}):t.map(e=>({...e,label:this.flowEngine.translate(e.label,{ns:"lm-collections"})}))}get defaultValue(){return null==this.options.defaultValue?void 0:this.options.defaultValue}get interface(){return this.options.interface}get filterable(){var e;return this.options.filterable||(null==(e=this.getInterfaceOptions())?void 0:e.filterable)}get inputable(){return this.options.inputable}get uiSchema(){return this.options.uiSchema||{}}get targetCollection(){var e;return this.options.target&&(null==(e=this.collection)?void 0:e.collectionManager.getCollection(this.options.target))}get validation(){return this.options.validation}getComponentProps(){var e,t;let{type:l,target:n}=this.options,o=r().omitBy({...r().omit((null==(e=this.options.uiSchema)?void 0:e["x-component-props"])||{},"fieldNames"),options:this.enum.length?this.enum:void 0,mode:"array"===this.type?"multiple":void 0,multiple:n?["belongsToMany","hasMany","belongsToArray"].includes(l):void 0,maxCount:n&&!["belongsToMany","hasMany","belongsToArray"].includes(l)?1:void 0,target:n,template:null==(t=this.targetCollection)?void 0:t.template},r().isUndefined);if(this.validation){let e=[],t=d(this.validation),l=this.title;e.push({validator:(e,n)=>{let{error:o}=t.validate(n,{context:{label:l},abortEarly:!1});return o?Promise.reject(o.details.map(e=>{let t=this.flowEngine.translate(e.type,{...e.context,ns:"data-source-main",label:l});return t&&t!==e.type?t:e.message.replace(/"value"/g,`"${l}"`)}).join(", ")):Promise.resolve()}}),o.rules=e}return o}getFields(){if(!this.options.target)return[];if(!this.targetCollection)throw Error(`Target collection ${this.options.target} not found for field ${this.name}`);return this.targetCollection.getFields()}getInterfaceOptions(){var e,t,l;let n=this.flowEngine.context;return p(this.interface,null==(t=this.collection)||null==(e=t.dataSource)?void 0:e.dataSourceManager,n.dataSourceManager,null==(l=n.app)?void 0:l.dataSourceManager)}getFilterOperators(){var e;let t=this.getInterfaceOptions();return(null==t||null==(e=t.filterable)?void 0:e.operators)||[]}getSubclassesOf(e){return this.flowEngine.getSubclassesOf(e,(e,t)=>v(e.supportedFieldInterfaces,this.interface))}getFirstSubclassNameOf(e){for(let[t,l]of this.getSubclassesOf(e))if("*"!==l.supportedFieldInterfaces)return t}isAssociationField(){return["belongsToMany","belongsTo","hasMany","hasOne","belongsToArray"].includes(this.type)}isRelationshipField(){return["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"].includes(this.interface)}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"collection",void 0),this.options=(0,o.observable)({...e})}}function v(e,t){return!!e&&("*"===e||("string"==typeof e?e===t:!!Array.isArray(e)&&(e.includes("*")||e.includes(t))))}},48036(e,t,l){l.d(t,{v:()=>o});var n=l(50467);class o{setPaused(e){this.paused=e}on(e,t){var l,n;((l=this.events)[n=e]||(l[n]=[])).push(t)}off(e,t){this.events[e]=(this.events[e]||[]).filter(e=>e!==t)}emit(e){for(var t=arguments.length,l=Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];this.paused||(this.events[e]||[]).forEach(e=>e(...l))}async emitAsync(e){for(var t=arguments.length,l=Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];if(!this.paused)for(let t of(this.events[e]||[]).slice())await t(...l)}constructor(){(0,n._)(this,"events",{}),(0,n._)(this,"paused",!1)}}},26955(e,t,l){l.d(t,{L:()=>o});var n=l(50467);class o{onEventRegistered(){}registerEvents(e){for(let[,t]of Object.entries(e||{}))this.registerEvent(t)}registerEvent(e){if(!(null==e?void 0:e.name))throw Error("Event must have a name.");this.events.has(e.name)&&console.warn(`Event '${e.name}' is already registered. It will be overwritten.`),this.events.set(e.name,e),this.onEventRegistered()}constructor(){(0,n._)(this,"events",new Map)}}},84471(e,t,l){l.d(t,{j:()=>r});var n=l(50467),o=l(68161),i=l(95243);class r{addFlows(e){for(let[t,l]of Object.entries(e||{}))this.addFlow(t,l)}addFlow(e,t){let l=new o.G({...t,key:e},this);return this.flows.set(e,l),l}hasFlow(e){return!!this.flows.get(e)}getFlow(e){return this.flows.get(e)}getFlows(){return this.flows}removeFlow(e){this.flows.delete(e)}mapFlows(e){return[...this.getFlows().values()].map(t=>e(t))}moveStep(e,t,l){let n=this.getFlow(e);if(!n)throw Error(`Flow '${e}' not found`);n.moveStep(t,l)}constructor(){(0,n._)(this,"flows",void 0),this.flows=i.observable.shallow(new Map)}}},98837(e,t,l){l.d(t,{r:()=>r});var n=l(50467),o=l(33954),i=l(84471);class r extends i.j{removeFlow(e){console.warn(`GlobalFlowRegistry.removeFlow: removing static flow '${e}' is not supported.`)}getFlow(e){if(this.flows.has(e))return this.flows.get(e);let t=Object.getPrototypeOf(this.target);if(t!==Function.prototype&&t!==Object.prototype&&(null==t?void 0:t.globalFlowRegistry))return t.globalFlowRegistry.getFlow(e)}getFlows(){let e=new Map(this.flows),t=Object.getPrototypeOf(this.target);if(t!==Function.prototype&&t!==Object.prototype&&(null==t?void 0:t.globalFlowRegistry))for(let[l,n]of t.globalFlowRegistry.getFlows().entries())e.has(l)||e.set(l,n);let l=e=>{let t=0,l=e;for(;l&&l!==o.WD&&l!==Function.prototype&&l!==Object.prototype;)l=Object.getPrototypeOf(l),t+=1;return t};return new Map(Array.from(e.entries()).sort((e,t)=>{let[,n]=e,[,o]=t,i=n.sort??0,r=o.sort??0;if(i!==r)return i-r;let a=n.flowRegistry,s=o.flowRegistry,d=l(a.target),u=l(s.target);return d!==u?d-u:0}))}saveFlow(e){}destroyFlow(e){}constructor(e){super(),(0,n._)(this,"target",void 0),this.target=e}}(0,n._)(r,"_type","global")},96321(e,t,l){l.d(t,{R:()=>i});var n=l(50467),o=l(84471);class i extends o.j{async save(){await this.model.saveStepParams()}async saveFlow(e){await this.model.saveStepParams()}async destroyFlow(e){this.removeFlow(e),await this.model.saveStepParams()}async moveStep(e,t,l){super.moveStep(e,t,l),await this.model.saveStepParams()}constructor(e){super(),(0,n._)(this,"model",void 0),this.model=e}}(0,n._)(i,"_type","instance")},29007(e,t,l){l.d(t,{W5:()=>ej,uk:()=>eW,Hl:()=>eP,o0:()=>ek,d6:()=>eC,cB:()=>eg,Bt:()=>eq});var n=l(58587),o=l(18150),i=l(68238),r=l(88243),a=l(16213),s=l(50467),d=l(95243),u=l(88909),c=l(14264),p=l(2543),h=l.n(p),m=l(55373),f=l.n(m),g=l(96540),v=l(5338),y=l.t(v,2),b=l(63128);class x{setData(e){this.data=h().cloneDeep(e)}setMeta(e){this.meta=h().cloneDeep(e)}async load(){var e,t,l,n;let o=(null==(n=this.flowEngine)||null==(l=n.context)||null==(t=l.api)||null==(e=t.auth)?void 0:e.token)||"";this.loaded&&this.lastToken!==o&&(this.loaded=!1,this.loadingPromise=null,this.data={},this.meta={});let{data:i}=await this.flowEngine.context.api.request({url:"roles:check"});this.data=(null==i?void 0:i.data)||{},this.meta=(null==i?void 0:i.meta)||{},this.loaded=!0,this.lastToken=o,await this.loadingPromise}getActionAlias(e){var t;return(null==(t=this.data.actionAlias)?void 0:t[e])||e}inResources(e,t){var l,n,o;let{dataSources:i}=(null==(l=this)?void 0:l.meta)||{};return null==(o=({...this.data,...(0,p.omit)(null==i?void 0:i[t],"snippets")}).resources)||null==(n=o.includes)?void 0:n.call(o,e)}getResourceActionParams(e,t,l){var n,o,i;let r=this.getActionAlias(t),{dataSources:a}=(null==(n=this)?void 0:n.meta)||{},s={...this.data,...(0,p.omit)(null==a?void 0:a[l],"snippets")};return(null==(o=s.actions)?void 0:o[`${e}:${r}`])||(null==(i=s.actions)?void 0:i[t])}getStrategyActionParams(e,t){var l,n,o;let i=this.getActionAlias(e),{dataSources:r}=(null==(l=this)?void 0:l.meta)||{},a={...this.data,...(0,p.omit)(null==r?void 0:r[t],"snippets")};return(null==a||null==(o=a.strategy)||null==(n=o.actions)?void 0:n.find(e=>{let[t]=e.split(":");return t===i}))?{}:null}parseAction(e){var t;let{resourceName:l,actionName:n,dataSourceKey:o="main",recordPkValue:i,allowedActions:r}=e,a=(null==l?void 0:l.includes("."))&&(null==(t=this.flowEngine.context.dataSourceManager.getDataSource(o).collectionManager.getAssociation(l))?void 0:t.target);return this.getIgnoreScope(e)||this.verifyScope(n,i,r)?this.inResources(a,o)?this.getResourceActionParams(a,n,o):this.inResources(l,o)?this.getResourceActionParams(l,n,o):this.getStrategyActionParams(n,o):null}parseField(e){let{fields:t}=e,l=this.parseAction(e),n=[].concat((null==l?void 0:l.whitelist)||[]).concat((null==l?void 0:l.fields)||[]).concat((null==l?void 0:l.appends)||[]);return!!l&&!Object.keys(l).length||n.includes(t[0])}async aclCheck(e){let{allowAll:t}=this.data;return!!t||(e.fields?this.parseField(e):this.parseAction(e))}constructor(e){(0,s._)(this,"flowEngine",void 0),(0,s._)(this,"data",void 0),(0,s._)(this,"meta",void 0),(0,s._)(this,"loaded",void 0),(0,s._)(this,"loadingPromise",void 0),(0,s._)(this,"lastToken",void 0),(0,s._)(this,"getIgnoreScope",void 0),(0,s._)(this,"verifyScope",void 0),this.flowEngine=e,this.data={},this.meta={},this.loaded=!1,this.loadingPromise=null,this.lastToken=null,this.getIgnoreScope=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{recordPkValue:t,allowedActions:l,actionName:n}=e,o=!1;return e.ignoreScope&&(o=!0),"create"===n&&(o=!0),t&&l||(o=!0),o},this.verifyScope=(e,t,l)=>{let n=this.getActionAlias(e),o=null==l?void 0:l[n];return Array.isArray(o)?o.map(e=>String(e)).includes(String(t)):null}}}let w=Symbol.toPrimitive;class S{toString(){return`{{${this.path.join(".")}}}`}valueOf(){return this.toString()}[w](){return this.toString()}static create(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["ctx"];return new Proxy(new S(e),{get(t,l,n){if("symbol"==typeof l)return;if(l in t){let e=t[l];return"function"==typeof e?e.bind(t):e}let o=[...e,l.toString()];return S.create(o)}})}constructor(e){(0,s._)(this,"path",void 0),this.path=e}}var M=l(76546),F=l(81440);class A{translate(e,t){return!e||"string"!=typeof e||(null==t?void 0:t.compareWith)&&e===t.compareWith?e:this.isTemplate(e)?this.compileTemplate(e):this.translateKey(e,t)}translateKey(e,t){var l,n;if(null==(n=this.context)||null==(l=n.i18n)?void 0:l.t){let l=this.context.i18n.t(e,t);return null==l||""===l?e:l}return e}isTemplate(e){return/\{\{\s*t\s*\(\s*["'`].*?["'`]\s*(?:,\s*.*?)?\s*\)\s*\}\}/g.test(e)}compileTemplate(e){return e.replace(/\{\{\s*t\s*\(\s*["'`](.*?)["'`]\s*(?:,\s*((?:[^{}]|\{[^}]*\})*?))?\s*\)\s*\}\}/g,(e,t,l)=>{try{let n={};if(l&&(l=l.trim()).startsWith("{")&&l.endsWith("}"))try{n=Function("$root",`with($root) { return (${l}); }`)({})}catch(t){return e}return this.translateKey(t,n)}catch(t){return console.warn(`FlowEngine: Failed to compile template "${e}":`,t),e}})}constructor(e){(0,s._)(this,"context",void 0),this.context=e}}var k=l(91013),C=l(27667),P=l(48555),j=l(31108),I=l(81982),E=l(22928),R=l(73398),_=l(37966),T=l(62572),D=l(74353),N=l.n(D),O=l(98192),$=l(47684),B=l(51143);function L(e){try{if(!e||"object"!=typeof e&&"function"!=typeof e)return[];return Object.getOwnPropertyNames(e)}catch(e){return[]}}function q(e,t){if(!e.length)return[];if(!t.length)return[...e];let l=new Set(t),n=[];for(let t of e)l.has(t)||n.push(t);return n}async function V(e){let t,l=globalThis;l.__nocobaseRunjsModuleLoadLock=(l.__nocobaseRunjsModuleLoadLock||Promise.resolve()).catch(()=>{});let n=l.__nocobaseRunjsModuleLoadLock,o=new Promise(e=>{t=e});l.__nocobaseRunjsModuleLoadLock=n.then(()=>o),await n;try{return await e()}finally{null==t||t()}}function z(){let e=globalThis,t=null==e?void 0:e.define,l=null==t?void 0:t.amd;if(!t||!l)return()=>{};let n=Object.getOwnPropertyDescriptor(t,"amd"),o=!!n,i=l;try{(null==n?void 0:n.writable)?t.amd=void 0:(null==n?void 0:n.configurable)?delete t.amd:t.amd=void 0}catch(e){}return()=>{try{if(o&&n)return void Object.defineProperty(t,"amd",n);t.amd=i}catch(e){}}}function K(){var e,t;let l=globalThis,n=null==l||null==(e=l.requirejs)?void 0:e.requirejs,o=null==n||null==(t=n.s)?void 0:t.contexts;if(!o||"object"!=typeof o)return!1;for(let e of Object.keys(o)){let t=o[e],l=null==t?void 0:t.registry;if(l&&"object"==typeof l)for(let e of Object.keys(l)){let t=l[e];if(!t||"object"!=typeof t||!t.enabled||t.error)continue;let n=t.map;if(n&&"object"==typeof n&&!t.inited&&t.fetched&&n.isDefine)return!0}}return!1}async function U(e){let t=Math.max(0,(null==e?void 0:e.timeoutMs)??1500),l=Math.max(10,(null==e?void 0:e.pollMs)??30);if(0===t)return;let n=Date.now();for(;K();){if(Date.now()-n>=t)return;await new Promise(e=>setTimeout(e,l))}}async function W(e,t){let l="string"==typeof e?e.trim():"";if(!l)return;let n=globalThis;n.__nocobaseImportAsyncPrefetchCache=n.__nocobaseImportAsyncPrefetchCache||new Map;let o=n.__nocobaseImportAsyncPrefetchCache;if(o.has(l))return await o.get(l);let i=Math.max(0,(null==t?void 0:t.timeoutMs)??5e3),r=(async()=>{try{var e,t,n;if("u">typeof document&&(null==(e=document)?void 0:e.createElement)){let e=new URL(l,(null==(n=globalThis)||null==(t=n.location)?void 0:t.href)||void 0).toString(),o=document.head||document.getElementsByTagName("head")[0];if(o){let t=`link[rel="modulepreload"][href="${e}"]`;if(!document.querySelector(t)){let t=document.createElement("link");return t.rel="modulepreload",t.href=e,t.crossOrigin="anonymous",await new Promise(e=>{let l=!1,n=()=>{l||(l=!0,t.onload=null,t.onerror=null,e())},r=i>0?setTimeout(()=>{n()},i):void 0;t.onload=()=>{r&&clearTimeout(r),n()},t.onerror=()=>{r&&clearTimeout(r),n()},o.appendChild(t)})}}}}catch(e){}try{if("function"!=typeof fetch)return;let e="function"==typeof AbortController?new AbortController:void 0,t=e&&i>0?setTimeout(()=>{try{e.abort()}catch(e){}},i):void 0,n=await fetch(l,{method:"GET",mode:"cors",credentials:"omit",cache:"force-cache",signal:null==e?void 0:e.signal});if(t&&clearTimeout(t),n&&n.ok&&"function"==typeof n.arrayBuffer)try{await n.arrayBuffer()}catch(e){}}catch(e){}})().catch(()=>{});return o.set(l,r),await r}async function H(e,t){return await V(async()=>{let l,n,o="u">typeof window?L(window):[],i="u">typeof document?L(document):[];try{l=await new Promise((l,n)=>{e?e([t],function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];l(t[0])},n):n(Error("requirejs is not available"))})}catch(e){n=e}finally{let e="u">typeof window?L(window):[],t="u">typeof document?L(document):[],l=q(e,o),n=q(t,i);(0,B.Vm)(l),(0,B.yz)(n)}if(n)throw n;return l})}async function G(e){var t,l;if(!e||"string"!=typeof e)throw Error("invalid url");let n=e.trim(),o=!!(null==(l=globalThis)||null==(t=l.define)?void 0:t.amd);return o&&await W(n),await V(async()=>{await U();let e=o?z():()=>{};try{let e=()=>import(n),t=()=>(0,eval)("u => import(u)")(n);try{return await e()}catch(e){try{return await t()}catch(t){throw t||e}}}finally{e()}})}function Y(e){let t=e.indexOf("?"),l=e.indexOf("#"),n=t>=0&&l>=0?Math.min(t,l):t>=0?t:l;return n>=0?e.slice(0,n):e}function J(e){if(!e||"string"!=typeof e)return null;let t=Y(e).trim();if(!t||t.startsWith("http://")||t.startsWith("https://"))return null;let l=t.replace(/^\//,"");if(!l)return null;if(l.startsWith("@")){let e=l.match(/^(@[^/]+\/[^/]+?)(?:@([^/]+))?(?:\/(.*))?$/);return e?{name:e[1],version:e[2],subpath:e[3]}:null}let n=l.match(/^([^/]+?)(?:@([^/]+))?(?:\/(.*))?$/);return n?{name:n[1],version:n[2],subpath:n[3]}:null}function X(e,t){if(!e||"string"!=typeof e)return e;let l=e.trim(),n=l.indexOf("#"),o=n>=0?l.slice(0,n):l,i=n>=0?l.slice(n):"",r=o.indexOf("?"),a=r>=0?o.slice(0,r):o,s=new URLSearchParams(r>=0?o.slice(r+1):"");for(let[e,l]of Object.entries(t))e&&(s.has(e)||s.set(e,l));let d=s.toString();return d?`${a}?${d}${i}`:`${a}${i}`}function Q(){let e=globalThis;if("string"==typeof(null==e?void 0:e.__esm_cdn_base_url__))return e.__esm_cdn_base_url__;let t="u">typeof window?window:null==e?void 0:e.window;return"string"==typeof(null==t?void 0:t.__esm_cdn_base_url__)?t.__esm_cdn_base_url__:"https://esm.sh"}function Z(e){if(e&&"object"==typeof e&&"default"in e){let t=Object.keys(e);if(1===t.length&&"default"===t[0])return e.default}return e}async function ee(e,t,l){if(!t||"string"!=typeof t)throw Error("invalid url");let n=t,o=J(t);if((null==o?void 0:o.name)==="antd"&&!o.subpath&&"string"==typeof Q()){let t={bundle:"1"},l=null==e?void 0:e.__runjsExternalReact,o=null==l?void 0:l.version;o&&"string"==typeof o&&(t.deps=`react@${o},react-dom@${o}`),n=X(n,t)}let i=(0,$.i)(n,{addSuffix:(null==l?void 0:l.addSuffix)??!0}),r=(null==l?void 0:l.importer)||G,a=globalThis;a.__nocobaseImportAsyncCache=a.__nocobaseImportAsyncCache||new Map;let s=a.__nocobaseImportAsyncCache,d=s.get(i)||(async()=>Z(await r(i)))();s.set(i,d);let u=await d,c=null==e?void 0:e.libs;if(!c||"object"!=typeof c)return u;let p=J(n);if(!p)return u;let h=p.subpath||"";if("react"!==p.name||h)"react-dom"===p.name&&("client"===h||h.startsWith("client/"))?((0,O.qf)(e,"ReactDOM",u),e.__runjsExternalReactDOM={specifier:t,version:p.version,url:i}):"antd"!==p.name||h?"@ant-design/icons"!==p.name||h||((0,O.qf)(e,"antdIcons",u,{topLevelKey:!1}),e.__runjsExternalAntdIcons={specifier:t,version:p.version,url:i}):((0,O.qf)(e,"antd",u),e.__runjsExternalAntd={specifier:t,version:p.version,url:i});else{(0,O.qf)(e,"React",u),e.__runjsExternalReact={specifier:t,version:p.version,url:i};let l=p.version?`react-dom@${p.version}/client`:"react-dom/client";try{await e.importAsync(l)}catch(n){let e=Error(`External React has been loaded via ctx.importAsync("${t}"), but auto-loading "${l}" failed.
1049
- Please run: await ctx.importAsync("${l}") to ensure ctx.render uses a matching ReactDOM.`);throw e.cause=n,e}}return u}function et(e){return e.endsWith("/")?e:`${e}/`}function el(e,t){try{let l=new URL(e);if(!["http:","https:"].includes(l.protocol))return!1;if(!(null==t?void 0:t.getApiUrl))return!0;let n=new URL(t.getApiUrl()),o=et(n.pathname),i=et(l.pathname);return l.origin!==n.origin||!i.startsWith(o)}catch{return!1}}function en(e){return!!(e&&"object"==typeof e&&"collection"in e&&"filterByTk"in e)}function eo(e,t){if(t&&0!==t.length){if(en(e))return e;if(e&&"object"==typeof e&&!Array.isArray(e)){let l={};for(let[n,o]of Object.entries(e))t.some(e=>e===n||e.startsWith(`${n}.`)||e.startsWith(`${n}[`))&&(l[n]=o);return l}}}function ei(e){if(!e)return;let t=String(e).match(/^([^.[]+)/);return null==t?void 0:t[1]}function er(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!Array.isArray(e)||0===e.length)return{generatedAppends:void 0,generatedFields:void 0};let t=new Set,l=new Set,n=e=>{if(!e)return"";let t=String(e);return(t=(t=(t=t.replace(/\[(?:\d+)\]/g,"")).replace(/\[(?:"((?:[^"\\]|\\.)*)"|'((?:[^'\\]|\\.)*)')\]/g,(e,t,l)=>`.${t||l}`)).replace(/\.\.+/g,".")).replace(/^\./,"").replace(/\.$/,"")};for(let o of e){if(!o)continue;for(;/^\[(\d+)\](\.|$)/.test(o);)o=o.replace(/^\[(\d+)\]\.?/,"");let e=n(o);if(!e)continue;let i=e.split(".").filter(Boolean);if(0!==i.length){if(1===i.length){l.add(i[0]);continue}for(let e=0;e<i.length-1;e++)t.add(i.slice(0,e+1).join("."));l.add(i.join("."))}}return{generatedAppends:t.size?Array.from(t):void 0,generatedFields:l.size?Array.from(l):void 0}}var ea=new WeakMap,es=new WeakSet,ed=new WeakSet,eu=new WeakSet,ec=new WeakSet,ep=new WeakSet,eh=new WeakSet,em=new WeakSet,ef=new WeakSet;class eg{createProxy(){return(0,n._)(this,ea)||(0,i._)(this,ea,new Proxy(this,{get:(e,t,l)=>{if("string"==typeof t){if(Reflect.has(e,t)){let n=Reflect.get(e,t,l);return"function"==typeof n?n.bind(e):n}if(Object.prototype.hasOwnProperty.call(e._props,t))return e._getOwnProperty(t,this.createProxy());if(Object.prototype.hasOwnProperty.call(e._methods,t))return e._getOwnMethod(t,this.createProxy());let n=this._findInDelegates(e._delegates,t);return void 0!==n?n.result:void 0}return Reflect.get(e,t,l)},has:(e,t)=>!!("string"==typeof t&&(Reflect.has(e,t)||Object.prototype.hasOwnProperty.call(e._props,t)||Object.prototype.hasOwnProperty.call(e._methods,t)||this._hasInDelegates(e._delegates,t)))||Reflect.has(e,t)})),(0,n._)(this,ea)}defineProperty(e,t){var l;if(this._props[e]&&(null==(l=this._props[e])?void 0:l.once))return;let n=this._props[e];(null==n?void 0:n.meta)&&this._clearMetaNodeCacheFor(n.meta),this._props[e]=t,delete this._observableCache[e],delete this._cache[e],Object.defineProperty(this,e,{configurable:!0,enumerable:!0,get:()=>this._getOwnProperty(e,this.createProxy())})}defineMethod(e,t,l){this._methods[e]=t,"string"==typeof l?this._methodInfos[e]={description:l}:l&&"object"==typeof l?this._methodInfos[e]=l:delete this._methodInfos[e],Object.defineProperty(this,e,{configurable:!0,enumerable:!1,writable:!1,value:t.bind(this.createProxy())})}removeCache(e){if(e in this._observableCache)return delete this._observableCache[e],!0;if(e in this._cache)return delete this._cache[e],!0;if(e in this._pending)return delete this._pending[e],!0;for(let t of this._delegates)if(t.removeCache(e))return!0}delegate(e){if(!(e instanceof eg))throw Error("Delegate must be an instance of FlowContext");this._delegates.includes(e)?console.warn(`[FlowContext] delegate - skip duplicate delegate: ${this._delegates.length}`):this._delegates.unshift(e)}addDelegate(e){if(!(e instanceof eg))throw Error("Delegate must be an instance of FlowContext");this._delegates.includes(e)||this._delegates.unshift(e)}clearDelegates(){this._delegates=[],this._metaNodeCache=new WeakMap}removeDelegate(e){if(!(e instanceof eg))throw Error("Delegate must be an instance of FlowContext");let t=this._delegates.indexOf(e);-1!==t&&this._delegates.splice(t,1)}_clearMetaNodeCacheFor(e){this._metaNodeCache.delete(e)}has(e){return!!this._props[e]}getPropertyMetaTree(e,t){let l=this._getPropertiesMeta();if(e){let l=(0,P.YB)(e);if(l&&l.length>0){let e=async(e,t,l)=>{try{let l="function"==typeof e?await e():e;if(!(null==l?void 0:l.properties))return[];let n=l.properties;if("function"==typeof n){let e=await n();l.properties=e,n=e}let o=(0,r._)(this,es,ev).call(this,n,t,[],l);return Array.isArray(o)?o:await o()}catch(e){return console.warn(`Failed to load meta for ${l}:`,e),[]}},n=(0,r._)(this,ed,ey).call(this,l);if(n){let[o,i,a]=n;if(1===l.length){if("function"==typeof i)return()=>e(i,a,o);if(i.properties){if("function"==typeof i.properties)return()=>e(i,a,o);let t=(0,r._)(this,es,ev).call(this,i.properties,a,[],i);return Array.isArray(t)?t:[]}return[]}if("function"==typeof i){if(null==t?void 0:t.flatten)return()=>e(i,a,o);let l=(0,r._)(this,em,eS).call(this,a);return[(0,r._)(this,ef,eM).call(this,o,i,a,l)]}if(i.properties){let e=[...(0,r._)(this,em,eS).call(this,a),i.title],t=(0,r._)(this,es,ev).call(this,i.properties,a,e,i);return Array.isArray(t)?t:[]}}return[]}if(null===l)return console.warn(`[FlowContext] getPropertyMetaTree - unsupported value format: "${e}". Only "{{ ctx.propertyName }}" format is supported. Returning empty meta tree.`),[]}return Object.entries(l).sort((e,t)=>{let[,l]=e,[,n]=t,o=("function"==typeof l?l.sort:null==l?void 0:l.sort)??0;return(("function"==typeof n?n.sort:null==n?void 0:n.sort)??0)-o}).map(e=>{let[t,l]=e;return(0,r._)(this,ef,eM).call(this,t,l,[t],[])})}async getApiInfos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version||"v1",l=this.createProxy(),n=e=>"string"==typeof e&&e.startsWith("_"),o=e=>"record"===e||"formValues"===e||"popup"===e,i=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,r=(()=>{var e,l,n,o,i,r,a,s;let d=(0,_.B)(this),u=_.F.resolve(t,d)||_.F.resolve(t,"*");if(!u)return{};let c=(null==(n=this)||null==(l=n.api)||null==(e=l.auth)?void 0:e.locale)||(null==(i=this)||null==(o=i.i18n)?void 0:o.language)||(null==(r=this)?void 0:r.locale);try{if(null==u||null==(a=u.getDoc)?void 0:a.length)return u.getDoc(c)||{};return(null==u||null==(s=u.getDoc)?void 0:s.call(u))||{}}catch(e){return{}}})(),a=eT(null==r?void 0:r.methods)?r.methods:{},s=eT(null==r?void 0:r.properties)?r.properties:{},d=e=>"string"==typeof e?{description:e}:eT(e)?e:void 0,u=(e,t)=>{let l="string"==typeof t?t:eT(t)&&"string"==typeof t.description?String(t.description):void 0;return l&&l.includes(`ctx.libs.${e}`)?`libs.${e}`:e},c=e=>{let t=d(e);if(!t)return{};let l={};for(let e of["description","examples","ref","params","returns"]){let n=t[e];void 0!==n&&(l[e]=n)}return Array.isArray(l.examples)&&(l.examples=l.examples.filter(e=>"string"==typeof e&&e.trim())),l},p=e=>{let t=d(e);if(!t)return{};let l={};for(let e of["title","type","interface","description","examples","ref","params","returns"]){let n=t[e];void 0!==n&&(l[e]=n)}return Array.isArray(l.examples)&&(l.examples=l.examples.filter(e=>"string"==typeof e&&e.trim())),l},h=e=>{let t=new WeakSet,l=n=>{if(!n||"object"!=typeof n||t.has(n))return;if(t.add(n),Object.prototype.hasOwnProperty.call(n._methodInfos||{},e)){var o;return null==(o=n._methodInfos)?void 0:o[e]}let i=n._delegates;if(Array.isArray(i))for(let e of i){let t=l(e);if(t)return t}};return l(this)},m=async e=>{let t=this.getPropertyOptions(e);if(null==t?void 0:t.info)try{let e="function"==typeof t.info?t.info.call(l,l):t.info;return(i(e)?await e:e)??void 0}catch(e){return}},f=new Set,g=new Set;for(let e of Object.keys(s))f.add(e);for(let e of Object.keys(a))g.add(e);let v=(e,t)=>{if(e&&"object"==typeof e&&!t.has(e)){t.add(e);try{let t=e._props;if(t&&"object"==typeof t)for(let[e,l]of Object.entries(t))(null==l?void 0:l.info)&&f.add(e)}catch(e){}try{let t=e._methodInfos;if(t&&"object"==typeof t)for(let e of Object.keys(t))g.add(e)}catch(e){}try{let l=e._delegates;if(Array.isArray(l))for(let e of l)v(e,t)}catch(e){}}};v(this,new WeakSet);let y={};for(let e of f){if(n(e)||o(e))continue;let t=s[e],l=await m(e);if(void 0===t&&void 0===l)continue;let i=d(t),r=d(l),a={};if(a={...a={...a,...p(i)},...p(r)},delete a.properties,delete a.completion,!Object.keys(a).length)continue;let c=u(e,t);y[c]=y[c]?{...y[c]||{},...a||{}}:a}for(let e of g){if(n(e))continue;let t=a[e],l=h(e);if(void 0===t&&void 0===l)continue;let o=d(t),i={};i={...i={...i,...c(o)},...c(l)},delete i.properties,delete i.completion,Object.keys(i).length&&(i.type="function",y[e]?y[e]={...y[e]||{},...i||{}}:y[e]=i)}let b=d(s.libs),x=eT(null==b?void 0:b.properties)?b.properties:void 0;if(x)for(let[e,t]of Object.entries(x)){if(n(e))continue;let l=`libs.${e}`;if(y[l])continue;let o=d(t),i={};i={...i,...p(o)},delete i.properties,delete i.completion,i.description&&String(i.description).trim()&&(y[l]=i)}return y}async getEnvInfos(){var e,t,l;let n=this.createProxy(),o=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,i={},r=e=>{try{return e()}catch(e){return}},a=e=>null!=e&&("string"==typeof e?e.trim().length>0:!Array.isArray(e)||e.length>0),s=e=>{var t,l,n,o,i;let r={};if(!e)return r;let s=e;for(let e of["dataSourceKey","collectionName","associationName","filterByTk","sourceId"]){let t=null==s?void 0:s[e];a(t)&&(r[e]=t)}if(!("dataSourceKey"in r)){let e=null==(t=s.getDataSourceKey)?void 0:t.call(s);a(e)&&(r.dataSourceKey=e)}if(!("filterByTk"in r)){let e=null==(l=s.getFilterByTk)?void 0:l.call(s);a(e)&&(r.filterByTk=e)}if(!("filterByTk"in r)){let e=null==(n=s.getMeta)?void 0:n.call(s,"currentFilterByTk");a(e)&&(r.filterByTk=e)}if(!("sourceId"in r)){let e=null==(o=s.getSourceId)?void 0:o.call(s);a(e)&&(r.sourceId=e)}if(!("collectionName"in r)||!("associationName"in r)){let e=null==(i=s.getResourceName)?void 0:i.call(s),t="string"==typeof e?e.trim():"";if(t){let e=t.split(".").map(e=>e.trim()).filter(Boolean);1===e.length?"collectionName"in r||(r.collectionName=e[0]):e.length>=2&&("collectionName"in r||(r.collectionName=e[0]),"associationName"in r||(r.associationName=e.slice(1).join(".")))}}return r},d=await (async()=>{try{let e=n.popup;return o(e)?await e:e}catch(e){return}})(),u=r(()=>n.model),c=r(()=>n.blockModel),p=r(()=>{var e;return null==(e=n.view)?void 0:e.inputArgs}),h=r(()=>n.resource),m=s(null==d?void 0:d.resource),f=c,g=c?"ctx.blockModel":void 0,v=g?`${g}.resource`:void 0,y=s(null==f?void 0:f.resource),b=s(p),x=s(h),w=e=>{for(let t of e)if(a(t.value))return{value:t.value,getVar:t.getVar}},S=e=>a(e.collectionName)||a(e.dataSourceKey)||a(e.associationName),M=S(m)?"ctx.popup.resource":S(y)?v:S(b)?"ctx.view.inputArgs":S(x)?"ctx.resource":void 0,F=w([{value:null==m?void 0:m.collectionName,getVar:"ctx.popup.resource.collectionName"},{value:null==y?void 0:y.collectionName,getVar:`${v}.collectionName`},{value:null==b?void 0:b.collectionName,getVar:"ctx.view.inputArgs.collectionName"},{value:null==x?void 0:x.collectionName,getVar:"ctx.resource.collectionName"}]),A=w([{value:null==m?void 0:m.dataSourceKey,getVar:"ctx.popup.resource.dataSourceKey"},{value:null==y?void 0:y.dataSourceKey,getVar:`${v}.dataSourceKey`},{value:null==b?void 0:b.dataSourceKey,getVar:"ctx.view.inputArgs.dataSourceKey"},{value:null==x?void 0:x.dataSourceKey,getVar:"ctx.resource.dataSourceKey"}]),k=w([{value:null==m?void 0:m.associationName,getVar:"ctx.popup.resource.associationName"},{value:null==y?void 0:y.associationName,getVar:`${v}.associationName`},{value:null==b?void 0:b.associationName,getVar:"ctx.view.inputArgs.associationName"},{value:null==x?void 0:x.associationName,getVar:"ctx.resource.associationName"}]),C=w([{value:null==m?void 0:m.filterByTk,getVar:"ctx.popup.resource.filterByTk"},{value:null==y?void 0:y.filterByTk,getVar:`${v}.filterByTk`},{value:null==b?void 0:b.filterByTk,getVar:"ctx.view.inputArgs.filterByTk"},{value:null==x?void 0:x.filterByTk,getVar:"ctx.resource.filterByTk"}]),P=w([{value:null==m?void 0:m.sourceId,getVar:"ctx.popup.resource.sourceId"},{value:null==y?void 0:y.sourceId,getVar:`${v}.sourceId`},{value:null==b?void 0:b.sourceId,getVar:"ctx.view.inputArgs.sourceId"},{value:null==x?void 0:x.sourceId,getVar:"ctx.resource.sourceId"}]),j={},I=!1,E=null==F?void 0:F.value;a(E)&&(j.collectionName={description:"Collection name",getVar:(null==F?void 0:F.getVar)||(M?`${M}.collectionName`:void 0),value:E},I=!0);let R=null==A?void 0:A.value;a(R)&&(j.dataSourceKey={description:"Data source key",getVar:(null==A?void 0:A.getVar)||(M?`${M}.dataSourceKey`:void 0),value:R},I=!0);let _=null==k?void 0:k.value;a(_)&&(j.associationName={description:"Association name",getVar:(null==k?void 0:k.getVar)||(M?`${M}.associationName`:void 0),value:_},I=!0),I&&(a(null==C?void 0:C.value)&&(j.filterByTk={description:"Record filterByTk",getVar:(null==C?void 0:C.getVar)||(M?`${M}.filterByTk`:void 0)}),a(null==P?void 0:P.value)&&(j.sourceId={description:"Source record ID (sourceId)",getVar:(null==P?void 0:P.getVar)||(M?`${M}.sourceId`:void 0)}),i.resource={description:"Resource information",getVar:M,properties:j}),a(null==C?void 0:C.value)&&(i.record={description:"Current record",getVar:"ctx.record"});let T=e=>{try{let t=null==e?void 0:e.title;if("string"==typeof t&&t.trim())return t}catch(e){}try{var t,l;let n=null==e||null==(l=e.constructor)||null==(t=l.meta)?void 0:t.label;if("string"==typeof n&&n.trim())return n}catch(e){}};if(u){let t=T(u),l=u.uid,n=null==(e=u.constructor)?void 0:e.name,o=s(u.resource),r={},d=!1,c=o.collectionName;a(c)&&(r.collectionName={description:"Collection name",getVar:"ctx.model.resource.collectionName",value:c},d=!0);let p=o.dataSourceKey;a(p)&&(r.dataSourceKey={description:"Data source key",getVar:"ctx.model.resource.dataSourceKey",value:p},d=!0);let h=o.associationName;a(h)&&(r.associationName={description:"Association name",getVar:"ctx.model.resource.associationName",value:h},d=!0),i.flowModel={description:"Current FlowModel information",getVar:"ctx.model",properties:{...a(t)?{label:{description:"Flow model label",value:t}}:{},...a(n)?{modelClass:{description:"Flow model class name",value:n}}:{},...a(l)?{uid:{description:"Flow model uid",getVar:"ctx.model.uid",value:l}}:{},...d?{resource:{description:"Flow model resource",getVar:"ctx.model.resource",properties:r}}:{}}}}if((null==d?void 0:d.uid)&&(i.popup={description:"Current popup information",getVar:"ctx.popup",properties:{uid:{description:"Popup uid",getVar:"ctx.popup.uid",value:d.uid},...(null==d?void 0:d.record)?{record:{description:"Popup record",getVar:"ctx.popup.record"}}:{},...(null==d?void 0:d.sourceRecord)?{sourceRecord:{description:"Popup source record",getVar:"ctx.popup.sourceRecord"}}:{}}}),f){let e=T(f),l=f.uid,n=null==(t=f.constructor)?void 0:t.name,o={},r=!1,s=y.collectionName;a(s)&&(o.collectionName={description:"Collection name",getVar:`${v}.collectionName`,value:s},r=!0);let d=y.dataSourceKey;a(d)&&(o.dataSourceKey={description:"Data source key",getVar:`${v}.dataSourceKey`,value:d},r=!0);let u=y.associationName;a(u)&&(o.associationName={description:"Association name",getVar:`${v}.associationName`,value:u},r=!0),i.block={description:"Current block information",getVar:g,properties:{...a(e)?{label:{description:"Block label",value:e}}:{},...a(n)?{modelClass:{description:"Block model class name",value:n}}:{},...a(l)?{uid:{description:"Block uid",getVar:`${g}.uid`,value:l}}:{},...r?{resource:{description:"Block resource",getVar:v,properties:o}}:{}}}}let D=(()=>{let e=null==d?void 0:d.uid;if(a(e))return String(e).trim();let t=null==p?void 0:p.viewUid;if(a(t))return String(t).trim()})(),N=r(()=>n.engine),O=D?null==N?void 0:N.getModel(D,!0):void 0,$=e=>{var t;return(null==(t=e.context)?void 0:t.blockModel)===e};if(O){let e=[O],t=[];for(let n=0;n<e.length;n++){let o=e[n];if($(o)){let e=(null==(l=o.constructor)?void 0:l.name)||o.uid,n=T(o)||e||o.uid,i=s(o.resource),r={};a(i.dataSourceKey)&&(r.dataSourceKey=i.dataSourceKey),a(i.collectionName)&&(r.collectionName=i.collectionName),a(i.associationName)&&(r.associationName=i.associationName);let d={uid:o.uid,label:n,modelClass:e,...Object.keys(r).length>0?{resource:r}:{}};t.push(d)}let i=o.subModels;if(i&&"object"==typeof i)for(let t of Object.values(i))t&&(Array.isArray(t)?e.push(...t):e.push(t))}t.length&&(i.currentViewBlocks={description:"Current view blocks",value:t})}return i}async getVarInfos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.maxDepth??3,l=Number.isFinite(t)?Math.max(1,Math.floor(t)):3,n="v1",o=this.createProxy(),i=e=>"string"==typeof e&&e.startsWith("_"),r=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,a=new WeakMap,s=async e=>{if(!e)return;if("function"!=typeof e)return e;let t=a.get(e);return t||(t=(async()=>{let t=e.call(o,o);return(r(t)?await t:t)||null})(),a.set(e,t)),await t||void 0},d=e=>{if("string"!=typeof e)return;let t=e.trim();if(!t)return;let l=(0,P.YB)(t);return Array.isArray(l)&&l.length>0?l.join("."):"ctx"===t?"":t.startsWith("ctx.")?t.slice(4).trim():t},u=(()=>{let t=e.path;return("string"==typeof t?[t]:Array.isArray(t)?t:[]).map(e=>d(String(e))).filter(e=>"string"==typeof e&&e.length>0)})(),c=(()=>{let t=e.path;return"string"==typeof t?""===d(t):!!Array.isArray(t)&&t.some(e=>""===d(String(e)))})(),p=(()=>{var e,t,l,o,i,r,a,s;let d=(0,_.B)(this),u=_.F.resolve(n,d)||_.F.resolve(n,"*");if(!u)return{};let c=(null==(l=this)||null==(t=l.api)||null==(e=t.auth)?void 0:e.locale)||(null==(i=this)||null==(o=i.i18n)?void 0:o.language)||(null==(r=this)?void 0:r.locale);try{if(null==u||null==(a=u.getDoc)?void 0:a.length)return u.getDoc(c)||{};return(null==u||null==(s=u.getDoc)?void 0:s.call(u))||{}}catch(e){return{}}})();eT(null==p?void 0:p.methods)&&p.methods,eT(null==p?void 0:p.properties)&&p.properties;let h=e=>"string"==typeof e?{description:e}:eT(e)?e:void 0,m=async(e,t)=>{if(void 0!==e){if("boolean"==typeof e)return e;if("function"==typeof e)try{let l=t(e);return r(l)?!!await l:!!l}catch(e){return!1}return!!e}},f=async(e,t)=>{if(null!=e){if("string"==typeof e)return e;if("function"==typeof e)try{let l=t(e),n=r(l)?await l:l;if("string"==typeof n)return n;return null==n?void 0:String(n)}catch(e){return}return String(e)}},g=async e=>{let t=!1,l=[];try{if("boolean"==typeof e)t=e;else if(Array.isArray(e))l=e;else if("function"==typeof e){let n=e(o),i=r(n)?await n:n;"boolean"==typeof i?t=i:Array.isArray(i)&&(l=i)}}catch(e){t=!1,l=[]}let n=[];if(Array.isArray(l))for(let e of l){if("string"!=typeof e)continue;let t=e.trim();!(!t||"ctx"===t||t.startsWith("ctx."))&&(/\s/.test(t)||n.push(t))}return{hideSelf:!!t,hideSubpaths:n}},v=(e,t)=>{if(!e)return!1;let l=e.split(".").filter(Boolean);for(;l.length;){if(t.has(l.join(".")))return!0;l.pop()}return!1},y=e=>{let t=h(e);if(!t)return{};let l={};for(let e of["title","type","interface","description","examples","completion","ref","params","returns"]){let n=t[e];void 0!==n&&(l[e]=n)}return Array.isArray(l.examples)&&(l.examples=l.examples.filter(e=>"string"==typeof e&&e.trim())),l},b=async e=>{let t,n,{docNode:r,metaNode:a,infoNode:d,depth:u,pathFromRoot:c,hiddenPrefixes:p}=e,x=c.join(".");if(v(x,p))return;let w=h(r),S=h(d),M=await g(null==w?void 0:w.hidden);if(M.hideSelf)return;let F=await g(null==S?void 0:S.hidden);if(F.hideSelf)return;let A=await s(a);if(await m(null==A?void 0:A.hidden,e=>e.call(A,o)))return;let k=new Set(p);for(let e of[...M.hideSubpaths,...F.hideSubpaths]){let t=e.trim();if(!t)continue;let l="ctx"===t?"":t.startsWith("ctx.")?t.slice(4):t;if(!l)continue;let n=x?`${x}.${l}`:l;k.add(n)}let C=await m(null==w?void 0:w.disabled,e=>e(o)),P=await f(null==w?void 0:w.disabledReason,e=>e(o)),j=await m(null==A?void 0:A.disabled,e=>e.call(A,o)),I=await f(null==A?void 0:A.disabledReason,e=>e.call(A,o)),E=await m(null==S?void 0:S.disabled,e=>e(o)),R=await f(null==S?void 0:S.disabledReason,e=>e(o)),_=void 0!==E?E:void 0!==j?j:C,T=void 0!==R?R:void 0!==I?I:P,D={};if(D={...D={...D={...D,...y(w)},...y(A)},...y(S)},void 0!==_&&(D.disabled=!!_),void 0!==T&&(D.disabledReason=T),u>=l)return Object.keys(D).length?D:void 0;let N=eT(null==w?void 0:w.properties)?w.properties:void 0;if(null==A?void 0:A.properties)try{let e=A.properties;if("function"==typeof e){let l=await e.call(A,o);A.properties=l,t=l}else eT(e)&&(t=e)}catch(e){t=void 0}if(eT(S)&&(null==S?void 0:S.properties))try{let e=S.properties;if("function"==typeof e){let t=await e.call(S,o);S.properties=t,n=t}else eT(e)&&(n=e)}catch(e){n=void 0}let O=new Set;if(N)for(let e of Object.keys(N))O.add(e);if(t)for(let e of Object.keys(t))O.add(e);if(n)for(let e of Object.keys(n))O.add(e);if(!O.size)return Object.keys(D).length?D:void 0;let $={};for(let e of O){if(i(e))continue;let l=await b({docNode:null==N?void 0:N[e],metaNode:null==t?void 0:t[e],infoNode:null==n?void 0:n[e],depth:u+1,pathFromRoot:[...c,e],hiddenPrefixes:k});l&&($[e]=l)}if(Object.keys($).length&&(D.properties=$),Object.keys(D).length)return D},x=async e=>{if(!e.length)return;let[t,...l]=e,n=this.getPropertyOptions(t);if(null==n?void 0:n.meta)try{if(!l.length)return n.meta;let e=await s(n.meta);if(!e)return;for(let t=0;t<l.length;t++){let n=l[t],i=null==e?void 0:e.properties;if(!i)break;if("function"==typeof i){let t=await i.call(e,o);e.properties=t,i=t}if(!i||"object"!=typeof i)break;let r=null==i?void 0:i[n];if(!r)break;if(t===l.length-1)return r;let a=await s(r);if(!a)break;e=a}return}catch(e){return}};if(!c&&u.length){let e={};for(let t of u){let l=t.split(".").map(e=>e.trim()).filter(Boolean);if(l.some(e=>i(e))||!l.length)continue;let n=await x(l),o=await b({docNode:void 0,metaNode:n,infoNode:void 0,depth:1,pathFromRoot:[],hiddenPrefixes:new Set});o&&(e[t]=o)}return e}let w=this._getPropertiesMeta(),S={};for(let[e,t]of Object.entries(w)){if(i(e))continue;let l=await b({docNode:void 0,metaNode:t,infoNode:void 0,depth:1,pathFromRoot:[e],hiddenPrefixes:new Set});l&&(S[e]=l)}return S}_getPropertiesMeta(){let e={};for(let t of this._delegates)Object.assign(e,t._getPropertiesMeta());for(let[t,l]of Object.entries(this._props))l.meta&&(e[t]=(l.meta,l.meta));return e}_getOwnProperty(e,t){let l=this._props[e];if(l){if("value"in l)return l.value;if(l.get){if(!1===l.cache)return l.get(t);let n=l.observable?"_observableCache":"_cache";if(e in this[n])return this[n][e];if(this._pending[e])return this._pending[e];let o=l.get(this.createProxy());return"object"==typeof o&&null!==o&&"function"==typeof o.then||"function"==typeof o&&"function"==typeof o.then?(this._pending[e]=o.then(t=>(this[n][e]=t,delete this._pending[e],t),t=>{throw delete this._pending[e],t}),this._pending[e]):(this[n][e]=o,o)}}}_getOwnMethod(e,t){let l=this._methods[e];return"function"==typeof l?l.bind(t):l}_findPropertyInDelegates(e,t){for(let l of e){if(Object.prototype.hasOwnProperty.call(l._props,t))return l._props[t];let e=this._findPropertyInDelegates(l._delegates,t);if(void 0!==e)return e}}_findInDelegates(e,t){for(let l of e){if(Object.prototype.hasOwnProperty.call(l._props,t))return{result:l._getOwnProperty(t,this.createProxy())};if(Object.prototype.hasOwnProperty.call(l._methods,t))return{result:l._getOwnMethod(t,this.createProxy())};let e=this._findInDelegates(l._delegates,t);if(void 0!==e)return e}}_hasInDelegates(e,t){for(let l of e)if(Object.prototype.hasOwnProperty.call(l._props,t)||Object.prototype.hasOwnProperty.call(l._methods,t)||this._hasInDelegates(l._delegates,t))return!0;return!1}getPropertyOptions(e){return Object.prototype.hasOwnProperty.call(this._props,e)?this._props[e]:this._findPropertyInDelegates(this._delegates,e)}constructor(){return(0,a._)(this,es),(0,a._)(this,ed),(0,a._)(this,eu),(0,a._)(this,ec),(0,a._)(this,ep),(0,a._)(this,eh),(0,a._)(this,em),(0,a._)(this,ef),(0,s._)(this,"_props",{}),(0,s._)(this,"_methods",{}),(0,s._)(this,"_methodInfos",{}),(0,s._)(this,"_cache",{}),(0,s._)(this,"_observableCache",d.observable.shallow({})),(0,s._)(this,"_delegates",[]),(0,s._)(this,"_pending",{}),(0,o._)(this,ea,{writable:!0,value:null}),(0,s._)(this,"_metaNodeCache",new WeakMap),this.createProxy()}}function ev(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3?arguments[3]:void 0;return"function"==typeof e?async()=>{let o=await e();n&&(n.properties=o);let i=Object.entries(o);return i.sort((e,t)=>{let[,l]=e,[,n]=t;return((null==n?void 0:n.sort)??0)-((null==l?void 0:l.sort)??0)}),i.map(e=>{let[n,o]=e;return(0,r._)(this,ef,eM).call(this,n,o,[...t,n],l)})}:Object.entries(e).sort((e,t)=>{let[,l]=e,[,n]=t;return((null==n?void 0:n.sort)??0)-((null==l?void 0:l.sort)??0)}).map(e=>{let[n,o]=e;return(0,r._)(this,ef,eM).call(this,n,o,[...t,n],l)})}function ey(e){if(0===e.length)return null;let[t,...l]=e,n=this._props[t];if(null==n?void 0:n.meta)return(0,r._)(this,ec,ex).call(this,t,n.meta,l,[t]);let o=(0,r._)(this,eu,eb).call(this,this._delegates,t);return o?(0,r._)(this,ec,ex).call(this,t,o,l,[t]):null}function eb(e,t){for(let l of e){let e=l._props[t];if(null==e?void 0:e.meta)return e.meta;let n=(0,r._)(this,eu,eb).call(this,l._delegates,t);if(n)return n}return null}function ex(e,t,l,n){if(0===l.length)return[e,t,n];if("function"==typeof t)return[l[l.length-1],async()=>{let e=await t();return await (0,r._)(this,eh,ew).call(this,e,l)},[...n,...l]];if(t.properties){let[e,...o]=l,i=[...n,e];if("function"==typeof t.properties)return[l[l.length-1],async()=>{let l=t.properties,n=await l();t.properties=n;let i=n[e];if(!i)throw Error(`Property ${e} not found in resolved properties`);return await (0,r._)(this,eh,ew).call(this,i,o)},[...n,...l]];let a=t.properties[e];if(a)return(0,r._)(this,ec,ex).call(this,e,a,o,i)}return null}async function ew(e,t){if(0===t.length)return e;let l=e;for(let e of t){let n=h().get(l,"properties");if(!n)throw Error(`Property path not found: ${t.join(".")}`);if("function"==typeof n){let e=await n();l.properties=e,n=e}let o=n[e];if(!o)throw Error(`Property ${e} not found while resolving path: ${t.join(".")}`);l=o}return l}function eS(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(0===e.length)return[];let l=t?e.slice(0,-1):e;if(0===l.length)return[];let n=[],o=this._getPropertiesMeta();for(let e=0;e<l.length;e++){let t=l[e],i=o[t];if(!i||"function"==typeof i){n.push(t);break}if(n.push(i.title||t),e<l.length-1&&i.properties&&"function"!=typeof i.properties)o=i.properties;else if(e<l.length-1){for(let t=e+1;t<l.length;t++)n.push(l[t]);break}}return n}function eM(e,t){let l,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[e],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=this._metaNodeCache.get(t);if(i)return i.paths=n,i.parentTitles=o.length>0?o:void 0,i;let a=e=>{if(!e)return{disabled:!1,hidden:!1};let t="function"==typeof e.disabled?e.disabled():e.disabled,l="function"==typeof e.disabledReason?e.disabledReason():e.disabledReason,n="function"==typeof e.hidden?e.hidden():e.hidden;return{disabled:!(t&&"function"==typeof t.then)&&!!t,reason:l&&"function"==typeof l.then?void 0:l,hidden:!(n&&"function"==typeof n.then)&&!!n}};if("function"==typeof t){let i=e,s=t.hasChildren;l={name:e,title:t.title||i,type:"object",interface:void 0,options:void 0,uiSchema:void 0,paths:n,parentTitles:o.length>0?o:void 0,disabled:()=>{let e=t();return(!e||"function"!=typeof e.then)&&a(e).disabled},disabledReason:()=>{let e=t();if(!e||"function"!=typeof e.then)return a(e).reason},hidden:()=>{let e=t();return(!e||"function"!=typeof e.then)&&a(e).hidden},children:!1===s?void 0:async()=>{try{let i=await t(),a=(null==i?void 0:i.title)||e;if(l.title=a,l.type=null==i?void 0:i.type,l.interface=null==i?void 0:i.interface,l.options=null==i?void 0:i.options,l.uiSchema=null==i?void 0:i.uiSchema,!(null==i?void 0:i.properties))return[];let s=(0,r._)(this,es,ev).call(this,i.properties,n,[...o,a],i),d=Array.isArray(s)?s:await s();return l.children=d,d}catch(t){return console.warn(`Failed to load meta for ${e}:`,t),[]}}}}else{let i=t.title,{disabled:s,reason:d,hidden:u}=a(t);l={name:e,title:i,type:t.type,interface:t.interface,options:t.options,uiSchema:t.uiSchema,paths:n,parentTitles:o.length>0?o:void 0,disabled:s,disabledReason:d,hidden:u,children:t.properties?(0,r._)(this,es,ev).call(this,t.properties,n,[...o,i],t):void 0}}return this._metaNodeCache.set(t,l),l}class eF extends eg{constructor(){super(),this.defineMethod("getModel",(e,t)=>this.engine.getModel(e,t)),this.defineMethod("request",e=>{let t=this.app;return"string"==typeof(null==e?void 0:e.url)&&el(e.url,t)?u.A.request(e):this.api.request(e)}),this.defineMethod("runjs",async function(e,t,l){let{preprocessTemplates:n,...o}=l||{},i={...(null==o?void 0:o.globals)||{},...t||{}},r=await this.createJSRunner({...o||{},globals:i}),a=(0,k.R)({version:null==o?void 0:o.version,preprocessTemplates:n}),s=await (0,P.ji)(String(e??""),{preprocessTemplates:a});return r.run(s)})}}class eA extends eF{}class ek extends eF{constructor(e){if(!(e instanceof F.$))throw Error("Invalid FlowEngine instance");super(),(0,s._)(this,"engine",void 0),this.engine=e,this.engine=e;let t=new M.zA;t.setFlowEngine(this.engine);let n=new M.qS({key:"main",displayName:"Main"});t.addDataSource(n),this.defineProperty("engine",{value:this.engine,info:{description:"FlowEngine instance.",detail:"FlowEngine"}}),this.defineProperty("sql",{get:e=>new C.tP(e),cache:!1,info:{description:"SQL helper (FlowSQLRepository).",detail:"FlowSQLRepository"}}),this.defineProperty("dataSourceManager",{value:t,info:{description:"DataSourceManager instance.",detail:"DataSourceManager"}});let o=new A(this);this.defineMethod("t",(e,t)=>o.translate(e,t)),this.defineProperty("locale",{get:()=>{var e,t,l;return(null==(t=this.api)||null==(e=t.auth)?void 0:e.locale)||(null==(l=this.i18n)?void 0:l.language)},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("Current language"),sort:970}),{title:(0,P.MI)("Current language"),sort:970,hasChildren:!1})}),this.defineMethod("renderJson",function(e){return this.resolveJsonTemplate(e)}),this.defineMethod("resolveJsonTemplate",async function(e){let t=(0,P.nN)(e),l=Object.keys(t||{});if(!l.length)return(0,P.M)(e,this);let n={};for(let e of l){let l=t[e]||[],o=this.getPropertyOptions(e),i=null==o?void 0:o.resolveOnServer;if(!0===i)n[e]=l;else if("function"==typeof i){let t=l.filter(e=>{try{return!!i(e)}catch(e){return!1}});t.length&&(n[e]=t)}}let o=Object.keys(n).length>0,i=e;if(o){let t=e=>{let t=(0,R.XU)(e);if(t)return t;try{var l,n,o,i,r,a,s,d,u,c,p,h,m;let t=null==e||null==(n=e.resource)||null==(l=n.getMeta)?void 0:l.call(n,"currentFilterByTk");if(null==t)return;let f=(null==e||null==(o=e.collection)?void 0:o.name)||(null==e||null==(c=e.resource)||null==(u=c.getResourceName)||null==(d=u.call(c))||null==(s=d.split)||null==(a=s.call(d,"."))||null==(r=a.slice)||null==(i=r.call(a,-1))?void 0:i[0]);if(!f)return;let g=(null==e||null==(p=e.collection)?void 0:p.dataSourceKey)||(null==e||null==(m=e.resource)||null==(h=m.getDataSourceKey)?void 0:h.call(m));return{collection:f,dataSourceKey:g,filterByTk:t}}catch(e){return}},l=async()=>{let e={};try{var t,l;let o=null==(t=(l=this)._getPropertiesMeta)?void 0:t.call(l);if(!o||"object"!=typeof o)return e;for(let[t,l]of Object.entries(o))if(n[t])try{let o;if("function"==typeof l){let e=l;o=await e()}else o=l;if(!o||"object"!=typeof o)continue;let i=o.buildVariablesParams;if("function"!=typeof i)continue;let r=await i(this);if(!r)continue;let a=n[t]||[],s=eo(r,a);s&&("object"!=typeof s||Object.keys(s).length)&&(e[t]=s)}catch(e){}}catch(e){}return e},o=await l(),s={...o};try{let e="formValues",l=n[e]||[];if(l.length){let n=new Set;for(let e of l){let t=ei(e);t&&n.add(t)}let i=null==o?void 0:o[e],r=new Set;if(!i||"object"!=typeof i||Array.isArray(i)||en(i)||Object.keys(i).forEach(e=>r.add(e)),[...n].filter(e=>!r.has(e)).length){let n=t(this);if(n){let{generatedFields:t,generatedAppends:o}=er(l),i={...n,fields:t,appends:o},r=s[e];if(r&&"object"==typeof r&&!Array.isArray(r)&&!en(r)){for(let[t,l]of Object.entries(r))s[`${e}.${t}`]=l;delete s[e]}s[e]=i}}}}catch(e){}let d=Object.keys(s).length?(0,E.d)(this,s):void 0;if(!d){let t=Object.keys(n);if(t.length>0&&t.every(e=>{var t;return null==(t=this.getPropertyOptions(e))?void 0:t.serverOnlyWhenContextParams}))return(0,P.M)(e,this)}if(this.api)try{i=await (0,I.o4)(this,{template:e,contextParams:d||{}})}catch(t){var r,a;null==(a=this.logger)||null==(r=a.warn)||r.call(a,{err:t},"variables:resolve failed, fallback to client-only"),i=e}}return(0,P.M)(i,this)}),this.defineMethod("getVar",async function(e){let t=("string"==typeof e?e:String(e??"")).trim();if(t){if("ctx"!==t&&!t.startsWith("ctx."))throw Error(`ctx.getVar(path) expects an expression starting with "ctx.", got: "${t}"`);return this.resolveJsonTemplate(`{{ ${t} }}`)}},'Resolve a ctx expression value by path (expression starts with "ctx.").'),this.defineProperty("requirejs",{get:()=>{var e,t;return null==(t=this.app)||null==(e=t.requirejs)?void 0:e.requirejs}}),this.defineProperty("token",{get:()=>{var e,t;return null==(t=this.api)||null==(e=t.auth)?void 0:e.token},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("API Token"),sort:980}),{title:"API Token",sort:980,hasChildren:!1})}),this.defineProperty("role",{get:()=>{var e,t;return null==(t=this.api)||null==(e=t.auth)?void 0:e.role},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("Current role"),sort:990}),{title:(0,P.MI)("Current role"),sort:990,hasChildren:!1})}),this.defineProperty("urlSearchParams",{cache:!1,get:()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t;return f().parse(l)||{}},meta:Object.assign(()=>({type:"object",title:this.t("URL search params"),sort:970,disabled:()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t;return 0===Object.keys(f().parse(l)||{}).length},disabledReason:()=>this.t("The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string."),properties:async()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t,n=f().parse(l)||{},o={};for(let e of Object.keys(n))o[e]={type:"string",title:e};return o}}),{title:(0,P.MI)("URL search params"),sort:970,hasChildren:!0})}),this.defineProperty("logger",{get:()=>this.engine.logger.child({module:"flow-engine"})}),this.defineProperty("auth",{get:()=>({roleName:this.api.auth.role,locale:this.api.auth.locale,token:this.api.auth.token,user:this.user})}),this.defineProperty("date",{get:()=>{let e=t=>new Proxy({},{get:(l,n)=>{if("string"!=typeof n)return;let o=[...t,n];if(!(0,P.JE)(o))return;let i=(0,P.Vv)(o);return void 0!==i?i:e(o)}});return e(["date"])},cache:!1}),this.defineMethod("loadCSS",async e=>{let t=(0,P.i)(e);return new Promise((e,l)=>{if(document.querySelector(`link[href="${t}"]`))return void e(null);let n=document.createElement("link");n.rel="stylesheet",n.href=t,n.onload=()=>e(null),n.onerror=()=>l(Error(`Failed to load CSS: ${t}`)),document.head.appendChild(n)})},{description:"Load a CSS file by URL (browser only).",params:[{name:"href",type:"string",description:"CSS URL."}],returns:{type:"Promise<void>"},completion:{insertText:"await ctx.loadCSS('https://example.com/style.css')"},examples:["await ctx.loadCSS('https://example.com/style.css');"]}),this.defineMethod("requireAsync",async e=>{if((0,P.yp)(e))return this.loadCSS(e);let t=(0,P.i)(e,{raw:!0});return await H(this.requirejs,t)}),this.defineMethod("importAsync",async function(e){return(0,P.yp)(e)?this.loadCSS(e):await ee(this,e,{importer:G})}),this.defineMethod("createJSRunner",async function(e){try{let e=await Promise.resolve().then(l.bind(l,88828));"function"==typeof(null==e?void 0:e.setupRunJSContexts)&&await e.setupRunJSContexts()}catch(e){}let t=(null==e?void 0:e.version)||"v1",n=(0,_.B)(this),o=_.F.resolve(t,n)||eW,i=new o(this);i.defineMethod("t",(e,t)=>this.t(e,{ns:"runjs",...t}));let r={};try{var a,s,d,u,c,p,h,m;let e=(null==(d=this)||null==(s=d.api)||null==(a=s.auth)?void 0:a.locale)||(null==(c=this)||null==(u=c.i18n)?void 0:u.language)||(null==(p=this)?void 0:p.locale);r=(null==o||null==(h=o.getDoc)?void 0:h.length)?o.getDoc(e)||{}:(null==o||null==(m=o.getDoc)?void 0:m.call(o))||{}}catch(e){r={}}let f={ctx:eq(i,{doc:r}),...(null==e?void 0:e.globals)||{}},{timeoutMs:g}=e||{};return new k.I({globals:f,timeoutMs:g})}),this.defineMethod("buildServerContextParams",function(e){return(0,E.d)(this,e)}),this.defineMethod("getAction",function(e){return this.engine.getAction(e)}),this.defineMethod("getActions",function(){return this.engine.getActions()}),this.defineMethod("getEvents",function(){return this.engine.getEvents()}),this.defineMethod("runAction",async function(e,t){let l=this.engine.getAction(e),n=await (0,T.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let o={...await (0,P.gG)(l.defaultParams,n)||{},...t||{}},i=l.useRawParams;if("function"==typeof i&&(i=await i(n)),i||(o=await n.resolveJsonTemplate(o)),!l.handler)throw Error(`Action '${e}' has no handler.`);return l.handler(n,o)}),this.defineProperty("acl",{get:()=>new x(this.engine)}),this.defineMethod("aclCheck",function(e){return this.acl.aclCheck(e)}),this.defineMethod("createResource",function(e){return this.engine.createResource(e,{context:this.createProxy()})}),this.defineMethod("makeResource",function(e){return this.engine.createResource(e,{context:this.createProxy()})}),this.defineMethod("initResource",function(e){return this.has("resource")||this.defineProperty("resource",{get:()=>this.createResource(e)}),this.resource}),this.defineMethod("useResource",function(e){return this.initResource(e)})}}class eC extends eA{constructor(e){if(!e||"object"!=typeof e)throw Error("Invalid FlowModel instance");super(),this.addDelegate(e.flowEngine.context),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)}),this.defineProperty("model",{value:e,info:{description:"Current FlowModel instance.",detail:"FlowModel"}});let t=(0,g.createRef)();this.defineProperty("ref",{get:()=>(this.model._refCreated=!0,t),info:{description:"Stable React ref for the view container.",detail:"React.RefObject<HTMLDivElement>"}}),this.defineMethod("openView",async function(e,t){var l,n,o,i,r;let a={...t};(a.defineProperties||a.defineMethods)&&(a.navigation=!1);let s=null;if(!(s=await this.engine.loadModel({uid:e}))){let t=(e,t)=>{let l={};for(let n of t)void 0!==(null==e?void 0:e[n])&&(l[n]=e[n]);return l};s=this.engine.createModel({uid:e,use:"PopupActionModel",parentId:this.model.uid,subType:"object",subKey:e,stepParams:{popupSettings:{openView:{...t(a,["dataSourceKey","collectionName","associationName","mode","size"])}}}}),await s.save()}s.setParent(this.model);let d=(null==a?void 0:a.routeViewUid)??(null==a?void 0:a.viewUid)??((null==(n=s.stepParams)||null==(l=n.popupSettings)?void 0:l.openView)?s.uid:this.model.uid),u=this.view,c=(null==a?void 0:a.isMobileLayout)?"embed":(null==a?void 0:a.mode)||"drawer",p={...a,viewUid:d,navigation:a.navigation};p.filterByTk=p.filterByTk||(null==(o=this.inputArgs)?void 0:o.filterByTk),p.sourceId=p.sourceId||(null==(i=this.inputArgs)?void 0:i.sourceId);let h={type:c,inputArgs:p,navigation:null==u?void 0:u.navigation,preventClose:!!(null==a?void 0:a.preventClose),engineCtx:this.engine.context};s.context.defineProperty("view",{value:h});let m=null==(r=s.getFlow)?void 0:r.call(s,"popupSettings"),f=null==m?void 0:m.on,g="click";"string"==typeof f&&f?g=f:f&&"object"==typeof f&&"string"==typeof f.eventName&&f.eventName&&(g=f.eventName),await s.dispatchEvent(g,{...a},{debounce:!0})}),this.defineMethod("getEvents",function(){return this.model.getEvents()}),this.defineMethod("getAction",function(e){return this.model.getAction(e)}),this.defineMethod("getActions",function(){return this.model.getActions()}),this.defineMethod("runAction",async function(e,t){let l=this.model.getAction(e),n=await (0,T.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let o={...await (0,P.gG)(l.defaultParams,n)||{},...t||{}},i=l.useRawParams;if("function"==typeof i&&(i=await i(n)),i||(o=await n.resolveJsonTemplate(o)),!l.handler)throw Error(`Action '${e}' has no handler.`);return l.handler(n,o)})}}class eP extends eA{constructor(e,t){if(!e||"object"!=typeof e)throw Error("Invalid FlowModel instance");super(),(0,s._)(this,"master",void 0),(0,s._)(this,"fork",void 0),this.master=e,this.fork=t,this.addDelegate(this.master.context),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)}),this.defineProperty("model",{get:()=>this.fork,info:{description:"Current ForkFlowModel instance (as model).",detail:"ForkFlowModel"}});let l=(0,g.createRef)();this.defineProperty("ref",{get:()=>(this.fork._refCreated=!0,l),info:{description:"Stable React ref for the view container.",detail:"React.RefObject<HTMLDivElement>"}})}}class ej extends eA{_getOwnProperty(e){if("runtime"===this.mode)return super._getOwnProperty(e,this.createProxy());let t=this._props[e];if(t){if("value"in t)return S.create()[e];if(t.get){if(!1===t.cache)return S.create()[e];let l=t.observable?"_observableCache":"_cache";return e in this[l]||(this[l][e]=S.create()[e]),this[l][e]}}}exit(){throw new j.zz(this.flowKey,this.model.uid)}exitAll(){throw new j.zz(this.flowKey,this.model.uid)}get mode(){return this._mode}constructor(e,t,l="runtime"){super(),(0,s._)(this,"model",void 0),(0,s._)(this,"flowKey",void 0),(0,s._)(this,"_mode",void 0),(0,s._)(this,"stepResults",void 0),this.model=e,this.flowKey=t,this._mode=l,this.stepResults={},this.addDelegate(this.model.context),this.defineMethod("getStepParams",l=>e.getStepParams(t,l)||{}),this.defineMethod("setStepParams",(l,n)=>e.setStepParams(t,l,n)),this.defineMethod("getStepResults",e=>h().get(this.steps,[e,"result"])),this.defineMethod("initResource",t=>{e.context.has("resource")?console.log(`[FlowRuntimeContext] useResource - resource already defined in context: ${t}`):(e.context.defineProperty("resource",{get:()=>this.makeResource(t)}),e.resource||(e.resource=e.context.resource))}),this.defineMethod("useResource",e=>this.initResource(e)),this.defineProperty("resource",{get:()=>e.resource||e.context.resource,cache:!1}),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)})}}let eI=new WeakMap,eE=new WeakMap,eR=new WeakMap;function e_(e,t){if(null===t)return;if(Array.isArray(e)||Array.isArray(t)||"object"!=typeof e||"object"!=typeof t)return t??e;let l={...e};for(let n of Object.keys(t)){let o=e_(null==e?void 0:e[n],t[n]);void 0===o?delete l[n]:l[n]=o}return l}function eT(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function eD(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}function eN(e){return!0===e||(e&&eT(e)?e:void 0)}function eO(e,t,l){if(!Array.isArray(t)||!t.length)return;let n=e;for(let e of t){if(!e)return;n.children=n.children||{},n.children[e]=n.children[e]||{},n=n.children[e]}n.deprecated=l}function e$(e,t){void 0!==t.deprecated&&(e.deprecated=t.deprecated);let l=t.children||{},n=Object.keys(l);if(n.length)for(let t of(e.children=e.children||{},n))e.children[t]=e.children[t]||{},e$(e.children[t],l[t])}function eB(e){let t={};if(!e)return t;let l=(e,n)=>{if(eT(e))for(let[o,i]of Object.entries(e)){if(!o||!i||"object"!=typeof i||Array.isArray(i))continue;let e=i,r=eN(e.deprecated);r&&eO(t,[...n,o],r),eT(e.properties)&&l(e.properties,[...n,o])}},n=e=>{if(eT(e))for(let[l,n]of Object.entries(e)){if(!l||!n||"object"!=typeof n||Array.isArray(n))continue;let e=eN(n.deprecated);e&&eO(t,[l],e)}};return l(e.properties,[]),n(e.methods),t}function eL(e){let t={},l=new WeakSet,n=(e,l)=>{if(eT(l))for(let[o,i]of Object.entries(l)){if(!o||"string"==typeof i||!i||"object"!=typeof i||Array.isArray(i))continue;let l=i,r=eN(l.deprecated);r&&eO(t,[...e,o],r),eT(l.properties)&&n([...e,o],l.properties)}},o=e=>{if(!e||"object"!=typeof e&&"function"!=typeof e||l.has(e))return;l.add(e);let i=e._methodInfos;if(eT(i))for(let[e,l]of Object.entries(i)){if(!e||!l||"object"!=typeof l||Array.isArray(l))continue;let n=eN(l.deprecated);n&&eO(t,[e],n)}let r=e._props;if(eT(r))for(let[e,l]of Object.entries(r)){if(!e)continue;let o=null==l?void 0:l.info;if(!o||"object"!=typeof o||Array.isArray(o))continue;let i=eN(o.deprecated);i&&eO(t,[e],i),eT(o.properties)&&n([e],o.properties)}let a=e._delegates;if(Array.isArray(a))for(let e of a)o(e)};return o(e),t}function eq(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eB(t.doc);e$(l,eL(e));let n=new Set,o=new WeakMap,i=new WeakMap,r=new WeakMap,a=e=>{if(!e||"string"!=typeof e)return{};let t=2;for(let l of e.split("\n")){if(!l)continue;let e=l.match(/<anonymous>:(\d+):(\d+)/);if(!e)continue;let n=Number(e[1]),o=Number(e[2]);return{line:Number.isFinite(n)&&n>t?n-t:n,column:Number.isFinite(o)?o:void 0,rawLine:n,rawColumn:o}}return{}},s=(e,t)=>{if(eT(t))for(let[n,o]of Object.entries(t)){if(!n||"string"==typeof o||!o||"object"!=typeof o||Array.isArray(o))continue;let t=o,i=eN(t.deprecated);i&&eO(l,[...e,n],i),eT(t.properties)&&s([...e,n],t.properties)}},d=(e,t)=>{if(!e)return;let n=null==t?void 0:t.info;if(!n||"object"!=typeof n||Array.isArray(n))return;let o=eN(n.deprecated);o&&eO(l,[e],o),eT(n.properties)&&s([e],n.properties)},u=(e,t)=>{if(!e||!t||"object"!=typeof t||Array.isArray(t))return;let n=eN(t.deprecated);n&&eO(l,[e],n)},c=e=>{let t=e;for(;t&&("object"==typeof t||"function"==typeof t);){let e=o.get(t);if(!e)break;t=e}return t},p=e=>{if(e){if("string"==typeof e)return e.trim()||void 0;if(Array.isArray(e)){let t=e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean);return t.length?t.join(", "):void 0}}},h=(t,l,o)=>{if(!t||n.has(t))return;n.add(t);let i=null==e?void 0:e.logger,r="function"==typeof(null==e?void 0:e.t)?(t,l)=>e.t(t,{ns:[P.u4,"client"],nsMode:"fallback",...l}):(e,t)=>{let l=(null==t?void 0:t.defaultValue)??e;return"string"==typeof l&&t?l.replace(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g,(e,l)=>{let n=null==t?void 0:t[l];return"string"==typeof n||"number"==typeof n?String(n):""}):l},s="object"==typeof l&&l?l:{},d=p(s.replacedBy),u="string"==typeof s.since?String(s.since):void 0,c="string"==typeof s.removedIn?String(s.removedIn):void 0,h="string"==typeof s.message?String(s.message):"",m=a(o),f=m.line?`(line ${m.line}${m.column?`:${m.column}`:""})`:"",g=h.trim(),v=g?r("RunJS deprecated warning with message",{defaultValue:"[RunJS][Deprecated] {{api}} {{message}}{{location}}",api:t,message:g,location:f}):r("RunJS deprecated warning",{defaultValue:"[RunJS][Deprecated] {{api}} is deprecated{{location}}",api:t,location:f}),y=r("RunJS deprecated separator",{defaultValue:"; "}),b=[v];d&&b.push(r("RunJS deprecated replacedBy",{defaultValue:"Use {{replacedBy}} instead",replacedBy:d})),u&&b.push(r("RunJS deprecated since",{defaultValue:"since {{since}}",since:u})),c&&b.push(r("RunJS deprecated removedIn",{defaultValue:"will be removed in {{removedIn}}",removedIn:c}));let x=b.filter(Boolean).join(y);try{i&&"function"==typeof i.warn?i.warn(x):console.warn(x)}catch(e){}},m=(e,t,l)=>{let o=t.deprecated;if(!o)return e;let i=r.get(e)||new Map;if(r.set(e,i),i.has(l))return i.get(l);let a=new Proxy(e,{apply(e,t,i){let r=n.has(l)?void 0:Error().stack;return h(l,o,r),Reflect.apply(e,c(t),i)},get:(e,t,l)=>Reflect.get(e,t,l)});return i.set(l,a),a},f=(e,t,l)=>{if(!e||"object"!=typeof e&&"function"!=typeof e||eD(e)||!(t.children&&Object.keys(t.children).length>0)&&"ctx"!==l)return e;let r=i.get(e)||new Map;if(i.set(e,r),r.has(l))return r.get(l);let a=new Proxy(e,{get(e,o,i){var r;if("symbol"==typeof o)return Reflect.get(e,o,c(i));let a=String(o),s=Reflect.get(e,o,c(i));if("ctx"===l&&"defineProperty"===a&&"function"==typeof s)return function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let n=s(...t);try{d(String((null==t?void 0:t[0])??""),null==t?void 0:t[1])}catch(e){}return n};if("ctx"===l&&"defineMethod"===a&&"function"==typeof s)return function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let n=s(...t);try{u(String((null==t?void 0:t[0])??""),null==t?void 0:t[2])}catch(e){}return n};let p=null==(r=t.children)?void 0:r[a];if(!p)return s;let g=`${l}.${a}`;if("function"==typeof s&&p.deprecated)return m(s,p,g);if(p.deprecated){let e=n.has(g)?void 0:Error().stack;h(g,p.deprecated,e)}return s&&("object"==typeof s||"function"==typeof s)&&p.children?f(s,p,g):s},has:(e,t)=>Reflect.has(e,t)});return o.set(a,e),r.set(l,a),a};return f(e,l,"ctx")}function eV(e,t,l){if(!eT(t))return e;if(!eT(e))return t;let n={...e};for(let o of Object.keys(t)){let i=t[o];if(null===i){delete n[o];continue}let r=l(eT(e)?e[o]:void 0,i);void 0===r?delete n[o]:n[o]=r}return n}function ez(e,t){if(null===t)return;let l=eT(e),n=eT(t),o="string"==typeof e;if("string"==typeof t)return l?ez(e,{description:t}):t;if(n){let n=l?e:o?{description:e}:void 0,i={...n||{}};for(let e of Object.keys(t)){if("properties"===e){let e=t.properties;if(null===e){delete i.properties;continue}let l=eV(null==n?void 0:n.properties,e,ez);void 0===l?delete i.properties:i.properties=l;continue}let l=e_(null==n?void 0:n[e],t[e]);void 0===l?delete i[e]:i[e]=l}return i}return t??e}function eK(e,t){if(null===t)return;let l=eT(e),n=eT(t),o="string"==typeof e;if("string"==typeof t)return l?eK(e,{description:t}):t;if(n){let n=l?e:o?{description:e}:void 0,i={...n||{}};for(let e of Object.keys(t)){let l=e_(null==n?void 0:n[e],t[e]);void 0===l?delete i[e]:i[e]=l}return i}return t??e}function eU(e,t){let l=eT(e)?e:{},n=eT(t)?t:{},o={...l};for(let e of Object.keys(n)){if("properties"===e){let e=eV(l.properties,n.properties,ez);void 0===e?delete o.properties:o.properties=e;continue}if("methods"===e){let e=eV(l.methods,n.methods,eK);void 0===e?delete o.methods:o.methods=e;continue}let t=e_(l[e],n[e]);void 0===t?delete o[e]:o[e]=t}return o}class eW extends eg{exit(){var e;throw new j.zz(this.flowKey,(null==(e=this.model)?void 0:e.uid)||"runjs")}exitAll(){var e;throw new j.zz(this.flowKey,(null==(e=this.model)?void 0:e.uid)||"runjs")}static define(e,t){let l=null==t?void 0:t.locale;if(l){let t=eE.get(this)||new Map,n=t.get(l)||{};t.set(l,eU(n,e)),eE.set(this,t)}else{let t=eI.get(this)||{};eI.set(this,eU(t,e))}eR.delete(this)}static getDoc(e){let t=this,l=eR.get(t),n=String(e||"default");if(l&&l.has(n))return l.get(n);let o=[],i=t;for(;i&&i.prototype;)o.unshift(i),i=Object.getPrototypeOf(i);let r={};for(let e of o)r=eU(r,eI.get(e)||{});if(e)for(let t of o){let l=eE.get(t);l&&l.has(e)&&(r=eU(r,l.get(e)))}return l||(l=new Map,eR.set(t,l)),l.set(n,r),r}constructor(e){super(),this.addDelegate(e),this.defineProperty("React",{value:g}),this.defineProperty("antd",{value:c}),this.defineProperty("dayjs",{value:N()});let t={...y,createRoot:(e,t)=>{let l=(null==e?void 0:e.__el)||e;return this.engine.reactView.createRoot(l,t)}};t.__nbRunjsInternalShim=!0,this.defineProperty("ReactDOM",{value:t}),(0,O.oJ)(this),this.defineMethod("render",function(e,t){let l=t||this.element;if(!l)throw Error("ctx.render: container not provided and ctx.element is not available");let n=(null==l?void 0:l.__el)||l,o=globalThis;o.__nbRunjsRoots=o.__nbRunjsRoots||new WeakMap;let i=o.__nbRunjsRoots,r=e=>{if(!e)return;if(e.disposeTheme&&"function"==typeof e.disposeTheme){try{e.disposeTheme()}catch(e){}e.disposeTheme=void 0}let t=e.root||e;if(t&&"function"==typeof t.unmount)try{t.unmount()}catch(e){}},a=()=>{let e=i.get(n);e&&(r(e),i.delete(n))};if("string"==typeof e)return a(),new b.x(n).innerHTML=String(e??""),null;if(e&&e.nodeType&&(1===e.nodeType||3===e.nodeType||11===e.nodeType)){for(a();n.firstChild;)n.removeChild(n.firstChild);return n.appendChild(e),null}let s=this.ReactDOM,d=this,u=i.get(n);return u&&u.rendererKey===s&&u.ownerKey===d||(u&&(r(u),i.delete(n)),u={rendererKey:s,ownerKey:d,root:this.ReactDOM.createRoot(n),disposeTheme:void 0,lastVnode:void 0},i.set(n,u)),(0,O.$B)({ctx:this,entry:u,vnode:e,containerEl:n,rootMap:i,unmountContainerRoot:a,internalReact:g,internalAntd:c})})}}},81440(e,t,l){l.d(t,{$:()=>ek});var n=l(88243),o=l(16213),i=l(50467),r=l(95243),a=l(2543),s=l.n(a),d=l(81318),u=l.n(d),c=l(64171);class p extends c.Z{getAction(e){return this.actions.get(e)}getActions(){return new Map(this.actions)}}var h=l(26955);class m extends h.L{getEvent(e){return this.events.get(e)}getEvents(){return new Map(this.events)}}var f=l(29007),g=l(48555),v=l(31108),y=l(88439),b=l(62572);class x{async emitModelEventIf(e,t,l){e&&await this.engine.emitter.emitAsync(`model:event:${e}:${t}`,l)}async withApplyFlowCache(e,t){if(!e||!this.engine)return await t();let l=this.engine.applyFlowCache.get(e);if(l){if("resolved"===l.status)return l.data;if("rejected"===l.status)throw l.error;if("pending"===l.status)return await l.promise}let n=t().then(t=>(this.engine.applyFlowCache.set(e,{status:"resolved",data:t,promise:Promise.resolve(t)}),t)).catch(t=>{throw this.engine.applyFlowCache.set(e,{status:"rejected",error:t,promise:Promise.reject(t)}),t});return this.engine.applyFlowCache.set(e,{status:"pending",promise:n}),await n}async runFlow(e,t,l,n,o){var i;let r,a=e.getFlow(t);if(!a)return e.context.logger.error(`BaseModel.applyFlow: Flow with key '${t}' not found.`),Promise.reject(Error(`Flow '${t}' not found.`));let d=new f.W5(e,t);d.defineProperty("reactView",{value:e.reactView}),d.defineProperty("inputArgs",{value:{...l}}),d.defineProperty("runId",{value:n||`run-${Date.now()}`});let u=d.stepResults,c=e.getEvent("string"==typeof a.on?a.on:null==(i=a.on)?void 0:i.eventName);c&&((c={...c}).defaultParams={...s().get(a,"on.defaultParams",{}),...c.defaultParams});let p=c?{eventStep:c,...a.steps}:a.steps;(0,y.w)(d,p,e,t);let h=d.steps,m={uid:e.uid,model:e,runId:d.runId,inputArgs:l,flowKey:t};for(let[l,n]of(await this.emitModelEventIf(o,`flow:${t}:start`,m),Object.entries(p))){let i,a,s={},c=n.useRawParams;if(n.use){let o=e.getAction(n.use);if(!o){d.logger.error(`BaseModel.applyFlow: Action '${n.use}' not found for step '${l}' in flow '${t}'. Skipping.`);continue}a=await (0,b.v)(d,{...o,...n}),i=n.handler||o.handler,c=c??o.useRawParams;let r=await (0,g.gG)(o.defaultParams,a),u=await (0,g.gG)(n.defaultParams,a);s={...r,...u}}else if(n.handler)a=await (0,b.v)(d,n),i=n.handler,s={...await (0,g.gG)(n.defaultParams,a)};else{d.logger.error(`BaseModel.applyFlow: Step '${l}' in flow '${t}' has neither 'use' nor 'handler'. Skipping.`);continue}let p=e.getStepParams(t,l);void 0!==p&&(s={...s,...p}),"function"==typeof c&&(c=await c(a)),c||(s=await a.resolveJsonTemplate(s));try{if(!i){d.logger.error(`BaseModel.applyFlow: No handler available for step '${l}' in flow '${t}'. Skipping.`);continue}await this.emitModelEventIf(o,`flow:${t}:step:${l}:start`,{...m,stepKey:l});let e=i(a,s);r=!1!==n.isAwait?await e:e,u[l]=r,h[l].result=u[l],await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...m,result:r,stepKey:l})}catch(e){if(e instanceof g.sy||e instanceof v.zz||await this.emitModelEventIf(o,`flow:${t}:step:${l}:error`,{...m,error:e,stepKey:l}),e instanceof g.sy)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...m,stepKey:l}),await this.emitModelEventIf(o,`flow:${t}:end`,{...m,result:u}),Promise.resolve(u);if(e instanceof v.zz)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...m,stepKey:l,aborted:!0}),await this.emitModelEventIf(o,`flow:${t}:end`,{...m,result:e,aborted:!0}),Promise.resolve(e);return await this.emitModelEventIf(o,`flow:${t}:error`,{...m,error:e}),d.logger.error({err:e},`BaseModel.applyFlow: Error executing step '${l}' in flow '${t}':`),Promise.reject(e)}}return await this.emitModelEventIf(o,`flow:${t}:end`,{...m,result:u}),Promise.resolve(u)}async dispatchEvent(e,t,l,n){var o,i,r,a;let s="beforeRender"===t,d=!!(null==n?void 0:n.sequential),u=!!(null==n?void 0:n.useCache),c=s,p=`${e.uid}-${t}-${Date.now()}`,h=e.context.logger,m={uid:e.uid,model:e,runId:p,inputArgs:l};try{await this.emitModelEventIf(t,"start",m),await (null==(o=e.onDispatchEventStart)?void 0:o.call(e,t,n,l))}catch(o){if(s&&o instanceof g.sy)return h.debug(`[FlowModel.dispatchEvent] ${o.message}`),[];try{await (null==(i=e.onDispatchEventError)?void 0:i.call(e,t,n,l,o))}finally{h.error({err:o},`BaseModel.dispatchEvent: Start hook error for event '${t}'`)}if(c)throw o;return}let f=s?e.getEventFlows("beforeRender"):Array.from(e.getFlows().values()).filter(e=>{let l=e.on;return!!l&&("string"==typeof l?l===t:"object"==typeof l&&l.eventName===t)}),y="click"===t&&(null==l?void 0:l.triggerByRouter)===!0?f.filter(e=>{var t;let l=e.flowRegistry;return"instance"!==(null==l||null==(t=l.constructor)?void 0:t._type)}):f,b=[],x=async()=>{let n=!1;if(d){let o=y.map((e,t)=>({f:e,i:t})).slice().sort((e,t)=>{var l,n;let o=e.f.flowRegistry,i=t.f.flowRegistry,r=null==o||null==(l=o.constructor)?void 0:l._type,a=null==i||null==(n=i.constructor)?void 0:n._type,s=+("instance"!==r),d=+("instance"!==a);if(s!==d)return s-d;let u=e.f.sort??0,c=t.f.sort??0;return u!==c?u-c:e.i-t.i}).map(e=>e.f),i=[],r=new Map(o.filter(e=>{var t;let l=e.flowRegistry;return"instance"!==(null==l||null==(t=l.constructor)?void 0:t._type)}).map(e=>[e.key,e])),a=new Set,s=new Map;for(let[n,d]of(o.forEach((e,l)=>{let n=e.on,o="object"==typeof n?n:void 0;if(!o)return;let i=o.phase,d=o.flowKey,u=o.stepKey;if(!i||"beforeAllFlows"===i)return;let c=null;if("afterAllFlows"===i)c=`event:${t}:end`;else if("beforeFlow"===i||"afterFlow"===i)if(d)if(r.get(String(d))){let e="beforeFlow"===i?"start":"end";c=`event:${t}:flow:${String(d)}:${e}`}else c=`event:${t}:end`;else c=`event:${t}:end`;else if("beforeStep"!==i&&"afterStep"!==i)return;else if(d&&u){var p;let e=r.get(String(d)),l=!!(null==e||null==(p=e.hasStep)?void 0:p.call(e,String(u)));if(e&&l){let e="beforeStep"===i?"start":"end";c=`event:${t}:flow:${String(d)}:step:${String(u)}:${e}`}else c=`event:${t}:end`}else c=`event:${t}:end`;if(!c)return;let h=c===`event:${t}:end`||"afterFlow"===i||"afterStep"===i;a.add(e.key);let m=s.get(c)||[];m.push({flow:e,order:l,shouldSkipOnAborted:h}),s.set(c,m)}),s.entries()))for(let o of d.slice().sort((e,t)=>{let l=e.flow.sort??0,n=t.flow.sort??0;return l!==n?l-n:e.order-t.order})){let r=o.shouldSkipOnAborted?Object.assign(e=>e.type===n&&!0!==e.aborted,{__eventType:n}):n,a=e.scheduleModelOperation(e.uid,async e=>{let n=await this.runFlow(e,o.flow.key,l,p,t);if(n instanceof v.zz)throw n;i.push(n)},{when:r});b.push(a)}for(let r of o)if(!a.has(r.key))try{h.debug(`BaseModel '${e.uid}' dispatching event '${t}' to flow '${r.key}' (sequential).`);let o=await this.runFlow(e,r.key,l,p,t);if(o instanceof v.zz){h.debug(`[FlowEngine.dispatchEvent] ${o.message}`),n=!0;break}i.push(o)}catch(e){if(e instanceof v.zz){h.debug(`[FlowEngine.dispatchEvent] ${e.message}`),n=!0;break}throw h.error({err:e},`BaseModel.dispatchEvent: Error executing event-triggered flow '${r.key}' for event '${t}' (sequential):`),e}return{result:i,abortedByExitAll:n}}let o=(await Promise.all(y.map(async n=>{h.debug(`BaseModel '${e.uid}' dispatching event '${t}' to flow '${n.key}'.`);try{return await this.runFlow(e,n.key,l,p,t)}catch(e){if(h.error({err:e},`BaseModel.dispatchEvent: Error executing event-triggered flow '${n.key}' for event '${t}':`),c)throw e;return}}))).filter(e=>void 0!==e);return o.some(e=>e instanceof v.zz)&&(n=!0),{result:o,abortedByExitAll:n}},w=u?JSON.stringify(l??{}):"",S=u?ek.generateApplyFlowCacheKey(`event:${e.getFlowCacheScope(t)}:${w}`,t,e.uid):null;try{let{result:o,abortedByExitAll:i}=await this.withApplyFlowCache(S,x);try{await (null==(r=e.onDispatchEventEnd)?void 0:r.call(e,t,n,l,o))}catch(e){h.error({err:e},`BaseModel.dispatchEvent: End hook error for event '${t}'`)}return await this.emitModelEventIf(t,"end",{...m,result:o,...i?{aborted:!0}:{}}),o&&"object"==typeof o&&Object.defineProperty(o,"__abortedByExitAll",{value:i,configurable:!0}),o}catch(o){try{await (null==(a=e.onDispatchEventError)?void 0:a.call(e,t,n,l,o))}catch(e){}if(e.context.logger.error({err:o},`BaseModel.dispatchEvent: Error executing event '${t}' for model '${e.uid}':`),await this.emitModelEventIf(t,"error",{...m,error:o}),c)throw o}finally{for(let e of b)e()}}constructor(e){(0,i._)(this,"engine",void 0),this.engine=e}}var w=l(58587),S=l(18150),M=l(68238),F=l(78880),A=l(18220),k=l(47674),C=l(21637),P=l(71021),j=l(84626),I=l(96540),E=l(74848),R=l(53619),_=l(92034),T=l(98393),D=l(22803),N=l(42443),O=l(88040),$=l(35710),B=l(18182),L=l(76511),q=l(33954),V=l(57084),z=l(94313),K=l(20616),U=l(52847);let W={marginLeft:32},H=(0,U.PA)(e=>{let{title:t,onChange:l,getDefaultValue:n,disabled:o,itemKey:i,...r}=e,[a,s]=(0,I.useState)(!1),d=(0,K.Db)();(0,I.useEffect)(()=>{let e=!1;return(async()=>{if(n)try{let t=await n();if(e||!t)return;let l=Object.entries(t);if(!l.length)return;let[o,i]=l[0];s(!!i)}catch(e){console.error(e)}})(),()=>{e=!0}},[n]);let u=e=>{s(e),null==l||l({[i]:e})},c=e=>{e.stopPropagation(),o||u(!a)};return(0,E.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",cursor:o?"not-allowed":"pointer"},onClick:c,children:[t,(0,E.jsx)(z.A,{size:"small",...r,checkedChildren:r.checkedChildren?d.t(r.checkedChildren):void 0,unCheckedChildren:r.unCheckedChildren?d.t(r.unCheckedChildren):void 0,checked:a,style:W,disabled:o})]})});var G=l(36492);let Y=(e,t)=>{for(let n of e){var l;if(String((null==n?void 0:n.key)??"")===t)return n;if(null==(l=n.children)?void 0:l.length){let e=Y(n.children,t);if(e)return e}}},J=(e,t,l)=>{let n=t.maxDepth,o="number"==typeof t.arrayLimit?t.arrayLimit:1/0,i=t.mode??"stack",r=new Set,a=new Set,s=(e,t,d)=>{if(!e||t>n)return;let u=()=>{l(e,{depth:t,modelKey:d}),t>=n||Object.entries(e.subModels||{}).forEach(e=>{let[l,n]=e;if(Array.isArray(n)){let e=Number.isFinite(o)?Math.min(n.length,o):n.length;for(let o=0;o<e;o++){let e=n[o];e instanceof q.WD&&s(e,t+1,`${l}[${o}]`)}return}n instanceof q.WD&&s(n,t+1,l)})};if("visited"===i){if(r.has(e))return;r.add(e),u();return}let c=e.uid||`temp-${Date.now()}`;if(!a.has(c)){a.add(c);try{u()}finally{a.delete(c)}}};s(e,1)},X=(e,t)=>{var l;if(!e||!t||"string"!=typeof t)return console.warn("Invalid input parameters"),null;let n=t.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\[(\d+)\])?$/);if(!n)return console.warn(`Invalid subModelKey format: ${t}`),null;let[,o,i]=n,r=null==(l=e.subModels)?void 0:l[o];if(!r)return console.warn(`SubModel '${o}' not found`),null;if(void 0!==i){let e=parseInt(i,10);return Array.isArray(r)?e<0||e>=r.length?(console.warn(`Array index ${e} out of bounds for '${o}'`),null):r[e]instanceof q.WD?r[e]:null:(console.warn(`Expected array for '${o}', got ${typeof r}`),null)}return Array.isArray(r)?(console.warn(`Expected object for '${o}', got array`),null):r instanceof q.WD?r:null},Q={switch:H,select:function(e){let{title:t,getDefaultValue:l,onChange:n,options:o,fieldNames:i,itemKey:r,tooltip:a,...s}=e,[d,u]=(0,I.useState)(!1),[c,p]=(0,I.useState)(""),h=(0,K.Db)();(0,I.useEffect)(()=>{let e=!1;return(async()=>{if(l)try{let t=await l();if(e||!t)return;let n=Object.entries(t);if(!n.length)return;let[o,i]=n[0];p(i)}catch(e){console.error(e)}})(),()=>{e=!0}},[l]);let m=(0,I.useRef)(null),f=e=>{p(e),null==n||n({[r]:e})},g=(0,E.jsx)("span",{style:{whiteSpace:"nowrap",flexShrink:0},children:t});return(0,E.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},onClick:e=>{e.stopPropagation(),u(e=>!e)},onMouseLeave:()=>{m.current=setTimeout(()=>{u(!1)},200)},children:[a?(0,E.jsx)(N.A,{title:a,placement:"top",destroyTooltipOnHide:!0,children:g}):g,(0,E.jsx)(G.A,{...s,open:d,popupMatchSelectWidth:!1,bordered:!1,value:c,onChange:f,popupClassName:`select-popup-${t.replaceAll(" ","-")}`,fieldNames:i,options:o,labelRender:e=>h.t(e.label),optionRender:e=>h.t(e.label),style:{textAlign:"right",minWidth:100},onMouseEnter:()=>{clearTimeout(m.current)},dropdownRender:e=>s.dropdownRender?s.dropdownRender(e,u,f):e})]})}},Z=e=>{let{title:t,uiMode:l,itemProps:n}=e,o=(null==l?void 0:l.type)||l,i=o?Q[o]:null,r=!!(null==n?void 0:n.disabled),a=null==n?void 0:n.disabledReason,s=null==n?void 0:n.disabledIconColor,d=i?(0,E.jsx)(i,{title:t,...n}):(0,E.jsx)(E.Fragment,{children:t});return r?(0,E.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[d,(0,E.jsx)(N.A,{title:a,placement:"right",destroyTooltipOnHide:!0,children:(0,E.jsx)(R.A,{style:{color:s}})})]}):d},ee=".nb-toolbar-container-icons",et=".nb-toolbar-container",el=(0,D.css)`
1049
+ Please run: await ctx.importAsync("${l}") to ensure ctx.render uses a matching ReactDOM.`);throw e.cause=n,e}}return u}function et(e){return e.endsWith("/")?e:`${e}/`}function el(e,t){try{let l=new URL(e);if(!["http:","https:"].includes(l.protocol))return!1;if(!(null==t?void 0:t.getApiUrl))return!0;let n=new URL(t.getApiUrl()),o=et(n.pathname),i=et(l.pathname);return l.origin!==n.origin||!i.startsWith(o)}catch{return!1}}function en(e){return!!(e&&"object"==typeof e&&"collection"in e&&"filterByTk"in e)}function eo(e,t){if(t&&0!==t.length){if(en(e))return e;if(e&&"object"==typeof e&&!Array.isArray(e)){let l={};for(let[n,o]of Object.entries(e))t.some(e=>e===n||e.startsWith(`${n}.`)||e.startsWith(`${n}[`))&&(l[n]=o);return l}}}function ei(e){if(!e)return;let t=String(e).match(/^([^.[]+)/);return null==t?void 0:t[1]}function er(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!Array.isArray(e)||0===e.length)return{generatedAppends:void 0,generatedFields:void 0};let t=new Set,l=new Set,n=e=>{if(!e)return"";let t=String(e);return(t=(t=(t=t.replace(/\[(?:\d+)\]/g,"")).replace(/\[(?:"((?:[^"\\]|\\.)*)"|'((?:[^'\\]|\\.)*)')\]/g,(e,t,l)=>`.${t||l}`)).replace(/\.\.+/g,".")).replace(/^\./,"").replace(/\.$/,"")};for(let o of e){if(!o)continue;for(;/^\[(\d+)\](\.|$)/.test(o);)o=o.replace(/^\[(\d+)\]\.?/,"");let e=n(o);if(!e)continue;let i=e.split(".").filter(Boolean);if(0!==i.length){if(1===i.length){l.add(i[0]);continue}for(let e=0;e<i.length-1;e++)t.add(i.slice(0,e+1).join("."));l.add(i.join("."))}}return{generatedAppends:t.size?Array.from(t):void 0,generatedFields:l.size?Array.from(l):void 0}}var ea=new WeakMap,es=new WeakSet,ed=new WeakSet,eu=new WeakSet,ec=new WeakSet,ep=new WeakSet,eh=new WeakSet,em=new WeakSet,ef=new WeakSet;class eg{createProxy(){return(0,n._)(this,ea)||(0,i._)(this,ea,new Proxy(this,{get:(e,t,l)=>{if("string"==typeof t){if(Reflect.has(e,t)){let n=Reflect.get(e,t,l);return"function"==typeof n?n.bind(e):n}if(Object.prototype.hasOwnProperty.call(e._props,t))return e._getOwnProperty(t,this.createProxy());if(Object.prototype.hasOwnProperty.call(e._methods,t))return e._getOwnMethod(t,this.createProxy());let n=this._findInDelegates(e._delegates,t);return void 0!==n?n.result:void 0}return Reflect.get(e,t,l)},has:(e,t)=>!!("string"==typeof t&&(Reflect.has(e,t)||Object.prototype.hasOwnProperty.call(e._props,t)||Object.prototype.hasOwnProperty.call(e._methods,t)||this._hasInDelegates(e._delegates,t)))||Reflect.has(e,t)})),(0,n._)(this,ea)}defineProperty(e,t){var l;if(this._props[e]&&(null==(l=this._props[e])?void 0:l.once))return;let n=this._props[e];(null==n?void 0:n.meta)&&this._clearMetaNodeCacheFor(n.meta),this._props[e]=t,delete this._observableCache[e],delete this._cache[e],Object.defineProperty(this,e,{configurable:!0,enumerable:!0,get:()=>this._getOwnProperty(e,this.createProxy())})}defineMethod(e,t,l){this._methods[e]=t,"string"==typeof l?this._methodInfos[e]={description:l}:l&&"object"==typeof l?this._methodInfos[e]=l:delete this._methodInfos[e],Object.defineProperty(this,e,{configurable:!0,enumerable:!1,writable:!1,value:t.bind(this.createProxy())})}removeCache(e){if(e in this._observableCache)return delete this._observableCache[e],!0;if(e in this._cache)return delete this._cache[e],!0;if(e in this._pending)return delete this._pending[e],!0;for(let t of this._delegates)if(t.removeCache(e))return!0}delegate(e){if(!(e instanceof eg))throw Error("Delegate must be an instance of FlowContext");this._delegates.includes(e)?console.warn(`[FlowContext] delegate - skip duplicate delegate: ${this._delegates.length}`):this._delegates.unshift(e)}addDelegate(e){if(!(e instanceof eg))throw Error("Delegate must be an instance of FlowContext");this._delegates.includes(e)||this._delegates.unshift(e)}clearDelegates(){this._delegates=[],this._metaNodeCache=new WeakMap}removeDelegate(e){if(!(e instanceof eg))throw Error("Delegate must be an instance of FlowContext");let t=this._delegates.indexOf(e);-1!==t&&this._delegates.splice(t,1)}_clearMetaNodeCacheFor(e){this._metaNodeCache.delete(e)}has(e){return!!this._props[e]}getPropertyMetaTree(e,t){let l=this._getPropertiesMeta();if(e){let l=(0,P.YB)(e);if(l&&l.length>0){let e=async(e,t,l)=>{try{let l="function"==typeof e?await e():e;if(!(null==l?void 0:l.properties))return[];let n=l.properties;if("function"==typeof n){let e=await n();l.properties=e,n=e}let o=(0,r._)(this,es,ev).call(this,n,t,[],l);return Array.isArray(o)?o:await o()}catch(e){return console.warn(`Failed to load meta for ${l}:`,e),[]}},n=(0,r._)(this,ed,ey).call(this,l);if(n){let[o,i,a]=n;if(1===l.length){if("function"==typeof i)return()=>e(i,a,o);if(i.properties){if("function"==typeof i.properties)return()=>e(i,a,o);let t=(0,r._)(this,es,ev).call(this,i.properties,a,[],i);return Array.isArray(t)?t:[]}return[]}if("function"==typeof i){if(null==t?void 0:t.flatten)return()=>e(i,a,o);let l=(0,r._)(this,em,eS).call(this,a);return[(0,r._)(this,ef,eM).call(this,o,i,a,l)]}if(i.properties){let e=[...(0,r._)(this,em,eS).call(this,a),i.title],t=(0,r._)(this,es,ev).call(this,i.properties,a,e,i);return Array.isArray(t)?t:[]}}return[]}if(null===l)return console.warn(`[FlowContext] getPropertyMetaTree - unsupported value format: "${e}". Only "{{ ctx.propertyName }}" format is supported. Returning empty meta tree.`),[]}return Object.entries(l).sort((e,t)=>{let[,l]=e,[,n]=t,o=("function"==typeof l?l.sort:null==l?void 0:l.sort)??0;return(("function"==typeof n?n.sort:null==n?void 0:n.sort)??0)-o}).map(e=>{let[t,l]=e;return(0,r._)(this,ef,eM).call(this,t,l,[t],[])})}async getApiInfos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version||"v1",l=this.createProxy(),n=e=>"string"==typeof e&&e.startsWith("_"),o=e=>"record"===e||"formValues"===e||"popup"===e,i=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,r=(()=>{var e,l,n,o,i,r,a,s;let d=(0,_.B)(this),u=_.F.resolve(t,d)||_.F.resolve(t,"*");if(!u)return{};let c=(null==(n=this)||null==(l=n.api)||null==(e=l.auth)?void 0:e.locale)||(null==(i=this)||null==(o=i.i18n)?void 0:o.language)||(null==(r=this)?void 0:r.locale);try{if(null==u||null==(a=u.getDoc)?void 0:a.length)return u.getDoc(c)||{};return(null==u||null==(s=u.getDoc)?void 0:s.call(u))||{}}catch(e){return{}}})(),a=eT(null==r?void 0:r.methods)?r.methods:{},s=eT(null==r?void 0:r.properties)?r.properties:{},d=e=>"string"==typeof e?{description:e}:eT(e)?e:void 0,u=(e,t)=>{let l="string"==typeof t?t:eT(t)&&"string"==typeof t.description?String(t.description):void 0;return l&&l.includes(`ctx.libs.${e}`)?`libs.${e}`:e},c=e=>{let t=d(e);if(!t)return{};let l={};for(let e of["description","examples","ref","params","returns"]){let n=t[e];void 0!==n&&(l[e]=n)}return Array.isArray(l.examples)&&(l.examples=l.examples.filter(e=>"string"==typeof e&&e.trim())),l},p=e=>{let t=d(e);if(!t)return{};let l={};for(let e of["title","type","interface","description","examples","ref","params","returns"]){let n=t[e];void 0!==n&&(l[e]=n)}return Array.isArray(l.examples)&&(l.examples=l.examples.filter(e=>"string"==typeof e&&e.trim())),l},h=e=>{let t=new WeakSet,l=n=>{if(!n||"object"!=typeof n||t.has(n))return;if(t.add(n),Object.prototype.hasOwnProperty.call(n._methodInfos||{},e)){var o;return null==(o=n._methodInfos)?void 0:o[e]}let i=n._delegates;if(Array.isArray(i))for(let e of i){let t=l(e);if(t)return t}};return l(this)},m=async e=>{let t=this.getPropertyOptions(e);if(null==t?void 0:t.info)try{let e="function"==typeof t.info?t.info.call(l,l):t.info;return(i(e)?await e:e)??void 0}catch(e){return}},f=new Set,g=new Set;for(let e of Object.keys(s))f.add(e);for(let e of Object.keys(a))g.add(e);let v=(e,t)=>{if(e&&"object"==typeof e&&!t.has(e)){t.add(e);try{let t=e._props;if(t&&"object"==typeof t)for(let[e,l]of Object.entries(t))(null==l?void 0:l.info)&&f.add(e)}catch(e){}try{let t=e._methodInfos;if(t&&"object"==typeof t)for(let e of Object.keys(t))g.add(e)}catch(e){}try{let l=e._delegates;if(Array.isArray(l))for(let e of l)v(e,t)}catch(e){}}};v(this,new WeakSet);let y={};for(let e of f){if(n(e)||o(e))continue;let t=s[e],l=await m(e);if(void 0===t&&void 0===l)continue;let i=d(t),r=d(l),a={};if(a={...a={...a,...p(i)},...p(r)},delete a.properties,delete a.completion,!Object.keys(a).length)continue;let c=u(e,t);y[c]=y[c]?{...y[c]||{},...a||{}}:a}for(let e of g){if(n(e))continue;let t=a[e],l=h(e);if(void 0===t&&void 0===l)continue;let o=d(t),i={};i={...i={...i,...c(o)},...c(l)},delete i.properties,delete i.completion,Object.keys(i).length&&(i.type="function",y[e]?y[e]={...y[e]||{},...i||{}}:y[e]=i)}let b=d(s.libs),x=eT(null==b?void 0:b.properties)?b.properties:void 0;if(x)for(let[e,t]of Object.entries(x)){if(n(e))continue;let l=`libs.${e}`;if(y[l])continue;let o=d(t),i={};i={...i,...p(o)},delete i.properties,delete i.completion,i.description&&String(i.description).trim()&&(y[l]=i)}return y}async getEnvInfos(){var e,t,l;let n=this.createProxy(),o=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,i={},r=e=>{try{return e()}catch(e){return}},a=e=>null!=e&&("string"==typeof e?e.trim().length>0:!Array.isArray(e)||e.length>0),s=e=>{var t,l,n,o,i;let r={};if(!e)return r;let s=e;for(let e of["dataSourceKey","collectionName","associationName","filterByTk","sourceId"]){let t=null==s?void 0:s[e];a(t)&&(r[e]=t)}if(!("dataSourceKey"in r)){let e=null==(t=s.getDataSourceKey)?void 0:t.call(s);a(e)&&(r.dataSourceKey=e)}if(!("filterByTk"in r)){let e=null==(l=s.getFilterByTk)?void 0:l.call(s);a(e)&&(r.filterByTk=e)}if(!("filterByTk"in r)){let e=null==(n=s.getMeta)?void 0:n.call(s,"currentFilterByTk");a(e)&&(r.filterByTk=e)}if(!("sourceId"in r)){let e=null==(o=s.getSourceId)?void 0:o.call(s);a(e)&&(r.sourceId=e)}if(!("collectionName"in r)||!("associationName"in r)){let e=null==(i=s.getResourceName)?void 0:i.call(s),t="string"==typeof e?e.trim():"";if(t){let e=t.split(".").map(e=>e.trim()).filter(Boolean);1===e.length?"collectionName"in r||(r.collectionName=e[0]):e.length>=2&&("collectionName"in r||(r.collectionName=e[0]),"associationName"in r||(r.associationName=e.slice(1).join(".")))}}return r},d=await (async()=>{try{let e=n.popup;return o(e)?await e:e}catch(e){return}})(),u=r(()=>n.model),c=r(()=>n.blockModel),p=r(()=>{var e;return null==(e=n.view)?void 0:e.inputArgs}),h=r(()=>n.resource),m=s(null==d?void 0:d.resource),f=c,g=c?"ctx.blockModel":void 0,v=g?`${g}.resource`:void 0,y=s(null==f?void 0:f.resource),b=s(p),x=s(h),w=e=>{for(let t of e)if(a(t.value))return{value:t.value,getVar:t.getVar}},S=e=>a(e.collectionName)||a(e.dataSourceKey)||a(e.associationName),M=S(m)?"ctx.popup.resource":S(y)?v:S(b)?"ctx.view.inputArgs":S(x)?"ctx.resource":void 0,F=w([{value:null==m?void 0:m.collectionName,getVar:"ctx.popup.resource.collectionName"},{value:null==y?void 0:y.collectionName,getVar:`${v}.collectionName`},{value:null==b?void 0:b.collectionName,getVar:"ctx.view.inputArgs.collectionName"},{value:null==x?void 0:x.collectionName,getVar:"ctx.resource.collectionName"}]),A=w([{value:null==m?void 0:m.dataSourceKey,getVar:"ctx.popup.resource.dataSourceKey"},{value:null==y?void 0:y.dataSourceKey,getVar:`${v}.dataSourceKey`},{value:null==b?void 0:b.dataSourceKey,getVar:"ctx.view.inputArgs.dataSourceKey"},{value:null==x?void 0:x.dataSourceKey,getVar:"ctx.resource.dataSourceKey"}]),k=w([{value:null==m?void 0:m.associationName,getVar:"ctx.popup.resource.associationName"},{value:null==y?void 0:y.associationName,getVar:`${v}.associationName`},{value:null==b?void 0:b.associationName,getVar:"ctx.view.inputArgs.associationName"},{value:null==x?void 0:x.associationName,getVar:"ctx.resource.associationName"}]),C=w([{value:null==m?void 0:m.filterByTk,getVar:"ctx.popup.resource.filterByTk"},{value:null==y?void 0:y.filterByTk,getVar:`${v}.filterByTk`},{value:null==b?void 0:b.filterByTk,getVar:"ctx.view.inputArgs.filterByTk"},{value:null==x?void 0:x.filterByTk,getVar:"ctx.resource.filterByTk"}]),P=w([{value:null==m?void 0:m.sourceId,getVar:"ctx.popup.resource.sourceId"},{value:null==y?void 0:y.sourceId,getVar:`${v}.sourceId`},{value:null==b?void 0:b.sourceId,getVar:"ctx.view.inputArgs.sourceId"},{value:null==x?void 0:x.sourceId,getVar:"ctx.resource.sourceId"}]),j={},I=!1,E=null==F?void 0:F.value;a(E)&&(j.collectionName={description:"Collection name",getVar:(null==F?void 0:F.getVar)||(M?`${M}.collectionName`:void 0),value:E},I=!0);let R=null==A?void 0:A.value;a(R)&&(j.dataSourceKey={description:"Data source key",getVar:(null==A?void 0:A.getVar)||(M?`${M}.dataSourceKey`:void 0),value:R},I=!0);let _=null==k?void 0:k.value;a(_)&&(j.associationName={description:"Association name",getVar:(null==k?void 0:k.getVar)||(M?`${M}.associationName`:void 0),value:_},I=!0),I&&(a(null==C?void 0:C.value)&&(j.filterByTk={description:"Record filterByTk",getVar:(null==C?void 0:C.getVar)||(M?`${M}.filterByTk`:void 0)}),a(null==P?void 0:P.value)&&(j.sourceId={description:"Source record ID (sourceId)",getVar:(null==P?void 0:P.getVar)||(M?`${M}.sourceId`:void 0)}),i.resource={description:"Resource information",getVar:M,properties:j}),a(null==C?void 0:C.value)&&(i.record={description:"Current record",getVar:"ctx.record"});let T=e=>{try{let t=null==e?void 0:e.title;if("string"==typeof t&&t.trim())return t}catch(e){}try{var t,l;let n=null==e||null==(l=e.constructor)||null==(t=l.meta)?void 0:t.label;if("string"==typeof n&&n.trim())return n}catch(e){}};if(u){let t=T(u),l=u.uid,n=null==(e=u.constructor)?void 0:e.name,o=s(u.resource),r={},d=!1,c=o.collectionName;a(c)&&(r.collectionName={description:"Collection name",getVar:"ctx.model.resource.collectionName",value:c},d=!0);let p=o.dataSourceKey;a(p)&&(r.dataSourceKey={description:"Data source key",getVar:"ctx.model.resource.dataSourceKey",value:p},d=!0);let h=o.associationName;a(h)&&(r.associationName={description:"Association name",getVar:"ctx.model.resource.associationName",value:h},d=!0),i.flowModel={description:"Current FlowModel information",getVar:"ctx.model",properties:{...a(t)?{label:{description:"Flow model label",value:t}}:{},...a(n)?{modelClass:{description:"Flow model class name",value:n}}:{},...a(l)?{uid:{description:"Flow model uid",getVar:"ctx.model.uid",value:l}}:{},...d?{resource:{description:"Flow model resource",getVar:"ctx.model.resource",properties:r}}:{}}}}if((null==d?void 0:d.uid)&&(i.popup={description:"Current popup information",getVar:"ctx.popup",properties:{uid:{description:"Popup uid",getVar:"ctx.popup.uid",value:d.uid},...(null==d?void 0:d.record)?{record:{description:"Popup record",getVar:"ctx.popup.record"}}:{},...(null==d?void 0:d.sourceRecord)?{sourceRecord:{description:"Popup source record",getVar:"ctx.popup.sourceRecord"}}:{}}}),f){let e=T(f),l=f.uid,n=null==(t=f.constructor)?void 0:t.name,o={},r=!1,s=y.collectionName;a(s)&&(o.collectionName={description:"Collection name",getVar:`${v}.collectionName`,value:s},r=!0);let d=y.dataSourceKey;a(d)&&(o.dataSourceKey={description:"Data source key",getVar:`${v}.dataSourceKey`,value:d},r=!0);let u=y.associationName;a(u)&&(o.associationName={description:"Association name",getVar:`${v}.associationName`,value:u},r=!0),i.block={description:"Current block information",getVar:g,properties:{...a(e)?{label:{description:"Block label",value:e}}:{},...a(n)?{modelClass:{description:"Block model class name",value:n}}:{},...a(l)?{uid:{description:"Block uid",getVar:`${g}.uid`,value:l}}:{},...r?{resource:{description:"Block resource",getVar:v,properties:o}}:{}}}}let D=(()=>{let e=null==d?void 0:d.uid;if(a(e))return String(e).trim();let t=null==p?void 0:p.viewUid;if(a(t))return String(t).trim()})(),N=r(()=>n.engine),O=D?null==N?void 0:N.getModel(D,!0):void 0,$=e=>{var t;return(null==(t=e.context)?void 0:t.blockModel)===e};if(O){let e=[O],t=[];for(let n=0;n<e.length;n++){let o=e[n];if($(o)){let e=(null==(l=o.constructor)?void 0:l.name)||o.uid,n=T(o)||e||o.uid,i=s(o.resource),r={};a(i.dataSourceKey)&&(r.dataSourceKey=i.dataSourceKey),a(i.collectionName)&&(r.collectionName=i.collectionName),a(i.associationName)&&(r.associationName=i.associationName);let d={uid:o.uid,label:n,modelClass:e,...Object.keys(r).length>0?{resource:r}:{}};t.push(d)}let i=o.subModels;if(i&&"object"==typeof i)for(let t of Object.values(i))t&&(Array.isArray(t)?e.push(...t):e.push(t))}t.length&&(i.currentViewBlocks={description:"Current view blocks",value:t})}return i}async getVarInfos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.maxDepth??3,l=Number.isFinite(t)?Math.max(1,Math.floor(t)):3,n="v1",o=this.createProxy(),i=e=>"string"==typeof e&&e.startsWith("_"),r=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,a=new WeakMap,s=async e=>{if(!e)return;if("function"!=typeof e)return e;let t=a.get(e);return t||(t=(async()=>{let t=e.call(o,o);return(r(t)?await t:t)||null})(),a.set(e,t)),await t||void 0},d=e=>{if("string"!=typeof e)return;let t=e.trim();if(!t)return;let l=(0,P.YB)(t);return Array.isArray(l)&&l.length>0?l.join("."):"ctx"===t?"":t.startsWith("ctx.")?t.slice(4).trim():t},u=(()=>{let t=e.path;return("string"==typeof t?[t]:Array.isArray(t)?t:[]).map(e=>d(String(e))).filter(e=>"string"==typeof e&&e.length>0)})(),c=(()=>{let t=e.path;return"string"==typeof t?""===d(t):!!Array.isArray(t)&&t.some(e=>""===d(String(e)))})(),p=(()=>{var e,t,l,o,i,r,a,s;let d=(0,_.B)(this),u=_.F.resolve(n,d)||_.F.resolve(n,"*");if(!u)return{};let c=(null==(l=this)||null==(t=l.api)||null==(e=t.auth)?void 0:e.locale)||(null==(i=this)||null==(o=i.i18n)?void 0:o.language)||(null==(r=this)?void 0:r.locale);try{if(null==u||null==(a=u.getDoc)?void 0:a.length)return u.getDoc(c)||{};return(null==u||null==(s=u.getDoc)?void 0:s.call(u))||{}}catch(e){return{}}})();eT(null==p?void 0:p.methods)&&p.methods,eT(null==p?void 0:p.properties)&&p.properties;let h=e=>"string"==typeof e?{description:e}:eT(e)?e:void 0,m=async(e,t)=>{if(void 0!==e){if("boolean"==typeof e)return e;if("function"==typeof e)try{let l=t(e);return r(l)?!!await l:!!l}catch(e){return!1}return!!e}},f=async(e,t)=>{if(null!=e){if("string"==typeof e)return e;if("function"==typeof e)try{let l=t(e),n=r(l)?await l:l;if("string"==typeof n)return n;return null==n?void 0:String(n)}catch(e){return}return String(e)}},g=async e=>{let t=!1,l=[];try{if("boolean"==typeof e)t=e;else if(Array.isArray(e))l=e;else if("function"==typeof e){let n=e(o),i=r(n)?await n:n;"boolean"==typeof i?t=i:Array.isArray(i)&&(l=i)}}catch(e){t=!1,l=[]}let n=[];if(Array.isArray(l))for(let e of l){if("string"!=typeof e)continue;let t=e.trim();!(!t||"ctx"===t||t.startsWith("ctx."))&&(/\s/.test(t)||n.push(t))}return{hideSelf:!!t,hideSubpaths:n}},v=(e,t)=>{if(!e)return!1;let l=e.split(".").filter(Boolean);for(;l.length;){if(t.has(l.join(".")))return!0;l.pop()}return!1},y=e=>{let t=h(e);if(!t)return{};let l={};for(let e of["title","type","interface","description","examples","completion","ref","params","returns"]){let n=t[e];void 0!==n&&(l[e]=n)}return Array.isArray(l.examples)&&(l.examples=l.examples.filter(e=>"string"==typeof e&&e.trim())),l},b=async e=>{let t,n,{docNode:r,metaNode:a,infoNode:d,depth:u,pathFromRoot:c,hiddenPrefixes:p}=e,x=c.join(".");if(v(x,p))return;let w=h(r),S=h(d),M=await g(null==w?void 0:w.hidden);if(M.hideSelf)return;let F=await g(null==S?void 0:S.hidden);if(F.hideSelf)return;let A=await s(a);if(await m(null==A?void 0:A.hidden,e=>e.call(A,o)))return;let k=new Set(p);for(let e of[...M.hideSubpaths,...F.hideSubpaths]){let t=e.trim();if(!t)continue;let l="ctx"===t?"":t.startsWith("ctx.")?t.slice(4):t;if(!l)continue;let n=x?`${x}.${l}`:l;k.add(n)}let C=await m(null==w?void 0:w.disabled,e=>e(o)),P=await f(null==w?void 0:w.disabledReason,e=>e(o)),j=await m(null==A?void 0:A.disabled,e=>e.call(A,o)),I=await f(null==A?void 0:A.disabledReason,e=>e.call(A,o)),E=await m(null==S?void 0:S.disabled,e=>e(o)),R=await f(null==S?void 0:S.disabledReason,e=>e(o)),_=void 0!==E?E:void 0!==j?j:C,T=void 0!==R?R:void 0!==I?I:P,D={};if(D={...D={...D={...D,...y(w)},...y(A)},...y(S)},void 0!==_&&(D.disabled=!!_),void 0!==T&&(D.disabledReason=T),u>=l)return Object.keys(D).length?D:void 0;let N=eT(null==w?void 0:w.properties)?w.properties:void 0;if(null==A?void 0:A.properties)try{let e=A.properties;if("function"==typeof e){let l=await e.call(A,o);A.properties=l,t=l}else eT(e)&&(t=e)}catch(e){t=void 0}if(eT(S)&&(null==S?void 0:S.properties))try{let e=S.properties;if("function"==typeof e){let t=await e.call(S,o);S.properties=t,n=t}else eT(e)&&(n=e)}catch(e){n=void 0}let O=new Set;if(N)for(let e of Object.keys(N))O.add(e);if(t)for(let e of Object.keys(t))O.add(e);if(n)for(let e of Object.keys(n))O.add(e);if(!O.size)return Object.keys(D).length?D:void 0;let $={};for(let e of O){if(i(e))continue;let l=await b({docNode:null==N?void 0:N[e],metaNode:null==t?void 0:t[e],infoNode:null==n?void 0:n[e],depth:u+1,pathFromRoot:[...c,e],hiddenPrefixes:k});l&&($[e]=l)}if(Object.keys($).length&&(D.properties=$),Object.keys(D).length)return D},x=async e=>{if(!e.length)return;let[t,...l]=e,n=this.getPropertyOptions(t);if(null==n?void 0:n.meta)try{if(!l.length)return n.meta;let e=await s(n.meta);if(!e)return;for(let t=0;t<l.length;t++){let n=l[t],i=null==e?void 0:e.properties;if(!i)break;if("function"==typeof i){let t=await i.call(e,o);e.properties=t,i=t}if(!i||"object"!=typeof i)break;let r=null==i?void 0:i[n];if(!r)break;if(t===l.length-1)return r;let a=await s(r);if(!a)break;e=a}return}catch(e){return}};if(!c&&u.length){let e={};for(let t of u){let l=t.split(".").map(e=>e.trim()).filter(Boolean);if(l.some(e=>i(e))||!l.length)continue;let n=await x(l),o=await b({docNode:void 0,metaNode:n,infoNode:void 0,depth:1,pathFromRoot:[],hiddenPrefixes:new Set});o&&(e[t]=o)}return e}let w=this._getPropertiesMeta(),S={};for(let[e,t]of Object.entries(w)){if(i(e))continue;let l=await b({docNode:void 0,metaNode:t,infoNode:void 0,depth:1,pathFromRoot:[e],hiddenPrefixes:new Set});l&&(S[e]=l)}return S}_getPropertiesMeta(){let e={};for(let t of this._delegates)Object.assign(e,t._getPropertiesMeta());for(let[t,l]of Object.entries(this._props))l.meta&&(e[t]=(l.meta,l.meta));return e}_getOwnProperty(e,t){let l=this._props[e];if(l){if("value"in l)return l.value;if(l.get){if(!1===l.cache)return l.get(t);let n=l.observable?"_observableCache":"_cache";if(e in this[n])return this[n][e];if(this._pending[e])return this._pending[e];let o=l.get(this.createProxy());return"object"==typeof o&&null!==o&&"function"==typeof o.then||"function"==typeof o&&"function"==typeof o.then?(this._pending[e]=o.then(t=>(this[n][e]=t,delete this._pending[e],t),t=>{throw delete this._pending[e],t}),this._pending[e]):(this[n][e]=o,o)}}}_getOwnMethod(e,t){let l=this._methods[e];return"function"==typeof l?l.bind(t):l}_findPropertyInDelegates(e,t){for(let l of e){if(Object.prototype.hasOwnProperty.call(l._props,t))return l._props[t];let e=this._findPropertyInDelegates(l._delegates,t);if(void 0!==e)return e}}_findInDelegates(e,t){for(let l of e){if(Object.prototype.hasOwnProperty.call(l._props,t))return{result:l._getOwnProperty(t,this.createProxy())};if(Object.prototype.hasOwnProperty.call(l._methods,t))return{result:l._getOwnMethod(t,this.createProxy())};let e=this._findInDelegates(l._delegates,t);if(void 0!==e)return e}}_hasInDelegates(e,t){for(let l of e)if(Object.prototype.hasOwnProperty.call(l._props,t)||Object.prototype.hasOwnProperty.call(l._methods,t)||this._hasInDelegates(l._delegates,t))return!0;return!1}getPropertyOptions(e){return Object.prototype.hasOwnProperty.call(this._props,e)?this._props[e]:this._findPropertyInDelegates(this._delegates,e)}constructor(){return(0,a._)(this,es),(0,a._)(this,ed),(0,a._)(this,eu),(0,a._)(this,ec),(0,a._)(this,ep),(0,a._)(this,eh),(0,a._)(this,em),(0,a._)(this,ef),(0,s._)(this,"_props",{}),(0,s._)(this,"_methods",{}),(0,s._)(this,"_methodInfos",{}),(0,s._)(this,"_cache",{}),(0,s._)(this,"_observableCache",d.observable.shallow({})),(0,s._)(this,"_delegates",[]),(0,s._)(this,"_pending",{}),(0,o._)(this,ea,{writable:!0,value:null}),(0,s._)(this,"_metaNodeCache",new WeakMap),this.createProxy()}}function ev(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3?arguments[3]:void 0;return"function"==typeof e?async()=>{let o=await e();n&&(n.properties=o);let i=Object.entries(o);return i.sort((e,t)=>{let[,l]=e,[,n]=t;return((null==n?void 0:n.sort)??0)-((null==l?void 0:l.sort)??0)}),i.map(e=>{let[n,o]=e;return(0,r._)(this,ef,eM).call(this,n,o,[...t,n],l)})}:Object.entries(e).sort((e,t)=>{let[,l]=e,[,n]=t;return((null==n?void 0:n.sort)??0)-((null==l?void 0:l.sort)??0)}).map(e=>{let[n,o]=e;return(0,r._)(this,ef,eM).call(this,n,o,[...t,n],l)})}function ey(e){if(0===e.length)return null;let[t,...l]=e,n=this._props[t];if(null==n?void 0:n.meta)return(0,r._)(this,ec,ex).call(this,t,n.meta,l,[t]);let o=(0,r._)(this,eu,eb).call(this,this._delegates,t);return o?(0,r._)(this,ec,ex).call(this,t,o,l,[t]):null}function eb(e,t){for(let l of e){let e=l._props[t];if(null==e?void 0:e.meta)return e.meta;let n=(0,r._)(this,eu,eb).call(this,l._delegates,t);if(n)return n}return null}function ex(e,t,l,n){if(0===l.length)return[e,t,n];if("function"==typeof t)return[l[l.length-1],async()=>{let e=await t();return await (0,r._)(this,eh,ew).call(this,e,l)},[...n,...l]];if(t.properties){let[e,...o]=l,i=[...n,e];if("function"==typeof t.properties)return[l[l.length-1],async()=>{let l=t.properties,n=await l();t.properties=n;let i=n[e];if(!i)throw Error(`Property ${e} not found in resolved properties`);return await (0,r._)(this,eh,ew).call(this,i,o)},[...n,...l]];let a=t.properties[e];if(a)return(0,r._)(this,ec,ex).call(this,e,a,o,i)}return null}async function ew(e,t){if(0===t.length)return e;let l=e;for(let e of t){let n=h().get(l,"properties");if(!n)throw Error(`Property path not found: ${t.join(".")}`);if("function"==typeof n){let e=await n();l.properties=e,n=e}let o=n[e];if(!o)throw Error(`Property ${e} not found while resolving path: ${t.join(".")}`);l=o}return l}function eS(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(0===e.length)return[];let l=t?e.slice(0,-1):e;if(0===l.length)return[];let n=[],o=this._getPropertiesMeta();for(let e=0;e<l.length;e++){let t=l[e],i=o[t];if(!i||"function"==typeof i){n.push(t);break}if(n.push(i.title||t),e<l.length-1&&i.properties&&"function"!=typeof i.properties)o=i.properties;else if(e<l.length-1){for(let t=e+1;t<l.length;t++)n.push(l[t]);break}}return n}function eM(e,t){let l,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[e],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=this._metaNodeCache.get(t);if(i)return i.paths=n,i.parentTitles=o.length>0?o:void 0,i;let a=e=>{if(!e)return{disabled:!1,hidden:!1};let t="function"==typeof e.disabled?e.disabled():e.disabled,l="function"==typeof e.disabledReason?e.disabledReason():e.disabledReason,n="function"==typeof e.hidden?e.hidden():e.hidden;return{disabled:!(t&&"function"==typeof t.then)&&!!t,reason:l&&"function"==typeof l.then?void 0:l,hidden:!(n&&"function"==typeof n.then)&&!!n}};if("function"==typeof t){let i=e,s=t.hasChildren;l={name:e,title:t.title||i,type:"object",interface:void 0,options:void 0,uiSchema:void 0,paths:n,parentTitles:o.length>0?o:void 0,disabled:()=>{let e=t();return(!e||"function"!=typeof e.then)&&a(e).disabled},disabledReason:()=>{let e=t();if(!e||"function"!=typeof e.then)return a(e).reason},hidden:()=>{let e=t();return(!e||"function"!=typeof e.then)&&a(e).hidden},children:!1===s?void 0:async()=>{try{let i=await t(),a=(null==i?void 0:i.title)||e;if(l.title=a,l.type=null==i?void 0:i.type,l.interface=null==i?void 0:i.interface,l.options=null==i?void 0:i.options,l.uiSchema=null==i?void 0:i.uiSchema,!(null==i?void 0:i.properties))return[];let s=(0,r._)(this,es,ev).call(this,i.properties,n,[...o,a],i),d=Array.isArray(s)?s:await s();return l.children=d,d}catch(t){return console.warn(`Failed to load meta for ${e}:`,t),[]}}}}else{let i=t.title,{disabled:s,reason:d,hidden:u}=a(t);l={name:e,title:i,type:t.type,interface:t.interface,options:t.options,uiSchema:t.uiSchema,paths:n,parentTitles:o.length>0?o:void 0,disabled:s,disabledReason:d,hidden:u,children:t.properties?(0,r._)(this,es,ev).call(this,t.properties,n,[...o,i],t):void 0}}return this._metaNodeCache.set(t,l),l}class eF extends eg{constructor(){super(),this.defineMethod("getModel",(e,t)=>this.engine.getModel(e,t)),this.defineMethod("request",e=>{let t=this.app;return"string"==typeof(null==e?void 0:e.url)&&el(e.url,t)?u.A.request(e):this.api.request(e)}),this.defineMethod("runjs",async function(e,t,l){let{preprocessTemplates:n,...o}=l||{},i={...(null==o?void 0:o.globals)||{},...t||{}},r=await this.createJSRunner({...o||{},globals:i}),a=(0,k.R)({version:null==o?void 0:o.version,preprocessTemplates:n}),s=await (0,P.ji)(String(e??""),{preprocessTemplates:a});return r.run(s)})}}class eA extends eF{}class ek extends eF{constructor(e){if(!(e instanceof F.$))throw Error("Invalid FlowEngine instance");super(),(0,s._)(this,"engine",void 0),this.engine=e,this.engine=e;let t=new M.zA;t.setFlowEngine(this.engine);let n=new M.qS({key:"main",displayName:"Main"});t.addDataSource(n),this.defineProperty("engine",{value:this.engine,info:{description:"FlowEngine instance.",detail:"FlowEngine"}}),this.defineProperty("sql",{get:e=>new C.tP(e),cache:!1,info:{description:"SQL helper (FlowSQLRepository).",detail:"FlowSQLRepository"}}),this.defineProperty("dataSourceManager",{value:t,info:{description:"DataSourceManager instance.",detail:"DataSourceManager"}});let o=new A(this);this.defineMethod("t",(e,t)=>o.translate(e,t)),this.defineProperty("locale",{get:()=>{var e,t,l;return(null==(t=this.api)||null==(e=t.auth)?void 0:e.locale)||(null==(l=this.i18n)?void 0:l.language)},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("Current language"),sort:970}),{title:(0,P.MI)("Current language"),sort:970,hasChildren:!1})}),this.defineMethod("renderJson",function(e){return this.resolveJsonTemplate(e)}),this.defineMethod("resolveJsonTemplate",async function(e){let t=(0,P.nN)(e),l=Object.keys(t||{});if(!l.length)return(0,P.M)(e,this);let n={};for(let e of l){let l=t[e]||[],o=this.getPropertyOptions(e),i=null==o?void 0:o.resolveOnServer;if(!0===i)n[e]=l;else if("function"==typeof i){let t=l.filter(e=>{try{return!!i(e)}catch(e){return!1}});t.length&&(n[e]=t)}}let o=Object.keys(n).length>0,i=e;if(o){let t=e=>{let t=(0,R.XU)(e);if(t)return t;try{var l,n,o,i,r,a,s,d,u,c,p,h,m;let t=null==e||null==(n=e.resource)||null==(l=n.getMeta)?void 0:l.call(n,"currentFilterByTk");if(null==t)return;let f=(null==e||null==(o=e.collection)?void 0:o.name)||(null==e||null==(c=e.resource)||null==(u=c.getResourceName)||null==(d=u.call(c))||null==(s=d.split)||null==(a=s.call(d,"."))||null==(r=a.slice)||null==(i=r.call(a,-1))?void 0:i[0]);if(!f)return;let g=(null==e||null==(p=e.collection)?void 0:p.dataSourceKey)||(null==e||null==(m=e.resource)||null==(h=m.getDataSourceKey)?void 0:h.call(m));return{collection:f,dataSourceKey:g,filterByTk:t}}catch(e){return}},l=async()=>{let e={};try{var t,l;let o=null==(t=(l=this)._getPropertiesMeta)?void 0:t.call(l);if(!o||"object"!=typeof o)return e;for(let[t,l]of Object.entries(o))if(n[t])try{let o;if("function"==typeof l){let e=l;o=await e()}else o=l;if(!o||"object"!=typeof o)continue;let i=o.buildVariablesParams;if("function"!=typeof i)continue;let r=await i(this);if(!r)continue;let a=n[t]||[],s=eo(r,a);s&&("object"!=typeof s||Object.keys(s).length)&&(e[t]=s)}catch(e){}}catch(e){}return e},o=await l(),s={...o};try{let e="formValues",l=n[e]||[];if(l.length){let n=new Set;for(let e of l){let t=ei(e);t&&n.add(t)}let i=null==o?void 0:o[e],r=new Set;if(!i||"object"!=typeof i||Array.isArray(i)||en(i)||Object.keys(i).forEach(e=>r.add(e)),[...n].filter(e=>!r.has(e)).length){let n=t(this);if(n){let{generatedFields:t,generatedAppends:o}=er(l),i={...n,fields:t,appends:o},r=s[e];if(r&&"object"==typeof r&&!Array.isArray(r)&&!en(r)){for(let[t,l]of Object.entries(r))s[`${e}.${t}`]=l;delete s[e]}s[e]=i}}}}catch(e){}let d=Object.keys(s).length?(0,E.d)(this,s):void 0;if(!d){let t=Object.keys(n);if(t.length>0&&t.every(e=>{var t;return null==(t=this.getPropertyOptions(e))?void 0:t.serverOnlyWhenContextParams}))return(0,P.M)(e,this)}if(this.api)try{i=await (0,I.o4)(this,{template:e,contextParams:d||{}})}catch(t){var r,a;null==(a=this.logger)||null==(r=a.warn)||r.call(a,{err:t},"variables:resolve failed, fallback to client-only"),i=e}}return(0,P.M)(i,this)}),this.defineMethod("getVar",async function(e){let t=("string"==typeof e?e:String(e??"")).trim();if(t){if("ctx"!==t&&!t.startsWith("ctx."))throw Error(`ctx.getVar(path) expects an expression starting with "ctx.", got: "${t}"`);return this.resolveJsonTemplate(`{{ ${t} }}`)}},'Resolve a ctx expression value by path (expression starts with "ctx.").'),this.defineProperty("requirejs",{get:()=>{var e,t;return null==(t=this.app)||null==(e=t.requirejs)?void 0:e.requirejs}}),this.defineProperty("token",{get:()=>{var e,t;return null==(t=this.api)||null==(e=t.auth)?void 0:e.token},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("API Token"),sort:980}),{title:"API Token",sort:980,hasChildren:!1})}),this.defineProperty("role",{get:()=>{var e,t;return null==(t=this.api)||null==(e=t.auth)?void 0:e.role},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("Current role"),sort:990}),{title:(0,P.MI)("Current role"),sort:990,hasChildren:!1})}),this.defineProperty("urlSearchParams",{cache:!1,get:()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t;return f().parse(l)||{}},meta:Object.assign(()=>({type:"object",title:this.t("URL search params"),sort:970,disabled:()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t;return 0===Object.keys(f().parse(l)||{}).length},disabledReason:()=>this.t("The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string."),properties:async()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t,n=f().parse(l)||{},o={};for(let e of Object.keys(n))o[e]={type:"string",title:e};return o}}),{title:(0,P.MI)("URL search params"),sort:970,hasChildren:!0})}),this.defineProperty("logger",{get:()=>this.engine.logger.child({module:"flow-engine"})}),this.defineProperty("auth",{get:()=>({roleName:this.api.auth.role,locale:this.api.auth.locale,token:this.api.auth.token,user:this.user})}),this.defineProperty("date",{get:()=>{let e=t=>new Proxy({},{get:(l,n)=>{if("string"!=typeof n)return;let o=[...t,n];if(!(0,P.JE)(o))return;let i=(0,P.Vv)(o);return void 0!==i?i:e(o)}});return e(["date"])},cache:!1}),this.defineMethod("loadCSS",async e=>{let t=(0,P.i)(e);return new Promise((e,l)=>{if(document.querySelector(`link[href="${t}"]`))return void e(null);let n=document.createElement("link");n.rel="stylesheet",n.href=t,n.onload=()=>e(null),n.onerror=()=>l(Error(`Failed to load CSS: ${t}`)),document.head.appendChild(n)})},{description:"Load a CSS file by URL (browser only).",params:[{name:"href",type:"string",description:"CSS URL."}],returns:{type:"Promise<void>"},completion:{insertText:"await ctx.loadCSS('https://example.com/style.css')"},examples:["await ctx.loadCSS('https://example.com/style.css');"]}),this.defineMethod("requireAsync",async e=>{if((0,P.yp)(e))return this.loadCSS(e);let t=(0,P.i)(e,{raw:!0});return await H(this.requirejs,t)}),this.defineMethod("importAsync",async function(e){return(0,P.yp)(e)?this.loadCSS(e):await ee(this,e,{importer:G})}),this.defineMethod("createJSRunner",async function(e){try{let e=await Promise.resolve().then(l.bind(l,88828));"function"==typeof(null==e?void 0:e.setupRunJSContexts)&&await e.setupRunJSContexts()}catch(e){}let t=(null==e?void 0:e.version)||"v1",n=(0,_.B)(this),o=_.F.resolve(t,n)||eW,i=new o(this);i.defineMethod("t",(e,t)=>this.t(e,{ns:"runjs",...t}));let r={};try{var a,s,d,u,c,p,h,m;let e=(null==(d=this)||null==(s=d.api)||null==(a=s.auth)?void 0:a.locale)||(null==(c=this)||null==(u=c.i18n)?void 0:u.language)||(null==(p=this)?void 0:p.locale);r=(null==o||null==(h=o.getDoc)?void 0:h.length)?o.getDoc(e)||{}:(null==o||null==(m=o.getDoc)?void 0:m.call(o))||{}}catch(e){r={}}let f={ctx:eq(i,{doc:r}),...(null==e?void 0:e.globals)||{}},{timeoutMs:g}=e||{};return new k.I({globals:f,timeoutMs:g})}),this.defineMethod("buildServerContextParams",function(e){return(0,E.d)(this,e)}),this.defineMethod("getAction",function(e){return this.engine.getAction(e)}),this.defineMethod("getActions",function(){return this.engine.getActions()}),this.defineMethod("getEvents",function(){return this.engine.getEvents()}),this.defineMethod("runAction",async function(e,t){let l=this.engine.getAction(e),n=await (0,T.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let o={...await (0,P.gG)(l.defaultParams,n)||{},...t||{}},i=l.useRawParams;if("function"==typeof i&&(i=await i(n)),i||(o=await n.resolveJsonTemplate(o)),!l.handler)throw Error(`Action '${e}' has no handler.`);return l.handler(n,o)}),this.defineProperty("acl",{get:()=>new x(this.engine)}),this.defineMethod("aclCheck",function(e){return this.acl.aclCheck(e)}),this.defineMethod("createResource",function(e){return this.engine.createResource(e,{context:this.createProxy()})}),this.defineMethod("makeResource",function(e){return this.engine.createResource(e,{context:this.createProxy()})}),this.defineMethod("initResource",function(e){return this.has("resource")||this.defineProperty("resource",{get:()=>this.createResource(e)}),this.resource}),this.defineMethod("useResource",function(e){return this.initResource(e)})}}class eC extends eA{constructor(e){if(!e||"object"!=typeof e)throw Error("Invalid FlowModel instance");super(),this.addDelegate(e.flowEngine.context),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)}),this.defineProperty("model",{value:e,info:{description:"Current FlowModel instance.",detail:"FlowModel"}});let t=(0,g.createRef)();this.defineProperty("ref",{get:()=>(this.model._refCreated=!0,t),info:{description:"Stable React ref for the view container.",detail:"React.RefObject<HTMLDivElement>"}}),this.defineMethod("openView",async function(e,t){var l,n,o,i,r;let a={...t};(a.defineProperties||a.defineMethods)&&(a.navigation=!1);let s=null;if(!(s=await this.engine.loadModel({uid:e}))){let t=(e,t)=>{let l={};for(let n of t)void 0!==(null==e?void 0:e[n])&&(l[n]=e[n]);return l};s=this.engine.createModel({uid:e,use:"PopupActionModel",parentId:this.model.uid,subType:"object",subKey:e,stepParams:{popupSettings:{openView:{...t(a,["dataSourceKey","collectionName","associationName","mode","size"])}}}}),await s.save()}s.setParent(this.model);let d=(null==a?void 0:a.routeViewUid)??(null==a?void 0:a.viewUid)??((null==(n=s.stepParams)||null==(l=n.popupSettings)?void 0:l.openView)?s.uid:this.model.uid),u=this.view,c=(null==a?void 0:a.isMobileLayout)?"embed":(null==a?void 0:a.mode)||"drawer",p={...a,viewUid:d,navigation:a.navigation};p.filterByTk=p.filterByTk||(null==(o=this.inputArgs)?void 0:o.filterByTk),p.sourceId=p.sourceId||(null==(i=this.inputArgs)?void 0:i.sourceId);let h={type:c,inputArgs:p,navigation:null==u?void 0:u.navigation,preventClose:!!(null==a?void 0:a.preventClose),engineCtx:this.engine.context};s.context.defineProperty("view",{value:h});let m=null==(r=s.getFlow)?void 0:r.call(s,"popupSettings"),f=null==m?void 0:m.on,g="click";"string"==typeof f&&f?g=f:f&&"object"==typeof f&&"string"==typeof f.eventName&&f.eventName&&(g=f.eventName),await s.dispatchEvent(g,{...a},{debounce:!0})}),this.defineMethod("getEvents",function(){return this.model.getEvents()}),this.defineMethod("getAction",function(e){return this.model.getAction(e)}),this.defineMethod("getActions",function(){return this.model.getActions()}),this.defineMethod("runAction",async function(e,t){let l=this.model.getAction(e),n=await (0,T.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let o={...await (0,P.gG)(l.defaultParams,n)||{},...t||{}},i=l.useRawParams;if("function"==typeof i&&(i=await i(n)),i||(o=await n.resolveJsonTemplate(o)),!l.handler)throw Error(`Action '${e}' has no handler.`);return l.handler(n,o)})}}class eP extends eA{constructor(e,t){if(!e||"object"!=typeof e)throw Error("Invalid FlowModel instance");super(),(0,s._)(this,"master",void 0),(0,s._)(this,"fork",void 0),this.master=e,this.fork=t,this.addDelegate(this.master.context),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)}),this.defineProperty("model",{get:()=>this.fork,info:{description:"Current ForkFlowModel instance (as model).",detail:"ForkFlowModel"}});let l=(0,g.createRef)();this.defineProperty("ref",{get:()=>(this.fork._refCreated=!0,l),info:{description:"Stable React ref for the view container.",detail:"React.RefObject<HTMLDivElement>"}})}}class ej extends eA{_getOwnProperty(e){if("runtime"===this.mode)return super._getOwnProperty(e,this.createProxy());let t=this._props[e];if(t){if("value"in t)return S.create()[e];if(t.get){if(!1===t.cache)return S.create()[e];let l=t.observable?"_observableCache":"_cache";return e in this[l]||(this[l][e]=S.create()[e]),this[l][e]}}}exit(){throw new j.zz(this.flowKey,this.model.uid)}exitAll(){throw new j.zz(this.flowKey,this.model.uid)}get mode(){return this._mode}constructor(e,t,l="runtime"){super(),(0,s._)(this,"model",void 0),(0,s._)(this,"flowKey",void 0),(0,s._)(this,"_mode",void 0),(0,s._)(this,"stepResults",void 0),this.model=e,this.flowKey=t,this._mode=l,this.stepResults={},this.addDelegate(this.model.context),this.defineMethod("getStepParams",l=>e.getStepParams(t,l)||{}),this.defineMethod("setStepParams",(l,n)=>e.setStepParams(t,l,n)),this.defineMethod("getStepResults",e=>h().get(this.steps,[e,"result"])),this.defineMethod("initResource",t=>{e.context.has("resource")?console.log(`[FlowRuntimeContext] useResource - resource already defined in context: ${t}`):(e.context.defineProperty("resource",{get:()=>this.makeResource(t)}),e.resource||(e.resource=e.context.resource))}),this.defineMethod("useResource",e=>this.initResource(e)),this.defineProperty("resource",{get:()=>e.resource||e.context.resource,cache:!1}),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)})}}let eI=new WeakMap,eE=new WeakMap,eR=new WeakMap;function e_(e,t){if(null===t)return;if(Array.isArray(e)||Array.isArray(t)||"object"!=typeof e||"object"!=typeof t)return t??e;let l={...e};for(let n of Object.keys(t)){let o=e_(null==e?void 0:e[n],t[n]);void 0===o?delete l[n]:l[n]=o}return l}function eT(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function eD(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}function eN(e){return!0===e||(e&&eT(e)?e:void 0)}function eO(e,t,l){if(!Array.isArray(t)||!t.length)return;let n=e;for(let e of t){if(!e)return;n.children=n.children||{},n.children[e]=n.children[e]||{},n=n.children[e]}n.deprecated=l}function e$(e,t){void 0!==t.deprecated&&(e.deprecated=t.deprecated);let l=t.children||{},n=Object.keys(l);if(n.length)for(let t of(e.children=e.children||{},n))e.children[t]=e.children[t]||{},e$(e.children[t],l[t])}function eB(e){let t={};if(!e)return t;let l=(e,n)=>{if(eT(e))for(let[o,i]of Object.entries(e)){if(!o||!i||"object"!=typeof i||Array.isArray(i))continue;let e=i,r=eN(e.deprecated);r&&eO(t,[...n,o],r),eT(e.properties)&&l(e.properties,[...n,o])}},n=e=>{if(eT(e))for(let[l,n]of Object.entries(e)){if(!l||!n||"object"!=typeof n||Array.isArray(n))continue;let e=eN(n.deprecated);e&&eO(t,[l],e)}};return l(e.properties,[]),n(e.methods),t}function eL(e){let t={},l=new WeakSet,n=(e,l)=>{if(eT(l))for(let[o,i]of Object.entries(l)){if(!o||"string"==typeof i||!i||"object"!=typeof i||Array.isArray(i))continue;let l=i,r=eN(l.deprecated);r&&eO(t,[...e,o],r),eT(l.properties)&&n([...e,o],l.properties)}},o=e=>{if(!e||"object"!=typeof e&&"function"!=typeof e||l.has(e))return;l.add(e);let i=e._methodInfos;if(eT(i))for(let[e,l]of Object.entries(i)){if(!e||!l||"object"!=typeof l||Array.isArray(l))continue;let n=eN(l.deprecated);n&&eO(t,[e],n)}let r=e._props;if(eT(r))for(let[e,l]of Object.entries(r)){if(!e)continue;let o=null==l?void 0:l.info;if(!o||"object"!=typeof o||Array.isArray(o))continue;let i=eN(o.deprecated);i&&eO(t,[e],i),eT(o.properties)&&n([e],o.properties)}let a=e._delegates;if(Array.isArray(a))for(let e of a)o(e)};return o(e),t}function eq(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eB(t.doc);e$(l,eL(e));let n=new Set,o=new WeakMap,i=new WeakMap,r=new WeakMap,a=e=>{if(!e||"string"!=typeof e)return{};let t=2;for(let l of e.split("\n")){if(!l)continue;let e=l.match(/<anonymous>:(\d+):(\d+)/);if(!e)continue;let n=Number(e[1]),o=Number(e[2]);return{line:Number.isFinite(n)&&n>t?n-t:n,column:Number.isFinite(o)?o:void 0,rawLine:n,rawColumn:o}}return{}},s=(e,t)=>{if(eT(t))for(let[n,o]of Object.entries(t)){if(!n||"string"==typeof o||!o||"object"!=typeof o||Array.isArray(o))continue;let t=o,i=eN(t.deprecated);i&&eO(l,[...e,n],i),eT(t.properties)&&s([...e,n],t.properties)}},d=(e,t)=>{if(!e)return;let n=null==t?void 0:t.info;if(!n||"object"!=typeof n||Array.isArray(n))return;let o=eN(n.deprecated);o&&eO(l,[e],o),eT(n.properties)&&s([e],n.properties)},u=(e,t)=>{if(!e||!t||"object"!=typeof t||Array.isArray(t))return;let n=eN(t.deprecated);n&&eO(l,[e],n)},c=e=>{let t=e;for(;t&&("object"==typeof t||"function"==typeof t);){let e=o.get(t);if(!e)break;t=e}return t},p=e=>{if(e){if("string"==typeof e)return e.trim()||void 0;if(Array.isArray(e)){let t=e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean);return t.length?t.join(", "):void 0}}},h=(t,l,o)=>{if(!t||n.has(t))return;n.add(t);let i=null==e?void 0:e.logger,r="function"==typeof(null==e?void 0:e.t)?(t,l)=>e.t(t,{ns:[P.u4,"client"],nsMode:"fallback",...l}):(e,t)=>{let l=(null==t?void 0:t.defaultValue)??e;return"string"==typeof l&&t?l.replace(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g,(e,l)=>{let n=null==t?void 0:t[l];return"string"==typeof n||"number"==typeof n?String(n):""}):l},s="object"==typeof l&&l?l:{},d=p(s.replacedBy),u="string"==typeof s.since?String(s.since):void 0,c="string"==typeof s.removedIn?String(s.removedIn):void 0,h="string"==typeof s.message?String(s.message):"",m=a(o),f=m.line?`(line ${m.line}${m.column?`:${m.column}`:""})`:"",g=h.trim(),v=g?r("RunJS deprecated warning with message",{defaultValue:"[RunJS][Deprecated] {{api}} {{message}}{{location}}",api:t,message:g,location:f}):r("RunJS deprecated warning",{defaultValue:"[RunJS][Deprecated] {{api}} is deprecated{{location}}",api:t,location:f}),y=r("RunJS deprecated separator",{defaultValue:"; "}),b=[v];d&&b.push(r("RunJS deprecated replacedBy",{defaultValue:"Use {{replacedBy}} instead",replacedBy:d})),u&&b.push(r("RunJS deprecated since",{defaultValue:"since {{since}}",since:u})),c&&b.push(r("RunJS deprecated removedIn",{defaultValue:"will be removed in {{removedIn}}",removedIn:c}));let x=b.filter(Boolean).join(y);try{i&&"function"==typeof i.warn?i.warn(x):console.warn(x)}catch(e){}},m=(e,t,l)=>{let o=t.deprecated;if(!o)return e;let i=r.get(e)||new Map;if(r.set(e,i),i.has(l))return i.get(l);let a=new Proxy(e,{apply(e,t,i){let r=n.has(l)?void 0:Error().stack;return h(l,o,r),Reflect.apply(e,c(t),i)},get:(e,t,l)=>Reflect.get(e,t,l)});return i.set(l,a),a},f=(e,t,l)=>{if(!e||"object"!=typeof e&&"function"!=typeof e||eD(e)||!(t.children&&Object.keys(t.children).length>0)&&"ctx"!==l)return e;let r=i.get(e)||new Map;if(i.set(e,r),r.has(l))return r.get(l);let a=new Proxy(e,{get(e,o,i){var r;if("symbol"==typeof o)return Reflect.get(e,o,c(i));let a=String(o),s=Reflect.get(e,o,c(i));if("ctx"===l&&"defineProperty"===a&&"function"==typeof s)return function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let n=s(...t);try{d(String((null==t?void 0:t[0])??""),null==t?void 0:t[1])}catch(e){}return n};if("ctx"===l&&"defineMethod"===a&&"function"==typeof s)return function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let n=s(...t);try{u(String((null==t?void 0:t[0])??""),null==t?void 0:t[2])}catch(e){}return n};let p=null==(r=t.children)?void 0:r[a];if(!p)return s;let g=`${l}.${a}`;if("function"==typeof s&&p.deprecated)return m(s,p,g);if(p.deprecated){let e=n.has(g)?void 0:Error().stack;h(g,p.deprecated,e)}return s&&("object"==typeof s||"function"==typeof s)&&p.children?f(s,p,g):s},has:(e,t)=>Reflect.has(e,t)});return o.set(a,e),r.set(l,a),a};return f(e,l,"ctx")}function eV(e,t,l){if(!eT(t))return e;if(!eT(e))return t;let n={...e};for(let o of Object.keys(t)){let i=t[o];if(null===i){delete n[o];continue}let r=l(eT(e)?e[o]:void 0,i);void 0===r?delete n[o]:n[o]=r}return n}function ez(e,t){if(null===t)return;let l=eT(e),n=eT(t),o="string"==typeof e;if("string"==typeof t)return l?ez(e,{description:t}):t;if(n){let n=l?e:o?{description:e}:void 0,i={...n||{}};for(let e of Object.keys(t)){if("properties"===e){let e=t.properties;if(null===e){delete i.properties;continue}let l=eV(null==n?void 0:n.properties,e,ez);void 0===l?delete i.properties:i.properties=l;continue}let l=e_(null==n?void 0:n[e],t[e]);void 0===l?delete i[e]:i[e]=l}return i}return t??e}function eK(e,t){if(null===t)return;let l=eT(e),n=eT(t),o="string"==typeof e;if("string"==typeof t)return l?eK(e,{description:t}):t;if(n){let n=l?e:o?{description:e}:void 0,i={...n||{}};for(let e of Object.keys(t)){let l=e_(null==n?void 0:n[e],t[e]);void 0===l?delete i[e]:i[e]=l}return i}return t??e}function eU(e,t){let l=eT(e)?e:{},n=eT(t)?t:{},o={...l};for(let e of Object.keys(n)){if("properties"===e){let e=eV(l.properties,n.properties,ez);void 0===e?delete o.properties:o.properties=e;continue}if("methods"===e){let e=eV(l.methods,n.methods,eK);void 0===e?delete o.methods:o.methods=e;continue}let t=e_(l[e],n[e]);void 0===t?delete o[e]:o[e]=t}return o}class eW extends eg{exit(){var e;throw new j.zz(this.flowKey,(null==(e=this.model)?void 0:e.uid)||"runjs")}exitAll(){var e;throw new j.zz(this.flowKey,(null==(e=this.model)?void 0:e.uid)||"runjs")}static define(e,t){let l=null==t?void 0:t.locale;if(l){let t=eE.get(this)||new Map,n=t.get(l)||{};t.set(l,eU(n,e)),eE.set(this,t)}else{let t=eI.get(this)||{};eI.set(this,eU(t,e))}eR.delete(this)}static getDoc(e){let t=this,l=eR.get(t),n=String(e||"default");if(l&&l.has(n))return l.get(n);let o=[],i=t;for(;i&&i.prototype;)o.unshift(i),i=Object.getPrototypeOf(i);let r={};for(let e of o)r=eU(r,eI.get(e)||{});if(e)for(let t of o){let l=eE.get(t);l&&l.has(e)&&(r=eU(r,l.get(e)))}return l||(l=new Map,eR.set(t,l)),l.set(n,r),r}constructor(e){super(),this.addDelegate(e),this.defineProperty("React",{value:g}),this.defineProperty("antd",{value:c}),this.defineProperty("dayjs",{value:N()});let t={...y,createRoot:(e,t)=>{let l=(null==e?void 0:e.__el)||e;return this.engine.reactView.createRoot(l,t)}};t.__nbRunjsInternalShim=!0,this.defineProperty("ReactDOM",{value:t}),(0,O.oJ)(this),this.defineMethod("render",function(e,t){let l=t||this.element;if(!l)throw Error("ctx.render: container not provided and ctx.element is not available");let n=(null==l?void 0:l.__el)||l,o=globalThis;o.__nbRunjsRoots=o.__nbRunjsRoots||new WeakMap;let i=o.__nbRunjsRoots,r=e=>{if(!e)return;if(e.disposeTheme&&"function"==typeof e.disposeTheme){try{e.disposeTheme()}catch(e){}e.disposeTheme=void 0}let t=e.root||e;if(t&&"function"==typeof t.unmount)try{t.unmount()}catch(e){}},a=()=>{let e=i.get(n);e&&(r(e),i.delete(n))};if("string"==typeof e)return a(),new b.x(n).innerHTML=String(e??""),null;if(e&&e.nodeType&&(1===e.nodeType||3===e.nodeType||11===e.nodeType)){for(a();n.firstChild;)n.removeChild(n.firstChild);return n.appendChild(e),null}let s=this.ReactDOM,d=this,u=i.get(n);return u&&u.rendererKey===s&&u.ownerKey===d||(u&&(r(u),i.delete(n)),u={rendererKey:s,ownerKey:d,root:this.ReactDOM.createRoot(n),disposeTheme:void 0,lastVnode:void 0},i.set(n,u)),(0,O.$B)({ctx:this,entry:u,vnode:e,containerEl:n,rootMap:i,unmountContainerRoot:a,internalReact:g,internalAntd:c})})}}},81440(e,t,l){l.d(t,{$:()=>ek});var n=l(88243),o=l(16213),i=l(50467),r=l(95243),a=l(2543),s=l.n(a),d=l(81318),u=l.n(d),c=l(64171);class p extends c.Z{getAction(e){return this.actions.get(e)}getActions(){return new Map(this.actions)}}var h=l(26955);class m extends h.L{getEvent(e){return this.events.get(e)}getEvents(){return new Map(this.events)}}var f=l(29007),g=l(48555),v=l(31108),y=l(88439),b=l(62572);class x{async emitModelEventIf(e,t,l){e&&await this.engine.emitter.emitAsync(`model:event:${e}:${t}`,l)}async withApplyFlowCache(e,t){if(!e||!this.engine)return await t();let l=this.engine.applyFlowCache.get(e);if(l){if("resolved"===l.status)return l.data;if("rejected"===l.status)throw l.error;if("pending"===l.status)return await l.promise}let n=t().then(t=>(this.engine.applyFlowCache.set(e,{status:"resolved",data:t,promise:Promise.resolve(t)}),t)).catch(t=>{throw this.engine.applyFlowCache.set(e,{status:"rejected",error:t,promise:Promise.reject(t)}),t});return this.engine.applyFlowCache.set(e,{status:"pending",promise:n}),await n}async runFlow(e,t,l,n,o){var i;let r,a=e.getFlow(t);if(!a)return e.context.logger.error(`BaseModel.applyFlow: Flow with key '${t}' not found.`),Promise.reject(Error(`Flow '${t}' not found.`));let d=new f.W5(e,t);d.defineProperty("reactView",{value:e.reactView}),d.defineProperty("inputArgs",{value:{...l}}),d.defineProperty("runId",{value:n||`run-${Date.now()}`});let u=d.stepResults,c=e.getEvent("string"==typeof a.on?a.on:null==(i=a.on)?void 0:i.eventName);c&&((c={...c}).defaultParams={...s().get(a,"on.defaultParams",{}),...c.defaultParams});let p=c?{eventStep:c,...a.steps}:a.steps;(0,y.w)(d,p,e,t);let h=d.steps,m={uid:e.uid,model:e,runId:d.runId,inputArgs:l,flowKey:t};for(let[l,n]of(await this.emitModelEventIf(o,`flow:${t}:start`,m),Object.entries(p))){let i,a,s={},c=n.useRawParams;if(n.use){let o=e.getAction(n.use);if(!o){d.logger.error(`BaseModel.applyFlow: Action '${n.use}' not found for step '${l}' in flow '${t}'. Skipping.`);continue}a=await (0,b.v)(d,{...o,...n}),i=n.handler||o.handler,c=c??o.useRawParams;let r=await (0,g.gG)(o.defaultParams,a),u=await (0,g.gG)(n.defaultParams,a);s={...r,...u}}else if(n.handler)a=await (0,b.v)(d,n),i=n.handler,s={...await (0,g.gG)(n.defaultParams,a)};else{d.logger.warn(`BaseModel.applyFlow: Step '${l}' in flow '${t}' has neither 'use' nor 'handler'. Skipping.`);continue}let p=e.getStepParams(t,l);void 0!==p&&(s={...s,...p}),"function"==typeof c&&(c=await c(a)),c||(s=await a.resolveJsonTemplate(s));try{if(!i){d.logger.error(`BaseModel.applyFlow: No handler available for step '${l}' in flow '${t}'. Skipping.`);continue}await this.emitModelEventIf(o,`flow:${t}:step:${l}:start`,{...m,stepKey:l});let e=i(a,s);r=!1!==n.isAwait?await e:e,u[l]=r,h[l].result=u[l],await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...m,result:r,stepKey:l})}catch(e){if(e instanceof g.sy||e instanceof v.zz||await this.emitModelEventIf(o,`flow:${t}:step:${l}:error`,{...m,error:e,stepKey:l}),e instanceof g.sy)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...m,stepKey:l}),await this.emitModelEventIf(o,`flow:${t}:end`,{...m,result:u}),Promise.resolve(u);if(e instanceof v.zz)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...m,stepKey:l,aborted:!0}),await this.emitModelEventIf(o,`flow:${t}:end`,{...m,result:e,aborted:!0}),Promise.resolve(e);return await this.emitModelEventIf(o,`flow:${t}:error`,{...m,error:e}),d.logger.error({err:e},`BaseModel.applyFlow: Error executing step '${l}' in flow '${t}':`),Promise.reject(e)}}return await this.emitModelEventIf(o,`flow:${t}:end`,{...m,result:u}),Promise.resolve(u)}async dispatchEvent(e,t,l,n){var o,i,r,a;let s="beforeRender"===t,d=!!(null==n?void 0:n.sequential),u=!!(null==n?void 0:n.useCache),c=s,p=`${e.uid}-${t}-${Date.now()}`,h=e.context.logger,m={uid:e.uid,model:e,runId:p,inputArgs:l};try{await this.emitModelEventIf(t,"start",m),await (null==(o=e.onDispatchEventStart)?void 0:o.call(e,t,n,l))}catch(o){if(s&&o instanceof g.sy)return h.debug(`[FlowModel.dispatchEvent] ${o.message}`),[];try{await (null==(i=e.onDispatchEventError)?void 0:i.call(e,t,n,l,o))}finally{h.error({err:o},`BaseModel.dispatchEvent: Start hook error for event '${t}'`)}if(c)throw o;return}let f=s?e.getEventFlows("beforeRender"):Array.from(e.getFlows().values()).filter(e=>{let l=e.on;return!!l&&("string"==typeof l?l===t:"object"==typeof l&&l.eventName===t)}),y="click"===t&&(null==l?void 0:l.triggerByRouter)===!0?f.filter(e=>{var t;let l=e.flowRegistry;return"instance"!==(null==l||null==(t=l.constructor)?void 0:t._type)}):f,b=[],x=async()=>{let n=!1;if(d){let o=y.map((e,t)=>({f:e,i:t})).slice().sort((e,t)=>{var l,n;let o=e.f.flowRegistry,i=t.f.flowRegistry,r=null==o||null==(l=o.constructor)?void 0:l._type,a=null==i||null==(n=i.constructor)?void 0:n._type,s=+("instance"!==r),d=+("instance"!==a);if(s!==d)return s-d;let u=e.f.sort??0,c=t.f.sort??0;return u!==c?u-c:e.i-t.i}).map(e=>e.f),i=[],r=new Map(o.filter(e=>{var t;let l=e.flowRegistry;return"instance"!==(null==l||null==(t=l.constructor)?void 0:t._type)}).map(e=>[e.key,e])),a=new Set,s=new Map;for(let[n,d]of(o.forEach((e,l)=>{let n=e.on,o="object"==typeof n?n:void 0;if(!o)return;let i=o.phase,d=o.flowKey,u=o.stepKey;if(!i||"beforeAllFlows"===i)return;let c=null;if("afterAllFlows"===i)c=`event:${t}:end`;else if("beforeFlow"===i||"afterFlow"===i)if(d)if(r.get(String(d))){let e="beforeFlow"===i?"start":"end";c=`event:${t}:flow:${String(d)}:${e}`}else c=`event:${t}:end`;else c=`event:${t}:end`;else if("beforeStep"!==i&&"afterStep"!==i)return;else if(d&&u){var p;let e=r.get(String(d)),l=!!(null==e||null==(p=e.hasStep)?void 0:p.call(e,String(u)));if(e&&l){let e="beforeStep"===i?"start":"end";c=`event:${t}:flow:${String(d)}:step:${String(u)}:${e}`}else c=`event:${t}:end`}else c=`event:${t}:end`;if(!c)return;let h=c===`event:${t}:end`||"afterFlow"===i||"afterStep"===i;a.add(e.key);let m=s.get(c)||[];m.push({flow:e,order:l,shouldSkipOnAborted:h}),s.set(c,m)}),s.entries()))for(let o of d.slice().sort((e,t)=>{let l=e.flow.sort??0,n=t.flow.sort??0;return l!==n?l-n:e.order-t.order})){let r=o.shouldSkipOnAborted?Object.assign(e=>e.type===n&&!0!==e.aborted,{__eventType:n}):n,a=e.scheduleModelOperation(e.uid,async e=>{let n=await this.runFlow(e,o.flow.key,l,p,t);if(n instanceof v.zz)throw n;i.push(n)},{when:r});b.push(a)}for(let r of o)if(!a.has(r.key))try{h.debug(`BaseModel '${e.uid}' dispatching event '${t}' to flow '${r.key}' (sequential).`);let o=await this.runFlow(e,r.key,l,p,t);if(o instanceof v.zz){h.debug(`[FlowEngine.dispatchEvent] ${o.message}`),n=!0;break}i.push(o)}catch(e){if(e instanceof v.zz){h.debug(`[FlowEngine.dispatchEvent] ${e.message}`),n=!0;break}throw h.error({err:e},`BaseModel.dispatchEvent: Error executing event-triggered flow '${r.key}' for event '${t}' (sequential):`),e}return{result:i,abortedByExitAll:n}}let o=(await Promise.all(y.map(async n=>{h.debug(`BaseModel '${e.uid}' dispatching event '${t}' to flow '${n.key}'.`);try{return await this.runFlow(e,n.key,l,p,t)}catch(e){if(h.error({err:e},`BaseModel.dispatchEvent: Error executing event-triggered flow '${n.key}' for event '${t}':`),c)throw e;return}}))).filter(e=>void 0!==e);return o.some(e=>e instanceof v.zz)&&(n=!0),{result:o,abortedByExitAll:n}},w=u?JSON.stringify(l??{}):"",S=u?ek.generateApplyFlowCacheKey(`event:${e.getFlowCacheScope(t)}:${w}`,t,e.uid):null;try{let{result:o,abortedByExitAll:i}=await this.withApplyFlowCache(S,x);try{await (null==(r=e.onDispatchEventEnd)?void 0:r.call(e,t,n,l,o))}catch(e){h.error({err:e},`BaseModel.dispatchEvent: End hook error for event '${t}'`)}return await this.emitModelEventIf(t,"end",{...m,result:o,...i?{aborted:!0}:{}}),o&&"object"==typeof o&&Object.defineProperty(o,"__abortedByExitAll",{value:i,configurable:!0}),o}catch(o){try{await (null==(a=e.onDispatchEventError)?void 0:a.call(e,t,n,l,o))}catch(e){}if(e.context.logger.error({err:o},`BaseModel.dispatchEvent: Error executing event '${t}' for model '${e.uid}':`),await this.emitModelEventIf(t,"error",{...m,error:o}),c)throw o}finally{for(let e of b)e()}}constructor(e){(0,i._)(this,"engine",void 0),this.engine=e}}var w=l(58587),S=l(18150),M=l(68238),F=l(78880),A=l(18220),k=l(47674),C=l(21637),P=l(71021),j=l(84626),I=l(96540),E=l(74848),R=l(53619),_=l(92034),T=l(98393),D=l(22803),N=l(42443),O=l(88040),$=l(35710),B=l(18182),L=l(76511),q=l(33954),V=l(57084),z=l(94313),K=l(20616),U=l(52847);let W={marginLeft:32},H=(0,U.PA)(e=>{let{title:t,onChange:l,getDefaultValue:n,disabled:o,itemKey:i,...r}=e,[a,s]=(0,I.useState)(!1),d=(0,K.Db)();(0,I.useEffect)(()=>{let e=!1;return(async()=>{if(n)try{let t=await n();if(e||!t)return;let l=Object.entries(t);if(!l.length)return;let[o,i]=l[0];s(!!i)}catch(e){console.error(e)}})(),()=>{e=!0}},[n]);let u=e=>{s(e),null==l||l({[i]:e})},c=e=>{e.stopPropagation(),o||u(!a)};return(0,E.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",cursor:o?"not-allowed":"pointer"},onClick:c,children:[t,(0,E.jsx)(z.A,{size:"small",...r,checkedChildren:r.checkedChildren?d.t(r.checkedChildren):void 0,unCheckedChildren:r.unCheckedChildren?d.t(r.unCheckedChildren):void 0,checked:a,style:W,disabled:o})]})});var G=l(36492);let Y=(e,t)=>{for(let n of e){var l;if(String((null==n?void 0:n.key)??"")===t)return n;if(null==(l=n.children)?void 0:l.length){let e=Y(n.children,t);if(e)return e}}},J=(e,t,l)=>{let n=t.maxDepth,o="number"==typeof t.arrayLimit?t.arrayLimit:1/0,i=t.mode??"stack",r=new Set,a=new Set,s=(e,t,d)=>{if(!e||t>n)return;let u=()=>{l(e,{depth:t,modelKey:d}),t>=n||Object.entries(e.subModels||{}).forEach(e=>{let[l,n]=e;if(Array.isArray(n)){let e=Number.isFinite(o)?Math.min(n.length,o):n.length;for(let o=0;o<e;o++){let e=n[o];e instanceof q.WD&&s(e,t+1,`${l}[${o}]`)}return}n instanceof q.WD&&s(n,t+1,l)})};if("visited"===i){if(r.has(e))return;r.add(e),u();return}let c=e.uid||`temp-${Date.now()}`;if(!a.has(c)){a.add(c);try{u()}finally{a.delete(c)}}};s(e,1)},X=(e,t)=>{var l;if(!e||!t||"string"!=typeof t)return console.warn("Invalid input parameters"),null;let n=t.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\[(\d+)\])?$/);if(!n)return console.warn(`Invalid subModelKey format: ${t}`),null;let[,o,i]=n,r=null==(l=e.subModels)?void 0:l[o];if(!r)return console.warn(`SubModel '${o}' not found`),null;if(void 0!==i){let e=parseInt(i,10);return Array.isArray(r)?e<0||e>=r.length?(console.warn(`Array index ${e} out of bounds for '${o}'`),null):r[e]instanceof q.WD?r[e]:null:(console.warn(`Expected array for '${o}', got ${typeof r}`),null)}return Array.isArray(r)?(console.warn(`Expected object for '${o}', got array`),null):r instanceof q.WD?r:null},Q={switch:H,select:function(e){let{title:t,getDefaultValue:l,onChange:n,options:o,fieldNames:i,itemKey:r,tooltip:a,...s}=e,[d,u]=(0,I.useState)(!1),[c,p]=(0,I.useState)(""),h=(0,K.Db)();(0,I.useEffect)(()=>{let e=!1;return(async()=>{if(l)try{let t=await l();if(e||!t)return;let n=Object.entries(t);if(!n.length)return;let[o,i]=n[0];p(i)}catch(e){console.error(e)}})(),()=>{e=!0}},[l]);let m=(0,I.useRef)(null),f=e=>{p(e),null==n||n({[r]:e})},g=(0,E.jsx)("span",{style:{whiteSpace:"nowrap",flexShrink:0},children:t});return(0,E.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},onClick:e=>{e.stopPropagation(),u(e=>!e)},onMouseLeave:()=>{m.current=setTimeout(()=>{u(!1)},200)},children:[a?(0,E.jsx)(N.A,{title:a,placement:"top",destroyTooltipOnHide:!0,children:g}):g,(0,E.jsx)(G.A,{...s,open:d,popupMatchSelectWidth:!1,bordered:!1,value:c,onChange:f,popupClassName:`select-popup-${t.replaceAll(" ","-")}`,fieldNames:i,options:o,labelRender:e=>h.t(e.label),optionRender:e=>h.t(e.label),style:{textAlign:"right",minWidth:100},onMouseEnter:()=>{clearTimeout(m.current)},dropdownRender:e=>s.dropdownRender?s.dropdownRender(e,u,f):e})]})}},Z=e=>{let{title:t,uiMode:l,itemProps:n}=e,o=(null==l?void 0:l.type)||l,i=o?Q[o]:null,r=!!(null==n?void 0:n.disabled),a=null==n?void 0:n.disabledReason,s=null==n?void 0:n.disabledIconColor,d=i?(0,E.jsx)(i,{title:t,...n}):(0,E.jsx)(E.Fragment,{children:t});return r?(0,E.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[d,(0,E.jsx)(N.A,{title:a,placement:"right",destroyTooltipOnHide:!0,children:(0,E.jsx)(R.A,{style:{color:s}})})]}):d},ee=".nb-toolbar-container-icons",et=".nb-toolbar-container",el=(0,D.css)`
1050
1050
  width: max-content;
1051
1051
  min-width: max-content;
1052
1052
 
@@ -1401,4 +1401,4 @@ ${i.join("\n")}`:""}function k(e){let t=String((null==e?void 0:e.message)||"");i
1401
1401
  ${r.join("\n")}`:""}function j(e,t){let l=Error(t);l.cause=e;try{let t="string"==typeof(null==e?void 0:e.name)?e.name:"";t&&(l.name=t)}catch(e){}try{let n="string"==typeof(null==e?void 0:e.stack)?e.stack:"";if(n){let e=String(n).split("\n");e.length&&(e[0]=`${l.name}: ${t}`,l.stack=e.join("\n"))}}catch(e){}return l}function I(e){if(!e)return null;let t=u.get(e);if(t)return t;if("function"!=typeof e.createElement)return null;let l=e.Component;if("function"!=typeof l)return null;class o extends l{static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e){try{var t,l,n;let o=null==(t=this.props)?void 0:t.enhanceReactError,i="function"==typeof o?o(e):e,r=String((null==i?void 0:i.message)||"");if(r&&/\[RunJS Hint\]/.test(r)){console.error(r);let e=null==(n=this.props)||null==(l=n.ctx)?void 0:l.logger;e&&"function"==typeof e.error&&e.error(r)}}catch(e){}}componentDidUpdate(e){var t,l;(null==e?void 0:e.resetKey)!==(null==(t=this.props)?void 0:t.resetKey)&&(null==(l=this.state)?void 0:l.error)&&this.setState({error:void 0})}render(){var t,l;let n=null==(t=this.state)?void 0:t.error;if(!n)return this.props.children;let o="";try{let e=null==(l=this.props)?void 0:l.enhanceReactError,t="function"==typeof e?e(n):n;o=String((null==t?void 0:t.message)||t||(null==n?void 0:n.message)||n||"")}catch(e){o=String((null==n?void 0:n.message)||n||"")}let i={boxSizing:"border-box",padding:12,borderRadius:6,border:"1px solid #ffccc7",background:"#fff2f0",color:"#a8071a",fontSize:12,lineHeight:1.5,maxWidth:"100%",overflow:"auto"},r={margin:0,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'},a={fontWeight:600,marginBottom:8};return e.createElement("div",{style:i},e.createElement("div",{style:a},"RunJS render error"),e.createElement("pre",{style:r},o))}constructor(...e){super(...e),(0,n._)(this,"state",{})}}return u.set(e,o),o}function E(e){let{ctx:t,vnode:l,enhanceReactError:n,resetKey:o}=e,i=null==t?void 0:t.React,r=I(i);return r?i.createElement(r,{ctx:t,enhanceReactError:n,resetKey:o},l):l}function R(e){var t;let{ctx:l,entry:n,containerEl:o,rootMap:r,unmountContainerRoot:a,enhanceReactError:s,internalReact:d,internalAntd:u}=e;if(!(!(null==(t=l.ReactDOM)?void 0:t.__nbRunjsInternalShim)&&l.React&&l.React!==d&&l.antd&&l.antd!==u&&void 0!==l.antd.ConfigProvider)){if(n.disposeTheme){try{n.disposeTheme()}catch(e){}n.disposeTheme=void 0}return!1}let c=()=>{var e,t,o,i,r,a,s;null==l||null==(t=l.engine)||null==(e=t.context)||e.themeToken;let d=null==l||null==(i=l.engine)||null==(o=i.context)?void 0:o.antdConfig,u=(null==l||null==(s=l.engine)||null==(a=s.context)||null==(r=a.locales)?void 0:r.antd)||(null==d?void 0:d.locale),c=l.antd.ConfigProvider,p=l.antd.App,h={popupMatchSelectWidth:!1,locale:u||{}};d&&"object"==typeof d&&(void 0!==d.direction&&(h.direction=d.direction),"string"==typeof d.prefixCls&&(h.prefixCls=d.prefixCls),"string"==typeof d.iconPrefixCls&&(h.iconPrefixCls=d.iconPrefixCls),"function"==typeof d.getPopupContainer&&(h.getPopupContainer=d.getPopupContainer),d.theme&&"object"==typeof d.theme&&(h.theme=d.theme));let m=n.lastVnode,f=p?l.React.createElement(c,h,l.React.createElement(p,null,m)):l.React.createElement(c,h,m);n.root.render(f)};return n.disposeTheme?c():n.disposeTheme=(0,i.autorun)(()=>{try{if(o&&1===o.nodeType&&"boolean"==typeof o.isConnected&&!o.isConnected&&n.wasConnected)return void queueMicrotask(()=>{r.get(o)===n&&a()});o&&1===o.nodeType&&"boolean"==typeof o.isConnected&&o.isConnected&&(n.wasConnected=!0),c()}catch(e){throw s(e)}}),!0}function _(e){let{ctx:t,entry:l,vnode:n,containerEl:o,rootMap:i,unmountContainerRoot:r,internalReact:a,internalAntd:s}=e,d=e=>{let l=String((null==e?void 0:e.message)||e||"");if(!l||/\[RunJS Hint\]/.test(l))return e;let n=/invalid hook call/i.test(l),o=k(e);if(!n&&!o)return e;let i=A({ctx:t,internalReact:a,internalAntd:s})||P({ctx:t,internalReact:a,internalAntd:s,err:e});return i?j(e,`${l}${i}`):e};try{return l.__nbRunjsRenderSeq=(l.__nbRunjsRenderSeq||0)+1,l.lastVnode=E({ctx:t,vnode:n,enhanceReactError:d,resetKey:l.__nbRunjsRenderSeq}),R({ctx:t,entry:l,containerEl:o,rootMap:i,unmountContainerRoot:r,enhanceReactError:d,internalReact:a,internalAntd:s})||l.root.render(l.lastVnode),l.root}catch(e){throw d(e)}}},44476(e,t,l){l.d(t,{H:()=>d,a:()=>u});var n=l(2543),o=l.n(n),i=l(35846);function r(e){if(!e)return;let t=e.match(/^([^.[]+)/);return null==t?void 0:t[1]}function a(e,t){var l;if(!e||!t)return;let n=e.getField(t);return n||((null==(l=e.getFields)?void 0:l.call(e))||[]).find(e=>e.name===t)}function s(e,t){if(null!=e){if(Array.isArray(t)){if("object"!=typeof e||!e)return;let l={};for(let n of t){let t=e[n];if(null==t)return;l[n]=t}return l}if("string"==typeof e||"number"==typeof e)return e;if("object"==typeof e)return e[t]}}function d(e,t){return l=>{if(!l||!l.includes("."))return!1;let n=r(l);if(!n)return!1;let i=a(e(),n);if(!(null==i?void 0:i.isAssociationField()))return!1;if("function"==typeof t){let e=t();if(e&&"object"==typeof e&&void 0!==o().get(e,l))return!1}return!0}}function u(e,t,l){let n=(0,i.H)(e,t,!0),o=async()=>{let t=await n();return t?{...t,buildVariablesParams:t=>{var n;let o=e(),i=l(t);if(!o||!i||"object"!=typeof i)return{};let r={};for(let e of(null==(n=o.getFields)?void 0:n.call(o))||[]){let t=e.name;if(!t||!e.isAssociationField())continue;let l=e.target,n=e.targetCollection;if(!l||!n)continue;let o=n.filterTargetKey,a=i[t];if(null!=a)if(Array.isArray(a)){let e=a.map(e=>s(e,o)).filter(e=>null!=e);e.length&&(r[t]={collection:l,dataSourceKey:n.dataSourceKey,filterByTk:e})}else{let e=s(a,o);null!=e&&(r[t]={collection:l,dataSourceKey:n.dataSourceKey,filterByTk:e})}}return r}}:null};return o.title=t,o}},35846(e,t,l){l.d(t,{H:()=>d});let n=["belongsTo","hasOne","hasMany","belongsToMany","belongsToArray"],o=["integer","float","double","decimal"];function i(e,t){return!!(e.interface&&(t||e.filterable))}function r(e,t){let l=s(e);if(e.isAssociationField()){let n=e.targetCollection;return n?{type:"object",...l,properties:async()=>{let e={};return n.fields.forEach(l=>{i(l,t)&&(e[l.name]=r(l,t))}),e}}:{type:"object",...l}}return{type:a(e),...l}}function a(e){let t=e.type;if(n.includes(t))return"object";if(o.includes(t))return"number";switch(t){case"boolean":return"boolean";case"json":return"object";case"array":return"array";default:return"string"}}function s(e){return{title:e.title||e.name,interface:e.interface,options:e.options,uiSchema:e.uiSchema||{}}}function d(e,t,l){let n=async()=>{let n="function"==typeof e?e():e;return n?{type:"object",title:t||n.title||n.name,properties:async()=>{let e={};return n.fields.forEach(t=>{i(t,l)&&(e[t.name]=r(t,l))}),e}}:null};return n.title=t,n}},62572(e,t,l){l.d(t,{v:()=>o});var n=l(29007);async function o(e,t){if(null==t||!t.defineProperties&&!t.defineMethods)return e;let l=new n.cB;l.addDelegate(e);let o=l.createProxy(),i=o,r=e,a=t=>{let l=Reflect.get(r,t,r);return"function"==typeof l?l.bind(e):l},s=e=>"defineProperty"===e||"defineMethod"===e||Reflect.has(i,e)||Reflect.has(r,e),d=new Proxy(o,{get:(e,t,n)=>"string"==typeof t?"defineProperty"===t?(e,t)=>l.defineProperty(e,t):"defineMethod"===t?(e,t,n)=>l.defineMethod(e,t,n):Reflect.has(i,t)?Reflect.get(i,t,n):a(t):Reflect.get(i,t,n),set:(e,t,l)=>Reflect.set(r,t,l),has:(e,t)=>s(t),getOwnPropertyDescriptor:(e,t)=>Object.getOwnPropertyDescriptor(i,t)||Object.getOwnPropertyDescriptor(r,t)});if(t)for(let e of Array.isArray(t)?t:[t]){if(!e)continue;let t=e.defineProperties;if(t){let e="function"==typeof t?await t(d):t;if(!e||"object"!=typeof e)throw TypeError("defineProperties must return an object of PropertyOptions");for(let[t,n]of Object.entries(e)){if(!n||"object"!=typeof n)throw TypeError(`defineProperties['${t}'] must be a PropertyOptions object`);l.defineProperty(t,n)}}let n=e.defineMethods;if(n){let e="function"==typeof n?await n(d):n;if(!e||"object"!=typeof e)throw TypeError("defineMethods must return an object of functions");for(let[t,n]of Object.entries(e)){if("function"!=typeof n)throw TypeError(`defineMethods['${t}'] must be a function`);l.defineMethod(t,n)}}}return new Proxy(o,{get:(t,l,n)=>"string"==typeof l?"defineProperty"===l?(t,l)=>e.defineProperty(t,l):"defineMethod"===l?(t,l,n)=>e.defineMethod(t,l,n):Reflect.has(i,l)?Reflect.get(i,l,n):a(l):Reflect.get(i,l,n),set:(e,t,l)=>Reflect.set(r,t,l),has:(e,t)=>s(t),getOwnPropertyDescriptor:(e,t)=>Object.getOwnPropertyDescriptor(i,t)||Object.getOwnPropertyDescriptor(r,t)})}},31108(e,t,l){l.d(t,{VD:()=>r,sy:()=>o,zz:()=>i});var n=l(50467);class o extends Error{constructor(e,t,l){super(l||`Flow '${e}' on model '${t}' exited via ctx.exit().`),(0,n._)(this,"flowKey",void 0),(0,n._)(this,"modelUid",void 0),this.name="FlowExitException",this.flowKey=e,this.modelUid=t}}class i extends Error{constructor(e,t,l){super(l||`Flow '${e}' on model '${t}' exited via ctx.exitAll().`),(0,n._)(this,"flowKey",void 0),(0,n._)(this,"modelUid",void 0),this.name="FlowExitAllException",this.flowKey=e,this.modelUid=t}}class r extends Error{constructor(e="Flow settings save cancelled."){super(e),this.name="FlowCancelSaveException"}}},48555(e,t,l){l.d(t,{pM:()=>eZ,Fv:()=>r,ju:()=>P.ju,MI:()=>d,vq:()=>eQ.v,yz:()=>T,M5:()=>el,X4:()=>en,Vv:()=>ei,E2:()=>es,lW:()=>a,n2:()=>E,FA:()=>p,J3:()=>ed,vP:()=>P.vP,ME:()=>y,H9:()=>k.H,ey:()=>er.ey,KB:()=>N,JE:()=>K,kl:()=>o,u4:()=>n,UX:()=>P.UX,XM:()=>A,AP:()=>I,mP:()=>ef,zz:()=>u.zz,D1:()=>er.D1,gG:()=>h.gG,I2:()=>er.I2,af:()=>C.a,mv:()=>h.mv,QP:()=>c,Xh:()=>er.Xh,$S:()=>P.$S,EI:()=>e0,_:()=>er._,qI:()=>M,wx:()=>g.w,Z8:()=>D,ln:()=>w,yp:()=>e1.y,y4:()=>et,$n:()=>em,VD:()=>u.VD,ji:()=>eX,WJ:()=>i,i:()=>e1.i,hz:()=>eo,MZ:()=>s,sy:()=>u.sy,YB:()=>j,xI:()=>P.xI,$X:()=>ee,o7:()=>S,mH:()=>eJ,M:()=>h.M,nN:()=>P.nN,GZ:()=>_,Hi:()=>C.H,pc:()=>P.pc,_3:()=>F,DX:()=>Z,XU:()=>P.XU});let n="flow-engine",o={DATA:"dataBlocks",FILTER:"filterBlocks",OTHER:"otherBlocks"},i={data:{key:o.DATA,label:"Data blocks",type:"group",hasCurrentFlowContext:!0},filter:{key:o.FILTER,label:"Filter blocks",type:"group",hasCurrentFlowContext:!1},other:{key:o.OTHER,label:"Other blocks",type:"group",hasCurrentFlowContext:!1}},r={CURRENT_RECORD:"currentRecord",ASSOCIATION_RECORDS:"associationRecords",OTHER_RECORDS:"otherRecords",OTHER_COLLECTIONS:"otherCollections",CURRENT_COLLECTIONS:"currentCollections"};function a(e){var t;return(null==(t=e.flowEngine)?void 0:t.translate)?(t,l)=>e.flowEngine.translate(t,{ns:[n,"client"],nsMode:"fallback",...l}):e=>e}function s(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}function d(e,t){return s(e,t)}var u=l(31108);function c(e){return e}function p(e,t){if(e===t)return!1;if(e.prototype instanceof t)return!0;let l=Object.getPrototypeOf(e.prototype);for(;l&&l!==Object.prototype;){if(l.constructor===t)return!0;l=Object.getPrototypeOf(l)}return!1}var h=l(81982),m=l(27153),f=l(29007),g=l(88439);async function v(e,t){if(!e)return{};if("function"==typeof e)try{return await e(t)||{}}catch(e){return console.error("Error resolving uiSchema function:",e),{}}return e}async function y(e,t){if(!e)return"dialog";if("function"==typeof e)try{return await e(t)||"dialog"}catch(e){return console.error("Error resolving uiMode function:",e),"dialog"}return e}let b={},x=e=>{if("function"==typeof e)return!0;if(!e||"object"!=typeof e)return!1;let t=new WeakSet,l=e=>{if("function"==typeof e)return!0;if(!e||"object"!=typeof e||t.has(e))return!1;if(t.add(e),Array.isArray(e)){for(let t of e)if(l(t))return!0;return!1}for(let t of Object.keys(e))if(l(e[t]))return!0;return!1};return l(e)};function w(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{noCache:n=!1}=l,o=e=>/\{\{.*?\}\}/g.test(e);return(t=>{let l,i=!1;if("string"==typeof t&&t.startsWith("{{")&&(i=!0,l=t),t&&"object"==typeof t&&!Array.isArray(t)){try{l=JSON.stringify(t)}catch(e){return console.warn("Failed to stringify:",e),t}let r=!!(i=o(l))&&!n&&x(t);if(b[l]&&!n&&!r)return b[l];if(r)try{return m.S.compile(t,e)}catch(e){return console.warn("Failed to compile with Formily Schema.compile:",e),t}}if(Array.isArray(t)){try{l=JSON.stringify(t)}catch(e){return console.warn("Failed to stringify:",e),t}let r=!!(i=o(l))&&!n&&x(t);if(b[l]&&!n&&!r)return b[l];if(r)try{return m.S.compile(t,e)}catch(e){return console.warn("Failed to compile with Formily Schema.compile:",e),t}}if(i){if(!l)try{return m.S.compile(t,e)}catch(e){return console.warn("Failed to compile with Formily Schema.compile:",e),t}try{if(n)return m.S.compile(t,e);return b[l]=b[l]||m.S.compile(t,e),b[l]}catch(l){console.log("compileUiSchema error",t,l);try{return m.S.compile(t,e)}catch(e){}}}return t})(t)}async function S(e,t,l){let n=new f.W5(e,t.key,"settings");(0,g.w)(n,t.steps,e,t.key),n.defineProperty("currentStep",{value:l});let o=l.uiSchema;if(l.use)try{var i;let t=null==(i=e.getAction)?void 0:i.call(e,l.use);t&&t.uiSchema&&(o=o||t.uiSchema)}catch(e){console.warn(`Failed to get action ${l.use}:`,e)}let r=await v(o||{},n);return 0===Object.keys(r).length?null:r}async function M(e,t,l){if(!l)return!0;let{hideInSettings:n}=l;if("function"==typeof n)try{let l=new f.W5(e,t.key,"settings");return(0,g.w)(l,t.steps||{},e,t.key),!!await n(l)}catch(e){return console.warn(`Error evaluating hideInSettings for event '${l.name||""}' in flow '${t.key}':`,e),!1}return!!n}async function F(e,t,l){if(!l)return!0;let n=l.hideInSettings;if(void 0===n&&l.use){var o;let t=null==(o=e.getAction)?void 0:o.call(e,l.use);n=null==t?void 0:t.hideInSettings}if("function"==typeof n)try{let o=new f.W5(e,t.key,"settings");return(0,g.w)(o,t.steps,e,t.key),o.defineProperty("currentStep",{value:l}),!!await n(o)}catch(e){return console.warn(`Error evaluating hideInSettings for step '${l.key||""}' in flow '${t.key}':`,e),!1}return!!n}async function A(e,t,l){let n;if(!l)return{disabled:!1};let o=l.disabledInSettings,i=l.disabledReasonInSettings;if((void 0===o||void 0===i)&&l.use)try{var r;let t=null==(r=e.getAction)?void 0:r.call(e,l.use);void 0===o&&(o=null==t?void 0:t.disabledInSettings),void 0===i&&(i=null==t?void 0:t.disabledReasonInSettings)}catch(e){console.warn(`Failed to get action ${l.use}:`,e)}let a=null,s=()=>(a||(a=new f.W5(e,t.key,"settings"),(0,g.w)(a,t.steps,e,t.key),a.defineProperty("currentStep",{value:l})),a),d=!1;if("function"==typeof o)try{d=!!await o(s())}catch(e){return console.warn(`Error evaluating disabledInSettings for step '${l.key||""}' in flow '${t.key}':`,e),{disabled:!1}}else d=!!o;if(!d)return{disabled:!1};if("function"==typeof i)try{let e=await i(s());null!=e&&""!==e&&(n=String(e))}catch(e){console.warn(`Error evaluating disabledReasonInSettings for step '${l.key||""}' in flow '${t.key}':`,e)}else null!=i&&""!==i&&(n=String(i));return{disabled:!0,reason:n}}var k=l(35846),C=l(44476),P=l(73398);function j(e){if("string"!=typeof e)return null;let t=e.trim(),l=/^\{\{\s*ctx(?:\.(.+?))?\s*\}\}$/,n=t.match(l);if(!n)return null;let o=n[1];return o?o.split(".").map(e=>e.trim()).filter(e=>e.length>0):[]}function I(e){return 0===e.length?"{{ ctx }}":`{{ ctx.${e.join(".")} }}`}function E(e){if("string"!=typeof e)return!1;let t=e.trim();return/^\{\{\s*ctx(?:\..+?)?\s*\}\}$/.test(t)}let R=new WeakMap;function _(e,t){R.set(e,t??null)}function T(e){return R.get(e)??null}function D(e){R.delete(e)}let N=e=>{if(!e||"/"===e)return[];let t=e.replace(/^\/+/,"").split("/").filter(Boolean);if(t.length<2)return[];let l=[],n=null,o=0;for(;o<t.length;){let e=t[o];if("admin"===e||"view"===e)if(n&&l.push(n),o+1<t.length)n={viewUid:t[o+1]},o+=2;else break;else if(n&&o+1<t.length){let l=t[o+1],i=l;try{i=decodeURIComponent(l)}catch(e){}switch(e){case"tab":n.tabUid=i;break;case"filterbytk":{let e=e=>{let t={};return e.split("&").forEach(e=>{let[l,n=""]=e.split("=");if(l)try{let e=decodeURIComponent(l),o=decodeURIComponent(n);t[e]=o}catch(e){t[l]=n}}),t},t=i;if(i&&(i.startsWith("{")||i.startsWith("[")))try{let e=JSON.parse(i);t=e&&"object"==typeof e&&!Array.isArray(e)?e:i}catch(e){t=i}else i&&/^[^=&]+=[^=&]*(?:&[^=&]+=[^=&]*)*$/.test(i)&&(t=e(i));n.filterByTk=t;break}case"sourceid":n.sourceId=i}o+=2}else o++}return n&&l.push(n),l};var O=l(74353),$=l.n(O);let B=/^\{\{\s*ctx\.date(?:\.(.+?))?\s*\}\}$/,L=new Set(["today","now","yesterday","tomorrow","thisWeek","lastWeek","nextWeek","thisMonth","lastMonth","nextMonth","thisQuarter","lastQuarter","nextQuarter","thisYear","lastYear","nextYear"]),q=new Set(["next","past"]),V=new Set(["day","week","month","year"]);function z(e){if("string"!=typeof e)return null;let t=e.trim().match(B);if(!t)return null;let l=String(t[1]||"");return l?l.split(".").map(e=>e.trim()).filter(Boolean):[]}function K(e){let t=U((e||[]).map(e=>String(e)));if("date"!==t[0])return!1;if(1===t.length)return!0;if("preset"===t[1])return 2===t.length||3===t.length&&L.has(t[2]);if("relative"===t[1])return 2===t.length||(3===t.length?q.has(t[2]):4===t.length?q.has(t[2])&&V.has(t[3]):5===t.length&&q.has(t[2])&&V.has(t[3])&&"number"==typeof J(t[4]));if("exact"===t[1]){if(2===t.length)return!0;if("single"===t[2])return 3===t.length||(4===t.length?"date"===t[3]:5===t.length&&"date"===t[3]&&/^v.+/.test(t[4]));if("range"===t[2]){if(3===t.length)return!0;if(4===t.length)return"date"===t[3];if(5===t.length)return"date"===t[3]&&/^v.+/.test(t[4]);if(6===t.length)return"date"===t[3]&&/^v.+/.test(t[4])&&/^v.+/.test(t[5])}}return!1}function U(e){return"date"===e[0]?e:["date",...e]}function W(e){let t=U(e);return`{{ ctx.${t.join(".")} }}`}function H(e){var t;let l=null==(t=globalThis)?void 0:t.Buffer;if(l&&"function"==typeof l.from)return l.from(e,"utf8").toString("base64");if("function"==typeof btoa)return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(e,t)=>String.fromCharCode(parseInt(t,16))));throw Error("No base64 encoder available")}function G(e){var t;let l=null==(t=globalThis)?void 0:t.Buffer;if(l&&"function"==typeof l.from)return l.from(e,"base64").toString("utf8");if("function"==typeof atob)return decodeURIComponent(Array.from(atob(e)).map(e=>`%${e.charCodeAt(0).toString(16).padStart(2,"0")}`).join(""));throw Error("No base64 decoder available")}function Y(e){if(null!=e){if("string"==typeof e){let t=e.trim();return t.length?t:void 0}if($().isDayjs(e))return e.toISOString();if(e instanceof Date)return $()(e).toISOString();if("number"==typeof e||"boolean"==typeof e)return String(e)}}function J(e){let t=String(e||"").match(/^n(\d+)$/);if(!t)return;let l=Number(t[1]);if(Number.isFinite(l)&&!(l<=0))return l}function X(e){let t=e.day(),l=0===t?-6:1-t;return e.add(l,"day").startOf("day")}function Q(e){let t=3*Math.floor(e.month()/3);return e.month(t).startOf("month")}function Z(e){return H(String(e||"")).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function ee(e){try{let t=String(e||"").replace(/=+$/g,"");if(!t||!/^[A-Za-z0-9_-]+$/.test(t))return;let l=t.replace(/-/g,"+").replace(/_/g,"/"),n=l.length%4==0?0:4-l.length%4,o=`${l}${"=".repeat(n)}`,i=G(o);if(Z(i)!==t)return;return i}catch(e){return}}function et(e){return"string"==typeof e&&B.test(e.trim())}function el(e){if(!K(e))return!1;let t=U((e||[]).map(e=>String(e)));return"date"===t[0]&&("preset"===t[1]?3===t.length&&L.has(t[2]):"relative"===t[1]?5===t.length&&q.has(t[2])&&V.has(t[3])&&"number"==typeof J(t[4]):"exact"===t[1]&&"single"===t[2]&&"date"===t[3]?5===t.length&&/^v.+/.test(t[4]):"exact"===t[1]&&"range"===t[2]&&"date"===t[3]&&6===t.length&&/^v.+/.test(t[4])&&/^v.+/.test(t[5]))}function en(e){if(!et(e))return;let t=U(z(e)||[]);if("preset"===t[1]&&3===t.length&&L.has(t[2]))return{type:t[2]};if("relative"===t[1]&&5===t.length&&q.has(t[2])&&V.has(t[3])){let e=J(t[4]);return"number"==typeof e?{type:t[2],unit:t[3],number:e}:void 0}if("exact"===t[1]&&"single"===t[2]&&"date"===t[3]&&5===t.length){let e=String(t[4]||"");if(!e.startsWith("v"))return;return ee(e.slice(1))}if("exact"===t[1]&&"range"===t[2]&&"date"===t[3]&&6===t.length){let e=String(t[4]||""),l=String(t[5]||"");if(!e.startsWith("v")||!l.startsWith("v"))return;let n=ee(e.slice(1)),o=ee(l.slice(1));if(void 0===n||void 0===o)return;return[n,o]}}function eo(e){if(et(e))return String(e).trim();if(null==e||""===e)return;if(Array.isArray(e)){let t=Y(e[0]),l=Y(e[1]);return t&&l?W(["date","exact","range","date",`v${Z(t)}`,`v${Z(l)}`]):t?W(["date","exact","single","date",`v${Z(t)}`]):void 0}if("object"==typeof e&&e){let t=e,l="string"==typeof t.type?t.type:"";if("past"===l||"next"===l){let e="string"==typeof t.unit&&V.has(t.unit)?t.unit:"day",n=Number(t.number),o=Number.isFinite(n)&&n>0?Math.floor(n):1;return W(["date","relative",l,e,`n${o}`])}if(L.has(l))return W(["date","preset",l])}let t=Y(e);if(t)return W(["date","exact","single","date",`v${Z(t)}`])}function ei(e){let t=U((e||[]).map(e=>String(e)));if("date"===t[0]){if("preset"===t[1]&&3===t.length){let e=t[2];if("now"===e)return $()().toISOString();let l=$()();return"today"===e?l.format("YYYY-MM-DD"):"yesterday"===e?l.add(-1,"day").format("YYYY-MM-DD"):"tomorrow"===e?l.add(1,"day").format("YYYY-MM-DD"):"thisWeek"===e?X(l).format("YYYY-MM-DD"):"lastWeek"===e?X(l.add(-1,"week")).format("YYYY-MM-DD"):"nextWeek"===e?X(l.add(1,"week")).format("YYYY-MM-DD"):"thisMonth"===e?l.startOf("month").format("YYYY-MM-DD"):"lastMonth"===e?l.add(-1,"month").startOf("month").format("YYYY-MM-DD"):"nextMonth"===e?l.add(1,"month").startOf("month").format("YYYY-MM-DD"):"thisQuarter"===e?Q(l).format("YYYY-MM-DD"):"lastQuarter"===e?Q(l.add(-3,"month")).format("YYYY-MM-DD"):"nextQuarter"===e?Q(l.add(3,"month")).format("YYYY-MM-DD"):"thisYear"===e?l.startOf("year").format("YYYY-MM-DD"):"lastYear"===e?l.add(-1,"year").startOf("year").format("YYYY-MM-DD"):"nextYear"===e?l.add(1,"year").startOf("year").format("YYYY-MM-DD"):void 0}if("relative"===t[1]&&5===t.length&&q.has(t[2])&&V.has(t[3])){let e=J(t[4]);if("number"!=typeof e)return;let l="past"===t[2]?-1:1,n=t[3];return $()().add(l*e,n).format("YYYY-MM-DD")}if("exact"===t[1]&&"single"===t[2]&&"date"===t[3]&&5===t.length){let e=String(t[4]||"");if(!e.startsWith("v"))return;return ee(e.slice(1))}if("exact"===t[1]&&"range"===t[2]&&"date"===t[3]&&6===t.length){let e=String(t[4]||""),l=String(t[5]||"");if(!e.startsWith("v")||!l.startsWith("v"))return;let n=ee(e.slice(1)),o=ee(l.slice(1));if(void 0===n||void 0===o)return;return[n,o]}}}var er=l(51143);let ea=new Set(["code","version"]);function es(e){if(!e||"object"!=typeof e||Array.isArray(e))return!1;let t=Object.keys(e);if(!t.includes("code")||"string"!=typeof e.code||"version"in e&&null!=e.version&&"string"!=typeof e.version)return!1;for(let e of t)if(!ea.has(e))return!1;return!0}function ed(e){return{code:String((null==e?void 0:e.code)??""),version:String((null==e?void 0:e.version)??"v1")}}function eu(e){let t="",l="code";for(let n=0;n<e.length;n++){let o=e[n],i=n+1<e.length?e[n+1]:"";if("code"===l){if("/"===o&&"/"===i){t+=" ",n++,l="line";continue}if("/"===o&&"*"===i){t+=" ",n++,l="block";continue}if("'"===o){t+=" ",l="single";continue}if('"'===o){t+=" ",l="double";continue}t+=o;continue}if("line"===l){"\n"===o?(t+="\n",l="code"):t+=" ";continue}if("block"===l){"*"===o&&"/"===i?(t+=" ",n++,l="code"):t+="\n"===o?"\n":" ";continue}if("single"===l){if("\\"===o){t+=" ",n++;continue}"'"===o?(t+=" ",l="code"):t+="\n"===o?"\n":" ";continue}if("\\"===o){t+=" ",n++;continue}'"'===o?(t+=" ",l="code"):t+="\n"===o?"\n":" "}return t}function ec(e){let t="",l="code";for(let n=0;n<e.length;n++){let o=e[n],i=n+1<e.length?e[n+1]:"";if("code"===l){if("/"===o&&"/"===i){t+=" ",n++,l="line";continue}if("/"===o&&"*"===i){t+=" ",n++,l="block";continue}if("'"===o){t+=o,l="single";continue}if('"'===o){t+=o,l="double";continue}t+=o;continue}if("line"===l){"\n"===o?(t+="\n",l="code"):t+=" ";continue}if("block"===l){"*"===o&&"/"===i?(t+=" ",n++,l="code"):t+="\n"===o?"\n":" ";continue}if("single"===l){if(t+=o,"\\"===o){let l=n+1<e.length?e[n+1]:"";l&&(t+=l,n++);continue}"'"===o&&(l="code");continue}if(t+=o,"\\"===o){let l=n+1<e.length?e[n+1]:"";l&&(t+=l,n++);continue}'"'===o&&(l="code")}return t}function ep(e){let t;if(!e)return{subPath:"",wildcard:!1};let l=e;l=l.replace(/\[['"]([a-zA-Z_$][a-zA-Z0-9_$]*)['"]\]/g,".$1");let n=/\[([^\]]+)\]/g;for(;t=n.exec(l);){let e=String(t[1]??"").trim();if(!(/^\d+$/.test(e)||/^['"][a-zA-Z_$][a-zA-Z0-9_$]*['"]$/.test(e)))return{subPath:l.startsWith(".")?l.slice(1):l,wildcard:!0}}return l.startsWith(".")&&(l=l.slice(1)),{subPath:l,wildcard:!1}}function eh(e){let t=String(e||"").trim();if(!t||"ctx"===t)return null;let l=t.match(/^ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)([\s\S]*)$/);if(l){let e=l[1]||"",t=ep(l[2]||"");return{varName:e,subPath:t.subPath,wildcard:t.wildcard}}let n=t.match(/^ctx\s*\[\s*(['"])([a-zA-Z_$][a-zA-Z0-9_$]*)\1\s*\]([\s\S]*)$/);if(n){let e=n[2]||"",t=ep(n[3]||"");return{varName:e,subPath:t.subPath,wildcard:t.wildcard}}return null}function em(e){let t;if("string"!=typeof e||!e.trim())return{};let l=eu(e),n=ec(e),o=new Map,i=(e,t)=>{if(!e)return;let l=o.get(e)||new Set;l.add(t||""),o.set(e,l)},r=e=>{let t=eh(e);(null==t?void 0:t.varName)&&i(t.varName,t.wildcard?"":t.subPath)},a=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*(?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g;for(;t=a.exec(l);)r(`ctx.${t[1]||""}`);let s=/ctx\s*\[\s*(['"])([a-zA-Z_$][a-zA-Z0-9_$]*)\1\s*\]((?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g;for(;t=s.exec(n);)r(`ctx['${t[2]||""}']${t[3]||""}`);let d=/ctx\.getVar\s*\(\s*(['"])((?:\\.|(?!\1)[\s\S])*)\1\s*\)/g;for(;t=d.exec(n);){let e=String(t[2]||"").replace(/\\'/g,"'").replace(/\\"/g,'"').trim();e.startsWith("ctx")&&r(e)}let u={};for(let[e,t]of o.entries())u[e]=Array.from(t);return u}async function ef(e,t){let l={};if(!t||"object"!=typeof t||Array.isArray(t))return l;for(let[n,o]of Object.entries(t))if(void 0!==o){if(es(o)){let{code:t,version:i}=ed(o);if(!t.trim())continue;let r=await (0,er._)(e,t,{version:i});if(!(null==r?void 0:r.success))throw Error(`RunJS execution failed for "${n}"`);void 0!==r.value&&(l[n]=r.value);continue}l[n]=o}return l}var eg=l(49773);let ev="ctx.resolveJsonTemplate",ey=/\{\{\s*ctx(?:\.|\[|\?\.)/,eb=/\bctx(?:\?\.|\.)libs\b/,ex="__runjs_templateValueToString",ew=/\b__runjs_ctx_tpl_\d+\b/,eS=/\b__runjs_templateValueToString(?:_\d+)?\b/,eM=/\b__runjs_ctx_tpl_\d+\b|\b__runjs_templateValueToString(?:_\d+)?\b/,eF=/\b__runjs_ensure_libs\b/,eA=256,ek={withTemplates:new Map,withoutTemplates:new Map};function eC(e,t){let l=e.get(t);if(void 0!==l)return e.delete(t),e.set(t,l),l}function eP(e,t,l,n){if(e.has(t)&&e.delete(t),e.set(t,l),e.size<=n)return;let o=e.keys().next().value;void 0!==o&&e.delete(o)}function ej(e){return!!e&&/[A-Za-z0-9_$]/.test(e)}function eI(e){if(!e.startsWith("{{")||!e.endsWith("}}"))return!1;let t=e.slice(2,-2).trim();return t.startsWith("ctx.")||t.startsWith("ctx[")||t.startsWith("ctx?.")}function eE(e,t){if(!e.startsWith(ev,t))return!1;let l=t>0?e[t-1]:"",n=e[t+ev.length]||"";return!(ej(l)||ej(n))}function eR(e,t){let l=t+2;for(;l<e.length;){let t=e[l];if(l+=1,"\n"===t)break}return l}function e_(e,t){let l=t+2;for(;l<e.length;){let t=e[l],n=e[l+1];if("*"===t&&"/"===n)return l+2;l+=1}return l}function eT(e,t,l){let n=t+1;for(;n<e.length;){let t=e[n];if("\\"===t){n+=2;continue}if(n+=1,t===l)break}return n}function eD(e,t){let l=t+1;for(;l<e.length;){let t=e[l];if("\\"===t){l+=2;continue}if("`"===t)return l+1;if("$"===t&&"{"===e[l+1]){l+=2;let t=1;for(;l<e.length&&t>0;){let n=e[l],o=e[l+1];if("'"===n||'"'===n){l=eT(e,l,n);continue}if("`"===n){l=eD(e,l);continue}if("/"===n&&"/"===o){l=eR(e,l);continue}if("/"===n&&"*"===o){l=e_(e,l);continue}"{"===n?t+=1:"}"===n&&(t-=1),l+=1}continue}l+=1}return l}function eN(e){if(!ey.test(e))return[];let t=[],l=0;for(;l<e.length;){let n=e.indexOf("{{",l);if(-1===n)break;let o=e.indexOf("}}",n+2);if(-1===o)break;let i=e.slice(n,o+2);eI(i)&&t.push(i),l=o+2}return t}function eO(e,t){let l=t;for(;l<e.length&&/\s/.test(e[l]);)l+=1;return l}function e$(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]);)l-=1;return l}function eB(e,t){let l=t;for(;;){l=eO(e,l);let t=e[l],n=e[l+1];if("/"===t&&"/"===n){l=eR(e,l);continue}if("/"===t&&"*"===n){l=e_(e,l);continue}return l}}function eL(e){return!!e&&/[A-Za-z_$]/.test(e)}function eq(e,t){if(!eL(e[t]))return null;let l=t+1;for(;l<e.length&&ej(e[l]);)l+=1;return{name:e.slice(t,l),end:l}}function eV(e,t,l){if(e[t]!==l)return null;let n=t+1,o="";for(;n<e.length;){let t=e[n];if("\\"===t){let t=e[n+1];if(void 0===t)break;o+=t,n+=2;continue}if(t===l)return{value:o,end:n+1};o+=t,n+=1}return null}function ez(e,t){if(!e.startsWith("ctx",t))return null;let l=t>0?e[t-1]:"",n=e[t+3]||"";if(ej(l)||ej(n))return null;let o=e.slice(t+3);return o.startsWith(".libs")?t+3+5:o.startsWith("?.libs")?t+3+6:null}function eK(e,t){let l=ez(e,t);if(null===l)return null;let n=eB(e,l),o=e[n],i=e[n+1],r=e[n+2];if("?"===o&&"."===i&&"["===r){n=eB(e,n+3);let t=e[n];if("'"===t||'"'===t){let l=eV(e,n,t);if(!l)return{end:n+1};let o=eB(e,l.end);return"]"===e[o]&&(o+=1),{end:o,key:l.value}}return{end:n}}if("["===o){n=eB(e,n+1);let t=e[n];if("'"===t||'"'===t){let l=eV(e,n,t);if(!l)return{end:n+1};let o=eB(e,l.end);return"]"===e[o]&&(o+=1),{end:o,key:l.value}}return{end:n}}if("?"===o&&"."===i){n=eB(e,n+2);let t=eq(e,n);return t?{end:t.end,key:t.name}:{end:n}}if("."===o){n=eB(e,n+1);let t=eq(e,n);return t?{end:t.end,key:t.name}:{end:n}}return{end:l}}function eU(e){let t=[],l=String(e??""),n=0,o=0,i=0,r=0,a=e=>{let l=String(e??"").trim();if(!l||l.startsWith("..."))return;let n=l,o=0,i=0,r=0,a=0;for(;o<l.length;){let e=l[o],t=l[o+1];if("/"===e&&"/"===t)break;if("/"===e&&"*"===t){let e=l.indexOf("*/",o+2);o=-1===e?l.length:e+2;continue}if("'"===e||'"'===e){let t=o+1;for(;t<l.length;){let n=l[t];if("\\"===n){t+=2;continue}if(t+=1,n===e)break}o=t;continue}if("`"===e){let e=o+1;for(;e<l.length;){let t=l[e];if("\\"===t){e+=2;continue}if(e+=1,"`"===t)break}o=e;continue}if("{"===e?i+=1:"}"===e?i-=1:"["===e?r+=1:"]"===e?r-=1:"("===e?a+=1:")"===e&&(a-=1),0===i&&0===r&&0===a&&(":"===e||"="===e)){n=l.slice(0,o).trim();break}o+=1}if(!n)return;if(n.startsWith("'")||n.startsWith('"')){let e=n[0],l=eV(n,0,e);l&&t.push(l.value);return}let s=n.match(/^[A-Za-z_$][A-Za-z0-9_$]*/);s&&t.push(s[0])},s=0;for(;s<l.length;){let e=l[s],t=l[s+1];if("/"===e&&"/"===t)break;if("/"===e&&"*"===t){let e=l.indexOf("*/",s+2);s=-1===e?l.length:e+2;continue}if("'"===e||'"'===e){s=eT(l,s,e);continue}if("`"===e){s=eD(l,s);continue}"{"===e?o+=1:"}"===e?o-=1:"["===e?i+=1:"]"===e?i-=1:"("===e?r+=1:")"===e&&(r-=1),0===o&&0===i&&0===r&&","===e&&(a(l.slice(n,s)),n=s+1),s+=1}return a(l.slice(n)),t}function eW(e){if(!eb.test(e))return[];let t=new Set,l=l=>{let o=l,i=1;for(;o<e.length&&i>0;){let l=e[o],r=e[o+1];if("/"===l&&"/"===r){o=eR(e,o);continue}if("/"===l&&"*"===r){o=e_(e,o);continue}if("'"===l||'"'===l){o=eT(e,o,l);continue}if("`"===l){o=n(o+1);continue}let a=eK(e,o);if(a){a.key&&t.add(a.key),o=a.end;continue}"{"===l?i+=1:"}"===l&&(i-=1),o+=1}return o},n=t=>{let n=t;for(;n<e.length;){let t=e[n],o=e[n+1];if("\\"===t){n+=2;continue}if("`"===t)return n+1;if("$"===t&&"{"===o){n=l(n+2);continue}n+=1}return n},o=0;for(;o<e.length;){let l=e[o],i=e[o+1];if("/"===l&&"/"===i){o=eR(e,o);continue}if("/"===l&&"*"===i){o=e_(e,o);continue}if("'"===l||'"'===l){o=eT(e,o,l);continue}if("`"===l){o=n(o+1);continue}let r=eK(e,o);if(r){r.key&&t.add(r.key),o=r.end;continue}if("="===l&&"="!==i&&">"!==i&&"<"!==i){let l=eB(e,o+1);if(null!==ez(e,l)){let l=e$(e,o-1);if("}"===e[l]){let n=0,o=l;for(;o>=0;){let t=e[o];if("}"===t)n+=1;else if("{"===t&&0==(n-=1))break;o-=1}if(o>=0&&"{"===e[o])for(let n of eU(e.slice(o+1,l)))t.add(n)}}}o+=1}return Array.from(t)}function eH(e){if(eF.test(e)||!eb.test(e))return e;let t=eW(e);return t.length?`/* __runjs_ensure_libs */
1402
1402
  await ctx.__ensureLibs(${JSON.stringify(t)});
1403
1403
  ${e}`:e}function eG(e,t,l){let n=eO(e,l);if(":"!==e[n])return!1;let o=e$(e,t-1),i=o>=0?e[o]:"";return"{"===i||","===i}function eY(e,t,l,n){let o=Array.from(new Set(t));if(!o.length)return e;let i=e;for(let e of o){let t=l(e);i=`(${i}).split(${JSON.stringify(e)}).join(${n}(${t}, ${JSON.stringify(e)}))`}return i}function eJ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!ey.test(e))return e;let l=!1!==t.processBarePlaceholders,n=!1!==t.processStringLiterals;if(l&&n&&eM.test(e)||l&&!n&&ew.test(e)||!l&&n&&eS.test(e))return e;let o=new Map,i=[],r=!1,a=new Set,s=(t=>{if(!e.includes(t)&&!a.has(t))return a.add(t),t;let l=1;for(;e.includes(`${t}_${l}`)||a.has(`${t}_${l}`);)l+=1;let n=`${t}_${l}`;return a.add(n),n})(ex),d=0,u=()=>{for(;;){let t=`__runjs_ctx_tpl_${d}`;if(d+=1,!(e.includes(t)||a.has(t)))return a.add(t),t}},c=e=>{let t=o.get(e);if(t)return t;let l=u();return o.set(e,l),i.push(`const ${l} = await ctx.resolveJsonTemplate(${JSON.stringify(e)});`),l},p="",h=0,m=!1,f=0;for(;h<e.length;){let t=e[h],o=e[h+1];if("/"===t&&"/"===o){let t=eR(e,h);p+=e.slice(h,t),h=t;continue}if("/"===t&&"*"===o){let t=e_(e,h);p+=e.slice(h,t),h=t;continue}if("'"===t||'"'===t){let l=eT(e,h,t),o=e.slice(h,l);if(n&&0===f){let t=eN(o);if(t.length){r=!0;let n=eY(o,t,c,s);p+=eG(e,h,l)?`[${n}]`:n}else p+=o}else p+=o;h=l;continue}if("`"===t){let t=eD(e,h),l=e.slice(h,t);if(n&&0===f){let n=eN(l);if(n.length){r=!0;let o=eY(l,n,c,s);p+=eG(e,h,t)?`[${o}]`:o}else p+=l}else p+=l;h=t;continue}if(0===f&&!m&&eE(e,h)){p+=ev,h+=ev.length,m=!0;continue}if(m){if(/\s/.test(t)){p+=t,h+=1;continue}if("("===t){p+=t,h+=1,m=!1,f=1;continue}m=!1;continue}if(f>0){"("===t?f+=1:")"===t&&(f-=1),p+=t,h+=1;continue}if(l&&"{"===t&&"{"===o){let t=e.indexOf("}}",h+2);if(-1!==t){let l=e.slice(h,t+2);if(eI(l)){p+=c(l),h=t+2;continue}}}p+=t,h+=1}if(!i.length)return p;let g=[];return r&&g.push(`const ${s} = (value, placeholder) => {`," if (typeof value === 'undefined') return placeholder;"," if (typeof value === 'object' && value !== null) {"," try {"," return JSON.stringify(value);"," } catch (e) {"," return String(value);"," }"," }"," return String(value);","};"),g.push(...i),`${g.join("\n")}
1404
- ${p}`}async function eX(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l="string"==typeof e?e:String(e??""),n=!!t.preprocessTemplates,o=n?ek.withTemplates:ek.withoutTemplates,i=eC(o,l);if(i)return await i;let r=(async()=>{if(!n)return eH(await (0,eg.W)(l));let e=eJ(l,{processStringLiterals:!1});return eH(eJ(await (0,eg.W)(e),{processBarePlaceholders:!1}))})();eP(o,l,r,eA);try{return await r}catch(e){throw o.delete(l),e}}var eQ=l(62572);function eZ(e){if(Array.isArray(e)){let t=e.map(e=>eZ(e)).filter(e=>void 0!==e);return t.length?t:void 0}if(e&&"object"==typeof e){let t={};return Object.keys(e).forEach(l=>{let n=eZ(e[l]);void 0!==n&&(t[l]=n)}),Object.keys(t).length?t:void 0}return null==e||"string"==typeof e&&""===e?void 0:e}let e0=e=>"string"==typeof e.on?"beforeRender"===e.on:"object"==typeof e.on?"beforeRender"===e.on.eventName:!e.on&&!0!==e.manual;var e1=l(47684)},49773(e,t,l){l.d(t,{W:()=>n});async function n(e){if(!/<[A-Za-z]|<\//.test(e))return e;try{var t;let n=await l.e("7761").then(l.bind(l,1608)),o=(null==n?void 0:n.transform)||(null==n||null==(t=n.default)?void 0:t.transform);if("function"!=typeof o)return e;let i=o(e,{transforms:["jsx"],jsxPragma:"ctx.React.createElement",jsxFragmentPragma:"ctx.React.Fragment",disableESTransforms:!0,production:!0});return(i&&(i.code||(null==i?void 0:i.output)))??e}catch(t){return e}}},81982(e,t,l){l.d(t,{M:()=>h,gG:()=>r,mv:()=>a,o4:()=>p});var n=l(40542),o=l(2543),i=l.n(o);async function r(e,t){if(!e)return{};if("function"==typeof e)try{return await e(t)||{}}catch(e){return console.error("Error resolving defaultParams function:",e),{}}return e}async function a(e,t,l){if(!e)return{};if("function"==typeof e)try{return await e(t,l)||{}}catch(e){return console.error("Error resolving createModelOptions function:",e),{}}return e}let s={queue:[],timer:null,inflightByRun:new Map},d=10;function u(e){if(Array.isArray(e))return e.map(u);if(i().isPlainObject(e)){let t=Object.entries(e).map(e=>{let[t,l]=e;return[t,u(l)]});return Object.fromEntries(i().sortBy(t,e=>{let[t]=e;return t}))}return e}function c(e){try{return JSON.stringify(u(e))}catch{try{return JSON.stringify(e)}catch{return String(e)}}}function p(e,t){let l,n,o=s,i=e.runId||"GLOBAL",r=c(t),a=o.inflightByRun.get(i);a||(a=new Map,o.inflightByRun.set(i,a));let u=a.get(r);if(u)return u;let p=new Promise((e,t)=>{l=e,n=t});a.set(r,p);let h={id:`${Date.now()}-${Math.random().toString(36).slice(2)}`,ctx:e,payload:t,resolve:l,reject:n,runId:i,dedupKey:r};o.queue.push(h);let m=async()=>{var t,l,n,i,r,a;let s=o.queue.splice(0,o.queue.length);if(o.timer=null,!s.length)return;let d=null==(t=s[0].ctx)?void 0:t.api;if(!d){for(let e of s)try{e.resolve(e.payload.template)}catch(t){e.reject(t)}finally{null==(l=o.inflightByRun.get(e.runId))||l.delete(e.dedupKey)}return}try{let e=s.map(e=>({id:e.id,template:e.payload.template,contextParams:e.payload.contextParams||{}})),t=await d.request({method:"POST",url:"variables:resolve",data:{values:{batch:e}}}),l=t.data??t,i=l.data??l,r=null==i?void 0:i.results,a=Array.isArray(r)?r:Array.isArray(i)?i:[],u=new Map;for(let e of a){let t=(null==e?void 0:e.id)!=null?String(e.id):"";t&&u.set(t,null==e?void 0:e.data)}for(let e of s)try{let t=String(e.id),l=u.has(t)?u.get(t):e.payload.template;e.resolve(l)}catch(t){e.reject(t)}finally{null==(n=o.inflightByRun.get(e.runId))||n.delete(e.dedupKey)}}catch(t){for(let l of s)try{null==e||null==(r=e.logger)||null==(i=r.warn)||i.call(r,{err:t},"variables:resolve(batch) failed, fallback"),l.resolve(l.payload.template)}catch(e){l.reject(e)}finally{null==(a=o.inflightByRun.get(l.runId))||a.delete(l.dedupKey)}}};return o.timer||(o.timer=setTimeout(m,d)),p}async function h(e,t){let l=async e=>{if("string"==typeof e&&/\{\{.*?\}\}/.test(e))return await g(e,t);if(Array.isArray(e))return Promise.all(e.map(l));if(e&&"object"==typeof e){let t={};for(let[n,o]of Object.entries(e))t[n]=await l(o);return t}return e};return l(e)}async function m(e,t){let l=await f(e.trim(),t),n=await t.runjs(`return ${l}`,{t:t.t});return(null==n?void 0:n.success)?n.value:void 0}async function f(e,t){let l,n=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*(?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g,o=[],i=new Set;for(;null!==(l=n.exec(e));){let e=l[0],t=l[1],n=t.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)/);if(n){let l=n[1],r=t.substring(l.length);o.push({fullPath:e,firstKey:l,restPath:r}),i.add(l)}}if(0===o.length)return e;let r=new Map;for(let e of i)try{let l=await t[e],n=l&&!0===l.__isRecordProxy__;r.set(e,n)}catch(t){r.set(e,!1)}o.sort((e,t)=>t.fullPath.length-e.fullPath.length);let a=e;for(let{fullPath:e,firstKey:t,restPath:l}of o){let n,o=r.get(t)||!1;n=""===l?`await ctx.${t}`:o?`await (await ctx.${t})${l}`:`(await ctx.${t})${l}`;let i=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=RegExp(`\\b${i}\\b`,"g");a=a.replace(s,n)}return a}async function g(e,t){let l=e=>{let t=e.trim().match(/^ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*))?$/);return t?t[2]?`${t[1]}.${t[2]}`:t[1]:null},o=async e=>{let l=e.split("."),o=l.shift();if(!o)return;let i=await t[o];return 0===l.length?i:(0,n.D)(i,l.join("."))},i=async e=>{let n=l(e);if(n){let l=await o(n);return void 0===l&&n.includes("-")?await m(e,t):l}return await m(e,t)},r=e.match(/^\s*\{\{\s*([^{}]+?)\s*\}\}\s*$/);if(r){let e=r[1];return await i(e)}let a=[...e.matchAll(/\{\{\s*(.+?)\s*\}\}/g)],s=e;for(let[e,t]of a){let l=await i(t);if(void 0!==l){let t="object"==typeof l&&null!==l?JSON.stringify(l):String(l);s=s.replace(e,t)}}return s}},47684(e,t,l){function n(e,t){if(!e||"string"!=typeof e)throw Error("invalid url");let l=e.trim();if(l.startsWith("http://")||l.startsWith("https://"))return l;let n=window.__esm_cdn_base_url__||"https://esm.sh",o=(null==t?void 0:t.addSuffix)&&window.__esm_cdn_suffix__||"",i=n.replace(/\/$/,""),r=l.replace(/^\//,"");if(null==t?void 0:t.raw){let e=r.includes("?")?"&":"?";return`${i}/${r}${e}raw`}return`${i}/${r}${o}`}function o(e){return!!e&&"string"==typeof e&&e.split("?")[0].split("#")[0].endsWith(".css")}l.d(t,{i:()=>n,y:()=>o})},51143(e,t,l){function n(){var e,t;let l=globalThis;if((null==(e=l.__nocobaseRunJSSafeGlobalsRegistry)?void 0:e.windowAllow)&&(null==(t=l.__nocobaseRunJSSafeGlobalsRegistry)?void 0:t.documentAllow))return l.__nocobaseRunJSSafeGlobalsRegistry;let n={windowAllow:new Set,documentAllow:new Set};return l.__nocobaseRunJSSafeGlobalsRegistry=n,n}function o(e){if(!e)return;let t=n();for(let l of e){if("string"!=typeof l)continue;let e=l.trim();e&&t.windowAllow.add(e)}}function i(e){if(!e)return;let t=n();for(let l of e){if("string"!=typeof l)continue;let e=l.trim();e&&t.documentAllow.add(e)}}function r(e){return n().windowAllow.has(e)}function a(e){return n().documentAllow.has(e)}function s(e){let t=()=>`${window.location.origin}${window.location.pathname}`,l=(e,l,n)=>{if(!(e=>{try{let l=new URL(e,t()),n=l.protocol.toLowerCase();if("about:"===n)return"about:blank"===l.href;return"http:"===n||"https:"===n}catch{return!1}})(e))throw Error("Unsafe URL: window.open only allows http/https/about:blank.");let o="_blank",i=(e=>{let t=new Set;return e&&e.split(",").map(e=>e.trim()).filter(Boolean).forEach(e=>{let l=e.split("=")[0].trim().toLowerCase();"noopener"!==l&&"noreferrer"!==l&&t.add(e)}),t.add("noopener"),t.add("noreferrer"),Array.from(t).join(",")})(n),r=window.open.call(window,e,o,i);if(r&&"opener"in r)try{r.opener=null}catch{}return r},n=(e,n)=>{let o=new URL(e,t()),i=o.protocol.toLowerCase(),r="about:"===i&&"about:blank"===o.href;if("http:"!==i&&"https:"!==i&&!r)throw Error("Unsafe URL: only http/https/about:blank are allowed.");if(r)return(null==n?void 0:n.replace)?window.location.replace("about:blank"):window.location.assign("about:blank");if(o.protocol===window.location.protocol&&o.hostname===window.location.hostname&&o.port===window.location.port)return(null==n?void 0:n.replace)?window.location.replace(o.href):window.location.assign(o.href);if(!l(o.href))throw Error("Popup blocked: cross-origin navigation is opened in a new tab.")},o=new Proxy({},{get(e,t){switch(t){case"origin":return window.location.origin;case"protocol":return window.location.protocol;case"host":return window.location.host;case"hostname":return window.location.hostname;case"port":return window.location.port;case"pathname":return window.location.pathname;case"assign":return e=>n(e,{replace:!1});case"replace":return e=>n(e,{replace:!0});case"reload":return window.location.reload.bind(window.location);case"href":throw Error("Reading location.href is not allowed.");default:throw Error(`Access to location property "${t}" is not allowed.`)}},set(e,t,l){if("href"===t)return n(String(l),{replace:!1}),!0;throw Error("Mutation on location is not allowed.")}}),i={setTimeout:window.setTimeout.bind(window),clearTimeout:window.clearTimeout.bind(window),setInterval:window.setInterval.bind(window),clearInterval:window.clearInterval.bind(window),console,Math,Date,FormData,..."u">typeof Blob?{Blob}:{},..."u">typeof URL?{URL}:{},addEventListener:addEventListener.bind(window),open:l,location:o,...e||{}};return new Proxy(Object.create(null),{get(e,t){if("string"!=typeof t)return Reflect.get(e,t);if(t in i)return i[t];if(Object.prototype.hasOwnProperty.call(e,t))return e[t];if(r(t)){let e=window[t];return"function"==typeof e?e.bind(window):e}throw Error(`Access to global property "${t}" is not allowed.`)},set(e,t,l){if("string"!=typeof t)return Reflect.set(e,t,l),!0;if(t in i)throw Error(`Mutation of global property "${t}" is not allowed.`);return e[t]=l,!0},has:(e,t)=>"string"!=typeof t?Reflect.has(e,t):!!(t in i||Object.prototype.hasOwnProperty.call(e,t)||r(t))})}function d(e){let t={createElement:document.createElement.bind(document),querySelector:document.querySelector.bind(document),querySelectorAll:document.querySelectorAll.bind(document),...e||{}};return new Proxy(Object.create(null),{get(e,l){if("string"!=typeof l)return Reflect.get(e,l);if(l in t)return t[l];if(Object.prototype.hasOwnProperty.call(e,l))return e[l];if(a(l)){let e=document[l];return"function"==typeof e?e.bind(document):e}throw Error(`Access to document property "${l}" is not allowed.`)},set(e,l,n){if("string"!=typeof l)return Reflect.set(e,l,n),!0;if(l in t)throw Error(`Mutation of document property "${l}" is not allowed.`);return e[l]=n,!0},has:(e,l)=>"string"!=typeof l?Reflect.has(e,l):!!(l in t||Object.prototype.hasOwnProperty.call(e,l)||a(l))})}function u(e){var t;let l="u">typeof window&&window.navigator||void 0,n={},o=null==l||null==(t=l.clipboard)?void 0:t.writeText;"function"==typeof o&&(n.writeText=o.bind(l.clipboard));let i={clipboard:n};return Object.defineProperty(i,"onLine",{get:()=>!!(null==l?void 0:l.onLine),enumerable:!0,configurable:!1}),Object.defineProperty(i,"language",{get:()=>null==l?void 0:l.language,enumerable:!0,configurable:!1}),Object.defineProperty(i,"languages",{get:()=>(null==l?void 0:l.languages)?[...l.languages]:void 0,enumerable:!0,configurable:!1}),Object.assign(i,e||{}),new Proxy({},{get(e,t){if(t in i)return i[t];throw Error(`Access to navigator property "${String(t)}" is not allowed.`)}})}function c(e){let t={};try{let e=u();t.navigator=e;try{t.window=s({navigator:e})}catch{}}catch{}try{t.document=d()}catch{}return e?{...t,...e}:t}async function p(e,t,l,n){if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.runjs)return e.runjs(t,c(n),l)}l.d(t,{D1:()=>u,I2:()=>c,Vm:()=>o,Xh:()=>d,_:()=>p,ey:()=>s,yz:()=>i})},22928(e,t,l){function n(e){let t={};return Object.entries(e||{}).forEach(e=>{let[l,n]=e;null!=n&&(t[l]=n)}),t}function o(e,t,l){try{var n,o,i,r,a;let s=null==(o=e.dataSourceManager)||null==(n=o.getDataSource)?void 0:n.call(o,t||"main"),d=null==s||null==(r=s.collectionManager)||null==(i=r.getCollection)?void 0:i.call(r,l);return(null==d||null==(a=d.getPrimaryKey)?void 0:a.call(d))||"id"}catch(e){return"id"}}function i(e,t){var l,i;if(!t)return;let r=t.dataSourceKey||"main",a=t.collection||(null==(l=t.record)?void 0:l.__collectionName);if(!a)return;let s=o(e,r,a)||"id",d=void 0!==t.filterByTk?t.filterByTk:void 0!==t.id?t.id:null==(i=t.record)?void 0:i[s];if(void 0!==d)return n({collection:a,filterByTk:d,dataSourceKey:r,associationName:t.associationName,sourceId:t.sourceId,fields:t.fields,appends:t.appends})}function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=e=>!!e&&"object"==typeof e&&"string"==typeof e.collection&&(void 0!==e.filterByTk||void 0!==e.id||e.record),n={},o=(t,r)=>{if(l(t)){let l=i(e,t);l&&(n[r.join(".")]=l);return}if(Array.isArray(t)){for(let e=0;e<t.length;e++)o(t[e],[...r,String(e)]);return}if(t&&"object"==typeof t){for(let[e,l]of Object.entries(t))o(l,[...r,e]);return}};return o(t,[]),Object.keys(n).length?n:void 0}l.d(t,{d:()=>r})},88439(e,t,l){l.d(t,{w:()=>n});function n(e,t,l,n){let o={},i={};for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let s=t[a],d={};if(s.uiSchema&&"object"==typeof s.uiSchema){for(let[e,t]of Object.entries(s.uiSchema))if(t&&"object"==typeof t){var r;let l=t;d[e]={type:l.type||"any",title:l.title||(null==(r=l["x-decorator-props"])?void 0:r.label)||e,interface:l["x-component"],uiSchema:l}}}let u=Object.keys(d).length>0;i[a]={type:"object",title:e.t(s.title)||a,display:u?"default":"none",properties:u?{params:{type:"object",title:"Parameters",display:"flatten",properties:d}}:void 0},o[a]={get params(){return l.getStepParams(n,a)||{}},get uiSchema(){return s.uiSchema},result:void 0}}e.defineProperty("steps",{get:()=>o})}},73398(e,t,l){function n(e){let t=new Set,l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,o=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g;for(;null!==(e=i.exec(o));)t.add(e[1]);let r=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]/g;for(;null!==(n=r.exec(o));)t.add(n[2])}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}function o(e){let t={},l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,o=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)([^\s)]*)/g;for(;null!==(e=i.exec(o));){let l=e[1],n=e[2]||"";if(t[l]=t[l]||[],n.startsWith("."))t[l].push(n.slice(1));else if(n.startsWith("[")){let e=n.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(e){let n=e[2],o=e[3]||"";t[l].push(`${n}${o}`)}else{let e=n.match(/^\[(\d+)\](.*)$/);if(e){let n=e[1],o=e[2]||"";t[l].push(`[${n}]${o}`)}}}else n.startsWith("(")&&!t[l].length&&t[l].push("")}let r=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]([^\s)]*)/g;for(;null!==(n=r.exec(o));){let e=n[2],l=n[3]||"";if(t[e]=t[e]||[],l.startsWith("."))t[e].push(l.slice(1));else if(l.startsWith("[")){let n=l.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(n){let l=n[2],o=n[3]||"";t[e].push(`${l}${o}`)}else{let n=l.match(/^\[(\d+)\](.*)$/);if(n){let l=n[1],o=n[2]||"";t[e].push(`[${l}]${o}`)}}}else l.startsWith("(")&&!t[e].length&&t[e].push("")}}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}l.d(t,{xI:()=>m,vP:()=>y,$S:()=>f,pc:()=>g,Cg:()=>c,nN:()=>b,ju:()=>x,Xx:()=>h,vE:()=>p,XU:()=>u,UX:()=>v});var i=l(22928),r=l(35846),a=l(44476),s=l(2543),d=l.n(s);function u(e){var t,l,n,o;let i=e.resource,r=e.collection,a=e.record,s=(null==r?void 0:r.name)||(null==i||null==(t=i.getResourceName)?void 0:t.call(i)),d=(null==r?void 0:r.dataSourceKey)||(null==i||null==(l=i.getDataSourceKey)?void 0:l.call(i)),u=(null==i||null==(n=i.getFilterByTk)?void 0:n.call(i))??(null==r||null==(o=r.getFilterByTK)?void 0:o.call(r,a));if(!s||null==u)return;let c=String(s).split(".");return{collection:c[c.length-1],dataSourceKey:d,filterByTk:u}}function c(e){var t,l,n;let o=e.view;if(!o)return;let i=(null==o?void 0:o.inputArgs)||{},r=(null==i?void 0:i.collectionName)||(null==o||null==(t=o.record)?void 0:t.collection),a=(null==i?void 0:i.dataSourceKey)||(null==o||null==(l=o.record)?void 0:l.dataSourceKey)||"main",s=(null==i?void 0:i.filterByTk)||(null==o||null==(n=o.record)?void 0:n.filterByTk),d=null==i?void 0:i.associationName,u=null==i?void 0:i.sourceId;if(r&&null!=s)return{collection:r,dataSourceKey:a,filterByTk:s,sourceId:u,associationName:d}}function p(e,t){var l,n,o;let i=null==(l=e.inputArgs)?void 0:l.record,r=null==(n=e.collection)?void 0:n.filterTargetKey;if(!i||!r)return;let a=t.view,s=null==a||null==(o=a.inputArgs)?void 0:o.filterByTk,u=i[r];if(null!=s&&null!=u&&s===u)return d().cloneDeep(i)}function h(e,t){return l=>{var n,o,i,r;if(!("record"===l||l.startsWith("record.")))return!1;let s=t();if(!s)return!0;if("record"===l)return!1;let d=c(e),u=null==d?void 0:d.collection,p=(null==d?void 0:d.dataSourceKey)||"main";if(!u)return!0;let h=null==(o=e.dataSourceManager)||null==(n=o.getDataSource)?void 0:n.call(o,p),m=null==h||null==(r=h.collectionManager)||null==(i=r.getCollection)?void 0:i.call(r,u);if(!m)return!0;let f=(0,a.H)(()=>m,()=>s),g=l.startsWith("record.")?l.slice(7):"";return!!g&&f(g)}}function m(e,t){let l=(0,a.H)(e,()=>t());return n=>{let o=t();if(!o)return!0;if(!n)return!1;let i=e();if(!n.includes(".")){var r;let e,t=n;return i&&("function"==typeof i.getField&&(e=i.getField(t)),e||"function"!=typeof i.getFields||(e=(i.getFields()||[]).find(e=>(null==e?void 0:e.name)===t))),!!(null==e||null==(r=e.isAssociationField)?void 0:r.call(e))&&null==(null==o?void 0:o[t])}return l(n)}}async function f(e,t,l){let n=await (0,r.H)(e,t,!0)();return n?{...n,buildVariablesParams:e=>l?l(e):u(e)}:null}function g(e,t,l){let n=async()=>f(e,t,l);return n.title=t,n}function v(e,t,l){var n,o;return g(t,(null==l?void 0:l.title)?(null==(n=e.t)?void 0:n.call(e,l.title))||l.title:(null==(o=e.t)?void 0:o.call(e,"Current record"))||"Current record",e=>u(e))}let y=n,b=o;async function x(e,t){let l=Object.keys(o(t)||{});if(!l.length)return;let n={};for(let t of l){var r;let l,o=null==(r=e.getPropertyOptions)?void 0:r.call(e,t),i=null==o?void 0:o.meta;if(i){try{let t="function"==typeof i?await i():i,n=null==t?void 0:t.buildVariablesParams;"function"==typeof n&&(l=await n(e))}catch(e){continue}l&&(n[t]=l)}}return(0,i.d)(e,n)}},52249(e,t,l){l.d(t,{sp:()=>w,bt:()=>A,U:()=>H,N5:()=>O,xB:()=>R,mW:()=>E,fP:()=>q});var n=l(74848),o=l(96540),i=l(99418),r=l(11869),a=l(29007),s=l(52568),d=l(73398);function u(e,t){let l=t=>e.t(t),n=e=>{var t,l;if(!e)return!1;let n=Array.isArray(null==(t=e.navigation)?void 0:t.viewStack)?e.navigation.viewStack:[],o=null==e||null==(l=e.inputArgs)?void 0:l.openerUids,i=Array.isArray(o)&&o.length>0;return n.length>=2||i},o=()=>n(t??e.view),i=async e=>{let l=t??e.view;if(!l||!n(l))return;let o=await c(e,l),i=null==o?void 0:o.resource;return(null==i?void 0:i.collectionName)&&null!=i.filterByTk?{collection:i.collectionName,dataSourceKey:i.dataSourceKey||"main",filterByTk:i.filterByTk,associationName:i.associationName,sourceId:i.sourceId}:(0,d.Cg)(e)},r=async()=>{var t,l,n,o;let r=await i(e);if(!(null==r?void 0:r.collection))return null;let a=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,r.dataSourceKey||"main");return(null==a||null==(o=a.collectionManager)||null==(n=o.getCollection)?void 0:n.call(o,r.collection))||null},a=async(t,l)=>{var n,o,i,r,a,s,d;try{let s=l||e,d=null==(n=s.view)?void 0:n.navigation,u=Array.isArray(null==d?void 0:d.viewStack)?d.viewStack:[];if(u.length<2||t<1)return;let c=u.length-1-t;if(c<0)return;let p=u[c];if(!(null==p?void 0:p.viewUid))return;let h=null==(o=s.engine)?void 0:o.getModel(p.viewUid,!0);if(!h)try{h=await s.engine.loadModel({uid:p.viewUid})}catch(t){null==(a=s.logger||e.logger)||null==(r=a.warn)||r.call(a,{err:t},"[FlowEngine] popup.getParentRecordRef loadModel failed")}let m=(null==h||null==(i=h.getStepParams)?void 0:i.call(h,"popupSettings","openView"))||{},f=null==m?void 0:m.collectionName,g=(null==m?void 0:m.dataSourceKey)||"main",v=(null==p?void 0:p.filterByTk)??(null==p?void 0:p.sourceId);if(!f||null==v)return;return{collection:f,dataSourceKey:g,filterByTk:v,sourceId:null==p?void 0:p.sourceId,associationName:null==m?void 0:m.associationName}}catch(t){null==(d=(null==l?void 0:l.logger)||e.logger)||null==(s=d.warn)||s.call(d,{err:t},"[FlowEngine] popup.getParentRecordRef failed");return}},s=l=>{try{var n;let o=null==(n=t??e.view)?void 0:n.navigation;return(Array.isArray(null==o?void 0:o.viewStack)?o.viewStack:[]).length>=l+1}catch(e){return!1}},u=t=>{let n=()=>({type:"object",title:l("Parent popup"),disabled:()=>!s(t),disabledReason:()=>s(t)?void 0:l("No parent popup"),hidden:()=>!s(t),properties:async()=>{let n=await a(t),o={};if(o.uid={type:"string",title:l("Popup uid")},n){let t=(()=>{try{var t,l,o,i;let r=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,n.dataSourceKey||"main");return(null==r||null==(i=r.collectionManager)||null==(o=i.getCollection)?void 0:o.call(i,n.collection||""))||null}catch(e){return null}})();o.record=await (0,d.$S)(()=>t,l("Popup record"),()=>n)||{type:"object",title:l("Popup record")}}else o.record={type:"object",title:l("Popup record")};return o.resource={type:"object",title:l("Data source"),properties:async()=>({dataSourceKey:{type:"string",title:l("Data source key")},collectionName:{type:"string",title:l("Collection name")},associationName:{type:"string",title:l("Association name")},filterByTk:{type:"string",title:l("filterByTk")},sourceId:{type:"string",title:l("sourceId")}})},o}});return n.title=l("Parent popup"),n},p=()=>({type:"object",title:l("Current popup"),disabled:()=>!o(),hidden:()=>!o(),buildVariablesParams:async e=>{var t,l,n,r,s,d;if(!o())return;let u=await i(e),c=null==(t=e.view)?void 0:t.inputArgs,p={};if(u){let e={...u};!e.associationName&&(null==c?void 0:c.associationName)&&(e.associationName=c.associationName),void 0===e.sourceId&&void 0!==(null==c?void 0:c.sourceId)&&(e.sourceId=null==c?void 0:c.sourceId),p.record=e}try{let t=null==(l=e.view)?void 0:l.navigation;if((Array.isArray(null==t?void 0:t.viewStack)?t.viewStack:[]).length>=2){let t=p,l=1,n=await a(l,e);for(;n;)t.parent||(t.parent={}),t.parent.record=n,t=t.parent,l+=1,n=await a(l,e)}}catch(t){null==(r=e.logger)||null==(n=r.debug)||n.call(r,{err:t},"[FlowEngine] buildVariablesParams: build parent-chain failed")}try{let e=null==c?void 0:c.sourceId,t=null==c?void 0:c.associationName,l=(null==c?void 0:c.dataSourceKey)||"main";if(null!=e&&""!==e&&t&&"string"==typeof t){let n=String(t).split(".")[0];n&&(p.sourceRecord={collection:n,dataSourceKey:l,filterByTk:e})}}catch(t){null==(d=e.logger)||null==(s=d.debug)||s.call(d,{err:t},"[FlowEngine] buildVariablesParams: infer sourceRecord failed")}return p},properties:async()=>{var t,n,o,s,c,p;let h={};if(h.uid={type:"string",title:l("Popup uid")},await i(e)){let e=async()=>{let e=await r();return e?await (0,d.$S)(()=>e,l("Current popup record"),e=>i(e)):null};e.title=l("Current popup record"),e.hasChildren=!0,h.record=e}try{let i=null==(t=e.view)?void 0:t.inputArgs,r=null==i?void 0:i.sourceId,a=null==i?void 0:i.associationName,u=(null==i?void 0:i.dataSourceKey)||"main";if(!a||"string"!=typeof a||!a.includes(".")){let t=null==(n=e.view)?void 0:n.navigation,l=Array.isArray(null==t?void 0:t.viewStack)?t.viewStack:[],i=null==l?void 0:l[l.length-1];if(null==i?void 0:i.viewUid){let t=null==e||null==(o=e.engine)?void 0:o.getModel(i.viewUid,!0);t||(t=await e.engine.loadModel({uid:i.viewUid}));let l=(null==t||null==(s=t.getStepParams)?void 0:s.call(t,"popupSettings","openView"))||{};a=(null==l?void 0:l.associationName)||a,u=(null==l?void 0:l.dataSourceKey)||u}}if(null!=r&&""!==r&&a&&"string"==typeof a){let t=String(a).includes(".")?String(a).split(".")[0]:void 0;if(t){let n=()=>{try{var l,n,o,i;let r=null==(n=e.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u);return(null==r||null==(i=r.collectionManager)||null==(o=i.getCollection)?void 0:o.call(i,t))||null}catch(e){return null}},o=await (0,d.$S)(n,l("Current popup parent record"),()=>({collection:t,dataSourceKey:u,filterByTk:r}));o&&(h.sourceRecord=o)}}}catch(t){null==(p=e.logger)||null==(c=p.debug)||c.call(p,{err:t},"[FlowEngine] popup.properties: build sourceRecord failed")}return h.resource={type:"object",title:l("Data source"),properties:async()=>({dataSourceKey:{type:"string",title:l("Data source key")},collectionName:{type:"string",title:l("Collection name")},associationName:{type:"string",title:l("Association name")},filterByTk:{type:"string",title:l("filterByTk")},sourceId:{type:"string",title:l("sourceId")}})},await a(1)&&(h.parent=u(1)),h}});return p.title=l("Current popup"),p.sort=975,p}async function c(e,t){var l,n,o;let i=null==t?void 0:t.navigation,r=Array.isArray(null==i?void 0:i.viewStack)?i.viewStack:[],a=null==t||null==(l=t.inputArgs)?void 0:l.openerUids,s=Array.isArray(a)&&a.length>0;if(!(r.length>=2||s))return;if(!r.length){let e=(null==t?void 0:t.inputArgs)||{};if(!(e.collectionName||null!=e.filterByTk||null!=e.sourceId||e.associationName||e.viewUid))return;return{uid:e.viewUid,resource:{dataSourceKey:e.dataSourceKey||"main",collectionName:e.collectionName,associationName:e.associationName,filterByTk:e.filterByTk,sourceId:e.sourceId}}}let d=async t=>{var l,n,o,i,a,s;if(t<0||!(null==(l=r[t])?void 0:l.viewUid))return;let u=r[t].viewUid,c=null==(n=e.engine)?void 0:n.getModel(u,!0);c||(c=await (null==(s=e.engine)?void 0:s.loadModel({uid:u})));let p=(null==c||null==(o=c.getStepParams)?void 0:o.call(c,"popupSettings","openView"))||{},h=null==p?void 0:p.collectionName,m={uid:u,resource:{dataSourceKey:(null==p?void 0:p.dataSourceKey)||"main",collectionName:h,associationName:null==p?void 0:p.associationName,filterByTk:null==(i=r[t])?void 0:i.filterByTk,sourceId:null==(a=r[t])?void 0:a.sourceId}},f=await d(t-1);return f&&(m.parent=f),m};return await d(((null==t||null==(o=t.navigation)||null==(n=o.viewStack)?void 0:n.length)||1)-1)}function p(e,t){let l=/^(?:record|sourceRecord)(?:\.|$)|^parent(?:\.parent)*(?:\.(?:record|sourceRecord))(?:\.|$)/;e.defineProperty("popup",{get:async()=>c(e,t),meta:u(e,t),resolveOnServer:e=>{try{return!!e&&l.test(e)}catch(e){return!1}}})}var h=l(18182);let m=(0,o.forwardRef)((e,t)=>{let{afterClose:l,footer:i,header:r,hidden:a,...s}=e,[d,u]=(0,o.useState)(!0),[c,p]=(0,o.useState)(s),[m,f]=(0,o.useState)(()=>i),[g,v]=(0,o.useState)(r);(0,o.useImperativeHandle)(t,()=>({destroy:()=>{u(!1),null==l||l()},update:e=>p(t=>({...t,...e})),setFooter:e=>{f(e)},setHeader:e=>{0===Object.values(e||{}).length?v(null):v(e)}}));let y={...c,title:(null==g?void 0:g.title)||c.title,extra:null==g?void 0:g.extra,footer:void 0!==m?m:c.footer??null},b=o.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return(0,n.jsx)(h.A,{closable:!1,rootClassName:a?"nb-hidden":"",getContainer:b,...y,open:d,onCancel:c.onCancel,afterClose:()=>{null==l||l()},children:c.children})});function f(){let[e,t]=o.useState([]);return[e,o.useCallback(e=>(t(t=>[...t,e]),()=>{t(t=>t.filter(t=>t!==e))}),[])]}var g=l(16639),v=l(20616),y=l(47451);async function b(e,t){var l;return!!t.force||!1!==await (null==(l=e.beforeClose)?void 0:l.call(e,t))}let x=0;function w(){let e=o.useRef(null),t=(t,l)=>{var u,c,h;let f,w,S=null==l?void 0:l.engine;x+=1;let M=o.createRef(),F=new Promise(e=>{w=e}),A=null,k=null,C=e=>{let{children:t}=e;return o.useEffect(()=>{var e;return A=t,null==(e=M.current)||e.setFooter(t),()=>{var e;A=null,null==(e=M.current)||e.setFooter(null)}},[t]),null},P=e=>(o.useEffect(()=>{var t;return k=e,null==(t=M.current)||t.setHeader(e),()=>{var e;k=null,null==(e=M.current)||e.setHeader(null)}},[e]),null),j=new a.cB,I=(0,y._)(l.engine),E=(0,g.eX)(S,I);j.defineProperty("engine",{value:I}),j.addDelegate(I.context),!1!==t.inheritContext?j.addDelegate(l):j.addDelegate(l.engine.context);let R=!1,_={type:"dialog",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,o,i;if(R)return;R=!0,null==(l=t.onClose)||l.call(t),null==(n=M.current)||n.destroy(),null==f||f(),null==w||w(e);let r=null==E?void 0:E.emitter;(0,g.Z8)(r),null==r||null==(i=r.emit)||i.call(r,g.B9,{type:"dialog",viewUid:null==_||null==(o=_.inputArgs)?void 0:o.viewUid}),I.unlinkFromStack()},update:e=>{var t;return null==(t=M.current)?void 0:t.update(e)},close:async(e,l)=>{var n,o;return(!t.preventClose||!!l)&&!!await b(_,{result:e,force:l})&&(t.triggerByRouter&&(null==(o=t.inputArgs)||null==(n=o.navigation)?void 0:n.back)?t.inputArgs.navigation.back():_.destroy(e),!0)},Footer:C,Header:P,setFooter:e=>{var t;A=e,null==(t=M.current)||t.setFooter(e)},setHeader:e=>{var t;k=e,null==(t=M.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,j)}};j.defineProperty("view",{get:()=>_,resolveOnServer:(0,d.Xx)(j,()=>(0,d.vE)(l,j))}),I.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),_.destroy()}),p(j,_);let T=(0,r.observer)(()=>{var e,l,r,a;let s=o.useRef(!1),d="function"==typeof t.content?t.content(_,j):t.content,u="string"==typeof d?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(d)}}):d;return(o.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,_,j)},[]),(null==(l=t.inputArgs)||null==(e=l.hidden)?void 0:e.value)&&!s.current)?null:(s.current=!0,(0,n.jsx)(m,{className:"nb-dialog-overflow-hidden",ref:M,hidden:null==(a=t.inputArgs)||null==(r=a.hidden)?void 0:r.value,footer:A,header:k,...t,onCancel:()=>{_.close(t.result)},children:u}))},{displayName:"DialogWithContext"}),D=(null==t||null==(c=t.inputArgs)?void 0:c.viewUid)||`page-${x}`,N=(0,n.jsx)(v.I6,{engine:I,children:(0,n.jsx)(s.YQ,{context:j,children:(0,n.jsx)(T,{})})},D);return f=null==(h=e.current)?void 0:h.patchElement(N),Object.assign(F,_)},l=o.useMemo(()=>({open:t}),[]),u=o.memo(o.forwardRef((e,t)=>{let[l,i]=f();return o.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(u,{ref:e},"dialog-holder")]}var S=l(97134),M=l(61793);let F=o.forwardRef((e,t)=>{var l;let{children:i,footer:r,title:a,extra:s,hidden:d,isMobile:u,...c}=e,[p,h]=o.useState(!0),[m,f]=o.useState(()=>r),[g,v]=o.useState({title:a,extra:s,...c.header});o.useImperativeHandle(t,()=>({destroy:()=>{h(!1)},update:e=>{Object.assign(c,e)},setFooter:e=>{f(e)},setHeader:e=>{0===Object.values(e||{}).length?v(null):v(e)}}),[]);let y=o.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return u?(0,n.jsx)(M.D,{className:d?"nb-hidden":"",visible:p,...c,footer:m,...g,onClose:c.onClose,children:i}):(0,n.jsx)(S.A,{rootClassName:d?"nb-hidden":"",closable:!1,getContainer:y,...c,open:p,footer:m,styles:{...c.styles,footer:{display:"flex",justifyContent:"flex-end",...null==(l=c.styles)?void 0:l.footer}},...g,onClose:c.onClose,children:i})});function A(){let e=o.useRef(null),t=o.useMemo(()=>r.observable.shallow({value:[]}),[]),l=o.memo(e=>{let{index:i}=e,[a,s]=o.useState(null);return(o.useEffect(()=>{(0,r.autorun)(()=>{let e=t.value;e[i]&&a!==e[i]&&s(e[i]),e[i]||s(null)})},[a,i]),a)?(0,n.jsx)(a,{children:(0,n.jsx)(l,{index:i+1})}):null});l.displayName="RenderNestedDrawer";let u=(t,l)=>{var u,c;let h,m,f=l.engine,x=o.createRef(),w=new Promise(e=>{m=e}),S=null,M=null,A=e=>{let{children:t}=e;return o.useEffect(()=>{var e;return S=t,null==(e=x.current)||e.setFooter(t),()=>{var e;S=null,null==(e=x.current)||e.setFooter(null)}},[t]),null},k=e=>(o.useEffect(()=>{var t;return M=e,null==(t=x.current)||t.setHeader(e),()=>{var e;M=null,null==(e=x.current)||e.setHeader(null)}},[e]),null),C=new a.cB,P=(0,y._)(l.engine),j=(0,g.eX)(f,P);C.defineProperty("engine",{value:P}),C.addDelegate(P.context),!1!==t.inheritContext?C.addDelegate(l):C.addDelegate(l.engine.context);let I=!1,E={type:"drawer",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,o,i;if(I)return;I=!0,null==(l=t.onClose)||l.call(t),null==(n=x.current)||n.destroy(),null==h||h(),null==m||m(e);let r=null==j?void 0:j.emitter;(0,g.Z8)(r),null==r||null==(i=r.emit)||i.call(r,g.B9,{type:"drawer",viewUid:null==E||null==(o=E.inputArgs)?void 0:o.viewUid}),P.unlinkFromStack()},update:e=>{var t;return null==(t=x.current)?void 0:t.update(e)},close:async(e,l)=>{var n,o;return(!t.preventClose||!!l)&&!!await b(E,{result:e,force:l})&&(t.triggerByRouter&&(null==(o=t.inputArgs)||null==(n=o.navigation)?void 0:n.back)?t.inputArgs.navigation.back():E.destroy(e),!0)},Footer:A,Header:k,setFooter:e=>{var t;S=e,null==(t=x.current)||t.setFooter(e)},setHeader:e=>{var t;M=e,null==(t=x.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,C)}};C.defineProperty("view",{get:()=>E,resolveOnServer:(0,d.Xx)(C,()=>(0,d.vE)(l,C))}),P.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),E.destroy()}),p(C,E);let R=o.memo((0,r.observer)(e=>{var l,r,a,s;let d=o.useRef(!1),u="function"==typeof t.content?t.content(E,C):t.content,c="string"==typeof u?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(u)}}):u;return(o.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,E,C)},[]),(null==(r=t.inputArgs)||null==(l=r.hidden)?void 0:l.value)&&!d.current)?(0,n.jsx)(n.Fragment,{children:e.children}):(d.current=!0,(0,n.jsxs)(F,{ref:x,...t,footer:S,header:t.header||M,hidden:null==(s=t.inputArgs)||null==(a=s.hidden)?void 0:a.value,onClose:()=>{E.close(t.result)},isMobile:C.isMobileLayout,children:[c,e.children]}))}));R.displayName="DrawerWithContext";let _=o.memo(e=>{let{children:t}=e;return(0,n.jsx)(v.I6,{engine:P,children:(0,n.jsx)(s.YQ,{context:C,children:(0,n.jsx)(R,{children:t})})})});return _.displayName="RenderDrawer",h=null==(c=e.current)?void 0:c.patchElement(_),Object.assign(w,E)},c=o.useMemo(()=>({open:u}),[]),h=o.memo(o.forwardRef((e,i)=>{let[r,a]=f();return o.useImperativeHandle(i,()=>({patchElement:a}),[a]),o.useEffect(()=>{t.value=r},[r]),(0,n.jsx)(l,{index:0})}));return[c,(0,n.jsx)(h,{ref:e},"drawer-holder")]}var k=l(40961),C=l(31333),P=l(71021);let j=(0,o.forwardRef)((e,t)=>{let[l,i]=o.useState({}),{visible:r=!0,footer:a=null,header:s=null,children:d,hidden:u,title:c,styles:p={},zIndex:h=4,onClose:m}={...e,...l},f=(0,o.useRef)(!1),g=(0,v.uf)(),[y,b]=(0,o.useState)(()=>a),[x,w]=(0,o.useState)(s);(0,o.useImperativeHandle)(t,()=>({destroy:()=>{f.current||(f.current=!0)},update:e=>{i(e)},setFooter:e=>{b(e)},setHeader:e=>{0===Object.values(e||{}).length?w(null):w(e)}}));let S=(0,o.useMemo)(()=>({display:u?"none":"flex",flexDirection:"column",height:"100%",zIndex:h}),[u,h]),M=(0,o.useMemo)(()=>{if(!x&&!c)return null;let{title:e=c,extra:t}=x||{},l=g.context.themeToken;return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:`${l.paddingSM}px ${l.padding}px`,borderBottom:`1px solid ${l.colorSplit}`,backgroundColor:l.colorBgContainer,...p.header},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:l.marginXS},children:[(0,n.jsx)(P.Ay,{type:"text",size:"small",icon:(0,n.jsx)(C.A,{}),onClick:async()=>{f.current||!1!==await (null==m?void 0:m())&&(f.current=!0)},style:{color:l.colorTextTertiary}}),e&&(0,n.jsx)("div",{style:{fontSize:l.fontSizeLG,fontWeight:l.fontWeightStrong,color:l.colorText},children:e})]}),t&&(0,n.jsx)("div",{children:t})]})},[x,c,g.context.themeToken,p.header,m]),F=(0,o.useMemo)(()=>{if(!y)return null;let e=g.context.themeToken;return(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",padding:`${e.paddingXS}px ${e.padding}px`,borderTop:`1px solid ${e.colorSplit}`,backgroundColor:e.colorBgContainer,...p.footer},children:y})},[y,g.context.themeToken,p.footer]);return r?(0,n.jsxs)("div",{style:{...S,...p.content},children:[M,(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",...p.body},children:d}),F]}):null}),I=0,E="nocobase-embed-container",R="nocobaseEmbedReplacing";function _(e){return!!e&&"function"==typeof e.then}function T(e,t){e.dataset[R]="1";try{let l=t.close();if(_(l))return Promise.resolve(l).finally(()=>{delete e.dataset[R]});return delete e.dataset[R],l}catch(t){throw delete e.dataset[R],t}}function D(e,t,l){let n,o={},i=e.then(e=>{let{page:t}=e;return(n=t)&&("beforeClose"in o&&(n.beforeClose=o.beforeClose),"update"in o&&n.update(o.update),"footer"in o&&n.setFooter(o.footer),"header"in o&&n.setHeader(o.header),o.destroyed&&n.destroy(o.destroyed.result)),{page:t}});return Object.assign(i.then(e=>{let{page:t}=e;return!!t&&t}),{type:"embed",inputArgs:t,preventClose:l,Header:null,Footer:null,get beforeClose(){return(null==n?void 0:n.beforeClose)??o.beforeClose},set beforeClose(value){n?n.beforeClose=value:o.beforeClose=value},close:(e,t)=>i.then(l=>{let{page:n}=l;return!!n&&n.close(e,t)}),destroy:e=>{n?n.destroy(e):o.destroyed={result:e}},update:e=>{n?n.update(e):o.update={...o.update,...e}},setFooter:e=>{n?n.setFooter(e):o.footer=e},setHeader:e=>{n?n.setHeader(e):o.header=e}})}let N=o.memo(o.forwardRef((e,t)=>{let[l,i]=f();return o.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,n.jsx)(n.Fragment,{children:l})}));function O(){let e=o.useRef(null),t=o.useRef(null),l=o.useRef(0),i=(i,u)=>{let{target:c,content:h,preventClose:m,inheritContext:f=!0,inputArgs:x={},onOpenCancelled:w,...S}=i,M=c instanceof HTMLElement&&c.id===E,F=()=>{var l,w,F;let A,C,P,E=null==u?void 0:u.engine;I+=1;let _=o.createRef(),T=new Promise(e=>{C=e}),D=e=>{let{children:t}=e;return o.useEffect(()=>{var e;return null==(e=_.current)||e.setFooter(t),()=>{var e;null==(e=_.current)||e.setFooter(null)}},[t]),null},N=e=>(o.useEffect(()=>{var t;return null==(t=_.current)||t.setHeader(e),()=>{var e;null==(e=_.current)||e.setHeader(null)}},[e]),null),O=new a.cB,$=(0,y._)(u.engine),B=(0,g.eX)(E,$);O.defineProperty("engine",{value:$}),O.addDelegate($.context),f?O.addDelegate(u):O.addDelegate(u.engine.context);let L=!1,q={type:"embed",inputArgs:x,preventClose:!!i.preventClose,beforeClose:void 0,destroy:e=>{var l,n,o,r,a;if(!L){if(L=!0,null==(l=i.onClose)||l.call(i),null==C||C(e),null==(n=_.current)||n.destroy(),null==A||A(),M&&t.current===q&&(t.current=null),!(M&&c instanceof HTMLElement&&(null==(o=c.dataset)?void 0:o[R])==="1")){let e=null==B?void 0:B.emitter;(0,g.Z8)(e),null==e||null==(a=e.emit)||a.call(e,g.B9,{type:"embed",viewUid:null==q||null==(r=q.inputArgs)?void 0:r.viewUid})}$.unlinkFromStack()}},update:e=>{var t;return null==(t=_.current)?void 0:t.update(e)},close:(e,t)=>L?Promise.resolve(!0):P||(P=(async()=>{try{var l,n;if(m&&!t)return P=void 0,!1;let o=await b(q,{result:e,force:t});if(L)return!0;if(!o)return P=void 0,!1;if(i.triggerByRouter&&(null==(n=i.inputArgs)||null==(l=n.navigation)?void 0:l.back))return i.inputArgs.navigation.back(),!0;return q.destroy(e),!0}catch(e){throw L||(P=void 0),e}})()),Header:N,Footer:D,setFooter:e=>{var t;null==(t=_.current)||t.setFooter(e)},setHeader:e=>{var t;null==(t=_.current)||t.setHeader(e)},navigation:null==(l=i.inputArgs)?void 0:l.navigation,get record(){return(0,d.vE)(u,O)}};O.defineProperty("view",{get:()=>q,resolveOnServer:(0,d.Xx)(O,()=>(0,d.vE)(u,O))}),p(O,q);let V=(0,r.observer)(()=>{var e,t,l,r;let a=o.useRef(!1),s=o.useMemo(()=>"function"==typeof h?h(q,O):h,[]);return(O.themeToken,o.useEffect(()=>{var e;null==(e=i.onOpen)||e.call(i,q,O)},[]),(null==(t=i.inputArgs)||null==(e=t.hidden)?void 0:e.value)&&!a.current)?null:(a.current=!0,(0,n.jsx)(j,{ref:_,hidden:null==(r=i.inputArgs)||null==(l=r.hidden)?void 0:l.value,...S,onClose:()=>q.close(i.result),children:s}))},{displayName:"PageWithContext"}),z=(null==x?void 0:x.viewUid)||`page-${I}`,K=(0,n.jsx)(v.I6,{engine:$,children:(0,n.jsx)(s.YQ,{context:O,children:(0,n.jsx)(V,{})})},z);return A=c&&c instanceof HTMLElement?null==(w=e.current)?void 0:w.patchElement(k.createPortal(K,c,z)):null==(F=e.current)?void 0:F.patchElement(K),M&&(t.current=q),Object.assign(T,q)};if(M&&t.current){let e,n=l.current+=1,o=()=>null==w?void 0:w();try{e=T(c,t.current)}catch(e){throw o(),e}if(_(e))return D(Promise.resolve(e).then(e=>!1===e||n!==l.current?(o(),{page:null}):{page:F()},e=>{throw o(),e}),x,!!i.preventClose);if(!1===e)return o(),D(Promise.resolve({page:null}),x,!!i.preventClose)}return F()};return[o.useMemo(()=>({open:i}),[]),(0,n.jsx)(N,{ref:e},"page-holder")]}var $=l(28073);let B=0,L=o.forwardRef((e,t)=>{var l,i;let{afterClose:r,content:a,placement:s,rect:d,...u}=e,[c,p]=o.useState(!0),[h,m]=o.useState({content:a,placement:s,rect:d,...u});return o.useImperativeHandle(t,()=>({destroy:()=>p(!1),update:e=>m(t=>({...t,...e})),close:(e,t)=>p(!1)})),o.useEffect(()=>{c||null==r||r()},[c,r]),(0,n.jsx)($.A,{arrow:!1,open:c,trigger:["click"],destroyTooltipOnHide:!0,content:h.content,placement:h.placement,getPopupContainer:()=>document.querySelector("#nocobase-app-container")||document.body,onOpenChange:e=>{(e||!h.preventClose)&&(p(e),e||null==r||r())},...h,children:(0,n.jsx)("span",{style:{position:"absolute",top:((null==(l=h.rect)?void 0:l.top)??0)+window.scrollY,left:((null==(i=h.rect)?void 0:i.left)??0)+window.scrollX,width:0,height:0}})})});function q(){let e=o.useRef(null),t=t=>{var l,r;let a,s;B+=1;let{target:d,placement:u="rightTop",content:c,...p}=t,h=o.createRef(),m=(null==d||null==(l=d.getBoundingClientRect)?void 0:l.call(d))??{top:0,left:0},f=new Promise(e=>{s=e}),g={type:"popover",destroy:()=>{var e;return null==(e=h.current)?void 0:e.destroy()},update:e=>{var t;return null==(t=h.current)?void 0:t.update(e)},close:e=>{var t;null==s||s(e),null==(t=h.current)||t.close(e)}},v="function"==typeof c?c(g):c,y="string"==typeof v?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(v)}}):v,b=(0,n.jsx)(L,{ref:h,content:y,placement:u,rect:m,afterClose:()=>{var e;null==a||a(),null==(e=t.onClose)||e.call(t),null==s||s(t.result)},...p},`popover-${B}`);return a=null==(r=e.current)?void 0:r.patchElement(b),Object.assign(f,g)},l=o.useMemo(()=>({open:t}),[]),r=o.memo(o.forwardRef((e,t)=>{let[l,i]=f();return o.useImperativeHandle(t,()=>({patchElement:i}),[]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(r,{ref:e},"popover-holder")]}var V=l(50467),z=l(52847);function K(e){return null==e?"":e&&"object"==typeof e&&!Array.isArray(e)?encodeURIComponent(Object.entries(e).map(e=>{let[t,l]=e;return`${encodeURIComponent(String(t))}=${encodeURIComponent(String(l))}`}).join("&")):encodeURIComponent(String(e))}function U(e){return null!=e&&""!==String(e)}function W(e){if(!e||0===e.length)return"/admin";let t=["admin"];return e.forEach((e,l)=>{if(l>0&&t.push("view"),t.push(e.viewUid),e.tabUid&&t.push("tab",e.tabUid),null!=e.filterByTk){let l=K(e.filterByTk);l&&t.push("filterbytk",l)}U(e.sourceId)&&t.push("sourceid",String(e.sourceId))}),"/"+t.join("/")}class H{setViewStack(e){this.viewStack=Object.freeze([...e]),this.viewParams=this.viewStack[this.viewStack.length-1]||{}}changeTo(e){let t=W(this.viewStack.map((t,l)=>l===this.viewStack.length-1?{...t,...e}:{...t}));this.ctx.router.navigate(t,{replace:!0})}navigateTo(e,t){let l=W([...this.viewStack,e]);this.ctx.router.navigate(l,t)}back(){let e=W(this.viewStack.slice(0,-1));this.ctx.router.navigate(e,{replace:!0})}constructor(e,t){(0,V._)(this,"viewStack",void 0),(0,V._)(this,"ctx",void 0),(0,V._)(this,"viewParams",void 0),this.setViewStack(t),this.ctx=e,(0,z.E8)(this,{viewParams:z.sH})}}},16639(e,t,l){l.d(t,{B9:()=>o,FH:()=>s,HK:()=>i,Z8:()=>d,eX:()=>p,i6:()=>r,tb:()=>n});let n=Symbol.for("__NOCOBASE_VIEW_ACTIVATED_VERSION__"),o="view:activated",i="dataSource:dirty",r="__NOCOBASE_ENGINE_SCOPE__",a="view";function s(e){let t=Reflect.get(e,n),l="number"==typeof t?t:Number(t);return Number.isFinite(l)&&l>0?l:0}function d(e){let t=s(e);if(!Object.isExtensible(e))return t;let l=t+1;return Reflect.set(e,n,l),l}function u(e){return Reflect.get(e,r)===a}function c(e){let t=e,l=0;for(;t&&l++<50;){if(u(t))return t;t=t.previousEngine}}function p(e,t){if(!e)return;let l=c(e);return l||c(null==t?void 0:t.previousEngine)||e}},40542(e,t,l){l.d(t,{D:()=>n});let n=(e,t,l)=>{if(!e)return l;let o=t.split("."),i=[],r=e,a=!1;for(let e=0;e<o.length;e++){let t=o[e];if(Array.isArray(r)){for(let t of(a=!0,r)){let r=n(t,o.slice(e).join("."),l);i=i.concat(r)}break}if((null==r?void 0:r[t])===void 0)break;r=r[t],e===o.length-1&&i.push(r)}return 0===(i=i.filter(e=>void 0!==e)).length?l:a?i.filter(e=>null!==e):i[0]}},96436(e,t,l){l.r(t),l.d(t,{getDayRange:()=>tl,isEmptyFilter:()=>ed,sleep:()=>es,getDateVars:()=>ta,isString:()=>ee,unflatten:()=>e8,sortTree:()=>ea,forEach:()=>ek,utc2unit:()=>to,extractUsedVariablePaths:()=>tI,getValuesByPath:()=>eC,isArray:()=>et,moment2str:()=>eb,transformLiquidContext:()=>tR,isURL:()=>tF,isPortalInBody:()=>tb,extractUsedVariableNames:()=>tj,parseHTML:()=>tx,toGmt:()=>ep,isPlainObject:()=>en,lockdownSes:()=>tg,splitPathToTwoParts:()=>ts,transformFilter:()=>Y,parseSQLBindParams:()=>tD,getPickerFormat:()=>eM,nextTick:()=>ei,removeNullCondition:()=>eu,CollectionsGraph:()=>V,isValidFilter:()=>e_,evaluateConditions:()=>Z,toUnit:()=>ti,BASE_BLOCKED_IDENTIFIERS:()=>th,getFormatFromDateStr:()=>eA,removeInvalidFilterItems:()=>J,toLocal:()=>eh,getDayRangeByParams:()=>L,getDefaultFormat:()=>ec,transformMultiColumnToSingleColumn:()=>tC,treeFind:()=>er,transformSQL:()=>tN,parseFilter:()=>tt,flatten:()=>e5,getOffsetRangeByParams:()=>N,isEmpty:()=>el,offsetFromString:()=>ex,tval:()=>tv,error:()=>eq,Registry:()=>tu,lodash:()=>o(),parse:()=>eO,hasEmptyValue:()=>eo,toFixedByStep:()=>eJ,getDateTimeFormat:()=>eF,showToast:()=>eH,Handlebars:()=>eI(),getLiquidContext:()=>t_,merge:()=>eU,dayjs:()=>r(),parseLiquidContext:()=>tT,uid:()=>tM,str2moment:()=>eg});var n=l(2543),o=l.n(n),i=l(74353),r=l.n(i),a=l(97375),s=l.n(a),d=l(90445),u=l.n(d),c=l(43522),p=l.n(c),h=l(37872),m=l.n(h),f=l(98867),g=l.n(f),v=l(8906),y=l.n(v),b=l(68313),x=l.n(b),w=l(21840),S=l.n(w),M=l(41816),F=l.n(M),A=l(88569),k=l.n(A),C=l(83826),P=l.n(C),j=l(8134),I=l.n(j),E=l(28623),R=l.n(E),_=l(46986),T=l.n(_);r().extend(T()),r().extend(S()),r().extend(k()),r().extend(P()),r().extend(F()),r().extend(x()),r().extend(m()),r().extend(g()),r().extend(y()),r().extend(I()),r().extend(R()),r().extend(u()),r().extend(s()),r().extend(p());let D=e=>{if(!e)return r()();if(/^[+-]\d{2}:\d{2}$/.test(e)){let[t,l,n]=e.match(/([+-])(\d{2}):(\d{2})/).slice(1),o=(60*parseInt(l)+parseInt(n))*("+"===t?1:-1);return r()().utcOffset(o)}return r()().tz(e)},N=e=>{let t,l,{type:n,unit:o="day",number:i=1,timezone:r}=e,a=D(r),s="week"===o?"isoWeek":o;if("past"===n){let e=a.startOf(s);t=e.subtract(i,o).startOf(s),l=e.subtract(1,o).endOf(s)}else if("next"===n)l=(t=a.startOf(s).add(1,o).startOf(s)).add(i-1,o).endOf(s);else throw Error(`Unsupported type: ${n}`);return[t.format("YYYY-MM-DD HH:mm:ss"),l.format("YYYY-MM-DD HH:mm:ss")]},O=(e,t,l)=>{let n="isoWeek"===t?"week":t;return D(l).add(e,n).startOf(t)},$=(e,t,l)=>{let n="isoWeek"===t?"week":t;return D(l).add(e,n).endOf(t)},B={today:e=>[O(0,"day",null==e?void 0:e.timezone),$(0,"day",null==e?void 0:e.timezone)],yesterday:e=>[O(-1,"day",null==e?void 0:e.timezone),$(-1,"day",null==e?void 0:e.timezone)],tomorrow:e=>[O(1,"day",null==e?void 0:e.timezone),$(1,"day",null==e?void 0:e.timezone)],thisWeek:e=>[O(0,"isoWeek",null==e?void 0:e.timezone),$(0,"isoWeek",null==e?void 0:e.timezone)],lastWeek:e=>[O(-1,"isoWeek",null==e?void 0:e.timezone),$(-1,"isoWeek",null==e?void 0:e.timezone)],nextWeek:e=>[O(1,"isoWeek",null==e?void 0:e.timezone),$(1,"isoWeek",null==e?void 0:e.timezone)],thisMonth:e=>[O(0,"month",null==e?void 0:e.timezone),$(0,"month",null==e?void 0:e.timezone)],lastMonth:e=>[O(-1,"month",null==e?void 0:e.timezone),$(-1,"month",null==e?void 0:e.timezone)],nextMonth:e=>[O(1,"month",null==e?void 0:e.timezone),$(1,"month",null==e?void 0:e.timezone)],thisQuarter:e=>[O(0,"quarter",null==e?void 0:e.timezone),$(0,"quarter",null==e?void 0:e.timezone)],lastQuarter:e=>[O(-1,"quarter",null==e?void 0:e.timezone),$(-1,"quarter",null==e?void 0:e.timezone)],nextQuarter:e=>[O(1,"quarter",null==e?void 0:e.timezone),$(1,"quarter",null==e?void 0:e.timezone)],thisYear:e=>[O(0,"year",null==e?void 0:e.timezone),$(0,"year",null==e?void 0:e.timezone)],lastYear:e=>[O(-1,"year",null==e?void 0:e.timezone),$(-1,"year",null==e?void 0:e.timezone)],nextYear:e=>[O(1,"year",null==e?void 0:e.timezone),$(1,"year",null==e?void 0:e.timezone)]},L=e=>{if("past"===e.type||"next"===e.type)return N(e);let t=B[e.type];if(!t)throw Error(`Unsupported type: ${e.type}`);let[l,n]=t(e);return[l.format("YYYY-MM-DD HH:mm:ss"),n.format("YYYY-MM-DD HH:mm:ss")]};var q=l(38362);class V{static graphlib(){return q}static connectedNodes(e){let t=(0,n.castArray)(e.nodes),l=(0,n.castArray)(e.excludes||[]),o=V.build(e),i=new Set;for(let e of t)for(let t of q.alg.preorder(o,e))l.includes(t)||i.add(t);return Array.from(i)}static preOrder(e){return V.graphlib().alg.preorder(V.build(e),e.node)}static build(e){let t=e.collections,l="forward"===((null==e?void 0:e.direction)||"forward"),n=new q.Graph;for(let e of t)n.setNode(e.name);for(let e of t){for(let t of e.inherits||[])l?n.setEdge(e.name,t):n.setEdge(t,e.name);for(let t of e.fields||[])if(("hasMany"===t.type||"belongsTo"===t.type||"hasOne"===t.type)&&(l?n.setEdge(e.name,t.target):n.setEdge(t.target,e.name)),"belongsToMany"===t.type){let o=t.through;l?(n.setEdge(e.name,o),n.setEdge(o,t.target)):(n.setEdge(t.target,o),n.setEdge(o,e.name))}}return n}}var z=l(81814),K=l.n(z);function U(e){return"path"in e&&"operator"in e}function W(e){return"logic"in e&&"items"in e}function H(e){let{path:t,operator:l,value:n}=e;return{[t]:{[l]:n}}}function G(e){let{logic:t,items:l}=e;return{[t]:l.map(e=>{if(U(e))return H(e);if(W(e))return G(e);throw Error("Invalid filter item type")})}}function Y(e){if(!e||"object"!=typeof e)throw Error("Invalid filter: filter must be an object");if(!W(e))throw Error("Invalid filter: filter must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid filter: items must be an array");return eu(G(e))}function J(e){if(!e||"object"!=typeof e)throw Error("Invalid filter: filter must be an object");if(!W(e))throw Error("Invalid filter: filter must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid filter: items must be an array");return e.items=e.items.filter(e=>U(e)?!!e.operator:!!W(e)&&J(e)),{...e}}function X(e,t){let{path:l,operator:n,value:o}=e;return t(l,n,o)}function Q(e,t){let{logic:l,items:n}=e;if(!n||0===n.length)return!0;let o=n.map(e=>{if(U(e))return X(e,t);if(W(e))return Q(e,t);throw Error("Invalid filter item type")});if("$and"===l)return o.every(e=>!0===e);if("$or"===l)return o.some(e=>!0===e);throw Error(`Unsupported logic operator: ${l}`)}function Z(e,t){if(!e||"object"!=typeof e)throw Error("Invalid conditions: conditions must be an object");if(!W(e))throw Error("Invalid conditions: conditions must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid conditions: items must be an array");if("function"!=typeof t)throw Error("Invalid evaluator: evaluator must be a function");return Q(e,t)}let ee=e=>"string"==typeof e,et=e=>Array.isArray(e),el=e=>en(e)?0===Object.keys(e).length:!!Array.isArray(e)&&0===e.length,en=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},eo=e=>{let t=!0;for(let l in e){if(t=!1,et(e[l])&&0===e[l].length||!e[l])return!0;if(en(e[l])||et(e[l]))return eo(e[l])}return t},ei=e=>{setTimeout(e)};function er(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return;let{childrenKey:n="children"}=l;for(let o of Array.isArray(e)?[...e]:[e]){if(t(o))return o;let e="function"==typeof n?n(o):o[n];if(Array.isArray(e)&&e.length>0){let n=er(e,t,l);if(void 0!==n)return n}}}function ea(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children",n=!(arguments.length>3)||void 0===arguments[3]||arguments[3];return e&&Array.isArray(e)&&0!==e.length?o().orderBy(e,t,n?"asc":"desc").map(e=>e[l]&&e[l].length>0?{...e,[l]:ea(e[l],t,l,n)}:e):e}function es(e){return new Promise(t=>{setTimeout(t,e)})}function ed(e){return!!(!e||"$and"in e&&o().isEmpty(e.$and)||"$or"in e&&o().isEmpty(e.$or))}let eu=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:K(),l=t(e||{}),n={};for(let e in l){let t=l[e];null==t||el(t)||""===t||(n[e]=t)}let i=t.unflatten(n);for(let e in i)Array.isArray(i[e])&&(i[e]=i[e].filter(e=>null!=e));return o().isEmpty(i)?void 0:i},ec=e=>e.format?e.format:e.dateFormat?e.showTime?`${e.dateFormat} ${e.timeFormat||"HH:mm:ss"}`:e.dateFormat:"month"===e.picker?"YYYY-MM":"quarter"===e.picker?"YYYY-\\QQ":"year"===e.picker?"YYYY":"week"===e.picker?"YYYY[W]W":e.showTime?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD",ep=e=>e&&r().isDayjs(e)?`${e.format("YYYY-MM-DD")}T${e.format("HH:mm:ss.SSS")}Z`:e,eh=e=>e?Array.isArray(e)?e.map(e=>e.startOf("second").toISOString()):r().isDayjs(e)?e.startOf("second").toISOString():void 0:e,em=e=>{try{let t=parseInt(e.slice(0,4)),l=parseInt(e.slice(-1));return r()().quarter(l).year(t)}catch(e){return null}},ef=(e,t)=>{if(!e)return;let l=t.utcOffset,{gmt:n,picker:o,utc:i=!0,dateOnly:a}=t;if(!r()(e).isValid())return em(e);if(a){let t=r()(e);if(!t.isValid())return e;let l=t.format("YYYY-MM-DD");return r().utc(l,"YYYY-MM-DD")}return i?r().isDayjs(e)?l?e.utcOffset(ex(l)):e:n?r()(e).utcOffset(0):l?r()(e).utcOffset(ex(l)):r()(e):r()(e)},eg=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)?e.map(e=>ef(e,t)):e?ef(e,t):e},ev=(e,t)=>"year"===t?e.format("YYYY")+"-01-01T00:00:00.000Z":"month"===t||"quarter"===t?e.format("YYYY-MM")+"-01T00:00:00.000Z":e.format("YYYY-MM-DD")+"T00:00:00.000Z",ey=(e,t)=>e?Array.isArray(e)?e.map(e=>ev(e,t)):r().isDayjs(e)?ev(e,t):void 0:e,eb=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{showTime:l,gmt:n,picker:o}=t;return e?l?n?ep(e):eh(e):ey(e,o):e};function ex(e){if(!o().isString(e))return e;let t=/([+-]|\d\d)/gi,l=/Z|[+-]\d\d(?::?\d\d)?/gi,n=/[+-]?\d+(\.\d{1,3})?/,i=(e||"").match(l);if(null===i&&(i=(e||"").match(n)),null===i)return null;let r=((i[i.length-1]||[])+"").match(t)||["-",0,0],a=+(60*Number(r[1]))+ew(r[2]);return 0===a?0:"+"===r[0]?a:-a}function ew(e){let t=+e,l=0;return 0!==t&&isFinite(t)&&(l=eS(t)),l}function eS(e){return e<0?Math.ceil(e)||0:Math.floor(e)}let eM=e=>{switch(e){case"week":return"YYYY[W]W";case"month":return"YYYY-MM";case"quarter":return"YYYY[Q]Q";case"year":return"YYYY";default:return"YYYY-MM-DD"}},eF=(e,t,l,n)=>"date"===e&&l?`${t} ${n||"HH:mm:ss"}`:t;function eA(e){return/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e)?"YYYY-MM-DD HH:mm:ss":/^\d{4}-\d{2}-\d{2}$/.test(e)?"YYYY-MM-DD":/^\d{4}-\d{2}$/.test(e)?"YYYY-MM":/^\d{4}$/.test(e)?"YYYY":/^\d{4}Q[1-4]$/.test(e)?"YYYY[Q]Q":/^\d{4}-\d{2}-\d{2}T/.test(e)?"YYYY-MM-DDTHH:mm:ss.SSSZ":null}let ek=(e,t)=>{Array.isArray(e)?e.forEach(t):Object.keys(e).forEach(l=>{t(e[l],l)})},eC=(e,t,l)=>{if(!e)return l;let n=t.split("."),o=[],i=e,r=!1;for(let e=0;e<n.length;e++){let t=n[e];if(Array.isArray(i)){for(let t of(r=!0,i)){let i=eC(t,n.slice(e).join("."),l);o=o.concat(i)}break}if((null==i?void 0:i[t])===void 0)break;i=i[t],e===n.length-1&&o.push(i)}return 0===(o=o.filter(e=>void 0!==e)).length?l:r?o.filter(e=>null!==e):o[0]};var eP=l(88835),ej=l(60639),eI=l.n(ej),eE=l(79441);let eR=l.n(eE)()();function e_(e){if(!e)return!1;let t=[e.$and,e.$or].filter(Boolean);return 0==t.length?Object.keys(e).length>0:t.some(e=>{if(Array.isArray(e))return e.some(e_);if(e.$and||e.$or)return e_(e);let[t]=Object.keys(e);if(!t||!e[t])return!1;let[l]=Object.keys(e[t]);return!!l&&void 0!==e[t][l]})}function eT(e){let t=typeof e;return Array.isArray(e)?t="array":e instanceof Date?t="date":null===e&&(t="null"),t}function eD(e){let t=e.substr(2,e.length-4).trim(),l=t.indexOf(":");return -1!==l?{key:t.substr(0,l),defaultValue:t.substr(l+1)}:{key:t}}function eN(e,t){return e.parameters=Array.from(new Map(t.map(e=>[e.key,e])).values()),e}function eO(e){switch(eT(e)){case"string":return e$(e);case"object":return eB(e);case"array":return eL(e);default:return eN(function(){return e},[])}}Object.keys(eR).forEach(function(e){eI().registerHelper(e,eR[e])}),eI().registerHelper("json",function(e){return JSON.stringify(e)}),eI().registerHelper("urlParse",function(e){try{return JSON.stringify(eP.parse(e))}catch(t){return`Invalid URL: ${e}`}}),eI().registerHelper("dateFormat",(e,t,l)=>"string"==typeof l?r()(e).tz(l).format(t):r()(e).format(t)),eI().registerHelper("isNull",e=>o().isNull(e));let e$=(()=>{let e=/{{(\w|:|[\s-+.,@/()?=*_$])+}}/g;return t=>{let l=[],o=e=>t,i=t.match(e);return i&&(l=i.map(eD),o=e=>(e=e||{},i.reduce((o,r,a)=>{let s=l[a],d=(0,n.get)(e,s.key);return(void 0===d&&(d=s.defaultValue),"function"==typeof d&&(d=d()),1===i.length&&t.startsWith("{{")&&t.endsWith("}}"))?d:(d instanceof Date&&(d=d.toISOString()),o.replace(r,null==d?"":d))},t))),eN(o,l)}})();function eB(e){let t=Object.keys(e).map(t=>({keyTemplate:e$(t),valueTemplate:eO(e[t])}));return eN(e=>t.reduce((t,l)=>(t[l.keyTemplate(e)]=l.valueTemplate(e),t),{}),t.reduce((e,t)=>e.concat(t.valueTemplate.parameters,t.keyTemplate.parameters),[]))}function eL(e){let t=e.map(eO);return eN(e=>t.map(t=>t(e)),t.reduce((e,t)=>e.concat(t.parameters),[]))}let eq=function(e){for(var t=arguments.length,l=Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];console.error(e,...l)};var eV=l(14744),ez=l.n(eV);let eK=(e,t,l)=>t;function eU(e,t,l){return ez()(e,t,{arrayMerge:eK,...l})}var eW=l(98892);let eH=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3;eW.Ay[t]({message:e,duration:l})};var eG=l(5062),eY=l(85738);function eJ(e,t){if(null==e||""===e)return"";let l=(0,eG.i5)(t);return(0,eY.Mg)(String(e),".",l)}var eX=l(63560),eQ=l.n(eX),eZ=l(95093),e0=l.n(eZ);let e1=/^\s*\{\{([\s\S]*)\}\}\s*$/;function e2(e){return e&&e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function e4(e){return e}function e5(e,t){let l=(t=t||{}).delimiter||".",n=t.maxDepth,i=t.transformKey||e4,r=t.transformValue||e4,a={};function s(e,d,u){u=u||1,o().isObjectLike(e)&&Object.keys(e).forEach(function(o){var c;let p=e[o],h=t.safe&&Array.isArray(p),m=Object.prototype.toString.call(p),f=e2(p),g="[object Object]"===m||"[object Array]"===m,v=d?d+l+i(o):i(o);if(null==(c=t.breakOn)?void 0:c.call(t,{key:o,value:p,path:v})){a[v]=r(p,v);return}if(!h&&!f&&g&&Object.keys(p).length&&(!t.maxDepth||u<n))return s(p,v,u+1);a[v]=r(p,v)})}return s(e),a}function e8(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l={},n=t.transformValue||e4;for(let t of Object.keys(e))eQ()(l,t,n(e[t],t));return l}let e6=e=>{let t=e.split(".").pop()||"";return t.startsWith("$")||(t=""),{operator:t}},e3=e=>["$dateOn","$dateNotOn","$dateBefore","$dateAfter","$dateNotBefore","$dateNotAfter","$dateBetween"].includes(e);function e9(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function e7(e){return(null==e?void 0:e.type)==="dateOnly"||(null==e?void 0:e.type)==="datetimeNoTz"||(null==e?void 0:e.constructor.name)==="DateOnlyField"||(null==e?void 0:e.constructor.name)==="DatetimeNoTzField"}let te=(e,t)=>e?(e.type&&(e=L({...e,timezone:t})),Array.isArray(e))?(2===e.length?e.push("[]",t):3===e.length&&e.push(t),e):"string"==typeof e?!t||/(\+|-)\d\d:\d\d$/.test(e)?e:e+t:e9(e)?e.toISOString():void 0:null,tt=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=new Set,n=t.vars||{},o=t.timezone,i=t.now,r=t.getField,a=e5(e,{breakOn(e){let{key:t}=e;return t.startsWith("$")&&"$and"!==t&&"$or"!==t},transformValue(e){if("string"!=typeof e)return e;let t=e1.exec(e);if(t){let e=t[1].trim();e.startsWith("$user")&&l.add(e.substring(6))}return e}});if(l.size>0){let e=await n.$user({fields:[...l.values()]});Object.assign(n,{$user:e})}return e8(a,{transformValue(e,t){let{operator:l}=e6(t);if("string"==typeof e){let a=e1.exec(e);if(a){let s=eC(n,a[1].trim(),null),d=null==r?void 0:r(t);e="function"==typeof s?null==s?void 0:s({field:d,operator:l,timezone:o,now:i}):s}}if(e3(l)){let l=null==r?void 0:r(t);return e7(l)?e.type?L({...e,timezone:(null==l?void 0:l.timezone)||o}):e:te(e,(null==l?void 0:l.timezone)||o)}return e}})};function tl(e){let{now:t,timezone:l="+00:00",offset:n}=e,o=tn(t).utcOffset(ex(l));return n>0?[(o=o.add(1,"day").startOf("day")).format("YYYY-MM-DD"),o.clone().add(n,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]:[o.clone().subtract(-1*n-1,"day").startOf("day").format("YYYY-MM-DD"),o.clone().add(1,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]}function tn(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?r().isDayjs(e)?e:t?e0()(e):r()(e):t?e0()():r()()}function to(e){var t;let{now:l,unit:n,timezone:o="+00:00",offset:i}=e,r=tn(l,"isoWeek"===n);r=(r=r.utcOffset(ex(o))).startOf(n),i>0?r=r.add(i,n):i<0&&(r=r.subtract(-1*i,n));let a={year:()=>r.format("YYYY"),quarter:()=>r.format("YYYY[Q]Q"),month:()=>r.format("YYYY-MM"),week:()=>r.format("gggg[w]ww"),isoWeek:()=>r.format("GGGG[W]WW"),day:()=>r.format("YYYY-MM-DD")},s=null==(t=a[n])?void 0:t.call(a);return o?s+o:s}let ti=(e,t)=>l=>{let{now:n,timezone:o,field:i}=l;return(null==i?void 0:i.timezone)&&(o=null==i?void 0:i.timezone),to({now:n,timezone:o,unit:e,offset:t})},tr=e=>t=>{let{now:l,timezone:n,field:o}=t;return(null==o?void 0:o.timezone)&&(n=null==o?void 0:o.timezone),tl({now:l,timezone:n,offset:e})};function ta(){return{now:new Date().toISOString(),today:ti("day"),yesterday:ti("day",-1),tomorrow:ti("day",1),thisWeek:ti("week"),lastWeek:ti("week",-1),nextWeek:ti("week",1),thisIsoWeek:ti("isoWeek"),lastIsoWeek:ti("isoWeek",-1),nextIsoWeek:ti("isoWeek",1),thisMonth:ti("month"),lastMonth:ti("month",-1),nextMonth:ti("month",1),thisQuarter:ti("quarter"),lastQuarter:ti("quarter",-1),nextQuarter:ti("quarter",1),thisYear:ti("year"),lastYear:ti("year",-1),nextYear:ti("year",1),last7Days:tr(-7),next7Days:tr(7),last30Days:tr(-30),next30Days:tr(30),last90Days:tr(-90),next90Days:tr(90)}}function ts(e){let t=e.split(".");return[t.shift(),t.join(".")]}var td=l(50467);class tu{register(e,t){if(!this.options.override&&this.map.has(e))throw Error(`this registry does not allow to override existing keys: "${e}"`);this.map.set(e,t)}get(e){return this.map.get(e)}getKeys(){return this.map.keys()}getValues(){return this.map.values()}getEntities(){return this.map.entries()}constructor(e={override:!1}){(0,td._)(this,"map",new Map),(0,td._)(this,"options",void 0),this.options=e}}l(67980);let tc=Symbol.for("nocobase.utils.sesLockdown"),tp=Symbol.for("nocobase.utils.bufferOverrides"),th=["globalThis","global","self","Function","AsyncFunction","GeneratorFunction","eval","Compartment","lockdown","harden","assert"];function tm(e){return!!e&&"object"==typeof e&&(e.message||"").includes("(SES_ALREADY_LOCKED_DOWN)")}function tf(){let e=globalThis;if(e[tp])return;let t=e.Buffer;if(!t||!t.prototype)return;let l=t.prototype;for(let e of Reflect.ownKeys(l)){let t=Object.getOwnPropertyDescriptor(l,e);if(!t||"function"!=typeof t.value||!t.configurable)continue;let n=t.value,o=function(){return n},i=function(t){if(this===l)throw TypeError(`Cannot assign to read only property '${String(e)}' of object 'Buffer.prototype'`);Object.defineProperty(this,e,{configurable:!0,enumerable:!0,writable:!0,value:t})};Object.defineProperty(o,"originalValue",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(l,e,{configurable:t.configurable,enumerable:t.enumerable,get:o,set:i})}e[tp]=!0}function tg(e){tf();let t=globalThis;if(!t[tc]){if("function"!=typeof lockdown)throw Error("SES lockdown is unavailable in the current runtime environment.");try{lockdown(e)}catch(e){if(!tm(e))throw e}t[tc]=!0}}function tv(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}var ty=l(65606);let tb=e=>{for(;e;){var t;if("root"===e.id||(null==(t=e.classList)?void 0:t.contains("nb-action")))return!1;e=e.parentNode}return!ty.env.__TEST__};function tx(e,t){return e.replace(/\{\{(\w+)\}\}/g,function(e,l){return void 0!==t[l]?t[l]:e})}let tw=36,tS="";for(;tw--;)tS+=tw.toString(36);function tM(e){let t="",l=e||11;for(;l--;)t+=tS[36*Math.random()|0];return t}function tF(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}var tA=l(27153),tk=JSON.parse('{"rE":"2.1.0-alpha.36"}');let tC=(e,t)=>{if(!e)return e;if("Grid"!==e["x-component"])return Object.keys(e.properties||{}).forEach(l=>{e.properties[l]=tC(e.properties[l],t)}),e;let l=e.parent;e=e.toJSON?e.toJSON():o().cloneDeep(e);let n={},{properties:i={}}=e,r=0;if(Object.keys(i).forEach((e,l)=>{let a=i[e];if("Grid.Row"!==a["x-component"]){a["x-index"]=++r,n[e]=a;return}if(a.properties){if(1===Object.keys(a.properties).length){a["x-index"]=++r,n[e]=a;return}Object.keys(a.properties).forEach((l,i)=>{let s=a.properties[l];if(o().set(s,"x-component-props.width",100),0===i){a["x-index"]=++r,n[e]=a;return}null!=t&&t(s)||(delete a.properties[l],n[`${tM()}_${l}`]=tP(s,l,++r))})}}),e.properties=n,l){let t=new tA.S(e,l);return l.properties&&Object.keys(l.properties).forEach(n=>{n===e.name&&(l.properties[n]=t)}),t}return e};function tP(e,t,l){return{type:"void",version:"2.0","x-component":"Grid.Row","x-app-version":tk.rE,"x-uid":tM(),"x-async":!1,"x-index":l,_isJSONSchemaObject:!0,properties:{[t]:e}}}function tj(e){let t=new Set,l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,o=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g;for(;null!==(e=i.exec(o));)t.add(e[1]);let r=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]/g;for(;null!==(n=r.exec(o));)t.add(n[2])}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}function tI(e){let t={},l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,o=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)([^\s)]*)/g;for(;null!==(e=i.exec(o));){let l=e[1],n=e[2]||"";if(t[l]=t[l]||[],n.startsWith("."))t[l].push(n.slice(1));else if(n.startsWith("[")){let e=n.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(e){let n=e[2],o=e[3]||"";t[l].push(`${n}${o}`)}else{let e=n.match(/^\[(\d+)\](.*)$/);if(e){let n=e[1],o=e[2]||"";t[l].push(`[${n}]${o}`)}}}else n.startsWith("(")&&!t[l].length&&t[l].push("")}let r=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]([^\s)]*)/g;for(;null!==(n=r.exec(o));){let e=n[2],l=n[3]||"";if(t[e]=t[e]||[],l.startsWith("."))t[e].push(l.slice(1));else if(l.startsWith("[")){let n=l.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(n){let l=n[2],o=n[3]||"";t[e].push(`${l}${o}`)}else{let n=l.match(/^\[(\d+)\](.*)$/);if(n){let l=n[1],o=n[2]||"";t[e].push(`[${l}]${o}`)}}}else l.startsWith("(")&&!t[e].length&&t[e].push("")}}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}let tE=new(l(23155)).HX;function tR(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};for(let l of e){let e=l.replace(/^ctx\./,"").split("."),n=t;for(let t=0;t<e.length;t++){let o=e[t];t===e.length-1?n[o]=`{{${l}}}`:(n[o]=n[o]||{},n=n[o])}}return t}async function t_(e){return tR(await tE.fullVariables(e))}async function tT(e,t){return await tE.parseAndRender(e,{ctx:t})}function tD(e){let t=1,l={};return{sql:e.replace(/{{\s*([^}]+)\s*}}/g,(e,n)=>{let o=`__var${t}`;return l[o]=`{{${n.trim()}}}`,t++,`$${o}`}),bind:l}}async function tN(e){let{sql:t,bind:l}=tD(e),n=await t_(t);return{sql:t,bind:l,liquidContext:n}}},59598(){},23005(){},14892(){},2813(){},9845(){}};import{__webpack_require__}from"./runtime-d7215ccc.js";var __webpack_exec__=function(e){return __webpack_require__(__webpack_require__.s=e)};import*as __rspack_chunk_1 from"./vendor-antd-ecosystem-de737eca.js";__webpack_require__.C(__rspack_chunk_1);import*as __rspack_chunk_2 from"./vendor-moment-84b317dc.js";__webpack_require__.C(__rspack_chunk_2);import*as __rspack_chunk_3 from"./vendor-lodash-905dd3b8.js";__webpack_require__.C(__rspack_chunk_3);import*as __rspack_chunk_4 from"./vendor-ses-b7bccbcd.js";__webpack_require__.C(__rspack_chunk_4);import*as __rspack_chunk_5 from"./vendor-antd-icons-794fdbb6.js";__webpack_require__.C(__rspack_chunk_5);import*as __rspack_chunk_6 from"./vendor-antd-f8c3ace1.js";__webpack_require__.C(__rspack_chunk_6);import*as __rspack_chunk_7 from"./5823-aa1ccac3.js";__webpack_require__.C(__rspack_chunk_7);import*as __rspack_chunk_8 from"./index-1f8b465f.js";__webpack_require__.C(__rspack_chunk_8),__webpack_exec__(56777);
1404
+ ${p}`}async function eX(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l="string"==typeof e?e:String(e??""),n=!!t.preprocessTemplates,o=n?ek.withTemplates:ek.withoutTemplates,i=eC(o,l);if(i)return await i;let r=(async()=>{if(!n)return eH(await (0,eg.W)(l));let e=eJ(l,{processStringLiterals:!1});return eH(eJ(await (0,eg.W)(e),{processBarePlaceholders:!1}))})();eP(o,l,r,eA);try{return await r}catch(e){throw o.delete(l),e}}var eQ=l(62572);function eZ(e){if(Array.isArray(e)){let t=e.map(e=>eZ(e)).filter(e=>void 0!==e);return t.length?t:void 0}if(e&&"object"==typeof e){let t={};return Object.keys(e).forEach(l=>{let n=eZ(e[l]);void 0!==n&&(t[l]=n)}),Object.keys(t).length?t:void 0}return null==e||"string"==typeof e&&""===e?void 0:e}let e0=e=>"string"==typeof e.on?"beforeRender"===e.on:"object"==typeof e.on?"beforeRender"===e.on.eventName:!e.on&&!0!==e.manual;var e1=l(47684)},49773(e,t,l){l.d(t,{W:()=>n});async function n(e){if(!/<[A-Za-z]|<\//.test(e))return e;try{var t;let n=await l.e("7761").then(l.bind(l,1608)),o=(null==n?void 0:n.transform)||(null==n||null==(t=n.default)?void 0:t.transform);if("function"!=typeof o)return e;let i=o(e,{transforms:["jsx"],jsxPragma:"ctx.React.createElement",jsxFragmentPragma:"ctx.React.Fragment",disableESTransforms:!0,production:!0});return(i&&(i.code||(null==i?void 0:i.output)))??e}catch(t){return e}}},81982(e,t,l){l.d(t,{M:()=>h,gG:()=>r,mv:()=>a,o4:()=>p});var n=l(40542),o=l(2543),i=l.n(o);async function r(e,t){if(!e)return{};if("function"==typeof e)try{return await e(t)||{}}catch(e){return console.error("Error resolving defaultParams function:",e),{}}return e}async function a(e,t,l){if(!e)return{};if("function"==typeof e)try{return await e(t,l)||{}}catch(e){return console.error("Error resolving createModelOptions function:",e),{}}return e}let s={queue:[],timer:null,inflightByRun:new Map},d=10;function u(e){if(Array.isArray(e))return e.map(u);if(i().isPlainObject(e)){let t=Object.entries(e).map(e=>{let[t,l]=e;return[t,u(l)]});return Object.fromEntries(i().sortBy(t,e=>{let[t]=e;return t}))}return e}function c(e){try{return JSON.stringify(u(e))}catch{try{return JSON.stringify(e)}catch{return String(e)}}}function p(e,t){let l,n,o=s,i=e.runId||"GLOBAL",r=c(t),a=o.inflightByRun.get(i);a||(a=new Map,o.inflightByRun.set(i,a));let u=a.get(r);if(u)return u;let p=new Promise((e,t)=>{l=e,n=t});a.set(r,p);let h={id:`${Date.now()}-${Math.random().toString(36).slice(2)}`,ctx:e,payload:t,resolve:l,reject:n,runId:i,dedupKey:r};o.queue.push(h);let m=async()=>{var t,l,n,i,r,a;let s=o.queue.splice(0,o.queue.length);if(o.timer=null,!s.length)return;let d=null==(t=s[0].ctx)?void 0:t.api;if(!d){for(let e of s)try{e.resolve(e.payload.template)}catch(t){e.reject(t)}finally{null==(l=o.inflightByRun.get(e.runId))||l.delete(e.dedupKey)}return}try{let e=s.map(e=>({id:e.id,template:e.payload.template,contextParams:e.payload.contextParams||{}})),t=await d.request({method:"POST",url:"variables:resolve",data:{values:{batch:e}}}),l=t.data??t,i=l.data??l,r=null==i?void 0:i.results,a=Array.isArray(r)?r:Array.isArray(i)?i:[],u=new Map;for(let e of a){let t=(null==e?void 0:e.id)!=null?String(e.id):"";t&&u.set(t,null==e?void 0:e.data)}for(let e of s)try{let t=String(e.id),l=u.has(t)?u.get(t):e.payload.template;e.resolve(l)}catch(t){e.reject(t)}finally{null==(n=o.inflightByRun.get(e.runId))||n.delete(e.dedupKey)}}catch(t){for(let l of s)try{null==e||null==(r=e.logger)||null==(i=r.warn)||i.call(r,{err:t},"variables:resolve(batch) failed, fallback"),l.resolve(l.payload.template)}catch(e){l.reject(e)}finally{null==(a=o.inflightByRun.get(l.runId))||a.delete(l.dedupKey)}}};return o.timer||(o.timer=setTimeout(m,d)),p}async function h(e,t){let l=async e=>{if("string"==typeof e&&/\{\{.*?\}\}/.test(e))return await g(e,t);if(Array.isArray(e))return Promise.all(e.map(l));if(e&&"object"==typeof e){let t={};for(let[n,o]of Object.entries(e))t[n]=await l(o);return t}return e};return l(e)}async function m(e,t){let l=await f(e.trim(),t),n=await t.runjs(`return ${l}`,{t:t.t});return(null==n?void 0:n.success)?n.value:void 0}async function f(e,t){let l,n=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*(?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g,o=[],i=new Set;for(;null!==(l=n.exec(e));){let e=l[0],t=l[1],n=t.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)/);if(n){let l=n[1],r=t.substring(l.length);o.push({fullPath:e,firstKey:l,restPath:r}),i.add(l)}}if(0===o.length)return e;let r=new Map;for(let e of i)try{let l=await t[e],n=l&&!0===l.__isRecordProxy__;r.set(e,n)}catch(t){r.set(e,!1)}o.sort((e,t)=>t.fullPath.length-e.fullPath.length);let a=e;for(let{fullPath:e,firstKey:t,restPath:l}of o){let n,o=r.get(t)||!1;n=""===l?`await ctx.${t}`:o?`await (await ctx.${t})${l}`:`(await ctx.${t})${l}`;let i=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=RegExp(`\\b${i}\\b`,"g");a=a.replace(s,n)}return a}async function g(e,t){let l=e=>{let t=e.trim().match(/^ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*))?$/);return t?t[2]?`${t[1]}.${t[2]}`:t[1]:null},o=async e=>{let l=e.split("."),o=l.shift();if(!o)return;let i=await t[o];return 0===l.length?i:(0,n.D)(i,l.join("."))},i=async e=>{let n=l(e);if(n){let l=await o(n);return void 0===l&&n.includes("-")?await m(e,t):l}return await m(e,t)},r=e.match(/^\s*\{\{\s*([^{}]+?)\s*\}\}\s*$/);if(r){let e=r[1];return await i(e)}let a=[...e.matchAll(/\{\{\s*(.+?)\s*\}\}/g)],s=e;for(let[e,t]of a){let l=await i(t);if(void 0!==l){let t="object"==typeof l&&null!==l?JSON.stringify(l):String(l);s=s.replace(e,t)}}return s}},47684(e,t,l){function n(e,t){if(!e||"string"!=typeof e)throw Error("invalid url");let l=e.trim();if(l.startsWith("http://")||l.startsWith("https://"))return l;let n=window.__esm_cdn_base_url__||"https://esm.sh",o=(null==t?void 0:t.addSuffix)&&window.__esm_cdn_suffix__||"",i=n.replace(/\/$/,""),r=l.replace(/^\//,"");if(null==t?void 0:t.raw){let e=r.includes("?")?"&":"?";return`${i}/${r}${e}raw`}return`${i}/${r}${o}`}function o(e){return!!e&&"string"==typeof e&&e.split("?")[0].split("#")[0].endsWith(".css")}l.d(t,{i:()=>n,y:()=>o})},51143(e,t,l){function n(){var e,t;let l=globalThis;if((null==(e=l.__nocobaseRunJSSafeGlobalsRegistry)?void 0:e.windowAllow)&&(null==(t=l.__nocobaseRunJSSafeGlobalsRegistry)?void 0:t.documentAllow))return l.__nocobaseRunJSSafeGlobalsRegistry;let n={windowAllow:new Set,documentAllow:new Set};return l.__nocobaseRunJSSafeGlobalsRegistry=n,n}function o(e){if(!e)return;let t=n();for(let l of e){if("string"!=typeof l)continue;let e=l.trim();e&&t.windowAllow.add(e)}}function i(e){if(!e)return;let t=n();for(let l of e){if("string"!=typeof l)continue;let e=l.trim();e&&t.documentAllow.add(e)}}function r(e){return n().windowAllow.has(e)}function a(e){return n().documentAllow.has(e)}function s(e){let t=()=>`${window.location.origin}${window.location.pathname}`,l=(e,l,n)=>{if(!(e=>{try{let l=new URL(e,t()),n=l.protocol.toLowerCase();if("about:"===n)return"about:blank"===l.href;return"http:"===n||"https:"===n}catch{return!1}})(e))throw Error("Unsafe URL: window.open only allows http/https/about:blank.");let o="_blank",i=(e=>{let t=new Set;return e&&e.split(",").map(e=>e.trim()).filter(Boolean).forEach(e=>{let l=e.split("=")[0].trim().toLowerCase();"noopener"!==l&&"noreferrer"!==l&&t.add(e)}),t.add("noopener"),t.add("noreferrer"),Array.from(t).join(",")})(n),r=window.open.call(window,e,o,i);if(r&&"opener"in r)try{r.opener=null}catch{}return r},n=(e,n)=>{let o=new URL(e,t()),i=o.protocol.toLowerCase(),r="about:"===i&&"about:blank"===o.href;if("http:"!==i&&"https:"!==i&&!r)throw Error("Unsafe URL: only http/https/about:blank are allowed.");if(r)return(null==n?void 0:n.replace)?window.location.replace("about:blank"):window.location.assign("about:blank");if(o.protocol===window.location.protocol&&o.hostname===window.location.hostname&&o.port===window.location.port)return(null==n?void 0:n.replace)?window.location.replace(o.href):window.location.assign(o.href);if(!l(o.href))throw Error("Popup blocked: cross-origin navigation is opened in a new tab.")},o=new Proxy({},{get(e,t){switch(t){case"origin":return window.location.origin;case"protocol":return window.location.protocol;case"host":return window.location.host;case"hostname":return window.location.hostname;case"port":return window.location.port;case"pathname":return window.location.pathname;case"assign":return e=>n(e,{replace:!1});case"replace":return e=>n(e,{replace:!0});case"reload":return window.location.reload.bind(window.location);case"href":throw Error("Reading location.href is not allowed.");default:throw Error(`Access to location property "${t}" is not allowed.`)}},set(e,t,l){if("href"===t)return n(String(l),{replace:!1}),!0;throw Error("Mutation on location is not allowed.")}}),i={setTimeout:window.setTimeout.bind(window),clearTimeout:window.clearTimeout.bind(window),setInterval:window.setInterval.bind(window),clearInterval:window.clearInterval.bind(window),console,Math,Date,FormData,..."u">typeof Blob?{Blob}:{},..."u">typeof URL?{URL}:{},addEventListener:addEventListener.bind(window),open:l,location:o,...e||{}};return new Proxy(Object.create(null),{get(e,t){if("string"!=typeof t)return Reflect.get(e,t);if(t in i)return i[t];if(Object.prototype.hasOwnProperty.call(e,t))return e[t];if(r(t)){let e=window[t];return"function"==typeof e?e.bind(window):e}throw Error(`Access to global property "${t}" is not allowed.`)},set(e,t,l){if("string"!=typeof t)return Reflect.set(e,t,l),!0;if(t in i)throw Error(`Mutation of global property "${t}" is not allowed.`);return e[t]=l,!0},has:(e,t)=>"string"!=typeof t?Reflect.has(e,t):!!(t in i||Object.prototype.hasOwnProperty.call(e,t)||r(t))})}function d(e){let t={createElement:document.createElement.bind(document),querySelector:document.querySelector.bind(document),querySelectorAll:document.querySelectorAll.bind(document),...e||{}};return new Proxy(Object.create(null),{get(e,l){if("string"!=typeof l)return Reflect.get(e,l);if(l in t)return t[l];if(Object.prototype.hasOwnProperty.call(e,l))return e[l];if(a(l)){let e=document[l];return"function"==typeof e?e.bind(document):e}throw Error(`Access to document property "${l}" is not allowed.`)},set(e,l,n){if("string"!=typeof l)return Reflect.set(e,l,n),!0;if(l in t)throw Error(`Mutation of document property "${l}" is not allowed.`);return e[l]=n,!0},has:(e,l)=>"string"!=typeof l?Reflect.has(e,l):!!(l in t||Object.prototype.hasOwnProperty.call(e,l)||a(l))})}function u(e){var t;let l="u">typeof window&&window.navigator||void 0,n={},o=null==l||null==(t=l.clipboard)?void 0:t.writeText;"function"==typeof o&&(n.writeText=o.bind(l.clipboard));let i={clipboard:n};return Object.defineProperty(i,"onLine",{get:()=>!!(null==l?void 0:l.onLine),enumerable:!0,configurable:!1}),Object.defineProperty(i,"language",{get:()=>null==l?void 0:l.language,enumerable:!0,configurable:!1}),Object.defineProperty(i,"languages",{get:()=>(null==l?void 0:l.languages)?[...l.languages]:void 0,enumerable:!0,configurable:!1}),Object.assign(i,e||{}),new Proxy({},{get(e,t){if(t in i)return i[t];throw Error(`Access to navigator property "${String(t)}" is not allowed.`)}})}function c(e){let t={};try{let e=u();t.navigator=e;try{t.window=s({navigator:e})}catch{}}catch{}try{t.document=d()}catch{}return e?{...t,...e}:t}async function p(e,t,l,n){if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.runjs)return e.runjs(t,c(n),l)}l.d(t,{D1:()=>u,I2:()=>c,Vm:()=>o,Xh:()=>d,_:()=>p,ey:()=>s,yz:()=>i})},22928(e,t,l){function n(e){let t={};return Object.entries(e||{}).forEach(e=>{let[l,n]=e;null!=n&&(t[l]=n)}),t}function o(e,t,l){try{var n,o,i,r,a;let s=null==(o=e.dataSourceManager)||null==(n=o.getDataSource)?void 0:n.call(o,t||"main"),d=null==s||null==(r=s.collectionManager)||null==(i=r.getCollection)?void 0:i.call(r,l);return(null==d||null==(a=d.getPrimaryKey)?void 0:a.call(d))||"id"}catch(e){return"id"}}function i(e,t){var l,i;if(!t)return;let r=t.dataSourceKey||"main",a=t.collection||(null==(l=t.record)?void 0:l.__collectionName);if(!a)return;let s=o(e,r,a)||"id",d=void 0!==t.filterByTk?t.filterByTk:void 0!==t.id?t.id:null==(i=t.record)?void 0:i[s];if(void 0!==d)return n({collection:a,filterByTk:d,dataSourceKey:r,associationName:t.associationName,sourceId:t.sourceId,fields:t.fields,appends:t.appends})}function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=e=>!!e&&"object"==typeof e&&"string"==typeof e.collection&&(void 0!==e.filterByTk||void 0!==e.id||e.record),n={},o=(t,r)=>{if(l(t)){let l=i(e,t);l&&(n[r.join(".")]=l);return}if(Array.isArray(t)){for(let e=0;e<t.length;e++)o(t[e],[...r,String(e)]);return}if(t&&"object"==typeof t){for(let[e,l]of Object.entries(t))o(l,[...r,e]);return}};return o(t,[]),Object.keys(n).length?n:void 0}l.d(t,{d:()=>r})},88439(e,t,l){l.d(t,{w:()=>n});function n(e,t,l,n){let o={},i={};for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let s=t[a],d={};if(s.uiSchema&&"object"==typeof s.uiSchema){for(let[e,t]of Object.entries(s.uiSchema))if(t&&"object"==typeof t){var r;let l=t;d[e]={type:l.type||"any",title:l.title||(null==(r=l["x-decorator-props"])?void 0:r.label)||e,interface:l["x-component"],uiSchema:l}}}let u=Object.keys(d).length>0;i[a]={type:"object",title:e.t(s.title)||a,display:u?"default":"none",properties:u?{params:{type:"object",title:"Parameters",display:"flatten",properties:d}}:void 0},o[a]={get params(){return l.getStepParams(n,a)||{}},get uiSchema(){return s.uiSchema},result:void 0}}e.defineProperty("steps",{get:()=>o})}},73398(e,t,l){function n(e){let t=new Set,l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,o=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g;for(;null!==(e=i.exec(o));)t.add(e[1]);let r=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]/g;for(;null!==(n=r.exec(o));)t.add(n[2])}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}function o(e){let t={},l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,o=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)([^\s)]*)/g;for(;null!==(e=i.exec(o));){let l=e[1],n=e[2]||"";if(t[l]=t[l]||[],n.startsWith("."))t[l].push(n.slice(1));else if(n.startsWith("[")){let e=n.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(e){let n=e[2],o=e[3]||"";t[l].push(`${n}${o}`)}else{let e=n.match(/^\[(\d+)\](.*)$/);if(e){let n=e[1],o=e[2]||"";t[l].push(`[${n}]${o}`)}}}else n.startsWith("(")&&!t[l].length&&t[l].push("")}let r=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]([^\s)]*)/g;for(;null!==(n=r.exec(o));){let e=n[2],l=n[3]||"";if(t[e]=t[e]||[],l.startsWith("."))t[e].push(l.slice(1));else if(l.startsWith("[")){let n=l.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(n){let l=n[2],o=n[3]||"";t[e].push(`${l}${o}`)}else{let n=l.match(/^\[(\d+)\](.*)$/);if(n){let l=n[1],o=n[2]||"";t[e].push(`[${l}]${o}`)}}}else l.startsWith("(")&&!t[e].length&&t[e].push("")}}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}l.d(t,{xI:()=>m,vP:()=>y,$S:()=>f,pc:()=>g,Cg:()=>c,nN:()=>b,ju:()=>x,Xx:()=>h,vE:()=>p,XU:()=>u,UX:()=>v});var i=l(22928),r=l(35846),a=l(44476),s=l(2543),d=l.n(s);function u(e){var t,l,n,o;let i=e.resource,r=e.collection,a=e.record,s=(null==r?void 0:r.name)||(null==i||null==(t=i.getResourceName)?void 0:t.call(i)),d=(null==r?void 0:r.dataSourceKey)||(null==i||null==(l=i.getDataSourceKey)?void 0:l.call(i)),u=(null==i||null==(n=i.getFilterByTk)?void 0:n.call(i))??(null==r||null==(o=r.getFilterByTK)?void 0:o.call(r,a));if(!s||null==u)return;let c=String(s).split(".");return{collection:c[c.length-1],dataSourceKey:d,filterByTk:u}}function c(e){var t,l,n;let o=e.view;if(!o)return;let i=(null==o?void 0:o.inputArgs)||{},r=(null==i?void 0:i.collectionName)||(null==o||null==(t=o.record)?void 0:t.collection),a=(null==i?void 0:i.dataSourceKey)||(null==o||null==(l=o.record)?void 0:l.dataSourceKey)||"main",s=(null==i?void 0:i.filterByTk)||(null==o||null==(n=o.record)?void 0:n.filterByTk),d=null==i?void 0:i.associationName,u=null==i?void 0:i.sourceId;if(r&&null!=s)return{collection:r,dataSourceKey:a,filterByTk:s,sourceId:u,associationName:d}}function p(e,t){var l,n,o;let i=null==(l=e.inputArgs)?void 0:l.record,r=null==(n=e.collection)?void 0:n.filterTargetKey;if(!i||!r)return;let a=t.view,s=null==a||null==(o=a.inputArgs)?void 0:o.filterByTk,u=i[r];if(null!=s&&null!=u&&s===u)return d().cloneDeep(i)}function h(e,t){return l=>{var n,o,i,r;if(!("record"===l||l.startsWith("record.")))return!1;let s=t();if(!s)return!0;if("record"===l)return!1;let d=c(e),u=null==d?void 0:d.collection,p=(null==d?void 0:d.dataSourceKey)||"main";if(!u)return!0;let h=null==(o=e.dataSourceManager)||null==(n=o.getDataSource)?void 0:n.call(o,p),m=null==h||null==(r=h.collectionManager)||null==(i=r.getCollection)?void 0:i.call(r,u);if(!m)return!0;let f=(0,a.H)(()=>m,()=>s),g=l.startsWith("record.")?l.slice(7):"";return!!g&&f(g)}}function m(e,t){let l=(0,a.H)(e,()=>t());return n=>{let o=t();if(!o)return!0;if(!n)return!1;let i=e();if(!n.includes(".")){var r;let e,t=n;return i&&("function"==typeof i.getField&&(e=i.getField(t)),e||"function"!=typeof i.getFields||(e=(i.getFields()||[]).find(e=>(null==e?void 0:e.name)===t))),!!(null==e||null==(r=e.isAssociationField)?void 0:r.call(e))&&null==(null==o?void 0:o[t])}return l(n)}}async function f(e,t,l){let n=await (0,r.H)(e,t,!0)();return n?{...n,buildVariablesParams:e=>l?l(e):u(e)}:null}function g(e,t,l){let n=async()=>f(e,t,l);return n.title=t,n}function v(e,t,l){var n,o;return g(t,(null==l?void 0:l.title)?(null==(n=e.t)?void 0:n.call(e,l.title))||l.title:(null==(o=e.t)?void 0:o.call(e,"Current record"))||"Current record",e=>u(e))}let y=n,b=o;async function x(e,t){let l=Object.keys(o(t)||{});if(!l.length)return;let n={};for(let t of l){var r;let l,o=null==(r=e.getPropertyOptions)?void 0:r.call(e,t),i=null==o?void 0:o.meta;if(i){try{let t="function"==typeof i?await i():i,n=null==t?void 0:t.buildVariablesParams;"function"==typeof n&&(l=await n(e))}catch(e){continue}l&&(n[t]=l)}}return(0,i.d)(e,n)}},52249(e,t,l){l.d(t,{sp:()=>w,bt:()=>A,U:()=>H,N5:()=>O,xB:()=>R,mW:()=>E,fP:()=>q});var n=l(74848),o=l(96540),i=l(99418),r=l(11869),a=l(29007),s=l(52568),d=l(73398);function u(e,t){let l=t=>e.t(t),n=e=>{var t,l;if(!e)return!1;let n=Array.isArray(null==(t=e.navigation)?void 0:t.viewStack)?e.navigation.viewStack:[],o=null==e||null==(l=e.inputArgs)?void 0:l.openerUids,i=Array.isArray(o)&&o.length>0;return n.length>=2||i},o=()=>n(t??e.view),i=async e=>{let l=t??e.view;if(!l||!n(l))return;let o=await c(e,l),i=null==o?void 0:o.resource;return(null==i?void 0:i.collectionName)&&null!=i.filterByTk?{collection:i.collectionName,dataSourceKey:i.dataSourceKey||"main",filterByTk:i.filterByTk,associationName:i.associationName,sourceId:i.sourceId}:(0,d.Cg)(e)},r=async()=>{var t,l,n,o;let r=await i(e);if(!(null==r?void 0:r.collection))return null;let a=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,r.dataSourceKey||"main");return(null==a||null==(o=a.collectionManager)||null==(n=o.getCollection)?void 0:n.call(o,r.collection))||null},a=async(t,l)=>{var n,o,i,r,a,s,d;try{let s=l||e,d=null==(n=s.view)?void 0:n.navigation,u=Array.isArray(null==d?void 0:d.viewStack)?d.viewStack:[];if(u.length<2||t<1)return;let c=u.length-1-t;if(c<0)return;let p=u[c];if(!(null==p?void 0:p.viewUid))return;let h=null==(o=s.engine)?void 0:o.getModel(p.viewUid,!0);if(!h)try{h=await s.engine.loadModel({uid:p.viewUid})}catch(t){null==(a=s.logger||e.logger)||null==(r=a.warn)||r.call(a,{err:t},"[FlowEngine] popup.getParentRecordRef loadModel failed")}let m=(null==h||null==(i=h.getStepParams)?void 0:i.call(h,"popupSettings","openView"))||{},f=null==m?void 0:m.collectionName,g=(null==m?void 0:m.dataSourceKey)||"main",v=(null==p?void 0:p.filterByTk)??(null==p?void 0:p.sourceId);if(!f||null==v)return;return{collection:f,dataSourceKey:g,filterByTk:v,sourceId:null==p?void 0:p.sourceId,associationName:null==m?void 0:m.associationName}}catch(t){null==(d=(null==l?void 0:l.logger)||e.logger)||null==(s=d.warn)||s.call(d,{err:t},"[FlowEngine] popup.getParentRecordRef failed");return}},s=l=>{try{var n;let o=null==(n=t??e.view)?void 0:n.navigation;return(Array.isArray(null==o?void 0:o.viewStack)?o.viewStack:[]).length>=l+1}catch(e){return!1}},u=t=>{let n=()=>({type:"object",title:l("Parent popup"),disabled:()=>!s(t),disabledReason:()=>s(t)?void 0:l("No parent popup"),hidden:()=>!s(t),properties:async()=>{let n=await a(t),o={};if(o.uid={type:"string",title:l("Popup uid")},n){let t=(()=>{try{var t,l,o,i;let r=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,n.dataSourceKey||"main");return(null==r||null==(i=r.collectionManager)||null==(o=i.getCollection)?void 0:o.call(i,n.collection||""))||null}catch(e){return null}})();o.record=await (0,d.$S)(()=>t,l("Popup record"),()=>n)||{type:"object",title:l("Popup record")}}else o.record={type:"object",title:l("Popup record")};return o.resource={type:"object",title:l("Data source"),properties:async()=>({dataSourceKey:{type:"string",title:l("Data source key")},collectionName:{type:"string",title:l("Collection name")},associationName:{type:"string",title:l("Association name")},filterByTk:{type:"string",title:l("filterByTk")},sourceId:{type:"string",title:l("sourceId")}})},o}});return n.title=l("Parent popup"),n},p=()=>({type:"object",title:l("Current popup"),disabled:()=>!o(),hidden:()=>!o(),buildVariablesParams:async e=>{var t,l,n,r,s,d;if(!o())return;let u=await i(e),c=null==(t=e.view)?void 0:t.inputArgs,p={};if(u){let e={...u};!e.associationName&&(null==c?void 0:c.associationName)&&(e.associationName=c.associationName),void 0===e.sourceId&&void 0!==(null==c?void 0:c.sourceId)&&(e.sourceId=null==c?void 0:c.sourceId),p.record=e}try{let t=null==(l=e.view)?void 0:l.navigation;if((Array.isArray(null==t?void 0:t.viewStack)?t.viewStack:[]).length>=2){let t=p,l=1,n=await a(l,e);for(;n;)t.parent||(t.parent={}),t.parent.record=n,t=t.parent,l+=1,n=await a(l,e)}}catch(t){null==(r=e.logger)||null==(n=r.debug)||n.call(r,{err:t},"[FlowEngine] buildVariablesParams: build parent-chain failed")}try{let e=null==c?void 0:c.sourceId,t=null==c?void 0:c.associationName,l=(null==c?void 0:c.dataSourceKey)||"main";if(null!=e&&""!==e&&t&&"string"==typeof t){let n=String(t).split(".")[0];n&&(p.sourceRecord={collection:n,dataSourceKey:l,filterByTk:e})}}catch(t){null==(d=e.logger)||null==(s=d.debug)||s.call(d,{err:t},"[FlowEngine] buildVariablesParams: infer sourceRecord failed")}return p},properties:async()=>{var t,n,o,s,c,p;let h={};if(h.uid={type:"string",title:l("Popup uid")},await i(e)){let e=async()=>{let e=await r();return e?await (0,d.$S)(()=>e,l("Current popup record"),e=>i(e)):null};e.title=l("Current popup record"),e.hasChildren=!0,h.record=e}try{let i=null==(t=e.view)?void 0:t.inputArgs,r=null==i?void 0:i.sourceId,a=null==i?void 0:i.associationName,u=(null==i?void 0:i.dataSourceKey)||"main";if(!a||"string"!=typeof a||!a.includes(".")){let t=null==(n=e.view)?void 0:n.navigation,l=Array.isArray(null==t?void 0:t.viewStack)?t.viewStack:[],i=null==l?void 0:l[l.length-1];if(null==i?void 0:i.viewUid){let t=null==e||null==(o=e.engine)?void 0:o.getModel(i.viewUid,!0);t||(t=await e.engine.loadModel({uid:i.viewUid}));let l=(null==t||null==(s=t.getStepParams)?void 0:s.call(t,"popupSettings","openView"))||{};a=(null==l?void 0:l.associationName)||a,u=(null==l?void 0:l.dataSourceKey)||u}}if(null!=r&&""!==r&&a&&"string"==typeof a){let t=String(a).includes(".")?String(a).split(".")[0]:void 0;if(t){let n=()=>{try{var l,n,o,i;let r=null==(n=e.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u);return(null==r||null==(i=r.collectionManager)||null==(o=i.getCollection)?void 0:o.call(i,t))||null}catch(e){return null}},o=await (0,d.$S)(n,l("Current popup parent record"),()=>({collection:t,dataSourceKey:u,filterByTk:r}));o&&(h.sourceRecord=o)}}}catch(t){null==(p=e.logger)||null==(c=p.debug)||c.call(p,{err:t},"[FlowEngine] popup.properties: build sourceRecord failed")}return h.resource={type:"object",title:l("Data source"),properties:async()=>({dataSourceKey:{type:"string",title:l("Data source key")},collectionName:{type:"string",title:l("Collection name")},associationName:{type:"string",title:l("Association name")},filterByTk:{type:"string",title:l("filterByTk")},sourceId:{type:"string",title:l("sourceId")}})},await a(1)&&(h.parent=u(1)),h}});return p.title=l("Current popup"),p.sort=975,p}async function c(e,t){var l,n,o;let i=null==t?void 0:t.navigation,r=Array.isArray(null==i?void 0:i.viewStack)?i.viewStack:[],a=null==t||null==(l=t.inputArgs)?void 0:l.openerUids,s=Array.isArray(a)&&a.length>0;if(!(r.length>=2||s))return;if(!r.length){let e=(null==t?void 0:t.inputArgs)||{};if(!(e.collectionName||null!=e.filterByTk||null!=e.sourceId||e.associationName||e.viewUid))return;return{uid:e.viewUid,resource:{dataSourceKey:e.dataSourceKey||"main",collectionName:e.collectionName,associationName:e.associationName,filterByTk:e.filterByTk,sourceId:e.sourceId}}}let d=async t=>{var l,n,o,i,a,s;if(t<0||!(null==(l=r[t])?void 0:l.viewUid))return;let u=r[t].viewUid,c=null==(n=e.engine)?void 0:n.getModel(u,!0);c||(c=await (null==(s=e.engine)?void 0:s.loadModel({uid:u})));let p=(null==c||null==(o=c.getStepParams)?void 0:o.call(c,"popupSettings","openView"))||{},h=null==p?void 0:p.collectionName,m={uid:u,resource:{dataSourceKey:(null==p?void 0:p.dataSourceKey)||"main",collectionName:h,associationName:null==p?void 0:p.associationName,filterByTk:null==(i=r[t])?void 0:i.filterByTk,sourceId:null==(a=r[t])?void 0:a.sourceId}},f=await d(t-1);return f&&(m.parent=f),m};return await d(((null==t||null==(o=t.navigation)||null==(n=o.viewStack)?void 0:n.length)||1)-1)}function p(e,t){let l=/^(?:record|sourceRecord)(?:\.|$)|^parent(?:\.parent)*(?:\.(?:record|sourceRecord))(?:\.|$)/;e.defineProperty("popup",{get:async()=>c(e,t),meta:u(e,t),resolveOnServer:e=>{try{return!!e&&l.test(e)}catch(e){return!1}}})}var h=l(18182);let m=(0,o.forwardRef)((e,t)=>{let{afterClose:l,footer:i,header:r,hidden:a,...s}=e,[d,u]=(0,o.useState)(!0),[c,p]=(0,o.useState)(s),[m,f]=(0,o.useState)(()=>i),[g,v]=(0,o.useState)(r);(0,o.useImperativeHandle)(t,()=>({destroy:()=>{u(!1),null==l||l()},update:e=>p(t=>({...t,...e})),setFooter:e=>{f(e)},setHeader:e=>{0===Object.values(e||{}).length?v(null):v(e)}}));let y={...c,title:(null==g?void 0:g.title)||c.title,extra:null==g?void 0:g.extra,footer:void 0!==m?m:c.footer??null},b=o.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return(0,n.jsx)(h.A,{closable:!1,rootClassName:a?"nb-hidden":"",getContainer:b,...y,open:d,onCancel:c.onCancel,afterClose:()=>{null==l||l()},children:c.children})});function f(){let[e,t]=o.useState([]);return[e,o.useCallback(e=>(t(t=>[...t,e]),()=>{t(t=>t.filter(t=>t!==e))}),[])]}var g=l(16639),v=l(20616),y=l(47451);async function b(e,t){var l;return!!t.force||!1!==await (null==(l=e.beforeClose)?void 0:l.call(e,t))}let x=0;function w(){let e=o.useRef(null),t=(t,l)=>{var u,c,h;let f,w,S=null==l?void 0:l.engine;x+=1;let M=o.createRef(),F=new Promise(e=>{w=e}),A=null,k=null,C=e=>{let{children:t}=e;return o.useEffect(()=>{var e;return A=t,null==(e=M.current)||e.setFooter(t),()=>{var e;A=null,null==(e=M.current)||e.setFooter(null)}},[t]),null},P=e=>(o.useEffect(()=>{var t;return k=e,null==(t=M.current)||t.setHeader(e),()=>{var e;k=null,null==(e=M.current)||e.setHeader(null)}},[e]),null),j=new a.cB,I=(0,y._)(l.engine),E=(0,g.eX)(S,I);j.defineProperty("engine",{value:I}),j.addDelegate(I.context),!1!==t.inheritContext?j.addDelegate(l):j.addDelegate(l.engine.context);let R=!1,_={type:"dialog",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,o,i;if(R)return;R=!0,null==(l=t.onClose)||l.call(t),null==(n=M.current)||n.destroy(),null==f||f(),null==w||w(e);let r=null==E?void 0:E.emitter;(0,g.Z8)(r),null==r||null==(i=r.emit)||i.call(r,g.B9,{type:"dialog",viewUid:null==_||null==(o=_.inputArgs)?void 0:o.viewUid}),I.unlinkFromStack()},update:e=>{var t;return null==(t=M.current)?void 0:t.update(e)},close:async(e,l)=>{var n,o;return(!t.preventClose||!!l)&&!!await b(_,{result:e,force:l})&&(t.triggerByRouter&&(null==(o=t.inputArgs)||null==(n=o.navigation)?void 0:n.back)?t.inputArgs.navigation.back():_.destroy(e),!0)},Footer:C,Header:P,setFooter:e=>{var t;A=e,null==(t=M.current)||t.setFooter(e)},setHeader:e=>{var t;k=e,null==(t=M.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,j)}};j.defineProperty("view",{get:()=>_,resolveOnServer:(0,d.Xx)(j,()=>(0,d.vE)(l,j))}),I.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),_.destroy()}),p(j,_);let T=(0,r.observer)(()=>{var e,l,r,a;let s=o.useRef(!1),d="function"==typeof t.content?t.content(_,j):t.content,u="string"==typeof d?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(d)}}):d;return(o.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,_,j)},[]),(null==(l=t.inputArgs)||null==(e=l.hidden)?void 0:e.value)&&!s.current)?null:(s.current=!0,(0,n.jsx)(m,{className:"nb-dialog-overflow-hidden",ref:M,hidden:null==(a=t.inputArgs)||null==(r=a.hidden)?void 0:r.value,footer:A,header:k,...t,onCancel:()=>{_.close(t.result)},children:u}))},{displayName:"DialogWithContext"}),D=(null==t||null==(c=t.inputArgs)?void 0:c.viewUid)||`page-${x}`,N=(0,n.jsx)(v.I6,{engine:I,children:(0,n.jsx)(s.YQ,{context:j,children:(0,n.jsx)(T,{})})},D);return f=null==(h=e.current)?void 0:h.patchElement(N),Object.assign(F,_)},l=o.useMemo(()=>({open:t}),[]),u=o.memo(o.forwardRef((e,t)=>{let[l,i]=f();return o.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(u,{ref:e},"dialog-holder")]}var S=l(97134),M=l(61793);let F=o.forwardRef((e,t)=>{var l;let{children:i,footer:r,title:a,extra:s,hidden:d,isMobile:u,...c}=e,[p,h]=o.useState(!0),[m,f]=o.useState(()=>r),[g,v]=o.useState({title:a,extra:s,...c.header});o.useImperativeHandle(t,()=>({destroy:()=>{h(!1)},update:e=>{Object.assign(c,e)},setFooter:e=>{f(e)},setHeader:e=>{0===Object.values(e||{}).length?v(null):v(e)}}),[]);let y=o.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return u?(0,n.jsx)(M.D,{className:d?"nb-hidden":"",visible:p,...c,footer:m,...g,onClose:c.onClose,children:i}):(0,n.jsx)(S.A,{rootClassName:d?"nb-hidden":"",closable:!1,getContainer:y,...c,open:p,footer:m,styles:{...c.styles,footer:{display:"flex",justifyContent:"flex-end",...null==(l=c.styles)?void 0:l.footer}},...g,onClose:c.onClose,children:i})});function A(){let e=o.useRef(null),t=o.useMemo(()=>r.observable.shallow({value:[]}),[]),l=o.memo(e=>{let{index:i}=e,[a,s]=o.useState(null);return(o.useEffect(()=>{(0,r.autorun)(()=>{let e=t.value;e[i]&&a!==e[i]&&s(e[i]),e[i]||s(null)})},[a,i]),a)?(0,n.jsx)(a,{children:(0,n.jsx)(l,{index:i+1})}):null});l.displayName="RenderNestedDrawer";let u=(t,l)=>{var u,c;let h,m,f=l.engine,x=o.createRef(),w=new Promise(e=>{m=e}),S=null,M=null,A=e=>{let{children:t}=e;return o.useEffect(()=>{var e;return S=t,null==(e=x.current)||e.setFooter(t),()=>{var e;S=null,null==(e=x.current)||e.setFooter(null)}},[t]),null},k=e=>(o.useEffect(()=>{var t;return M=e,null==(t=x.current)||t.setHeader(e),()=>{var e;M=null,null==(e=x.current)||e.setHeader(null)}},[e]),null),C=new a.cB,P=(0,y._)(l.engine),j=(0,g.eX)(f,P);C.defineProperty("engine",{value:P}),C.addDelegate(P.context),!1!==t.inheritContext?C.addDelegate(l):C.addDelegate(l.engine.context);let I=!1,E={type:"drawer",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,o,i;if(I)return;I=!0,null==(l=t.onClose)||l.call(t),null==(n=x.current)||n.destroy(),null==h||h(),null==m||m(e);let r=null==j?void 0:j.emitter;(0,g.Z8)(r),null==r||null==(i=r.emit)||i.call(r,g.B9,{type:"drawer",viewUid:null==E||null==(o=E.inputArgs)?void 0:o.viewUid}),P.unlinkFromStack()},update:e=>{var t;return null==(t=x.current)?void 0:t.update(e)},close:async(e,l)=>{var n,o;return(!t.preventClose||!!l)&&!!await b(E,{result:e,force:l})&&(t.triggerByRouter&&(null==(o=t.inputArgs)||null==(n=o.navigation)?void 0:n.back)?t.inputArgs.navigation.back():E.destroy(e),!0)},Footer:A,Header:k,setFooter:e=>{var t;S=e,null==(t=x.current)||t.setFooter(e)},setHeader:e=>{var t;M=e,null==(t=x.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,C)}};C.defineProperty("view",{get:()=>E,resolveOnServer:(0,d.Xx)(C,()=>(0,d.vE)(l,C))}),P.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),E.destroy()}),p(C,E);let R=o.memo((0,r.observer)(e=>{var l,r,a,s;let d=o.useRef(!1),u="function"==typeof t.content?t.content(E,C):t.content,c="string"==typeof u?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(u)}}):u;return(o.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,E,C)},[]),(null==(r=t.inputArgs)||null==(l=r.hidden)?void 0:l.value)&&!d.current)?(0,n.jsx)(n.Fragment,{children:e.children}):(d.current=!0,(0,n.jsxs)(F,{ref:x,...t,footer:S,header:t.header||M,hidden:null==(s=t.inputArgs)||null==(a=s.hidden)?void 0:a.value,onClose:()=>{E.close(t.result)},isMobile:C.isMobileLayout,children:[c,e.children]}))}));R.displayName="DrawerWithContext";let _=o.memo(e=>{let{children:t}=e;return(0,n.jsx)(v.I6,{engine:P,children:(0,n.jsx)(s.YQ,{context:C,children:(0,n.jsx)(R,{children:t})})})});return _.displayName="RenderDrawer",h=null==(c=e.current)?void 0:c.patchElement(_),Object.assign(w,E)},c=o.useMemo(()=>({open:u}),[]),h=o.memo(o.forwardRef((e,i)=>{let[r,a]=f();return o.useImperativeHandle(i,()=>({patchElement:a}),[a]),o.useEffect(()=>{t.value=r},[r]),(0,n.jsx)(l,{index:0})}));return[c,(0,n.jsx)(h,{ref:e},"drawer-holder")]}var k=l(40961),C=l(31333),P=l(71021);let j=(0,o.forwardRef)((e,t)=>{let[l,i]=o.useState({}),{visible:r=!0,footer:a=null,header:s=null,children:d,hidden:u,title:c,styles:p={},zIndex:h=4,onClose:m}={...e,...l},f=(0,o.useRef)(!1),g=(0,v.uf)(),[y,b]=(0,o.useState)(()=>a),[x,w]=(0,o.useState)(s);(0,o.useImperativeHandle)(t,()=>({destroy:()=>{f.current||(f.current=!0)},update:e=>{i(e)},setFooter:e=>{b(e)},setHeader:e=>{0===Object.values(e||{}).length?w(null):w(e)}}));let S=(0,o.useMemo)(()=>({display:u?"none":"flex",flexDirection:"column",height:"100%",zIndex:h}),[u,h]),M=(0,o.useMemo)(()=>{if(!x&&!c)return null;let{title:e=c,extra:t}=x||{},l=g.context.themeToken;return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:`${l.paddingSM}px ${l.padding}px`,borderBottom:`1px solid ${l.colorSplit}`,backgroundColor:l.colorBgContainer,...p.header},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:l.marginXS},children:[(0,n.jsx)(P.Ay,{type:"text",size:"small",icon:(0,n.jsx)(C.A,{}),onClick:async()=>{f.current||!1!==await (null==m?void 0:m())&&(f.current=!0)},style:{color:l.colorTextTertiary}}),e&&(0,n.jsx)("div",{style:{fontSize:l.fontSizeLG,fontWeight:l.fontWeightStrong,color:l.colorText},children:e})]}),t&&(0,n.jsx)("div",{children:t})]})},[x,c,g.context.themeToken,p.header,m]),F=(0,o.useMemo)(()=>{if(!y)return null;let e=g.context.themeToken;return(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",padding:`${e.paddingXS}px ${e.padding}px`,borderTop:`1px solid ${e.colorSplit}`,backgroundColor:e.colorBgContainer,...p.footer},children:y})},[y,g.context.themeToken,p.footer]);return r?(0,n.jsxs)("div",{style:{...S,...p.content},children:[M,(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",...p.body},children:d}),F]}):null}),I=0,E="nocobase-embed-container",R="nocobaseEmbedReplacing";function _(e){return!!e&&"function"==typeof e.then}function T(e,t){e.dataset[R]="1";try{let l=t.close();if(_(l))return Promise.resolve(l).finally(()=>{delete e.dataset[R]});return delete e.dataset[R],l}catch(t){throw delete e.dataset[R],t}}function D(e,t,l){let n,o={},i=e.then(e=>{let{page:t}=e;return(n=t)&&("beforeClose"in o&&(n.beforeClose=o.beforeClose),"update"in o&&n.update(o.update),"footer"in o&&n.setFooter(o.footer),"header"in o&&n.setHeader(o.header),o.destroyed&&n.destroy(o.destroyed.result)),{page:t}});return Object.assign(i.then(e=>{let{page:t}=e;return!!t&&t}),{type:"embed",inputArgs:t,preventClose:l,Header:null,Footer:null,get beforeClose(){return(null==n?void 0:n.beforeClose)??o.beforeClose},set beforeClose(value){n?n.beforeClose=value:o.beforeClose=value},close:(e,t)=>i.then(l=>{let{page:n}=l;return!!n&&n.close(e,t)}),destroy:e=>{n?n.destroy(e):o.destroyed={result:e}},update:e=>{n?n.update(e):o.update={...o.update,...e}},setFooter:e=>{n?n.setFooter(e):o.footer=e},setHeader:e=>{n?n.setHeader(e):o.header=e}})}let N=o.memo(o.forwardRef((e,t)=>{let[l,i]=f();return o.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,n.jsx)(n.Fragment,{children:l})}));function O(){let e=o.useRef(null),t=o.useRef(null),l=o.useRef(0),i=(i,u)=>{let{target:c,content:h,preventClose:m,inheritContext:f=!0,inputArgs:x={},onOpenCancelled:w,...S}=i,M=c instanceof HTMLElement&&c.id===E,F=()=>{var l,w,F;let A,C,P,E=null==u?void 0:u.engine;I+=1;let _=o.createRef(),T=new Promise(e=>{C=e}),D=e=>{let{children:t}=e;return o.useEffect(()=>{var e;return null==(e=_.current)||e.setFooter(t),()=>{var e;null==(e=_.current)||e.setFooter(null)}},[t]),null},N=e=>(o.useEffect(()=>{var t;return null==(t=_.current)||t.setHeader(e),()=>{var e;null==(e=_.current)||e.setHeader(null)}},[e]),null),O=new a.cB,$=(0,y._)(u.engine),B=(0,g.eX)(E,$);O.defineProperty("engine",{value:$}),O.addDelegate($.context),f?O.addDelegate(u):O.addDelegate(u.engine.context);let L=!1,q={type:"embed",inputArgs:x,preventClose:!!i.preventClose,beforeClose:void 0,destroy:e=>{var l,n,o,r,a;if(!L){if(L=!0,null==(l=i.onClose)||l.call(i),null==C||C(e),null==(n=_.current)||n.destroy(),null==A||A(),M&&t.current===q&&(t.current=null),!(M&&c instanceof HTMLElement&&(null==(o=c.dataset)?void 0:o[R])==="1")){let e=null==B?void 0:B.emitter;(0,g.Z8)(e),null==e||null==(a=e.emit)||a.call(e,g.B9,{type:"embed",viewUid:null==q||null==(r=q.inputArgs)?void 0:r.viewUid})}$.unlinkFromStack()}},update:e=>{var t;return null==(t=_.current)?void 0:t.update(e)},close:(e,t)=>L?Promise.resolve(!0):P||(P=(async()=>{try{var l,n;if(m&&!t)return P=void 0,!1;let o=await b(q,{result:e,force:t});if(L)return!0;if(!o)return P=void 0,!1;if(i.triggerByRouter&&(null==(n=i.inputArgs)||null==(l=n.navigation)?void 0:l.back))return i.inputArgs.navigation.back(),!0;return q.destroy(e),!0}catch(e){throw L||(P=void 0),e}})()),Header:N,Footer:D,setFooter:e=>{var t;null==(t=_.current)||t.setFooter(e)},setHeader:e=>{var t;null==(t=_.current)||t.setHeader(e)},navigation:null==(l=i.inputArgs)?void 0:l.navigation,get record(){return(0,d.vE)(u,O)}};O.defineProperty("view",{get:()=>q,resolveOnServer:(0,d.Xx)(O,()=>(0,d.vE)(u,O))}),p(O,q);let V=(0,r.observer)(()=>{var e,t,l,r;let a=o.useRef(!1),s=o.useMemo(()=>"function"==typeof h?h(q,O):h,[]);return(O.themeToken,o.useEffect(()=>{var e;null==(e=i.onOpen)||e.call(i,q,O)},[]),(null==(t=i.inputArgs)||null==(e=t.hidden)?void 0:e.value)&&!a.current)?null:(a.current=!0,(0,n.jsx)(j,{ref:_,hidden:null==(r=i.inputArgs)||null==(l=r.hidden)?void 0:l.value,...S,onClose:()=>q.close(i.result),children:s}))},{displayName:"PageWithContext"}),z=(null==x?void 0:x.viewUid)||`page-${I}`,K=(0,n.jsx)(v.I6,{engine:$,children:(0,n.jsx)(s.YQ,{context:O,children:(0,n.jsx)(V,{})})},z);return A=c&&c instanceof HTMLElement?null==(w=e.current)?void 0:w.patchElement(k.createPortal(K,c,z)):null==(F=e.current)?void 0:F.patchElement(K),M&&(t.current=q),Object.assign(T,q)};if(M&&t.current){let e,n=l.current+=1,o=()=>null==w?void 0:w();try{e=T(c,t.current)}catch(e){throw o(),e}if(_(e))return D(Promise.resolve(e).then(e=>!1===e||n!==l.current?(o(),{page:null}):{page:F()},e=>{throw o(),e}),x,!!i.preventClose);if(!1===e)return o(),D(Promise.resolve({page:null}),x,!!i.preventClose)}return F()};return[o.useMemo(()=>({open:i}),[]),(0,n.jsx)(N,{ref:e},"page-holder")]}var $=l(28073);let B=0,L=o.forwardRef((e,t)=>{var l,i;let{afterClose:r,content:a,placement:s,rect:d,...u}=e,[c,p]=o.useState(!0),[h,m]=o.useState({content:a,placement:s,rect:d,...u});return o.useImperativeHandle(t,()=>({destroy:()=>p(!1),update:e=>m(t=>({...t,...e})),close:(e,t)=>p(!1)})),o.useEffect(()=>{c||null==r||r()},[c,r]),(0,n.jsx)($.A,{arrow:!1,open:c,trigger:["click"],destroyTooltipOnHide:!0,content:h.content,placement:h.placement,getPopupContainer:()=>document.querySelector("#nocobase-app-container")||document.body,onOpenChange:e=>{(e||!h.preventClose)&&(p(e),e||null==r||r())},...h,children:(0,n.jsx)("span",{style:{position:"absolute",top:((null==(l=h.rect)?void 0:l.top)??0)+window.scrollY,left:((null==(i=h.rect)?void 0:i.left)??0)+window.scrollX,width:0,height:0}})})});function q(){let e=o.useRef(null),t=t=>{var l,r;let a,s;B+=1;let{target:d,placement:u="rightTop",content:c,...p}=t,h=o.createRef(),m=(null==d||null==(l=d.getBoundingClientRect)?void 0:l.call(d))??{top:0,left:0},f=new Promise(e=>{s=e}),g={type:"popover",destroy:()=>{var e;return null==(e=h.current)?void 0:e.destroy()},update:e=>{var t;return null==(t=h.current)?void 0:t.update(e)},close:e=>{var t;null==s||s(e),null==(t=h.current)||t.close(e)}},v="function"==typeof c?c(g):c,y="string"==typeof v?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(v)}}):v,b=(0,n.jsx)(L,{ref:h,content:y,placement:u,rect:m,afterClose:()=>{var e;null==a||a(),null==(e=t.onClose)||e.call(t),null==s||s(t.result)},...p},`popover-${B}`);return a=null==(r=e.current)?void 0:r.patchElement(b),Object.assign(f,g)},l=o.useMemo(()=>({open:t}),[]),r=o.memo(o.forwardRef((e,t)=>{let[l,i]=f();return o.useImperativeHandle(t,()=>({patchElement:i}),[]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(r,{ref:e},"popover-holder")]}var V=l(50467),z=l(52847);function K(e){return null==e?"":e&&"object"==typeof e&&!Array.isArray(e)?encodeURIComponent(Object.entries(e).map(e=>{let[t,l]=e;return`${encodeURIComponent(String(t))}=${encodeURIComponent(String(l))}`}).join("&")):encodeURIComponent(String(e))}function U(e){return null!=e&&""!==String(e)}function W(e){if(!e||0===e.length)return"/admin";let t=["admin"];return e.forEach((e,l)=>{if(l>0&&t.push("view"),t.push(e.viewUid),e.tabUid&&t.push("tab",e.tabUid),null!=e.filterByTk){let l=K(e.filterByTk);l&&t.push("filterbytk",l)}U(e.sourceId)&&t.push("sourceid",String(e.sourceId))}),"/"+t.join("/")}class H{setViewStack(e){this.viewStack=Object.freeze([...e]),this.viewParams=this.viewStack[this.viewStack.length-1]||{}}changeTo(e){let t=W(this.viewStack.map((t,l)=>l===this.viewStack.length-1?{...t,...e}:{...t}));this.ctx.router.navigate(t,{replace:!0})}navigateTo(e,t){let l=W([...this.viewStack,e]);this.ctx.router.navigate(l,t)}back(){let e=W(this.viewStack.slice(0,-1));this.ctx.router.navigate(e,{replace:!0})}constructor(e,t){(0,V._)(this,"viewStack",void 0),(0,V._)(this,"ctx",void 0),(0,V._)(this,"viewParams",void 0),this.setViewStack(t),this.ctx=e,(0,z.E8)(this,{viewParams:z.sH})}}},16639(e,t,l){l.d(t,{B9:()=>o,FH:()=>s,HK:()=>i,Z8:()=>d,eX:()=>p,i6:()=>r,tb:()=>n});let n=Symbol.for("__NOCOBASE_VIEW_ACTIVATED_VERSION__"),o="view:activated",i="dataSource:dirty",r="__NOCOBASE_ENGINE_SCOPE__",a="view";function s(e){let t=Reflect.get(e,n),l="number"==typeof t?t:Number(t);return Number.isFinite(l)&&l>0?l:0}function d(e){let t=s(e);if(!Object.isExtensible(e))return t;let l=t+1;return Reflect.set(e,n,l),l}function u(e){return Reflect.get(e,r)===a}function c(e){let t=e,l=0;for(;t&&l++<50;){if(u(t))return t;t=t.previousEngine}}function p(e,t){if(!e)return;let l=c(e);return l||c(null==t?void 0:t.previousEngine)||e}},40542(e,t,l){l.d(t,{D:()=>n});let n=(e,t,l)=>{if(!e)return l;let o=t.split("."),i=[],r=e,a=!1;for(let e=0;e<o.length;e++){let t=o[e];if(Array.isArray(r)){for(let t of(a=!0,r)){let r=n(t,o.slice(e).join("."),l);i=i.concat(r)}break}if((null==r?void 0:r[t])===void 0)break;r=r[t],e===o.length-1&&i.push(r)}return 0===(i=i.filter(e=>void 0!==e)).length?l:a?i.filter(e=>null!==e):i[0]}},96436(e,t,l){l.r(t),l.d(t,{getDayRange:()=>tl,isEmptyFilter:()=>ed,sleep:()=>es,getDateVars:()=>ta,isString:()=>ee,unflatten:()=>e8,sortTree:()=>ea,forEach:()=>ek,utc2unit:()=>to,extractUsedVariablePaths:()=>tI,getValuesByPath:()=>eC,isArray:()=>et,moment2str:()=>eb,transformLiquidContext:()=>tR,isURL:()=>tF,isPortalInBody:()=>tb,extractUsedVariableNames:()=>tj,parseHTML:()=>tx,toGmt:()=>ep,isPlainObject:()=>en,lockdownSes:()=>tg,splitPathToTwoParts:()=>ts,transformFilter:()=>Y,parseSQLBindParams:()=>tD,getPickerFormat:()=>eM,nextTick:()=>ei,removeNullCondition:()=>eu,CollectionsGraph:()=>V,isValidFilter:()=>e_,evaluateConditions:()=>Z,toUnit:()=>ti,BASE_BLOCKED_IDENTIFIERS:()=>th,getFormatFromDateStr:()=>eA,removeInvalidFilterItems:()=>J,toLocal:()=>eh,getDayRangeByParams:()=>L,getDefaultFormat:()=>ec,transformMultiColumnToSingleColumn:()=>tC,treeFind:()=>er,transformSQL:()=>tN,parseFilter:()=>tt,flatten:()=>e5,getOffsetRangeByParams:()=>N,isEmpty:()=>el,offsetFromString:()=>ex,tval:()=>tv,error:()=>eq,Registry:()=>tu,lodash:()=>o(),parse:()=>eO,hasEmptyValue:()=>eo,toFixedByStep:()=>eJ,getDateTimeFormat:()=>eF,showToast:()=>eH,Handlebars:()=>eI(),getLiquidContext:()=>t_,merge:()=>eU,dayjs:()=>r(),parseLiquidContext:()=>tT,uid:()=>tM,str2moment:()=>eg});var n=l(2543),o=l.n(n),i=l(74353),r=l.n(i),a=l(97375),s=l.n(a),d=l(90445),u=l.n(d),c=l(43522),p=l.n(c),h=l(37872),m=l.n(h),f=l(98867),g=l.n(f),v=l(8906),y=l.n(v),b=l(68313),x=l.n(b),w=l(21840),S=l.n(w),M=l(41816),F=l.n(M),A=l(88569),k=l.n(A),C=l(83826),P=l.n(C),j=l(8134),I=l.n(j),E=l(28623),R=l.n(E),_=l(46986),T=l.n(_);r().extend(T()),r().extend(S()),r().extend(k()),r().extend(P()),r().extend(F()),r().extend(x()),r().extend(m()),r().extend(g()),r().extend(y()),r().extend(I()),r().extend(R()),r().extend(u()),r().extend(s()),r().extend(p());let D=e=>{if(!e)return r()();if(/^[+-]\d{2}:\d{2}$/.test(e)){let[t,l,n]=e.match(/([+-])(\d{2}):(\d{2})/).slice(1),o=(60*parseInt(l)+parseInt(n))*("+"===t?1:-1);return r()().utcOffset(o)}return r()().tz(e)},N=e=>{let t,l,{type:n,unit:o="day",number:i=1,timezone:r}=e,a=D(r),s="week"===o?"isoWeek":o;if("past"===n){let e=a.startOf(s);t=e.subtract(i,o).startOf(s),l=e.subtract(1,o).endOf(s)}else if("next"===n)l=(t=a.startOf(s).add(1,o).startOf(s)).add(i-1,o).endOf(s);else throw Error(`Unsupported type: ${n}`);return[t.format("YYYY-MM-DD HH:mm:ss"),l.format("YYYY-MM-DD HH:mm:ss")]},O=(e,t,l)=>{let n="isoWeek"===t?"week":t;return D(l).add(e,n).startOf(t)},$=(e,t,l)=>{let n="isoWeek"===t?"week":t;return D(l).add(e,n).endOf(t)},B={today:e=>[O(0,"day",null==e?void 0:e.timezone),$(0,"day",null==e?void 0:e.timezone)],yesterday:e=>[O(-1,"day",null==e?void 0:e.timezone),$(-1,"day",null==e?void 0:e.timezone)],tomorrow:e=>[O(1,"day",null==e?void 0:e.timezone),$(1,"day",null==e?void 0:e.timezone)],thisWeek:e=>[O(0,"isoWeek",null==e?void 0:e.timezone),$(0,"isoWeek",null==e?void 0:e.timezone)],lastWeek:e=>[O(-1,"isoWeek",null==e?void 0:e.timezone),$(-1,"isoWeek",null==e?void 0:e.timezone)],nextWeek:e=>[O(1,"isoWeek",null==e?void 0:e.timezone),$(1,"isoWeek",null==e?void 0:e.timezone)],thisMonth:e=>[O(0,"month",null==e?void 0:e.timezone),$(0,"month",null==e?void 0:e.timezone)],lastMonth:e=>[O(-1,"month",null==e?void 0:e.timezone),$(-1,"month",null==e?void 0:e.timezone)],nextMonth:e=>[O(1,"month",null==e?void 0:e.timezone),$(1,"month",null==e?void 0:e.timezone)],thisQuarter:e=>[O(0,"quarter",null==e?void 0:e.timezone),$(0,"quarter",null==e?void 0:e.timezone)],lastQuarter:e=>[O(-1,"quarter",null==e?void 0:e.timezone),$(-1,"quarter",null==e?void 0:e.timezone)],nextQuarter:e=>[O(1,"quarter",null==e?void 0:e.timezone),$(1,"quarter",null==e?void 0:e.timezone)],thisYear:e=>[O(0,"year",null==e?void 0:e.timezone),$(0,"year",null==e?void 0:e.timezone)],lastYear:e=>[O(-1,"year",null==e?void 0:e.timezone),$(-1,"year",null==e?void 0:e.timezone)],nextYear:e=>[O(1,"year",null==e?void 0:e.timezone),$(1,"year",null==e?void 0:e.timezone)]},L=e=>{if("past"===e.type||"next"===e.type)return N(e);let t=B[e.type];if(!t)throw Error(`Unsupported type: ${e.type}`);let[l,n]=t(e);return[l.format("YYYY-MM-DD HH:mm:ss"),n.format("YYYY-MM-DD HH:mm:ss")]};var q=l(38362);class V{static graphlib(){return q}static connectedNodes(e){let t=(0,n.castArray)(e.nodes),l=(0,n.castArray)(e.excludes||[]),o=V.build(e),i=new Set;for(let e of t)for(let t of q.alg.preorder(o,e))l.includes(t)||i.add(t);return Array.from(i)}static preOrder(e){return V.graphlib().alg.preorder(V.build(e),e.node)}static build(e){let t=e.collections,l="forward"===((null==e?void 0:e.direction)||"forward"),n=new q.Graph;for(let e of t)n.setNode(e.name);for(let e of t){for(let t of e.inherits||[])l?n.setEdge(e.name,t):n.setEdge(t,e.name);for(let t of e.fields||[])if(("hasMany"===t.type||"belongsTo"===t.type||"hasOne"===t.type)&&(l?n.setEdge(e.name,t.target):n.setEdge(t.target,e.name)),"belongsToMany"===t.type){let o=t.through;l?(n.setEdge(e.name,o),n.setEdge(o,t.target)):(n.setEdge(t.target,o),n.setEdge(o,e.name))}}return n}}var z=l(81814),K=l.n(z);function U(e){return"path"in e&&"operator"in e}function W(e){return"logic"in e&&"items"in e}function H(e){let{path:t,operator:l,value:n}=e;return{[t]:{[l]:n}}}function G(e){let{logic:t,items:l}=e;return{[t]:l.map(e=>{if(U(e))return H(e);if(W(e))return G(e);throw Error("Invalid filter item type")})}}function Y(e){if(!e||"object"!=typeof e)throw Error("Invalid filter: filter must be an object");if(!W(e))throw Error("Invalid filter: filter must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid filter: items must be an array");return eu(G(e))}function J(e){if(!e||"object"!=typeof e)throw Error("Invalid filter: filter must be an object");if(!W(e))throw Error("Invalid filter: filter must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid filter: items must be an array");return e.items=e.items.filter(e=>U(e)?!!e.operator:!!W(e)&&J(e)),{...e}}function X(e,t){let{path:l,operator:n,value:o}=e;return t(l,n,o)}function Q(e,t){let{logic:l,items:n}=e;if(!n||0===n.length)return!0;let o=n.map(e=>{if(U(e))return X(e,t);if(W(e))return Q(e,t);throw Error("Invalid filter item type")});if("$and"===l)return o.every(e=>!0===e);if("$or"===l)return o.some(e=>!0===e);throw Error(`Unsupported logic operator: ${l}`)}function Z(e,t){if(!e||"object"!=typeof e)throw Error("Invalid conditions: conditions must be an object");if(!W(e))throw Error("Invalid conditions: conditions must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid conditions: items must be an array");if("function"!=typeof t)throw Error("Invalid evaluator: evaluator must be a function");return Q(e,t)}let ee=e=>"string"==typeof e,et=e=>Array.isArray(e),el=e=>en(e)?0===Object.keys(e).length:!!Array.isArray(e)&&0===e.length,en=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},eo=e=>{let t=!0;for(let l in e){if(t=!1,et(e[l])&&0===e[l].length||!e[l])return!0;if(en(e[l])||et(e[l]))return eo(e[l])}return t},ei=e=>{setTimeout(e)};function er(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return;let{childrenKey:n="children"}=l;for(let o of Array.isArray(e)?[...e]:[e]){if(t(o))return o;let e="function"==typeof n?n(o):o[n];if(Array.isArray(e)&&e.length>0){let n=er(e,t,l);if(void 0!==n)return n}}}function ea(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children",n=!(arguments.length>3)||void 0===arguments[3]||arguments[3];return e&&Array.isArray(e)&&0!==e.length?o().orderBy(e,t,n?"asc":"desc").map(e=>e[l]&&e[l].length>0?{...e,[l]:ea(e[l],t,l,n)}:e):e}function es(e){return new Promise(t=>{setTimeout(t,e)})}function ed(e){return!!(!e||"$and"in e&&o().isEmpty(e.$and)||"$or"in e&&o().isEmpty(e.$or))}let eu=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:K(),l=t(e||{}),n={};for(let e in l){let t=l[e];null==t||el(t)||""===t||(n[e]=t)}let i=t.unflatten(n);for(let e in i)Array.isArray(i[e])&&(i[e]=i[e].filter(e=>null!=e));return o().isEmpty(i)?void 0:i},ec=e=>e.format?e.format:e.dateFormat?e.showTime?`${e.dateFormat} ${e.timeFormat||"HH:mm:ss"}`:e.dateFormat:"month"===e.picker?"YYYY-MM":"quarter"===e.picker?"YYYY-\\QQ":"year"===e.picker?"YYYY":"week"===e.picker?"YYYY[W]W":e.showTime?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD",ep=e=>e&&r().isDayjs(e)?`${e.format("YYYY-MM-DD")}T${e.format("HH:mm:ss.SSS")}Z`:e,eh=e=>e?Array.isArray(e)?e.map(e=>e.startOf("second").toISOString()):r().isDayjs(e)?e.startOf("second").toISOString():void 0:e,em=e=>{try{let t=parseInt(e.slice(0,4)),l=parseInt(e.slice(-1));return r()().quarter(l).year(t)}catch(e){return null}},ef=(e,t)=>{if(!e)return;let l=t.utcOffset,{gmt:n,picker:o,utc:i=!0,dateOnly:a}=t;if(!r()(e).isValid())return em(e);if(a){let t=r()(e);if(!t.isValid())return e;let l=t.format("YYYY-MM-DD");return r().utc(l,"YYYY-MM-DD")}return i?r().isDayjs(e)?l?e.utcOffset(ex(l)):e:n?r()(e).utcOffset(0):l?r()(e).utcOffset(ex(l)):r()(e):r()(e)},eg=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)?e.map(e=>ef(e,t)):e?ef(e,t):e},ev=(e,t)=>"year"===t?e.format("YYYY")+"-01-01T00:00:00.000Z":"month"===t||"quarter"===t?e.format("YYYY-MM")+"-01T00:00:00.000Z":e.format("YYYY-MM-DD")+"T00:00:00.000Z",ey=(e,t)=>e?Array.isArray(e)?e.map(e=>ev(e,t)):r().isDayjs(e)?ev(e,t):void 0:e,eb=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{showTime:l,gmt:n,picker:o}=t;return e?l?n?ep(e):eh(e):ey(e,o):e};function ex(e){if(!o().isString(e))return e;let t=/([+-]|\d\d)/gi,l=/Z|[+-]\d\d(?::?\d\d)?/gi,n=/[+-]?\d+(\.\d{1,3})?/,i=(e||"").match(l);if(null===i&&(i=(e||"").match(n)),null===i)return null;let r=((i[i.length-1]||[])+"").match(t)||["-",0,0],a=+(60*Number(r[1]))+ew(r[2]);return 0===a?0:"+"===r[0]?a:-a}function ew(e){let t=+e,l=0;return 0!==t&&isFinite(t)&&(l=eS(t)),l}function eS(e){return e<0?Math.ceil(e)||0:Math.floor(e)}let eM=e=>{switch(e){case"week":return"YYYY[W]W";case"month":return"YYYY-MM";case"quarter":return"YYYY[Q]Q";case"year":return"YYYY";default:return"YYYY-MM-DD"}},eF=(e,t,l,n)=>"date"===e&&l?`${t} ${n||"HH:mm:ss"}`:t;function eA(e){return/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e)?"YYYY-MM-DD HH:mm:ss":/^\d{4}-\d{2}-\d{2}$/.test(e)?"YYYY-MM-DD":/^\d{4}-\d{2}$/.test(e)?"YYYY-MM":/^\d{4}$/.test(e)?"YYYY":/^\d{4}Q[1-4]$/.test(e)?"YYYY[Q]Q":/^\d{4}-\d{2}-\d{2}T/.test(e)?"YYYY-MM-DDTHH:mm:ss.SSSZ":null}let ek=(e,t)=>{Array.isArray(e)?e.forEach(t):Object.keys(e).forEach(l=>{t(e[l],l)})},eC=(e,t,l)=>{if(!e)return l;let n=t.split("."),o=[],i=e,r=!1;for(let e=0;e<n.length;e++){let t=n[e];if(Array.isArray(i)){for(let t of(r=!0,i)){let i=eC(t,n.slice(e).join("."),l);o=o.concat(i)}break}if((null==i?void 0:i[t])===void 0)break;i=i[t],e===n.length-1&&o.push(i)}return 0===(o=o.filter(e=>void 0!==e)).length?l:r?o.filter(e=>null!==e):o[0]};var eP=l(88835),ej=l(60639),eI=l.n(ej),eE=l(79441);let eR=l.n(eE)()();function e_(e){if(!e)return!1;let t=[e.$and,e.$or].filter(Boolean);return 0==t.length?Object.keys(e).length>0:t.some(e=>{if(Array.isArray(e))return e.some(e_);if(e.$and||e.$or)return e_(e);let[t]=Object.keys(e);if(!t||!e[t])return!1;let[l]=Object.keys(e[t]);return!!l&&void 0!==e[t][l]})}function eT(e){let t=typeof e;return Array.isArray(e)?t="array":e instanceof Date?t="date":null===e&&(t="null"),t}function eD(e){let t=e.substr(2,e.length-4).trim(),l=t.indexOf(":");return -1!==l?{key:t.substr(0,l),defaultValue:t.substr(l+1)}:{key:t}}function eN(e,t){return e.parameters=Array.from(new Map(t.map(e=>[e.key,e])).values()),e}function eO(e){switch(eT(e)){case"string":return e$(e);case"object":return eB(e);case"array":return eL(e);default:return eN(function(){return e},[])}}Object.keys(eR).forEach(function(e){eI().registerHelper(e,eR[e])}),eI().registerHelper("json",function(e){return JSON.stringify(e)}),eI().registerHelper("urlParse",function(e){try{return JSON.stringify(eP.parse(e))}catch(t){return`Invalid URL: ${e}`}}),eI().registerHelper("dateFormat",(e,t,l)=>"string"==typeof l?r()(e).tz(l).format(t):r()(e).format(t)),eI().registerHelper("isNull",e=>o().isNull(e));let e$=(()=>{let e=/{{(\w|:|[\s-+.,@/()?=*_$])+}}/g;return t=>{let l=[],o=e=>t,i=t.match(e);return i&&(l=i.map(eD),o=e=>(e=e||{},i.reduce((o,r,a)=>{let s=l[a],d=(0,n.get)(e,s.key);return(void 0===d&&(d=s.defaultValue),"function"==typeof d&&(d=d()),1===i.length&&t.startsWith("{{")&&t.endsWith("}}"))?d:(d instanceof Date&&(d=d.toISOString()),o.replace(r,null==d?"":d))},t))),eN(o,l)}})();function eB(e){let t=Object.keys(e).map(t=>({keyTemplate:e$(t),valueTemplate:eO(e[t])}));return eN(e=>t.reduce((t,l)=>(t[l.keyTemplate(e)]=l.valueTemplate(e),t),{}),t.reduce((e,t)=>e.concat(t.valueTemplate.parameters,t.keyTemplate.parameters),[]))}function eL(e){let t=e.map(eO);return eN(e=>t.map(t=>t(e)),t.reduce((e,t)=>e.concat(t.parameters),[]))}let eq=function(e){for(var t=arguments.length,l=Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];console.error(e,...l)};var eV=l(14744),ez=l.n(eV);let eK=(e,t,l)=>t;function eU(e,t,l){return ez()(e,t,{arrayMerge:eK,...l})}var eW=l(98892);let eH=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3;eW.Ay[t]({message:e,duration:l})};var eG=l(5062),eY=l(85738);function eJ(e,t){if(null==e||""===e)return"";let l=(0,eG.i5)(t);return(0,eY.Mg)(String(e),".",l)}var eX=l(63560),eQ=l.n(eX),eZ=l(95093),e0=l.n(eZ);let e1=/^\s*\{\{([\s\S]*)\}\}\s*$/;function e2(e){return e&&e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function e4(e){return e}function e5(e,t){let l=(t=t||{}).delimiter||".",n=t.maxDepth,i=t.transformKey||e4,r=t.transformValue||e4,a={};function s(e,d,u){u=u||1,o().isObjectLike(e)&&Object.keys(e).forEach(function(o){var c;let p=e[o],h=t.safe&&Array.isArray(p),m=Object.prototype.toString.call(p),f=e2(p),g="[object Object]"===m||"[object Array]"===m,v=d?d+l+i(o):i(o);if(null==(c=t.breakOn)?void 0:c.call(t,{key:o,value:p,path:v})){a[v]=r(p,v);return}if(!h&&!f&&g&&Object.keys(p).length&&(!t.maxDepth||u<n))return s(p,v,u+1);a[v]=r(p,v)})}return s(e),a}function e8(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l={},n=t.transformValue||e4;for(let t of Object.keys(e))eQ()(l,t,n(e[t],t));return l}let e6=e=>{let t=e.split(".").pop()||"";return t.startsWith("$")||(t=""),{operator:t}},e3=e=>["$dateOn","$dateNotOn","$dateBefore","$dateAfter","$dateNotBefore","$dateNotAfter","$dateBetween"].includes(e);function e9(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function e7(e){return(null==e?void 0:e.type)==="dateOnly"||(null==e?void 0:e.type)==="datetimeNoTz"||(null==e?void 0:e.constructor.name)==="DateOnlyField"||(null==e?void 0:e.constructor.name)==="DatetimeNoTzField"}let te=(e,t)=>e?(e.type&&(e=L({...e,timezone:t})),Array.isArray(e))?(2===e.length?e.push("[]",t):3===e.length&&e.push(t),e):"string"==typeof e?!t||/(\+|-)\d\d:\d\d$/.test(e)?e:e+t:e9(e)?e.toISOString():void 0:null,tt=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=new Set,n=t.vars||{},o=t.timezone,i=t.now,r=t.getField,a=e5(e,{breakOn(e){let{key:t}=e;return t.startsWith("$")&&"$and"!==t&&"$or"!==t},transformValue(e){if("string"!=typeof e)return e;let t=e1.exec(e);if(t){let e=t[1].trim();e.startsWith("$user")&&l.add(e.substring(6))}return e}});if(l.size>0){let e=await n.$user({fields:[...l.values()]});Object.assign(n,{$user:e})}return e8(a,{transformValue(e,t){let{operator:l}=e6(t);if("string"==typeof e){let a=e1.exec(e);if(a){let s=eC(n,a[1].trim(),null),d=null==r?void 0:r(t);e="function"==typeof s?null==s?void 0:s({field:d,operator:l,timezone:o,now:i}):s}}if(e3(l)){let l=null==r?void 0:r(t);return e7(l)?e.type?L({...e,timezone:(null==l?void 0:l.timezone)||o}):e:te(e,(null==l?void 0:l.timezone)||o)}return e}})};function tl(e){let{now:t,timezone:l="+00:00",offset:n}=e,o=tn(t).utcOffset(ex(l));return n>0?[(o=o.add(1,"day").startOf("day")).format("YYYY-MM-DD"),o.clone().add(n,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]:[o.clone().subtract(-1*n-1,"day").startOf("day").format("YYYY-MM-DD"),o.clone().add(1,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]}function tn(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?r().isDayjs(e)?e:t?e0()(e):r()(e):t?e0()():r()()}function to(e){var t;let{now:l,unit:n,timezone:o="+00:00",offset:i}=e,r=tn(l,"isoWeek"===n);r=(r=r.utcOffset(ex(o))).startOf(n),i>0?r=r.add(i,n):i<0&&(r=r.subtract(-1*i,n));let a={year:()=>r.format("YYYY"),quarter:()=>r.format("YYYY[Q]Q"),month:()=>r.format("YYYY-MM"),week:()=>r.format("gggg[w]ww"),isoWeek:()=>r.format("GGGG[W]WW"),day:()=>r.format("YYYY-MM-DD")},s=null==(t=a[n])?void 0:t.call(a);return o?s+o:s}let ti=(e,t)=>l=>{let{now:n,timezone:o,field:i}=l;return(null==i?void 0:i.timezone)&&(o=null==i?void 0:i.timezone),to({now:n,timezone:o,unit:e,offset:t})},tr=e=>t=>{let{now:l,timezone:n,field:o}=t;return(null==o?void 0:o.timezone)&&(n=null==o?void 0:o.timezone),tl({now:l,timezone:n,offset:e})};function ta(){return{now:new Date().toISOString(),today:ti("day"),yesterday:ti("day",-1),tomorrow:ti("day",1),thisWeek:ti("week"),lastWeek:ti("week",-1),nextWeek:ti("week",1),thisIsoWeek:ti("isoWeek"),lastIsoWeek:ti("isoWeek",-1),nextIsoWeek:ti("isoWeek",1),thisMonth:ti("month"),lastMonth:ti("month",-1),nextMonth:ti("month",1),thisQuarter:ti("quarter"),lastQuarter:ti("quarter",-1),nextQuarter:ti("quarter",1),thisYear:ti("year"),lastYear:ti("year",-1),nextYear:ti("year",1),last7Days:tr(-7),next7Days:tr(7),last30Days:tr(-30),next30Days:tr(30),last90Days:tr(-90),next90Days:tr(90)}}function ts(e){let t=e.split(".");return[t.shift(),t.join(".")]}var td=l(50467);class tu{register(e,t){if(!this.options.override&&this.map.has(e))throw Error(`this registry does not allow to override existing keys: "${e}"`);this.map.set(e,t)}get(e){return this.map.get(e)}getKeys(){return this.map.keys()}getValues(){return this.map.values()}getEntities(){return this.map.entries()}constructor(e={override:!1}){(0,td._)(this,"map",new Map),(0,td._)(this,"options",void 0),this.options=e}}l(67980);let tc=Symbol.for("nocobase.utils.sesLockdown"),tp=Symbol.for("nocobase.utils.bufferOverrides"),th=["globalThis","global","self","Function","AsyncFunction","GeneratorFunction","eval","Compartment","lockdown","harden","assert"];function tm(e){return!!e&&"object"==typeof e&&(e.message||"").includes("(SES_ALREADY_LOCKED_DOWN)")}function tf(){let e=globalThis;if(e[tp])return;let t=e.Buffer;if(!t||!t.prototype)return;let l=t.prototype;for(let e of Reflect.ownKeys(l)){let t=Object.getOwnPropertyDescriptor(l,e);if(!t||"function"!=typeof t.value||!t.configurable)continue;let n=t.value,o=function(){return n},i=function(t){if(this===l)throw TypeError(`Cannot assign to read only property '${String(e)}' of object 'Buffer.prototype'`);Object.defineProperty(this,e,{configurable:!0,enumerable:!0,writable:!0,value:t})};Object.defineProperty(o,"originalValue",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(l,e,{configurable:t.configurable,enumerable:t.enumerable,get:o,set:i})}e[tp]=!0}function tg(e){tf();let t=globalThis;if(!t[tc]){if("function"!=typeof lockdown)throw Error("SES lockdown is unavailable in the current runtime environment.");try{lockdown(e)}catch(e){if(!tm(e))throw e}t[tc]=!0}}function tv(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}var ty=l(65606);let tb=e=>{for(;e;){var t;if("root"===e.id||(null==(t=e.classList)?void 0:t.contains("nb-action")))return!1;e=e.parentNode}return!ty.env.__TEST__};function tx(e,t){return e.replace(/\{\{(\w+)\}\}/g,function(e,l){return void 0!==t[l]?t[l]:e})}let tw=36,tS="";for(;tw--;)tS+=tw.toString(36);function tM(e){let t="",l=e||11;for(;l--;)t+=tS[36*Math.random()|0];return t}function tF(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}var tA=l(27153),tk=JSON.parse('{"rE":"2.1.0-alpha.38"}');let tC=(e,t)=>{if(!e)return e;if("Grid"!==e["x-component"])return Object.keys(e.properties||{}).forEach(l=>{e.properties[l]=tC(e.properties[l],t)}),e;let l=e.parent;e=e.toJSON?e.toJSON():o().cloneDeep(e);let n={},{properties:i={}}=e,r=0;if(Object.keys(i).forEach((e,l)=>{let a=i[e];if("Grid.Row"!==a["x-component"]){a["x-index"]=++r,n[e]=a;return}if(a.properties){if(1===Object.keys(a.properties).length){a["x-index"]=++r,n[e]=a;return}Object.keys(a.properties).forEach((l,i)=>{let s=a.properties[l];if(o().set(s,"x-component-props.width",100),0===i){a["x-index"]=++r,n[e]=a;return}null!=t&&t(s)||(delete a.properties[l],n[`${tM()}_${l}`]=tP(s,l,++r))})}}),e.properties=n,l){let t=new tA.S(e,l);return l.properties&&Object.keys(l.properties).forEach(n=>{n===e.name&&(l.properties[n]=t)}),t}return e};function tP(e,t,l){return{type:"void",version:"2.0","x-component":"Grid.Row","x-app-version":tk.rE,"x-uid":tM(),"x-async":!1,"x-index":l,_isJSONSchemaObject:!0,properties:{[t]:e}}}function tj(e){let t=new Set,l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,o=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g;for(;null!==(e=i.exec(o));)t.add(e[1]);let r=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]/g;for(;null!==(n=r.exec(o));)t.add(n[2])}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}function tI(e){let t={},l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,o=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)([^\s)]*)/g;for(;null!==(e=i.exec(o));){let l=e[1],n=e[2]||"";if(t[l]=t[l]||[],n.startsWith("."))t[l].push(n.slice(1));else if(n.startsWith("[")){let e=n.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(e){let n=e[2],o=e[3]||"";t[l].push(`${n}${o}`)}else{let e=n.match(/^\[(\d+)\](.*)$/);if(e){let n=e[1],o=e[2]||"";t[l].push(`[${n}]${o}`)}}}else n.startsWith("(")&&!t[l].length&&t[l].push("")}let r=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]([^\s)]*)/g;for(;null!==(n=r.exec(o));){let e=n[2],l=n[3]||"";if(t[e]=t[e]||[],l.startsWith("."))t[e].push(l.slice(1));else if(l.startsWith("[")){let n=l.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(n){let l=n[2],o=n[3]||"";t[e].push(`${l}${o}`)}else{let n=l.match(/^\[(\d+)\](.*)$/);if(n){let l=n[1],o=n[2]||"";t[e].push(`[${l}]${o}`)}}}else l.startsWith("(")&&!t[e].length&&t[e].push("")}}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}let tE=new(l(23155)).HX;function tR(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};for(let l of e){let e=l.replace(/^ctx\./,"").split("."),n=t;for(let t=0;t<e.length;t++){let o=e[t];t===e.length-1?n[o]=`{{${l}}}`:(n[o]=n[o]||{},n=n[o])}}return t}async function t_(e){return tR(await tE.fullVariables(e))}async function tT(e,t){return await tE.parseAndRender(e,{ctx:t})}function tD(e){let t=1,l={};return{sql:e.replace(/{{\s*([^}]+)\s*}}/g,(e,n)=>{let o=`__var${t}`;return l[o]=`{{${n.trim()}}}`,t++,`$${o}`}),bind:l}}async function tN(e){let{sql:t,bind:l}=tD(e),n=await t_(t);return{sql:t,bind:l,liquidContext:n}}},59598(){},23005(){},14892(){},2813(){},9845(){}};import{__webpack_require__}from"./runtime-d7215ccc.js";var __webpack_exec__=function(e){return __webpack_require__(__webpack_require__.s=e)};import*as __rspack_chunk_1 from"./vendor-antd-ecosystem-de737eca.js";__webpack_require__.C(__rspack_chunk_1);import*as __rspack_chunk_2 from"./vendor-moment-84b317dc.js";__webpack_require__.C(__rspack_chunk_2);import*as __rspack_chunk_3 from"./vendor-lodash-905dd3b8.js";__webpack_require__.C(__rspack_chunk_3);import*as __rspack_chunk_4 from"./vendor-ses-b7bccbcd.js";__webpack_require__.C(__rspack_chunk_4);import*as __rspack_chunk_5 from"./vendor-antd-icons-794fdbb6.js";__webpack_require__.C(__rspack_chunk_5);import*as __rspack_chunk_6 from"./vendor-antd-f8c3ace1.js";__webpack_require__.C(__rspack_chunk_6);import*as __rspack_chunk_7 from"./5823-aa1ccac3.js";__webpack_require__.C(__rspack_chunk_7);import*as __rspack_chunk_8 from"./index-3212b2b6.js";__webpack_require__.C(__rspack_chunk_8),__webpack_exec__(56777);