@nocobase/app 2.2.7 → 2.2.9

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-c6ae6df6.js.LICENSE.txt */
1
+ /*! For license information please see index-41a6b6c0.js.LICENSE.txt */
2
2
  (globalThis.webpackChunknocobase=globalThis.webpackChunknocobase||[]).push([["8410"],{65359(e,t,l){var n={"./en-nz":["35571","8878"],"./bi.js":["95944","8878"],"./id.js":["87420","8878"],"./km":["36101","8878"],"./he.js":["92010","8878"],"./me":["80623","8878"],"./tk":["62544","8878"],"./ko.js":["88003","8878"],"./tet.js":["18928","8878"],"./es-do":["61219","8878"],"./ku":["16605","8878"],"./hr":["15811","8878"],"./zh-tw.js":["31349","8878"],"./hy-am":["94309","8878"],"./am.js":["4736","8878"],"./en-in":["60912","8878"],"./de-at":["32878","8878"],"./pt-br":["92218","8878"],"./ar-iq.js":["13309","8878"],"./en-sg":["12673","8878"],"./zh":["56007","8878"],"./en-il.js":["97690","8878"],"./lo":["73860","8878"],"./tlh":["60321","8878"],"./mi.js":["32739","8878"],"./el":["54072","8878"],"./ur.js":["51750","8878"],"./sq":["95977","8878"],"./pa-in.js":["39252","8878"],"./ar-kw.js":["79865","8878"],"./fr-ca.js":["86290","8878"],"./de-ch.js":["13672","8878"],"./ru":["62796","8878"],"./eo.js":["33713","8878"],"./nb":["7205","8878"],"./br":["72745","8878"],"./fo":["17674","8878"],"./zh.js":["56007","8878"],"./vi":["96098","8878"],"./fr-ch.js":["73433","8878"],"./ms-my":["26400","8878"],"./es-pr":["3532","8878"],"./bo.js":["59294","8878"],"./ht.js":["8809","8878"],"./lo.js":["73860","8878"],"./my.js":["46803","8878"],"./et":["4288","8878"],"./br.js":["72745","8878"],"./gu":["57409","8878"],"./it-ch":["19286","8878"],"./sv-fi":["9160","8878"],"./ne.js":["40880","8878"],"./zh-cn.js":["16033"],"./gom-latn.js":["78660","8878"],"./bg.js":["39990","8878"],"./mr.js":["46462","8878"],"./cv.js":["4780","8878"],"./lt.js":["34485","8878"],"./pt":["72369","8878"],"./th.js":["47081","8878"],"./cs.js":["9751","8878"],"./es.js":["47317","8878"],"./bn.js":["92509","8878"],"./ar-tn":["54405","8878"],"./mi":["32739","8878"],"./sr.js":["45616","8878"],"./tr":["4895","8878"],"./bn-bd":["64608","8878"],"./fa.js":["90292","8878"],"./it":["33900","8878"],"./nl":["69423","8878"],"./zh-hk":["87741","8878"],"./fo.js":["17674","8878"],"./bs.js":["25530","8878"],"./ja.js":["50952","8878"],"./my":["46803","8878"],"./es-do.js":["61219","8878"],"./gl":["33562","8878"],"./nl-be.js":["60465","8878"],"./en-ca.js":["21995","8878"],"./tzm-latn.js":["58804","8878"],"./types.d.ts":["69224","8878"],"./ru.js":["62796","8878"],"./sq.js":["95977","8878"],"./cv":["4780","8878"],"./km.js":["36101","8878"],"./fa":["90292","8878"],"./cs":["9751","8878"],"./ms":["79677","8878"],"./types.d":["69224","8878"],"./ca":["25993","8878"],"./tr.js":["4895","8878"],"./x-pseudo":["5760","8878"],"./tzm-latn":["58804","8878"],"./kn":["6364","8878"],"./jv":["77741","8878"],"./ms-my.js":["26400","8878"],"./ht":["8809","8878"],"./be":["51532","8878"],"./gd":["68418","8878"],"./en-au":["59881","8878"],"./ka":["46481","8878"],"./ka.js":["46481","8878"],"./ur":["51750","8878"],"./sv.js":["21340","8878"],"./zh-cn":["16033"],"./pl.js":["63225","8878"],"./hi":["52830","8878"],"./ug-cn":["79911","8878"],"./ar-kw":["79865","8878"],"./dv.js":["82187","8878"],"./id":["87420","8878"],"./dv":["82187","8878"],"./vi.js":["96098","8878"],"./de-ch":["13672","8878"],"./en-in.js":["60912","8878"],"./es-pr.js":["3532","8878"],"./es-us.js":["32498","8878"],"./ar-iq":["13309","8878"],"./fi.js":["89964","8878"],"./ca.js":["25993","8878"],"./ms.js":["79677","8878"],"./zh-tw":["31349","8878"],"./bs":["25530","8878"],"./rw.js":["35414","8878"],"./fy":["59836","8878"],"./uz-latn":["80950","8878"],"./mt.js":["99464","8878"],"./fr.js":["813","8878"],"./hu":["38298","8878"],"./lv.js":["76467","8878"],"./sr-cyrl.js":["27439","8878"],"./tzl":["3187","8878"],"./mn":["12698","8878"],"./pa-in":["39252","8878"],"./nl-be":["60465","8878"],"./kk":["11335","8878"],"./en-tt":["2619","8878"],"./ar-ly.js":["85592","8878"],"./hr.js":["15811","8878"],"./kk.js":["11335","8878"],"./ar":["2338","8878"],"./ar-dz.js":["48361","8878"],"./ar-sa":["40539","8878"],"./nl.js":["69423","8878"],"./cy":["95681","8878"],"./en-ie":["17329","8878"],"./lb.js":["88615","8878"],"./ar-ly":["85592","8878"],"./de.js":["50494","8878"],"./am":["4736","8878"],"./lv":["76467","8878"],"./tg":["15012","8878"],"./de-at.js":["32878","8878"],"./sl":["39998","8878"],"./tg.js":["15012","8878"],"./ky.js":["34457","8878"],"./kn.js":["6364","8878"],"./bo":["59294","8878"],"./da":["42706","8878"],"./ss.js":["52487","8878"],"./uz":["54734","8878"],"./fr-ch":["73433","8878"],"./sk":["46847","8878"],"./hu.js":["38298","8878"],"./sr":["45616","8878"],"./he":["92010","8878"],"./uk.js":["34173","8878"],"./es-mx":["64719","8878"],"./se.js":["55285","8878"],"./oc-lnc":["70225","8878"],"./pt-br.js":["92218","8878"],"./rw":["35414","8878"],"./ar-sa.js":["40539","8878"],"./nb.js":["7205","8878"],"./fr-ca":["86290","8878"],"./hi.js":["52830","8878"],"./gl.js":["33562","8878"],"./en-ie.js":["17329","8878"],"./me.js":["80623","8878"],"./fy.js":["59836","8878"],"./ar.js":["2338","8878"],"./az":["51130","8878"],"./lt":["34485","8878"],"./en":["65826","8878"],"./ro.js":["24334","8878"],"./sw":["2979","8878"],"./te.js":["87406","8878"],"./tl-ph.js":["78142","8878"],"./es-mx.js":["64719","8878"],"./ky":["34457","8878"],"./it.js":["33900","8878"],"./zh-hk.js":["87741","8878"],"./da.js":["42706","8878"],"./te":["87406","8878"],"./mt":["99464","8878"],"./lb":["88615","8878"],"./uz-latn.js":["80950","8878"],"./ml.js":["75376","8878"],"./en-sg.js":["12673","8878"],"./uz.js":["54734","8878"],"./tzm.js":["95084","8878"],"./tet":["18928","8878"],"./oc-lnc.js":["70225","8878"],"./az.js":["51130","8878"],"./en-au.js":["59881","8878"],"./fr":["813","8878"],"./gd.js":["68418","8878"],"./yo.js":["87933","8878"],"./nn":["23473","8878"],"./bm":["71092","8878"],"./index.d.ts":["41213","8878"],"./sw.js":["2979","8878"],"./af":["65662","8878"],"./en-il":["97690","8878"],"./eu":["94007","8878"],"./et.js":["4288","8878"],"./rn":["34509","8878"],"./se":["55285","8878"],"./sv-fi.js":["9160","8878"],"./gu.js":["57409","8878"],"./gom-latn":["78660","8878"],"./pl":["63225","8878"],"./ar-dz":["48361","8878"],"./ar-ma":["81289","8878"],"./eu.js":["94007","8878"],"./ss":["52487","8878"],"./tk.js":["62544","8878"],"./es-us":["32498","8878"],"./bi":["95944","8878"],"./ug-cn.js":["79911","8878"],"./mn.js":["12698","8878"],"./pt.js":["72369","8878"],"./cy.js":["95681","8878"],"./mr":["46462","8878"],"./ga.js":["54061","8878"],"./ko":["88003","8878"],"./ku.js":["16605","8878"],"./af.js":["65662","8878"],"./hy-am.js":["94309","8878"],"./es":["47317","8878"],"./ml":["75376","8878"],"./en-ca":["21995","8878"],"./bn":["92509","8878"],"./ga":["54061","8878"],"./is.js":["15513","8878"],"./sd.js":["63222","8878"],"./sl.js":["39998","8878"],"./tlh.js":["60321","8878"],"./tl-ph":["78142","8878"],"./uk":["34173","8878"],"./x-pseudo.js":["5760","8878"],"./is":["15513","8878"],"./jv.js":["77741","8878"],"./el.js":["54072","8878"],"./fi":["89964","8878"],"./bn-bd.js":["64608","8878"],"./en-gb":["72026","8878"],"./en-gb.js":["72026","8878"],"./mk":["75877","8878"],"./ne":["40880","8878"],"./ro":["24334","8878"],"./mk.js":["75877","8878"],"./si":["65665","8878"],"./tzm":["95084","8878"],"./be.js":["51532","8878"],"./de":["50494","8878"],"./rn.js":["34509","8878"],"./si.js":["65665","8878"],"./yo":["87933","8878"],"./bg":["39990","8878"],"./en.js":["65826","8878"],"./sv":["21340","8878"],"./th":["47081","8878"],"./bm.js":["71092","8878"],"./nn.js":["23473","8878"],"./ar-ma.js":["81289","8878"],"./index.d":["41213","8878"],"./ja":["50952","8878"],"./ta.js":["77250","8878"],"./ar-tn.js":["54405","8878"],"./sd":["63222","8878"],"./sk.js":["46847","8878"],"./tzl.js":["3187","8878"],"./en-nz.js":["35571","8878"],"./eo":["33713","8878"],"./ta":["77250","8878"],"./en-tt.js":["2619","8878"],"./it-ch.js":["19286","8878"],"./sr-cyrl":["27439","8878"]};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(r(e))}function r(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=r,e.exports=o,o.id=35358},91643(e,t,l){"use strict";let n,o;var r={};l.r(r),l.d(r,{default:()=>iF,evaluators:()=>iS,getOptions:()=>iC});var i={};l.r(i),l.d(i,{array:()=>iH,bigField:()=>i8,boolean:()=>i0,collection:()=>i2,datetime:()=>iY,enumType:()=>iQ,id:()=>iX,number:()=>iJ,object:()=>iG,string:()=>iW,tableoid:()=>i1,time:()=>iZ});var a={};l.r(a),l.d(a,{connectFields:()=>hT,customizeFilterRender:()=>h_,defaultOperator:()=>hB,operatorComponentProps:()=>hz});var s={};l.r(s),l.d(s,{ASSIGN_FIELD_VALUES_STEP_KEY:()=>u1.zL,ActionGroupModel:()=>df,ActionModel:()=>dy.S0,ActionSceneEnum:()=>dy.s5,ActionWithoutPermission:()=>dy._T,AddChildActionModel:()=>cw,AddNewActionModel:()=>uT,AssignFormGridModel:()=>cP,AssignFormItemModel:()=>cX,AssignFormModel:()=>cF,AssociateActionModel:()=>u_,AssociationFieldGroupModel:()=>dx,AssociationFieldModel:()=>po,BasePageTabModel:()=>uC,BlockGridModel:()=>d4,BlockModel:()=>d7.z,BlockSceneEnum:()=>d7.P,BulkDeleteActionModel:()=>uV,CascadeSelectFieldModel:()=>v6,CascadeSelectInnerFieldModel:()=>v2,CascadeSelectListFieldModel:()=>v3,CheckboxFieldModel:()=>yC,CheckboxGroupFieldModel:()=>yF,ChildPageModel:()=>um,ChildPageTabModel:()=>uk,ClickableFieldModel:()=>v_,CollectionActionGroupModel:()=>dg,CollectionActionModel:()=>d9.U,CollectionBlockModel:()=>ue.t,CollectionSelectorFieldModel:()=>yP,ColorFieldModel:()=>yI,CommonItemModel:()=>ut,CreateContent:()=>pT,CreateFormModel:()=>hU,CustomWidth:()=>fz,DataBlockModel:()=>ul.R,DateOnlyFieldModel:()=>yV,DateOnlyFilterFieldModel:()=>pW,DateOnlyPicker:()=>y_,DateTimeFilterFieldModel:()=>pK,DateTimeNoTzFieldModel:()=>yK,DateTimeNoTzFilterFieldModel:()=>pG,DateTimeNoTzPicker:()=>yz,DateTimeTzFieldModel:()=>yG,DateTimeTzFilterFieldModel:()=>pJ,DateTimeTzPicker:()=>yH,DeleteActionModel:()=>uz,DetailsAssociationFieldGroupModel:()=>cQ,DetailsBlockModel:()=>c2,DetailsCustomItemModel:()=>c3,DetailsGridModel:()=>c5,DetailsItemModel:()=>c$,DetailsJSFieldItemModel:()=>pt,DetailsPagination:()=>c8,DisassociateActionModel:()=>uK,DisplayCheckboxFieldModel:()=>bq,DisplayColorFieldModel:()=>bs,DisplayDateTimeFieldModel:()=>bc,DisplayEnumFieldModel:()=>bf,DisplayHtmlFieldModel:()=>bv,DisplayIconFieldModel:()=>by,DisplayJSONFieldModel:()=>bw,DisplayNumberFieldModel:()=>bT,DisplayPasswordFieldModel:()=>bE,DisplayPercentFieldModel:()=>bN,DisplaySubItemFieldModel:()=>bn,DisplaySubListFieldModel:()=>ba,DisplaySubTableFieldModel:()=>bl,DisplayTextFieldModel:()=>bD,DisplayTimeFieldModel:()=>bB,DisplayTitleFieldModel:()=>x4,DisplayURLFieldModel:()=>b$,DividerItemModel:()=>xZ,EditActionModel:()=>uU,EditFormContent:()=>yi,EditFormModel:()=>cB.EditFormModel,ExpandCollapseActionModel:()=>cy,FieldDeletePlaceholder:()=>fq,FieldModel:()=>sr.o,FieldModelSelect:()=>p9,FieldOperatorSelect:()=>mv,FieldWithoutPermissionPlaceholder:()=>fL,FilterActionModel:()=>uG,FilterBlockModel:()=>un,FilterFormActionGroupModel:()=>mE,FilterFormActionModel:()=>mR,FilterFormBlockModel:()=>m6,FilterFormCollapseActionModel:()=>m9,FilterFormCustomFieldModel:()=>mC,FilterFormCustomItemModel:()=>my,FilterFormCustomRecordSelectFieldModel:()=>mT,FilterFormFieldModel:()=>pl,FilterFormGridModel:()=>hb,FilterFormItemModel:()=>hx,FilterFormJSActionModel:()=>hw,FilterFormRecordSelectFieldModel:()=>pV,FilterFormResetActionModel:()=>hS,FilterFormSubmitActionModel:()=>hP,FilterManager:()=>dO,FormActionGroupModel:()=>u3,FormActionModel:()=>u8,FormAssociationFieldGroupModel:()=>h7,FormAssociationItemModel:()=>fo,FormBlockContent:()=>cC.JU,FormBlockModel:()=>cC.F4,FormComponent:()=>cC.s2,FormCustomItemModel:()=>hW,FormGridModel:()=>ck,FormItemModel:()=>cz,FormJSFieldItemModel:()=>hH,FormModel:()=>cC.mO,FormSubmitActionModel:()=>u6,GRID_FLOW_KEY:()=>dJ,GRID_STEP:()=>dX,GridModel:()=>d1,IconFieldModel:()=>yZ,InputFieldModel:()=>y0.m,InputNumberField:()=>xl,JSActionModel:()=>uZ,JSBlockModel:()=>ff,JSCollectionActionModel:()=>u0,JSColumnModel:()=>gA,JSEditableFieldModel:()=>xY,JSFieldModel:()=>xB,JSFormActionModel:()=>hG,JSItemActionModel:()=>ce,JSItemModel:()=>x3,JSRecordActionModel:()=>ct,JsonFieldModel:()=>y9,JsonInput:()=>y7,LinkActionModel:()=>cv,MainPageModel:()=>ug,MarkdownItemModel:()=>x6,NBColorPicker:()=>yj,NumberFieldModel:()=>xn,ObjectNester:()=>vF,PageModel:()=>uc,PageTabModel:()=>uA,PasswordFieldModel:()=>xo,PercentFieldModel:()=>xs,PercentInput:()=>xa,PluginSettingsTopbarActionModel:()=>om,PopupActionModel:()=>uj,PopupCollectionActionModel:()=>cl,PopupSubTableActionGroupModel:()=>yg,PopupSubTableActionsColumnModel:()=>yx,PopupSubTableEditActionModel:()=>ys,PopupSubTableFieldModel:()=>yh,PopupSubTableFormActionGroupModel:()=>u7,PopupSubTableFormModel:()=>yb,PopupSubTableFormSubmitActionModel:()=>u4,PopupSubTableRemoveActionModel:()=>yf,QUICK_EDIT_FORM_MAX_HEIGHT:()=>hJ,QUICK_EDIT_MARKDOWN_HEIGHT:()=>hX,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>hY,QuickEditFormModel:()=>h4,RadioGroupFieldModel:()=>xd,RecordActionGroupModel:()=>dv,RecordActionModel:()=>uI.L,RecordPickerContent:()=>gZ,RecordPickerFieldModel:()=>g1,RecordSelectFieldModel:()=>p$,RefreshActionModel:()=>cn,RichTextField:()=>xy,RichTextFieldModel:()=>xx,RootPageModel:()=>uP,RootPageTabModel:()=>uF,RouteModel:()=>ew,SelectFieldModel:()=>xA,SourceCascader:()=>mb,SubFormFieldModel:()=>vk,SubFormListFieldModel:()=>vP,SubPageModel:()=>uM,SubTableColumnModel:()=>vp,SubTableFieldModel:()=>vw,SubTableRecordAction:()=>ya,TABLE_COLUMN_MIN_WIDTH:()=>f_,TableActionsColumnModel:()=>fQ,TableAssociationFieldGroupModel:()=>fZ,TableBlockModel:()=>gg,TableColumnModel:()=>fU,TableCustomColumnModel:()=>fW,TableJSFieldItemModel:()=>gF,TableSelectModel:()=>gC,TextareaFieldModel:()=>xj,TimeFieldModel:()=>xN,TopbarActionModel:()=>oa,UIEditorTopbarActionModel:()=>op,USER_CENTER_ACTION_ID:()=>oh,UnitConversion:()=>bR,UpdateRecordActionModel:()=>cu,UserCenterActionItemModel:()=>oC,UserCenterItemModel:()=>ow,UserCenterSelectItemModel:()=>oF,UserCenterTextItemModel:()=>oS,UserCenterTopbarActionModel:()=>oI,VariableFieldFormModel:()=>xD,ViewActionModel:()=>cc,applyAssociateAction:()=>uO,applyClickToOpenProps:()=>vO,applyClickToOpenSetting:()=>vL,applyDisassociateAction:()=>uB,buildDisplayPathFromValue:()=>vJ,buildRecordPickerParentItemContext:()=>gY,buildRecordPickerPopupContextInputArgs:()=>gX,canRecordPickerSelectMultiple:()=>gV,collectCascadeHydrationCandidate:()=>vG,connectFields:()=>hT,createAssignFieldValuesStep:()=>u1.KW,createAssignFormSubModelOptions:()=>u1.nF,customizeFilterRender:()=>h_,defaultOperator:()=>hB,findOptionPathByTk:()=>vX,formatNumber:()=>bj,getAllDataModels:()=>dR,getAssignFieldValuesDefaultParams:()=>u1.Z1,getAssociationBlockResourceSettings:()=>uR,getAssociationSelectAssociatedRecordsFilter:()=>gS,getAssociationSelectForeignKeyFilter:()=>gw,getAssociationSelectorContextInputArgs:()=>uD,getAssociationTargetResourceSettings:()=>uN,getDefaultOperator:()=>dI,getDetailsItemValue:()=>cN,getDisplayNumber:()=>bI,getFilterFormOperatorList:()=>dM,getFilterFormOperatorMeta:()=>dj,getQuickEditFieldProps:()=>h8,getRecordPickerClearedValue:()=>gW,getRecordPickerEmptyValue:()=>gU,getTopbarPluginSettingsItems:()=>oi,getValueWithIndex:()=>cE,injectRecordPickerPopupContext:()=>gJ,isAssociationBlockContext:()=>uE,isFilterValueEmpty:()=>dT,joinUrlSearch:()=>cm,markCascadeHydrationDone:()=>vY,mergeAssignFieldValues:()=>u1.GO,normalizeRecordPickerSelectedRows:()=>gK,normalizeRecordPickerValue:()=>gH,normalizeTableColumnWidth:()=>fV,operatorComponentProps:()=>hz,recalculateGridSizes:()=>d8,refreshClickToOpenRuntime:()=>vq,resolveAssignFieldValues:()=>u1.eu,resolveCustomFieldOperatorList:()=>mh,resolveDefaultCustomFieldOperator:()=>mf,shouldClearRecordPickerValueOnMultipleChange:()=>gz,tableRowActionsClassName:()=>fY,toOperatorSelectOptions:()=>mg,transformNestedData:()=>vN,transformRowsToSingleColumn:()=>d2});var d={};l.r(d),l.d(d,{aclCheck:()=>wM,aclCheckRefresh:()=>wE,actionLinkageRules:()=>CM,afterSuccess:()=>sl,blockHeight:()=>SS,blockLinkageRules:()=>CP,confirm:()=>sn,customVariable:()=>b5,dataLoadingMode:()=>wb,dataScope:()=>dp,dateRangeLimit:()=>wv,dateTimeFormat:()=>wh,detailsFieldLinkageRules:()=>CE,displayFieldComponent:()=>wk,fieldComponent:()=>wA,fieldLinkageRules:()=>CT,filterFormDefaultValues:()=>Sv,fixed:()=>wL,formAssignRules:()=>Sf,layout:()=>wS,linkageAssignField:()=>Cb,linkageRulesRefresh:()=>Sy,linkageRunjs:()=>CS,linkageSetActionProps:()=>Ci,linkageSetBlockProps:()=>Cn,linkageSetDetailsFieldProps:()=>Cc,linkageSetFieldProps:()=>Cd,linkageSetMenuItemProps:()=>Ca,linkageSetTabProps:()=>Cs,menuLinkageRules:()=>Cj,navigateToURL:()=>b6,numberFormat:()=>CB,openView:()=>bJ,overflowMode:()=>CD,pattern:()=>wB,refreshTargetBlocks:()=>wt,renderMode:()=>ww,required:()=>wC,runjs:()=>bX,setTargetDataScope:()=>wa,showMessage:()=>b0,showNotification:()=>b8,sortingRule:()=>wx,subFormFieldLinkageRules:()=>CR,subFormLinkageAssignField:()=>Cw,subFormLinkageSetFieldProps:()=>Cu,tabLinkageRules:()=>CI,titleField:()=>wc,validation:()=>wq});var u={};l.r(u),l.d(u,{ACLContext:()=>ng.w0,ACLRolesCheckProvider:()=>ng.rR,ADMIN_LAYOUT_MODEL_UID:()=>t$,ADMIN_SETTINGS_KEY:()=>aU.w$,ADMIN_SETTINGS_LAYOUT_MODEL_UID:()=>n0.O,ADMIN_SETTINGS_PATH:()=>aU.wq,AIManager:()=>ec,APIClient:()=>N,APP_SWITCHER_ACTION_PANEL_MODEL_UID:()=>oN,ASSIGN_FIELD_VALUES_STEP_KEY:()=>u1.zL,ActionGroupModel:()=>df,ActionModel:()=>dy.S0,ActionSceneEnum:()=>dy.s5,ActionWithoutPermission:()=>dy._T,AddChildActionModel:()=>cw,AddNewActionModel:()=>uT,AdminLayoutComponent:()=>ri,AdminLayoutContent:()=>nu,AdminLayoutMenuItemModel:()=>nl,AdminLayoutMenuItemRenderer:()=>lE,AdminLayoutMenuModelRenderer:()=>l$,AdminLayoutModel:()=>ry,AdminLayoutRouteCoordinator:()=>tD,AdminSettingsLayout:()=>FR.AdminSettingsLayout,AdminSettingsLayoutModel:()=>FE.C,AntdAppProvider:()=>Z,AppError:()=>em.uV,AppMaintaining:()=>em.be,AppMaintainingDialog:()=>em.tp,AppNotFound:()=>em.bM,AppSpin:()=>em.gv,AppSwitcherActionPanelModel:()=>FM,Application:()=>aY,ApplicationContext:()=>aJ,ApplicationModel:()=>iK,AssignFormGridModel:()=>cP,AssignFormItemModel:()=>cX,AssignFormModel:()=>cF,AssociateActionModel:()=>u_,AssociationFieldGroupModel:()=>dx,AssociationFieldModel:()=>po,BaseApplication:()=>i_,BaseLayoutModel:()=>eH,BaseLayoutRouteCoordinator:()=>eI,BasePageTabModel:()=>uC,BlankComponent:()=>em.ct,BlockGridModel:()=>d4,BlockModel:()=>d7.z,BlockSceneEnum:()=>d7.P,BulkDeleteActionModel:()=>uV,CascadeSelectFieldModel:()=>v6,CascadeSelectInnerFieldModel:()=>v2,CascadeSelectListFieldModel:()=>v3,CheckboxFieldInterface:()=>ky,CheckboxFieldModel:()=>yC,CheckboxGroupFieldInterface:()=>kx,CheckboxGroupFieldModel:()=>yF,ChildPageModel:()=>um,ChildPageTabModel:()=>uk,ClickableFieldModel:()=>v_,CodeEditor:()=>uX.BY,CodeEditorExtension:()=>k9.o,CodeScanner:()=>em.O5,CollectionActionGroupModel:()=>dg,CollectionActionModel:()=>d9.U,CollectionBlockModel:()=>ue.t,CollectionFieldInterface:()=>kv,CollectionFieldInterfaceManager:()=>aT,CollectionFilter:()=>em.px,CollectionFilterItem:()=>em.Ql,CollectionFilterPanel:()=>em.XO,CollectionSelect:()=>an,CollectionSelectFieldInterface:()=>kb,CollectionSelectorFieldModel:()=>yP,ColorFieldInterface:()=>kw,ColorFieldModel:()=>yI,CommonItemModel:()=>ut,CreateContent:()=>pT,CreateFormModel:()=>hU,CreatedAtFieldInterface:()=>kS,CreatedByFieldInterface:()=>kC,CurrentUserContext:()=>FX,CustomWidth:()=>fz,DEFAULT_ADMIN_LAYOUT_ROUTE_PATH:()=>tv,DEFAULT_DATA_SOURCE_KEY:()=>eR.Ze,DEFAULT_PAGE_SIZE:()=>em.yQ,DataBlockModel:()=>ul.R,DateFieldInterface:()=>k8,DateOnlyFieldModel:()=>yV,DateOnlyFilterFieldModel:()=>pW,DateOnlyPicker:()=>y_,DateTimeFilterFieldModel:()=>pK,DateTimeNoTzFieldModel:()=>yK,DateTimeNoTzFilterFieldModel:()=>pG,DateTimeNoTzPicker:()=>yz,DateTimeTzFieldModel:()=>yG,DateTimeTzFilterFieldModel:()=>pJ,DateTimeTzPicker:()=>yH,DatetimeFieldInterface:()=>kF,DatetimeNoTzFieldInterface:()=>k6,DefaultToolsManager:()=>eu,DeleteActionModel:()=>uz,DetailsAssociationFieldGroupModel:()=>cQ,DetailsBlockModel:()=>c2,DetailsCustomItemModel:()=>c3,DetailsGridModel:()=>c5,DetailsItemModel:()=>c$,DetailsJSFieldItemModel:()=>pt,DetailsPagination:()=>c8,DialogFormLayout:()=>em.xg,DisassociateActionModel:()=>uK,DisplayCheckboxFieldModel:()=>bq,DisplayColorFieldModel:()=>bs,DisplayDateTimeFieldModel:()=>bc,DisplayEnumFieldModel:()=>bf,DisplayHtmlFieldModel:()=>bv,DisplayIconFieldModel:()=>by,DisplayJSONFieldModel:()=>bw,DisplayNumberFieldModel:()=>bT,DisplayPasswordFieldModel:()=>bE,DisplayPercentFieldModel:()=>bN,DisplaySubItemFieldModel:()=>bn,DisplaySubListFieldModel:()=>ba,DisplaySubTableFieldModel:()=>bl,DisplayTextFieldModel:()=>bD,DisplayTimeFieldModel:()=>bB,DisplayTitleFieldModel:()=>x4,DisplayURLFieldModel:()=>b$,DividerItemModel:()=>xZ,DragSortRowContext:()=>em.c5,DrawerFormLayout:()=>em.gh,EditActionModel:()=>uU,EditFormContent:()=>yi,EditFormModel:()=>cB.EditFormModel,EmailFieldInterface:()=>kk,EntryActionManager:()=>eh,EnvVariableInput:()=>em.s9,ExpandCollapseActionModel:()=>cy,ExtendCollectionsProvider:()=>k7,FieldAssignValueInput:()=>wf.zv,FieldDeletePlaceholder:()=>fq,FieldFilterOperatorRegistry:()=>i6,FieldModel:()=>sr.o,FieldModelSelect:()=>p9,FieldOperatorSelect:()=>mv,FieldValidationConfigureRegistry:()=>aA,FieldWithoutPermissionPlaceholder:()=>fL,FileSizeInput:()=>em.c,FilterActionModel:()=>uG,FilterBlockModel:()=>un,FilterContent:()=>so.oJ,FilterFormActionGroupModel:()=>mE,FilterFormActionModel:()=>mR,FilterFormBlockModel:()=>m6,FilterFormCollapseActionModel:()=>m9,FilterFormCustomFieldModel:()=>mC,FilterFormCustomItemModel:()=>my,FilterFormCustomRecordSelectFieldModel:()=>mT,FilterFormFieldModel:()=>pl,FilterFormGridModel:()=>hb,FilterFormItemModel:()=>hx,FilterFormJSActionModel:()=>hw,FilterFormRecordSelectFieldModel:()=>pV,FilterFormResetActionModel:()=>hS,FilterFormSubmitActionModel:()=>hP,FilterGroup:()=>so.I8,FilterItem:()=>so.qi,FilterManager:()=>dO,FlowModelRepository:()=>CV,FlowPage:()=>bz,FlowRoute:()=>rN,FormActionGroupModel:()=>u3,FormActionModel:()=>u8,FormAssociationFieldGroupModel:()=>h7,FormAssociationItemModel:()=>fo,FormBlockContent:()=>cC.JU,FormBlockModel:()=>cC.F4,FormComponent:()=>cC.s2,FormCustomItemModel:()=>hW,FormGridModel:()=>ck,FormItemModel:()=>cz,FormJSFieldItemModel:()=>hH,FormModel:()=>cC.mO,FormSubmitActionModel:()=>u6,GRID_FLOW_KEY:()=>dJ,GRID_STEP:()=>dX,GlobalThemeProvider:()=>es,GridModel:()=>d1,HeaderContext:()=>lF,Icon:()=>em.In,IconFieldInterface:()=>kA,IconFieldModel:()=>yZ,IconPicker:()=>eR.ar,IdFieldInterface:()=>kP,InputFieldInterface:()=>kI,InputFieldModel:()=>y0.m,InputNumberField:()=>xl,IntegerFieldInterface:()=>kT,InternalAdminSettingsLayout:()=>FR.InternalAdminSettingsLayout,JSActionModel:()=>uZ,JSBlockModel:()=>ff,JSCollectionActionModel:()=>u0,JSColumnModel:()=>gA,JSEditableFieldModel:()=>xY,JSFieldModel:()=>xB,JSFormActionModel:()=>hG,JSItemActionModel:()=>ce,JSItemModel:()=>x3,JSRecordActionModel:()=>ct,JsonFieldInterface:()=>kR,JsonFieldModel:()=>y9,JsonInput:()=>y7,JsonTextArea:()=>em.V4,KeepAlive:()=>em.PR,KeepAliveProvider:()=>em.cn,LayoutContent:()=>nc,LayoutContentRoute:()=>r$,LayoutManager:()=>r0,LayoutRoute:()=>rK,LinkActionModel:()=>cv,LinkageFilterItem:()=>so.Ru,M2MFieldInterface:()=>kE,M2OFieldInterface:()=>kN,MAX_MESSAGE_CHARS:()=>uX.hP,MENU_TYPE_OPTIONS:()=>lJ,MainPageModel:()=>ug,MarkdownFieldInterface:()=>kD,MarkdownItemModel:()=>x6,MobileMenuControlContext:()=>lC,MockFlowModelRepository:()=>C_,MultipleSelectFieldInterface:()=>k$,NBColorPicker:()=>yj,NanoidFieldInterface:()=>k1,NocoBaseBuildInPlugin:()=>F8,NocoBaseBuildInPluginV2:()=>F8,NocoBaseDesktopRouteType:()=>eR.q2,NumberFieldInterface:()=>kB,NumberFieldModel:()=>xn,O2MFieldInterface:()=>kq,OBOFieldInterface:()=>kO,OHOFieldInterface:()=>kL,ObjectNester:()=>vF,OptionsEditor:()=>aC,PAGE_SIZE_OPTIONS:()=>em.xp,PLUGIN_MANAGER_SETTING_NAME:()=>n0.Bm,PageModel:()=>uc,PageTabModel:()=>uA,PasswordFieldInterface:()=>k_,PasswordFieldModel:()=>xo,PasswordInput:()=>em.yA,PercentFieldInterface:()=>kV,PercentFieldModel:()=>xs,PercentInput:()=>xa,PhoneFieldInterface:()=>kz,PinnedPluginListContext:()=>ny,PinnedPluginListLite:()=>oE,Plugin:()=>a2,PluginFlowEngine:()=>F$,PluginManager:()=>aK,PluginManagerPage:()=>FN.PluginManagerPage,PluginSettingsManager:()=>aU.mz,PluginSettingsTopbarActionModel:()=>om,PopupActionModel:()=>uj,PopupCollectionActionModel:()=>cl,PopupSubTableActionGroupModel:()=>yg,PopupSubTableActionsColumnModel:()=>yx,PopupSubTableEditActionModel:()=>ys,PopupSubTableFieldModel:()=>yh,PopupSubTableFormActionGroupModel:()=>u7,PopupSubTableFormModel:()=>yb,PopupSubTableFormSubmitActionModel:()=>u4,PopupSubTableRemoveActionModel:()=>yf,PoweredBy:()=>em.G5,QUICK_EDIT_FORM_MAX_HEIGHT:()=>hJ,QUICK_EDIT_MARKDOWN_HEIGHT:()=>hX,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>hY,QuickEditFormModel:()=>h4,RadioGroupFieldInterface:()=>kK,RadioGroupFieldModel:()=>xd,RangeValidationItems:()=>ak,RecordActionGroupModel:()=>dv,RecordActionModel:()=>uI.L,RecordPickerContent:()=>gZ,RecordPickerFieldModel:()=>g1,RecordSelectFieldModel:()=>p$,RefreshActionModel:()=>cn,RemoteFlowModelRenderer:()=>bK,RemoteSelect:()=>em.lT,ResetThemeTokenAndKeepAlgorithm:()=>tz,RichTextField:()=>xy,RichTextFieldInterface:()=>kU,RichTextFieldModel:()=>xx,RootPageModel:()=>uP,RootPageTabModel:()=>uF,RouteModel:()=>ew,RouteRepository:()=>r1,RouterContextCleaner:()=>em.PK,RouterManager:()=>nZ,SNIPPET_PREFIX:()=>aU.tJ,SYSTEM_SETTINGS_SETTING_NAME:()=>n0.jm,ScanInput:()=>em.E5,SelectFieldInterface:()=>kW,SelectFieldModel:()=>xA,SkeletonFallback:()=>rq,SnowflakeIdFieldInterface:()=>kH,SortHandle:()=>em.vm,SortableCategoryTabs:()=>em.pO,SortableRow:()=>em.B7,SourceCascader:()=>mb,SubFormFieldModel:()=>vk,SubFormListFieldModel:()=>vP,SubPageModel:()=>uM,SubTableColumnModel:()=>vp,SubTableFieldModel:()=>vw,SubTableRecordAction:()=>ya,SwitchLanguage:()=>em.rw,SystemSettingsPage:()=>FD.SystemSettingsPage,SystemSettingsSource:()=>ef.o,TABLE_COLUMN_MIN_WIDTH:()=>f_,Table:()=>em.XI,TableActionsColumnModel:()=>fQ,TableAssociationFieldGroupModel:()=>fZ,TableBlockModel:()=>gg,TableColumnModel:()=>fU,TableCustomColumnModel:()=>fW,TableJSFieldItemModel:()=>gF,TableSelectModel:()=>gC,TableoidFieldInterface:()=>kG,TextAreaWithContextSelector:()=>a6.n,TextareaFieldInterface:()=>kY,TextareaFieldModel:()=>xj,TimeFieldInterface:()=>kJ,TimeFieldModel:()=>xN,TopbarActionModel:()=>oa,TypedVariableInput:()=>em.Pb,UIEditorTopbarActionModel:()=>op,UI_OPERATION_QUERY_KEY:()=>Ae.CL,USER_CENTER_ACTION_ID:()=>oh,UUIDFieldInterface:()=>k0,UnitConversion:()=>bR,UnixTimestampFieldInterface:()=>k2,UpdateRecordActionModel:()=>cu,UpdatedAtFieldInterface:()=>kX,UpdatedByFieldInterface:()=>kQ,UrlFieldInterface:()=>kZ,UserCenterActionItemModel:()=>oC,UserCenterItemModel:()=>ow,UserCenterSelectItemModel:()=>oF,UserCenterTextItemModel:()=>oS,UserCenterTopbarActionModel:()=>oI,VariableFieldFormModel:()=>xD,VariableFilterItem:()=>so.Et,VariableInput:()=>em.P8,VariableJSON:()=>em.hJ,VariableJsonTextArea:()=>em.jr,VariableTextArea:()=>em.hp,ViewActionModel:()=>cc,WebSocketClient:()=>r2,aclCheck:()=>wM,aclCheckRefresh:()=>wE,actionLinkageRules:()=>CM,addCustomAlgorithmToTheme:()=>er,addFieldValidationConfiguresToGroup:()=>aI,afterSuccess:()=>sl,applyAssociateAction:()=>uO,applyClickToOpenProps:()=>vO,applyClickToOpenSetting:()=>vL,applyDisassociateAction:()=>uB,applyMobilePaginationProps:()=>co.hO,array:()=>iH,bigField:()=>i8,blockHeight:()=>SS,blockLinkageRules:()=>CP,boolean:()=>i0,browserUIOperationCodec:()=>Aa,buildDisplayPathFromValue:()=>vJ,buildInsertRouteSchema:()=>l4,buildLinkSettingSchema:()=>lH,buildMenuBasicSchema:()=>lX,buildMenuTitleWithIcon:()=>lO,buildRecordPickerParentItemContext:()=>gY,buildRecordPickerPopupContextInputArgs:()=>gX,buildV2SigninHref:()=>tm,canRecordPickerSelectMultiple:()=>gV,collectCascadeHydrationCandidate:()=>vG,collection:()=>i2,compatOldTheme:()=>en,configurePropertiesToItems:()=>ap,confirm:()=>sn,connectFields:()=>hT,createAclSnippetAllow:()=>ng.rN,createAssignFieldValuesStep:()=>u1.KW,createAssignFormSubModelOptions:()=>u1.nF,createCompactSimpleItemRender:()=>co.hH,createDefaultCollectionBlockTitle:()=>co.lr,createFilterable:()=>at,createFormRegistry:()=>em.oV,createInsertMenuStep:()=>l2,createMockClient:()=>a1,createSettingsPathMap:()=>n0.nC,createTypedFilterable:()=>al,customAlgorithm:()=>eo,customVariable:()=>b5,customizeFilterRender:()=>h_,dataLoadingMode:()=>wb,dataScope:()=>dp,dateRangeLimit:()=>wv,dateTimeFormat:()=>wh,dateTimeFormatConfigureItems:()=>ab,datetime:()=>iY,decodeUIOperation:()=>Ad,defaultOperator:()=>hB,defaultTheme:()=>el,detailsFieldLinkageRules:()=>CE,diagnoseRunJS:()=>uX.fL,dispatchEventDeep:()=>co.Xi,displayFieldComponent:()=>wk,editMarkdownFlow:()=>x2,encodeUIOperation:()=>Au,enumType:()=>iQ,escapeHTML:()=>nF.Z,evaluateFieldConfigureExpression:()=>aa,fieldComponent:()=>wA,fieldFilterOperatorPresets:()=>i4,fieldFilterOperators:()=>i5,fieldLinkageRules:()=>CT,fieldValidationConfigureRegistry:()=>aP,filterFormDefaultValues:()=>Sv,filterOperatorRegistry:()=>i3,filterRenderableSettings:()=>n0.Ui,filterVisibleSettings:()=>n0.eD,findFirstAccessiblePageRoute:()=>tR,findFirstInternalSettingsPage:()=>n0.X2,findFirstV2LandingRoute:()=>tT,findNextSiblingRoute:()=>l3,findOptionPathByTk:()=>vX,findPrevSiblingRoute:()=>l6,findSettingsByName:()=>n0.R0,fixed:()=>wL,formAssignRules:()=>Sf,formatEnvPath:()=>em.EM,formatNumber:()=>bj,formatRunJSPreviewMessage:()=>uX.by,formatVariablePath:()=>em.X5,getAdminLayoutMenuInitializerButton:()=>lB,getAdminLayoutMenuMovePositionOptions:()=>lk,getAdminLayoutMenuVirtualPath:()=>le,getAdminLayoutModel:()=>rx,getAdminLayoutRoutePath:()=>tb,getAllDataModels:()=>dR,getAppVersionHTML:()=>nF.p,getAssignFieldValuesDefaultParams:()=>u1.Z1,getAssociationBlockResourceSettings:()=>uR,getAssociationSelectAssociatedRecordsFilter:()=>gS,getAssociationSelectForeignKeyFilter:()=>gw,getAssociationSelectorContextInputArgs:()=>uD,getAssociationTargetResourceSettings:()=>uN,getCoreFieldConfigureState:()=>av,getCurrentV2RedirectPath:()=>tp,getDefaultOperator:()=>dI,getDefaultSettingsPath:()=>n0.C9,getDefaultV2AdminRedirectPath:()=>ts,getDetailsItemValue:()=>cN,getDisplayNumber:()=>bI,getFilterFormOperatorList:()=>dM,getFilterFormOperatorMeta:()=>dj,getLayoutContentRouteNames:()=>eB,getLayoutModel:()=>eG,getLayoutPageRouteName:()=>eE,getLayoutPageTabRouteName:()=>eN,getLayoutPageTabViewRouteName:()=>e$,getLayoutPageViewRouteName:()=>eD,getMenuCreationDefaultParams:()=>lY,getMenuCreationUiSchema:()=>l0,getMenuEditDefaultParams:()=>lZ,getMenuItems:()=>n0.gL,getMobileCompactPaginationClassName:()=>co.NY,getModernClientPrefix:()=>tl,getPinnedPluginListKeys:()=>nv,getQuickEditFieldProps:()=>h8,getRecordPickerClearedValue:()=>gW,getRecordPickerEmptyValue:()=>gU,getRouteRuntimeVersion:()=>kn,getSimpleModePaginationClassName:()=>co.HZ,getTopbarPluginSettingsItems:()=>oi,getUniqueKeyFromCollection:()=>k3,getUnknownCountPaginationTotal:()=>co.SM,getV2EffectiveBasePath:()=>to,getValueWithIndex:()=>cE,hasIcon:()=>em.cE,hasOwnSettingsPage:()=>n0.lv,icons:()=>em.Pt,id:()=>iX,indexConfigureItems:()=>ax,injectRecordPickerPopupContext:()=>gJ,insertRouteSchema:()=>lG,isAssociationBlockContext:()=>uE,isFilterValueEmpty:()=>dT,isLayoutContentRouteName:()=>eO,isTitleField:()=>eR.ji,isTitleFieldInterface:()=>eR.w,isV2AdminRuntime:()=>tC,isV2MenuRoute:()=>tI,joinAdminLayoutRoutePath:()=>tw,joinUrlSearch:()=>cm,languageCodes:()=>a8.A,layout:()=>wS,linkageAssignField:()=>Cb,linkageRulesRefresh:()=>Sy,linkageRunjs:()=>CS,linkageSetActionProps:()=>Ci,linkageSetBlockProps:()=>Cn,linkageSetDetailsFieldProps:()=>Cc,linkageSetFieldProps:()=>Cd,linkageSetMenuItemProps:()=>Ca,linkageSetTabProps:()=>Cs,makeFormatVariablePath:()=>em.nW,makeParseVariablePath:()=>em.Dx,makeVariableRegExp:()=>em.at,markCascadeHydrationDone:()=>vY,matchSettingsRoute:()=>n0.CM,matchesRoutePath:()=>l5,menuLinkageRules:()=>Cj,mergeAssignFieldValues:()=>u1.GO,mergePaginationClassName:()=>co.M6,navigateToURL:()=>b6,normalizeAdminLayoutMenuLegacyVariables:()=>ld,normalizeCollectionTemplateField:()=>k5,normalizeCollectionTemplateFields:()=>k4,normalizeFilterableOperators:()=>i9,normalizeLayoutRoutePath:()=>rQ,normalizeRecordPickerSelectedRows:()=>gK,normalizeRecordPickerValue:()=>gH,normalizeTableColumnWidth:()=>fV,normalizeV2RedirectPath:()=>tc,number:()=>iJ,numberFormat:()=>CB,object:()=>iG,openAdminLayoutMenuLink:()=>lh,openView:()=>bJ,openViewFlow:()=>ex,operatorComponentProps:()=>hz,overflowMode:()=>CD,parseEnvPath:()=>em.uO,parseUIOperation:()=>As,parseVariablePath:()=>em.h7,pattern:()=>wB,previewRunJS:()=>uX.zA,recalculateGridSizes:()=>d8,reconcileAdminLayoutMenuItems:()=>lP,redirectToV2Signin:()=>th,refreshClickToOpenRuntime:()=>vq,refreshTargetBlocks:()=>wt,registerFieldValidationConfigure:()=>aM,registerFieldValidationConfigureGroup:()=>aj,registerIcon:()=>em.pU,registerIcons:()=>em.K1,removeMarkdownIframes:()=>Fo.VC,removeUIOperation:()=>Ae.Wq,renderMode:()=>ww,replaceRouteParams:()=>n0.uT,required:()=>wC,resolveAdminLayoutMenuDragMoveOptions:()=>lM,resolveAdminLayoutMenuDragMoveOptionsFromEvent:()=>lj,resolveAdminLayoutMenuLink:()=>lu,resolveAdminRouteRuntimeTarget:()=>tN,resolveAssignFieldValues:()=>u1.eu,resolveCustomFieldOperatorList:()=>mh,resolveDefaultCustomFieldOperator:()=>mf,resolveDynamicNamePath:()=>sf.IJ,resolveFilterOperators:()=>i7,resolveV2SigninRedirect:()=>tf,reverseFieldConfigureItem:()=>aS,reverseFieldConfigureItems:()=>aw,runCoreFieldConfigureEffects:()=>ay,runjs:()=>bX,setTargetDataScope:()=>wa,shouldClearRecordPickerValueOnMultipleChange:()=>gz,shouldOpenAdminRouteInNewWindow:()=>nX,shouldRenderIconInTitle:()=>lN,showMessage:()=>b0,showNotification:()=>b8,sortTopLevelSettings:()=>n0.p$,sortingRule:()=>wx,string:()=>iW,stripMarkdownIframeTags:()=>Fo.jR,stripMarkdownIframes:()=>Fo.$P,stripModernClientPrefix:()=>tn,subFormFieldLinkageRules:()=>CR,subFormLinkageAssignField:()=>Cw,subFormLinkageSetFieldProps:()=>Cu,tabLinkageRules:()=>CI,tableRowActionsClassName:()=>fY,tableoid:()=>i1,time:()=>iZ,titleField:()=>wc,toOperatorSelectOptions:()=>mg,toRouterNavigationPath:()=>tF,toToolsMap:()=>ep,toTreeSelectItems:()=>l8,toViewStack:()=>eT,transformNestedData:()=>vN,transformRowsToSingleColumn:()=>d2,useACLContext:()=>ng.bq,useACLRoleContext:()=>ng.v6,useAclSnippets:()=>ng.K3,useAdminLayoutRoutePage:()=>FT,useApp:()=>Y.n,useAppListRender:()=>o_,useApplications:()=>o$,useCurrentAppInfo:()=>nw.g,useCurrentRoleMode:()=>ng.GL,useCurrentRoles:()=>FZ,useCurrentUserContext:()=>FQ,useFilterOptions:()=>so.uw,useFilteredMetaTree:()=>em.a7,useGlobalTheme:()=>ea,useKeepAlive:()=>em.Y,useLayoutRoutePage:()=>rb,useMobileLayout:()=>FI,usePlugin:()=>nS.n,useRoleRecheck:()=>ng.N5,useRouter:()=>nC,useSystemSettings:()=>ef.e,useUIConfigurationPermissions:()=>ng.uM,validation:()=>wq});var c={};l.r(c),l.d(c,{array:()=>MJ,bigField:()=>M5,boolean:()=>M8,collection:()=>M3,datetime:()=>MQ,enumType:()=>M1,id:()=>M0,number:()=>MZ,object:()=>MX,string:()=>MY,tableoid:()=>M6,time:()=>M2});var p={};l.r(p),l.d(p,{autoFill:()=>jt,autoIncrement:()=>je,collectionDataSource:()=>ju,constraintsProps:()=>jn,dataSource:()=>ja,dateTimeProps:()=>jr,defaultProps:()=>js,operators:()=>c,primaryKey:()=>M9,recordPickerViewer:()=>jd,relationshipType:()=>jl,reverseFieldProperties:()=>jo,timeProps:()=>ji,type:()=>M4,unique:()=>M7});var m={};l.r(m),l.d(m,{FormActiveFieldsProvider:()=>LB,appendQueryStringToUrl:()=>Yb,completeURL:()=>YA,fillParentFields:()=>YM,findFilterTargets:()=>G2,getAppends:()=>Yg,getAssociationPath:()=>Yf,getCardItemSchema:()=>GH,getFormValues:()=>GQ,getPageSchema:()=>GW,navigateWithinSelf:()=>YP,parseVariablesAndChangeParamsToQueryString:()=>YF,reduceValueSize:()=>Yk,replaceVariableValue:()=>YC,updateFilterTargets:()=>G8,useAssociationCreateActionProps:()=>G1,useAssociationFilterBlockProps:()=>Ym,useAssociationFilterProps:()=>Yu,useAssociationNames:()=>Yv,useBlockHeightProps:()=>GU,useBulkDestroyActionProps:()=>Yr,useCollectValuesToSubmit:()=>GZ,useCreateActionProps:()=>G0,useCustomizeBulkUpdateActionProps:()=>G9,useCustomizeRequestActionProps:()=>Ye,useCustomizeUpdateActionProps:()=>G7,useDataBlockParentRecord:()=>GG,useDestroyActionProps:()=>Yl,useDetailsPaginationProps:()=>Yd,useDisassociateActionProps:()=>Yo,useEditTableActionProps:()=>Ys,useFilterBlockActionProps:()=>G3,useFormActiveFields:()=>LO,useLinkActionProps:()=>YS,useOptionalFieldList:()=>Yc,useParseURLAndParams:()=>Yw,useParsedFilter:()=>RH,usePickActionProps:()=>GY,useRefreshActionProps:()=>Yi,useRemoveActionProps:()=>Yn,useResetBlockActionProps:()=>G4,useTableColumns:()=>Ya,useUpdateActionProps:()=>Yt});var h={};l.r(h),l.d(h,{DateFilterDynamicComponent:()=>Yq,DndContext:()=>EW,DragHandler:()=>N7,DraggableContext:()=>NZ,ShowFormData:()=>Y$,Sortable:()=>N8,SortableContext:()=>N0,SortableItem:()=>N4,SortableProvider:()=>N1,getRenderContent:()=>I4});var f={};l.r(f),l.d(f,{AssignedField:()=>eng,AssignedFieldInner:()=>enf,AssignedFieldValueType:()=>enh,CreateAction:()=>enS,CreateRecordAction:()=>enF,useAclCheck:()=>eny});var g={};l.r(g),l.d(g,{Action:()=>ZY,ActionBar:()=>Z4,ActionBarProvider:()=>Z8,ActionContext:()=>HK,ActionContextNoRerender:()=>HH,ActionContextProvider:()=>HU,ActionDesigner:()=>JJ,AfterSuccess:()=>JK,AllDataBlocksContext:()=>Ig,AllDataBlocksProvider:()=>Iv,AntdSchemaComponentPlugin:()=>etx,AntdSchemaComponentProvider:()=>ety,AppendsTreeSelect:()=>etP,AssignedFieldValues:()=>J$,AssociationField:()=>eot,AssociationFieldMode:()=>eni,AssociationFieldModeProvider:()=>end,AssociationSelect:()=>eoi,AttachmentList:()=>elM,AutoComplete:()=>eos,BackButtonUsedInSubPage:()=>$G,Block:()=>erw,BlockItem:()=>YV,BlockItemCard:()=>GK,BlockItemCardContext:()=>Gz,BlocksSelector:()=>Jz,ButtonEditor:()=>JD,CardItem:()=>eom,Cascader:()=>eoy,Checkbox:()=>elZ,CollectionSelect:()=>eoS,ColorPicker:()=>eoP,ColorSelect:()=>eoj,Cron:()=>eoE,CronSet:()=>eoB,DataSourceCollectionCascader:()=>eoA,DataSourceSelect:()=>eoF,DateFormatCom:()=>MU,DatePicker:()=>zW,DatePickerProvider:()=>zz,Details:()=>eoO,DetailsDesigner:()=>eeu,Divider:()=>eoq,EditComponent:()=>YQ,EditDefaultValue:()=>YX,EditDescription:()=>YH,EditOperator:()=>Y1,EditPattern:()=>YZ,EditRequired:()=>YY,EditSortField:()=>eao,EditTable:()=>eo5,EditTableAction:()=>erl,EditTableActionContext:()=>ere,EditTitle:()=>YW,EditTitleField:()=>Y2,EditTooltip:()=>YG,EditValidationRules:()=>YJ,Editable:()=>eig,EllipsisWithTooltip:()=>Gt,ErrorFallback:()=>TM,Expand:()=>erm,ExpiresRadio:()=>MG,FieldsTreeSelect:()=>etA,Fieldset:()=>erh,Filter:()=>Kz,FilterAction:()=>Kj,FilterActionContext:()=>KP,FilterContext:()=>zu,FilterDynamicComponent:()=>KB,FilterLogicContext:()=>zc,Form:()=>eei,FormDialog:()=>UZ,FormDrawer:()=>eaP,FormField:()=>eeK,FormItem:()=>Ja,FormV2:()=>eeL,G2Plot:()=>erb,G2PlotRenderer:()=>erx,Grid:()=>LD,GridCard:()=>erO,GridRowContext:()=>Lb,HTMLEncode:()=>Gl,ICON_POPUP_Z_INDEX:()=>KF,IconPicker:()=>erV,Input:()=>GF,InputNumber:()=>erQ,InputReadPretty:()=>Gn,InputRecordPicker:()=>eiP,Json:()=>H5,LinkageFilter:()=>eaL,List:()=>eit,Markdown:()=>G_,MarkdownReadPretty:()=>GV,Menu:()=>Dk,NanoIDInput:()=>eil,Page:()=>etn,PagePopups:()=>Rk,PageTabs:()=>eto,Pagination:()=>ein,ParentRouteContext:()=>Dg,Password:()=>eic,Percent:()=>eih,PopupSettingsProvider:()=>TK,Preview:()=>eif,QuickEdit:()=>eiv,Radio:()=>elJ,ReadPretty:()=>Gn,ReadPrettyRecordPicker:()=>eiR,RecordPicker:()=>eiE,RecordPickerContext:()=>eiS,RecordPickerProvider:()=>eiM,RefreshDataBlockRequest:()=>JX,RemoteSelect:()=>eeA,RemoveButton:()=>JU,RemoveConditionContext:()=>zd,RequestSettings:()=>JB,RichText:()=>ei$,SecondConFirm:()=>JG,Select:()=>eew,SkipValidation:()=>JO,Space:()=>eiB,StablePopover:()=>Kk,Table:()=>ei9,TableBlockDesigner:()=>ear,TableField:()=>eai,TableSelectorDesigner:()=>eaa,TableV2:()=>eas,Tabs:()=>eap,TabsContextProvider:()=>T_,Templates:()=>eeM,TestDesigner:()=>Yz,TextAreaWithGlobalScope:()=>eaF,TimePicker:()=>eag,TreeSelect:()=>eay,UnixTimestamp:()=>eaw,Upload:()=>elC,Uploader:()=>elj,Variable:()=>XP,VariableScopeProvider:()=>Xk,VariableSelect:()=>GP,actionSettings:()=>JY,actionSettingsItems:()=>JW,allowAddNew:()=>K6,attachmentFileTypes:()=>etG,defaultFieldNames:()=>eep,fetchTemplateData:()=>eeI,filterFormItemSettings:()=>QQ,findByUid:()=>De,findKeysByUid:()=>Dn,findMenuItem:()=>Dt,formDetailsSettings:()=>eez,formItemSettings:()=>K3,formSettings:()=>ee_,formV1Settings:()=>eea,genStyleHook:()=>A7,getCurrentOptions:()=>eef,getDateExact:()=>IW,getDatePickerLabels:()=>eib,getDateRanges:()=>IU,getLabelFormatValue:()=>eiw,getPopupPathFromParams:()=>Rs,getStoredPopupContext:()=>Rt,getTabSchema:()=>etm,getZIndex:()=>$q,handleDateChangeOnForm:()=>IB,inferPickerType:()=>IG,isBulkEditAction:()=>ZQ,isFileCollection:()=>Js,isMobile:()=>Iq,isShowFilePicker:()=>eiI,isTabPage:()=>etp,isWriteEmailAction:()=>ZZ,mapDatePicker:()=>IO,mapRangePicker:()=>IL,mapTimeFormat:()=>eaf,matchMimetype:()=>etY,moment2str:()=>ID,navigateToTab:()=>etc,pageSettings:()=>etf,pageTabSettings:()=>etv,readPrettyFormSettings:()=>eeV,removeNullCondition:()=>KX,resolveFilterPickerFormat:()=>zL,storePopupContext:()=>Rl,useActionBarContext:()=>Z6,useActionContext:()=>HG,useAfterSuccessOptions:()=>JI,useAllDataBlocks:()=>Iy,useAssociationFieldContext:()=>BW,useAssociationFieldModeContext:()=>enu,useBackButton:()=>$H,useCloseAction:()=>HY,useColumnSchema:()=>Lc,useColumnSettings:()=>BZ,useCurrentPopupContext:()=>Rj,useDatePickerContext:()=>zV,useDownloadLogs:()=>TP,useEnsureOperatorsValid:()=>Y0,useFieldMode:()=>Un,useFieldNames:()=>eiy,useFilterActionProps:()=>KQ,useFilterFieldOptions:()=>KY,useFilterFieldProps:()=>KZ,useFilterOptions:()=>KU,useFormDataTemplates:()=>eeP,useGetAriaLabelOfAction:()=>ZW,useGetAriaLabelOfDrawer:()=>Oz,useGetAriaLabelOfModal:()=>$$,useGetAriaLabelOfPopover:()=>Z7,useGetFilterFieldOptions:()=>KW,useGetFilterOptions:()=>KK,useGridContext:()=>LR,useGridRowContext:()=>LE,useIsAddNewForm:()=>K5,useIsAssociationField:()=>Ut,useIsFieldReadPretty:()=>K9,useIsFileField:()=>Ul,useIsFormReadPretty:()=>K7,useIsSelectFieldMode:()=>Uo,useKeepAliveLocationSearch:()=>etl,useLabelUiSchema:()=>eix,useLinkageAction:()=>HJ,useListBlockContext:()=>er2,useMenuDragEnd:()=>DF,useMenuTranslation:()=>N9,useNocoBaseRoutes:()=>Dy,useParentRoute:()=>Dv,usePopupSettings:()=>TU,useStyles:()=>NB,useTableColumnIntegration:()=>B0,useTabsContext:()=>TV,useTitleFieldOptions:()=>Ua,useUploadStyles:()=>els,useValidateSchema:()=>Ur,useVariableScope:()=>XA,useZIndexContext:()=>$O,withSearchParams:()=>Rc,zIndexContext:()=>$B});var v={};l.r(v),l.d(v,{isDeleteButtonDisabled:()=>es$,useBulkDestroyAction:()=>esI,useBulkDestroyActionAndRefreshCM:()=>esB,useCancelAction:()=>esc,useChildrenCollections:()=>esg,useCollectionFieldsOptions:()=>esw,useCollectionFilterOptions:()=>esy,useCollectionFilterOptionsV2:()=>esx,useCreateAction:()=>esF,useCreateActionAndRefreshCM:()=>esR,useCreateActionWithoutRefresh:()=>esk,useDeleteButtonDisabled:()=>esD,useDestroyAction:()=>esj,useDestroyActionAndRefreshCM:()=>esN,useFilterAction:()=>esC,useFilterActionProps:()=>esO,useFilterDataSource:()=>esS,useKanbanEvents:()=>esh,useLinkageCollectionFilterOptions:()=>esb,useMoveAction:()=>esP,useResetFilterAction:()=>esm,useSelfAndChildrenCollections:()=>esv,useSortFields:()=>esf,useUpdateAction:()=>esM,useUpdateActionAndRefreshCM:()=>esE,useUpdateViewAction:()=>esA,useValuesFromRA:()=>esT,useValuesFromRecord:()=>esp});var y={};l.r(y),l.d(y,{FieldValidation:()=>esK,ForeignKey:()=>esQ,SourceCollection:()=>esY,SourceForeignKey:()=>esW,SourceKey:()=>esJ,TargetForeignKey:()=>esG,TargetKey:()=>esX,ThroughCollection:()=>esZ,ThroughForeignKey:()=>esH});var x={};l.r(x),l.d(x,{MenuConfigure:()=>ecz,PermissionContext:()=>ecU,PermissionProvider:()=>ecW,RoleConfigure:()=>ecG,RoleResourceCollectionContext:()=>epe,RoleTable:()=>ec2,RolesResourcesActions:()=>ept,ScopeSelect:()=>ec7,SettingCenterPermissionProvider:()=>ecK,SettingCenterProvider:()=>epO,SettingsCenterConfigure:()=>epq,StrategyActions:()=>epo,useRolesResourcesScopesSelectedRowKeys:()=>ec4});var b={};l.r(b),l.d(b,{ActionBarAssociationFilterAction:()=>emo,ActionInitializer:()=>ep7,ActionInitializerItem:()=>epQ,AssociationFilter:()=>emv,AssociationFilterDesignerDelete:()=>emx,AssociationFilterDesignerDisplayField:()=>emb,AssociationFilterPlugin:()=>emy,BlockInitializer:()=>emw,BlockItemInitializer:()=>emS,CreateFilterActionInitializer:()=>emC,CreateResetActionInitializer:()=>emF,CustomizeActionInitializer:()=>emk,DataBlockInitializer:()=>emE,G2PlotInitializer:()=>emN,InitializerWithSwitch:()=>ep4,ModalActionSchemaInitializerItem:()=>em8,RecordAssociationBlockInitializer:()=>em$,RecordAssociationDetailsBlockInitializer:()=>emL,RecordAssociationFormBlockInitializer:()=>emz,RecordAssociationGridCardBlockInitializer:()=>emW,RecordAssociationListBlockInitializer:()=>emY,RecordReadPrettyAssociationFormBlockInitializer:()=>emQ,SearchCollections:()=>emI,SelectActionInitializer:()=>em0,SubmitActionInitializer:()=>em1,TableActionColumnInitializer:()=>em2,useCreateAssociationDetailsBlock:()=>em_,useCreateAssociationDetailsWithoutPagination:()=>emZ,useCreateAssociationFormBlock:()=>emK,useCreateAssociationGridCardBlock:()=>emH,useCreateAssociationListBlock:()=>emJ,useCreateAssociationTableBlock:()=>emB,useMenuSearch:()=>emR});var w={};function S(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",l=(null==e?void 0:e.trim())||t;return l.endsWith("/")||(l=`${l}/`),l}function C(e,t,l){return S(e,S(t,S(l,"/")))}l.r(w),l.d(w,{ACLActionParamsContext:()=>ecv,ACLActionProvider:()=>ecj,ACLCollectionFieldProvider:()=>ecT,ACLCollectionProvider:()=>ecA,ACLContext:()=>ecc,ACLCustomContext:()=>ecy,ACLMenuItemProvider:()=>ecR,ACLPane:()=>ep_,ACLPlugin:()=>epV,ACLProvider:()=>ecp,ACLRolesCheckProvider:()=>ecm,ADMIN_SETTINGS_KEY:()=>qM,ADMIN_SETTINGS_PATH:()=>qj,AIManager:()=>ec,APIClient:()=>AO,APIClientContext:()=>Av,APIClientProvider:()=>Aq,AccessControl:()=>Jf,Action:()=>ZY,ActionBar:()=>Z4,ActionBarAssociationFilterAction:()=>emo,ActionBarProvider:()=>Z8,ActionContext:()=>HK,ActionContextNoRerender:()=>HH,ActionContextProvider:()=>HU,ActionDesigner:()=>JJ,ActionGroupModel:()=>df,ActionInitializer:()=>ep7,ActionInitializerItem:()=>epQ,ActionModel:()=>dy.S0,ActionSceneEnum:()=>dy.s5,ActionType:()=>EI,AddChildActionModel:()=>cw,AddCollection:()=>edm,AddCollectionAction:()=>edh,AddCollectionField:()=>es5,AddFieldAction:()=>es4,AddNewActionModel:()=>uT,AddSubFieldAction:()=>edQ,AdminDynamicPage:()=>NM,AdminLayout:()=>BV,AdminLayoutMenuItemModel:()=>$y,AdminLayoutPlugin:()=>Bz,AdminProvider:()=>$E,AdminSettingsLayout:()=>epN,AdminSettingsLayoutModel:()=>epA,AfterSuccess:()=>JK,AllDataBlocksContext:()=>Ig,AllDataBlocksProvider:()=>Iv,AntdAppProvider:()=>Z,AntdConfigPlugin:()=>epG,AntdConfigProvider:()=>epH,AntdSchemaComponentPlugin:()=>etx,AntdSchemaComponentProvider:()=>ety,AppLangContext:()=>epU,AppNotFound:()=>Tj,AppendsTreeSelect:()=>etP,Application:()=>UC,ApplicationContext:()=>Ay,AssignFormModel:()=>cF,AssignedFieldValues:()=>J$,AssociatedFields:()=>eh$,AssociationField:()=>eot,AssociationFieldMode:()=>eni,AssociationFieldModeProvider:()=>end,AssociationFilter:()=>emv,AssociationFilterDesignerDelete:()=>emx,AssociationFilterDesignerDisplayField:()=>emb,AssociationFilterPlugin:()=>emy,AssociationOrCollectionProvider:()=>UW,AssociationProvider:()=>T0,AssociationSelect:()=>eoi,AsyncDataContext:()=>edT,AsyncDataProvider:()=>edR,AttachmentList:()=>elM,AutoComplete:()=>eos,BackButtonUsedInSubPage:()=>$G,BaseVariableProvider:()=>_e,BlankComponent:()=>qR,Block:()=>erw,BlockAssociationContext:()=>eu8,BlockConfigsContext:()=>epY,BlockConfigsProvider:()=>epX,BlockContext:()=>ece,BlockGridModel:()=>d4,BlockInitializer:()=>emw,BlockItem:()=>YV,BlockItemCard:()=>GK,BlockItemCardContext:()=>Gz,BlockItemInitializer:()=>emS,BlockModel:()=>d7.z,BlockProvider:()=>ecn,BlockRequestContextProvider:()=>Hq,BlockRequestContext_deprecated:()=>eu6,BlockRequestLoadingContext:()=>HD,BlockRequestProvider:()=>HL,BlockRequestProvider_deprecated:()=>eu4,BlockResourceContext:()=>eu2,BlockSceneEnum:()=>d7.P,BlockSchemaComponentPlugin:()=>Ve,BlockSchemaComponentProvider:()=>_9,BlockSchemaToolbar:()=>Lz,BlockTemplateContext:()=>Vc,BlockTemplateDetails:()=>LL,BlockTemplatePage:()=>Vd,BlockTemplateProvider:()=>Vp,BlockTemplatesPane:()=>Vu,BlocksSelector:()=>Jz,ButtonEditor:()=>JD,CSSVariableProvider:()=>Tt,CardItem:()=>eom,Cascader:()=>eoy,Checkbox:()=>elZ,CheckboxFieldInterface:()=>eul,CheckboxGroupFieldInterface:()=>eun,ChildPageModel:()=>um,ChildPageTabModel:()=>uk,ClearCollectionFieldContext:()=>eaH,ClickableFieldModel:()=>v_,CodeEditor:()=>uX.BY,CodeEditorExtension:()=>k9.o,Collection:()=>AL,CollectionActionGroupModel:()=>dg,CollectionActionModel:()=>d9.U,CollectionBlockModel:()=>ue.t,CollectionCategoriesContext:()=>No,CollectionCategoriesProvider:()=>Nd,CollectionCategory:()=>ed6,CollectionContext:()=>eaY,CollectionDeletedPlaceholder:()=>eaV,CollectionField:()=>Tp,CollectionFieldContext:()=>eaU,CollectionFieldInterface:()=>jc,CollectionFieldInterfaceManager:()=>jp,CollectionFieldInterfaceTag:()=>ed8,CollectionFieldProvider:()=>eaW,CollectionFieldUISchemaProvider:()=>PH,CollectionFieldsToFormInitializerItems:()=>ese,CollectionFieldsToInitializerItems:()=>ea7,CollectionFieldsToTableInitializerItems:()=>esl,CollectionHistoryProvider:()=>EY,CollectionManager:()=>ea2,CollectionManagerContext:()=>Pm,CollectionManagerProvider:()=>Pf,CollectionManagerProvider_deprecated:()=>Nr,CollectionManagerSchemaComponentProvider:()=>Nn,CollectionNotAllowViewPlaceholder:()=>eaK,CollectionPlugin:()=>euQ,CollectionProvider:()=>eaJ,CollectionProvider_deprecated:()=>EQ,CollectionRecord:()=>MA,CollectionRecordContext:()=>MP,CollectionRecordProvider:()=>MM,CollectionSelect:()=>eoS,CollectionSelectFieldInterface:()=>euo,CollectionTemplate:()=>ML,CollectionTemplateManager:()=>M_,CollectionTemplateTag:()=>ed3,ColorFieldInterface:()=>eur,ColorPicker:()=>eoP,ColorSelect:()=>eoj,CommonItemModel:()=>ut,CompatibleSchemaInitializer:()=>Ln,CreateFilterActionInitializer:()=>emC,CreateFormModel:()=>hU,CreateResetActionInitializer:()=>emF,CreatedAtFieldInterface:()=>eui,CreatedByFieldInterface:()=>eua,Cron:()=>eoE,CronSet:()=>eoB,CurrentAppInfoContext:()=>$x,CurrentAppInfoProvider:()=>$w,CurrentPageUidContext:()=>jj,CurrentPageUidProvider:()=>jL,CurrentRouteProvider:()=>Nv,CurrentTabUidContext:()=>jT,CurrentTabUidProvider:()=>j_,CurrentUserContext:()=>zw,CurrentUserProvider:()=>zk,CurrentUserSettingsMenuProvider:()=>zM,CustomRouterContextProvider:()=>j1,CustomizeActionInitializer:()=>emk,DEBOUNCE_WAIT:()=>100,DEFAULT_DATA_SOURCE_KEY:()=>jm,DEFAULT_DATA_SOURCE_TITLE:()=>jh,DataBlockCollector:()=>Iw,DataBlockContext:()=>Uz,DataBlockInitializer:()=>emE,DataBlockModel:()=>ul.R,DataBlockProvider:()=>UH,DataBlockResourceContext:()=>IC,DataBlockResourceProvider:()=>IF,DataSource:()=>MO,DataSourceApplicationProvider:()=>In,DataSourceCollectionCascader:()=>eoA,DataSourceContext:()=>Pi,DataSourceContext_deprecated:()=>E7,DataSourceManager:()=>jf,DataSourceManagerContext:()=>Pt,DataSourceManagerProvider:()=>Pl,DataSourceProvider:()=>Pa,DataSourceProvider_deprecated:()=>Nt,DataSourceSelect:()=>eoF,DateFieldInterface:()=>euK,DateFilterDynamicComponent:()=>Yq,DateFormatCom:()=>MU,DatePicker:()=>zW,DatePickerProvider:()=>zz,DatetimeFieldInterface:()=>eus,DatetimeNoTzFieldInterface:()=>euU,DefaultToolsManager:()=>eu,DefaultValueProvider:()=>To,DeleteCollection:()=>edK,DeleteCollectionAction:()=>edY,Designable:()=>Ms,DesignableSwitch:()=>O7,Details:()=>eoO,DetailsAssociationFieldGroupModel:()=>cQ,DetailsBlockContext:()=>_u,DetailsBlockModel:()=>c2,DetailsBlockProvider:()=>_m,DetailsCustomItemModel:()=>c3,DetailsDesigner:()=>eeu,DetailsGridModel:()=>c5,DetailsItemModel:()=>c$,DisplaySubTableFieldModel:()=>bl,DisplayTextFieldModel:()=>bD,DisplayTitleFieldModel:()=>x4,Divider:()=>eoq,DndContext:()=>EW,DocumentTitleContext:()=>ee0,DocumentTitleProvider:()=>ee1,DragHandler:()=>N7,DraggableContext:()=>NZ,DropdownVisibleContext:()=>zb,EMPTY_OBJECT:()=>PP,EditCollection:()=>edy,EditCollectionAction:()=>edx,EditCollectionField:()=>ede,EditComponent:()=>YQ,EditDefaultValue:()=>YX,EditDescription:()=>YH,EditFieldAction:()=>edt,EditFormModel:()=>cB.EditFormModel,EditOperator:()=>Y1,EditPattern:()=>YZ,EditRequired:()=>YY,EditSortField:()=>eao,EditSubFieldAction:()=>ed1,EditTable:()=>eo5,EditTableAction:()=>erl,EditTableActionContext:()=>ere,EditTitle:()=>YW,EditTitleField:()=>Y2,EditTooltip:()=>YG,EditValidationRules:()=>YJ,Editable:()=>eig,EllipsisWithTooltip:()=>Gt,EmailFieldInterface:()=>eud,ErrorFallback:()=>TM,Expand:()=>erm,ExpiresRadio:()=>MG,ExtendCollectionsContext:()=>Pu,ExtendCollectionsProvider:()=>Pc,FieldModel:()=>sr.o,FieldModelRenderer:()=>L.FieldModelRenderer,FieldSummary:()=>ed2,FieldValidation:()=>esK,FieldsTreeSelect:()=>etA,Fieldset:()=>erh,Filter:()=>Kz,FilterAction:()=>Kj,FilterActionContext:()=>KP,FilterActionModel:()=>uG,FilterAssociatedFields:()=>ehO,FilterBlockModel:()=>un,FilterBlockProvider:()=>Ib,FilterBlockType:()=>Io,FilterContext:()=>zu,FilterDynamicComponent:()=>KB,FilterFormActionGroupModel:()=>mE,FilterFormBlockModel:()=>m6,FilterFormBlockProvider:()=>_Y,FilterFormItemModel:()=>hx,FilterGroup:()=>so.I8,FilterLogicContext:()=>zc,FilterParentCollectionFields:()=>ehB,FlagContext:()=>Eo,FlagProvider:()=>Er,ForeignKey:()=>esQ,Form:()=>eei,FormActionGroupModel:()=>u3,FormActionModel:()=>u8,FormActiveFieldsProvider:()=>LB,FormAssociationFieldGroupModel:()=>h7,FormBlockContext:()=>HX,FormBlockInitializer:()=>ehA,FormBlockModel:()=>cC.F4,FormBlockProvider:()=>H1,FormComponent:()=>cC.s2,FormDialog:()=>UZ,FormDrawer:()=>eaP,FormField:()=>eeK,FormFieldContext:()=>_J,FormFieldProvider:()=>_Z,FormGridModel:()=>ck,FormItem:()=>Ja,FormItemModel:()=>cz,FormItemSchemaToolbar:()=>_b,FormProvider:()=>qt,FormSubmitActionModel:()=>u6,FormV2:()=>eeL,G2Plot:()=>erb,G2PlotInitializer:()=>emN,G2PlotRenderer:()=>erx,GeneralSchemaDesigner:()=>VZ,GeneralSchemaItems:()=>Jj,GlobalThemeProvider:()=>es,Grid:()=>LD,GridCard:()=>erO,GridModel:()=>d1,GridRowContext:()=>Lb,HTMLEncode:()=>Gl,HeightMode:()=>OI,ICON_POPUP_Z_INDEX:()=>KF,Icon:()=>MS,IconFieldInterface:()=>euu,IconPicker:()=>erV,IdFieldInterface:()=>euc,InheritanceCollectionMixin:()=>euW,InitializerWithSwitch:()=>ep4,Input:()=>GF,InputFieldInterface:()=>eum,InputFieldModel:()=>y0.m,InputNumber:()=>erQ,InputReadPretty:()=>Gn,InputRecordPicker:()=>eiP,IntegerFieldInterface:()=>euh,InternalAdminSettingsLayout:()=>epE,IsInNocoBaseRecursionFieldContext:()=>PZ,IsSubPageClosedByPageMenuContext:()=>jN,IsSubPageClosedByPageMenuProvider:()=>jD,JSActionModel:()=>uZ,Json:()=>H5,JsonFieldInterface:()=>euf,KeepAlive:()=>Tq,LAZY_COMPONENT_KEY:()=>P5,LOADING_DELAY:()=>void 0,Layout:()=>Jm,LayoutContent:()=>nc,LinkActionModel:()=>cv,LinkToFieldInterface:()=>eug,LinkageFilter:()=>eaL,LinkageRuleCategory:()=>ET,LinkageRuleDataKeyMap:()=>ER,List:()=>eit,LocalDataSource:()=>Mq,LocationSearchContext:()=>jP,M2MFieldInterface:()=>euy,M2OFieldInterface:()=>eux,Markdown:()=>G_,MarkdownFieldInterface:()=>eub,MarkdownReadPretty:()=>GV,MaybeCollectionProvider:()=>eu5,Menu:()=>Dk,MenuConfigure:()=>ecz,MockFlowModelRepository:()=>C_,ModalActionSchemaInitializerItem:()=>em8,MultipleSelectFieldInterface:()=>euw,NAMESPACE_UI_SCHEMA:()=>IA,NanoIDInput:()=>eil,NanoidFieldInterface:()=>euV,NocoBaseBuildInPlugin:()=>ef7,NocoBaseDesktopRouteType:()=>Nu,NocoBaseRecursionField:()=>P1,NocoBaseRouteContext:()=>Ng,NumberFieldInterface:()=>euS,O2MFieldInterface:()=>euC,O2OFieldInterface:()=>euF,OBOFieldInterface:()=>euA,OHOFieldInterface:()=>euk,OpenModeProvider:()=>OZ,OverridingCollectionField:()=>edn,OverridingFieldAction:()=>edr,PMPlugin:()=>epD,Page:()=>etn,PagePopups:()=>Rk,PageTabs:()=>eto,Pagination:()=>ein,ParentCollectionFields:()=>ehD,ParentRouteContext:()=>Dg,Password:()=>eic,PasswordFieldInterface:()=>euP,Percent:()=>eih,PercentFieldInterface:()=>euM,PermissionContext:()=>ecU,PermissionProvider:()=>ecW,PhoneFieldInterface:()=>euj,PinnedListPlugin:()=>Bl,PinnedPluginList:()=>Bt,PinnedPluginListContext:()=>ny,PinnedPluginListProvider:()=>$7,Plugin:()=>Nj,PluginManager:()=>epk,PluginManagerLink:()=>epr,PluginSettingsManager:()=>qT,PopupActionModel:()=>uj,PopupContextProvider:()=>ego,PopupSettingsProvider:()=>TK,PopupSubTableFormActionGroupModel:()=>u7,PoweredBy:()=>ef9,Preview:()=>eif,QuickEdit:()=>eiv,REGEX_OF_VARIABLE:()=>IP,REGEX_OF_VARIABLE_IN_EXPRESSION:()=>IM,Radio:()=>elJ,RadioGroupFieldInterface:()=>euI,ReadPretty:()=>Gn,ReadPrettyRecordPicker:()=>eiR,RecordActionGroupModel:()=>dv,RecordAssociationBlockInitializer:()=>em$,RecordAssociationDetailsBlockInitializer:()=>emL,RecordAssociationFormBlockInitializer:()=>emz,RecordAssociationGridCardBlockInitializer:()=>emW,RecordAssociationListBlockInitializer:()=>emY,RecordContext_deprecated:()=>esn,RecordFormBlockInitializer:()=>ehj,RecordIndexContext:()=>eso,RecordIndexProvider:()=>esa,RecordLink:()=>ecu,RecordPicker:()=>eiE,RecordPickerContent:()=>gZ,RecordPickerContext:()=>eiS,RecordPickerProvider:()=>eiM,RecordProvider:()=>esr,RecordReadPrettyAssociationFormBlockInitializer:()=>emQ,RecordSelectFieldModel:()=>p$,RecordSimpleProvider:()=>esi,RefreshActionModel:()=>cn,RefreshComponentProvider:()=>Pz,RefreshDataBlockRequest:()=>JX,RemoteCollectionManagerProvider:()=>Ns,RemoteDocumentTitlePlugin:()=>ee3,RemoteDocumentTitleProvider:()=>ee2,RemoteSchemaComponent:()=>qr,RemoteSchemaTemplateManagerPlugin:()=>$j,RemoteSchemaTemplateManagerProvider:()=>$M,RemoteSelect:()=>eeA,RemoveButton:()=>JU,RemoveConditionContext:()=>zd,RenderChildrenWithAssociationFilter:()=>eu9,RequestSettings:()=>JB,RerenderDataBlockProvider:()=>UU,Resizable:()=>eft,ResourceActionContext:()=>EZ,ResourceActionProvider:()=>E8,RichText:()=>ei$,RichTextFieldInterface:()=>euT,RoleConfigure:()=>ecG,RoleResourceCollectionContext:()=>epe,RoleTable:()=>ec2,RolesResourcesActions:()=>ept,RouteSchemaComponent:()=>NO,RouterContextCleaner:()=>qE,RouterManager:()=>q$,SNIPPET_PREFIX:()=>qI,SanitizedCollectionProvider:()=>eaX,SchemaComponent:()=>PA,SchemaComponentContext:()=>Py,SchemaComponentOnChangeContext:()=>PC,SchemaComponentOptions:()=>Pb,SchemaComponentPlugin:()=>qu,SchemaComponentProvider:()=>qd,SchemaInitializer:()=>Ll,SchemaInitializerActionModal:()=>q7,SchemaInitializerActionModalInternal:()=>q9,SchemaInitializerChild:()=>Eb,SchemaInitializerChildren:()=>Ef,SchemaInitializerContext:()=>Ec,SchemaInitializerDivider:()=>q0,SchemaInitializerItem:()=>qG,SchemaInitializerItemContext:()=>Em,SchemaInitializerItemGroup:()=>q3,SchemaInitializerItemGroupInternal:()=>q5,SchemaInitializerItemInternal:()=>qY,SchemaInitializerItems:()=>Ew,SchemaInitializerManager:()=>Li,SchemaInitializerMenu:()=>qK,SchemaInitializerMenuProvider:()=>qV,SchemaInitializerOpenModeSchemaItems:()=>JP,SchemaInitializerPlugin:()=>ef5,SchemaInitializerSelect:()=>Le,SchemaInitializerSelectInternal:()=>Lt,SchemaInitializerSubMenu:()=>qU,SchemaInitializerSubMenuInternal:()=>qW,SchemaInitializerSwitch:()=>qQ,SchemaInitializerSwitchInternal:()=>qZ,SchemaSettingAccessControl:()=>Jg,SchemaSettingItemContext:()=>Ud,SchemaSettingOpenModeSchemaItems:()=>JM,SchemaSettings:()=>Bq,SchemaSettingsActionLinkItem:()=>XT,SchemaSettingsActionModalItem:()=>Hy,SchemaSettingsBlockHeightItem:()=>OT,SchemaSettingsBlockTitleItem:()=>YT,SchemaSettingsCascaderItem:()=>Hm,SchemaSettingsChild:()=>Uv,SchemaSettingsChildren:()=>Um,SchemaSettingsConnectDataBlocks:()=>YE,SchemaSettingsDataScope:()=>Kp,SchemaSettingsDataTemplates:()=>HC,SchemaSettingsDateFormat:()=>Kh,SchemaSettingsDefaultSortingRules:()=>Hb,SchemaSettingsDefaultValue:()=>Ky,SchemaSettingsDivider:()=>Hs,SchemaSettingsDropdown:()=>Ht,SchemaSettingsEnableChildCollections:()=>HF,SchemaSettingsFixed:()=>efl,SchemaSettingsFormItemTemplate:()=>Ho,SchemaSettingsItem:()=>Hr,SchemaSettingsItemGroup:()=>Hi,SchemaSettingsLayoutItem:()=>Jh,SchemaSettingsLinkageRules:()=>Hw,SchemaSettingsManager:()=>La,SchemaSettingsModalItem:()=>Hx,SchemaSettingsNumberFormat:()=>YD,SchemaSettingsPlugin:()=>Zy,SchemaSettingsPopupItem:()=>Hv,SchemaSettingsProvider:()=>W7,SchemaSettingsRemove:()=>Hc,SchemaSettingsRenderEngine:()=>Jp,SchemaSettingsSelectItem:()=>Hp,SchemaSettingsSortingRule:()=>Kx,SchemaSettingsSubMenu:()=>Ha,SchemaSettingsSwitchItem:()=>Hg,SchemaSettingsTemplate:()=>Jd,SchemaSettingsWrapper:()=>Ux,SchemaTemplateManagerContext:()=>$C,SchemaToolbar:()=>V2,SchemaToolbarContext:()=>Lh,SchemaToolbarProvider:()=>Lf,SchemaToolbarVisibleContext:()=>V1,ScopeSelect:()=>ec7,SearchCollections:()=>emI,SearchParamsContext:()=>jR,SecondConFirm:()=>JG,Select:()=>eew,SelectActionInitializer:()=>em0,SelectFieldInterface:()=>euR,SelectWithTitle:()=>It,SetDataLoadingMode:()=>HR,SettingCenterPermissionProvider:()=>ecK,SettingCenterProvider:()=>epO,SettingsCenterConfigure:()=>epq,SettingsCenterContext:()=>epM,SettingsCenterDropdown:()=>epi,SettingsMenuProvider:()=>zx,ShowFormData:()=>Y$,SkeletonFallback:()=>rq,SkipValidation:()=>JO,SnowflakeIdFieldInterface:()=>euE,Sortable:()=>N8,SortableContext:()=>N0,SortableItem:()=>N4,SortableProvider:()=>N1,SourceCollection:()=>esY,SourceForeignKey:()=>esW,SourceKey:()=>esJ,Space:()=>eiB,StablePopover:()=>Kk,StrategyActions:()=>epo,SubFieldDataSourceProvider_deprecated:()=>Ne,SubTableColumnModel:()=>vp,SubTableFieldInterface:()=>euN,SubTableFieldModel:()=>vw,SubmitActionInitializer:()=>em1,SwitchLanguage:()=>egn,SyncFieldsAction:()=>edj,SyncFieldsActionCom:()=>edI,SyncSQLFieldsAction:()=>edz,SystemSettingsPane:()=>eeQ,SystemSettingsPlugin:()=>eeZ,SystemSettingsSource:()=>ef.o,Table:()=>ei9,TableActionColumnInitializer:()=>em2,TableAssociationFieldGroupModel:()=>fZ,TableBlockContext:()=>OF,TableBlockDesigner:()=>ear,TableBlockInitializer:()=>efd,TableBlockModel:()=>gg,TableBlockProvider:()=>OM,TableColumnModel:()=>fU,TableColumnSchemaToolbar:()=>_$,TableField:()=>eai,TableFieldContext:()=>_2,TableFieldProvider:()=>_5,TableFieldResource:()=>_6,TableSelectorContext:()=>R1,TableSelectorDesigner:()=>eaa,TableSelectorInitializer:()=>efe,TableSelectorParamsProvider:()=>R6,TableSelectorProvider:()=>R7,TableV2:()=>eas,TableoidFieldInterface:()=>euD,Tabs:()=>eap,TabsContextProvider:()=>T_,TargetForeignKey:()=>esG,TargetKey:()=>esX,TemplateBlockProvider:()=>j3,TemplateSummary:()=>edu,Templates:()=>eeM,TestDesigner:()=>Yz,TextAreaWithContextSelector:()=>a6.n,TextAreaWithGlobalScope:()=>eaF,TextareaFieldInterface:()=>eu$,ThroughCollection:()=>esZ,ThroughForeignKey:()=>esH,TimeFieldInterface:()=>euB,TimePicker:()=>eag,TreeSelect:()=>eay,UUIDFieldInterface:()=>eu_,UnSupportFields:()=>edb,UnixTimestamp:()=>eaw,UnixTimestampFieldInterface:()=>euz,UpdateRecordActionModel:()=>cu,UpdatedAtFieldInterface:()=>euO,UpdatedByFieldInterface:()=>euq,Upload:()=>elC,Uploader:()=>elj,UrlFieldInterface:()=>euL,Variable:()=>XP,VariableFilterItem:()=>so.Et,VariableInput:()=>Kd,VariablePopupRecordProvider:()=>MD,VariableScope:()=>NW,VariableScopeProvider:()=>Xk,VariableSelect:()=>GP,VariablesContext:()=>Zj,VariablesProvider:()=>ZD,ViewCollectionField:()=>eda,ViewFieldAction:()=>eds,WithoutFormFieldResource:()=>_Q,WithoutTableFieldResource:()=>_3,actionSettings:()=>JY,actionSettingsItems:()=>JW,addCustomAlgorithmToTheme:()=>er,allowAddNew:()=>K6,appendQueryStringToUrl:()=>Yb,applyCollectionFieldUiSchemaToDefaultValueSchema:()=>Kv,applyMobilePaginationProps:()=>co.hO,attachmentFileTypes:()=>etG,autoFill:()=>jt,autoIncrement:()=>je,cache:()=>k.cache,canMakeAssociationBlock:()=>efU,collectionDataSource:()=>ju,compatOldTheme:()=>en,completeURL:()=>YA,compose:()=>UB,constraintsProps:()=>jn,createCompactSimpleItemRender:()=>co.hH,createCreateFormBlockUISchema:()=>emV,createDesignable:()=>Ml,createDetailsBlockSchema:()=>Vq,createFormActionInitializers:()=>ehE,createFormActionInitializers_deprecated:()=>ehR,createFormBlockSchema:()=>VL,createFormBlockSettings:()=>XG,createModalSettingsItem:()=>UR,createReadPrettyFormBlockSchema:()=>V_,createRouterManager:()=>qB,createSelectSchemaSettingsItem:()=>UE,createStyles:()=>lK.rU,createSwitchSettingsItem:()=>UN,createTableBlockSchema:()=>VV,createTableBlockUISchema:()=>emD,createTextSettingsItem:()=>UD,css:()=>k.css,customAlgorithm:()=>eo,customFormItemInitializers:()=>efK,customFormItemInitializers_deprecated:()=>efz,cx:()=>k.cx,dataSource:()=>ja,dateTimeProps:()=>jr,defaultFieldNames:()=>eep,defaultInputStyle:()=>Hk,defaultProps:()=>js,defaultTheme:()=>el,dispatchEventDeep:()=>co.Xi,ds:()=>E9,editFormBlockSettings:()=>XY,editMarkdownFlow:()=>x2,fetchTemplateData:()=>eeI,fieldComponentSettingsItem:()=>XJ,fieldSettingsFormItem:()=>XX,fileSizeSetting:()=>QR,fillParentFields:()=>YM,filterFormItemSettings:()=>QQ,findByUid:()=>De,findFilterTargets:()=>G2,findFirstPageRoute:()=>Nm,findFormBlock:()=>H6,findKanbanFormItem:()=>ea9,findKeysByUid:()=>Dn,findMenuItem:()=>Dt,findParentFieldSchema:()=>HA,findRouteBySchemaUid:()=>Nc,flush:()=>k.flush,formActionInitializers:()=>ehN,formDetailsSettings:()=>eez,formItemInitializers:()=>eh_,formItemInitializers_deprecated:()=>ehL,formItemSettings:()=>K3,formSettings:()=>ee_,formV1Settings:()=>eea,genStyleHook:()=>A7,getAppends:()=>Yg,getAssociationPath:()=>Yf,getCardItemSchema:()=>GH,getCollectionTitle:()=>LK,getConfigurableProperties:()=>eut,getCurrentOptions:()=>eef,getDataSourceHeaders:()=>jx,getDateExact:()=>IW,getDatePickerLabels:()=>eib,getDateRanges:()=>IU,getFieldDefaultValue:()=>Hj,getFilterByTkByCollection:()=>ecr,getFlowPageMenuSchema:()=>N_,getFormValues:()=>GQ,getIdsWithChildren:()=>Ok,getLabelFormatValue:()=>eiw,getLabelWithTooltip:()=>_l,getPageMenuSchema:()=>NK,getPageSchema:()=>GW,getPinnedPluginListKeys:()=>nv,getPopupPathFromParams:()=>Rs,getRegisteredStyles:()=>k.getRegisteredStyles,getRenderContent:()=>I4,getSchemaSettingsConfirmZIndex:()=>Hu,getSchemaSettingsDialogZIndex:()=>Hd,getShouldChange:()=>Ku,getSimpleModePaginationClassName:()=>co.HZ,getStoredPopupContext:()=>Rt,getSupportFieldsByAssociation:()=>Ii,getSupportFieldsByForeignKey:()=>Ia,getSystemSettingsMutationData:()=>eeY,getTabSchema:()=>etm,getURLSearchParams:()=>Ko,getURLSearchParamsChildren:()=>Kr,getUniqueKeyFromCollection:()=>euv,getUnknownCountPaginationTotal:()=>co.SM,getVariableComponentWithScope:()=>XM,getVariableValue:()=>zy,getVariablesFromExpression:()=>II,getZIndex:()=>$q,gridRowColWrap:()=>Vf,handleDateChangeOnForm:()=>IB,hasIcon:()=>Mb,hydrate:()=>k.hydrate,i18n:()=>Tv,icons:()=>My,inferPickerType:()=>IG,injectGlobal:()=>k.injectGlobal,interfacesOfUnsupportedDefaultValue:()=>Ti,interfacesProperties:()=>p,isAssocField:()=>Ic,isBulkEditAction:()=>ZQ,isDeleteButtonDisabled:()=>es$,isFileCollection:()=>Js,isInFilterFormBlock:()=>Ih,isInitializersSame:()=>Lr,isMobile:()=>Iq,isPatternDisabled:()=>Tl,isSameCollection:()=>Ip,isShowFilePicker:()=>eiI,isSystemField:()=>HM,isTabPage:()=>etp,isTitleField:()=>jv,isVariable:()=>Ij,isWriteEmailAction:()=>ZZ,itemsMerge:()=>Vh,joinCollectionName:()=>eu0,joinUrlSearch:()=>cm,keyframes:()=>k.keyframes,languageCodes:()=>Th,lazy:()=>P7,locale:()=>Tf,mapDatePicker:()=>IO,mapRangePicker:()=>IL,mapTimeFormat:()=>eaf,matchMimetype:()=>etY,merge:()=>k.merge,mergeFilter:()=>Ir,mergePaginationClassName:()=>co.M6,mockAPIClient:()=>egt,moment2str:()=>ID,navigateToTab:()=>etc,navigateWithinSelf:()=>YP,normalizeContainer:()=>U$,openViewFlow:()=>ex,operators:()=>c,pageSettings:()=>etf,pageTabSettings:()=>etv,parseCollectionName:()=>euZ,parseVariablesAndChangeParamsToQueryString:()=>YF,primaryKey:()=>M9,readPrettyFormSettings:()=>eeV,recordBlockInitializers:()=>efG,recordBlockInitializers_deprecated:()=>efH,recordPickerViewer:()=>jd,recursiveParent:()=>R5,reduceValueSize:()=>Yk,registerIcon:()=>Mx,registerIcons:()=>Mw,registerInitializerMenusGenerator:()=>VG,relationshipType:()=>jl,removeNullCondition:()=>KX,replaceVariableValue:()=>YC,replaceVariables:()=>zi,requestParentRecordData:()=>HO,resolveFilterPickerFormat:()=>zL,reverseFieldProperties:()=>jo,schemaSettingsLabelLayout:()=>HP,setDataLoadingModeSettingsItem:()=>HI,setDefaultSortingRulesSchemaSettingsItem:()=>Ju,setTheDataScopeSchemaSettingsItem:()=>Jc,sheet:()=>k.sheet,shouldRenderIconInTitle:()=>D5,showFileName:()=>QE,splitWrapSchema:()=>Mi,storePopupContext:()=>Rl,subTableActionInitializers:()=>efX,subTableActionInitializers_deprecated:()=>efJ,systemKeys:()=>jw,tabPaneInitializers:()=>ef8,tabPaneInitializersForBulkEditFormBlock:()=>ef3,tabPaneInitializersForRecordBlock:()=>ef6,tabPaneInitializers_deprecated:()=>ef2,tableActionColumnInitializers:()=>efr,tableActionColumnInitializers_deprecated:()=>efo,tableActionInitializers:()=>efs,tableActionInitializers_deprecated:()=>efa,tableBlockSettings:()=>Qt,tableColumnInitializers:()=>efm,tableColumnInitializers_deprecated:()=>efp,tableColumnSettings:()=>Qn,tableSelectorBlockSettings:()=>X7,timeProps:()=>ji,titleField:()=>wc,toToolsMap:()=>ep,transformFilter:()=>ed.transformFilter,transformToFilter:()=>Id,transformVariableValue:()=>IT,tval:()=>Tg,type:()=>M4,unique:()=>M7,updateFilterTargets:()=>G8,updateFormActionInitializers:()=>ehK,updateFormActionInitializers_deprecated:()=>ehz,useACLActionParamsContext:()=>ecP,useACLContext:()=>ecg,useACLFieldWhitelist:()=>ecI,useACLRoleContext:()=>ecF,useACLRolesCheck:()=>ecb,useAPIClient:()=>Ab,useAPITokenVariable:()=>zT,useAclSnippets:()=>US,useActionAvailable:()=>ehc,useActionBarContext:()=>Z6,useActionContext:()=>HG,useAdminSchemaUid:()=>ecE,useAfterSuccessOptions:()=>JI,useAllAccessDesktopRoutes:()=>Nb,useAllCollectionsInheritChainGetter:()=>Po,useAllDataBlocks:()=>Iy,useApp:()=>Ax,useAppLangContext:()=>epW,useAppSpin:()=>UF,useAriaAttributeOfMenuItem:()=>qH,useAssociatedFields:()=>Iu,useAssociatedFormItemInitializerFields:()=>VP,useAssociatedTableColumnInitializerFields:()=>VS,useAssociationCreateActionProps:()=>G1,useAssociationFieldContext:()=>BW,useAssociationFieldModeContext:()=>enu,useAssociationFilterBlockProps:()=>Ym,useAssociationFilterProps:()=>Yu,useAssociationName:()=>T1,useAssociationNames:()=>Yv,useAsyncData:()=>edE,useAttach:()=>RN,useBackButton:()=>$H,useBaseVariable:()=>_n,useBlockAssociationContext:()=>eco,useBlockConfigs:()=>epJ,useBlockContext:()=>ect,useBlockHeight:()=>Oq,useBlockHeightProps:()=>GU,useBlockRequestContext:()=>eu7,useBlockResource:()=>eu3,useBlockTemplateContext:()=>Vm,useBuiltinVariables:()=>Zx,useBulkDestroyAction:()=>edG,useBulkDestroyActionAndRefreshCM:()=>edW,useBulkDestroyActionProps:()=>Yr,useCancelAction:()=>esc,useCloseAction:()=>HY,useCollectValuesToSubmit:()=>GZ,useCollection:()=>eaQ,useCollectionDataSource:()=>eob,useCollectionDataSourceItems:()=>VO,useCollectionField:()=>eaG,useCollectionFieldFormValues:()=>es6,useCollectionField_deprecated:()=>eox,useCollectionFields:()=>eaZ,useCollectionFieldsOptions:()=>esw,useCollectionFilterOptions:()=>esy,useCollectionHistory:()=>EX,useCollectionManager:()=>Pg,useCollectionManager_deprecated:()=>Ie,useCollectionParentRecord:()=>MT,useCollectionParentRecordData:()=>MR,useCollectionRecord:()=>Mj,useCollectionRecordData:()=>MI,useCollectionState:()=>jS,useCollection_deprecated:()=>Ls,useCollections:()=>Pv,useColumnSchema:()=>Lc,useColumnSettings:()=>BZ,useCompatOldVariables:()=>Kc,useCompile:()=>PI,useComponent:()=>RD,useContextAssociationFields:()=>zv,useContextVariable:()=>Y4,useCreateActionProps:()=>G0,useCreateAssociationDetailsBlock:()=>em_,useCreateAssociationDetailsWithoutPagination:()=>emZ,useCreateAssociationFormBlock:()=>emK,useCreateAssociationGridCardBlock:()=>emH,useCreateAssociationListBlock:()=>emJ,useCreateAssociationTableBlock:()=>emB,useCreateEditFormBlock:()=>ehI,useCreateFormBlock:()=>ehP,useCreateTableBlock:()=>efu,useCurrentAppInfo:()=>$b,useCurrentDocumentTitle:()=>ee6,useCurrentPageUid:()=>jY,useCurrentPopupContext:()=>Rj,useCurrentPopupRecord:()=>M$,useCurrentRoleMode:()=>ecf,useCurrentRoleVariable:()=>Kn,useCurrentRoles:()=>zF,useCurrentRoute:()=>Ny,useCurrentSchema:()=>V$,useCurrentSearchParams:()=>jQ,useCurrentTabUid:()=>jX,useCurrentUserContext:()=>zS,useCurrentUserSettingsMenu:()=>zP,useCurrentUserVariable:()=>zI,useCustomizeBulkUpdateActionProps:()=>G9,useCustomizeRequestActionProps:()=>Ye,useCustomizeUpdateActionProps:()=>G7,useDataBlock:()=>UG,useDataBlockHeight:()=>OO,useDataBlockParentRecord:()=>GG,useDataBlockProps:()=>UY,useDataBlockRequest:()=>H_,useDataBlockRequestData:()=>Hz,useDataBlockRequestGetter:()=>HV,useDataBlockResource:()=>Ik,useDataLoadingMode:()=>HT,useDataSource:()=>Ps,useDataSourceFromRAC:()=>E3,useDataSourceHeaders:()=>jy,useDataSourceKey:()=>Pd,useDataSourceManager:()=>Pn,useDataTemplates:()=>HS,useDatePickerContext:()=>zV,useDateVariable:()=>zG,useDatetimeVariable:()=>zJ,useDatetimeVariableContext:()=>zY,useDeleteRouteSchema:()=>B_,useDesignable:()=>Mu,useDesigner:()=>RB,useDestroyAction:()=>edH,useDestroyActionAndRefreshCM:()=>edU,useDestroyActionProps:()=>Yl,useDetailsBlockContext:()=>_h,useDetailsBlockProps:()=>_f,useDetailsDecoratorProps:()=>_v,useDetailsPaginationProps:()=>Yd,useDetailsParentRecord:()=>_y,useDetailsProps:()=>_x,useDetailsWithPaginationBlockParams:()=>LU,useDetailsWithPaginationDecoratorProps:()=>LW,useDetailsWithPaginationProps:()=>_g,useDisassociateActionProps:()=>Yo,useDocumentTitle:()=>ee8,useDownloadLogs:()=>TP,useEditTableActionProps:()=>Ys,useEnsureOperatorsValid:()=>Y0,useExactDateVariable:()=>zQ,useExactDateVariableContext:()=>zX,useExtendCollections:()=>Pp,useFieldComponentName:()=>Us,useFieldComponentOptions:()=>RL,useFieldInterfaceOptions:()=>es1,useFieldMode:()=>Un,useFieldModeOptions:()=>OV,useFieldNames:()=>eiy,useFieldProps:()=>RO,useFieldTitle:()=>R_,useFilterAPI:()=>Im,useFilterActionProps:()=>KQ,useFilterBlock:()=>IS,useFilterBlockActionProps:()=>G3,useFilterByTk:()=>eci,useFilterFieldOptions:()=>KY,useFilterFieldProps:()=>KZ,useFilterOptions:()=>KU,useFindComponent:()=>Md,useFlag:()=>Ei,useFormActiveFields:()=>LO,useFormBlockContext:()=>H2,useFormBlockProps:()=>H8,useFormBlockType:()=>HZ,useFormDataTemplates:()=>eeP,useFormFieldContext:()=>_0,useFormFieldProps:()=>_1,useFormItemInitializerFields:()=>Vk,useGetAriaLabelOfAction:()=>ZW,useGetAriaLabelOfDesigner:()=>VY,useGetAriaLabelOfDrawer:()=>Oz,useGetAriaLabelOfModal:()=>$$,useGetAriaLabelOfPopover:()=>Z7,useGetFilterFieldOptions:()=>KW,useGetFilterOptions:()=>KK,useGetSchemaInitializerMenuItems:()=>qL,useGlobalTheme:()=>ea,useGlobalVariable:()=>UP,useGlobalVariableCtx:()=>UM,useGridContext:()=>LR,useGridRowContext:()=>LE,useHistoryCollectionsByNames:()=>EJ,useInheritsTableColumnInitializerFields:()=>VF,useInsertPageSchema:()=>NV,useIsAddNewForm:()=>K5,useIsAdminPage:()=>jG,useIsAllowToSetDefaultValue:()=>Tr,useIsAssociationField:()=>Ut,useIsDetailBlock:()=>H0,useIsFieldReadPretty:()=>K9,useIsFileField:()=>Ul,useIsFormReadPretty:()=>K7,useIsInSettingsPage:()=>jJ,useIsLoggedIn:()=>zC,useIsSameOrChildCollection:()=>zf,useIsSelectFieldMode:()=>Uo,useIsSubPageClosedByPageMenu:()=>j0,useKeepAlive:()=>TD,useKeepAliveLocationSearch:()=>etl,useLabelUiSchema:()=>eix,useLazy:()=>P9,useLinkActionProps:()=>YS,useLinkageAction:()=>HJ,useLinkageCollectionFilterOptions:()=>esb,useListBlockContext:()=>er2,useLocalVariables:()=>Y7,useLocalVariablesWithoutCustomVariable:()=>ZL,useLocationNoUpdate:()=>jW,useLocationSearch:()=>jH,useMenuDragEnd:()=>DF,useMenuSearch:()=>emR,useMenuTranslation:()=>N9,useMobileLayout:()=>FI,useNavigateNoUpdate:()=>jU,useNocoBaseRoutes:()=>Dy,useOpenModeContext:()=>O0,useOptionalFieldList:()=>Yc,useParamsFromRecord:()=>ecd,useParentCollection:()=>TZ,useParentRecordCommon:()=>RG,useParentRoute:()=>Dv,useParseDataScopeFilter:()=>Jy,useParseURLAndParams:()=>Yw,useParsedFilter:()=>RH,usePickActionProps:()=>GY,usePlugin:()=>Uk,usePopupSettings:()=>TU,usePopupUtils:()=>Rd,usePopupVariable:()=>Kt,usePopupVariableContext:()=>Ke,useProps:()=>Rz,useRecord:()=>ess,useRecordCollectionDataSourceItems:()=>VB,useRecordIndex:()=>esd,useRecordIsOwn:()=>esu,useRecordPkValue:()=>ecM,useRefreshActionProps:()=>Yi,useRefreshFieldSchema:()=>PU,useRemoteCollectionManagerLoading:()=>Na,useRemoveActionProps:()=>Yn,useRemoveGridFormItem:()=>Vy,useRequest:()=>AI,useRerenderDataBlock:()=>UJ,useResetBlockActionProps:()=>G4,useResource:()=>AT,useResourceActionContext:()=>E6,useResourceContext:()=>E5,useRoleRecheck:()=>ech,useRoleVariable:()=>Kl,useRolesResourcesScopesSelectedRowKeys:()=>ec4,useRouter:()=>UA,useRouterBasename:()=>jZ,useSchemaComponentContext:()=>Rq,useSchemaInitializer:()=>Ep,useSchemaInitializerItem:()=>Eh,useSchemaInitializerMenuItems:()=>qq,useSchemaInitializerRender:()=>Ej,useSchemaInitializerStyles:()=>EF,useSchemaInitializerSubMenuContext:()=>qz,useSchemaOptionsContext:()=>Px,useSchemaSettings:()=>W4,useSchemaSettingsItem:()=>Uu,useSchemaSettingsRender:()=>Ly,useSchemaTemplate:()=>$k,useSchemaTemplateManager:()=>$A,useSchemaToolbar:()=>Lg,useSchemaToolbarRender:()=>V6,useSortFields:()=>esf,useSourceId:()=>eu1,useSourceIdFromParentRecord:()=>ecs,useSourceIdFromRecord:()=>eca,useStyles:()=>NB,useSupportedBlocks:()=>Is,useSyncFromForm:()=>YI,useSystemSettings:()=>ef.e,useSystemSettingsVariable:()=>U1,useTableBlockContext:()=>Oj,useTableBlockContextBasicValue:()=>TJ,useTableBlockDecoratorProps:()=>RY,useTableBlockParams:()=>RJ,useTableBlockProps:()=>_B,useTableColumnInitializerFields:()=>Vw,useTableColumnIntegration:()=>B0,useTableColumns:()=>Ya,useTableFieldContext:()=>_4,useTableFieldProps:()=>_7,useTableSelectorContext:()=>R9,useTableSelectorProps:()=>Ee,useTableSize:()=>OL,useTabsContext:()=>TV,useTemplateBlockContext:()=>j8,useTitleFieldOptions:()=>Ua,useToken:()=>$D,useUIConfigurationPermissions:()=>eck,useURLAndHTMLSchema:()=>XI,useURLSearchParamsCtx:()=>Ki,useURLSearchParamsVariable:()=>Ka,useUpdateActionProps:()=>Yt,useUpdateCollectionActionAndRefreshCM:()=>edv,useUploadStyles:()=>els,useUserVariable:()=>zj,useValidateSchema:()=>Ur,useValuesFromRecord:()=>edg,useVariableOptions:()=>Ks,useVariableScope:()=>XA,useVariableScopeInfo:()=>NH,useVariables:()=>Y9,useViewport:()=>ecD,useZIndexContext:()=>$O,withDynamicSchemaProps:()=>Mf,withInitializer:()=>EP,withSearchParams:()=>Rc,withSkeletonComponent:()=>Es,zIndexContext:()=>$B});let F=l.p;"u">typeof window&&void 0!==l.p&&(l.p=C(window.__webpack_public_path__,window.__nocobase_public_path__,F)),l(37872),l(98867),l(8906),l(68313),l(21840),l(41816),l(83826),l(46986),l(70571);var k=l(22803);l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(45336),l(79936),l(23446),l(61874),l(1633),l(9700),l(69861);var A=l(12039),P=l(96540);let M=new Map;function j(e){return"string"==typeof e?e:"string"==typeof(null==e?void 0:e.message)?e.message:""}function I(e){M.size>10&&M.clear();let t=Date.now();return e.filter(e=>{let l=j(e);if(!l)return!1;let n=M.get(l);return(!n||!(t-n<500))&&(M.set(l,t),!0)})}function T(e,t,l){if(!l||0===t.length)return;let n=I(t);0!==n.length&&l[e]({message:n.map((e,t)=>{let l=j(e);return P.createElement("div",{key:`${t}_${l}`},l)})})}function R(e){let t=Math.floor(Math.abs(e)),l=Math.abs(e%1*60),n=String(t).padStart(2,"0"),o=String(l).padStart(2,"0"),r=e>=0?"+":"-";return`${r}${n}:${o}`}function E(){return R(-(new Date().getTimezoneOffset()/60))}class N extends A.APIClient{get notification(){var e,t;return null==(t=this.app)||null==(e=t.context)?void 0:e.notification}getHostname(){var e,t;try{return new URL("/api/").hostname}catch{}return null==(t=window)||null==(e=t.location)?void 0:e.hostname}getHeaders(){let e=super.getHeaders();return this.appName&&(e["X-App"]=this.appName),e["X-Timezone"]=E(),e["X-Hostname"]=this.getHostname(),e}interceptors(){this.axios.interceptors.request.use(e=>{let t=this.getHeaders();return Object.keys(t).forEach(l=>{(0,A.hasHeaderValue)(e.headers,l)||(e.headers[l]=t[l])}),e}),super.interceptors(),this.useNotificationMiddleware()}handleNotificationError(e){var t;let l=null==(t=e.config)?void 0:t.skipNotify;if(l&&(!0===l||"function"==typeof l&&l(e)))throw e;let n=this.toErrMessages(e);throw Array.isArray(n)&&T("error",n,this.notification),e}useNotificationMiddleware(){this.axios.interceptors.response.use(e=>{var t;let l=null==(t=e.data)?void 0:t.messages;return Array.isArray(l)&&T("success",l,this.notification),e},this.handleNotificationError.bind(this))}}var D=l(58587),$=l(18150),B=l(68238);l(5409),l(23089),l(82855),l(17106),l(36792),l(89773);var O=l(74848),q=l(95243),L=l(11869),_=l(40098),V=l.n(_),z=l(5338),K=l(52230),U=l(47665),W=l(84976),H=l(47767),G=l(44363),Y=l(36098),J=l(88040);let X=(0,P.memo)(e=>{let{children:t}=e,l=(0,Y.n)(),{notification:n}=J.A.useApp();return(0,P.useLayoutEffect)(()=>{l.context.defineProperty("notification",{value:n})},[l,n]),(0,O.jsx)(O.Fragment,{children:t})});X.displayName="AppInner";let Q=e=>{let{children:t,className:l,style:n}=e;return(0,O.jsx)(J.A,{className:l,style:{height:"100%",...n},children:(0,O.jsx)(X,{children:t})})};Q.displayName="AntdAppProvider";let Z=Q;l(14324);var ee=l(35710),et=l(4888);let el={name:"",token:{colorPrimaryHeader:"#001529",colorBgHeader:"#001529",colorBgHeaderMenuHover:"#ffffff1a",colorBgHeaderMenuActive:"#ffffff1a",colorTextHeaderMenu:"#ffffffa6",colorTextHeaderMenuHover:"#ffffff",colorTextHeaderMenuActive:"#ffffff",colorSettings:"#F18B62",colorBgSettingsHover:"rgba(241, 139, 98, 0.06)",colorTemplateBgSettingsHover:"rgba(98, 200, 241, 0.06)",colorBorderSettingsHover:"rgba(241, 139, 98, 0.3)",motionUnit:.03}},en=function(e){var t;return(null==(t=e.token)?void 0:t.colorSettings)||(e.token={...e.token,...el.token}),e},eo=(e,t)=>{var l,n,o,r,i,a,s,d,u,c,p,m;let h=t||ee.A.defaultAlgorithm(e);return(l=h).paddingPageHorizontal??(l.paddingPageHorizontal=h.sizeLG),(n=h).paddingPageVertical??(n.paddingPageVertical=h.sizeLG),(o=h).paddingPopupHorizontal??(o.paddingPopupHorizontal=h.sizeLG),(r=h).paddingPopupVertical??(r.paddingPopupVertical=h.size),(i=h).marginBlock??(i.marginBlock=h.sizeLG),(a=h).borderRadiusBlock??(a.borderRadiusBlock=h.borderRadiusLG),(s=h).colorBgSider??(s.colorBgSider=h.colorBgElevated),(d=h).colorBgSiderMenuHover??(d.colorBgSiderMenuHover=h.colorBgTextHover||h.colorFillSecondary),(u=h).colorBgSiderMenuActive??(u.colorBgSiderMenuActive=h.colorPrimaryBg),(c=h).colorTextSiderMenu??(c.colorTextSiderMenu=h.colorText),(p=h).colorTextSiderMenuHover??(p.colorTextSiderMenuHover=h.colorText),(m=h).colorTextSiderMenuActive??(m.colorTextSiderMenuActive=h.colorPrimary),h},er=e=>(Array.isArray(e.algorithm)?e.algorithm.includes(eo)||e.algorithm.push(eo):e.algorithm=[e.algorithm,eo].filter(Boolean),e.algorithm=e.algorithm.filter(Boolean),e);(0,k.injectGlobal)`
3
3
  .ant-form-item-label > label {
4
4
  font-weight: 600;
@@ -76,7 +76,7 @@
76
76
  display: inline-flex;
77
77
  align-items: center;
78
78
  height: 100%;
79
- `,n6=e=>{let t=null==e?void 0:e.trim();return t&&"/"!==t?`/${t.replace(/^\/+/,"")}`:"/"},n3=e=>{let t=n6(e).replace(/\/+$/,"");return""===t||"/"===t?"":t},n5=e=>{var t,l,n,o;return(null==e||null==(l=e.router)||null==(t=l.getBasename)?void 0:t.call(l))||(null==e||null==(n=e.router)?void 0:n.basename)||(null==e||null==(o=e.getPublicPath)?void 0:o.call(e))||""},n4=(e,t)=>{let l=n6(e),n=n3(t);return n?l===n?"/":l.startsWith(`${n}/`)?n6(l.slice(n.length)):l:l},n7=e=>{let t=n6(e),l=/^(.*?\/(?:apps|_app)\/[^/]+)(?=\/|$)/.exec(t),n=(null==l?void 0:l[1])||"";return{appPath:n,routePath:n?n6(t.slice(n.length)):t}},n9=(e,t)=>{var l;let n=n7(t||"").appPath;if(n)return n;let o=n7((null==e||null==(l=e.getPublicPath)?void 0:l.call(e))||"").appPath;return o||((null==e?void 0:e.name)&&"main"!==e.name&&e.getHref?n3(e.getHref("/")):"")},oe=(e,t)=>{let l=n6(e);return!t||l===t||l.startsWith(`${t}/`)?l:`${t}${l}`},ot=e=>"/admin"===e||e.startsWith("/admin/"),ol=e=>{try{var t,l,n;return null==e||null==(n=e.layoutManager)||null==(l=n.getLayout)||null==(t=l.call(n,"admin"))?void 0:t.routePath}catch{return}},on=(e,t)=>{let l=n6(e),n=n3(t);return!n||l===n||l.startsWith(`${n}/`)?l:`${n}${l}`};function oo(e){return(0,O.jsx)("div",{onClick:()=>{window.open(e.link,"_blank","noopener,noreferrer")},children:e.title})}function or(e){let t=(0,Y.n)(),l=(0,H.useLocation)(),n=e.path||"/admin/settings",o=n5(t),r=n4(l.pathname,o),i=n7(r),a=i.appPath||n9(t,o),s=i.appPath?i.routePath:r,d=oe(n4(n,o),a);if(a){let l=on(d,o),n=nX({currentPathname:r,targetPathname:d,basePath:o,adminRoutePath:ol(t)});return(0,O.jsx)("a",{href:l,target:n?"_blank":void 0,rel:n?"noopener noreferrer":void 0,children:e.title})}return ot(s)?(0,O.jsx)(W.Link,{to:d,children:e.title}):(0,O.jsx)("a",{href:on(n,o),target:"_blank",rel:"noopener noreferrer",children:e.title})}function oi(e){let{settings:t,canManagePlugins:l,t:n}=e,o=(0,n0.eD)((0,n0.Ui)(t)),r=o.find(e=>e.name===n0.Bm),i=new Map,a=(0,n0.p$)(o.filter(e=>e.name!==n0.Bm).map(e=>({...e,children:void 0})));a.forEach(e=>{i.set(e.key,e)});let s=((0,n0.gL)(a)||[]).map(e=>{if((null==e?void 0:e.type)==="divider")return e;let t=i.get(String(e.key)),l=null==t?void 0:t.path,n=null==t?void 0:t.link,o=(null==t?void 0:t.title)||e.title;return{key:e.key,name:null==t?void 0:t.name,path:null==t?void 0:t.path,link:n,title:o,icon:e.icon,label:n?(0,O.jsx)(oo,{title:o,link:n}):(0,O.jsx)(or,{title:o,path:l})}}),d=[];return l&&r&&d.push({key:r.key,icon:r.icon||(0,O.jsx)(nD.A,{}),label:(0,O.jsx)(or,{title:r.title||n("Plugin manager"),path:r.path})}),l&&s.length&&d.push({type:"divider"}),d.push(...s),d}class oa extends L.FlowModel{getActionId(){return this.actionId||this.uid||this.constructor.name}getTestId(){return this.testId||`topbar-action-${this.getActionId()}`}isHidden(){return!!this.hidden}getButtonStyle(e){}onClick(e){}renderButton(){return(0,O.jsx)(od,{model:this})}renderWrapper(e){return this.tooltip?(0,O.jsx)(tU.A,{title:this.context.t(this.tooltip),children:(0,O.jsx)("span",{className:n8,children:e})}):e}render(){return this.renderWrapper(this.renderButton())}constructor(...e){super(...e),this.sort=0}}let os=e=>({"--nb-topbar-action-color":e.colorTextHeaderMenu||"rgba(255, 255, 255, 0.65)","--nb-topbar-action-hover-bg":e.colorBgHeaderMenuHover||"rgba(255, 255, 255, 0.1)"}),od=(0,L.observer)(e=>{var t,l;let{model:n,style:o,className:r}=e,{token:i}=ee.A.useToken(),a=i;return(0,O.jsx)(eJ.Ay,{...n.props,type:"text",icon:n.icon,"data-testid":n.getTestId(),onClick:n.onClick.bind(n),className:(0,k.cx)(n2,r,null==(t=n.props)?void 0:t.className),style:{...os(a),...n.getButtonStyle(a),...null==(l=n.props)?void 0:l.style,...o}})},{displayName:"TopbarActionButton"}),ou=(0,L.observer)(e=>{let{model:t}=e,l=(0,L.useFlowEngine)(),{token:n}=ee.A.useToken(),o=n,r=!!l.context.flowSettingsEnabled,i=!!t.context.isMobileLayout;return((0,nB.vC)("ctrl+shift+u",()=>{if(!i){if(r)return void l.flowSettings.disable();l.flowSettings.enable()}},[r,l,i]),i)?null:t.renderWrapper((0,O.jsx)(od,{model:t,style:r?{backgroundColor:o.colorSettings,"--nb-topbar-action-hover-bg":o.colorSettings}:void 0}))},{displayName:"UIEditorTopbarAction"}),oc=(0,L.observer)(e=>{let{model:t}=e,l=(0,Y.n)(),{snippets:n=[]}=(0,ng.v6)(),{t:o}=(0,eX.B)(),[r,i]=(0,P.useState)(!1),a=(0,P.useMemo)(()=>oi({settings:l.pluginSettingsManager.getList(!0),canManagePlugins:n.includes("pm"),t:o}),[l,n,o]);return((0,P.useEffect)(()=>()=>{l.pluginSettingsManager.clearCache()},[l]),a.length)?(0,O.jsx)(nb.A,{open:r,trigger:["hover"],placement:"bottomRight",mouseEnterDelay:0,mouseLeaveDelay:.1,onOpenChange:i,menu:{style:{maxHeight:"70vh",overflow:"auto"},items:a},children:(0,O.jsx)("span",{className:n8,onMouseEnter:()=>i(!0),children:(0,O.jsx)(od,{model:t})})}):null},{displayName:"PluginSettingsTopbarAction"});class op extends oa{async onClick(){let e=this.context.engine.flowSettings;if(e.enabled){(0,n1.o7)(!1),await e.disable();return}(0,n1.o7)(!0),await e.enable()}render(){return(0,O.jsx)(ou,{model:this})}constructor(...e){super(...e),this.sort=0,this.actionId="ui-editor",this.testId="ui-editor-button",this.aclSnippet="ui.*",this.icon=(0,O.jsx)(nn.A,{}),this.tooltip=(0,L.tExpr)("UI Editor")}}class om extends oa{render(){return(0,O.jsx)(oc,{model:this})}constructor(...e){super(...e),this.sort=100,this.actionId="plugin-settings",this.testId="plugin-settings-button",this.icon=(0,O.jsx)(n$.A,{})}}let oh="user-center",of={profile:100,preferences:200,system:300,danger:400},og=(0,k.css)`
79
+ `,n6=e=>{let t=null==e?void 0:e.trim();return t&&"/"!==t?`/${t.replace(/^\/+/,"")}`:"/"},n3=e=>{let t=n6(e).replace(/\/+$/,"");return""===t||"/"===t?"":t},n5=e=>{var t,l,n,o;return(null==e||null==(l=e.router)||null==(t=l.getBasename)?void 0:t.call(l))||(null==e||null==(n=e.router)?void 0:n.basename)||(null==e||null==(o=e.getPublicPath)?void 0:o.call(e))||""},n4=(e,t)=>{let l=n6(e),n=n3(t);return n?l===n?"/":l.startsWith(`${n}/`)?n6(l.slice(n.length)):l:l},n7=e=>{let t=n6(e),l=/^(.*?\/(?:apps|_app)\/[^/]+)(?=\/|$)/.exec(t),n=(null==l?void 0:l[1])||"";return{appPath:n,routePath:n?n6(t.slice(n.length)):t}},n9=(e,t)=>{var l;let n=n7(t||"").appPath;if(n)return n;let o=n7((null==e||null==(l=e.getPublicPath)?void 0:l.call(e))||"").appPath;return o||((null==e?void 0:e.name)&&"main"!==e.name&&e.getHref?n3(e.getHref("/")):"")},oe=(e,t)=>{let l=n6(e);return!t||l===t||l.startsWith(`${t}/`)?l:`${t}${l}`},ot=e=>"/admin"===e||e.startsWith("/admin/"),ol=e=>{try{var t,l,n;return null==e||null==(n=e.layoutManager)||null==(l=n.getLayout)||null==(t=l.call(n,"admin"))?void 0:t.routePath}catch{return}},on=(e,t)=>{let l=n6(e),n=n3(t);return!n||l===n||l.startsWith(`${n}/`)?l:`${n}${l}`};function oo(e){return(0,O.jsx)("div",{onClick:()=>{window.open(e.link,"_blank","noopener,noreferrer")},children:e.title})}function or(e){let t=(0,Y.n)(),l=(0,H.useLocation)(),n=e.path||"/admin/settings",o=n5(t),r=n4(l.pathname,o),i=n7(r),a=i.appPath||n9(t,o),s=i.appPath?i.routePath:r,d=oe(n4(n,o),a);if(a){let l=on(d,o);return nX({currentPathname:r,targetPathname:d,basePath:o,adminRoutePath:ol(t)})?(0,O.jsx)("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:e.title}):(0,O.jsx)(W.Link,{to:n4(d,o),children:e.title})}return ot(s)?(0,O.jsx)(W.Link,{to:d,children:e.title}):(0,O.jsx)("a",{href:on(n,o),target:"_blank",rel:"noopener noreferrer",children:e.title})}function oi(e){let{settings:t,canManagePlugins:l,t:n}=e,o=(0,n0.eD)((0,n0.Ui)(t)),r=o.find(e=>e.name===n0.Bm),i=new Map,a=(0,n0.p$)(o.filter(e=>e.name!==n0.Bm).map(e=>({...e,children:void 0})));a.forEach(e=>{i.set(e.key,e)});let s=((0,n0.gL)(a)||[]).map(e=>{if((null==e?void 0:e.type)==="divider")return e;let t=i.get(String(e.key)),l=null==t?void 0:t.path,n=null==t?void 0:t.link,o=(null==t?void 0:t.title)||e.title;return{key:e.key,name:null==t?void 0:t.name,path:null==t?void 0:t.path,link:n,title:o,icon:e.icon,label:n?(0,O.jsx)(oo,{title:o,link:n}):(0,O.jsx)(or,{title:o,path:l})}}),d=[];return l&&r&&d.push({key:r.key,icon:r.icon||(0,O.jsx)(nD.A,{}),label:(0,O.jsx)(or,{title:r.title||n("Plugin manager"),path:r.path})}),l&&s.length&&d.push({type:"divider"}),d.push(...s),d}class oa extends L.FlowModel{getActionId(){return this.actionId||this.uid||this.constructor.name}getTestId(){return this.testId||`topbar-action-${this.getActionId()}`}isHidden(){return!!this.hidden}getButtonStyle(e){}onClick(e){}renderButton(){return(0,O.jsx)(od,{model:this})}renderWrapper(e){return this.tooltip?(0,O.jsx)(tU.A,{title:this.context.t(this.tooltip),children:(0,O.jsx)("span",{className:n8,children:e})}):e}render(){return this.renderWrapper(this.renderButton())}constructor(...e){super(...e),this.sort=0}}let os=e=>({"--nb-topbar-action-color":e.colorTextHeaderMenu||"rgba(255, 255, 255, 0.65)","--nb-topbar-action-hover-bg":e.colorBgHeaderMenuHover||"rgba(255, 255, 255, 0.1)"}),od=(0,L.observer)(e=>{var t,l;let{model:n,style:o,className:r}=e,{token:i}=ee.A.useToken(),a=i;return(0,O.jsx)(eJ.Ay,{...n.props,type:"text",icon:n.icon,"data-testid":n.getTestId(),onClick:n.onClick.bind(n),className:(0,k.cx)(n2,r,null==(t=n.props)?void 0:t.className),style:{...os(a),...n.getButtonStyle(a),...null==(l=n.props)?void 0:l.style,...o}})},{displayName:"TopbarActionButton"}),ou=(0,L.observer)(e=>{let{model:t}=e,l=(0,L.useFlowEngine)(),{token:n}=ee.A.useToken(),o=n,r=!!l.context.flowSettingsEnabled,i=!!t.context.isMobileLayout;return((0,nB.vC)("ctrl+shift+u",()=>{if(!i){if(r)return void l.flowSettings.disable();l.flowSettings.enable()}},[r,l,i]),i)?null:t.renderWrapper((0,O.jsx)(od,{model:t,style:r?{backgroundColor:o.colorSettings,"--nb-topbar-action-hover-bg":o.colorSettings}:void 0}))},{displayName:"UIEditorTopbarAction"}),oc=(0,L.observer)(e=>{let{model:t}=e,l=(0,Y.n)(),{snippets:n=[]}=(0,ng.v6)(),{t:o}=(0,eX.B)(),[r,i]=(0,P.useState)(!1),a=(0,P.useMemo)(()=>oi({settings:l.pluginSettingsManager.getList(!0),canManagePlugins:n.includes("pm"),t:o}),[l,n,o]);return((0,P.useEffect)(()=>()=>{l.pluginSettingsManager.clearCache()},[l]),a.length)?(0,O.jsx)(nb.A,{open:r,trigger:["hover"],placement:"bottomRight",mouseEnterDelay:0,mouseLeaveDelay:.1,onOpenChange:i,menu:{style:{maxHeight:"70vh",overflow:"auto"},items:a},children:(0,O.jsx)("span",{className:n8,onMouseEnter:()=>i(!0),children:(0,O.jsx)(od,{model:t})})}):null},{displayName:"PluginSettingsTopbarAction"});class op extends oa{async onClick(){let e=this.context.engine.flowSettings;if(e.enabled){(0,n1.o7)(!1),await e.disable();return}(0,n1.o7)(!0),await e.enable()}render(){return(0,O.jsx)(ou,{model:this})}constructor(...e){super(...e),this.sort=0,this.actionId="ui-editor",this.testId="ui-editor-button",this.aclSnippet="ui.*",this.icon=(0,O.jsx)(nn.A,{}),this.tooltip=(0,L.tExpr)("UI Editor")}}class om extends oa{render(){return(0,O.jsx)(oc,{model:this})}constructor(...e){super(...e),this.sort=100,this.actionId="plugin-settings",this.testId="plugin-settings-button",this.icon=(0,O.jsx)(n$.A,{})}}let oh="user-center",of={profile:100,preferences:200,system:300,danger:400},og=(0,k.css)`
80
80
  display: inline-flex;
81
81
  align-items: center;
82
82
  height: 100%;
@@ -440,7 +440,7 @@
440
440
  padding: 0;
441
441
  overflow: hidden;
442
442
  }
443
- `,ru={token:{colorSplit:"rgba(255, 255, 255, 0.1)"}};function rc(e,t){return e.map((e,t)=>({action:e,index:t})).filter(e=>{let{action:l}=e;return!l.isHidden()&&(!l.aclSnippet||t(l.aclSnippet))}).sort((e,t)=>(e.action.sort||0)!==(t.action.sort||0)?(e.action.sort||0)-(t.action.sort||0):e.index-t.index).map(e=>{let{action:t}=e;return t})}let rp=e=>({"--nb-topbar-action-color":e.colorTextHeaderMenu||"rgba(255, 255, 255, 0.65)","--nb-topbar-action-hover-bg":e.colorBgHeaderMenuHover||"rgba(255, 255, 255, 0.1)"}),rm=()=>null,rh=e=>"function"==typeof(null==e?void 0:e.getActionId)?e.getActionId():(null==e?void 0:e.actionId)||(null==e?void 0:e.uid)||"",rf=P.memo(e=>{let{allow:t}=(0,ra.K)(),{token:l}=ee.A.useToken(),n=l,o=(0,P.useMemo)(()=>rc(e.actions,t),[t,e.actions]),r=o.filter(e=>rh(e)!==oh),i=o.find(e=>rh(e)===oh);return(0,O.jsxs)("div",{className:rs,style:rp(n),children:[(0,O.jsx)("div",{className:"nb-topbar-actions-list",onClick:e.onActionClick,children:r.map(e=>(0,O.jsx)(U.tH,{FallbackComponent:rm,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,O.jsx)(L.FlowModelRenderer,{model:e})},e.uid))}),(0,O.jsx)(et.Ay,{theme:ru,children:(0,O.jsx)(nm.A,{type:"vertical"})}),(0,O.jsx)(nj,{}),i?(0,O.jsx)(U.tH,{FallbackComponent:rm,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,O.jsx)(L.FlowModelRenderer,{model:i})},i.uid):null]})});rf.displayName="TopbarActionsContent";let rg=P.memo(e=>{let{token:t}=ee.A.useToken(),l=t,[n,o]=(0,P.useState)(!1),r=(0,P.useCallback)(()=>{o(!1)},[]);return e.isMobile?(0,O.jsx)(lz.A,{rootClassName:rd,content:(0,O.jsx)(rf,{actions:e.actions,onActionClick:r}),color:l.colorBgHeader,trigger:"click",open:n,onOpenChange:o,children:(0,O.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,O.jsx)(lV.A,{style:{color:l.colorTextHeaderMenu,fontSize:20}})})}):(0,O.jsx)(rf,{actions:e.actions})});rg.displayName="TopbarActionsBar";let rv=e=>{let{children:t,model:l}=e,n=(0,L.useFlowEngine)(),o=(0,Y.n)(),r=(0,H.useNavigate)(),i=(0,H.useLocation)(),a=(0,H.useMatches)(),[s,d]=(0,P.useState)(!1),u=(0,P.useRef)(!1),c=n.context.routeRepository,p=null==l?void 0:l.layout,m=null==p?void 0:p.uid,h=null==p?void 0:p.routeName,f=null==p?void 0:p.routePath,g=null==p?void 0:p.authCheck,v=(0,P.useMemo)(()=>{if(m||h||f||void 0!==g)return{authCheck:g,routeName:h,routePath:f||"",uid:m}},[g,h,f,m]),y=tb(v),x=(null==v?void 0:v.routeName)||"admin",b=(0,P.useMemo)(()=>({routePath:y}),[y]),w=(0,P.useMemo)(()=>tF(i.pathname,o.router.getBasename())===y,[o,y,i.pathname]),S=(0,P.useMemo)(()=>{var e,t;let l=a[a.length-1];if(!eO(x,null==l?void 0:l.id))return"";let n=a.find(e=>e.id===x);return(null==(e=l.params)?void 0:e.name)||(null==(t=(0,L.parsePathnameToViewParams)(i.pathname,{basePath:(null==n?void 0:n.pathname)||y})[0])?void 0:t.viewUid)||""},[x,y,i.pathname,a]);return((0,P.useEffect)(()=>{u.current=!1},[i.pathname,i.search,i.hash,S]),(0,P.useEffect)(()=>{var e;let t=!0,l=null==c||null==(e=c.activateLayout)?void 0:e.call(c,v);return(async()=>{var e,l,n,i,a;if(d(!1),!w&&!S){t&&d(!0);return}if(!(null==c||null==(e=c.isAccessibleLoaded)?void 0:e.call(c)))try{await (null==c||null==(n=c.ensureAccessibleLoaded)?void 0:n.call(c))}catch(e){t&&d(!0);return}if(!t||u.current)return;if(S){let e=null==c||null==(i=c.getRouteBySchemaUid)?void 0:i.call(c,S);if((null==e?void 0:e.type)===eR.q2.page){let t=tN({app:o,route:e,layout:b,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===t.navigationMode&&t.runtimePath){u.current=!0,window.location.replace(t.runtimePath);return}}let l=e||null==c||null==(a=c.getRouteById)?void 0:a.call(c,S);if(!e&&(null==l?void 0:l.type)===eR.q2.group){let e=tN({app:o,route:l,layout:b});if(e.runtimePath)return(u.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):r(tF(e.runtimePath,o.router.getBasename()),{replace:!0})}t&&d(!0);return}let s=tT((null==c||null==(l=c.listAccessible)?void 0:l.call(c))||[]);if(!s){t&&d(!0);return}let p=tN({app:o,route:s,layout:b});if(!p.runtimePath){t&&d(!0);return}(u.current=!0,"document"===p.navigationMode)?window.location.replace(p.runtimePath):r(tF(p.runtimePath,o.router.getBasename()),{replace:!0})})(),()=>{t=!1,null==l||l()}},[o,n,w,v,b,i.hash,i.pathname,i.search,r,S,c]),s)?(0,O.jsx)(O.Fragment,{children:t}):null};class ry extends eH{refreshMenuRouteTree(){this.menuRouteRefreshVersion+=1}syncMenuRoutes(e){lP(this,Array.isArray(e)?e:[])}toProLayoutRoute(e){let t=(this.subModels.menuItems||[]).map(t=>t.toProLayoutRoute({...e,depth:0})).filter(Boolean)||[];return e.designable&&(e.isMobile?t.push(lB("schema-initializer-Menu-header",this)):t.unshift(lB("schema-initializer-Menu-header",this))),{path:"/",children:t}}createRouteCoordinator(){return new tD(this.flowEngine,this.getRouteCoordinatorOptions())}render(){return(0,O.jsx)(rv,{model:this,children:(0,O.jsx)(ri,{...this.props,model:this})})}constructor(e){super(e),this.menuRouteRefreshVersion=0,(0,q.define)(this,{menuRouteRefreshVersion:q.observable.ref})}}function rx(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eG(e,t$,{...t,use:t.use||ry});if(!l&&t.required)throw Error("[NocoBase] FlowRoute requires admin-layout-model. Please render FlowRoute under AdminLayout.");return l}function rb(e){let{flowEngine:t,pageUid:l,active:n,refreshDesktopRoutes:o,layoutContentRef:r,getLayoutModel:i}=e,a=i(t),s=(0,P.useRef)(n),d=(0,P.useRef)(o);if(!a)throw Error("[NocoBase] FlowRoute requires layout model. Please render FlowRoute under Layout.");return s.current=n,d.current=o,(0,P.useEffect)(()=>(a.registerRoutePage(l,{active:s.current??!1,refreshDesktopRoutes:d.current,layoutContentElement:r.current}),()=>{a.unregisterRoutePage(l)}),[a,l,r]),(0,P.useEffect)(()=>{a.updateRoutePage(l,{active:n,refreshDesktopRoutes:o,layoutContentElement:r.current})},[n,a,l,o,r]),a}ry.registerFlow({key:"topbarAction",steps:{step1:{handler:async(e,t)=>{let l=[...(await e.engine.getSubclassesOfAsync("TopbarActionModel")).keys()].map(t=>{let l=e.engine.createModel({use:t,uid:`topbar-action-${t}`});return l.setParent(e.model),l});e.model.props.actionsRender=e=>[(0,O.jsx)(rg,{actions:l,isMobile:null==e?void 0:e.isMobile},"topbar-actions")]}}}});var rw=l(10159);let rS=e=>{e.context.defineProperty("deviceType",{get:()=>"browser"===rw.deviceType?"computer":rw.deviceType,cache:!1,meta:{type:"string",title:e.translate("Current device type"),interface:"select",uiSchema:{enum:[{label:e.translate("Computer"),value:"computer"},{label:e.translate("Mobile"),value:"mobile"},{label:e.translate("Tablet"),value:"tablet"},{label:e.translate("SmartTv"),value:"smarttv"},{label:e.translate("Console"),value:"console"},{label:e.translate("Wearable"),value:"wearable"},{label:e.translate("Embedded"),value:"embedded"}],"x-component":"Select"}},info:{description:"Current device type (computer/mobile/tablet/...).",detail:"string"}})},rC=e=>rx(e,{required:!0}),rF=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.uid)?eG(e,l.uid,{required:!0}):rC(e)},rk=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.routeName)&&"admin"!==l.routeName?"notFound":"redirect"},rA=e=>(null==e?void 0:e.authCheck)!==!1,rP=(e,t)=>{if(Array.isArray(e))for(let l of e){if(l.type!==eR.q2.group&&l.schemaUid===t||l.type===eR.q2.group&&null!=l.id&&String(l.id)===t)return l;let e=rP(l.children,t);if(e)return e}},rM=(e,t)=>{var l,n;let o=null==e||null==(l=e.getRouteBySchemaUid)?void 0:l.call(e,t);return o&&o.type!==eR.q2.group?o:rP(null==e||null==(n=e.listAccessible)?void 0:n.call(e),t)},rj=async(e,t)=>{var l;if(e.getModel(t))return!0;let n=await (null==(l=e.modelRepository)?void 0:l.findOne({uid:t}).catch(()=>null));if(null==n?void 0:n.uid)return!0;let o=await e.loadModel({uid:t}).catch(()=>null);return o&&e.getModel(t)===o&&e.removeModelWithSubModels(t),!!o},rI=e=>{let{pageUid:t,active:l,getLayoutModel:n}=e,o=(0,L.useFlowEngine)(),{active:r}=(0,no.Y)(),i=o.context.routeRepository,a=P.useMemo(()=>null==i?void 0:i.refreshAccessible.bind(i),[i]),s=(0,P.useRef)(null);return(0,P.useEffect)(()=>{o.context.getPropertyOptions("deviceType")||rS(o)},[o]),rb({flowEngine:o,pageUid:t,active:l??r,refreshDesktopRoutes:a,layoutContentRef:s,getLayoutModel:n}),(0,O.jsx)("div",{ref:s})},rT=(e,t)=>{let l=e.getPublicPath(),n=window.location.pathname.startsWith(l)?window.location:t,o=n.pathname.startsWith(l)?n.pathname.slice(l.length):n.pathname.replace(/^\/+/,"");return`${tn(l)}${o}${n.search}${n.hash}`},rR=e=>{let{app:t,location:l}=e,{t:n}=(0,eX.B)(),o=`/${tl()}/`,r=e=>e.replaceAll("{{modernClientPath}}",o);return(0,O.jsx)(eY.Ay,{status:"warning",title:r(n("This page is not supported in the {{modernClientPath}} branch")),subTitle:r(n("The {{modernClientPath}} branch only supports new pages. This page is a legacy page. Please open it from the original entry.")),extra:(0,O.jsx)(eJ.Ay,{href:rT(t,l),type:"primary",children:n("Open from the original entry")})})},rE=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{active:t,getLayoutModel:l,legacyPageBehavior:n,pageUid:o}=e,r=(0,L.useFlowEngine)(),i=(0,L.useFlowContext)(),a=null==i?void 0:i.layout,s=(0,P.useMemo)(()=>null==l?void 0:l(r),[r,l]),d=a||(null==s?void 0:s.layout),u=null==d?void 0:d.uid,c=null==d?void 0:d.routeName,p=null==d?void 0:d.routePath,m=null==d?void 0:d.authCheck,h=(0,P.useMemo)(()=>{if(u||c||p||void 0!==m)return{authCheck:m,routeName:c,routePath:p,uid:u}},[m,c,p,u]),f=(0,P.useMemo)(()=>l||(e=>rF(e,h)),[l,h]),g=n||rk(r,h),v=(0,Y.n)(),y=(0,H.useLocation)(),x=(0,H.useNavigate)(),b=r.context.routeRepository,w=(0,H.useParams)(),S=o||(null==w?void 0:w.name),C=void 0!==(null==w?void 0:w.tabUid)||void 0!==(null==w?void 0:w["*"]),F=!b,[k,A]=(0,P.useState)({pageUid:void 0,pending:!0,allowBridge:!1,notFound:!1}),M=(0,P.useRef)(!1),j=(0,P.useRef)(0);if(!S)throw Error("[NocoBase] FlowRoute requires pageUid or route.params.name.");return(0,P.useEffect)(()=>{M.current=!1},[y.hash,y.pathname,y.search,S]),(0,P.useEffect)(()=>{let e=!0,t=++j.current,l=rA(h);return(async()=>{var n,o,i,a;if(A({pageUid:S,pending:!0,allowBridge:!1,notFound:!1}),l&&!F&&!(null==b||null==(n=b.isAccessibleLoaded)?void 0:n.call(b)))try{await (null==b||null==(o=b.ensureAccessibleLoaded)?void 0:o.call(b))}catch(l){e&&t===j.current&&A({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});return}if(!e||t!==j.current)return;let s=F||!l?void 0:rM(b,S);if(!s&&!F&&l)return A({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if(!s&&"notFound"===g){let l=await rj(r,S);e&&t===j.current&&A({pageUid:S,pending:!1,allowBridge:l,notFound:!l});return}if((null==s?void 0:s.type)===eR.q2.group){if(C)return A({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});let e=tN({app:v,route:s,layout:h});return"emptyGroup"===e.reason?A({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):e.runtimePath?M.current?A({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):(M.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):x(tF(e.runtimePath,null==(a=v.router)||null==(i=a.getBasename)?void 0:i.call(a)),{replace:!0}):A({pageUid:S,pending:!1,allowBridge:!1,notFound:!0})}if((null==s?void 0:s.type)===eR.q2.page){if("notFound"===g)return A({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if("bridge"===g)return A({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});let l=tN({app:v,route:s,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===l.navigationMode&&l.runtimePath&&!M.current){M.current=!0,window.location.replace(l.runtimePath);return}if("unsupportedV2Runtime"===l.reason){e&&t===j.current&&A({pageUid:S,pending:!1,allowBridge:!1,notFound:!1,legacyPageUnsupported:!0});return}}e&&t===j.current&&A({pageUid:S,pending:!1,allowBridge:!0,notFound:!1})})(),()=>{e=!1}},[v,r,C,g,x,S,h,b,F]),(0,P.useMemo)(()=>k.pageUid!==S||k.pending?null:k.notFound?(0,O.jsx)(em.bM,{}):k.legacyPageUnsupported?(0,O.jsx)(rR,{app:v,location:y}):k.allowBridge?(0,O.jsx)(rI,{pageUid:S,active:t,getLayoutModel:f}):null,[t,v,f,k.allowBridge,k.legacyPageUnsupported,k.notFound,k.pageUid,k.pending,y,S])};rE.displayName="FlowRoute";let rN=rE,rD=e=>e.current,r$=e=>{let{layoutRouteName:t}=e,l=(0,Y.n)(),n=(0,L.useFlowEngine)(),o=l.layoutManager.getLayout(t),r=(0,H.useLocation)(),i=(0,H.useMatches)(),a=eG(n,o.uid,{required:!0}),s="admin"===o.routeName?"redirect":"notFound",d=(0,P.useRef)(0),u=(0,P.useMemo)(()=>{let e=i[i.length-1],t=i.find(e=>e.id===o.routeName);return{id:null==e?void 0:e.id,name:null==e?void 0:e.id,pathname:r.pathname,state:r.state,params:(null==e?void 0:e.params)||{},layoutRouteName:o.routeName,layoutBasePathname:null==t?void 0:t.pathname}},[o.routeName,r.pathname,r.state,i]);if(!a)throw Error(`[NocoBase] Layout '${o.routeName}' model '${o.uid}' is not mounted.`);let c=a.resolveLayoutRoute(u),p=(0,P.useMemo)(()=>e=>eG(e,o.uid,{required:!0}),[o.uid]);return((0,P.useEffect)(()=>{let e=++d.current;return a.syncLayoutRoute(u),()=>{Promise.resolve().then(()=>{rD(d)===e&&a.clearLayoutRoute(u)}).catch(()=>{})}},[a,u]),"root"===c.type)?null:"notFound"===c.type?(0,O.jsx)(em.bM,{}):(0,O.jsx)(rN,{pageUid:c.pageUid,getLayoutModel:p,legacyPageBehavior:s})};l(42196);var rB=l(66466),rO=l(42441);function rq(e){return(0,O.jsx)(oB.A,{...e,children:(0,O.jsx)(rO.A,{paragraph:{rows:3}})})}let rL=e=>e.current;function r_(e){return e===eH||(0,L.isInheritedFrom)(e,eH)}function rV(e,t){if(!(e instanceof eH))throw Error(`[NocoBase] Layout '${t.routeName}' requires model '${t.uid}' to be an instance of BaseLayoutModel.`)}async function rz(e,t){let l=await e.getModelClassAsync(t.layoutModelClass);if(!l)throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' is not registered.`);if(!r_(l))throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' must extend BaseLayoutModel.`)}let rK=e=>{let{layoutRouteName:t}=e,l=(0,Y.n)(),n=(0,L.useFlowEngine)(),o=l.layoutManager.getLayout(t),r=(0,H.useLocation)(),i=(0,H.useMatches)(),a=i[i.length-1],s=i.find(e=>e.id===o.routeName),d=JSON.stringify((null==a?void 0:a.params)||{}),u=(0,P.useMemo)(()=>JSON.parse(d),[d]),c=(0,P.useRef)(0),p=(0,P.useMemo)(()=>({id:null==a?void 0:a.id,name:null==a?void 0:a.id,pathname:r.pathname,state:r.state,params:u,layoutRouteName:o.routeName,layoutBasePathname:null==s?void 0:s.pathname}),[null==a?void 0:a.id,u,o.routeName,null==s?void 0:s.pathname,r.pathname,r.state]),{loading:m,data:h,error:f}=(0,rB.A)(async()=>{let e=n.getModel(o.uid);if(e)return rV(e,o),e.setProps({layout:o}),e;await rz(n,o);let t=await n.createModelAsync({uid:o.uid,use:o.layoutModelClass,props:{layout:o}});return rV(t,o),t},{refreshDeps:[n,o]});if((0,P.useEffect)(()=>{if(!h)return;let e=++c.current;return h.syncLayoutRoute(p),()=>{Promise.resolve().then(()=>{rL(c)===e&&h.clearLayoutRoute(p)}).catch(()=>{})}},[h,p]),f)throw f;return m||!h?(0,O.jsx)(rq,{style:{margin:16}}):(0,O.jsx)(L.FlowModelRenderer,{model:h})},rU="RootPageModel",rW="ChildPageModel",rH=(e,t)=>{if("string"!=typeof e||""===e.trim())throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a non-empty string.`)},rG=(e,t)=>{if("string"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a string.`)},rY=(e,t)=>{void 0!==e&&rH(e,t)},rJ=(e,t)=>{if(void 0!==e&&"boolean"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a boolean.`)};function rX(e){if(e.includes("..")||e.startsWith(".")||e.endsWith("."))throw Error(`[NocoBase] layoutManager.registerLayout() received invalid routeName '${e}'.`)}function rQ(e,t){let l=t.trim(),n=e.includes(".");if(n&&l.startsWith("/"))throw Error(`[NocoBase] nested layout routePath '${t}' must be relative.`);let o=n?l.replace(/^\/+/,"").replace(/\/+$/,""):`/${l.replace(/^\/+/,"").replace(/\/+$/,"")}`;if(!n&&(!o||"/"===o))throw Error("[NocoBase] layoutManager.registerLayout() does not support root routePath '/'.");if(o.includes("*"))throw Error(`[NocoBase] layoutManager.registerLayout() does not support wildcard routePath '${t}'.`);return o}function rZ(e){rH(e.routeName,"routeName"),rG(e.routePath,"routePath"),rH(e.uid,"uid"),rH(e.layoutModelClass,"layoutModelClass"),rY(e.rootPageModelClass,"rootPageModelClass"),rY(e.childPageModelClass,"childPageModelClass"),rJ(e.authCheck,"authCheck"),rX(e.routeName);let t=rQ(e.routeName,e.routePath);return{routeName:e.routeName,rootRouteName:e.routeName.split(".")[0],routePath:t,uid:e.uid,layoutModelClass:e.layoutModelClass,rootPageModelClass:e.rootPageModelClass||rU,childPageModelClass:e.childPageModelClass||rW,authCheck:e.authCheck??!0}}class r0{registerLayout(e){let t=rZ(e);if(this.layouts.has(t.routeName))throw Error(`[NocoBase] Layout '${t.routeName}' has already been registered.`);let l=this.uidIndex.get(t.uid);if(l)throw Error(`[NocoBase] Layout uid '${t.uid}' has already been registered by '${l}'.`);return this.layouts.set(t.routeName,t),this.uidIndex.set(t.uid,t.routeName),this.addStandardRoutes(t),t}getLayout(e){let t=this.layouts.get(e);if(!t)throw Error(`[NocoBase] Layout '${e}' is not registered.`);return t}hasLayout(e){return this.layouts.has(e)}listLayouts(){return Array.from(this.layouts.values())}addStandardRoutes(e){let t=e.routeName,l=e.authCheck,n=!1===l;this.app.router.add(t,{path:e.routePath,authCheck:l,skipAuthCheck:n,element:(0,O.jsx)(rK,{layoutRouteName:e.routeName})}),this.app.router.add(eE(t),{path:":name",authCheck:l,skipAuthCheck:n,element:(0,O.jsx)(r$,{layoutRouteName:e.routeName})}),this.app.router.add(eN(t),{path:":name/tab/:tabUid",authCheck:l,skipAuthCheck:n,element:(0,O.jsx)(r$,{layoutRouteName:e.routeName})}),this.app.router.add(eD(t),{path:":name/view/*",authCheck:l,skipAuthCheck:n,element:(0,O.jsx)(r$,{layoutRouteName:e.routeName})}),this.app.router.add(e$(t),{path:":name/tab/:tabUid/view/*",authCheck:l,skipAuthCheck:n,element:(0,O.jsx)(r$,{layoutRouteName:e.routeName})})}constructor(e){this.layouts=new Map,this.uidIndex=new Map,this.app=e}}class r1{activateLayout(e){let t=this.normalizeLayoutUid(null==e?void 0:e.uid),l=Symbol("route-layout");return this.layoutActivations.push({token:l,uid:t}),this.syncRoutesProperty(),()=>{let e=this.layoutActivations.findIndex(e=>e.token===l);e>=0&&this.layoutActivations.splice(e,1),this.syncRoutesProperty()}}setRoutes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getCurrentLayoutUid(),l=this.getRouteCache(t);l.routes=e,l.accessibleLoaded=!0,t===this.getCurrentLayoutUid()&&(this.routes=e),this.emitChange(t)}listAccessible(){let e=this.getRouteCache(this.getReadableLayoutUid()).routes;return this.routes=e,e}isAccessibleLoaded(){return this.getRouteCache().accessibleLoaded}async refreshAccessible(){let e=this.getCurrentLayoutUid();return this.refreshAccessibleByLayout(e)}async refreshAccessibleByLayout(e){var t;let l=this.nextRefreshRequestId(e),n=await this.getAPIClient().request({url:"/desktopRoutes:listAccessible",params:{tree:!0,sort:"sort",layout:e}}),o=(null==n||null==(t=n.data)?void 0:t.data)||[];return l===this.getRefreshRequestId(e)&&this.setRoutes(o,e),o}async ensureAccessibleLoaded(){let e=this.getCurrentLayoutUid(),t=this.getRouteCache(e);if(t.accessibleLoaded)return this.routes=t.routes,t.routes;let l=this.accessibleLoadingPromises.get(e);if(l)return l;let n=this.refreshAccessibleByLayout(e).finally(()=>{this.accessibleLoadingPromises.get(e)===n&&this.accessibleLoadingPromises.delete(e)});return this.accessibleLoadingPromises.set(e,n),n}subscribe(e){return this.subscribers.set(e,this.getCurrentLayoutUid()),()=>{this.subscribers.delete(e)}}unsubscribe(e){this.subscribers.delete(e)}async createRoute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshAfterMutation:l=!0}=t,n=await this.getResource("desktopRoutes").create({values:e,layout:this.getCurrentLayoutUid()});return l&&await this.refreshAccessible(),n}async updateRoute(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{refreshAfterMutation:n=!0}=l,o=await this.getResource("desktopRoutes").update(Array.isArray(e)?{filter:{id:{$in:e}},values:t}:{filterByTk:e,values:t});return n&&await this.refreshAccessible(),o}async deleteRoute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshAfterMutation:l=!0}=t,n=await this.getResource("desktopRoutes").destroy({filterByTk:e});return l&&await this.refreshAccessible(),n}async moveRoute(e){let{refreshAfterMove:t=!0,...l}=e,n=await this.getResource("desktopRoutes").move(l);return t&&await this.refreshAccessible(),n}getRouteBySchemaUid(e){return this.findRoute(this.listAccessible(),e)}getRouteById(e){return this.findRouteById(this.listAccessible(),e)}getAPIClient(){var e;if(!(null==(e=this.ctx)?void 0:e.api))throw Error("[NocoBase] RouteRepository requires context.api.");return this.ctx.api}getResource(e){return this.getAPIClient().resource(e)}emitChange(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid();this.subscribers.forEach((t,l)=>{if(t!==e)return;let n=this.notifiedLayoutUid;this.notifiedLayoutUid=e;try{l()}finally{this.notifiedLayoutUid=n}})}getCurrentLayoutUid(){var e;return(null==(e=this.layoutActivations[this.layoutActivations.length-1])?void 0:e.uid)||t$}normalizeLayoutUid(e){return"string"==typeof e&&e.trim()?e:t$}getReadableLayoutUid(){return this.notifiedLayoutUid||this.getCurrentLayoutUid()}getRouteCache(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid(),t=this.routeCaches.get(e);return t||(t={accessibleLoaded:!1,routes:[]},this.routeCaches.set(e,t)),t}syncRoutesProperty(){this.routes=this.getRouteCache().routes}nextRefreshRequestId(e){let t=this.getRefreshRequestId(e)+1;return this.refreshRequestIds.set(e,t),t}getRefreshRequestId(e){return this.refreshRequestIds.get(e)||0}findRoute(e,t){for(let l of e){if(l.schemaUid===t)return l;if(l.children){let e=this.findRoute(l.children,t);if(e)return e}}}findRouteById(e,t){for(let l of e){if(null!=l.id&&String(l.id)===String(t))return l;if(l.children){let e=this.findRouteById(l.children,t);if(e)return e}}}constructor(e){this.ctx=e,this.routes=[],this.subscribers=new Map,this.accessibleLoadingPromises=new Map,this.layoutActivations=[],this.routeCaches=new Map,this.refreshRequestIds=new Map}}class r2{getURL(){if(!this.app)return;let e=this.app.getApiUrl();if(!e)return;let t="";if(this.getSubAppName(this.app))t=`?_app=${this.getSubAppName(this.app)}`;else{let e=(0,A.getSubAppName)(this.app.getPublicPath());t=e?`?__appName=${e}`:""}let l=this.options.basename||"/ws";if(this.options.url){let e=new URL(this.options.url);if("localhost"===e.hostname){let n="https:"===location.protocol?"wss":"ws";return`${n}://${location.hostname}:${e.port}${l}${t}`}return`${this.options.url}${t}`}try{let n=new URL(e);return`${"https:"===n.protocol?"wss":"ws"}://${n.host}${l}${t}`}catch(e){return`${"https:"===location.protocol?"wss":"ws"}://${location.host}${l}${t}`}}get reconnectAttempts(){var e;return(null==(e=this.options)?void 0:e.reconnectAttempts)||30}get reconnectInterval(){var e;return(null==(e=this.options)?void 0:e.reconnectInterval)||1e3}get pingInterval(){var e;return(null==(e=this.options)?void 0:e.pingInterval)||3e5}get readyState(){return this._ws?this._ws.readyState:-1}createWebSocket(){return new WebSocket(this.getURL(),this.options.protocols)}connect(){let e;if(!this.enabled||(0===this._reconnectTimes&&console.log("[nocobase-ws]: connecting..."),this._reconnectTimes>=this.reconnectAttempts||this.readyState===WebSocket.OPEN))return;this._reconnectTimes++;let t=this.createWebSocket();t.onopen=()=>{for(let{type:e,listener:l,options:n}of(console.log("[nocobase-ws]: connected."),this.serverDown=!1,this._ws&&this.removeAllListeners(),this._reconnectTimes=0,this._ws=t,this.events))this._ws.addEventListener(e,l,n);e=setInterval(()=>this.send("ping"),this.pingInterval),this.connected=!0,this.emit("open",{})},t.onerror=async()=>{console.log("onerror",this.readyState,this._reconnectTimes)},t.onclose=async t=>{setTimeout(()=>this.connect(),this.reconnectInterval),console.log("onclose",this.readyState,this._reconnectTimes,this.serverDown),this.connected=!1,clearInterval(e)}}reconnect(){this._reconnectTimes=0,this.connect()}close(){if(this._ws)return this._reconnectTimes=this.reconnectAttempts,this._ws.close()}send(e){if(this._ws)return this._ws.send(e)}on(e,t,l){this.events.push({type:e,listener:t,options:l}),this._ws&&this._ws.addEventListener(e,t,l)}emit(e,t){for(let l of this.events)l.type===e&&l.listener(t)}off(e,t,l){let n=0;for(let l of this.events){if(l.type===e&&l.listener===t){this.events.splice(n,1);break}n++}this._ws&&this._ws.removeEventListener(e,t,l)}removeAllListeners(){if(this._ws)for(let{type:e,listener:t,options:l}of this.events)this._ws.removeEventListener(e,t,l)}constructor(e){if(this._reconnectTimes=0,this.events=[],this.connected=!1,this.serverDown=!1,this.lastMessage={},this.getSubAppName=e=>{let t=e.getPublicPath(),l=`^${t}_app/([^/]*)/`,n=location.pathname.match(new RegExp(l));return n?n[1]:null},!e){this.enabled=!1;return}this.options=!0===e?{}:e,this.enabled=!0,(0,q.define)(this,{serverDown:q.observable.ref,connected:q.observable.ref,lastMessage:q.observable.ref})}}function r8(){function e(e){for(var t=[],l=0,n=e.length;l<n;l++)-1===t.indexOf(e[l])&&t.push(e[l]);return t}function t(e,t){return JSON.stringify(e)===JSON.stringify(t)}Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var l={},n={$is:function(e,t){return e===t},$match:function(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.some(e=>Array.isArray(e))?e.some(e=>(null==e?void 0:e.length)===t.length&&(null==e?void 0:e.every((e,l)=>e===t[l]))):JSON.stringify(e)===JSON.stringify(t)},$eq:function(e,l){return Array.isArray(e)&&Array.isArray(l)?t(e,l):Array.isArray(e)?e.includes(l):e==l},$ne:function(e,t){return e!=t},"!==":function(e,t){return e!==t},$gt:function(e,t){return Array.isArray(e)?e.some(e=>e>t):e>t},$gte:function(e,t){return e>=t},$lt:function(e,t,l){return Array.isArray(e)?e.some(e=>e<t):void 0===l?e<t:e<t&&t<l},$lte:function(e,t,l){return void 0===l?e<=t:e<=t&&t<=l},$exists:function(e){return l.truthy(e)},$notEmpty:function(e){return!n.$empty(e)},$empty:function(e){return Array.isArray(e)||"string"==typeof e?0===e.length:null==e},$notExists:function(e){return!l.truthy(e)},"%":function(e,t){return e%t},log:function(e){return e},$in:function(e,t){return!!t&&void 0!==t.indexOf&&(Array.isArray(e)&&Array.isArray(t)?t.some(t=>e.includes(t)):-1!==t.indexOf(e))},$notIn:function(e,t){return!!t&&void 0!==t.indexOf&&-1===t.indexOf(e)},$includes:function(e,t){return!!e&&void 0!==e.indexOf&&(Array.isArray(e)?e.some(e=>null==e?void 0:e.includes(t)):-1!==e.indexOf(t))},$notIncludes:function(e,t){return Array.isArray(e)?!e.some(e=>(e||"").includes(t)):!(e=e||"").includes(t)},$anyOf:function(e,t){return null!=e&&0!==e.length&&(Array.isArray(e)&&Array.isArray(t)&&e.some(e=>Array.isArray(e))?e.some(e=>e.some(e=>t.includes(e))):e.some(e=>t.includes(e)))},$noneOf:function(e,t){return!e||0===e.length||!t||0===t.length||(Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]),!t.some(t=>e.includes(t)))},$notMatch:function(e,t){if((null==e?void 0:e.length)!==(null==t?void 0:t.length))return!0;for(let l=0;l<((null==e?void 0:e.length)||0);l++)if((null==e?void 0:e[l])!==(null==t?void 0:t[l]))return!0;return!1},$dateOn:function(e,t){if(!e||!t)return!1;if(t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t))return n.$dateBetween(e,t);let l=r7(e),o=r7(t);return!!l&&!!o&&l.getTime()===o.getTime()},$dateBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=r7(e),n=r7(t);return!!l&&!!n&&l.getTime()<n.getTime()},$dateNotBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=r7(e),n=r7(t);if(!l||!n)throw Error("Invalid date format");return l.getTime()>=n.getTime()},$dateAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=r7(e),n=r7(t);return l.getTime()>n.getTime()},$dateNotAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=r7(e),n=r7(t);if(!l||!n)throw Error("Invalid date format");return l.getTime()<=n.getTime()},$dateBetween:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ed.getDayRangeByParams)(t));let l=r7(e),n=r6(t[0]),o=r6(t[1]);if(!l||!n||!o)throw Error("Invalid date format");return l.getTime()>=n.getTime()&&l.getTime()<=o.getTime()},$dateNotOn:function(e,t){if(!e||!t)return!1;if(t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t))return!n.$dateBetween(e,t);let l=r7(e),o=r7(t);return l.getTime()!==o.getTime()},$isTruly:function(e){return Array.isArray(e)?e.some(e=>!0===e||1===e):!0===e||1===e},$isFalsy:function(e){return Array.isArray(e)?e.some(e=>!l.truthy(e)):!l.truthy(e)},cat:function(){return Array.prototype.join.call(arguments,"")},substr:function(e,t,l){if(l<0){var n=String(e).substr(t);return n.substr(0,n.length+l)}return String(e).substr(t,l)},"+":function(){return Array.prototype.reduce.call(arguments,function(e,t){return parseFloat(e,10)+parseFloat(t,10)},0)},"*":function(){return Array.prototype.reduce.call(arguments,function(e,t){return parseFloat(e,10)*parseFloat(t,10)})},"-":function(e,t){return void 0===t?-e:e-t},"/":function(e,t){return e/t},min:function(){return Math.min.apply(this,arguments)},max:function(){return Math.max.apply(this,arguments)},merge:function(){return Array.prototype.reduce.call(arguments,function(e,t){return e.concat(t)},[])},var:function(e,t){var l=void 0===t?null:t,n=this;if(void 0===e||""===e||null===e)return n;for(var o=String(e).split("."),r=0;r<o.length;r++)if(null==n||void 0===(n=n[o[r]]))return l;return n},missing:function(){for(var e=[],t=Array.isArray(arguments[0])?arguments[0]:arguments,n=0;n<t.length;n++){var o=t[n],r=l.apply({var:o},this);(null===r||""===r)&&e.push(o)}return e},missing_some:function(e,t){var n=l.apply({missing:t},this);return t.length-n.length>=e?[]:n}};return l.is_logic=function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&1===Object.keys(e).length&&!e.type},l.truthy=function(e){return(!Array.isArray(e)||0!==e.length)&&!!e},l.getOperator=function(e){return Object.keys(e)[0]},l.getValues=function(e){return e[l.getOperator(e)]},l.apply=function(e,t){if(Array.isArray(e))return e.map(function(e){return l.apply(e,t)});if(!l.is_logic(e))return e;var o,r,i,a,s,d=l.getOperator(e),u=e[d];if(Array.isArray(u)||(u=[u]),"if"===d||"?:"==d){for(o=0;o<u.length-1;o+=2)if(l.truthy(l.apply(u[o],t)))return l.apply(u[o+1],t);return u.length===o+1?l.apply(u[o],t):null}if("$and"===d){for(o=0;o<u.length&&(r=l.apply(u[o],t),l.truthy(r));o+=1);return r}if("or"===d){for(o=0;o<u.length&&(r=l.apply(u[o],t),!l.truthy(r));o+=1);return r}if("filter"===d)return(a=l.apply(u[0],t),i=u[1],Array.isArray(a))?a.filter(function(e){return l.truthy(l.apply(i,e))}):[];if("map"===d)return(a=l.apply(u[0],t),i=u[1],Array.isArray(a))?a.map(function(e){return l.apply(i,e)}):[];else if("reduce"===d)return(a=l.apply(u[0],t),i=u[1],s=void 0!==u[2]?u[2]:null,Array.isArray(a))?a.reduce(function(e,t){return l.apply(i,{current:t,accumulator:e})},s):s;else if("all"===d){if(a=l.apply(u[0],t),i=u[1],!Array.isArray(a)||!a.length)return!1;for(o=0;o<a.length;o+=1)if(!l.truthy(l.apply(i,a[o])))return!1;return!0}else if("none"===d){if(a=l.apply(u[0],t),i=u[1],!Array.isArray(a)||!a.length)return!0;for(o=0;o<a.length;o+=1)if(l.truthy(l.apply(i,a[o])))return!1;return!0}else if("some"===d){if(a=l.apply(u[0],t),i=u[1],!Array.isArray(a)||!a.length)return!1;for(o=0;o<a.length;o+=1)if(l.truthy(l.apply(i,a[o])))return!0;return!1}if(u=u.map(function(e){return l.apply(e,t)}),Object.prototype.hasOwnProperty.call(n,d)&&"function"==typeof n[d])return n[d].apply(t,u);if(d.indexOf(".")>0){var c=String(d).split("."),p=n;for(o=0;o<c.length;o++){if(!Object.prototype.hasOwnProperty.call(p,c[o]))throw Error("Unrecognized operation "+d+" (failed at "+c.slice(0,o+1).join(".")+")");p=p[c[o]]}return p.apply(t,u)}throw Error("Unrecognized operation "+d)},l.uses_data=function(t){var n=[];if(l.is_logic(t)){var o=l.getOperator(t),r=t[o];Array.isArray(r)||(r=[r]),"var"===o?n.push(r[0]):r.forEach(function(e){n.push.apply(n,l.uses_data(e))})}return e(n)},l.addOperation=function(e,t){n[e]=t},l.rmOperation=function(e){delete n[e]},l.rule_like=function(e,t){if(t===e||"@"===t)return!0;if("number"===t)return"number"==typeof e;if("string"===t)return"string"==typeof e;if("array"===t)return Array.isArray(e)&&!l.is_logic(e);if(l.is_logic(t)){if(l.is_logic(e)){var n=l.getOperator(t),o=l.getOperator(e);if("@"===n||n===o)return l.rule_like(l.get_values(e,!1),l.get_values(t,!1))}return!1}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var r=0;r<t.length;r+=1)if(!l.rule_like(e[r],t[r]))return!1;return!0}return!1},l}function r6(e){return new Date(e.includes("T")&&e.endsWith("Z")?e:e.includes(" ")?e.replace(" ","T"):`${e}T00:00:00`)}function r3(e){let[t,l]=e.split("-").map(Number);return new Date(t,l-1)}function r5(e){return new Date(parseInt(e.slice(0,4)),(parseInt(e.slice(5,6))-1)*3)}function r4(e){return new Date(parseInt(e),0)}function r7(e){let t=Array.isArray(e)?e[1]??e[0]:e;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(t))return new Date(t);if(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(t))return new Date(t.replace(" ","T"));if(/^\d{4}-\d{2}-\d{2}$/.test(t))return r6(t);if(/^\d{4}-\d{2}$/.test(t))return r3(t);if(/^\d{4}Q[1-4]$/.test(t))return r5(t);else if(/^\d{4}$/.test(t))return r4(t);return null}l(38263);var r9=l(42524),ie=l(18938),it=l(36194),il=l(52582),io=l(20419),ir=l(67838),ii=l(41893);l(86171),l(59056),l(19875);var ia=l(43886),is=l(5900),id=l(2543),iu=l.n(id);function ic(e,t){let l=t.split("."),n=e;for(let e=0;e<l.length&&null!=n;e++){let t=l[e],o=t.match(/^\d+$/);!Array.isArray(n)||o||n[t]||(n[t]=n.map(e=>e[t]).flat()),n=null==n?void 0:n[t]}}function ip(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=(0,id.cloneDeep)(l),o={},r={},i=0;return this(t.trim().replace(/{{\s*([\w$.-]+)\s*}}/g,(t,l)=>{if(l.startsWith("this."))return`{{${l}}}`;ic(n,l);let a=(0,id.get)(n,l)??null;"function"==typeof a&&(a=a());let s=r[l];return s||(s=`$$${i++}`,r[l]=s,o[s]=a),e.replaceValue?`${null==a||"number"==typeof a&&(Number.isNaN(a)||!Number.isFinite(a))?"":a}`:s}),o)}let im={label:"Math.js",tooltip:"{{t('Math.js comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types.')}}",link:"MATHJS_DOC_URL",evaluate:ip.bind(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=ia._3(e,t);return"number"==typeof l?Number.isNaN(l)||!Number.isFinite(l)?null:is.LIG(l,9):l instanceof is.uqu?l.toArray():l},{replaceKey:!0})};var ih=l(8558);l(67980);let ig=Object.keys(ih).filter(e=>"default"!==e);function iv(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=Object.create(null);for(let e of ig)l[e]=ih[e];if(e&&"object"==typeof e)for(let[t,n]of Object.entries(e))l[t]=n;for(let e of t)l[e]=void 0;return l}function iy(e,t,l){return new Compartment(iv(t,l.blockedIdentifiers)).evaluate(e)}function ix(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={blockedIdentifiers:e.blockedIdentifiers};return ip.bind(function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=iy(e,l,t);return"number"==typeof n?Number.isNaN(n)||!Number.isFinite(n)?null:(0,is.LIG)(n,9):n},{})}ix();let ib={label:"Formula.js",tooltip:'{{t("Formula.js supports most Microsoft Excel formula functions.")}}',link:"FORMULAJS_DOC_URL",evaluate:ix({blockedIdentifiers:[...ed.BASE_BLOCKED_IDENTIFIERS,"window","document","parent","top","frames","navigator","location","localStorage","sessionStorage"]})},iw={label:"{{t('String template')}}",tooltip:"{{t('Simple string replacement, can be used to interpolate variables in a string.')}}",evaluate:ip.bind(function(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1],e},{replaceValue:!0})},iS=new ed.Registry;function iC(){return Array.from(iS.getEntities()).reduce((e,t)=>{let[l,n]=t;return e.concat({value:l,...n})},[])}iS.register("formula.js",ib),iS.register("math.js",im),iS.register("string",iw);let iF=iS;var ik=l(98294),iA=l(25782),iP=l(4213),iM=l(88909),ij=l(72635),iI=l(25345),iT=l(43627);function iR(e,t,l){e.define(t,()=>l),window.__nocobase_app_dev__&&(window.__nocobase_app_dev_deps__=window.__nocobase_app_dev_deps__||{},window.__nocobase_app_dev_deps__[t]=l)}function iE(e){iR(e,"react",P),iR(e,"react-dom",lU),iR(e,"react/jsx-runtime",O),iR(e,"react-router",H),iR(e,"react-router-dom",W),iR(e,"antd",iA),iR(e,"@ant-design/icons",ie),iR(e,"@ant-design/cssinjs",r9),iR(e,"antd-style",it),iR(e,"i18next",ij),iR(e,"react-i18next",iI),iR(e,"@formily/antd-v5",io),iR(e,"@formily/core",ir),iR(e,"@formily/react",np),iR(e,"@formily/reactive",q),iR(e,"@formily/shared",ii),iR(e,"@nocobase/utils",ed),iR(e,"@nocobase/utils/client",ed),iR(e,"@nocobase/client-v2",u),iR(e,"@nocobase/client-v2/client-v2",u),iR(e,"@nocobase/flow-engine",L),iR(e,"@nocobase/evaluators",r),iR(e,"@nocobase/evaluators/client",r),iR(e,"@dnd-kit/core",l_),iR(e,"@dnd-kit/sortable",iT),iR(e,"@ctrl/tinycolor",il),iR(e,"ahooks",ik),iR(e,"axios",iM.A),iR(e,"dayjs",ed.dayjs),iR(e,"lodash",V()),iR(e,"@emotion/css",k),iR(e,"file-saver",iP)}var iN=l(40407);let iD=/^\/+/,i$=/\/+$/,iB=e=>{let t=iD.exec(e);return t?e.slice(t[0].length):e},iO=e=>{let t=i$.exec(e);return t?e.slice(0,-t[0].length):e},iq=e=>`${iO(e)}/`,iL=e=>(0,G.isValidElementType)(e);class i_{get pm(){return this.pluginManager}get disableAcl(){return this.options.disableAcl}get isWsAuthorized(){return this.wsAuthorized}setDocumentLanguage(e){"u">typeof document&&(e?document.documentElement.lang=e:document.documentElement.removeAttribute("lang"))}defineObservableState(){(0,q.define)(this,{maintained:q.observable.ref,maintaining:q.observable.ref,error:q.observable.ref,apps:q.observable})}initializeExtendedState(){this.systemSettings=new ef.o(this.apiClient)}afterManagersInitialized(){this.aiManager=new ec(this),this.jsonLogic=r8()}configureContext(){}configureRuntimeAdapters(){}addCustomProviders(){}initListeners(){this.eventBus.addEventListener("auth:tokenChanged",e=>{let t=e.detail;(null==t?void 0:t.token)&&this.setTokenInWebSocket(t)}),this.eventBus.addEventListener("maintaining:end",()=>{this.apiClient.auth.token&&this.setTokenInWebSocket({token:this.apiClient.auth.token,authenticator:this.apiClient.auth.getAuthenticator()})})}setTokenInWebSocket(e){let{token:t,authenticator:l}=e;this.maintaining||this.ws.send(JSON.stringify({type:"auth:token",payload:{token:t,authenticator:l}}))}initRequireJs(){if(void 0===globalThis.window)return;let e=globalThis.window;if(e.requirejs){this.requirejs=e.requirejs;return}e.requirejs=this.requirejs=(0,iN.b)(),iE(this.requirejs),e.define=this.requirejs.define}configureBaseContext(){this.flowEngine.context.defineProperty("app",{value:this}),this.flowEngine.context.defineProperty("api",{value:this.apiClient}),this.flowEngine.context.defineProperty("i18n",{value:this.i18n}),this.flowEngine.context.defineProperty("router",{get:()=>this.router.router,cache:!1}),this.flowEngine.context.defineProperty("documentTitle",{get:()=>document.title}),this.flowEngine.context.defineProperty("route",{get:()=>{},observable:!0}),this.flowEngine.context.defineProperty("location",{get:()=>location,observable:!0}),this.flowEngine.context.defineProperty("routeRepository",{value:new r1(this.flowEngine.context)}),this.flowEngine.context.defineProperty("appInfo",{get:async()=>{var e;return(null==(e=(await this.apiClient.request({url:"app:getInfo"})).data)?void 0:e.data)||{}}}),this.flowEngine.context.defineProperty("pageInfo",{value:(0,q.observable)({version:void 0})}),this.flowEngine.context.defineProperty("systemSettings",{get:()=>this.systemSettings})}addBaseProviders(){this.use(K.x,{i18n:this.i18n}),this.use(L.FlowEngineProvider,{engine:this.flowEngine}),this.use(es),this.use(Z)}addFinalProviders(){this.use(L.FlowEngineGlobalsContextProvider)}addReactRouterComponents(){this.addComponents({Link:W.Link,Navigate:H.Navigate,NavLink:W.NavLink})}addRoutes(){this.router.add("not-found",{path:"*",Component:()=>null})}updateFavicon(e){let t=document.querySelector('link[rel="shortcut icon"]');arguments.length>0&&(this.favicon=e||"");let l=this.favicon||this.getCdnUrl()+"favicon/favicon.ico";t?t.href=l:((t=document.createElement("link")).rel="shortcut icon",t.href=l,document.head.appendChild(t))}setWsAuthorized(e){this.wsAuthorized=e}setMaintaining(e){this.maintaining!==e&&(this.maintaining=e,e||this.eventBus.dispatchEvent(new Event("maintaining:end")))}getOptions(){return this.options}getName(){return(0,A.getSubAppName)(this.getPublicPath())||null}getCdnUrl(){return iq(window.__webpack_public_path__||tn(this.getPublicPath()))}getPublicPath(){return iq(this.options.publicPath||"/")}getApiUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.apiClient.axios.defaults.baseURL??"";if(!t.startsWith("http://")&&!t.startsWith("https://")){let{protocol:e,host:l}=globalThis.window.location;t=`${e}//${l}${t}`}return`${iO(t)}/${iB(e)}`}getRouteUrl(e){return this.getPublicPath()+iB(e)}getHref(e){let t=this.name;return t&&"main"!==t?`${this.getPublicPath()}apps/${t}/${iB(e)}`:this.getPublicPath()+iB(e)}getComposeProviders(){let e=nA(...this.providers)(em.ct);return e.displayName="Providers",e}use(e,t){return this.addProvider(e,t)}addProvider(e,t){return this.providers.push([e,t])}addProviders(e){e.forEach(e=>{Array.isArray(e)?this.addProvider(e[0],e[1]):this.addProvider(e)})}getComponent(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],l=e=>t&&console.error(e);if(!e)return void l(`getComponent called with ${e}`);if("string"==typeof e){let t=(0,_.get)(this.components,e);return t||void l(`Component ${e} not found`)}if(iL(e))return e;l(`Component ${e} should be a string or a React component`)}renderComponent(e,t,l){let n=this.getComponent(e);return n?P.createElement(n,t,l):null}addComponent(e,t){let l=e,n=t||l.displayName||l.name;n?(0,_.set)(this.components,n,e):console.error("Component must have a displayName or pass name as second argument")}addComponents(e){Object.keys(e).forEach(t=>{this.addComponent(e[t],t)})}setAppsComponent(e){let{Component:t}=e;this.apps.Component=t}setAppsProvider(e){let{loadAppList:t}=e;this.apps.loadAppList=t}getRootFallback(){return this.renderComponent("AppSpin")}getRootComponent(){let e=this.model,t=this.flowEngine,l=()=>this.getRootFallback();return n=>{let{children:o}=n;return(0,P.useLayoutEffect)(()=>{e.setProps({children:o})},[o]),(0,O.jsx)(L.FlowEngineProvider,{engine:t,children:(0,O.jsx)(L.FlowModelRenderer,{fallback:l(),model:e})})}}mount(e){let t=nk(e);if(t){let e=this.getRootComponent(),l=(0,z.createRoot)(t);return l.render((0,O.jsx)(e,{})),l}}createLayoutManager(e){return new r0(this)}createWebSocketClient(e){return new r2(e.ws??!1)}getDefaultComponents(){return{AppNotFound:em.bM,AppError:em.uV,AppSpin:em.gv,AppMaintaining:em.be,AppMaintainingDialog:em.tp}}constructor(e={}){this.options=e,this.eventBus=new EventTarget,this.providers=[],this.scopes={},this.components={},this.entryActionManager=new eh,this.maintained=!1,this.maintaining=!1,this.error=null,this.wsAuthorized=!1,this.apps={Component:null,loadAppList:null},this.initRequireJs(),this.defineObservableState(),this.devDynamicImport=e.devDynamicImport,this.scopes=(0,_.merge)(this.scopes,e.scopes),this.components=(0,_.merge)(this.getDefaultComponents(),e.components),this.name=this.options.name||(0,A.getSubAppName)(e.publicPath)||"main",this.apiClient=this.createApiClient(e),this.initializeExtendedState(),this.i18n=this.createI18n(e),this.router=this.createRouterManager(e),this.layoutManager=this.createLayoutManager(e),this.pluginManager=this.createPluginManager(e),this.flowEngine=new L.FlowEngine,this.flowEngine.registerModels({ApplicationModel:iK}),this.model=this.flowEngine.createModel({use:"ApplicationModel",uid:"__app_model__"}),this.context=this.flowEngine.context,this.configureRuntimeAdapters(),this.context.defineProperty("pluginManager",{get:()=>this.pluginManager}),this.configureBaseContext(),this.configureContext(),this.addBaseProviders(),this.addCustomProviders(),this.addFinalProviders(),this.addReactRouterComponents(),this.addProviders(e.providers||[]),this.ws=this.createWebSocketClient(e),this.ws.app=this,this.pluginSettingsManager=this.createPluginSettingsManager(e),this.addRoutes(),this.i18n.on("languageChanged",e=>{this.apiClient.auth.locale=e,this.setDocumentLanguage(e)}),this.initListeners(),this.afterManagersInitialized()}}var iV=new WeakMap,iz=new WeakMap;class iK extends L.FlowModel{get app(){return this.context.app}getProviders(){return(0,B._)(this,iV,(0,D._)(this,iV)||this.app.getComposeProviders()),(0,D._)(this,iV)}getRouter(){return(0,B._)(this,iz,(0,D._)(this,iz)||this.app.router.getRouterComponent()),(0,D._)(this,iz)}render(){return this.app.maintaining&&!this.app.maintained?(0,O.jsx)(O.Fragment,{children:this.renderMaintaining()}):this.app.error&&!this.app.maintaining?(0,O.jsx)(O.Fragment,{children:this.renderError()}):(0,O.jsxs)(O.Fragment,{children:[this.renderContent(),this.app.maintaining&&this.app.maintained?this.renderMaintainingDialog():null]})}renderMaintaining(){return this.app.renderComponent("AppMaintaining",{app:this.app,error:this.app.error})}renderMaintainingDialog(){return this.app.renderComponent("AppMaintainingDialog",{app:this.app,error:this.app.error})}renderError(){return this.app.renderComponent("AppError",{app:this.app,error:this.app.error})}renderContent(){let e=this.app.getComponent("AppError",!1),t=this.getRouter(),l=this.getProviders(),n=(0,O.jsx)(t,{BaseLayout:l});if(!e)return n;let o=(e,t)=>{var l;console.error(e);let n=null==(l=t.componentStack)?void 0:l.trim();if(!n)return;let o=Error("React component stack");o.stack=n,console.error(o)};return(0,O.jsx)(U.tH,{FallbackComponent:t=>(0,O.jsx)(e,{app:this.app,...t}),onError:o,children:n})}constructor(...e){super(...e),(0,$._)(this,iV,{writable:!0,value:void 0}),(0,$._)(this,iz,{writable:!0,value:void 0})}}iK.registerFlow({key:"appFlow",steps:{init:{async handler(e){try{await e.app.load()}catch(t){e.model.app.error=t,console.error(t)}}}}});var iU=l(16350);l(39398);let iW=[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],iH=[{label:'{{t("is")}}',value:"$match",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is not")}}',value:"$notMatch",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is any of")}}',value:"$anyOf",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$noneOf",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],iG=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"}],iY=[{label:"{{ t('is') }}",value:"$dateOn",selected:!0,schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is not') }}",value:"$dateNotOn",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is before') }}",value:"$dateBefore",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is after') }}",value:"$dateAfter",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is on or after') }}",value:"$dateNotBefore",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is on or before') }}",value:"$dateNotAfter",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is between') }}",value:"$dateBetween",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!0}}},{label:"{{ t('is empty') }}",value:"$empty",noValue:!0},{label:"{{ t('is not empty') }}",value:"$notEmpty",noValue:!0}],iJ=[{label:'{{t("=")}}',value:"$eq",selected:!0},{label:'{{t("≠")}}',value:"$ne"},{label:'{{t(">")}}',value:"$gt"},{label:'{{t("≥")}}',value:"$gte"},{label:'{{t("<")}}',value:"$lt"},{label:'{{t("≤")}}',value:"$lte"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],iX=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"},{label:'{{t("exists")}}',value:"$exists",noValue:!0},{label:'{{t("not exists")}}',value:"$notExists",noValue:!0}],iQ=[{label:'{{t("is")}}',value:"$eq",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:null}}},{label:'{{t("is not")}}',value:"$ne",schema:{"x-component":"Select","x-component-props":{mode:null}}},{label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],iZ=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$neq"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],i0=[{label:'{{t("Yes")}}',value:"$isTruly",selected:!0,noValue:!0,schema:{"x-component":"Select","x-component-props":{multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]}}},{label:'{{t("No")}}',value:"$isFalsy",noValue:!0,schema:{"x-component":"Select","x-component-props":{multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]}}},{label:"{{ t('is empty') }}",value:"$empty",noValue:!0},{label:"{{ t('is not empty') }}",value:"$notEmpty",noValue:!0}],i1=[{label:'{{t("is any of")}}',value:"$childIn",schema:{"x-component":"CollectionSelect","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$childNotIn",schema:{"x-component":"CollectionSelect","x-component-props":{mode:"tags"}}}],i2=[{label:'{{t("is")}}',value:"$eq",selected:!0,schema:{"x-component":"DataSourceCollectionCascader"}},{label:'{{t("is not")}}',value:"$ne",schema:{"x-component":"DataSourceCollectionCascader"}},{label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"DataSourceCollectionCascader","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"DataSourceCollectionCascader","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],i8=[{label:'{{t("contains")}}',value:"$includes",selected:!0,schema:{type:"string","x-component":"Input"}},{label:'{{t("does not contain")}}',value:"$notIncludes",schema:{type:"string","x-component":"Input"}},{label:'{{t("is")}}',value:"$eq",schema:{type:"string","x-component":"Input"}},{label:'{{t("is not")}}',value:"$ne",schema:{type:"string","x-component":"Input"}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0,schema:{type:"string","x-component":"Input"}},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0,schema:{type:"string","x-component":"Input"}}];class i6{register(e){return this.operators[e.value]=e,this}registerMany(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.forEach(e=>{this.register(e)}),this}registerGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=this.resolveOperatorReferences(t);return this.registerMany(l),this.groups[e]=l,this}addToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=this.resolveOperatorReferences(t);return this.registerMany(l),this.groups[e]||(this.groups[e]=[]),l.forEach(t=>{this.groups[e].some(e=>e.value===t.value)||this.groups[e].push(t)}),this}get(e){return this.operators[e]}getGroup(e){return this.groups[e]||[]}getGroups(){return this.groups}resolveOperators(e){return e?"string"==typeof e?this.getGroup(e):e:[]}resolveOperatorReferences(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(e=>"string"==typeof e?this.get(e):e).filter(e=>!!e)}constructor(e={}){this.operators={},this.groups={},Object.entries(e).forEach(e=>{let[t,l]=e;this.registerGroup(t,l)})}}let i3=new i6(i),i5=i3.getGroups(),i4=i5;function i7(e){return i3.resolveOperators(e)}function i9(e){if(!e)return e;let t=Array.isArray(e.operatorOverrides)?e.operatorOverrides:[];e.operatorGroup&&(e.operators=ae(i7(e.operatorGroup),t));let l=e.operators;return"string"==typeof l?(e.operatorGroup=l,e.operators=ae(i7(l),t)):Array.isArray(l)?e.operators=ae(l,t):t.length>0&&(e.operators=[...t]),Array.isArray(e.children)&&e.children.forEach(e=>{e&&"object"==typeof e&&i9(e)}),e}function ae(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(0===t.length)return e;let l=[...e];return t.forEach(e=>{let t=l.findIndex(t=>t.value===e.value);-1===t?l.push(e):l[t]=e}),l}function at(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...t,operatorGroup:e,operators:i7(e)}}function al(e,t){return{operators:e.flatMap(e=>{let{types:l,operators:n}=e;return i7(n).map(e=>({...e,visible:n=>{let o=l.includes(t(n));return"function"==typeof e.visible?e.visible(n)&&o:o}}))})}}let an="CollectionSelect",ao=new Set(["name","uiSchema.title"]),ar=new Set(["Grid","Grid.Row","Grid.Col","div"]);function ai(e){return{...e.context,...e.values}}function aa(e,t){if("boolean"==typeof e)return e;if("string"!=typeof e)return!1;let l=e.replace(/^\s*\{\{\s*/,"").replace(/\s*\}\}\s*$/,""),n=ai(t),o=e=>{let t=e.trim().replace(/^\$/,"");if(!t)return!1;if(t.startsWith("!"))return!o(t.slice(1).trim());if("true"===t)return!0;if("false"===t)return!1;let l=t.match(/^([A-Za-z_$][\w$]*)\((.*)\)$/);if(l){let[,e,t]=l,o=(0,_.get)(n,e);return"function"==typeof o&&!!o(...t.split(",").map(e=>e.trim()).filter(Boolean).map(e=>e.replace(/^['"]|['"]$/g,"")))}return!!(0,_.get)(n,t)};return l.split("||").some(e=>e.split("&&").every(e=>o(e)))}function as(e){return"string"==typeof e?t=>aa(e,t):e}function ad(e){return(null==e?void 0:e["x-hidden"])!==void 0?as(e["x-hidden"]):(null==e?void 0:e["x-visible"])!==void 0?t=>!aa(e["x-visible"],t):void 0}function au(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",l=arguments.length>2?arguments[2]:void 0;return Object.entries(e||{}).flatMap(e=>{let[n,o]=e,r=t?`${t}.${n}`:n,i=null==o?void 0:o.properties,a=null==o?void 0:o["x-component"];if(i&&"Grid.Row"===a){let e=Object.entries(i).filter(e=>{let[,t]=e;return(null==t?void 0:t["x-component"])==="Grid.Col"}),l=e.length>0?Math.floor(24/e.length):24;return e.flatMap((e,n)=>{let[o,i]=e;return au((null==i?void 0:i.properties)||{},t,{row:r,column:o,columnIndex:n,span:l})})}return i&&(!a||ar.has(a))?au(i,t,l):[{name:r,schema:o,layout:l}]})}function ac(e,t){return!ao.has(e)&&(!!(null==t?void 0:t["x-component"])||(null==t?void 0:t.default)!==void 0||(null==t?void 0:t["x-hidden"])!==void 0)}function ap(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return au(e).filter(e=>{let{name:t,schema:l}=e;return ac(t,l)}).map(e=>{var l;let{name:n,schema:o,layout:r}=e,i=null==o?void 0:o["x-component"];return{name:n,title:(null==o?void 0:o.title)||(null==o?void 0:o["x-content"]),component:i,Component:i?null==(l=t.components)?void 0:l[i]:void 0,componentProps:null==o?void 0:o["x-component-props"],defaultValue:null==o?void 0:o.default,description:null==o?void 0:o.description,hidden:ad(o),disabled:as(null==o?void 0:o["x-disabled"]),options:Array.isArray(null==o?void 0:o.enum)?o.enum:void 0,required:null==o?void 0:o.required,schema:o,layout:r}})}let am=[{label:"MMMM Do YYYY",value:"MMMM Do YYYY"},{label:"YYYY-MM-DD",value:"YYYY-MM-DD"},{label:"MM/DD/YY",value:"MM/DD/YY"},{label:"YYYY/MM/DD",value:"YYYY/MM/DD"},{label:"DD/MM/YYYY",value:"DD/MM/YYYY"},{label:'{{t("Custom")}}',value:"custom"}],ah=[{label:'{{t("12 hour")}}',value:"hh:mm:ss a"},{label:'{{t("24 hour")}}',value:"HH:mm:ss"}];function af(e){return(0,_.get)(e,"uiSchema.x-component-props.picker")||"date"}function ag(e){return(0,_.get)(e,"uiSchema.x-component-props.showTime")}function av(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("unique"===e||"primaryKey"===e)return{disabled:!l.createMainOnly||!!l.primaryKeyOnly};if("autoIncrement"===e)return{disabled:!l.createMainOnly};if(e.startsWith("reverseField."))return{disabled:!l.showReverseFieldConfig,hidden:!l.showReverseFieldConfig};if("autoCreateReverseField"===e&&(0,_.get)(t,"reverseField.key"))return{disabled:!0};if("uiSchema.x-component-props.dateFormat"===e)return{componentProps:{picker:af(t)}};if("uiSchema.x-component-props.showTime"===e)return{hidden:"date"!==af(t)};if("uiSchema.x-component-props.timeFormat"===e)return{hidden:"date"!==af(t)||!1===ag(t)};if("defaultValue"===e){let e=!!(0,_.get)(t,"primaryKey")||!!(0,_.get)(t,"unique")||!!(0,_.get)(t,"autoIncrement")||!!(0,_.get)(t,"defaultToCurrentTime");return{hidden:e,...e?{value:null,hasValue:!0}:null,componentProps:{gmt:(0,_.get)(t,"uiSchema.x-component-props.gmt"),showTime:(0,_.get)(t,"uiSchema.x-component-props.showTime"),dateFormat:(0,_.get)(t,"uiSchema.x-component-props.dateFormat"),timeFormat:(0,_.get)(t,"uiSchema.x-component-props.timeFormat"),picker:(0,_.get)(t,"uiSchema.x-component-props.picker"),format:(0,_.get)(t,"uiSchema.x-component-props.format")},dataSource:(0,_.get)(t,"uiSchema.enum")}}return("precision"===e||"scale"===e)&&"decimal"!==(0,_.get)(t,"type")?{hidden:!0}:{}}function ay(e){let{context:t,getValue:l,setValue:n,values:o}=e,r=!!l("primaryKey"),i=!!l("unique");if(t.createMainOnly&&r&&(!e.changedName||"primaryKey"===e.changedName)&&(!1!==l("unique")&&n("unique",!1),(0,_.has)(o,"autoIncrement")&&!0!==l("autoIncrement")&&n("autoIncrement",!0)),t.createMainOnly&&i&&r&&"unique"===e.changedName&&n("primaryKey",!1),(0,_.get)(o,"reverseField.key")&&!0!==l("autoCreateReverseField")&&n("autoCreateReverseField",!0),("uiSchema.x-component-props.picker"===e.changedName||["primaryKey","unique","autoIncrement","defaultToCurrentTime"].includes(e.changedName||""))&&null!=l("defaultValue")&&(l("primaryKey")||l("unique")||l("autoIncrement")||l("defaultToCurrentTime")||"uiSchema.x-component-props.picker"===e.changedName)&&n("defaultValue",null),!((0,_.has)(o,"uiSchema.x-component-props.picker")||(0,_.has)(o,"uiSchema.x-component-props.dateFormat")||(0,_.has)(o,"uiSchema.x-component-props.showTime")||(0,_.has)(o,"uiSchema.x-component-props.timeFormat")))return;let a=af(o);"uiSchema.x-component-props.picker"===e.changedName&&(0,_.has)(o,"uiSchema.x-component-props.dateFormat")&&(0,_.get)(o,"uiSchema.x-component-props.dateFormat")!==(0,ed.getPickerFormat)(a)&&n("uiSchema.x-component-props.dateFormat",(0,ed.getPickerFormat)(a)),(0,_.has)(o,"uiSchema.x-component-props.showTime")&&"date"!==a&&!1!==ag(o)&&n("uiSchema.x-component-props.showTime",!1),(0,_.has)(o,"uiSchema.x-component-props.timeFormat")&&ag(o)&&!(0,_.get)(o,"uiSchema.x-component-props.timeFormat")&&n("uiSchema.x-component-props.timeFormat","HH:mm:ss")}function ax(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[{name:"primaryKey",title:'{{t("Primary")}}',component:"Checkbox"},{name:"unique",title:'{{t("Unique")}}',component:"Checkbox"}];return e.autoIncrement&&t.push({name:"autoIncrement",title:'{{t("Auto increment")}}',component:"Checkbox"}),t}function ab(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[];return!1!==e.includePicker&&t.push({name:"uiSchema.x-component-props.picker",title:'{{t("Picker")}}',component:"Radio.Group",defaultValue:"date",options:[{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}],hidden:e.hidden}),t.push({name:"uiSchema.x-component-props.dateFormat",title:'{{t("Date format")}}',component:"ExpiresRadio",defaultValue:"YYYY-MM-DD",options:am,componentProps:{defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},hidden:e.hidden},{name:"uiSchema.x-component-props.showTime",title:'{{t("Show time")}}',component:"Checkbox",defaultValue:e.showTimeDefault,hidden:e.hidden},{name:"uiSchema.x-component-props.timeFormat",title:'{{t("Time format")}}',component:"Radio.Group",defaultValue:"HH:mm:ss",options:ah,hidden:t=>!!("function"==typeof e.hidden&&e.hidden(t))||("boolean"==typeof e.hidden?e.hidden:!1===ag(t.values))}),t}function aw(){return[{name:"autoCreateReverseField",title:'{{t("Create inverse field in the target collection")}}',component:"Checkbox",defaultValue:!1},{name:"reverseField.type",title:'{{t("Inverse relationship type")}}',component:"Select",required:!0,options:[{label:"{{t('HasOne')}}",value:"hasOne"},{label:"{{t('HasMany')}}",value:"hasMany"},{label:"{{t('BelongsTo')}}",value:"belongsTo"},{label:"{{t('BelongsToMany')}}",value:"belongsToMany"}],hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,_.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}},{name:"reverseField.uiSchema.title",title:'{{t("Inverse field display name")}}',component:"Input",required:!0,hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,_.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}},{name:"reverseField.name",title:'{{t("Inverse field name")}}',component:"Input",required:!0,description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}",hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,_.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}}]}let aS=aw;function aC(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{name:e.name||"uiSchema.enum",title:e.title||'{{t("Options")}}',component:"ArrayTable"}}let aF={key:"required",label:"Required",hasValue:!1,params:[]};function ak(e){let t="date"===e?"datePicker":"inputNumber",l="date"===e?"date":"limit";return[{key:"greater",label:"Greater than",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"less",label:"Less than",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"max",label:"Max value",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"min",label:"Min value",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]}]}class aA{register(e){this.items.set(e.key,(0,_.cloneDeep)(e))}registerMany(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.forEach(e=>this.register(e))}registerGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,t)}addToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,[...this.groups.get(e)||[],...t])}get(e){return(0,_.cloneDeep)(this.items.get(e))}getGroup(e){return(this.groups.get(e)||[]).map(e=>"string"==typeof e?this.get(e):(0,_.cloneDeep)(e)).filter(Boolean)}constructor(){this.items=new Map,this.groups=new Map}}let aP=new aA;function aM(e){aP.register(e)}function aj(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aP.registerGroup(e,t)}function aI(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aP.addToGroup(e,t)}aP.registerMany([aF,{key:"pattern",label:"Pattern",hasValue:!0,params:[{key:"regex",label:"Regular Expression",componentType:"text",required:!0}]},{key:"email",label:"Email",hasValue:!1,params:[],paramsType:"object"},{key:"uuid",label:"UUID",hasValue:!1,params:[],paramsType:"object"},{key:"length",label:"Length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"uri",label:"URI",hasValue:!1,params:[],paramsType:"object"},{key:"multiple",label:"Multiple of",hasValue:!0,params:[{key:"base",label:"Base",componentType:"inputNumber",required:!0}]},{key:"integer",label:"Integer",hasValue:!1,params:[]},{key:"precision",label:"Precision",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"unsafe",label:"Unsafe integer",hasValue:!1,params:[]},{key:"timestamp",label:"Timestamp",hasValue:!0,params:[{key:"type",label:"Type",componentType:"singleSelect",options:[{label:"JavaScript",value:"javascript"},{label:"Unix",value:"unix"}],defaultValue:"javascript"}]}]),aP.registerGroup("string",["required",{key:"max",label:"Max length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"min",label:"Min length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},"pattern","email","uuid","length","uri"]),aP.registerGroup("number",["required",...ak("number"),"multiple","integer","precision","unsafe"]),aP.registerGroup("date",["required",...ak("date"),"timestamp"]),aP.registerGroup("object",["required"]);class aT{addFieldInterfaces(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.reduce((e,t)=>{if("function"!=typeof t)return e;let l=new t(this);return(null==l?void 0:l.name)&&(i9(l.filterable),e[l.name]=l,Array.isArray(this.actionList[l.name])&&(this.actionList[l.name].forEach(e=>{var t,n;if("addComponentOption"===e.type){null==(n=l.addComponentOption)||n.call(l,e.data);return}if("registerConfigure"===e.type){l.configure=this.mergeFieldInterfaceConfigure(l.configure,e.data);return}null==(t=l.addOperator)||t.call(l,e.data)}),delete this.actionList[l.name])),e},{});Object.assign(this.collectionFieldInterfaceInstances,t)}addFieldInterfaceComponentOption(e,t){var l;let n=this.getFieldInterface(e);n?null==(l=n.addComponentOption)||l.call(n,t):this.enqueueAction(e,{type:"addComponentOption",data:t})}addFieldInterfaceOperator(e,t){var l;let n=this.getFieldInterface(e);n?null==(l=n.addOperator)||l.call(n,t):this.enqueueAction(e,{type:"addOperator",data:t})}registerFieldFilterOperator(e){i3.register(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];i3.registerGroup(e,t),this.normalizeFieldInterfaceFilterables()}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];i3.addToGroup(e,t),this.normalizeFieldInterfaceFilterables()}registerFieldValidationConfigure(e){aM(e)}registerFieldValidationConfigureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aj(e,t)}addFieldValidationConfiguresToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aI(e,t)}getFieldValidationConfigureGroup(e){return aP.getGroup(e)}registerFieldInterfaceConfigure(e){let t=this.getFieldInterface(e.name);t?t.configure=this.mergeFieldInterfaceConfigure(t.configure,e):this.enqueueAction(e.name,{type:"registerConfigure",data:e})}getFieldInterface(e){return this.collectionFieldInterfaceInstances[e]}getFieldInterfaces(e){return Object.values(this.collectionFieldInterfaceInstances).filter(t=>!e||!t.supportDataSourceType&&!t.notSupportDataSourceType||(t.supportDataSourceType?t.supportDataSourceType.includes(e):!t.notSupportDataSourceType||!t.notSupportDataSourceType.includes(e)))}getFieldInterfaceConfigureProperties(e,t){var l;let n=this.getFieldInterfaceConfigure(e,t);return(null==n||null==(l=n.getConfigureFormProperties)?void 0:l.call(n,t))||(null==n?void 0:n.properties)||{}}getFieldInterfaceConfigure(e,t){var l,n,o;let r=this.getFieldInterface(e);if(!r)return;let i=(null==(l=r.getConfigureFormProperties)?void 0:l.call(r,t))||r.properties||{},a={name:r.name,title:r.title,group:r.group,order:r.order,default:r.default,titleUsable:r.titleUsable,isAssociation:r.isAssociation,supportDataSourceType:r.supportDataSourceType,notSupportDataSourceType:r.notSupportDataSourceType,properties:i,items:ap(i,{components:null==(n=r.configure)?void 0:n.components}),getConfigureFormProperties:null==(o=r.getConfigureFormProperties)?void 0:o.bind(r)};return this.mergeFieldInterfaceConfigure(a,r.configure)}addFieldInterfaceGroups(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this.collectionFieldGroups,e)}getFieldInterfaceGroups(){return this.collectionFieldGroups}getFieldInterfaceGroup(e){return this.collectionFieldGroups[e]}enqueueAction(e,t){this.actionList[e]||(this.actionList[e]=[]),this.actionList[e].push(t)}normalizeFieldInterfaceFilterables(){Object.values(this.collectionFieldInterfaceInstances).forEach(e=>{i9(e.filterable)})}mergeFieldInterfaceConfigure(e,t){return e?t?{...e,...t,default:t.default||e.default,properties:{...e.properties||{},...t.properties||{}},items:this.mergeFieldConfigureItems(e.items,t.items),components:{...e.components||{},...t.components||{}}}:e:t}mergeFieldConfigureItems(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=new Map;return e.forEach(e=>l.set(e.name,e)),t.forEach(e=>l.set(e.name,e)),Array.from(l.values())}constructor(e){this.dataSourceManager=e,this.collectionFieldInterfaceInstances={},this.collectionFieldGroups={},this.actionList={}}}function aR(e){return`${e}/client-v2`}function aE(e){return("default"in e?e.default:void 0)||e}function aN(e,t){window.__nocobase_app_dev_plugins__=window.__nocobase_app_dev_plugins__||{},window.__nocobase_app_dev_plugins__[e]=t}function aD(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=aR(t);window.define(n,()=>l),aN(n,l)})}function a$(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=aR(t);window.define(n,()=>l),aN(n,l)})}function aB(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((e,t)=>(e[aR(t.packageName)]=t.url,e),{})})}function aO(e,t){return function(){for(var l=arguments.length,n=Array(l),o=0;o<l;o++)n[o]=arguments[o];n.forEach((t,l)=>{t&&aN(aR(e[l].packageName),t)}),t(n.map((t,l)=>[e[l].name,(null==t?void 0:t.default)||t]).filter(e=>e[1]));let r=n.map((e,t)=>e?null:t).filter(e=>null!==e).map(t=>e[t].packageName);r.length>0&&console.error("[nocobase load plugin error]: These plugins do not have an `export.default` exported content or there is an error in the plugins. error plugins: \r\n%s",r.join(", \r\n"))}}function aq(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aB(e,t);let l=t.map(e=>aR(e.packageName));return new Promise((n,o)=>{e.requirejs(l,aO(t,n),o)})}async function aL(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(let l of a_(e)){let e=await import(l.url),n=aE(e);n&&(t.push([l.name,n]),a$({[l.packageName]:e}))}return t}function a_(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Map(e.map(e=>[e.packageName,e])),l=[],n=new Set,o=new Set,r=e=>{if(!o.has(e.packageName)&&!n.has(e.packageName)){for(let l of(n.add(e.packageName),e.appDevDependencies||[])){let e=t.get(l);e&&r(e)}n.delete(e.packageName),o.add(e.packageName),l.push(e)}};return e.forEach(r),l}async function aV(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=[],n=[],o=async()=>{if(0===n.length)return;let t=await aq(e,n);l.push(...t),n=[]};for(let e of a_(t)){if("esm"===e.devMode){await o();let t=await aL([e]);l.push(...t);continue}n.push(e)}return await o(),l}async function az(e){let{requirejs:t,pluginData:l,devDynamicImport:n}=e;if(0===l.length)return[];let o=[],r={},i={};if(n){for await(let e of l){let t=await n(e.packageName);if(t){let l=aE(t);o.push([e.name,l]),r[e.packageName]=l,i[e.packageName]=t}}aD(i)}let a=l.filter(e=>!r[e.packageName]),s=a.filter(e=>"esm"===e.devMode),d=a.filter(e=>"esm"!==e.devMode);if(0===s.length){if(0===d.length)return o;let e=await aq(t,d);return o.push(...e),o}let u=await aV(t,a);return o.push(...u),o}class aK{async init(e){await this.initStaticPlugins(e),this.loadRemotePlugins&&await this.initRemotePlugins()}getRemotePluginsRequestUrl(){return"pm:listEnabledV2"}async initStaticPlugins(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for await(let t of e){let e=Array.isArray(t)?t[0]:t,l=Array.isArray(t)?t[1]:void 0;await this.add(e,l)}}async initRemotePlugins(){var e;let t=await this.app.apiClient.request({url:this.getRemotePluginsRequestUrl()}),l=(null==t||null==(e=t.data)?void 0:e.data)||[];for await(let[e,t]of(await az({requirejs:this.app.requirejs,pluginData:l,devDynamicImport:this.app.devDynamicImport}))){let n=l.find(t=>t.name===e);await this.add(t,n)}}async add(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=this.getInstance(e,t);this.pluginInstances.set(e,l),t.name&&(this.pluginsAliases[t.name]=l),t.packageName&&(this.pluginsAliases[t.packageName]=l),await l.afterAdd()}get(e){return"string"==typeof e?this.pluginsAliases[e]:this.pluginInstances.get(e.default||e)}getInstance(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new e(t,this.app)}async load(){for(let e of(await this.initPlugins,this.pluginInstances.values()))await e.beforeLoad();for(let e of this.pluginInstances.values())await e.load(),this.app.eventBus.dispatchEvent(new CustomEvent(`plugin:${e.options.name}:loaded`,{detail:e}))}constructor(e,t,l){this._plugins=e,this.loadRemotePlugins=t,this.app=l,this.pluginInstances=new Map,this.pluginsAliases={},this.app=l,this.initPlugins=this.init(e||[]),this.loadRemotePlugins=t}}var aU=l(96204),aW=l(24978);let aH=e=>{let{children:t}=e,{token:l}=ee.A.useToken(),n=l.colorFillTertiary,o=new aW.q(l.colorFill).onBackground(l.colorFillSecondary).toHexShortString(),r=new aW.q(l.colorFill).onBackground(l.colorFill).toHexShortString(),i=new aW.q(l.colorFill).onBackground(l.colorFill).onBackground(l.colorFill).toHexShortString();return(0,P.useEffect)(()=>{document.body.style.setProperty("--nb-spacing",`${l.marginLG}px`),document.body.style.setProperty("--nb-designer-offset",`${l.marginXS}px`),document.body.style.setProperty("--nb-header-height",`${l.sizeXXL-2}px`),document.body.style.setProperty("--nb-box-bg",l.colorBgLayout),document.body.style.setProperty("--colorBgLayout",l.colorBgLayout),document.body.style.setProperty("--colorBgContainer",l.colorBgContainer),document.body.style.setProperty("--controlHeightLG",`${l.controlHeightLG}px`),document.body.style.setProperty("--paddingContentVerticalSM",`${l.paddingContentVerticalSM}px`),document.body.style.setProperty("--marginSM",`${l.marginSM}px`),document.body.style.setProperty("--colorInfoBg",l.colorInfoBg),document.body.style.setProperty("--colorInfoBorder",l.colorInfoBorder),document.body.style.setProperty("--colorWarningBg",l.colorWarningBg),document.body.style.setProperty("--colorWarningBorder",l.colorWarningBorder),document.body.style.setProperty("--colorText",l.colorText),document.body.style.setProperty("--colorTextDescription",l.colorTextDescription),document.body.style.setProperty("--colorBgTextHover",l.colorBgTextHover),document.body.style.setProperty("--colorSplit",l.colorSplit),document.body.style.setProperty("--borderRadiusOuter",`${l.borderRadiusOuter}px`),document.body.style.setProperty("--colorTextHeaderMenu",l.colorTextHeaderMenu),document.body.style.setProperty("--colorPrimaryText",l.colorPrimaryText),document.body.style.setProperty("--colorPrimaryTextActive",l.colorPrimaryTextActive),document.body.style.setProperty("--colorPrimaryTextHover",l.colorPrimaryTextHover),document.body.style.setProperty("--colorBgSider",l.colorBgSider),document.body.style.setProperty("--colorBgSiderMenuHover",l.colorBgSiderMenuHover),document.body.style.setProperty("--colorBgSiderMenuActive",l.colorBgSiderMenuActive),document.body.style.setProperty("--colorTextSiderMenu",l.colorTextSiderMenu),document.body.style.setProperty("--colorTextSiderMenuHover",l.colorTextSiderMenuHover),document.body.style.setProperty("--colorTextSiderMenuActive",l.colorTextSiderMenuActive),document.body.style.setProperty("--colorBgScrollTrack",n),document.body.style.setProperty("--colorBgScrollBar",o),document.body.style.setProperty("--colorBgScrollBarHover",r),document.body.style.setProperty("--colorBgScrollBarActive",i),document.body.style.setProperty("--colorSettings",l.colorSettings||el.token.colorSettings),document.body.style.setProperty("--colorBgSettingsHover",l.colorBgSettingsHover),document.body.style.setProperty("--colorTemplateBgSettingsHover",l.colorTemplateBgSettingsHover),document.body.style.setProperty("--colorBorderSettingsHover",l.colorBorderSettingsHover),document.body.style.setProperty("--colorBgMenuItemSelected",l.colorBgHeaderMenuActive),document.body.style.setProperty("background-color",l.colorBgContainer)},[o,i,r,n,l.colorBgContainer,l.colorBgLayout,l.colorBgSettingsHover,l.colorTemplateBgSettingsHover,l.colorBorderSettingsHover,l.colorInfoBg,l.colorInfoBorder,l.colorPrimaryText,l.colorPrimaryTextActive,l.colorPrimaryTextHover,l.colorSettings,l.colorBgTextHover,l.colorSplit,l.colorText,l.colorTextDescription,l.colorWarningBg,l.colorWarningBorder,l.borderRadiusOuter,l.controlHeightLG,l.marginLG,l.marginSM,l.marginXS,l.paddingContentVerticalSM,l.sizeXXL,l.colorTextHeaderMenu,l.colorBgSider,l.colorBgSiderMenuHover,l.colorBgSiderMenuActive,l.colorTextSiderMenu,l.colorTextSiderMenuHover,l.colorTextSiderMenuActive,l.colorBgHeaderMenuActive]),t};aH.displayName="CSSVariableProvider";let aG=aH;class aY extends i_{createApiClient(e){let t=new N({withCredentials:!0,...e.apiClient,appName:e.name||(0,A.getSubAppName)(e.publicPath)});return t.app=this,t}configureRuntimeAdapters(){this.dataSourceManager=this.flowEngine.context.dataSourceManager,this.dataSourceManager.setRequester(this.apiClient.request.bind(this.apiClient)),this.dataSourceManager.collectionFieldInterfaceManager||this.dataSourceManager.setCollectionFieldInterfaceManager(new aT(this.dataSourceManager))}createI18n(e){if(e.i18n)return e.i18n;let t=(0,ij.createInstance)();return t.use(iU.r9).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1}),t}createRouterManager(e){var t;let l=new nZ(e.router,this);if((null==(t=e.router)?void 0:t.basename)===void 0){let e=this.getPublicPath(),t="/"===e?void 0:e.replace(/\/$/,"");t&&l.setBasename(t)}return l}createPluginManager(e){return new aK(e.plugins||[],!!e.loadRemotePlugins,this)}createPluginSettingsManager(e){return new aU.mz(this)}async load(){try{this.hasLoadError=!1,await this.loadWebSocket(),await this.pm.load(),await this.flowEngine.flowSettings.load()}catch(r){var e,t,l,n,o;this.hasLoadError=!0,(null==r||null==(n=r.response)||null==(l=n.data)||null==(t=l.errors)||null==(e=t[0])?void 0:e.code)==="BLOCKED_IP"&&(this.hasLoadError=!1),this.ws.enabled&&await new Promise(e=>{setTimeout(()=>e(null),1e3)}),this.error={code:"LOAD_ERROR",...null==(o=this.apiClient.toErrMessages(r))?void 0:o[0]},console.error(r,this.error)}this.updateFavicon()}async loadWebSocket(){this.eventBus.addEventListener("ws:message:authorized",()=>{this.setWsAuthorized(!0)}),this.ws.on("message",e=>{var t,l,n,o;if(!e.data)return;let r=JSON.parse(e.data);if(null==r||null==(t=r.payload)?void 0:t.refresh)return void globalThis.window.location.reload();if("notification"===r.type){let e=this.context.notification;null==(n=e[(null==(o=r.payload)?void 0:o.type)||"info"])||n.call(e,{message:null==(l=r.payload)?void 0:l.message});return}if("maintaining"===r.type&&"APP_RUNNING"!==r.payload.code)this.setMaintaining(!0),this.error=r.payload;else{this.hasLoadError&&globalThis.window.location.reload(),this.setMaintaining(!1),this.maintained=!0,this.error=null;let e=r.type;if(!e)return;let t=`ws:message:${e}`;this.eventBus.dispatchEvent(new CustomEvent(t,{detail:r.payload}))}}),this.ws.on("serverDown",()=>{this.maintaining=!0,this.maintained=!1}),this.ws.on("open",()=>{let e=this.apiClient.auth.token;e&&this.setTokenInWebSocket({token:e,authenticator:this.apiClient.auth.getAuthenticator()})}),this.ws.connect()}addCustomProviders(){this.use(aG)}addFieldInterfaces(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.dataSourceManager.addFieldInterfaces(e)}addFieldInterfaceGroups(e){return this.dataSourceManager.addFieldInterfaceGroups(e)}addFieldInterfaceComponentOption(e,t){return this.dataSourceManager.addFieldInterfaceComponentOption(e,t)}addFieldInterfaceOperator(e,t){return this.dataSourceManager.addFieldInterfaceOperator(e,t)}registerFieldFilterOperator(e){return this.dataSourceManager.registerFieldFilterOperator(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.dataSourceManager.registerFieldFilterOperatorGroup(e,t)}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.dataSourceManager.addFieldFilterOperatorsToGroup(e,t)}registerFieldValidationConfigure(e){var t,l;return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.registerFieldValidationConfigure)?void 0:t.call(l,e)}registerFieldValidationConfigureGroup(e){var t,l;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.registerFieldValidationConfigureGroup)?void 0:t.call(l,e,n)}addFieldValidationConfiguresToGroup(e){var t,l;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.addFieldValidationConfiguresToGroup)?void 0:t.call(l,e,n)}constructor(...e){super(...e),this.hasLoadError=!1}}let aJ=(0,P.createContext)(null);aJ.displayName="ApplicationContext";var aX=l(36093),aQ=l.n(aX);class aZ extends aY{constructor(e={}){super({router:{type:"memory",initialEntries:["/"]},...e}),this.apiMock=new(aQ())(this.apiClient.axios),this.ws=new a0(e.ws||{})}}class a0 extends r2{connect(){}close(){}send(){}on(e,t,l){this.eventBus.addEventListener(e,e=>t({data:JSON.stringify(e.detail)}),l)}emit(e,t){this.eventBus.dispatchEvent(new CustomEvent(e,{detail:t}))}off(e,t,l){this.eventBus.removeEventListener(e,t,l)}removeAllListeners(){}constructor(e){super(e),this.eventBus=new EventTarget}}function a1(e){return new aZ(e)}class a2{get pluginManager(){return this.app.pluginManager}get context(){return this.app.context}get flowEngine(){return this.app.flowEngine}get engine(){return this.app.flowEngine}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}get ai(){return this.app.aiManager}async afterAdd(){}async beforeLoad(){}async load(){}t(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.app.i18n.t(e,{ns:null==(t=this.options)?void 0:t.packageName,...l})}constructor(e,t){this.options=e,this.app=t,this.options=e,this.app=t}}var a8=l(84256),a6=l(47785);function a3(e){return"steps"in e&&e.steps||{}}function a5(e){let t=a3(e);for(let e of["saveResource","submit","request","apply","save"]){var l;if(Object.prototype.hasOwnProperty.call(t,e)&&(null==(l=t[e])?void 0:l.result)!=null)return t[e].result}let n=Object.entries(t).filter(e=>{let[t,l]=e;return"afterSuccess"!==t&&(null==l?void 0:l.result)!=null}).map(e=>{let[,t]=e;return t.result});return n[n.length-1]}function a4(e){if(!a7(e))return;let t=a9(e);if(t())return(0,L.createRecordMetaFactory)(t,e.t("Response record"),()=>{let l=t(),n=a5(e);if(l&&n)try{let e=l.getFilterByTK(n);if(null==e)return;return{collection:l.name,dataSourceKey:l.dataSourceKey||"main",filterByTk:e}}catch(e){return}})}function a7(e){var t;if(Object.prototype.hasOwnProperty.call(a3(e),"saveResource"))return!0;let{model:l,flowKey:n}=e;return!!l&&"function"==typeof l.getFlow&&!!n&&Object.prototype.hasOwnProperty.call((null==(t=l.getFlow(n))?void 0:t.steps)||{},"saveResource")}function a9(e){return()=>{var t,l;return(null==(t=e.blockModel)?void 0:t.collection)||e.collection||(null==(l=e.model)?void 0:l.collection)||null}}function se(e){let t=a4(e);if(!t){var l;return(null==(l=e.getPropertyMetaTree)?void 0:l.call(e))||[]}let n=new L.FlowContext;return n.addDelegate(e),n.defineProperty("responseRecord",{get:()=>a5(e),cache:!1,resolveOnServer:(0,L.createRecordResolveOnServerWithLocal)(a9(e),()=>a5(e)),meta:t}),n.getPropertyMetaTree()}function st(e){let t=(0,L.useFlowSettingsContext)(),l=(0,P.useMemo)(()=>()=>se(t),[t]);return(0,O.jsx)(a6.n,{...e,metaTree:l})}let sl=(0,L.defineAction)({name:"afterSuccess",title:(0,L.tExpr)("After successful submission"),defineProperties(e){let t=a4(e);return{responseRecord:{get:()=>a5(e),cache:!1,resolveOnServer:(0,L.createRecordResolveOnServerWithLocal)(a9(e),()=>a5(e)),...t?{meta:t}:{}}}},uiSchema:{successMessage:{type:"string",title:(0,L.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,L.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,L.tExpr)("Automatic close"),value:!1},{label:(0,L.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,L.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,L.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,L.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,L.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,L.tExpr)("Link"),"x-decorator":"FormItem","x-component":st,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,L.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:n=!1,actionAfterSuccess:o="previous",redirectTo:r}=t;"previous"===o&&e.view&&e.view.close();let i=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,ed.isURL)(e)){window.location.href=e;return}i(e)};if(l){let t=e.t(l);if(n)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===o&&r&&a(r)}});e.message.success(t)}"redirect"===o&&r&&a(r)}}),sn=(0,L.defineAction)({name:"confirm",title:(0,L.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,L.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,L.tExpr)("Title"),"x-decorator":"FormItem","x-component":a6.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,L.tExpr)("Content"),"x-decorator":"FormItem","x-component":a6.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,L.tExpr)("Please Confirm"),content:(0,L.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 so=l(58528),sr=l(81486);let si={__nocobaseDataScopeNull__:!0},sa="{{$nRole}}",ss=/^\s*\{\{\s*ctx\.role\s*\}\}\s*$/;function sd(e){return"string"==typeof e&&ss.test(e)}function su(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function sc(e){return su(e)?null:Array.isArray(e)?e.map(e=>sc(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=sc(e[l]),t),{}):e}function sp(e){var t;return!!(0,L.isVariableExpression)(e)&&(null==(t=(0,L.extractPropertyPath)(e))?void 0:t[0])==="urlSearchParams"}function sm(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){if(sd(e.value)){t.value=sa;return}(0,L.isVariableExpression)(e.value)&&!sp(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=si);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{sm(e,t.items[l])})}}function sh(e,t){let l=V().cloneDeep(t);return sm(e,l),sc((0,L.pruneFilter)((0,ed.transformFilter)(l)))}var sf=l(12197),sg=l(47632);function sv(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function sy(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function sx(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,sf.Qc)(l),l);return Array.from(t.values())}function sb(e){let t=sx(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&sy(e,t)))}function sw(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 sS(e){var t;let l=null==e?void 0:e.model;return sw((null==l||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function sC(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 sF(e,t){let l=sC(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function sk(e){return(0,sf.EA)(e).filter(e=>"object"!=typeof e)}function sA(e){return(0,sf.c1)(e)}function sP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=e,n=Array.isArray(null==l?void 0:l.changedPaths)?l.changedPaths:[],o=[];for(let e of n){if(Array.isArray(e)){if(1===e.length&&"string"==typeof e[0]){let t=(0,sf.c1)(e[0]);t.length&&o.push(t);continue}let t=e.filter(e=>"string"==typeof e||"number"==typeof e);t.length&&o.push(t);continue}"string"==typeof e&&e&&o.push((0,sf.c1)(e))}if(o.length)return o;let r=null==l?void 0:l.changedValues;if(r&&"object"==typeof r&&(t.includeArrayChangedValues||!Array.isArray(r)))for(let e of Object.keys(r)){let t=(0,sf.c1)(e);t.length&&o.push(t)}return o}function sM(e){var t,l;let n=e;return!!n&&"object"==typeof n&&!!n.emitter&&"function"==typeof n.emitter.on&&"function"==typeof n.emitter.off&&(!!n.formValueRuntime||!!(null==(t=n.context)?void 0:t.form)||"function"==typeof(null==(l=n.context)?void 0:l.setFormValues))}function sj(e){var t;let l=[],n=e=>{e&&!l.includes(e)&&l.push(e)},o=e.model;n(null==o||null==(t=o.context)?void 0:t.blockModel),n(e.model);let r=null==o?void 0:o.parent;for(;r;)n(r),r=null==r?void 0:r.parent;return l.find(sM)||null}var sI=l(26866);function sT(e){if(Array.isArray(e)){let t=e.filter(e=>"string"==typeof e&&!!e);return t.length?t:"id"}return"string"==typeof e&&e?e:"id"}function sR(e){var t,l;return sT((null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey)??(null==e||null==(l=e.targetCollection)?void 0:l.filterByTk)??(null==e?void 0:e.targetKey))}function sE(e){var t,l,n,o,r,i,a,s,d,u;let c=e.model;return(null==c||null==(n=c.context)||null==(l=n.blockModel)||null==(t=l.context)?void 0:t.collection)??(null==c||null==(i=c.context)||null==(r=i.formBlock)||null==(o=r.context)?void 0:o.collection)??(null==c||null==(a=c.context)?void 0:a.rootCollection)??(null==e?void 0:e.rootCollection)??(null==e?void 0:e.collection)??(null==c||null==(d=c.context)||null==(s=d.collectionField)?void 0:s.collection)??(null==c||null==(u=c.context)?void 0:u.collection)}function sN(e){var t,l,n,o,r,i,a,s,d,u,c,p;let m=e.model;return sT((null==m||null==(l=m.context)||null==(t=l.collection)?void 0:t.filterTargetKey)??(null==m||null==(o=m.context)||null==(n=o.collection)?void 0:n.filterByTk)??(null==m||null==(a=m.context)||null==(i=a.collectionField)||null==(r=i.targetCollection)?void 0:r.filterTargetKey)??(null==m||null==(u=m.context)||null==(d=u.collectionField)||null==(s=d.targetCollection)?void 0:s.filterByTk)??(null==m||null==(p=m.context)||null==(c=p.collectionField)?void 0:c.targetKey))}function sD(e,t){let l=sE(e),n=sN(e);return t.map(e=>{let t=n;if(null==l?void 0:l.getField){var o;let n=l.getField(e.name);((null==n||null==(o=n.isAssociationField)?void 0:o.call(n))||(null==n?void 0:n.targetCollection)||(null==n?void 0:n.targetKey))&&(t=sR(n),l=null==n?void 0:n.targetCollection)}return{...e,filterTargetKey:t}})}function s$(e,t,l){let n=e.length-1-t;if(n<0)return;let o=e[n],r=null==o?void 0:o.filterTargetKey,i=Array.isArray(r)?r.map(e=>[e]):"string"==typeof r&&r?[[r]]:[];return{entries:e.slice(0,n+1).map(e=>({...e})),tailPath:l,identityTailPaths:i}}function sB(e,t){return null!=e&&(Array.isArray(e)&&"number"==typeof t?t>=0&&t<e.length:"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,t))}function sO(e,t){let l=e;for(let e of t){if(!sB(l,e))return{found:!1};l=l[e]}return{found:!0,value:l}}function sq(e){let t=e;return(null==t?void 0:t.allValuesSnapshot)??(null==t?void 0:t.allValues)}function sL(e,t){return e&&"object"==typeof e?(0,sI.r5)(e,t):null}function s_(e){let t=[];for(let l of e.entries)t.push(l.name,l.index);return t}function sV(e,t,l,n){if(null==l?void 0:l.rowDetached)return!1;let o=s_(t);if(!o.length||!t.identityTailPaths.length)return!1;let r=t.identityTailPaths.map(e=>[...o,...e]);return(n??sP(e)).some(e=>r.some(t=>sy(t,e)))}function sz(e,t,l){return Array.isArray(e)&&t?e.findIndex(e=>sL(e,l)===t):-1}function sK(e,t,l,n){let o=[],r=-1,i=[];for(let a=0;a<t.entries.length;a++){let s=t.entries[a],d=[...o,s.name],u=sO(e,d);if(!u.found||!Array.isArray(u.value))return{found:!1};let c=null==l?void 0:l[a],p=sz(u.value,c,s.filterTargetKey),m=p>=0?p:s.index;if(m<0||m>=u.value.length)return c?{found:!1,rowMissing:!0}:{found:!1};let h=u.value[m];if(c&&p<0&&!n)return{found:!1,rowMissing:!0};i.push(sL(h,s.filterTargetKey)),r=m,o=[...d,m]}return{found:!0,path:[...o,...t.tailPath],rowIndex:r,rowIdentities:i}}function sU(e,t,l){var n,o;let r=sO(sq(t),l);if(r.found)return r;let i=null==e||null==(n=e.context)?void 0:n.form;return"function"==typeof(null==i?void 0:i.getFieldValue)?{found:!0,value:i.getFieldValue(l)}:sO(null==e||null==(o=e.context)?void 0:o.formValues,l)}function sW(e,t,l,n,o){var r,i;let a=l.rowScope;if(!a)return sU(e,t,l.path);if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let s=sV(t,a,n,o);for(let l of[sq(t),null==e||null==(r=e.context)?void 0:r.formValues]){let e=sK(l,a,null==n?void 0:n.rowIdentities,s);if(e.rowMissing)return{found:!1,rowMissing:!0};if(!e.found||!e.path)continue;let t=sO(l,e.path);if(t.found)return{found:!0,value:t.value,rowIdentities:e.rowIdentities}}let d=null==e||null==(i=e.context)?void 0:i.form;return"function"==typeof(null==d?void 0:d.getFieldValue)?{found:!0,value:d.getFieldValue(l.path),rowIdentities:null==n?void 0:n.rowIdentities}:{found:!1}}function sH(e){return Array.isArray(e)?e.length:e}function sG(e,t,l){var n,o;if(!Array.isArray(e))return{found:!0,value:e};let r=null==l||null==(n=l.rowIdentities)?void 0:n[l.rowIdentities.length-1],i=null==(o=t.rowScope)?void 0:o.entries[t.rowScope.entries.length-1],a=sz(e,r,null==i?void 0:i.filterTargetKey);return a>=0?{found:!0,value:a,rowIdentities:null==l?void 0:l.rowIdentities}:r?{found:!1,rowMissing:!0}:!i||i.index<0||i.index>=e.length?{found:!1}:{found:!0,value:i.index,rowIdentities:[sL(e[i.index],i.filterTargetKey)]}}function sY(e,t,l,n,o){var r,i;if("length"===l.kind){if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let i=null==n?void 0:n.rowIdentities,a=l.rowScope;if(a){let l=sV(t,a,n,o);for(let o of[sq(t),null==e||null==(r=e.context)?void 0:r.formValues]){let e=sK(o,a,null==n?void 0:n.rowIdentities,l);if(e.rowMissing)return{found:!1,rowMissing:!0};if(e.found){i=e.rowIdentities;break}}}let s=sU(e,t,l.path);return s.found?{found:!0,value:sH(s.value),rowIdentities:i}:s}if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let a=l.rowScope;if(a){let l=sV(t,a,n,o);for(let o of[sq(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=sK(o,a,null==n?void 0:n.rowIdentities,l);if(e.rowMissing)return{found:!1,rowMissing:!0};if(e.found&&"number"==typeof e.rowIndex)return{found:!0,value:e.rowIndex,rowIdentities:e.rowIdentities}}}let s=sU(e,t,l.path);return s.found?sG(s.value,l,n):s}function sJ(e,t,l){if(e.wildcard)return null;let n={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let o of e.valuePaths){let e=(0,sf.Qc)(o.path),r=sW(t,l,o);if(r.rowMissing){n.rowMissing=!0,n.complete=!1;continue}if(!r.found){n.complete=!1;continue}n.values.set(e,{value:(0,_.cloneDeep)(r.value),rowIdentities:r.rowIdentities,rowDetached:!1})}for(let o of e.structuralPaths){let e=sY(t,l,o);if(e.rowMissing){n.rowMissing=!0,n.complete=!1;continue}if(!e.found){n.complete=!1;continue}n.structures.set(`${o.kind}:${(0,sf.Qc)(o.path)}`,{value:(0,_.cloneDeep)(e.value),rowIdentities:e.rowIdentities,rowDetached:!1})}return n}function sX(e,t,l,n,o){if(e.wildcard)return null;let r={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let i of e.valuePaths){let e=(0,sf.Qc)(i.path),a=n.values.get(e),s=sW(t,l,i,a,o);if(s.rowMissing){r.rowMissing=!0,r.rowDetached=!0,a?r.values.set(e,{...a,rowDetached:!0}):r.complete=!1;continue}if(!s.found){r.complete=!1;continue}r.values.set(e,{value:(0,_.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}for(let i of e.structuralPaths){let e=`${i.kind}:${(0,sf.Qc)(i.path)}`,a=n.structures.get(e),s=sY(t,l,i,a,o);if(s.rowMissing){r.rowMissing=!0,r.rowDetached=!0,a?r.structures.set(e,{...a,rowDetached:!0}):r.complete=!1;continue}if(!s.found){r.complete=!1;continue}r.structures.set(e,{value:(0,_.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}return r}function sQ(e,t){if(e.size!==t.size)return!1;for(let[n,o]of e.entries()){var l;if(!t.has(n)||!(0,_.isEqual)(o.value,null==(l=t.get(n))?void 0:l.value))return!1}return!0}function sZ(e,t,l,n){if(e.wildcard||!(null==n?void 0:n.complete))return{status:"unknown",snapshot:sJ(e,t,l)};let o=sX(e,t,l,n,sP(l));return(null==o?void 0:o.rowMissing)?{status:"unchanged",snapshot:{...o,rowMissing:!1}}:(null==o?void 0:o.complete)?{status:sQ(n.values,o.values)&&sQ(n.structures,o.structures)?"unchanged":"changed",snapshot:o}:{status:"unknown",snapshot:o}}let s0="formValuesChange",s1="__formValueDrivenDataScopeClearBindings";function s2(e){let t=new Map;for(let n of e){var l;(null==n||null==(l=n.path)?void 0:l.length)&&t.set((0,sf.Qc)(n.path),n)}return Array.from(t.values())}function s8(e){let t=s2(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&sy(e.path,t.path)))}function s6(e){let t=new Map;for(let n of e){var l;(null==n||null==(l=n.path)?void 0:l.length)&&t.set(`${n.kind}:${(0,sf.Qc)(n.path)}`,n)}return Array.from(t.values())}function s3(e){let t=new Map;for(let n of e){var l;(null==n||null==(l=n.path)?void 0:l.length)&&t.set(`${n.includeChildren?"children":"exact"}:${(0,sf.Qc)(n.path)}`,n)}return Array.from(t.values())}function s5(){return{wildcard:!1,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function s4(){return{wildcard:!0,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function s7(e){let t=e[0];if("value"===t){let t=e.slice(1);return t.length?{wildcard:!1,valuePaths:[{path:t}],structuralPaths:[],triggerPaths:[]}:s4()}return"__is_new__"===t||"__is_stored__"===t?{wildcard:!1,valuePaths:[{path:[t]}],structuralPaths:[],triggerPaths:[]}:s5()}function s9(e,t){var l,n;let o=sD(e,sw((null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex))),r=0,i=[...t];for(;"parentItem"===i[0];)r+=1,i=i.slice(1);let a=i[0];if(!a)return s4();if(!o.length)return 0===r?s7(i):s5();if(r===o.length)return s7(i);if(r>o.length)return s4();if("value"===a){let e=sC(o,r);if(!e)return s4();let t=sF(o,r),l=i.slice(1);return{wildcard:!1,valuePaths:[{path:[...e,...l],rowScope:s$(o,r,l)}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0},...t?[{path:t,includeChildren:!1}]:[]]}}if("index"===a||"length"===a){let e=sF(o,r);return e?{wildcard:!1,valuePaths:[],structuralPaths:[{path:e,kind:a,rowScope:s$(o,r,[])}],triggerPaths:[{path:e,includeChildren:!1}]}:s4()}if("__is_new__"===a||"__is_stored__"===a){let e=sC(o,r);return e?{wildcard:!1,valuePaths:[{path:[...e,a],rowScope:s$(o,r,[a])}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0}]}:s4()}return s4()}function de(e,t){let l={deps:new Set,wildcard:!1};(0,sg.G)(t,l);let n=[],o=[],r=[],i=l.wildcard;for(let t of l.deps){if("fv:*"===t){i=!0;continue}if(!t.startsWith("fv:")){if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),a=s9(e,l?sA(l):[]);i||(i=a.wildcard),n.push(...a.valuePaths),o.push(...a.structuralPaths),r.push(...a.triggerPaths)}continue}let l=t.slice(3);if(!l){i=!0;continue}n.push({path:sA(l)})}return{wildcard:i,valuePaths:s8(n),structuralPaths:s6(o),triggerPaths:s3(r)}}function dt(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0||e.triggerPaths.length>0}function dl(e){var t;let l=null==e||null==(t=e.props)?void 0:t.value;return null!=l&&(!Array.isArray(l)||l.length>0)}function dn(e,t){if(!dt(e))return!1;if(e.wildcard)return!0;let l=sP(t);if(!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(sy(l.path,t)||sy(t,l.path))return!0;for(let l of e.structuralPaths)if(sv(l.path,t)||sy(t,l.path))return!0;for(let l of e.triggerPaths)if(l.includeChildren&&(sy(l.path,t)||sy(t,l.path))||!l.includeChildren&&sv(l.path,t))return!0}return!1}function dr(e,t){let l=e=>e.map(e=>(0,sf.Qc)(e.path)).sort(),n=e=>e.map(e=>`${e.kind}:${(0,sf.Qc)(e.path)}`).sort();return JSON.stringify({formBlockUid:null==t?void 0:t.uid,wildcard:e.wildcard,valuePaths:l(e.valuePaths),structuralPaths:n(e.structuralPaths),triggerPaths:e.triggerPaths.map(e=>`${e.includeChildren?"children":"exact"}:${(0,sf.Qc)(e.path)}`).sort()})}function di(e){var t,l;return(t=e)[l=s1]||(t[l]=new Map)}function da(e){return sj(e)}function ds(e){var t,l;if(!dl(e))return;let n=Array.isArray(null==e||null==(t=e.props)?void 0:t.value)?[]:null;"function"==typeof e.change?e.change(n):"function"==typeof(null==e||null==(l=e.props)?void 0:l.onChange)&&e.props.onChange(n)}function dd(e){var t;return!!e&&"object"==typeof e&&"function"==typeof(null==e||null==(t=e.props)?void 0:t.onChange)}function du(e,t){let l=di(e).get(t);l&&l.dispose()}function dc(e,t){var l,n,o,r,i,a;let s=e.model,d=null==e?void 0:e.flowKey;if(!dd(s)||!d)return;let u="dataScope",c=`${d}:${u}`,p=de(e,t);if(!dt(p))return void du(s,c);let m=da(e);if(!m)return void du(s,c);let h=dr(p,m),f=di(s),g=f.get(c);if((null==g?void 0:g.signature)===h)return;g&&g.dispose();let v=(null==s||null==(l=s.flowEngine)?void 0:l.emitter)||(null==e||null==(n=e.engine)?void 0:n.emitter)||(null==s||null==(r=s.context)||null==(o=r.engine)?void 0:o.emitter),y={signature:h,snapshot:sJ(p,m),dispose:()=>{}},x=()=>{var e,t,l,n;null==(t=m.emitter)||null==(e=t.off)||e.call(t,s0,b),null==v||null==(l=v.off)||l.call(v,"model:unmounted",w),null==v||null==(n=v.off)||n.call(v,"model:destroyed",S),f.get(c)===y&&f.delete(c)},b=e=>{var t;if(s.disposed||m.disposed)return void x();if(!dn(p,e))return;let l=sZ(p,m,e,y.snapshot);(null==(t=l.snapshot)?void 0:t.complete)&&(y.snapshot=l.snapshot),"unchanged"===l.status||dl(s)&&ds(s)},w=e=>{let{model:t}=e;(t===m||t===s&&s.disposed)&&x()},S=e=>{let{model:t}=e;(t===s||t===m)&&x()};y.dispose=x,f.set(c,y),m.emitter.on(s0,b),null==v||null==(i=v.on)||i.call(v,"model:unmounted",w),null==v||null==(a=v.on)||a.call(v,"model:destroyed",S)}let dp=(0,L.defineAction)({name:"dataScope",title:(0,L.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,L.useFlowSettingsContext)();return(0,O.jsx)(so.I8,{value:e.value,FilterItem:e=>(0,O.jsx)(so.Et,{...e,model:t.model,rightAsVariable:!0,maxAssociationFieldDepth:t.model instanceof sr.o?void 0:2})})}}},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),r=sh(t.filter,o);dc(e,t.filter),(0,ed.isEmptyFilter)(r)?n.removeFilterGroup(e.model.uid):n.addFilterGroup(e.model.uid,r)}});var dm=l(52717),dh=l(94130);class df extends L.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,dh.GX)(e);return(0,dh.F3)(n,o)}static async defineChildren(e){let t=this.baseClass?await (0,L.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,L.buildSubModelItem)(o,e);t&&l.push(t)}return V().sortBy([...n,...l],"sort")}}class dg extends df{}dg.baseClass=dm.S0,dg.scene=dm.s5.collection;class dv extends df{}dv.baseClass=dm.S0,dv.scene=dm.s5.record;var dy=l(14252);class dx extends L.FlowModel{static defineChildren(e){let t=this.itemModelName,l=this.maxAssociationFieldDepth??2,n=function(o){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return i>=l?[]:o.getToOneAssociationFields().map(o=>{let a=r?`${r}.${o.name}`:o.name,s=i+1;return o.targetCollection?{key:`${a}-assocationField`,label:o.title,children:()=>[{key:`${a}-children-collectionField`,label:e.t("Display fields"),type:"group",children:o.targetCollection.getFields().map(n=>{var o;if(s>=l&&((null==(o=n.isAssociationField)?void 0:o.call(n))||n.target||n.targetCollection))return;let r=`${a}.${n.name}`,i=L.DisplayItemModel.getDefaultBindingByField(e,n,{fallbackToTargetTitleField:!0});if(!i)return;let d=i.modelName;return{key:`c-${a}.${n.name}`,label:n.title,useModel:t,toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===r},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:r,associationPathName:a}}},subModels:{field:{use:d}}}}}).filter(Boolean)},{key:`${a}-children-associationField`,label:"Display association fields",type:"group",children:(n(o.targetCollection,a,s)||[]).filter(Boolean)}].filter(e=>{var t;return e.key!==`${a}-children-associationField`||(null==(t=e.children)?void 0:t.length)>0})}:void console.error(`AssociationFieldGroupModel: target collection ${o.target} not found for field ${o.name}`)}).filter(Boolean)};return n(e.collection,e.prefixFieldPath)}}function db(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function dw(e){return e.context}function dS(e,t){var l;let n=e[t]||(null==(l=dw(e))?void 0:l[t]);return n&&"object"==typeof n?n:void 0}function dC(e){var t,l,n;let o=null==(t=dw(e))?void 0:t.dataSourceManager;return o||(null==(n=e.flowEngine)||null==(l=n.context)?void 0:l.dataSourceManager)}function dF(e){return{operatorGroup:e.operatorGroup,operators:Array.isArray(e.operators)?[...e.operators]:e.operators,operatorOverrides:Array.isArray(e.operatorOverrides)?[...e.operatorOverrides]:e.operatorOverrides}}function dk(e){if(!1===e)return[];if(!e||"object"!=typeof e)return;let t=i9(dF(e));return Array.isArray(null==t?void 0:t.operators)&&t.operators.length>0?t.operators:Array.isArray(null==t?void 0:t.operatorOverrides)&&t.operatorOverrides.length>0?t.operatorOverrides:void 0}function dA(e,t){var l;let n="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;if(!n)return;let o=dC(e),r=null==o?void 0:o.collectionFieldInterfaceManager,i=null==r||null==(l=r.getFieldInterface)?void 0:l.call(r,n);return null==i?void 0:i.filterable}function dP(e){let t=[null==e?void 0:e.interface,null==e?void 0:e.type].filter(e=>"string"==typeof e),l=eR.II;for(let e of t){let t=l[e];if(null==t?void 0:t.length)return t}return[]}function dM(e){let t=dS(e,"collectionField"),l=dS(e,"filterField"),n=t||l;if((null==n?void 0:n.filterable)===!1)return[];let o=dk(null==n?void 0:n.filterable);if(null==o?void 0:o.length)return o;let r=dA(e,n);if(!1===r)return[];let i=dk(r);return(null==i?void 0:i.length)?i:dP(n)}function dj(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:dI(e);if(!t)return null;let l=dS(e,"collectionField")||dS(e,"filterField");return dM(e).find(e=>e.value===t&&(!e.visible||e.visible(l)))||null}function dI(e){var t,l,n,o,r,i;let a=dM(e);return e.operator||(null==(l=e.getStepParams)||null==(t=l.call(e,"filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(o=e.subModels)||null==(n=o.field)?void 0:n.operator)||(null==(r=a.find(e=>e.selected))?void 0:r.value)||(null==(i=a[0])?void 0:i.value)||"$includes"}function dT(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 dR(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}dx.itemModelName="DetailsItemModel",dx.maxAssociationFieldDepth=2,dx.define({label:'{{t("Display fields")}}'});let dE={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function dN(e,t){var l,n,o;let r=null==e||null==(l=e.context)?void 0:l.dataSourceManager,i=null==e?void 0:e.collection;if(!r||!(null==i?void 0:i.dataSourceKey)||!(null==i?void 0:i.name)||!t)return;let a=i.name,s=t.split(".").filter(Boolean);for(let e=0;e<s.length;e+=1){let t=null==(n=r.getCollectionField)?void 0:n.call(r,`${i.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 dD(e,t,l){let n=dE[e];if(!n)return e;let o=dN(t,l);return!o||db(o)?e:n}async function d$(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function dB(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class dO{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 r=await o.prepareInitialFilterValues();!1!==r&&l.add(o)}catch(t){console.error(`Failed to prepare filter defaults for target "${e}": ${dB(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 r=o-this.filterConfigs.length;return r>0&&n&&await this.saveFilterConfigs(),r}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(dT(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 r=e.filterPaths.map(n=>({path:n,operator:dD(e.operator||dI(l),t,n),value:o}));try{if(1===r.length)t.resource.addFilterGroup(e.filterId,new L.FilterItem({path:r[0].path,operator:r[0].operator,value:r[0].value}));else if(r.length>1){let l={logic:"$or",items:r};t.resource.addFilterGroup(e.filterId,new L.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,r=[...new Set(n.map(e=>e.targetId))].filter(e=>!(null==o?void 0:o.has(e))).map(async e=>{try{var t,l;this.bindToTarget(e);let n=this.gridModel.flowEngine.getModel(e);if(!n)return void console.error(`Target model with uid "${e}" not found`);if(!n.resource||"function"!=typeof n.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let o=n,r=n.resource,i=n,a=o.getDataLoadingMode();if("manual"===a&&!o.hasActiveFilters()){r.setData([]),r.setMeta({count:0,hasNext:!1}),"function"==typeof r.setPage&&r.setPage(1),r.loading=!1,null==(l=i.resetAfterFilterChange)||l.call(i);return}await d$(r),"function"==typeof r.setPage&&r.setPage(1),await r.refresh(),null==(t=i.resetAfterFilterChange)||t.call(i)}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(r)}constructor(e,t){this.gridModel=e,this.filterConfigs=t||[]}}var dq=l(84626),dL=l(47152),d_=l(16370);function dV(e){let{rows:t={},sizes:l={},layout:n,renderItem:o,rowGap:r=16,colGap:i=16,dragOverlayRect:a}=e,s=n||(0,L.normalizeGridLayout)({rows:t,sizes:l});return s.rows.length?(0,O.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:r},"data-grid-root":!0,children:[a&&(0,O.jsx)(dU,{rect:a}),(0,O.jsx)(dz,{rows:s.rows,renderItem:o,rowGap:r,colGap:i,parentPath:[]})]}):(0,O.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:a&&(0,O.jsx)(dU,{rect:a})})}function dz(e){let{rows:t,renderItem:l,rowGap:n,colGap:o,parentPath:r}=e;return(0,O.jsx)(O.Fragment,{children:t.map(e=>{let t=e.cells.length,i=e.sizes||[],a=i.some(e=>null!=e&&void 0!==e),s=[...r,{rowId:e.id}],d=e.cells.map((e,l)=>{if(!a)return 24/t;{let e=i.reduce((e,t)=>e+(t||0),0),n=t-i.filter(Boolean).length,o=n>0?(24-e)/n:0;return i[l]??o}});return(0,O.jsx)(dL.A,{gutter:o,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,r)=>(0,O.jsx)(dK,{rowKey:e.id,columnIndex:r,span:d[r],rowGap:n,colGap:o,cell:t,path:[...s.slice(0,-1),{rowId:e.id,cellId:t.id}],renderItem:l},t.id))},e.id)})})}let dK=P.memo(function(e){var t;let{rowKey:l,columnIndex:n,span:o,rowGap:r,colGap:i,cell:a,path:s,renderItem:d}=e,u=a.items||[];return(0,O.jsx)(d_.A,{span:o,"data-grid-column-row-id":l,"data-grid-column-index":n,"data-grid-path":JSON.stringify(s),children:(0,O.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:r},children:[u.map((e,t)=>e===L.EMPTY_COLUMN_UID?null:(0,O.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,O.jsx)(dz,{rows:a.rows,renderItem:d,rowGap:r,colGap:i,parentPath:s}):null]})})});function dU(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,O.jsx)("div",{style:{...l,...n[t.type]}})}dK.displayName="GridColumn";var dW=l(95725),dH=l(40919);let dG=e=>{let{value:t,onChange:l,rows:n=10,...o}=e,[r,i]=(0,P.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,P.useState)(null);(0,P.useEffect)(()=>{i(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;i(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,O.jsxs)("div",{children:[(0,O.jsx)(dW.A.TextArea,{value:r,autoSize:{minRows:n,maxRows:n+10},onChange:d,...o}),a&&(0,O.jsx)(dH.A,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},dY=(0,np.connect)(dG),dJ="gridSettings",dX="grid",dQ=new Set(["column-edge","item-edge","empty-column"]),dZ=e=>e.filter(e=>!dQ.has(e.type)),d0=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 d1 extends L.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(dJ,dX)||{};return(0,L.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=V().omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,L.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(dJ,{[dX]:{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 r=o.cells.find(e=>e.id===n.cellId);l=(null==r?void 0:r.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)&&V().isEqual(this.collectCellItemsForResize(e),t));if(-1!==o){l.add(o);let n=e.cells[o];return n.rows&&!n.items?V().cloneDeep(n):{id:n.id,items:[...t]}}return{id:`${e.id}:cell:${n}:${(0,ii.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),r=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0;if(!o.length)return r;let i=Array.from((null==(l=this.gridContainerRef.current)?void 0:l.querySelectorAll("[data-grid-row-id]"))||[]).find(e=>{try{return V().isEqual(JSON.parse(e.dataset.gridPath||"[]"),o)}catch{return!1}});return(null==i||null==(n=i.parentElement)?void 0:n.clientWidth)||r}prunePlaceholderOnlyRows(e){let t=e=>e.map(e=>{let l=e.cells.map((l,n)=>{var o,r;let i=(null==(o=e.sizes)?void 0:o[n])??1;if(null==(r=l.rows)?void 0:r.length){let e=t(l.rows);return e.length?{cell:{...l,rows:e},size:i,hasRealItem:!0}:null}let a=l.items||[],s=a.some(e=>e!==L.EMPTY_COLUMN_UID),d=a.includes(L.EMPTY_COLUMN_UID);return s||d?{cell:l,size:i,hasRealItem:s}:null}).filter(Boolean);return l.some(e=>e.hasRealItem)?{...e,cells:l.map(e=>e.cell),sizes:l.map(e=>e.size)}:null}).filter(Boolean);return(0,L.normalizeGridLayout)({layout:{...e,rows:t(e.rows||[])},itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}resizeGridLayout(e){var t;let{direction:l,resizeDistance:n,model:o}=e,r=this.getGridLayout(),i=(0,L.findModelUidLayoutPosition)(r,o.uid);if(!i)return null;let a=this.findLayoutRowByPath(r,i.path);if(!a)return null;let s=this.getResizeContainerWidth(i.path),d=a.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:u,newSizes:c,moveDistance:p}=d8({position:{rowId:a.id,columnIndex:i.cellIndex,itemIndex:i.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}),m=V().cloneDeep(r),h=this.findLayoutRowByPath(m,i.path);return h?(h.cells=this.buildResizedCells(a,u[a.id]||[]),h.sizes=c[a.id]||[],{layout:(0,L.normalizeGridLayout)({layout:m,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);let o=this.prunePlaceholderOnlyRows(this.props.layout);this.setGridStepLayout(o),this.syncLayoutProps(o),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,L.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(L.EMPTY_COLUMN_UID);let n=new Set,o={};for(let[t,r]of Object.entries(e)){let e=r.map(e=>V().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 r=new Set;for(let e of(Object.values(o).forEach(e=>e.forEach(e=>e.forEach(e=>r.add(e)))),t))r.has(e.uid)||(o[(0,ii.uid)()]=[[e.uid]]);return o}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(dJ,dX)||{},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=d0(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,L.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=this.context.isMobileLayout?dZ(e.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 r=this.dragOverlayConfig,i=e.rect;switch(e.type){case"column":{let l=null==r||null==(t=r.columnInsert)?void 0:t[e.position],n=(null==l?void 0:l.height)??i.height,o=(null==l?void 0:l.offsetTop)??0;return{top:i.top+o,left:i.left,width:i.width,height:n}}case"column-edge":{let t=null==r||null==(l=r.columnEdge)?void 0:l[e.direction],n=(null==t?void 0:t.width)??i.width,o=(null==t?void 0:t.offsetLeft)??0;return{top:i.top,left:i.left+o,width:n,height:i.height}}case"item-edge":{let t=null==r||null==(n=r.columnEdge)?void 0:n[e.direction],l=(null==t?void 0:t.width)??i.width,o=(null==t?void 0:t.offsetLeft)??0;return{top:i.top,left:i.left+o,width:l,height:i.height}}case"row-gap":{let t=null==r||null==(o=r.rowGap)?void 0:o[e.position],l=(null==t?void 0:t.height)??i.height,n=(null==t?void 0:t.offsetTop)??0;return{top:i.top+n,left:i.left,width:i.width,height:l}}default:return{top:i.top,left:i.left,width:i.width,height:i.height}}}getHitTestSlot(e){return{...e,rect:this.computeOverlayRect(e)}}resolveDragSlot(e){var t;return(null==(t=this.dragState)?void 0:t.slots.length)?(0,L.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,L.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,L.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:ii.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,ii.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,L.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:V().cloneDeep(l.rows),sizes:V().cloneDeep(l.sizes),rowOrder:V().cloneDeep(l.rowOrder),layout:V().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,L.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:V().cloneDeep(n.rows),sizes:V().cloneDeep(n.sizes),rowOrder:V().cloneDeep(n.rowOrder),layout:V().cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:d0(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(V().cloneDeep(l.layout)):(this.setProps("rows",V().cloneDeep(l.rows)),this.setProps("sizes",V().cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",V().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,L.normalizeGridLayout)({rows:d2((0,L.projectLayoutToLegacyRows)(t).rows),itemUids:this.getItemUids()}):t,n=(0,L.projectLayoutToLegacyRows)(l),{rows:o,rowOrder:r}=this.normalizeRowsWithOrder(n.rows,n.rowOrder),i=this.orderSizesByRowOrder(n.sizes,r);if(this.context.flowSettingsEnabled)return{layout:l,rows:o,sizes:i};let a=new Map(((null==(e=this.subModels)?void 0:e.items)||[]).map(e=>[e.uid,e])),s=e=>e.map(e=>{let t=e.cells.map((t,l)=>{var n;let o=null==(n=e.sizes)?void 0:n[l],r=Number.isFinite(o)&&o>0?o:1;if(t.rows){let e=s(t.rows);return e.length?{cell:{...t,rows:e},size:r,hasVisibleContent:!0}:null}let i=(t.items||[]).filter(e=>{var t;return e===L.EMPTY_COLUMN_UID||(null==(t=a.get(e))?void 0:t.hidden)!==!0}),d=i.some(e=>{if(e===L.EMPTY_COLUMN_UID)return!1;let t=a.get(e);return!t||!t.hidden}),u=i.includes(L.EMPTY_COLUMN_UID);return d||u?{cell:{...t,items:i},size:r,hasVisibleContent:d}:null}).filter(Boolean);return t.some(e=>e.hasVisibleContent)?{...e,cells:t.map(e=>e.cell),sizes:t.map(e=>e.size)}:null}).filter(Boolean),d=(0,L.normalizeGridLayout)({layout:{version:2,rows:s(l.rows)}}),u=(0,L.projectLayoutToLegacyRows)(d);return{layout:d,rows:u.rows,sizes:u.sizes}}render(){let{layout:e,rows:t,sizes:l}=this.getVisibleLayout(),n=Object.keys(t||{}).length>0;return(0,O.jsxs)(O.Fragment,{children:[n&&(0,O.jsx)(dq.A,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap,display:"flex"},size:this.props.rowGap,children:(0,O.jsx)(L.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,O.jsx)(dV,{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,r;let i=this.flowEngine.getModel(e);if(!i)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?i:(()=>{let t=i.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,O.jsx)(L.Droppable,{model:p,children:(0,O.jsx)(L.MemoFlowModelRenderer,{model:p,fallback:i.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==(r=p.constructor)?void 0:r.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,O.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),this.subModelBaseClass="BlockModel",this.gridContainerRef=P.createRef(),this.prevMoveDistance=0,this.itemSettingsMenuLevel=1,this.itemFlowSettings={},this.itemFallback=(0,O.jsx)(rq,{}),this.itemExtraToolbarItems=[{key:"drag-handler",component:L.DragHandler,sort:1}],this.updateDragPointerPosition=e=>{if(!this.dragState)return;let t=d0(e);t&&(this.dragState.pointerPosition=t)},this.handleDragScroll=()=>{this.dragState&&this.scheduleSnapshotRefresh()}}}function d2(e,t){let l=(null==t?void 0:t.emptyColumnUid)??L.EMPTY_COLUMN_UID,n={},o=e=>{if(!n[e])return e;let t=1,l=`${e}:duplicate:${t}`;for(;n[l];)t+=1,l=`${e}:duplicate:${t}`;return l};return Object.keys(e).forEach(t=>{let r=e[t].map((e,t)=>({columnIndex:t,items:e.filter(e=>e!==l)})).filter(e=>e.items.length>0);if(1===r.length&&0===r[0].columnIndex){n[o(t)]=[r[0].items];return}r.forEach(e=>{n[o(`mobile:${encodeURIComponent(t)}:${e.columnIndex}`)]=[e.items]})}),n}function d8(e){var t,l;let{position:n,direction:o,resizeDistance:r,prevMoveDistance:i,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=V().cloneDeep(s),m=V().cloneDeep(a),h=Math.floor(r/(d-u*((m[n.rowId]||[]).length-1))*c);if(h===i)return{newRows:p,newSizes:m,moveDistance:h};(t=m)[l=n.rowId]??(t[l]=[c]);let f=m[n.rowId],g=h-i,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:m,moveDistance:i};g>e&&(h=i+e,g=e)}if(m[n.rowId][n.columnIndex]+=g,"left"===o&&n.columnIndex>0&&(m[n.rowId][n.columnIndex-1]-=g,0===m[n.rowId][n.columnIndex-1]&&d3({rows:p,sizes:m,position:n,direction:"left"})),"left"===o&&0===n.columnIndex){let e=m[n.rowId].slice(1).reduce((e,t)=>e+t,0);m[n.rowId][0]<c-e&&d6({rows:p,sizes:m,position:n,direction:"left"})}if("right"===o&&n.columnIndex<m[n.rowId].length-1&&(m[n.rowId][n.columnIndex+1]-=g,0===m[n.rowId][n.columnIndex+1]&&d3({rows:p,sizes:m,position:n,direction:"right"})),"right"===o&&n.columnIndex===m[n.rowId].length-1){let e=m[n.rowId].slice(0,-1).reduce((e,t)=>e+t,0);m[n.rowId][n.columnIndex]<c-e&&d6({rows:p,sizes:m,position:n,direction:"right"})}return{newRows:p,newSizes:m,moveDistance:h}}function d6(e){let{rows:t,sizes:l,position:n,direction:o}=e,r=t[n.rowId]||[],i=l[n.rowId]||[];if("left"===o){let e=r[n.columnIndex-1];if(null==e?void 0:e.includes(L.EMPTY_COLUMN_UID))return;r.splice(n.columnIndex,0,[L.EMPTY_COLUMN_UID]),i.splice(n.columnIndex,0,1)}if("right"===o){let e=r[n.columnIndex+1];if(null==e?void 0:e.includes(L.EMPTY_COLUMN_UID))return;r.splice(n.columnIndex+1,0,[L.EMPTY_COLUMN_UID]),i.splice(n.columnIndex+1,0,1)}}function d3(e){let{rows:t,sizes:l,position:n,direction:o}=e,r=t[n.rowId]||[],i=l[n.rowId]||[];if("left"===o){let e=r[n.columnIndex-1];if(!(null==e?void 0:e.includes(L.EMPTY_COLUMN_UID)))return;r.splice(n.columnIndex-1,1),i.splice(n.columnIndex-1,1)}if("right"===o){let e=r[n.columnIndex+1];if(!(null==e?void 0:e.includes(L.EMPTY_COLUMN_UID)))return;r.splice(n.columnIndex+1,1),i.splice(n.columnIndex+1,1)}}d1.registerFlow({key:dJ,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,L.tExpr)("Layout"),"x-decorator":"FormItem","x-component":dY,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,L.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,n=(0,L.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 d5=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class d4 extends d1{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new dO(this,e.filterManager)})}onMount(){var e,t;super.onMount(),(null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)!=="select"||this.viewActivatedListener||(this.viewActivatedListener=()=>{this.mapSubModels("items",e=>{var t;null==(t=e.onActive)||t.call(e)})},this.flowEngine.emitter.on(L.VIEW_ACTIVATED_EVENT,this.viewActivatedListener))}onUnmount(){this.viewActivatedListener&&(this.flowEngine.emitter.off(L.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),super.onUnmount()}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,L.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=d5.filter(t=>!!e.engine.getModelClass(t)),n=(await Promise.all(l.map(t=>(0,L.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,O.jsx)(L.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(tB.A,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,O.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),this.dragOverlayConfig={columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}}}}d4.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 d7=l(77471),d9=l(72380),ue=l(52175);class ut extends L.FlowModel{}var ul=l(5679);class un extends d7.z{}un.define({hide:!0,label:"Filter blocks"});var uo=l(44279),ur=l(21637),ui=l(2117);async function ua(e){var t,l,n,o,r;(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==(r=e.inputArgs)||null==(o=r.controller)||null==(n=o.prevent)||n.call(o),e.exitAll()))}let us="__no_active_page_tab__";function ud(e){var t;let{hiddenTabKeys:l,hiddenActiveTabLabel:n,items:o,tabBarProps:r}=e,i=o.filter(e=>!l.has(String(e.key))).map(e=>{let{children:t,className:l,destroyInactiveTabPane:n,forceRender:o,style:r,...i}=e;return{...i,children:null}}),a=i.some(e=>e.key===r.activeKey)?r.activeKey:us,s=null==(t=i.find(e=>!e.disabled))?void 0:t.key,d=l.has(String(r.activeKey))?String(r.activeKey):void 0,u=d&&r.id?`${r.id}-tab-${d}`:void 0,c=e=>{let t=String(e.key);if(a!==us||t!==String(s))return e;let l=!1,n=P.Children.map(e.props.children,e=>l||!P.isValidElement(e)||"tab"!==e.props.role?e:(l=!0,P.cloneElement(e,{tabIndex:0})));return P.cloneElement(e,void 0,n)};return(0,O.jsxs)(O.Fragment,{children:[u?(0,O.jsx)("span",{id:u,hidden:!0,children:n||d}):null,(0,O.jsx)(ur.A,{activeKey:us,animated:{inkBar:r.animated.inkBar,tabPane:!1},destroyInactiveTabPane:!0,id:r.id,items:i,more:r.more,onTabClick:(e,t)=>r.onTabClick(e,t),onTabScroll:r.onTabScroll,renderTabBar:(e,t)=>(0,O.jsx)(t,{...e,activeKey:a,children:c}),tabBarExtraContent:r.extra,tabBarGutter:r.tabBarGutter,tabBarStyle:r.style,tabPosition:r.tabPosition})]})}function uu(e){let{dependencyKey:t,onSync:l}=e,n=P.useRef(),o=P.useRef(!1),r=P.useRef();return P.useEffect(()=>{let e=l({previousEffectiveActiveKey:n.current,previousAllHidden:o.current,lastCorrectionSignature:r.current});n.current=e.effectiveActiveKey,o.current=e.previousAllHidden,r.current=e.lastCorrectionSignature},[t,l]),null}class uc extends L.FlowModel{getEnableTabs(){let e=this.context.currentRoute,t=this.props.routeId;return null!=t&&(null==e?void 0:e.id)!=null&&String(e.id)===String(t)&&"boolean"==typeof e.enableTabs?e.enableTabs:!!this.props.enableTabs}getAllTabs(){var e;return(null==(e=this.subModels)?void 0:e.tabs)||[]}getUnhiddenTabs(){return this.getAllTabs().filter(e=>!e.hidden)}getRequestedTabKey(){var e,t;let l=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;if(l){let e="string"==typeof l.tabUid&&l.tabUid?l.tabUid:void 0;if(e)return this.implicitActiveKey=void 0,{key:e,source:"url"};let t="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return t&&t===this.implicitActiveKey?{key:t,source:"implicit"}:{source:"none"}}let n="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return n?{key:n,source:n===this.implicitActiveKey?"implicit":"props"}:{source:"none"}}resolveTabActiveState(){var e,t;let l=this.getAllTabs(),n=this.getUnhiddenTabs(),o=this.getRequestedTabKey();if(!o.key)return{...o,status:"unspecified",effectiveKey:null==(e=n[0])?void 0:e.uid,allTabs:l,unhiddenTabs:n};let r=l.find(e=>e.uid===o.key);return"implicit"===o.source&&(!r||r.hidden)?{...o,status:"unspecified",effectiveKey:null==(t=n[0])?void 0:t.uid,allTabs:l,unhiddenTabs:n}:r?n.some(e=>e.uid===o.key)?{...o,status:"visible",effectiveKey:o.key,allTabs:l,unhiddenTabs:n}:{...o,status:"hidden",effectiveKey:o.key,allTabs:l,unhiddenTabs:n}:{...o,status:"unknown",effectiveKey:o.key,allTabs:l,unhiddenTabs:n}}getActiveTabKey(){if(!this.getEnableTabs()){var e;let t=null==(e=this.getFirstTab())?void 0:e.uid;if(t)return t}return this.resolveTabActiveState().effectiveKey}getTabActiveKeySyncDependency(){var e,t;let l=this.getAllTabs(),n=this.getUnhiddenTabs(),o=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return JSON.stringify([!!this.context.flowSettingsEnabled,o&&o.tabUid||null,this.props.tabActiveKey||null,l.map(e=>e.uid),n.map(e=>e.uid),this.implicitActiveKey||null])}requestDocumentTitleUpdate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.updateDocumentTitle(e,t).catch(e=>{console.warn("[PageModel] Failed to update document title",e)})}rememberImplicitActiveKey(e){this.implicitActiveKey=e,this.props.tabActiveKey!==e&&this.setProps("tabActiveKey",e)}commitTabActiveKey(e,t){let{previousActiveKey:l,navigate:n,preserveImplicitKey:o=!1,rememberLocalTransition:r=!1}=t;if(r&&e&&(this.locallyCommittedTabTransition={activeKey:e,previousActiveKey:l}),this.implicitActiveKey=e&&o?e:void 0,n){var i,a,s;null==(s=this.context.view)||null==(a=s.navigation)||null==(i=a.changeTo)||i.call(a,{tabUid:e})}e&&e!==l&&this.invokeTabModelLifecycleMethod(e,"onActive"),l&&l!==e&&this.invokeTabModelLifecycleMethod(l,"onInactive"),this.setProps("tabActiveKey",e),e||this.requestDocumentTitleUpdate()}consumeLocallyCommittedTabTransition(e,t){let l=this.locallyCommittedTabTransition;return!!l&&!!t&&(l.activeKey===t&&l.previousActiveKey===e?(this.locallyCommittedTabTransition=void 0,!0):(t!==l.previousActiveKey&&(this.locallyCommittedTabTransition=void 0),!1))}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{this.dirtyRefreshScheduled=!1,this.unmounted||!1!==(0,L.getPageActive)(this.context)&&this.activateCurrentTab(e)}).catch(()=>{}))}activateCurrentTab(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}deactivateCurrentTab(){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onInactive")}onMount(){var e,t,l,n,o,r,i,a,s;super.onMount(),this.unmounted=!1,this.implicitActiveKey=void 0,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.requestDocumentTitleUpdate(),this.viewActivatedListener||(this.viewActivatedListener=e=>{this.activateCurrentTab()},null==(r=this.flowEngine)||null==(o=r.emitter)||null==(n=o.on)||n.call(o,L.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let d=(0,L.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),u=d>0&&d!==this.lastSeenEmitterViewActivatedVersion;this.lastSeenEmitterViewActivatedVersion=d,u&&!1!==(0,L.getPageActive)(this.context)&&this.activateCurrentTab(),this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(s=this.flowEngine)||null==(a=s.emitter)||null==(i=a.on)||i.call(a,L.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,n,o,r;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,L.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(r=this.flowEngine)||null==(o=r.emitter)||null==(n=o.off)||n.call(o,L.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];if(!e)return;"onActive"===t&&(null==(l=this.context)?void 0:l.pageInfo)&&(this.context.pageInfo.version="v2");let r=this.findSubModel("tabs",t=>t.uid===e)||this.flowEngine.getModel(e);if(r){if(r.context.tabActive){let e=!1!==(0,L.getPageActive)(r.context);r.context.tabActive.value=e&&"onActive"===t}null==(n=r.subModels.grid)||n.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,o)})}"onActive"===t&&this.requestDocumentTitleUpdate(e)}async updateDocumentTitle(e){var t,l,n,o,r,i,a,s,d,u,c,p,m,h,f,g,v,y,x,b;let w=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,L.getPageActive)(this.context))return;let S=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),C=null==(r=this.context)||null==(o=r.view)||null==(n=o.inputArgs)?void 0:n.viewUid,F=null==(s=this.flowEngine)||null==(a=s.context)||null==(i=a.route)?void 0:i.pathname;if(S&&C&&"string"==typeof F){let e=null==(u=this.context)||null==(d=u.layout)?void 0:d.routePath,t=null==(c=(0,L.parsePathnameToViewParams)(F,{basePath:(null==(m=this.context)||null==(p=m.layoutRoute)?void 0:p.basePathname)||((null==e?void 0:e.startsWith("/"))?e:"")}).at(-1))?void 0:c.viewUid;if(t&&t!==C)return}let k=++this.documentTitleUpdateVersion,A=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}},P=this.getUnhiddenTabs(),M=e||this.getActiveTabKey(),j=!this.getEnableTabs()||!M&&0===P.length,I="";if(j)I=await A(null==(b=this.stepParams)||null==(x=b.pageSettings)||null==(y=x.general)?void 0:y.documentTitle)||this.props.title||"";else{let e=M?this.findSubModel("tabs",e=>e.uid===M)||this.flowEngine.getModel(M):this.getFirstTab();if(!e&&w<5)return void window.setTimeout(()=>{this.unmounted||k===this.documentTitleUpdateVersion&&this.requestDocumentTitleUpdate(M,w+1)},0);I=await A(null==e||null==(g=e.stepParams)||null==(f=g.pageTabSettings)||null==(h=f.tab)?void 0:h.documentTitle)||(null==e||null==(v=e.getTabTitle)?void 0:v.call(e))||""}k===this.documentTitleUpdateVersion&&"string"==typeof I&&""!==I&&(document.title=I)}mapTabs(){return this.mapSubModels("tabs",e=>({key:e.uid,label:(0,O.jsx)(L.Droppable,{model:e,children:(0,O.jsx)(L.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:L.DragHandler,sort:1}]})}),children:e.renderChildren()}))}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;let n=this.resolveTabActiveState(),o=this.mapTabs(),r=new Set(this.context.flowSettingsEnabled?[]:n.allTabs.filter(e=>e.hidden).map(e=>e.uid)),i="hidden"===n.status?null==(t=n.allTabs.find(e=>e.uid===n.effectiveKey))||null==(e=t.getTabTitle)?void 0:e.call(t):void 0,a=n.effectiveKey||(n.allTabs.length>0?us:void 0),s=(null==(l=this.context.themeToken)?void 0:l.paddingLG)??16,d=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,O.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:s,height:1}}),u=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,O.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:s},children:(0,O.jsx)(L.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(tB.A,{}),children:this.context.t("Add tab")})})});return(0,O.jsxs)(L.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:[(0,O.jsx)(uu,{dependencyKey:this.getTabActiveKeySyncDependency(),onSync:this.synchronizeTabActiveKey}),(0,O.jsx)(ur.A,{activeKey:a,tabBarStyle:this.props.tabBarStyle,items:o,renderTabBar:r.size>0?e=>(0,O.jsx)(ud,{hiddenTabKeys:r,hiddenActiveTabLabel:i,items:o,tabBarProps:e}):void 0,onChange:e=>{var t;let l=this.getActiveTabKey();this.implicitActiveKey=void 0,this.commitTabActiveKey(e,{previousActiveKey:l,navigate:!!(null==(t=this.context.view)?void 0:t.navigation),rememberLocalTransition:!0})},tabBarExtraContent:{left:d,right:u}})]})}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,O.jsxs)(O.Fragment,{children:[this.props.displayTitle&&(0,O.jsx)(uo.z,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),this.tabBarExtraContent={},this.lastSeenEmitterViewActivatedVersion=0,this.dirtyRefreshScheduled=!1,this.unmounted=!1,this.documentTitleUpdateVersion=0,this.synchronizeTabActiveKey=e=>{let t=this.resolveTabActiveState(),l=t.allTabs.length>0&&0===t.unhiddenTabs.length,n=(e,t)=>({previousEffectiveActiveKey:e,effectiveActiveKey:e,previousAllHidden:l,lastCorrectionSignature:t});if("unknown"===t.status)return n(t.effectiveKey);if("visible"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return n(l);let o=e.previousAllHidden&&"url"!==t.source,r=!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==l;if((o||r)&&l){let o=`visible:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return o!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:"implicit"===t.source}),n(l,o)}return n(l)}if("hidden"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return n(l);if(l&&e.previousEffectiveActiveKey!==l){let o=`hidden:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return o!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),n(l,o)}return n(l)}let o=t.effectiveKey;if(!o){if(!l){if("implicit"!==t.source||!t.key)return n(void 0);let l=`implicit-missing:${e.previousEffectiveActiveKey||""}`;return l!==e.lastCorrectionSignature&&this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),n(void 0,l)}let o=`all-hidden:${e.previousEffectiveActiveKey||""}`;return e.previousAllHidden||o===e.lastCorrectionSignature||(this.implicitActiveKey=void 0,this.props.tabActiveKey||e.previousEffectiveActiveKey?this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}):this.requestDocumentTitleUpdate()),n(void 0,o)}let r=e.previousAllHidden||!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==o,i=`implicit:${e.previousEffectiveActiveKey||""}->${o}`;return r&&i!==e.lastCorrectionSignature?this.commitTabActiveKey(o,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:!0}):this.rememberImplicitActiveKey(o),n(o,r?i:void 0)},this.createPageTabModelOptions=()=>{let e=(0,ii.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,ii.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}}}}uc.registerEvents({close:{title:(0,L.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,L.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":ui.H}},handler:ui.b}}),uc.registerFlow({key:"closeGuard",title:(0,L.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,L.tExpr)("Unsaved changes confirmation"),handler:ua}}}),uc.registerFlow({key:"pageSettings",title:(0,L.tExpr)("Page settings"),steps:{general:{title:(0,L.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,L.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,L.tExpr)("Document title"),description:(0,L.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":a6.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,L.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,L.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})),await e.model.updateDocumentTitle()}}}});var up=l(68904);class um extends uc{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,O.jsx)("div",{style:o,children:(0,O.jsx)(uh,{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");e.active.id!==e.over.id&&await this.flowEngine.moveModel(e.active.id,e.over.id)}render(){return(0,O.jsxs)(O.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,O.jsx)(uo.z,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,O.jsxs)(O.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),this.tabBarExtraContent={left:(0,O.jsx)(uh,{})},this.createPageTabModelOptions=()=>({use:"ChildPageTabModel"})}}let uh=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,L.useFlowContext)(),n=l.themeToken,o=32,r=(null==n?void 0:n.paddingLG)??16,i=(0,P.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,O.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:r,height:1}}):null:(0,O.jsx)(eJ.Ay,{"aria-label":"back-button",type:"text",icon:(0,O.jsx)(up.A,{}),style:i,onClick:l.view.close})};class uf extends L.FlowModel{}uf.registerFlow({key:"pageSettings",title:(0,L.tExpr)("Page settings"),steps:{general:{title:(0,L.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,L.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,L.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 ug extends uf{renderFirstTab(){var e;return(0,O.jsx)(L.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,O.jsxs)(O.Fragment,{children:[this.props.displayTitle&&(0,O.jsx)(uo.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function uv(e){let{ctx:t,options:l}=e,{data:n,loading:o}=(0,rB.A)(async()=>{let e=await t.engine.loadOrCreateModel(l,{skipSave:!t.flowSettingsEnabled});return e.context.addDelegate(t),e},{refreshDeps:[t.model.uid]}),r=(null==t?void 0:t.isMobileLayout)?8:null==t?void 0:t.themeToken.marginBlock;return!o&&(null==n?void 0:n.uid)?(0,O.jsx)(L.FlowModelRenderer,{model:n,fallback:(0,O.jsx)(rq,{style:{margin:r}})}):(0,O.jsx)(rq,{style:{margin:r}})}function uy(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}function ux(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function ub(e){return ux(e)}let uw=new WeakMap;async function uS(e){let t=(uw.get(e)||Promise.resolve()).catch(()=>void 0).then(()=>e.refreshAccessible());uw.set(e,t);try{await t}finally{uw.get(e)===t&&uw.delete(e)}}class uC extends L.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:L.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,O.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,O.jsx)(eR.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,O.jsxs)("span",{style:{display:"inline-block"},children:[(0,O.jsx)(eR.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}uC.registerFlow({key:"pageTabSettings",title:(0,L.tExpr)("Tab settings"),steps:{tab:{title:(0,L.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,L.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,L.tExpr)("Document title"),description:(0,L.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":a6.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,L.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);await (null==o||null==(l=o.updateDocumentTitle)?void 0:l.call(o))}},linkageRules:{use:"tabLinkageRules"}}});class uF extends uC{onInit(e){super.onInit(e),this.shouldHydratePersistedLinkageRules()&&this.hydratePersistedLinkageRules().catch(e=>{console.warn("[RootPageTabModel] Failed to hydrate tab linkage rules",e)})}hasExplicitLinkageRulesStep(){var e;let t=null==(e=this.stepParams)?void 0:e.pageTabSettings;return ux(t)&&Object.prototype.hasOwnProperty.call(t,"linkageRules")}shouldHydratePersistedLinkageRules(){var e,t;return!!this.context.flowSettingsEnabled||(null==(t=this.props.route)||null==(e=t.options)?void 0:e.hasPersistedPageTabFlowModel)===!0}async fetchPersistedAnchor(){var e;let t=await this.context.api.request({url:"flowModels:findOne",params:{uid:this.uid}}),l=null==t||null==(e=t.data)?void 0:e.data;return ux(l)?l:void 0}async performPersistedLinkageRulesHydrate(){if(this.hasExplicitLinkageRulesStep())return;let e=await this.fetchPersistedAnchor();if(this.hasExplicitLinkageRulesStep())return;let t=ux(null==e?void 0:e.stepParams)?e.stepParams:void 0,l=ux(null==t?void 0:t.pageTabSettings)?t.pageTabSettings:void 0,n=null==l?void 0:l.linkageRules;ub(n)&&(this.setStepParams("pageTabSettings","linkageRules",V().cloneDeep(n)),this.invalidateFlowCache("beforeRender",!0),await this.rerender())}hydratePersistedLinkageRules(){if(this.persistedLinkageRulesHydrated)return Promise.resolve();if(this.persistedLinkageRulesHydrating)return this.persistedLinkageRulesHydrating;let e=this.performPersistedLinkageRulesHydrate();return this.persistedLinkageRulesHydrating=e,e.then(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrated=!0,this.persistedLinkageRulesHydrating=void 0)}).catch(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrating=void 0)}),e}async openFlowSettings(e){return(null==e?void 0:e.flowKey)==="pageTabSettings"&&(null==e?void 0:e.stepKey)==="linkageRules"&&await this.hydratePersistedLinkageRules(),super.openFlowSettings(e)}renderChildren(){return(0,O.jsx)(uv,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){let e=this.hasExplicitLinkageRulesStep(),t=e?V().cloneDeep(this.stepParams.pageTabSettings.linkageRules):void 0;await this.save(),e&&t&&await this.persistLinkageRulesToAnchor(t)}async save(){var e,t,l,n,o,r,i,a,s,d,u,c;let p=this.serialize(),m=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,h=this.props.route||{},f=null!=h.id,g=f&&h.schemaUid?null==(o=this.context.routeRepository)||null==(n=o.getRouteBySchemaUid)?void 0:n.call(o,h.schemaUid):void 0,v={...f?{schemaUid:h.schemaUid}:h,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{...g?g.options:h.options,flowRegistry:p.flowRegistry,documentTitle:m}},y=await this.context.api.request(f?{method:"post",url:`desktopRoutes:update?filter[id]=${h.id}`,data:v}:{method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:v}),x=uy(null==y||null==(r=y.data)?void 0:r.data);x&&this.setProps("route",{...this.props.route,...x,options:{...null==(i=this.props.route)?void 0:i.options,...x.options}});try{(null==(a=this.context.routeRepository)?void 0:a.refreshAccessible)?await uS(this.context.routeRepository):await (null==(s=(d=this.context).refreshDesktopRoutes)?void 0:s.call(d))}catch(e){null==(c=this.context.logger)||null==(u=c.warn)||u.call(c,{err:e},"[client-v2] Failed to refresh desktop routes after saving a page tab")}}buildAnchorPayload(e,t){let l="string"==typeof(null==e?void 0:e.uid)&&e.uid.length>0?V().cloneDeep(e):{uid:this.uid,use:"RouteModel"};delete l.subModels;let n=ux(l.stepParams)?l.stepParams:{},o=ux(n.pageTabSettings)?n.pageTabSettings:{};return{...l,stepParams:{...n,pageTabSettings:{...o,linkageRules:V().cloneDeep(t)}}}}async persistLinkageRulesToAnchor(e){let t=await this.fetchPersistedAnchor(),l=this.buildAnchorPayload(t,e);await this.context.api.request({method:"post",url:"flowModels:save",data:l});let n=Array.isArray(e.value)&&e.value.length>0;await this.syncPersistedPageTabFlowModelMarker(n),this.persistedLinkageRulesHydrated=!0}async syncPersistedPageTabFlowModelMarker(e){var t,l,n;let o=this.props.route;if((null==o?void 0:o.id)==null)throw Error("Cannot persist page tab FlowModel marker before the desktop route is saved.");if("function"!=typeof(null==(t=this.context.routeRepository)?void 0:t.updateRoute))throw Error("Route repository is unavailable while persisting the page tab FlowModel marker.");let r=o.schemaUid?null==(l=(n=this.context.routeRepository).getRouteBySchemaUid)?void 0:l.call(n,o.schemaUid):void 0,i={...(null==r?void 0:r.options)||o.options||{}};e?i.hasPersistedPageTabFlowModel=!0:delete i.hasPersistedPageTabFlowModel;let a=Object.keys(i).length>0?i:void 0;await this.context.routeRepository.updateRoute(o.id,{options:a},{refreshAfterMutation:!1}),this.setProps("route",{...o,options:a})}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}constructor(...e){super(...e),this.persistedLinkageRulesHydrated=!1}}class uk extends uC{renderChildren(){return(0,O.jsx)(uv,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class uA extends L.FlowModel{render(){return(0,O.jsx)(uv,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class uP extends uc{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 r=null==e||null==(l=e.props)||null==(t=l.route)?void 0:t.id;return null!=r?r:("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,L.reaction)(()=>this.context.pageActive.value,()=>{var e,t;if(null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.activationControlledByLayout){this.mounted=!0;return}this.context.pageActive.value&&this.mounted&&this.activateCurrentTab(!0),!1===this.context.pageActive.value&&this.deactivateCurrentTab(),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[r,i]=await Promise.all([this.ensurePersistedRouteId(n),this.ensurePersistedRouteId(o)]);null!=r&&null!=i&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:r,targetId:i,sortField:"sort"}}),this.flowEngine.moveModel(n.uid,o.uid,{persist:!1}))}constructor(...e){super(...e),this.mounted=!1}}uP.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),V().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 uM extends uf{renderFirstTab(){var e;return(0,O.jsx)(L.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,O.jsxs)(O.Fragment,{children:[this.props.displayTitle&&(0,O.jsx)(uo.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}class uj extends dy.S0{constructor(...e){super(...e),this.defaultProps={title:(0,L.tExpr)("Popup"),icon:"ExportOutlined"}}}uj.define({label:(0,L.tExpr)("Popup")}),uj.registerFlow(ex);var uI=l(33297);class uT extends uj{getAclActionName(){return"create"}constructor(...e){super(...e),this.defaultPopupTitle=(0,L.tExpr)("Add new"),this.defaultProps={type:"primary",title:(0,L.tExpr)("Add new"),icon:"PlusOutlined"}}}uT.scene=dy.s5.collection,uT.define({label:(0,L.tExpr)("Add new"),sort:10});let uR=e=>{var t,l,n,o,r,i;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==(i=e.model)||null==(r=i.getStepParams)?void 0:r.call(i,"resourceSettings","init"))},uE=e=>{var t;return!!(null==(t=uR(e))?void 0:t.associationName)},uN=e=>{var t,l,n,o;let r=uR(e),i=(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==i?void 0:i.targetCollection;return{dataSourceKey:(null==a?void 0:a.dataSourceKey)||(null==r?void 0:r.dataSourceKey),collectionName:(null==a?void 0:a.name)||(null==i?void 0:i.target)||(null==r?void 0:r.collectionName)}},uD=e=>{var t,l,n,o,r,i;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=uR(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==(i=a.resource)||null==(r=i.getData)?void 0:r.call(i))||[]}},u$=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}))},uB=async e=>{var t,l,n,o,r,i,a,s,d,u,c,p;let m=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),h=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!uE(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!m){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==h||null==(n=h.getFilterByTK)?void 0:n.call(h,e.record);await u$(m,"remove",[f]),await (null==(o=m.refresh)?void 0:o.call(m)),null==(i=e.message)||null==(r=i.success)||r.call(i,e.t("Record disassociated successfully"))},uO=async(e,t)=>{var l,n,o,r,i,a,s,d,u,c,p;let m=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),h=(null==e||null==(n=e.blockModel)?void 0:n.collection)||(null==e?void 0:e.collection);if(!uE(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!m){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==h||null==(t=h.getFilterByTK)?void 0:t.call(h,e))??e}).filter(e=>null!=e);await u$(m,"add",f),await (null==(o=m.refresh)?void 0:o.call(m)),null==(i=e.message)||null==(r=i.success)||r.call(i,e.t("Record associated successfully"))};function uq(e){let{options:t}=e,l=(0,L.useFlowViewContext)(),{data:n,loading:o}=(0,rB.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,O.jsx)(L.FlowModelRenderer,{model:n,fallback:(0,O.jsx)(rq,{style:{margin:16}})}):(0,O.jsx)(rq,{style:{margin:16}})}function uL(e){let{model:t}=e,l=(0,L.useFlowViewContext)(),{Header:n,Footer:o,type:r}=l.view;return(0,O.jsxs)("div",{children:[(0,O.jsx)(n,{title:"dialog"===r?(0,O.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,O.jsx)(uq,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,O.jsx)(o,{children:"dialog"===r?(0,O.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,O.jsx)(eJ.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,O.jsx)(eJ.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class u_ extends dy.S0{getAclActionName(){return"update"}async associateSelectedRows(){await uO(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),this.defaultPopupTitle=(0,L.tExpr)("Select record"),this.selectedRows=[],this.defaultProps={title:(0,L.tExpr)("Associate"),icon:"LinkOutlined"}}}u_.scene=dy.s5.collection,u_.capabilityActionName="update",u_.define({label:(0,L.tExpr)("Associate"),sort:15,hide:e=>!uE(e)}),u_.registerFlow({key:"associateSettings",title:(0,L.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,n,o;let r=uN(e),i=(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:i,width:s[i][a],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:r.dataSourceKey,collectionName:r.collectionName,...uD(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,O.jsx)(uL,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===i?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});class uV extends dy.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={title:(0,L.tExpr)("Delete"),icon:"DeleteOutlined"}}}uV.scene=dy.s5.collection,uV.capabilityActionName="destroyMany",uV.define({label:(0,L.tExpr)("Delete")}),uV.registerFlow({key:"deleteSettings",title:(0,L.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,L.tExpr)("Delete record"),content:(0,L.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 uz extends dy.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,L.tExpr)("Delete"),icon:"DeleteOutlined"}}}uz.scene=dy.s5.record,uz.define({label:(0,L.tExpr)("Delete"),sort:60}),uz.registerFlow({key:"deleteSettings",title:(0,L.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,L.tExpr)("Delete record"),content:(0,L.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 uK extends dy.S0{getAclActionName(){return"update"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,L.tExpr)("Disassociate"),icon:"DisconnectOutlined"}}}uK.scene=dy.s5.record,uK.capabilityActionName="update",uK.define({label:(0,L.tExpr)("Disassociate"),sort:65,hide:e=>!uE(e)}),uK.registerFlow({key:"disassociateSettings",title:(0,L.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,L.tExpr)("Disassociate record"),content:(0,L.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await uB(e)}}}});class uU extends uj{getAclActionName(){return"update"}constructor(...e){super(...e),this.defaultPopupTitle=(0,L.tExpr)("Edit"),this.defaultProps={title:(0,L.tExpr)("Edit"),icon:"EditOutlined"}}}uU.scene=dy.s5.record,uU.define({label:(0,L.tExpr)("Edit"),sort:20});var uW=l(94384),uH=l(68669);class uG extends dy.S0{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=uJ(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(L.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,O.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,O.jsx)(uH.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,O.jsx)(so.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),(0,O.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,O.jsx)(lz.A,{open:this.props.open,content:(0,O.jsx)(uH.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,O.jsx)(so.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),trigger:"click",placement:"bottomLeft",onOpenChange:e=>{!1===e&&this.setProps("open",void 0)},children:super.render()})}constructor(...e){super(...e),this.map=new WeakMap,this.defaultProps={type:"default",title:(0,L.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}}}}function uY(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,eR.w6)(e.interface,...n);return!!(null==t?void 0:t.filterable)})}function uJ(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}uG.scene="collection",uG.define({label:(0,L.tExpr)("Filter"),toggleable:!0,sort:5}),uG.registerFlow({key:"filterSettings",title:(0,L.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,L.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,L.useFlowSettingsContext)(),n=uY(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,O.jsx)(uW.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,r;return{filterableFieldNames:uY(e.blockModel.collection,null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager,null==(r=e.model)||null==(o=r.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,L.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,L.useFlowSettingsContext)();return(0,O.jsx)(so.I8,{value:e.value||{},FilterItem:e=>(0,O.jsx)(so.Et,{...e,model:t,maxAssociationFieldDepth:2})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",V().cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",V().cloneDeep(t.defaultFilter))}}}}),uG.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,ed.transformFilter)(e.model.props.filterValue),r=!(0,ed.isEmptyFilter)(o);l.setFilterActive(e.model.uid,r),r?(n.addFilterGroup(e.model.uid,o),n.setPage(1)):n.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||r||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)}}}}),uG.registerFlow({key:"resetSettings",title:(0,L.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(),r=e.model.props.defaultFilterValue,i=!(0,ed.isEmptyFilter)((0,ed.transformFilter)(r));"manual"!==o||i||l.hasActiveFilters()?(i&&(n.addFilterGroup(e.model.uid,(0,ed.transformFilter)(r)),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",V().cloneDeep(r))}}}}),uG.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var uX=l(89378);function uQ(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 uZ extends dy.S0{constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,L.tExpr)("JS action"),icon:"JavaScriptOutlined"}}}uZ.define({label:(0,L.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),uZ.registerFlow({key:"clickSettings",on:"click",title:(0,L.tExpr)("Click settings"),steps:{runJs:{title:(0,L.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":uX.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:`
443
+ `,ru={token:{colorSplit:"rgba(255, 255, 255, 0.1)"}};function rc(e,t){return e.map((e,t)=>({action:e,index:t})).filter(e=>{let{action:l}=e;return!l.isHidden()&&(!l.aclSnippet||t(l.aclSnippet))}).sort((e,t)=>(e.action.sort||0)!==(t.action.sort||0)?(e.action.sort||0)-(t.action.sort||0):e.index-t.index).map(e=>{let{action:t}=e;return t})}let rp=e=>({"--nb-topbar-action-color":e.colorTextHeaderMenu||"rgba(255, 255, 255, 0.65)","--nb-topbar-action-hover-bg":e.colorBgHeaderMenuHover||"rgba(255, 255, 255, 0.1)"}),rm=()=>null,rh=e=>"function"==typeof(null==e?void 0:e.getActionId)?e.getActionId():(null==e?void 0:e.actionId)||(null==e?void 0:e.uid)||"",rf=P.memo(e=>{let{allow:t}=(0,ra.K)(),{token:l}=ee.A.useToken(),n=l,o=(0,P.useMemo)(()=>rc(e.actions,t),[t,e.actions]),r=o.filter(e=>rh(e)!==oh),i=o.find(e=>rh(e)===oh);return(0,O.jsxs)("div",{className:rs,style:rp(n),children:[(0,O.jsx)("div",{className:"nb-topbar-actions-list",onClick:e.onActionClick,children:r.map(e=>(0,O.jsx)(U.tH,{FallbackComponent:rm,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,O.jsx)(L.FlowModelRenderer,{model:e})},e.uid))}),(0,O.jsx)(et.Ay,{theme:ru,children:(0,O.jsx)(nm.A,{type:"vertical"})}),(0,O.jsx)(nj,{}),i?(0,O.jsx)(U.tH,{FallbackComponent:rm,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,O.jsx)(L.FlowModelRenderer,{model:i})},i.uid):null]})});rf.displayName="TopbarActionsContent";let rg=P.memo(e=>{let{token:t}=ee.A.useToken(),l=t,[n,o]=(0,P.useState)(!1),r=(0,P.useCallback)(()=>{o(!1)},[]);return e.isMobile?(0,O.jsx)(lz.A,{rootClassName:rd,content:(0,O.jsx)(rf,{actions:e.actions,onActionClick:r}),color:l.colorBgHeader,trigger:"click",open:n,onOpenChange:o,children:(0,O.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,O.jsx)(lV.A,{style:{color:l.colorTextHeaderMenu,fontSize:20}})})}):(0,O.jsx)(rf,{actions:e.actions})});rg.displayName="TopbarActionsBar";let rv=e=>{let{children:t,model:l}=e,n=(0,L.useFlowEngine)(),o=(0,Y.n)(),r=(0,H.useNavigate)(),i=(0,H.useLocation)(),a=(0,H.useMatches)(),[s,d]=(0,P.useState)(!1),u=(0,P.useRef)(!1),c=n.context.routeRepository,p=null==l?void 0:l.layout,m=null==p?void 0:p.uid,h=null==p?void 0:p.routeName,f=null==p?void 0:p.routePath,g=null==p?void 0:p.authCheck,v=(0,P.useMemo)(()=>{if(m||h||f||void 0!==g)return{authCheck:g,routeName:h,routePath:f||"",uid:m}},[g,h,f,m]),y=tb(v),x=(null==v?void 0:v.routeName)||"admin",b=(0,P.useMemo)(()=>({routePath:y}),[y]),w=(0,P.useMemo)(()=>tF(i.pathname,o.router.getBasename())===y,[o,y,i.pathname]),S=(0,P.useMemo)(()=>{var e,t;let l=a[a.length-1];if(!eO(x,null==l?void 0:l.id))return"";let n=a.find(e=>e.id===x);return(null==(e=l.params)?void 0:e.name)||(null==(t=(0,L.parsePathnameToViewParams)(i.pathname,{basePath:(null==n?void 0:n.pathname)||y})[0])?void 0:t.viewUid)||""},[x,y,i.pathname,a]);return((0,P.useEffect)(()=>{u.current=!1},[i.pathname,i.search,i.hash,S]),(0,P.useEffect)(()=>{var e;let t=!0,l=null==c||null==(e=c.activateLayout)?void 0:e.call(c,v);return(async()=>{var e,l,n,i,a;if(d(!1),!w&&!S){t&&d(!0);return}if(!(null==c||null==(e=c.isAccessibleLoaded)?void 0:e.call(c)))try{await (null==c||null==(n=c.ensureAccessibleLoaded)?void 0:n.call(c))}catch(e){t&&d(!0);return}if(!t||u.current)return;if(S){let e=null==c||null==(i=c.getRouteBySchemaUid)?void 0:i.call(c,S);if((null==e?void 0:e.type)===eR.q2.page){let t=tN({app:o,route:e,layout:b,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===t.navigationMode&&t.runtimePath){u.current=!0,window.location.replace(t.runtimePath);return}}let l=e||null==c||null==(a=c.getRouteById)?void 0:a.call(c,S);if(!e&&(null==l?void 0:l.type)===eR.q2.group){let e=tN({app:o,route:l,layout:b});if(e.runtimePath)return(u.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):r(tF(e.runtimePath,o.router.getBasename()),{replace:!0})}t&&d(!0);return}let s=tT((null==c||null==(l=c.listAccessible)?void 0:l.call(c))||[]);if(!s){t&&d(!0);return}let p=tN({app:o,route:s,layout:b});if(!p.runtimePath){t&&d(!0);return}(u.current=!0,"document"===p.navigationMode)?window.location.replace(p.runtimePath):r(tF(p.runtimePath,o.router.getBasename()),{replace:!0})})(),()=>{t=!1,null==l||l()}},[o,n,w,v,b,i.hash,i.pathname,i.search,r,S,c]),s)?(0,O.jsx)(O.Fragment,{children:t}):null};class ry extends eH{refreshMenuRouteTree(){this.menuRouteRefreshVersion+=1}syncMenuRoutes(e){lP(this,Array.isArray(e)?e:[])}toProLayoutRoute(e){let t=(this.subModels.menuItems||[]).map(t=>t.toProLayoutRoute({...e,depth:0})).filter(Boolean)||[];return e.designable&&(e.isMobile?t.push(lB("schema-initializer-Menu-header",this)):t.unshift(lB("schema-initializer-Menu-header",this))),{path:"/",children:t}}createRouteCoordinator(){return new tD(this.flowEngine,this.getRouteCoordinatorOptions())}render(){return(0,O.jsx)(rv,{model:this,children:(0,O.jsx)(ri,{...this.props,model:this})})}constructor(e){super(e),this.menuRouteRefreshVersion=0,(0,q.define)(this,{menuRouteRefreshVersion:q.observable.ref})}}function rx(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eG(e,t$,{...t,use:t.use||ry});if(!l&&t.required)throw Error("[NocoBase] FlowRoute requires admin-layout-model. Please render FlowRoute under AdminLayout.");return l}function rb(e){let{flowEngine:t,pageUid:l,active:n,refreshDesktopRoutes:o,layoutContentRef:r,getLayoutModel:i}=e,a=i(t),s=(0,P.useRef)(n),d=(0,P.useRef)(o);if(!a)throw Error("[NocoBase] FlowRoute requires layout model. Please render FlowRoute under Layout.");return s.current=n,d.current=o,(0,P.useEffect)(()=>(a.registerRoutePage(l,{active:s.current??!1,refreshDesktopRoutes:d.current,layoutContentElement:r.current}),()=>{a.unregisterRoutePage(l)}),[a,l,r]),(0,P.useEffect)(()=>{a.updateRoutePage(l,{active:n,refreshDesktopRoutes:o,layoutContentElement:r.current})},[n,a,l,o,r]),a}ry.registerFlow({key:"topbarAction",steps:{step1:{handler:async(e,t)=>{let l=[...(await e.engine.getSubclassesOfAsync("TopbarActionModel")).keys()].map(t=>{let l=e.engine.createModel({use:t,uid:`topbar-action-${t}`});return l.setParent(e.model),l});e.model.props.actionsRender=e=>[(0,O.jsx)(rg,{actions:l,isMobile:null==e?void 0:e.isMobile},"topbar-actions")]}}}});var rw=l(10159);let rS=e=>{e.context.defineProperty("deviceType",{get:()=>"browser"===rw.deviceType?"computer":rw.deviceType,cache:!1,meta:{type:"string",title:e.translate("Current device type"),interface:"select",uiSchema:{enum:[{label:e.translate("Computer"),value:"computer"},{label:e.translate("Mobile"),value:"mobile"},{label:e.translate("Tablet"),value:"tablet"},{label:e.translate("SmartTv"),value:"smarttv"},{label:e.translate("Console"),value:"console"},{label:e.translate("Wearable"),value:"wearable"},{label:e.translate("Embedded"),value:"embedded"}],"x-component":"Select"}},info:{description:"Current device type (computer/mobile/tablet/...).",detail:"string"}})},rC=e=>rx(e,{required:!0}),rF=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.uid)?eG(e,l.uid,{required:!0}):rC(e)},rk=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.routeName)&&"admin"!==l.routeName?"notFound":"redirect"},rA=e=>(null==e?void 0:e.authCheck)!==!1,rP=(e,t)=>{if(Array.isArray(e))for(let l of e){if(l.type!==eR.q2.group&&l.schemaUid===t||l.type===eR.q2.group&&null!=l.id&&String(l.id)===t)return l;let e=rP(l.children,t);if(e)return e}},rM=(e,t)=>{var l,n;let o=null==e||null==(l=e.getRouteBySchemaUid)?void 0:l.call(e,t);return o&&o.type!==eR.q2.group?o:rP(null==e||null==(n=e.listAccessible)?void 0:n.call(e),t)},rj=async(e,t)=>{var l;if(e.getModel(t))return!0;let n=await (null==(l=e.modelRepository)?void 0:l.findOne({uid:t}).catch(()=>null));if(null==n?void 0:n.uid)return!0;let o=await e.loadModel({uid:t}).catch(()=>null);return o&&e.getModel(t)===o&&e.removeModelWithSubModels(t),!!o},rI=e=>{let{pageUid:t,active:l,getLayoutModel:n}=e,o=(0,L.useFlowEngine)(),{active:r}=(0,no.Y)(),i=o.context.routeRepository,a=P.useMemo(()=>null==i?void 0:i.refreshAccessible.bind(i),[i]),s=(0,P.useRef)(null);return(0,P.useEffect)(()=>{o.context.getPropertyOptions("deviceType")||rS(o)},[o]),rb({flowEngine:o,pageUid:t,active:l??r,refreshDesktopRoutes:a,layoutContentRef:s,getLayoutModel:n}),(0,O.jsx)("div",{ref:s})},rT=(e,t)=>{let l=e.getPublicPath(),n=window.location.pathname.startsWith(l)?window.location:t,o=n.pathname.startsWith(l)?n.pathname.slice(l.length):n.pathname.replace(/^\/+/,"");return`${tn(l)}${o}${n.search}${n.hash}`},rR=e=>{let{app:t,location:l}=e,{t:n}=(0,eX.B)(),o=`/${tl()}/`,r=e=>e.replaceAll("{{modernClientPath}}",o);return(0,O.jsx)(eY.Ay,{status:"warning",title:r(n("This page is not supported in the {{modernClientPath}} branch")),subTitle:r(n("The {{modernClientPath}} branch only supports new pages. This page is a legacy page. Please open it from the original entry.")),extra:(0,O.jsx)(eJ.Ay,{href:rT(t,l),type:"primary",children:n("Open from the original entry")})})},rE=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{active:t,getLayoutModel:l,legacyPageBehavior:n,pageUid:o}=e,r=(0,L.useFlowEngine)(),i=(0,L.useFlowContext)(),a=null==i?void 0:i.layout,s=(0,P.useMemo)(()=>null==l?void 0:l(r),[r,l]),d=a||(null==s?void 0:s.layout),u=null==d?void 0:d.uid,c=null==d?void 0:d.routeName,p=null==d?void 0:d.routePath,m=null==d?void 0:d.authCheck,h=(0,P.useMemo)(()=>{if(u||c||p||void 0!==m)return{authCheck:m,routeName:c,routePath:p,uid:u}},[m,c,p,u]),f=(0,P.useMemo)(()=>l||(e=>rF(e,h)),[l,h]),g=n||rk(r,h),v=(0,Y.n)(),y=(0,H.useLocation)(),x=(0,H.useNavigate)(),b=r.context.routeRepository,w=(0,H.useParams)(),S=o||(null==w?void 0:w.name),C=void 0!==(null==w?void 0:w.tabUid)||void 0!==(null==w?void 0:w["*"]),F=!b,[k,A]=(0,P.useState)({pageUid:void 0,pending:!0,allowBridge:!1,notFound:!1}),M=(0,P.useRef)(!1),j=(0,P.useRef)(0);if(!S)throw Error("[NocoBase] FlowRoute requires pageUid or route.params.name.");return(0,P.useEffect)(()=>{M.current=!1},[y.hash,y.pathname,y.search,S]),(0,P.useEffect)(()=>{let e=!0,t=++j.current,l=rA(h);return(async()=>{var n,o,i,a;if(A({pageUid:S,pending:!0,allowBridge:!1,notFound:!1}),l&&!F&&!(null==b||null==(n=b.isAccessibleLoaded)?void 0:n.call(b)))try{await (null==b||null==(o=b.ensureAccessibleLoaded)?void 0:o.call(b))}catch(l){e&&t===j.current&&A({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});return}if(!e||t!==j.current)return;let s=F||!l?void 0:rM(b,S);if(!s&&!F&&l)return A({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if(!s&&"notFound"===g){let l=await rj(r,S);e&&t===j.current&&A({pageUid:S,pending:!1,allowBridge:l,notFound:!l});return}if((null==s?void 0:s.type)===eR.q2.group){if(C)return A({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});let e=tN({app:v,route:s,layout:h});return"emptyGroup"===e.reason?A({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):e.runtimePath?M.current?A({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):(M.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):x(tF(e.runtimePath,null==(a=v.router)||null==(i=a.getBasename)?void 0:i.call(a)),{replace:!0}):A({pageUid:S,pending:!1,allowBridge:!1,notFound:!0})}if((null==s?void 0:s.type)===eR.q2.page){if("notFound"===g)return A({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if("bridge"===g)return A({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});let l=tN({app:v,route:s,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===l.navigationMode&&l.runtimePath&&!M.current){M.current=!0,window.location.replace(l.runtimePath);return}if("unsupportedV2Runtime"===l.reason){e&&t===j.current&&A({pageUid:S,pending:!1,allowBridge:!1,notFound:!1,legacyPageUnsupported:!0});return}}e&&t===j.current&&A({pageUid:S,pending:!1,allowBridge:!0,notFound:!1})})(),()=>{e=!1}},[v,r,C,g,x,S,h,b,F]),(0,P.useMemo)(()=>k.pageUid!==S||k.pending?null:k.notFound?(0,O.jsx)(em.bM,{}):k.legacyPageUnsupported?(0,O.jsx)(rR,{app:v,location:y}):k.allowBridge?(0,O.jsx)(rI,{pageUid:S,active:t,getLayoutModel:f}):null,[t,v,f,k.allowBridge,k.legacyPageUnsupported,k.notFound,k.pageUid,k.pending,y,S])};rE.displayName="FlowRoute";let rN=rE,rD=e=>e.current,r$=e=>{let{layoutRouteName:t}=e,l=(0,Y.n)(),n=(0,L.useFlowEngine)(),o=l.layoutManager.getLayout(t),r=(0,H.useLocation)(),i=(0,H.useMatches)(),a=eG(n,o.uid,{required:!0}),s="admin"===o.routeName?"redirect":"notFound",d=(0,P.useRef)(0),u=(0,P.useMemo)(()=>{let e=i[i.length-1],t=i.find(e=>e.id===o.routeName);return{id:null==e?void 0:e.id,name:null==e?void 0:e.id,pathname:r.pathname,state:r.state,params:(null==e?void 0:e.params)||{},layoutRouteName:o.routeName,layoutBasePathname:null==t?void 0:t.pathname}},[o.routeName,r.pathname,r.state,i]);if(!a)throw Error(`[NocoBase] Layout '${o.routeName}' model '${o.uid}' is not mounted.`);let c=a.resolveLayoutRoute(u),p=(0,P.useMemo)(()=>e=>eG(e,o.uid,{required:!0}),[o.uid]);return((0,P.useEffect)(()=>{let e=++d.current;return a.syncLayoutRoute(u),()=>{Promise.resolve().then(()=>{rD(d)===e&&a.clearLayoutRoute(u)}).catch(()=>{})}},[a,u]),"root"===c.type)?null:"notFound"===c.type?(0,O.jsx)(em.bM,{}):(0,O.jsx)(rN,{pageUid:c.pageUid,getLayoutModel:p,legacyPageBehavior:s})};l(42196);var rB=l(66466),rO=l(42441);function rq(e){return(0,O.jsx)(oB.A,{...e,children:(0,O.jsx)(rO.A,{paragraph:{rows:3}})})}let rL=e=>e.current;function r_(e){return e===eH||(0,L.isInheritedFrom)(e,eH)}function rV(e,t){if(!(e instanceof eH))throw Error(`[NocoBase] Layout '${t.routeName}' requires model '${t.uid}' to be an instance of BaseLayoutModel.`)}async function rz(e,t){let l=await e.getModelClassAsync(t.layoutModelClass);if(!l)throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' is not registered.`);if(!r_(l))throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' must extend BaseLayoutModel.`)}let rK=e=>{let{layoutRouteName:t}=e,l=(0,Y.n)(),n=(0,L.useFlowEngine)(),o=l.layoutManager.getLayout(t),r=(0,H.useLocation)(),i=(0,H.useMatches)(),a=i[i.length-1],s=i.find(e=>e.id===o.routeName),d=JSON.stringify((null==a?void 0:a.params)||{}),u=(0,P.useMemo)(()=>JSON.parse(d),[d]),c=(0,P.useRef)(0),p=(0,P.useMemo)(()=>({id:null==a?void 0:a.id,name:null==a?void 0:a.id,pathname:r.pathname,state:r.state,params:u,layoutRouteName:o.routeName,layoutBasePathname:null==s?void 0:s.pathname}),[null==a?void 0:a.id,u,o.routeName,null==s?void 0:s.pathname,r.pathname,r.state]),{loading:m,data:h,error:f}=(0,rB.A)(async()=>{let e=n.getModel(o.uid);if(e)return rV(e,o),e.setProps({layout:o}),e;await rz(n,o);let t=await n.createModelAsync({uid:o.uid,use:o.layoutModelClass,props:{layout:o}});return rV(t,o),t},{refreshDeps:[n,o]});if((0,P.useEffect)(()=>{if(!h)return;let e=++c.current;return h.syncLayoutRoute(p),()=>{Promise.resolve().then(()=>{rL(c)===e&&h.clearLayoutRoute(p)}).catch(()=>{})}},[h,p]),f)throw f;return m||!h?(0,O.jsx)(rq,{style:{margin:16}}):(0,O.jsx)(L.FlowModelRenderer,{model:h})},rU="RootPageModel",rW="ChildPageModel",rH=(e,t)=>{if("string"!=typeof e||""===e.trim())throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a non-empty string.`)},rG=(e,t)=>{if("string"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a string.`)},rY=(e,t)=>{void 0!==e&&rH(e,t)},rJ=(e,t)=>{if(void 0!==e&&"boolean"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a boolean.`)};function rX(e){if(e.includes("..")||e.startsWith(".")||e.endsWith("."))throw Error(`[NocoBase] layoutManager.registerLayout() received invalid routeName '${e}'.`)}function rQ(e,t){let l=t.trim(),n=e.includes(".");if(n&&l.startsWith("/"))throw Error(`[NocoBase] nested layout routePath '${t}' must be relative.`);let o=n?l.replace(/^\/+/,"").replace(/\/+$/,""):`/${l.replace(/^\/+/,"").replace(/\/+$/,"")}`;if(!n&&(!o||"/"===o))throw Error("[NocoBase] layoutManager.registerLayout() does not support root routePath '/'.");if(o.includes("*"))throw Error(`[NocoBase] layoutManager.registerLayout() does not support wildcard routePath '${t}'.`);return o}function rZ(e){rH(e.routeName,"routeName"),rG(e.routePath,"routePath"),rH(e.uid,"uid"),rH(e.layoutModelClass,"layoutModelClass"),rY(e.rootPageModelClass,"rootPageModelClass"),rY(e.childPageModelClass,"childPageModelClass"),rJ(e.authCheck,"authCheck"),rX(e.routeName);let t=rQ(e.routeName,e.routePath);return{routeName:e.routeName,rootRouteName:e.routeName.split(".")[0],routePath:t,uid:e.uid,layoutModelClass:e.layoutModelClass,rootPageModelClass:e.rootPageModelClass||rU,childPageModelClass:e.childPageModelClass||rW,authCheck:e.authCheck??!0}}class r0{registerLayout(e){let t=rZ(e);if(this.layouts.has(t.routeName))throw Error(`[NocoBase] Layout '${t.routeName}' has already been registered.`);let l=this.uidIndex.get(t.uid);if(l)throw Error(`[NocoBase] Layout uid '${t.uid}' has already been registered by '${l}'.`);return this.layouts.set(t.routeName,t),this.uidIndex.set(t.uid,t.routeName),this.addStandardRoutes(t),t}getLayout(e){let t=this.layouts.get(e);if(!t)throw Error(`[NocoBase] Layout '${e}' is not registered.`);return t}hasLayout(e){return this.layouts.has(e)}listLayouts(){return Array.from(this.layouts.values())}addStandardRoutes(e){let t=e.routeName,l=e.authCheck,n=!1===l;this.app.router.add(t,{path:e.routePath,authCheck:l,skipAuthCheck:n,element:(0,O.jsx)(rK,{layoutRouteName:e.routeName})}),this.app.router.add(eE(t),{path:":name",authCheck:l,skipAuthCheck:n,element:(0,O.jsx)(r$,{layoutRouteName:e.routeName})}),this.app.router.add(eN(t),{path:":name/tab/:tabUid",authCheck:l,skipAuthCheck:n,element:(0,O.jsx)(r$,{layoutRouteName:e.routeName})}),this.app.router.add(eD(t),{path:":name/view/*",authCheck:l,skipAuthCheck:n,element:(0,O.jsx)(r$,{layoutRouteName:e.routeName})}),this.app.router.add(e$(t),{path:":name/tab/:tabUid/view/*",authCheck:l,skipAuthCheck:n,element:(0,O.jsx)(r$,{layoutRouteName:e.routeName})})}constructor(e){this.layouts=new Map,this.uidIndex=new Map,this.app=e}}class r1{activateLayout(e){let t=this.normalizeLayoutUid(null==e?void 0:e.uid),l=Symbol("route-layout");return this.layoutActivations.push({token:l,uid:t}),this.syncRoutesProperty(),()=>{let e=this.layoutActivations.findIndex(e=>e.token===l);e>=0&&this.layoutActivations.splice(e,1),this.syncRoutesProperty()}}setRoutes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getCurrentLayoutUid(),l=this.getRouteCache(t);l.routes=e,l.accessibleLoaded=!0,t===this.getCurrentLayoutUid()&&(this.routes=e),this.emitChange(t)}listAccessible(){let e=this.getRouteCache(this.getReadableLayoutUid()).routes;return this.routes=e,e}isAccessibleLoaded(){return this.getRouteCache().accessibleLoaded}async refreshAccessible(){let e=this.getCurrentLayoutUid();return this.refreshAccessibleByLayout(e)}async refreshAccessibleByLayout(e){var t;let l=this.nextRefreshRequestId(e),n=await this.getAPIClient().request({url:"/desktopRoutes:listAccessible",params:{tree:!0,sort:"sort",layout:e}}),o=(null==n||null==(t=n.data)?void 0:t.data)||[];return l===this.getRefreshRequestId(e)&&this.setRoutes(o,e),o}async ensureAccessibleLoaded(){let e=this.getCurrentLayoutUid(),t=this.getRouteCache(e);if(t.accessibleLoaded)return this.routes=t.routes,t.routes;let l=this.accessibleLoadingPromises.get(e);if(l)return l;let n=this.refreshAccessibleByLayout(e).finally(()=>{this.accessibleLoadingPromises.get(e)===n&&this.accessibleLoadingPromises.delete(e)});return this.accessibleLoadingPromises.set(e,n),n}subscribe(e){return this.subscribers.set(e,this.getCurrentLayoutUid()),()=>{this.subscribers.delete(e)}}unsubscribe(e){this.subscribers.delete(e)}async createRoute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshAfterMutation:l=!0}=t,n=await this.getResource("desktopRoutes").create({values:e,layout:this.getCurrentLayoutUid()});return l&&await this.refreshAccessible(),n}async updateRoute(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{refreshAfterMutation:n=!0}=l,o=await this.getResource("desktopRoutes").update(Array.isArray(e)?{filter:{id:{$in:e}},values:t}:{filterByTk:e,values:t});return n&&await this.refreshAccessible(),o}async deleteRoute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshAfterMutation:l=!0}=t,n=await this.getResource("desktopRoutes").destroy({filterByTk:e});return l&&await this.refreshAccessible(),n}async moveRoute(e){let{refreshAfterMove:t=!0,...l}=e,n=await this.getResource("desktopRoutes").move(l);return t&&await this.refreshAccessible(),n}getRouteBySchemaUid(e){return this.findRoute(this.listAccessible(),e)}getRouteById(e){return this.findRouteById(this.listAccessible(),e)}getAPIClient(){var e;if(!(null==(e=this.ctx)?void 0:e.api))throw Error("[NocoBase] RouteRepository requires context.api.");return this.ctx.api}getResource(e){return this.getAPIClient().resource(e)}emitChange(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid();this.subscribers.forEach((t,l)=>{if(t!==e)return;let n=this.notifiedLayoutUid;this.notifiedLayoutUid=e;try{l()}finally{this.notifiedLayoutUid=n}})}getCurrentLayoutUid(){var e;return(null==(e=this.layoutActivations[this.layoutActivations.length-1])?void 0:e.uid)||t$}normalizeLayoutUid(e){return"string"==typeof e&&e.trim()?e:t$}getReadableLayoutUid(){return this.notifiedLayoutUid||this.getCurrentLayoutUid()}getRouteCache(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid(),t=this.routeCaches.get(e);return t||(t={accessibleLoaded:!1,routes:[]},this.routeCaches.set(e,t)),t}syncRoutesProperty(){this.routes=this.getRouteCache().routes}nextRefreshRequestId(e){let t=this.getRefreshRequestId(e)+1;return this.refreshRequestIds.set(e,t),t}getRefreshRequestId(e){return this.refreshRequestIds.get(e)||0}findRoute(e,t){for(let l of e){if(l.schemaUid===t)return l;if(l.children){let e=this.findRoute(l.children,t);if(e)return e}}}findRouteById(e,t){for(let l of e){if(null!=l.id&&String(l.id)===String(t))return l;if(l.children){let e=this.findRouteById(l.children,t);if(e)return e}}}constructor(e){this.ctx=e,this.routes=[],this.subscribers=new Map,this.accessibleLoadingPromises=new Map,this.layoutActivations=[],this.routeCaches=new Map,this.refreshRequestIds=new Map}}class r2{getURL(){if(!this.app)return;let e=this.app.getApiUrl();if(!e)return;let t="";if(this.getSubAppName(this.app))t=`?_app=${this.getSubAppName(this.app)}`;else{let e=(0,A.getSubAppName)(this.app.getPublicPath());t=e?`?__appName=${e}`:""}let l=this.options.basename||"/ws";if(this.options.url){let e=new URL(this.options.url);if("localhost"===e.hostname){let n="https:"===location.protocol?"wss":"ws";return`${n}://${location.hostname}:${e.port}${l}${t}`}return`${this.options.url}${t}`}try{let n=new URL(e);return`${"https:"===n.protocol?"wss":"ws"}://${n.host}${l}${t}`}catch(e){return`${"https:"===location.protocol?"wss":"ws"}://${location.host}${l}${t}`}}get reconnectAttempts(){var e;return(null==(e=this.options)?void 0:e.reconnectAttempts)||30}get reconnectInterval(){var e;return(null==(e=this.options)?void 0:e.reconnectInterval)||1e3}get pingInterval(){var e;return(null==(e=this.options)?void 0:e.pingInterval)||3e5}get readyState(){return this._ws?this._ws.readyState:-1}createWebSocket(){return new WebSocket(this.getURL(),this.options.protocols)}connect(){let e;if(!this.enabled||(0===this._reconnectTimes&&console.log("[nocobase-ws]: connecting..."),this._reconnectTimes>=this.reconnectAttempts||this.readyState===WebSocket.OPEN))return;this._reconnectTimes++;let t=this.createWebSocket();t.onopen=()=>{for(let{type:e,listener:l,options:n}of(console.log("[nocobase-ws]: connected."),this.serverDown=!1,this._ws&&this.removeAllListeners(),this._reconnectTimes=0,this._ws=t,this.events))this._ws.addEventListener(e,l,n);e=setInterval(()=>this.send("ping"),this.pingInterval),this.connected=!0,this.emit("open",{})},t.onerror=async()=>{console.log("onerror",this.readyState,this._reconnectTimes)},t.onclose=async t=>{setTimeout(()=>this.connect(),this.reconnectInterval),console.log("onclose",this.readyState,this._reconnectTimes,this.serverDown),this.connected=!1,clearInterval(e)}}reconnect(){this._reconnectTimes=0,this.connect()}close(){if(this._ws)return this._reconnectTimes=this.reconnectAttempts,this._ws.close()}send(e){if(this._ws)return this._ws.send(e)}on(e,t,l){this.events.push({type:e,listener:t,options:l}),this._ws&&this._ws.addEventListener(e,t,l)}emit(e,t){for(let l of this.events)l.type===e&&l.listener(t)}off(e,t,l){let n=0;for(let l of this.events){if(l.type===e&&l.listener===t){this.events.splice(n,1);break}n++}this._ws&&this._ws.removeEventListener(e,t,l)}removeAllListeners(){if(this._ws)for(let{type:e,listener:t,options:l}of this.events)this._ws.removeEventListener(e,t,l)}constructor(e){if(this._reconnectTimes=0,this.events=[],this.connected=!1,this.serverDown=!1,this.lastMessage={},this.getSubAppName=e=>{let t=e.getPublicPath(),l=`^${t}_app/([^/]*)/`,n=location.pathname.match(new RegExp(l));return n?n[1]:null},!e){this.enabled=!1;return}this.options=!0===e?{}:e,this.enabled=!0,(0,q.define)(this,{serverDown:q.observable.ref,connected:q.observable.ref,lastMessage:q.observable.ref})}}function r8(){function e(e){for(var t=[],l=0,n=e.length;l<n;l++)-1===t.indexOf(e[l])&&t.push(e[l]);return t}function t(e,t){return JSON.stringify(e)===JSON.stringify(t)}Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var l={},n={$is:function(e,t){return e===t},$match:function(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.some(e=>Array.isArray(e))?e.some(e=>(null==e?void 0:e.length)===t.length&&(null==e?void 0:e.every((e,l)=>e===t[l]))):JSON.stringify(e)===JSON.stringify(t)},$eq:function(e,l){return Array.isArray(e)&&Array.isArray(l)?t(e,l):Array.isArray(e)?e.includes(l):e==l},$ne:function(e,t){return e!=t},"!==":function(e,t){return e!==t},$gt:function(e,t){return Array.isArray(e)?e.some(e=>e>t):e>t},$gte:function(e,t){return e>=t},$lt:function(e,t,l){return Array.isArray(e)?e.some(e=>e<t):void 0===l?e<t:e<t&&t<l},$lte:function(e,t,l){return void 0===l?e<=t:e<=t&&t<=l},$exists:function(e){return l.truthy(e)},$notEmpty:function(e){return!n.$empty(e)},$empty:function(e){return Array.isArray(e)||"string"==typeof e?0===e.length:null==e},$notExists:function(e){return!l.truthy(e)},"%":function(e,t){return e%t},log:function(e){return e},$in:function(e,t){return!!t&&void 0!==t.indexOf&&(Array.isArray(e)&&Array.isArray(t)?t.some(t=>e.includes(t)):-1!==t.indexOf(e))},$notIn:function(e,t){return!!t&&void 0!==t.indexOf&&-1===t.indexOf(e)},$includes:function(e,t){return!!e&&void 0!==e.indexOf&&(Array.isArray(e)?e.some(e=>null==e?void 0:e.includes(t)):-1!==e.indexOf(t))},$notIncludes:function(e,t){return Array.isArray(e)?!e.some(e=>(e||"").includes(t)):!(e=e||"").includes(t)},$anyOf:function(e,t){return null!=e&&0!==e.length&&(Array.isArray(e)&&Array.isArray(t)&&e.some(e=>Array.isArray(e))?e.some(e=>e.some(e=>t.includes(e))):e.some(e=>t.includes(e)))},$noneOf:function(e,t){return!e||0===e.length||!t||0===t.length||(Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]),!t.some(t=>e.includes(t)))},$notMatch:function(e,t){if((null==e?void 0:e.length)!==(null==t?void 0:t.length))return!0;for(let l=0;l<((null==e?void 0:e.length)||0);l++)if((null==e?void 0:e[l])!==(null==t?void 0:t[l]))return!0;return!1},$dateOn:function(e,t){if(!e||!t)return!1;if(t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t))return n.$dateBetween(e,t);let l=r7(e),o=r7(t);return!!l&&!!o&&l.getTime()===o.getTime()},$dateBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=r7(e),n=r7(t);return!!l&&!!n&&l.getTime()<n.getTime()},$dateNotBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=r7(e),n=r7(t);if(!l||!n)throw Error("Invalid date format");return l.getTime()>=n.getTime()},$dateAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=r7(e),n=r7(t);return l.getTime()>n.getTime()},$dateNotAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=r7(e),n=r7(t);if(!l||!n)throw Error("Invalid date format");return l.getTime()<=n.getTime()},$dateBetween:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ed.getDayRangeByParams)(t));let l=r7(e),n=r6(t[0]),o=r6(t[1]);if(!l||!n||!o)throw Error("Invalid date format");return l.getTime()>=n.getTime()&&l.getTime()<=o.getTime()},$dateNotOn:function(e,t){if(!e||!t)return!1;if(t.type&&(t=(0,ed.getDayRangeByParams)(t)),Array.isArray(t))return!n.$dateBetween(e,t);let l=r7(e),o=r7(t);return l.getTime()!==o.getTime()},$isTruly:function(e){return Array.isArray(e)?e.some(e=>!0===e||1===e):!0===e||1===e},$isFalsy:function(e){return Array.isArray(e)?e.some(e=>!l.truthy(e)):!l.truthy(e)},cat:function(){return Array.prototype.join.call(arguments,"")},substr:function(e,t,l){if(l<0){var n=String(e).substr(t);return n.substr(0,n.length+l)}return String(e).substr(t,l)},"+":function(){return Array.prototype.reduce.call(arguments,function(e,t){return parseFloat(e,10)+parseFloat(t,10)},0)},"*":function(){return Array.prototype.reduce.call(arguments,function(e,t){return parseFloat(e,10)*parseFloat(t,10)})},"-":function(e,t){return void 0===t?-e:e-t},"/":function(e,t){return e/t},min:function(){return Math.min.apply(this,arguments)},max:function(){return Math.max.apply(this,arguments)},merge:function(){return Array.prototype.reduce.call(arguments,function(e,t){return e.concat(t)},[])},var:function(e,t){var l=void 0===t?null:t,n=this;if(void 0===e||""===e||null===e)return n;for(var o=String(e).split("."),r=0;r<o.length;r++)if(null==n||void 0===(n=n[o[r]]))return l;return n},missing:function(){for(var e=[],t=Array.isArray(arguments[0])?arguments[0]:arguments,n=0;n<t.length;n++){var o=t[n],r=l.apply({var:o},this);(null===r||""===r)&&e.push(o)}return e},missing_some:function(e,t){var n=l.apply({missing:t},this);return t.length-n.length>=e?[]:n}};return l.is_logic=function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&1===Object.keys(e).length&&!e.type},l.truthy=function(e){return(!Array.isArray(e)||0!==e.length)&&!!e},l.getOperator=function(e){return Object.keys(e)[0]},l.getValues=function(e){return e[l.getOperator(e)]},l.apply=function(e,t){if(Array.isArray(e))return e.map(function(e){return l.apply(e,t)});if(!l.is_logic(e))return e;var o,r,i,a,s,d=l.getOperator(e),u=e[d];if(Array.isArray(u)||(u=[u]),"if"===d||"?:"==d){for(o=0;o<u.length-1;o+=2)if(l.truthy(l.apply(u[o],t)))return l.apply(u[o+1],t);return u.length===o+1?l.apply(u[o],t):null}if("$and"===d){for(o=0;o<u.length&&(r=l.apply(u[o],t),l.truthy(r));o+=1);return r}if("or"===d){for(o=0;o<u.length&&(r=l.apply(u[o],t),!l.truthy(r));o+=1);return r}if("filter"===d)return(a=l.apply(u[0],t),i=u[1],Array.isArray(a))?a.filter(function(e){return l.truthy(l.apply(i,e))}):[];if("map"===d)return(a=l.apply(u[0],t),i=u[1],Array.isArray(a))?a.map(function(e){return l.apply(i,e)}):[];else if("reduce"===d)return(a=l.apply(u[0],t),i=u[1],s=void 0!==u[2]?u[2]:null,Array.isArray(a))?a.reduce(function(e,t){return l.apply(i,{current:t,accumulator:e})},s):s;else if("all"===d){if(a=l.apply(u[0],t),i=u[1],!Array.isArray(a)||!a.length)return!1;for(o=0;o<a.length;o+=1)if(!l.truthy(l.apply(i,a[o])))return!1;return!0}else if("none"===d){if(a=l.apply(u[0],t),i=u[1],!Array.isArray(a)||!a.length)return!0;for(o=0;o<a.length;o+=1)if(l.truthy(l.apply(i,a[o])))return!1;return!0}else if("some"===d){if(a=l.apply(u[0],t),i=u[1],!Array.isArray(a)||!a.length)return!1;for(o=0;o<a.length;o+=1)if(l.truthy(l.apply(i,a[o])))return!0;return!1}if(u=u.map(function(e){return l.apply(e,t)}),Object.prototype.hasOwnProperty.call(n,d)&&"function"==typeof n[d])return n[d].apply(t,u);if(d.indexOf(".")>0){var c=String(d).split("."),p=n;for(o=0;o<c.length;o++){if(!Object.prototype.hasOwnProperty.call(p,c[o]))throw Error("Unrecognized operation "+d+" (failed at "+c.slice(0,o+1).join(".")+")");p=p[c[o]]}return p.apply(t,u)}throw Error("Unrecognized operation "+d)},l.uses_data=function(t){var n=[];if(l.is_logic(t)){var o=l.getOperator(t),r=t[o];Array.isArray(r)||(r=[r]),"var"===o?n.push(r[0]):r.forEach(function(e){n.push.apply(n,l.uses_data(e))})}return e(n)},l.addOperation=function(e,t){n[e]=t},l.rmOperation=function(e){delete n[e]},l.rule_like=function(e,t){if(t===e||"@"===t)return!0;if("number"===t)return"number"==typeof e;if("string"===t)return"string"==typeof e;if("array"===t)return Array.isArray(e)&&!l.is_logic(e);if(l.is_logic(t)){if(l.is_logic(e)){var n=l.getOperator(t),o=l.getOperator(e);if("@"===n||n===o)return l.rule_like(l.get_values(e,!1),l.get_values(t,!1))}return!1}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var r=0;r<t.length;r+=1)if(!l.rule_like(e[r],t[r]))return!1;return!0}return!1},l}function r6(e){return new Date(e.includes("T")&&e.endsWith("Z")?e:e.includes(" ")?e.replace(" ","T"):`${e}T00:00:00`)}function r3(e){let[t,l]=e.split("-").map(Number);return new Date(t,l-1)}function r5(e){return new Date(parseInt(e.slice(0,4)),(parseInt(e.slice(5,6))-1)*3)}function r4(e){return new Date(parseInt(e),0)}function r7(e){let t=Array.isArray(e)?e[1]??e[0]:e;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(t))return new Date(t);if(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(t))return new Date(t.replace(" ","T"));if(/^\d{4}-\d{2}-\d{2}$/.test(t))return r6(t);if(/^\d{4}-\d{2}$/.test(t))return r3(t);if(/^\d{4}Q[1-4]$/.test(t))return r5(t);else if(/^\d{4}$/.test(t))return r4(t);return null}l(38263);var r9=l(42524),ie=l(18938),it=l(36194),il=l(52582),io=l(20419),ir=l(67838),ii=l(41893);l(86171),l(59056),l(19875);var ia=l(43886),is=l(5900),id=l(2543),iu=l.n(id);function ic(e,t){let l=t.split("."),n=e;for(let e=0;e<l.length&&null!=n;e++){let t=l[e],o=t.match(/^\d+$/);!Array.isArray(n)||o||n[t]||(n[t]=n.map(e=>e[t]).flat()),n=null==n?void 0:n[t]}}function ip(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=(0,id.cloneDeep)(l),o={},r={},i=0;return this(t.trim().replace(/{{\s*([\w$.-]+)\s*}}/g,(t,l)=>{if(l.startsWith("this."))return`{{${l}}}`;ic(n,l);let a=(0,id.get)(n,l)??null;"function"==typeof a&&(a=a());let s=r[l];return s||(s=`$$${i++}`,r[l]=s,o[s]=a),e.replaceValue?`${null==a||"number"==typeof a&&(Number.isNaN(a)||!Number.isFinite(a))?"":a}`:s}),o)}let im={label:"Math.js",tooltip:"{{t('Math.js comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types.')}}",link:"MATHJS_DOC_URL",evaluate:ip.bind(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=ia._3(e,t);return"number"==typeof l?Number.isNaN(l)||!Number.isFinite(l)?null:is.LIG(l,9):l instanceof is.uqu?l.toArray():l},{replaceKey:!0})};var ih=l(8558);l(67980);let ig=Object.keys(ih).filter(e=>"default"!==e);function iv(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=Object.create(null);for(let e of ig)l[e]=ih[e];if(e&&"object"==typeof e)for(let[t,n]of Object.entries(e))l[t]=n;for(let e of t)l[e]=void 0;return l}function iy(e,t,l){return new Compartment(iv(t,l.blockedIdentifiers)).evaluate(e)}function ix(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={blockedIdentifiers:e.blockedIdentifiers};return ip.bind(function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=iy(e,l,t);return"number"==typeof n?Number.isNaN(n)||!Number.isFinite(n)?null:(0,is.LIG)(n,9):n},{})}ix();let ib={label:"Formula.js",tooltip:'{{t("Formula.js supports most Microsoft Excel formula functions.")}}',link:"FORMULAJS_DOC_URL",evaluate:ix({blockedIdentifiers:[...ed.BASE_BLOCKED_IDENTIFIERS,"window","document","parent","top","frames","navigator","location","localStorage","sessionStorage"]})},iw={label:"{{t('String template')}}",tooltip:"{{t('Simple string replacement, can be used to interpolate variables in a string.')}}",evaluate:ip.bind(function(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1],e},{replaceValue:!0})},iS=new ed.Registry;function iC(){return Array.from(iS.getEntities()).reduce((e,t)=>{let[l,n]=t;return e.concat({value:l,...n})},[])}iS.register("formula.js",ib),iS.register("math.js",im),iS.register("string",iw);let iF=iS;var ik=l(98294),iA=l(25782),iP=l(4213),iM=l(88909),ij=l(72635),iI=l(25345),iT=l(43627);function iR(e,t,l){e.define(t,()=>l),window.__nocobase_app_dev__&&(window.__nocobase_app_dev_deps__=window.__nocobase_app_dev_deps__||{},window.__nocobase_app_dev_deps__[t]=l)}function iE(e){iR(e,"react",P),iR(e,"react-dom",lU),iR(e,"react/jsx-runtime",O),iR(e,"react-router",H),iR(e,"react-router-dom",W),iR(e,"antd",iA),iR(e,"@ant-design/icons",ie),iR(e,"@ant-design/cssinjs",r9),iR(e,"antd-style",it),iR(e,"i18next",ij),iR(e,"react-i18next",iI),iR(e,"@formily/antd-v5",io),iR(e,"@formily/core",ir),iR(e,"@formily/react",np),iR(e,"@formily/reactive",q),iR(e,"@formily/shared",ii),iR(e,"@nocobase/utils",ed),iR(e,"@nocobase/utils/client",ed),iR(e,"@nocobase/client-v2",u),iR(e,"@nocobase/client-v2/client-v2",u),iR(e,"@nocobase/flow-engine",L),iR(e,"@nocobase/evaluators",r),iR(e,"@nocobase/evaluators/client",r),iR(e,"@dnd-kit/core",l_),iR(e,"@dnd-kit/sortable",iT),iR(e,"@ctrl/tinycolor",il),iR(e,"ahooks",ik),iR(e,"axios",iM.A),iR(e,"dayjs",ed.dayjs),iR(e,"lodash",V()),iR(e,"@emotion/css",k),iR(e,"file-saver",iP)}var iN=l(40407);let iD=/^\/+/,i$=/\/+$/,iB=e=>{let t=iD.exec(e);return t?e.slice(t[0].length):e},iO=e=>{let t=i$.exec(e);return t?e.slice(0,-t[0].length):e},iq=e=>`${iO(e)}/`,iL=e=>(0,G.isValidElementType)(e);class i_{get pm(){return this.pluginManager}get disableAcl(){return this.options.disableAcl}get isWsAuthorized(){return this.wsAuthorized}setDocumentLanguage(e){"u">typeof document&&(e?document.documentElement.lang=e:document.documentElement.removeAttribute("lang"))}defineObservableState(){(0,q.define)(this,{maintained:q.observable.ref,maintaining:q.observable.ref,error:q.observable.ref,apps:q.observable})}initializeExtendedState(){this.systemSettings=new ef.o(this.apiClient)}afterManagersInitialized(){this.aiManager=new ec(this),this.jsonLogic=r8()}configureContext(){}configureRuntimeAdapters(){}addCustomProviders(){}initListeners(){this.eventBus.addEventListener("auth:tokenChanged",e=>{let t=e.detail;(null==t?void 0:t.token)&&this.setTokenInWebSocket(t)}),this.eventBus.addEventListener("maintaining:end",()=>{this.apiClient.auth.token&&this.setTokenInWebSocket({token:this.apiClient.auth.token,authenticator:this.apiClient.auth.getAuthenticator()})})}setTokenInWebSocket(e){let{token:t,authenticator:l}=e;this.maintaining||this.ws.send(JSON.stringify({type:"auth:token",payload:{token:t,authenticator:l}}))}initRequireJs(){if(void 0===globalThis.window)return;let e=globalThis.window;if(e.requirejs){this.requirejs=e.requirejs;return}e.requirejs=this.requirejs=(0,iN.b)(),iE(this.requirejs),e.define=this.requirejs.define}configureBaseContext(){this.flowEngine.context.defineProperty("app",{value:this}),this.flowEngine.context.defineProperty("api",{value:this.apiClient}),this.flowEngine.context.defineProperty("i18n",{value:this.i18n}),this.flowEngine.context.defineProperty("router",{get:()=>this.router.router,cache:!1}),this.flowEngine.context.defineProperty("documentTitle",{get:()=>document.title}),this.flowEngine.context.defineProperty("route",{get:()=>{},observable:!0}),this.flowEngine.context.defineProperty("location",{get:()=>location,observable:!0}),this.flowEngine.context.defineProperty("routeRepository",{value:new r1(this.flowEngine.context)}),this.flowEngine.context.defineProperty("appInfo",{get:async()=>{var e;return(null==(e=(await this.apiClient.request({url:"app:getInfo"})).data)?void 0:e.data)||{}}}),this.flowEngine.context.defineProperty("pageInfo",{value:(0,q.observable)({version:void 0})}),this.flowEngine.context.defineProperty("systemSettings",{get:()=>this.systemSettings})}addBaseProviders(){this.use(K.x,{i18n:this.i18n}),this.use(L.FlowEngineProvider,{engine:this.flowEngine}),this.use(es),this.use(Z)}addFinalProviders(){this.use(L.FlowEngineGlobalsContextProvider)}addReactRouterComponents(){this.addComponents({Link:W.Link,Navigate:H.Navigate,NavLink:W.NavLink})}addRoutes(){this.router.add("not-found",{path:"*",Component:()=>null})}updateFavicon(e){let t=document.querySelector('link[rel="shortcut icon"]');arguments.length>0&&(this.favicon=e||"");let l=this.favicon||this.getCdnUrl()+"favicon/favicon.ico";t?t.href=l:((t=document.createElement("link")).rel="shortcut icon",t.href=l,document.head.appendChild(t))}setWsAuthorized(e){this.wsAuthorized=e}setMaintaining(e){this.maintaining!==e&&(this.maintaining=e,e||this.eventBus.dispatchEvent(new Event("maintaining:end")))}getOptions(){return this.options}getName(){return(0,A.getSubAppName)(this.getPublicPath())||null}getCdnUrl(){return iq(window.__webpack_public_path__||tn(this.getPublicPath()))}getPublicPath(){return iq(this.options.publicPath||"/")}getApiUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.apiClient.axios.defaults.baseURL??"";if(!t.startsWith("http://")&&!t.startsWith("https://")){let{protocol:e,host:l}=globalThis.window.location;t=`${e}//${l}${t}`}return`${iO(t)}/${iB(e)}`}getRouteUrl(e){return this.getPublicPath()+iB(e)}getHref(e){let t=this.name;return t&&"main"!==t?`${this.getPublicPath()}apps/${t}/${iB(e)}`:this.getPublicPath()+iB(e)}getComposeProviders(){let e=nA(...this.providers)(em.ct);return e.displayName="Providers",e}use(e,t){return this.addProvider(e,t)}addProvider(e,t){return this.providers.push([e,t])}addProviders(e){e.forEach(e=>{Array.isArray(e)?this.addProvider(e[0],e[1]):this.addProvider(e)})}getComponent(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],l=e=>t&&console.error(e);if(!e)return void l(`getComponent called with ${e}`);if("string"==typeof e){let t=(0,_.get)(this.components,e);return t||void l(`Component ${e} not found`)}if(iL(e))return e;l(`Component ${e} should be a string or a React component`)}renderComponent(e,t,l){let n=this.getComponent(e);return n?P.createElement(n,t,l):null}addComponent(e,t){let l=e,n=t||l.displayName||l.name;n?(0,_.set)(this.components,n,e):console.error("Component must have a displayName or pass name as second argument")}addComponents(e){Object.keys(e).forEach(t=>{this.addComponent(e[t],t)})}setAppsComponent(e){let{Component:t}=e;this.apps.Component=t}setAppsProvider(e){let{loadAppList:t}=e;this.apps.loadAppList=t}getRootFallback(){return this.renderComponent("AppSpin")}getRootComponent(){let e=this.model,t=this.flowEngine,l=()=>this.getRootFallback();return n=>{let{children:o}=n;return(0,P.useLayoutEffect)(()=>{e.setProps({children:o})},[o]),(0,O.jsx)(L.FlowEngineProvider,{engine:t,children:(0,O.jsx)(L.FlowModelRenderer,{fallback:l(),model:e})})}}mount(e){let t=nk(e);if(t){let e=this.getRootComponent(),l=(0,z.createRoot)(t);return l.render((0,O.jsx)(e,{})),l}}createLayoutManager(e){return new r0(this)}createWebSocketClient(e){return new r2(e.ws??!1)}getDefaultComponents(){return{AppNotFound:em.bM,AppError:em.uV,AppSpin:em.gv,AppMaintaining:em.be,AppMaintainingDialog:em.tp}}constructor(e={}){this.options=e,this.eventBus=new EventTarget,this.providers=[],this.scopes={},this.components={},this.entryActionManager=new eh,this.maintained=!1,this.maintaining=!1,this.error=null,this.wsAuthorized=!1,this.apps={Component:null,loadAppList:null},this.initRequireJs(),this.defineObservableState(),this.devDynamicImport=e.devDynamicImport,this.scopes=(0,_.merge)(this.scopes,e.scopes),this.components=(0,_.merge)(this.getDefaultComponents(),e.components),this.name=this.options.name||(0,A.getSubAppName)(e.publicPath)||"main",this.apiClient=this.createApiClient(e),this.initializeExtendedState(),this.i18n=this.createI18n(e),this.router=this.createRouterManager(e),this.layoutManager=this.createLayoutManager(e),this.pluginManager=this.createPluginManager(e),this.flowEngine=new L.FlowEngine,this.flowEngine.registerModels({ApplicationModel:iK}),this.model=this.flowEngine.createModel({use:"ApplicationModel",uid:"__app_model__"}),this.context=this.flowEngine.context,this.configureRuntimeAdapters(),this.context.defineProperty("pluginManager",{get:()=>this.pluginManager}),this.configureBaseContext(),this.configureContext(),this.addBaseProviders(),this.addCustomProviders(),this.addFinalProviders(),this.addReactRouterComponents(),this.addProviders(e.providers||[]),this.ws=this.createWebSocketClient(e),this.ws.app=this,this.pluginSettingsManager=this.createPluginSettingsManager(e),this.addRoutes(),this.i18n.on("languageChanged",e=>{this.apiClient.auth.locale=e,this.setDocumentLanguage(e)}),this.initListeners(),this.afterManagersInitialized()}}var iV=new WeakMap,iz=new WeakMap;class iK extends L.FlowModel{get app(){return this.context.app}getProviders(){return(0,B._)(this,iV,(0,D._)(this,iV)||this.app.getComposeProviders()),(0,D._)(this,iV)}getRouter(){return(0,B._)(this,iz,(0,D._)(this,iz)||this.app.router.getRouterComponent()),(0,D._)(this,iz)}render(){return this.app.maintaining&&!this.app.maintained?(0,O.jsx)(O.Fragment,{children:this.renderMaintaining()}):this.app.error&&!this.app.maintaining?(0,O.jsx)(O.Fragment,{children:this.renderError()}):(0,O.jsxs)(O.Fragment,{children:[this.renderContent(),this.app.maintaining&&this.app.maintained?this.renderMaintainingDialog():null]})}renderMaintaining(){return this.app.renderComponent("AppMaintaining",{app:this.app,error:this.app.error})}renderMaintainingDialog(){return this.app.renderComponent("AppMaintainingDialog",{app:this.app,error:this.app.error})}renderError(){return this.app.renderComponent("AppError",{app:this.app,error:this.app.error})}renderContent(){let e=this.app.getComponent("AppError",!1),t=this.getRouter(),l=this.getProviders(),n=(0,O.jsx)(t,{BaseLayout:l});if(!e)return n;let o=(e,t)=>{var l;console.error(e);let n=null==(l=t.componentStack)?void 0:l.trim();if(!n)return;let o=Error("React component stack");o.stack=n,console.error(o)};return(0,O.jsx)(U.tH,{FallbackComponent:t=>(0,O.jsx)(e,{app:this.app,...t}),onError:o,children:n})}constructor(...e){super(...e),(0,$._)(this,iV,{writable:!0,value:void 0}),(0,$._)(this,iz,{writable:!0,value:void 0})}}iK.registerFlow({key:"appFlow",steps:{init:{async handler(e){try{await e.app.load()}catch(t){e.model.app.error=t,console.error(t)}}}}});var iU=l(16350);l(39398);let iW=[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],iH=[{label:'{{t("is")}}',value:"$match",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is not")}}',value:"$notMatch",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is any of")}}',value:"$anyOf",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$noneOf",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],iG=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"}],iY=[{label:"{{ t('is') }}",value:"$dateOn",selected:!0,schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is not') }}",value:"$dateNotOn",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is before') }}",value:"$dateBefore",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is after') }}",value:"$dateAfter",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is on or after') }}",value:"$dateNotBefore",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is on or before') }}",value:"$dateNotAfter",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is between') }}",value:"$dateBetween",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!0}}},{label:"{{ t('is empty') }}",value:"$empty",noValue:!0},{label:"{{ t('is not empty') }}",value:"$notEmpty",noValue:!0}],iJ=[{label:'{{t("=")}}',value:"$eq",selected:!0},{label:'{{t("≠")}}',value:"$ne"},{label:'{{t(">")}}',value:"$gt"},{label:'{{t("≥")}}',value:"$gte"},{label:'{{t("<")}}',value:"$lt"},{label:'{{t("≤")}}',value:"$lte"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],iX=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"},{label:'{{t("exists")}}',value:"$exists",noValue:!0},{label:'{{t("not exists")}}',value:"$notExists",noValue:!0}],iQ=[{label:'{{t("is")}}',value:"$eq",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:null}}},{label:'{{t("is not")}}',value:"$ne",schema:{"x-component":"Select","x-component-props":{mode:null}}},{label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],iZ=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$neq"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],i0=[{label:'{{t("Yes")}}',value:"$isTruly",selected:!0,noValue:!0,schema:{"x-component":"Select","x-component-props":{multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]}}},{label:'{{t("No")}}',value:"$isFalsy",noValue:!0,schema:{"x-component":"Select","x-component-props":{multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]}}},{label:"{{ t('is empty') }}",value:"$empty",noValue:!0},{label:"{{ t('is not empty') }}",value:"$notEmpty",noValue:!0}],i1=[{label:'{{t("is any of")}}',value:"$childIn",schema:{"x-component":"CollectionSelect","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$childNotIn",schema:{"x-component":"CollectionSelect","x-component-props":{mode:"tags"}}}],i2=[{label:'{{t("is")}}',value:"$eq",selected:!0,schema:{"x-component":"DataSourceCollectionCascader"}},{label:'{{t("is not")}}',value:"$ne",schema:{"x-component":"DataSourceCollectionCascader"}},{label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"DataSourceCollectionCascader","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"DataSourceCollectionCascader","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],i8=[{label:'{{t("contains")}}',value:"$includes",selected:!0,schema:{type:"string","x-component":"Input"}},{label:'{{t("does not contain")}}',value:"$notIncludes",schema:{type:"string","x-component":"Input"}},{label:'{{t("is")}}',value:"$eq",schema:{type:"string","x-component":"Input"}},{label:'{{t("is not")}}',value:"$ne",schema:{type:"string","x-component":"Input"}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0,schema:{type:"string","x-component":"Input"}},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0,schema:{type:"string","x-component":"Input"}}];class i6{register(e){return this.operators[e.value]=e,this}registerMany(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.forEach(e=>{this.register(e)}),this}registerGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=this.resolveOperatorReferences(t);return this.registerMany(l),this.groups[e]=l,this}addToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=this.resolveOperatorReferences(t);return this.registerMany(l),this.groups[e]||(this.groups[e]=[]),l.forEach(t=>{this.groups[e].some(e=>e.value===t.value)||this.groups[e].push(t)}),this}get(e){return this.operators[e]}getGroup(e){return this.groups[e]||[]}getGroups(){return this.groups}resolveOperators(e){return e?"string"==typeof e?this.getGroup(e):e:[]}resolveOperatorReferences(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(e=>"string"==typeof e?this.get(e):e).filter(e=>!!e)}constructor(e={}){this.operators={},this.groups={},Object.entries(e).forEach(e=>{let[t,l]=e;this.registerGroup(t,l)})}}let i3=new i6(i),i5=i3.getGroups(),i4=i5;function i7(e){return i3.resolveOperators(e)}function i9(e){if(!e)return e;let t=Array.isArray(e.operatorOverrides)?e.operatorOverrides:[];e.operatorGroup&&(e.operators=ae(i7(e.operatorGroup),t));let l=e.operators;return"string"==typeof l?(e.operatorGroup=l,e.operators=ae(i7(l),t)):Array.isArray(l)?e.operators=ae(l,t):t.length>0&&(e.operators=[...t]),Array.isArray(e.children)&&e.children.forEach(e=>{e&&"object"==typeof e&&i9(e)}),e}function ae(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(0===t.length)return e;let l=[...e];return t.forEach(e=>{let t=l.findIndex(t=>t.value===e.value);-1===t?l.push(e):l[t]=e}),l}function at(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...t,operatorGroup:e,operators:i7(e)}}function al(e,t){return{operators:e.flatMap(e=>{let{types:l,operators:n}=e;return i7(n).map(e=>({...e,visible:n=>{let o=l.includes(t(n));return"function"==typeof e.visible?e.visible(n)&&o:o}}))})}}let an="CollectionSelect",ao=new Set(["name","uiSchema.title"]),ar=new Set(["Grid","Grid.Row","Grid.Col","div"]);function ai(e){return{...e.context,...e.values}}function aa(e,t){if("boolean"==typeof e)return e;if("string"!=typeof e)return!1;let l=e.replace(/^\s*\{\{\s*/,"").replace(/\s*\}\}\s*$/,""),n=ai(t),o=e=>{let t=e.trim().replace(/^\$/,"");if(!t)return!1;if(t.startsWith("!"))return!o(t.slice(1).trim());if("true"===t)return!0;if("false"===t)return!1;let l=t.match(/^([A-Za-z_$][\w$]*)\((.*)\)$/);if(l){let[,e,t]=l,o=(0,_.get)(n,e);return"function"==typeof o&&!!o(...t.split(",").map(e=>e.trim()).filter(Boolean).map(e=>e.replace(/^['"]|['"]$/g,"")))}return!!(0,_.get)(n,t)};return l.split("||").some(e=>e.split("&&").every(e=>o(e)))}function as(e){return"string"==typeof e?t=>aa(e,t):e}function ad(e){return(null==e?void 0:e["x-hidden"])!==void 0?as(e["x-hidden"]):(null==e?void 0:e["x-visible"])!==void 0?t=>!aa(e["x-visible"],t):void 0}function au(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",l=arguments.length>2?arguments[2]:void 0;return Object.entries(e||{}).flatMap(e=>{let[n,o]=e,r=t?`${t}.${n}`:n,i=null==o?void 0:o.properties,a=null==o?void 0:o["x-component"];if(i&&"Grid.Row"===a){let e=Object.entries(i).filter(e=>{let[,t]=e;return(null==t?void 0:t["x-component"])==="Grid.Col"}),l=e.length>0?Math.floor(24/e.length):24;return e.flatMap((e,n)=>{let[o,i]=e;return au((null==i?void 0:i.properties)||{},t,{row:r,column:o,columnIndex:n,span:l})})}return i&&(!a||ar.has(a))?au(i,t,l):[{name:r,schema:o,layout:l}]})}function ac(e,t){return!ao.has(e)&&(!!(null==t?void 0:t["x-component"])||(null==t?void 0:t.default)!==void 0||(null==t?void 0:t["x-hidden"])!==void 0)}function ap(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return au(e).filter(e=>{let{name:t,schema:l}=e;return ac(t,l)}).map(e=>{var l;let{name:n,schema:o,layout:r}=e,i=null==o?void 0:o["x-component"];return{name:n,title:(null==o?void 0:o.title)||(null==o?void 0:o["x-content"]),component:i,Component:i?null==(l=t.components)?void 0:l[i]:void 0,componentProps:null==o?void 0:o["x-component-props"],defaultValue:null==o?void 0:o.default,description:null==o?void 0:o.description,hidden:ad(o),disabled:as(null==o?void 0:o["x-disabled"]),options:Array.isArray(null==o?void 0:o.enum)?o.enum:void 0,required:null==o?void 0:o.required,schema:o,layout:r}})}let am=[{label:"MMMM Do YYYY",value:"MMMM Do YYYY"},{label:"YYYY-MM-DD",value:"YYYY-MM-DD"},{label:"MM/DD/YY",value:"MM/DD/YY"},{label:"YYYY/MM/DD",value:"YYYY/MM/DD"},{label:"DD/MM/YYYY",value:"DD/MM/YYYY"},{label:'{{t("Custom")}}',value:"custom"}],ah=[{label:'{{t("12 hour")}}',value:"hh:mm:ss a"},{label:'{{t("24 hour")}}',value:"HH:mm:ss"}];function af(e){return(0,_.get)(e,"uiSchema.x-component-props.picker")||"date"}function ag(e){return(0,_.get)(e,"uiSchema.x-component-props.showTime")}function av(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("unique"===e||"primaryKey"===e)return{disabled:!l.createMainOnly||!!l.primaryKeyOnly};if("autoIncrement"===e)return{disabled:!l.createMainOnly};if(e.startsWith("reverseField."))return{disabled:"reverseField.type"===e||!l.showReverseFieldConfig,hidden:!l.showReverseFieldConfig};if("autoCreateReverseField"===e&&(0,_.get)(t,"reverseField.key"))return{disabled:!0};if("uiSchema.x-component-props.dateFormat"===e)return{componentProps:{picker:af(t)}};if("uiSchema.x-component-props.showTime"===e)return{hidden:"date"!==af(t)};if("uiSchema.x-component-props.timeFormat"===e)return{hidden:"date"!==af(t)||!1===ag(t)};if("defaultValue"===e){let e=!!(0,_.get)(t,"primaryKey")||!!(0,_.get)(t,"unique")||!!(0,_.get)(t,"autoIncrement")||!!(0,_.get)(t,"defaultToCurrentTime");return{hidden:e,...e?{value:null,hasValue:!0}:null,componentProps:{gmt:(0,_.get)(t,"uiSchema.x-component-props.gmt"),showTime:(0,_.get)(t,"uiSchema.x-component-props.showTime"),dateFormat:(0,_.get)(t,"uiSchema.x-component-props.dateFormat"),timeFormat:(0,_.get)(t,"uiSchema.x-component-props.timeFormat"),picker:(0,_.get)(t,"uiSchema.x-component-props.picker"),format:(0,_.get)(t,"uiSchema.x-component-props.format")},dataSource:(0,_.get)(t,"uiSchema.enum")}}return("precision"===e||"scale"===e)&&"decimal"!==(0,_.get)(t,"type")?{hidden:!0}:{}}function ay(e){let{context:t,getValue:l,setValue:n,values:o}=e,r=!!l("primaryKey"),i=!!l("unique");if(t.createMainOnly&&r&&(!e.changedName||"primaryKey"===e.changedName)&&(!1!==l("unique")&&n("unique",!1),(0,_.has)(o,"autoIncrement")&&!0!==l("autoIncrement")&&n("autoIncrement",!0)),t.createMainOnly&&i&&r&&"unique"===e.changedName&&n("primaryKey",!1),(0,_.get)(o,"reverseField.key")&&!0!==l("autoCreateReverseField")&&n("autoCreateReverseField",!0),("uiSchema.x-component-props.picker"===e.changedName||["primaryKey","unique","autoIncrement","defaultToCurrentTime"].includes(e.changedName||""))&&null!=l("defaultValue")&&(l("primaryKey")||l("unique")||l("autoIncrement")||l("defaultToCurrentTime")||"uiSchema.x-component-props.picker"===e.changedName)&&n("defaultValue",null),!((0,_.has)(o,"uiSchema.x-component-props.picker")||(0,_.has)(o,"uiSchema.x-component-props.dateFormat")||(0,_.has)(o,"uiSchema.x-component-props.showTime")||(0,_.has)(o,"uiSchema.x-component-props.timeFormat")))return;let a=af(o);"uiSchema.x-component-props.picker"===e.changedName&&(0,_.has)(o,"uiSchema.x-component-props.dateFormat")&&(0,_.get)(o,"uiSchema.x-component-props.dateFormat")!==(0,ed.getPickerFormat)(a)&&n("uiSchema.x-component-props.dateFormat",(0,ed.getPickerFormat)(a)),(0,_.has)(o,"uiSchema.x-component-props.showTime")&&"date"!==a&&!1!==ag(o)&&n("uiSchema.x-component-props.showTime",!1),(0,_.has)(o,"uiSchema.x-component-props.timeFormat")&&ag(o)&&!(0,_.get)(o,"uiSchema.x-component-props.timeFormat")&&n("uiSchema.x-component-props.timeFormat","HH:mm:ss")}function ax(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[{name:"primaryKey",title:'{{t("Primary")}}',component:"Checkbox"},{name:"unique",title:'{{t("Unique")}}',component:"Checkbox"}];return e.autoIncrement&&t.push({name:"autoIncrement",title:'{{t("Auto increment")}}',component:"Checkbox"}),t}function ab(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[];return!1!==e.includePicker&&t.push({name:"uiSchema.x-component-props.picker",title:'{{t("Picker")}}',component:"Radio.Group",defaultValue:"date",options:[{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}],hidden:e.hidden}),t.push({name:"uiSchema.x-component-props.dateFormat",title:'{{t("Date format")}}',component:"ExpiresRadio",defaultValue:"YYYY-MM-DD",options:am,componentProps:{defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},hidden:e.hidden},{name:"uiSchema.x-component-props.showTime",title:'{{t("Show time")}}',component:"Checkbox",defaultValue:e.showTimeDefault,hidden:e.hidden},{name:"uiSchema.x-component-props.timeFormat",title:'{{t("Time format")}}',component:"Radio.Group",defaultValue:"HH:mm:ss",options:ah,hidden:t=>!!("function"==typeof e.hidden&&e.hidden(t))||("boolean"==typeof e.hidden?e.hidden:!1===ag(t.values))}),t}function aw(){return[{name:"autoCreateReverseField",title:'{{t("Create inverse field in the target collection")}}',component:"Checkbox",defaultValue:!1},{name:"reverseField.type",title:'{{t("Inverse relationship type")}}',component:"Select",required:!0,options:[{label:"{{t('HasOne')}}",value:"hasOne"},{label:"{{t('HasMany')}}",value:"hasMany"},{label:"{{t('BelongsTo')}}",value:"belongsTo"},{label:"{{t('BelongsToMany')}}",value:"belongsToMany"}],hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,_.get)(l,"autoCreateReverseField")},disabled:!0},{name:"reverseField.uiSchema.title",title:'{{t("Inverse field display name")}}',component:"Input",required:!0,hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,_.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}},{name:"reverseField.name",title:'{{t("Inverse field name")}}',component:"Input",required:!0,description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}",hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,_.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}}]}let aS=aw;function aC(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{name:e.name||"uiSchema.enum",title:e.title||'{{t("Options")}}',component:"ArrayTable"}}let aF={key:"required",label:"Required",hasValue:!1,params:[]};function ak(e){let t="date"===e?"datePicker":"inputNumber",l="date"===e?"date":"limit";return[{key:"greater",label:"Greater than",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"less",label:"Less than",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"max",label:"Max value",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"min",label:"Min value",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]}]}class aA{register(e){this.items.set(e.key,(0,_.cloneDeep)(e))}registerMany(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.forEach(e=>this.register(e))}registerGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,t)}addToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,[...this.groups.get(e)||[],...t])}get(e){return(0,_.cloneDeep)(this.items.get(e))}getGroup(e){return(this.groups.get(e)||[]).map(e=>"string"==typeof e?this.get(e):(0,_.cloneDeep)(e)).filter(Boolean)}constructor(){this.items=new Map,this.groups=new Map}}let aP=new aA;function aM(e){aP.register(e)}function aj(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aP.registerGroup(e,t)}function aI(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aP.addToGroup(e,t)}aP.registerMany([aF,{key:"pattern",label:"Pattern",hasValue:!0,params:[{key:"regex",label:"Regular Expression",componentType:"text",required:!0}]},{key:"email",label:"Email",hasValue:!1,params:[],paramsType:"object"},{key:"uuid",label:"UUID",hasValue:!1,params:[],paramsType:"object"},{key:"length",label:"Length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"uri",label:"URI",hasValue:!1,params:[],paramsType:"object"},{key:"multiple",label:"Multiple of",hasValue:!0,params:[{key:"base",label:"Base",componentType:"inputNumber",required:!0}]},{key:"integer",label:"Integer",hasValue:!1,params:[]},{key:"precision",label:"Precision",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"unsafe",label:"Unsafe integer",hasValue:!1,params:[]},{key:"timestamp",label:"Timestamp",hasValue:!0,params:[{key:"type",label:"Type",componentType:"singleSelect",options:[{label:"JavaScript",value:"javascript"},{label:"Unix",value:"unix"}],defaultValue:"javascript"}]}]),aP.registerGroup("string",["required",{key:"max",label:"Max length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"min",label:"Min length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},"pattern","email","uuid","length","uri"]),aP.registerGroup("number",["required",...ak("number"),"multiple","integer","precision","unsafe"]),aP.registerGroup("date",["required",...ak("date"),"timestamp"]),aP.registerGroup("object",["required"]);class aT{addFieldInterfaces(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.reduce((e,t)=>{if("function"!=typeof t)return e;let l=new t(this);return(null==l?void 0:l.name)&&(i9(l.filterable),e[l.name]=l,Array.isArray(this.actionList[l.name])&&(this.actionList[l.name].forEach(e=>{var t,n;if("addComponentOption"===e.type){null==(n=l.addComponentOption)||n.call(l,e.data);return}if("registerConfigure"===e.type){l.configure=this.mergeFieldInterfaceConfigure(l.configure,e.data);return}null==(t=l.addOperator)||t.call(l,e.data)}),delete this.actionList[l.name])),e},{});Object.assign(this.collectionFieldInterfaceInstances,t)}addFieldInterfaceComponentOption(e,t){var l;let n=this.getFieldInterface(e);n?null==(l=n.addComponentOption)||l.call(n,t):this.enqueueAction(e,{type:"addComponentOption",data:t})}addFieldInterfaceOperator(e,t){var l;let n=this.getFieldInterface(e);n?null==(l=n.addOperator)||l.call(n,t):this.enqueueAction(e,{type:"addOperator",data:t})}registerFieldFilterOperator(e){i3.register(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];i3.registerGroup(e,t),this.normalizeFieldInterfaceFilterables()}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];i3.addToGroup(e,t),this.normalizeFieldInterfaceFilterables()}registerFieldValidationConfigure(e){aM(e)}registerFieldValidationConfigureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aj(e,t)}addFieldValidationConfiguresToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aI(e,t)}getFieldValidationConfigureGroup(e){return aP.getGroup(e)}registerFieldInterfaceConfigure(e){let t=this.getFieldInterface(e.name);t?t.configure=this.mergeFieldInterfaceConfigure(t.configure,e):this.enqueueAction(e.name,{type:"registerConfigure",data:e})}getFieldInterface(e){return this.collectionFieldInterfaceInstances[e]}getFieldInterfaces(e){return Object.values(this.collectionFieldInterfaceInstances).filter(t=>!e||!t.supportDataSourceType&&!t.notSupportDataSourceType||(t.supportDataSourceType?t.supportDataSourceType.includes(e):!t.notSupportDataSourceType||!t.notSupportDataSourceType.includes(e)))}getFieldInterfaceConfigureProperties(e,t){var l;let n=this.getFieldInterfaceConfigure(e,t);return(null==n||null==(l=n.getConfigureFormProperties)?void 0:l.call(n,t))||(null==n?void 0:n.properties)||{}}getFieldInterfaceConfigure(e,t){var l,n,o;let r=this.getFieldInterface(e);if(!r)return;let i=(null==(l=r.getConfigureFormProperties)?void 0:l.call(r,t))||r.properties||{},a={name:r.name,title:r.title,group:r.group,order:r.order,default:r.default,titleUsable:r.titleUsable,isAssociation:r.isAssociation,supportDataSourceType:r.supportDataSourceType,notSupportDataSourceType:r.notSupportDataSourceType,properties:i,items:ap(i,{components:null==(n=r.configure)?void 0:n.components}),getConfigureFormProperties:null==(o=r.getConfigureFormProperties)?void 0:o.bind(r)};return this.mergeFieldInterfaceConfigure(a,r.configure)}addFieldInterfaceGroups(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this.collectionFieldGroups,e)}getFieldInterfaceGroups(){return this.collectionFieldGroups}getFieldInterfaceGroup(e){return this.collectionFieldGroups[e]}enqueueAction(e,t){this.actionList[e]||(this.actionList[e]=[]),this.actionList[e].push(t)}normalizeFieldInterfaceFilterables(){Object.values(this.collectionFieldInterfaceInstances).forEach(e=>{i9(e.filterable)})}mergeFieldInterfaceConfigure(e,t){return e?t?{...e,...t,default:t.default||e.default,properties:{...e.properties||{},...t.properties||{}},items:this.mergeFieldConfigureItems(e.items,t.items),components:{...e.components||{},...t.components||{}}}:e:t}mergeFieldConfigureItems(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=new Map;return e.forEach(e=>l.set(e.name,e)),t.forEach(e=>l.set(e.name,e)),Array.from(l.values())}constructor(e){this.dataSourceManager=e,this.collectionFieldInterfaceInstances={},this.collectionFieldGroups={},this.actionList={}}}function aR(e){return`${e}/client-v2`}function aE(e){return("default"in e?e.default:void 0)||e}function aN(e,t){window.__nocobase_app_dev_plugins__=window.__nocobase_app_dev_plugins__||{},window.__nocobase_app_dev_plugins__[e]=t}function aD(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=aR(t);window.define(n,()=>l),aN(n,l)})}function a$(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=aR(t);window.define(n,()=>l),aN(n,l)})}function aB(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((e,t)=>(e[aR(t.packageName)]=t.url,e),{})})}function aO(e,t){return function(){for(var l=arguments.length,n=Array(l),o=0;o<l;o++)n[o]=arguments[o];n.forEach((t,l)=>{t&&aN(aR(e[l].packageName),t)}),t(n.map((t,l)=>[e[l].name,(null==t?void 0:t.default)||t]).filter(e=>e[1]));let r=n.map((e,t)=>e?null:t).filter(e=>null!==e).map(t=>e[t].packageName);r.length>0&&console.error("[nocobase load plugin error]: These plugins do not have an `export.default` exported content or there is an error in the plugins. error plugins: \r\n%s",r.join(", \r\n"))}}function aq(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aB(e,t);let l=t.map(e=>aR(e.packageName));return new Promise((n,o)=>{e.requirejs(l,aO(t,n),o)})}async function aL(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(let l of a_(e)){let e=await import(l.url),n=aE(e);n&&(t.push([l.name,n]),a$({[l.packageName]:e}))}return t}function a_(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Map(e.map(e=>[e.packageName,e])),l=[],n=new Set,o=new Set,r=e=>{if(!o.has(e.packageName)&&!n.has(e.packageName)){for(let l of(n.add(e.packageName),e.appDevDependencies||[])){let e=t.get(l);e&&r(e)}n.delete(e.packageName),o.add(e.packageName),l.push(e)}};return e.forEach(r),l}async function aV(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=[],n=[],o=async()=>{if(0===n.length)return;let t=await aq(e,n);l.push(...t),n=[]};for(let e of a_(t)){if("esm"===e.devMode){await o();let t=await aL([e]);l.push(...t);continue}n.push(e)}return await o(),l}async function az(e){let{requirejs:t,pluginData:l,devDynamicImport:n}=e;if(0===l.length)return[];let o=[],r={},i={};if(n){for await(let e of l){let t=await n(e.packageName);if(t){let l=aE(t);o.push([e.name,l]),r[e.packageName]=l,i[e.packageName]=t}}aD(i)}let a=l.filter(e=>!r[e.packageName]),s=a.filter(e=>"esm"===e.devMode),d=a.filter(e=>"esm"!==e.devMode);if(0===s.length){if(0===d.length)return o;let e=await aq(t,d);return o.push(...e),o}let u=await aV(t,a);return o.push(...u),o}class aK{async init(e){await this.initStaticPlugins(e),this.loadRemotePlugins&&await this.initRemotePlugins()}getRemotePluginsRequestUrl(){return"pm:listEnabledV2"}async initStaticPlugins(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for await(let t of e){let e=Array.isArray(t)?t[0]:t,l=Array.isArray(t)?t[1]:void 0;await this.add(e,l)}}async initRemotePlugins(){var e;let t=await this.app.apiClient.request({url:this.getRemotePluginsRequestUrl()}),l=(null==t||null==(e=t.data)?void 0:e.data)||[];for await(let[e,t]of(await az({requirejs:this.app.requirejs,pluginData:l,devDynamicImport:this.app.devDynamicImport}))){let n=l.find(t=>t.name===e);await this.add(t,n)}}async add(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=this.getInstance(e,t);this.pluginInstances.set(e,l),t.name&&(this.pluginsAliases[t.name]=l),t.packageName&&(this.pluginsAliases[t.packageName]=l),await l.afterAdd()}get(e){return"string"==typeof e?this.pluginsAliases[e]:this.pluginInstances.get(e.default||e)}getInstance(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new e(t,this.app)}async load(){for(let e of(await this.initPlugins,this.pluginInstances.values()))await e.beforeLoad();for(let e of this.pluginInstances.values())await e.load(),this.app.eventBus.dispatchEvent(new CustomEvent(`plugin:${e.options.name}:loaded`,{detail:e}))}constructor(e,t,l){this._plugins=e,this.loadRemotePlugins=t,this.app=l,this.pluginInstances=new Map,this.pluginsAliases={},this.app=l,this.initPlugins=this.init(e||[]),this.loadRemotePlugins=t}}var aU=l(96204),aW=l(24978);let aH=e=>{let{children:t}=e,{token:l}=ee.A.useToken(),n=l.colorFillTertiary,o=new aW.q(l.colorFill).onBackground(l.colorFillSecondary).toHexShortString(),r=new aW.q(l.colorFill).onBackground(l.colorFill).toHexShortString(),i=new aW.q(l.colorFill).onBackground(l.colorFill).onBackground(l.colorFill).toHexShortString();return(0,P.useEffect)(()=>{document.body.style.setProperty("--nb-spacing",`${l.marginLG}px`),document.body.style.setProperty("--nb-designer-offset",`${l.marginXS}px`),document.body.style.setProperty("--nb-header-height",`${l.sizeXXL-2}px`),document.body.style.setProperty("--nb-box-bg",l.colorBgLayout),document.body.style.setProperty("--colorBgLayout",l.colorBgLayout),document.body.style.setProperty("--colorBgContainer",l.colorBgContainer),document.body.style.setProperty("--controlHeightLG",`${l.controlHeightLG}px`),document.body.style.setProperty("--paddingContentVerticalSM",`${l.paddingContentVerticalSM}px`),document.body.style.setProperty("--marginSM",`${l.marginSM}px`),document.body.style.setProperty("--colorInfoBg",l.colorInfoBg),document.body.style.setProperty("--colorInfoBorder",l.colorInfoBorder),document.body.style.setProperty("--colorWarningBg",l.colorWarningBg),document.body.style.setProperty("--colorWarningBorder",l.colorWarningBorder),document.body.style.setProperty("--colorText",l.colorText),document.body.style.setProperty("--colorTextDescription",l.colorTextDescription),document.body.style.setProperty("--colorBgTextHover",l.colorBgTextHover),document.body.style.setProperty("--colorSplit",l.colorSplit),document.body.style.setProperty("--borderRadiusOuter",`${l.borderRadiusOuter}px`),document.body.style.setProperty("--colorTextHeaderMenu",l.colorTextHeaderMenu),document.body.style.setProperty("--colorPrimaryText",l.colorPrimaryText),document.body.style.setProperty("--colorPrimaryTextActive",l.colorPrimaryTextActive),document.body.style.setProperty("--colorPrimaryTextHover",l.colorPrimaryTextHover),document.body.style.setProperty("--colorBgSider",l.colorBgSider),document.body.style.setProperty("--colorBgSiderMenuHover",l.colorBgSiderMenuHover),document.body.style.setProperty("--colorBgSiderMenuActive",l.colorBgSiderMenuActive),document.body.style.setProperty("--colorTextSiderMenu",l.colorTextSiderMenu),document.body.style.setProperty("--colorTextSiderMenuHover",l.colorTextSiderMenuHover),document.body.style.setProperty("--colorTextSiderMenuActive",l.colorTextSiderMenuActive),document.body.style.setProperty("--colorBgScrollTrack",n),document.body.style.setProperty("--colorBgScrollBar",o),document.body.style.setProperty("--colorBgScrollBarHover",r),document.body.style.setProperty("--colorBgScrollBarActive",i),document.body.style.setProperty("--colorSettings",l.colorSettings||el.token.colorSettings),document.body.style.setProperty("--colorBgSettingsHover",l.colorBgSettingsHover),document.body.style.setProperty("--colorTemplateBgSettingsHover",l.colorTemplateBgSettingsHover),document.body.style.setProperty("--colorBorderSettingsHover",l.colorBorderSettingsHover),document.body.style.setProperty("--colorBgMenuItemSelected",l.colorBgHeaderMenuActive),document.body.style.setProperty("background-color",l.colorBgContainer)},[o,i,r,n,l.colorBgContainer,l.colorBgLayout,l.colorBgSettingsHover,l.colorTemplateBgSettingsHover,l.colorBorderSettingsHover,l.colorInfoBg,l.colorInfoBorder,l.colorPrimaryText,l.colorPrimaryTextActive,l.colorPrimaryTextHover,l.colorSettings,l.colorBgTextHover,l.colorSplit,l.colorText,l.colorTextDescription,l.colorWarningBg,l.colorWarningBorder,l.borderRadiusOuter,l.controlHeightLG,l.marginLG,l.marginSM,l.marginXS,l.paddingContentVerticalSM,l.sizeXXL,l.colorTextHeaderMenu,l.colorBgSider,l.colorBgSiderMenuHover,l.colorBgSiderMenuActive,l.colorTextSiderMenu,l.colorTextSiderMenuHover,l.colorTextSiderMenuActive,l.colorBgHeaderMenuActive]),t};aH.displayName="CSSVariableProvider";let aG=aH;class aY extends i_{createApiClient(e){let t=new N({withCredentials:!0,...e.apiClient,appName:e.name||(0,A.getSubAppName)(e.publicPath)});return t.app=this,t}configureRuntimeAdapters(){this.dataSourceManager=this.flowEngine.context.dataSourceManager,this.dataSourceManager.setRequester(this.apiClient.request.bind(this.apiClient)),this.dataSourceManager.collectionFieldInterfaceManager||this.dataSourceManager.setCollectionFieldInterfaceManager(new aT(this.dataSourceManager))}createI18n(e){if(e.i18n)return e.i18n;let t=(0,ij.createInstance)();return t.use(iU.r9).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1}),t}createRouterManager(e){var t;let l=new nZ(e.router,this);if((null==(t=e.router)?void 0:t.basename)===void 0){let e=this.getPublicPath(),t="/"===e?void 0:e.replace(/\/$/,"");t&&l.setBasename(t)}return l}createPluginManager(e){return new aK(e.plugins||[],!!e.loadRemotePlugins,this)}createPluginSettingsManager(e){return new aU.mz(this)}async load(){try{this.hasLoadError=!1,await this.loadWebSocket(),await this.pm.load(),await this.flowEngine.flowSettings.load()}catch(r){var e,t,l,n,o;this.hasLoadError=!0,(null==r||null==(n=r.response)||null==(l=n.data)||null==(t=l.errors)||null==(e=t[0])?void 0:e.code)==="BLOCKED_IP"&&(this.hasLoadError=!1),this.ws.enabled&&await new Promise(e=>{setTimeout(()=>e(null),1e3)}),this.error={code:"LOAD_ERROR",...null==(o=this.apiClient.toErrMessages(r))?void 0:o[0]},console.error(r,this.error)}this.updateFavicon()}async loadWebSocket(){this.eventBus.addEventListener("ws:message:authorized",()=>{this.setWsAuthorized(!0)}),this.ws.on("message",e=>{var t,l,n,o;if(!e.data)return;let r=JSON.parse(e.data);if(null==r||null==(t=r.payload)?void 0:t.refresh)return void globalThis.window.location.reload();if("notification"===r.type){let e=this.context.notification;null==(n=e[(null==(o=r.payload)?void 0:o.type)||"info"])||n.call(e,{message:null==(l=r.payload)?void 0:l.message});return}if("maintaining"===r.type&&"APP_RUNNING"!==r.payload.code)this.setMaintaining(!0),this.error=r.payload;else{this.hasLoadError&&globalThis.window.location.reload(),this.setMaintaining(!1),this.maintained=!0,this.error=null;let e=r.type;if(!e)return;let t=`ws:message:${e}`;this.eventBus.dispatchEvent(new CustomEvent(t,{detail:r.payload}))}}),this.ws.on("serverDown",()=>{this.maintaining=!0,this.maintained=!1}),this.ws.on("open",()=>{let e=this.apiClient.auth.token;e&&this.setTokenInWebSocket({token:e,authenticator:this.apiClient.auth.getAuthenticator()})}),this.ws.connect()}addCustomProviders(){this.use(aG)}addFieldInterfaces(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.dataSourceManager.addFieldInterfaces(e)}addFieldInterfaceGroups(e){return this.dataSourceManager.addFieldInterfaceGroups(e)}addFieldInterfaceComponentOption(e,t){return this.dataSourceManager.addFieldInterfaceComponentOption(e,t)}addFieldInterfaceOperator(e,t){return this.dataSourceManager.addFieldInterfaceOperator(e,t)}registerFieldFilterOperator(e){return this.dataSourceManager.registerFieldFilterOperator(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.dataSourceManager.registerFieldFilterOperatorGroup(e,t)}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.dataSourceManager.addFieldFilterOperatorsToGroup(e,t)}registerFieldValidationConfigure(e){var t,l;return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.registerFieldValidationConfigure)?void 0:t.call(l,e)}registerFieldValidationConfigureGroup(e){var t,l;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.registerFieldValidationConfigureGroup)?void 0:t.call(l,e,n)}addFieldValidationConfiguresToGroup(e){var t,l;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.addFieldValidationConfiguresToGroup)?void 0:t.call(l,e,n)}constructor(...e){super(...e),this.hasLoadError=!1}}let aJ=(0,P.createContext)(null);aJ.displayName="ApplicationContext";var aX=l(36093),aQ=l.n(aX);class aZ extends aY{constructor(e={}){super({router:{type:"memory",initialEntries:["/"]},...e}),this.apiMock=new(aQ())(this.apiClient.axios),this.ws=new a0(e.ws||{})}}class a0 extends r2{connect(){}close(){}send(){}on(e,t,l){this.eventBus.addEventListener(e,e=>t({data:JSON.stringify(e.detail)}),l)}emit(e,t){this.eventBus.dispatchEvent(new CustomEvent(e,{detail:t}))}off(e,t,l){this.eventBus.removeEventListener(e,t,l)}removeAllListeners(){}constructor(e){super(e),this.eventBus=new EventTarget}}function a1(e){return new aZ(e)}class a2{get pluginManager(){return this.app.pluginManager}get context(){return this.app.context}get flowEngine(){return this.app.flowEngine}get engine(){return this.app.flowEngine}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}get ai(){return this.app.aiManager}async afterAdd(){}async beforeLoad(){}async load(){}t(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.app.i18n.t(e,{ns:null==(t=this.options)?void 0:t.packageName,...l})}constructor(e,t){this.options=e,this.app=t,this.options=e,this.app=t}}var a8=l(84256),a6=l(47785);function a3(e){return"steps"in e&&e.steps||{}}function a5(e){let t=a3(e);for(let e of["saveResource","submit","request","apply","save"]){var l;if(Object.prototype.hasOwnProperty.call(t,e)&&(null==(l=t[e])?void 0:l.result)!=null)return t[e].result}let n=Object.entries(t).filter(e=>{let[t,l]=e;return"afterSuccess"!==t&&(null==l?void 0:l.result)!=null}).map(e=>{let[,t]=e;return t.result});return n[n.length-1]}function a4(e){if(!a7(e))return;let t=a9(e);if(t())return(0,L.createRecordMetaFactory)(t,e.t("Response record"),()=>{let l=t(),n=a5(e);if(l&&n)try{let e=l.getFilterByTK(n);if(null==e)return;return{collection:l.name,dataSourceKey:l.dataSourceKey||"main",filterByTk:e}}catch(e){return}})}function a7(e){var t;if(Object.prototype.hasOwnProperty.call(a3(e),"saveResource"))return!0;let{model:l,flowKey:n}=e;return!!l&&"function"==typeof l.getFlow&&!!n&&Object.prototype.hasOwnProperty.call((null==(t=l.getFlow(n))?void 0:t.steps)||{},"saveResource")}function a9(e){return()=>{var t,l;return(null==(t=e.blockModel)?void 0:t.collection)||e.collection||(null==(l=e.model)?void 0:l.collection)||null}}function se(e){let t=a4(e);if(!t){var l;return(null==(l=e.getPropertyMetaTree)?void 0:l.call(e))||[]}let n=new L.FlowContext;return n.addDelegate(e),n.defineProperty("responseRecord",{get:()=>a5(e),cache:!1,resolveOnServer:(0,L.createRecordResolveOnServerWithLocal)(a9(e),()=>a5(e)),meta:t}),n.getPropertyMetaTree()}function st(e){let t=(0,L.useFlowSettingsContext)(),l=(0,P.useMemo)(()=>()=>se(t),[t]);return(0,O.jsx)(a6.n,{...e,metaTree:l})}let sl=(0,L.defineAction)({name:"afterSuccess",title:(0,L.tExpr)("After successful submission"),defineProperties(e){let t=a4(e);return{responseRecord:{get:()=>a5(e),cache:!1,resolveOnServer:(0,L.createRecordResolveOnServerWithLocal)(a9(e),()=>a5(e)),...t?{meta:t}:{}}}},uiSchema:{successMessage:{type:"string",title:(0,L.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,L.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,L.tExpr)("Automatic close"),value:!1},{label:(0,L.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,L.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,L.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,L.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,L.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,L.tExpr)("Link"),"x-decorator":"FormItem","x-component":st,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,L.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:n=!1,actionAfterSuccess:o="previous",redirectTo:r}=t;"previous"===o&&e.view&&e.view.close();let i=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,ed.isURL)(e)){window.location.href=e;return}i(e)};if(l){let t=e.t(l);if(n)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===o&&r&&a(r)}});e.message.success(t)}"redirect"===o&&r&&a(r)}}),sn=(0,L.defineAction)({name:"confirm",title:(0,L.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,L.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,L.tExpr)("Title"),"x-decorator":"FormItem","x-component":a6.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,L.tExpr)("Content"),"x-decorator":"FormItem","x-component":a6.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,L.tExpr)("Please Confirm"),content:(0,L.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 so=l(58528),sr=l(81486);let si={__nocobaseDataScopeNull__:!0},sa="{{$nRole}}",ss=/^\s*\{\{\s*ctx\.role\s*\}\}\s*$/;function sd(e){return"string"==typeof e&&ss.test(e)}function su(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function sc(e){return su(e)?null:Array.isArray(e)?e.map(e=>sc(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=sc(e[l]),t),{}):e}function sp(e){var t;return!!(0,L.isVariableExpression)(e)&&(null==(t=(0,L.extractPropertyPath)(e))?void 0:t[0])==="urlSearchParams"}function sm(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){if(sd(e.value)){t.value=sa;return}(0,L.isVariableExpression)(e.value)&&!sp(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=si);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{sm(e,t.items[l])})}}function sh(e,t){let l=V().cloneDeep(t);return sm(e,l),sc((0,L.pruneFilter)((0,ed.transformFilter)(l)))}var sf=l(12197),sg=l(47632);function sv(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function sy(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function sx(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,sf.Qc)(l),l);return Array.from(t.values())}function sb(e){let t=sx(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&sy(e,t)))}function sw(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 sS(e){var t;let l=null==e?void 0:e.model;return sw((null==l||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function sC(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 sF(e,t){let l=sC(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function sk(e){return(0,sf.EA)(e).filter(e=>"object"!=typeof e)}function sA(e){return(0,sf.c1)(e)}function sP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=e,n=Array.isArray(null==l?void 0:l.changedPaths)?l.changedPaths:[],o=[];for(let e of n){if(Array.isArray(e)){if(1===e.length&&"string"==typeof e[0]){let t=(0,sf.c1)(e[0]);t.length&&o.push(t);continue}let t=e.filter(e=>"string"==typeof e||"number"==typeof e);t.length&&o.push(t);continue}"string"==typeof e&&e&&o.push((0,sf.c1)(e))}if(o.length)return o;let r=null==l?void 0:l.changedValues;if(r&&"object"==typeof r&&(t.includeArrayChangedValues||!Array.isArray(r)))for(let e of Object.keys(r)){let t=(0,sf.c1)(e);t.length&&o.push(t)}return o}function sM(e){var t,l;let n=e;return!!n&&"object"==typeof n&&!!n.emitter&&"function"==typeof n.emitter.on&&"function"==typeof n.emitter.off&&(!!n.formValueRuntime||!!(null==(t=n.context)?void 0:t.form)||"function"==typeof(null==(l=n.context)?void 0:l.setFormValues))}function sj(e){var t;let l=[],n=e=>{e&&!l.includes(e)&&l.push(e)},o=e.model;n(null==o||null==(t=o.context)?void 0:t.blockModel),n(e.model);let r=null==o?void 0:o.parent;for(;r;)n(r),r=null==r?void 0:r.parent;return l.find(sM)||null}var sI=l(26866);function sT(e){if(Array.isArray(e)){let t=e.filter(e=>"string"==typeof e&&!!e);return t.length?t:"id"}return"string"==typeof e&&e?e:"id"}function sR(e){var t,l;return sT((null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey)??(null==e||null==(l=e.targetCollection)?void 0:l.filterByTk)??(null==e?void 0:e.targetKey))}function sE(e){var t,l,n,o,r,i,a,s,d,u;let c=e.model;return(null==c||null==(n=c.context)||null==(l=n.blockModel)||null==(t=l.context)?void 0:t.collection)??(null==c||null==(i=c.context)||null==(r=i.formBlock)||null==(o=r.context)?void 0:o.collection)??(null==c||null==(a=c.context)?void 0:a.rootCollection)??(null==e?void 0:e.rootCollection)??(null==e?void 0:e.collection)??(null==c||null==(d=c.context)||null==(s=d.collectionField)?void 0:s.collection)??(null==c||null==(u=c.context)?void 0:u.collection)}function sN(e){var t,l,n,o,r,i,a,s,d,u,c,p;let m=e.model;return sT((null==m||null==(l=m.context)||null==(t=l.collection)?void 0:t.filterTargetKey)??(null==m||null==(o=m.context)||null==(n=o.collection)?void 0:n.filterByTk)??(null==m||null==(a=m.context)||null==(i=a.collectionField)||null==(r=i.targetCollection)?void 0:r.filterTargetKey)??(null==m||null==(u=m.context)||null==(d=u.collectionField)||null==(s=d.targetCollection)?void 0:s.filterByTk)??(null==m||null==(p=m.context)||null==(c=p.collectionField)?void 0:c.targetKey))}function sD(e,t){let l=sE(e),n=sN(e);return t.map(e=>{let t=n;if(null==l?void 0:l.getField){var o;let n=l.getField(e.name);((null==n||null==(o=n.isAssociationField)?void 0:o.call(n))||(null==n?void 0:n.targetCollection)||(null==n?void 0:n.targetKey))&&(t=sR(n),l=null==n?void 0:n.targetCollection)}return{...e,filterTargetKey:t}})}function s$(e,t,l){let n=e.length-1-t;if(n<0)return;let o=e[n],r=null==o?void 0:o.filterTargetKey,i=Array.isArray(r)?r.map(e=>[e]):"string"==typeof r&&r?[[r]]:[];return{entries:e.slice(0,n+1).map(e=>({...e})),tailPath:l,identityTailPaths:i}}function sB(e,t){return null!=e&&(Array.isArray(e)&&"number"==typeof t?t>=0&&t<e.length:"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,t))}function sO(e,t){let l=e;for(let e of t){if(!sB(l,e))return{found:!1};l=l[e]}return{found:!0,value:l}}function sq(e){let t=e;return(null==t?void 0:t.allValuesSnapshot)??(null==t?void 0:t.allValues)}function sL(e,t){return e&&"object"==typeof e?(0,sI.r5)(e,t):null}function s_(e){let t=[];for(let l of e.entries)t.push(l.name,l.index);return t}function sV(e,t,l,n){if(null==l?void 0:l.rowDetached)return!1;let o=s_(t);if(!o.length||!t.identityTailPaths.length)return!1;let r=t.identityTailPaths.map(e=>[...o,...e]);return(n??sP(e)).some(e=>r.some(t=>sy(t,e)))}function sz(e,t,l){return Array.isArray(e)&&t?e.findIndex(e=>sL(e,l)===t):-1}function sK(e,t,l,n){let o=[],r=-1,i=[];for(let a=0;a<t.entries.length;a++){let s=t.entries[a],d=[...o,s.name],u=sO(e,d);if(!u.found||!Array.isArray(u.value))return{found:!1};let c=null==l?void 0:l[a],p=sz(u.value,c,s.filterTargetKey),m=p>=0?p:s.index;if(m<0||m>=u.value.length)return c?{found:!1,rowMissing:!0}:{found:!1};let h=u.value[m];if(c&&p<0&&!n)return{found:!1,rowMissing:!0};i.push(sL(h,s.filterTargetKey)),r=m,o=[...d,m]}return{found:!0,path:[...o,...t.tailPath],rowIndex:r,rowIdentities:i}}function sU(e,t,l){var n,o;let r=sO(sq(t),l);if(r.found)return r;let i=null==e||null==(n=e.context)?void 0:n.form;return"function"==typeof(null==i?void 0:i.getFieldValue)?{found:!0,value:i.getFieldValue(l)}:sO(null==e||null==(o=e.context)?void 0:o.formValues,l)}function sW(e,t,l,n,o){var r,i;let a=l.rowScope;if(!a)return sU(e,t,l.path);if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let s=sV(t,a,n,o);for(let l of[sq(t),null==e||null==(r=e.context)?void 0:r.formValues]){let e=sK(l,a,null==n?void 0:n.rowIdentities,s);if(e.rowMissing)return{found:!1,rowMissing:!0};if(!e.found||!e.path)continue;let t=sO(l,e.path);if(t.found)return{found:!0,value:t.value,rowIdentities:e.rowIdentities}}let d=null==e||null==(i=e.context)?void 0:i.form;return"function"==typeof(null==d?void 0:d.getFieldValue)?{found:!0,value:d.getFieldValue(l.path),rowIdentities:null==n?void 0:n.rowIdentities}:{found:!1}}function sH(e){return Array.isArray(e)?e.length:e}function sG(e,t,l){var n,o;if(!Array.isArray(e))return{found:!0,value:e};let r=null==l||null==(n=l.rowIdentities)?void 0:n[l.rowIdentities.length-1],i=null==(o=t.rowScope)?void 0:o.entries[t.rowScope.entries.length-1],a=sz(e,r,null==i?void 0:i.filterTargetKey);return a>=0?{found:!0,value:a,rowIdentities:null==l?void 0:l.rowIdentities}:r?{found:!1,rowMissing:!0}:!i||i.index<0||i.index>=e.length?{found:!1}:{found:!0,value:i.index,rowIdentities:[sL(e[i.index],i.filterTargetKey)]}}function sY(e,t,l,n,o){var r,i;if("length"===l.kind){if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let i=null==n?void 0:n.rowIdentities,a=l.rowScope;if(a){let l=sV(t,a,n,o);for(let o of[sq(t),null==e||null==(r=e.context)?void 0:r.formValues]){let e=sK(o,a,null==n?void 0:n.rowIdentities,l);if(e.rowMissing)return{found:!1,rowMissing:!0};if(e.found){i=e.rowIdentities;break}}}let s=sU(e,t,l.path);return s.found?{found:!0,value:sH(s.value),rowIdentities:i}:s}if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let a=l.rowScope;if(a){let l=sV(t,a,n,o);for(let o of[sq(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=sK(o,a,null==n?void 0:n.rowIdentities,l);if(e.rowMissing)return{found:!1,rowMissing:!0};if(e.found&&"number"==typeof e.rowIndex)return{found:!0,value:e.rowIndex,rowIdentities:e.rowIdentities}}}let s=sU(e,t,l.path);return s.found?sG(s.value,l,n):s}function sJ(e,t,l){if(e.wildcard)return null;let n={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let o of e.valuePaths){let e=(0,sf.Qc)(o.path),r=sW(t,l,o);if(r.rowMissing){n.rowMissing=!0,n.complete=!1;continue}if(!r.found){n.complete=!1;continue}n.values.set(e,{value:(0,_.cloneDeep)(r.value),rowIdentities:r.rowIdentities,rowDetached:!1})}for(let o of e.structuralPaths){let e=sY(t,l,o);if(e.rowMissing){n.rowMissing=!0,n.complete=!1;continue}if(!e.found){n.complete=!1;continue}n.structures.set(`${o.kind}:${(0,sf.Qc)(o.path)}`,{value:(0,_.cloneDeep)(e.value),rowIdentities:e.rowIdentities,rowDetached:!1})}return n}function sX(e,t,l,n,o){if(e.wildcard)return null;let r={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let i of e.valuePaths){let e=(0,sf.Qc)(i.path),a=n.values.get(e),s=sW(t,l,i,a,o);if(s.rowMissing){r.rowMissing=!0,r.rowDetached=!0,a?r.values.set(e,{...a,rowDetached:!0}):r.complete=!1;continue}if(!s.found){r.complete=!1;continue}r.values.set(e,{value:(0,_.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}for(let i of e.structuralPaths){let e=`${i.kind}:${(0,sf.Qc)(i.path)}`,a=n.structures.get(e),s=sY(t,l,i,a,o);if(s.rowMissing){r.rowMissing=!0,r.rowDetached=!0,a?r.structures.set(e,{...a,rowDetached:!0}):r.complete=!1;continue}if(!s.found){r.complete=!1;continue}r.structures.set(e,{value:(0,_.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}return r}function sQ(e,t){if(e.size!==t.size)return!1;for(let[n,o]of e.entries()){var l;if(!t.has(n)||!(0,_.isEqual)(o.value,null==(l=t.get(n))?void 0:l.value))return!1}return!0}function sZ(e,t,l,n){if(e.wildcard||!(null==n?void 0:n.complete))return{status:"unknown",snapshot:sJ(e,t,l)};let o=sX(e,t,l,n,sP(l));return(null==o?void 0:o.rowMissing)?{status:"unchanged",snapshot:{...o,rowMissing:!1}}:(null==o?void 0:o.complete)?{status:sQ(n.values,o.values)&&sQ(n.structures,o.structures)?"unchanged":"changed",snapshot:o}:{status:"unknown",snapshot:o}}let s0="formValuesChange",s1="__formValueDrivenDataScopeClearBindings";function s2(e){let t=new Map;for(let n of e){var l;(null==n||null==(l=n.path)?void 0:l.length)&&t.set((0,sf.Qc)(n.path),n)}return Array.from(t.values())}function s8(e){let t=s2(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&sy(e.path,t.path)))}function s6(e){let t=new Map;for(let n of e){var l;(null==n||null==(l=n.path)?void 0:l.length)&&t.set(`${n.kind}:${(0,sf.Qc)(n.path)}`,n)}return Array.from(t.values())}function s3(e){let t=new Map;for(let n of e){var l;(null==n||null==(l=n.path)?void 0:l.length)&&t.set(`${n.includeChildren?"children":"exact"}:${(0,sf.Qc)(n.path)}`,n)}return Array.from(t.values())}function s5(){return{wildcard:!1,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function s4(){return{wildcard:!0,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function s7(e){let t=e[0];if("value"===t){let t=e.slice(1);return t.length?{wildcard:!1,valuePaths:[{path:t}],structuralPaths:[],triggerPaths:[]}:s4()}return"__is_new__"===t||"__is_stored__"===t?{wildcard:!1,valuePaths:[{path:[t]}],structuralPaths:[],triggerPaths:[]}:s5()}function s9(e,t){var l,n;let o=sD(e,sw((null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex))),r=0,i=[...t];for(;"parentItem"===i[0];)r+=1,i=i.slice(1);let a=i[0];if(!a)return s4();if(!o.length)return 0===r?s7(i):s5();if(r===o.length)return s7(i);if(r>o.length)return s4();if("value"===a){let e=sC(o,r);if(!e)return s4();let t=sF(o,r),l=i.slice(1);return{wildcard:!1,valuePaths:[{path:[...e,...l],rowScope:s$(o,r,l)}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0},...t?[{path:t,includeChildren:!1}]:[]]}}if("index"===a||"length"===a){let e=sF(o,r);return e?{wildcard:!1,valuePaths:[],structuralPaths:[{path:e,kind:a,rowScope:s$(o,r,[])}],triggerPaths:[{path:e,includeChildren:!1}]}:s4()}if("__is_new__"===a||"__is_stored__"===a){let e=sC(o,r);return e?{wildcard:!1,valuePaths:[{path:[...e,a],rowScope:s$(o,r,[a])}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0}]}:s4()}return s4()}function de(e,t){let l={deps:new Set,wildcard:!1};(0,sg.G)(t,l);let n=[],o=[],r=[],i=l.wildcard;for(let t of l.deps){if("fv:*"===t){i=!0;continue}if(!t.startsWith("fv:")){if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),a=s9(e,l?sA(l):[]);i||(i=a.wildcard),n.push(...a.valuePaths),o.push(...a.structuralPaths),r.push(...a.triggerPaths)}continue}let l=t.slice(3);if(!l){i=!0;continue}n.push({path:sA(l)})}return{wildcard:i,valuePaths:s8(n),structuralPaths:s6(o),triggerPaths:s3(r)}}function dt(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0||e.triggerPaths.length>0}function dl(e){var t;let l=null==e||null==(t=e.props)?void 0:t.value;return null!=l&&(!Array.isArray(l)||l.length>0)}function dn(e,t){if(!dt(e))return!1;if(e.wildcard)return!0;let l=sP(t);if(!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(sy(l.path,t)||sy(t,l.path))return!0;for(let l of e.structuralPaths)if(sv(l.path,t)||sy(t,l.path))return!0;for(let l of e.triggerPaths)if(l.includeChildren&&(sy(l.path,t)||sy(t,l.path))||!l.includeChildren&&sv(l.path,t))return!0}return!1}function dr(e,t){let l=e=>e.map(e=>(0,sf.Qc)(e.path)).sort(),n=e=>e.map(e=>`${e.kind}:${(0,sf.Qc)(e.path)}`).sort();return JSON.stringify({formBlockUid:null==t?void 0:t.uid,wildcard:e.wildcard,valuePaths:l(e.valuePaths),structuralPaths:n(e.structuralPaths),triggerPaths:e.triggerPaths.map(e=>`${e.includeChildren?"children":"exact"}:${(0,sf.Qc)(e.path)}`).sort()})}function di(e){var t,l;return(t=e)[l=s1]||(t[l]=new Map)}function da(e){return sj(e)}function ds(e){var t,l;if(!dl(e))return;let n=Array.isArray(null==e||null==(t=e.props)?void 0:t.value)?[]:null;"function"==typeof e.change?e.change(n):"function"==typeof(null==e||null==(l=e.props)?void 0:l.onChange)&&e.props.onChange(n)}function dd(e){var t;return!!e&&"object"==typeof e&&"function"==typeof(null==e||null==(t=e.props)?void 0:t.onChange)}function du(e,t){let l=di(e).get(t);l&&l.dispose()}function dc(e,t){var l,n,o,r,i,a;let s=e.model,d=null==e?void 0:e.flowKey;if(!dd(s)||!d)return;let u="dataScope",c=`${d}:${u}`,p=de(e,t);if(!dt(p))return void du(s,c);let m=da(e);if(!m)return void du(s,c);let h=dr(p,m),f=di(s),g=f.get(c);if((null==g?void 0:g.signature)===h)return;g&&g.dispose();let v=(null==s||null==(l=s.flowEngine)?void 0:l.emitter)||(null==e||null==(n=e.engine)?void 0:n.emitter)||(null==s||null==(r=s.context)||null==(o=r.engine)?void 0:o.emitter),y={signature:h,snapshot:sJ(p,m),dispose:()=>{}},x=()=>{var e,t,l,n;null==(t=m.emitter)||null==(e=t.off)||e.call(t,s0,b),null==v||null==(l=v.off)||l.call(v,"model:unmounted",w),null==v||null==(n=v.off)||n.call(v,"model:destroyed",S),f.get(c)===y&&f.delete(c)},b=e=>{var t;if(s.disposed||m.disposed)return void x();if(!dn(p,e))return;let l=sZ(p,m,e,y.snapshot);(null==(t=l.snapshot)?void 0:t.complete)&&(y.snapshot=l.snapshot),"unchanged"===l.status||dl(s)&&ds(s)},w=e=>{let{model:t}=e;(t===m||t===s&&s.disposed)&&x()},S=e=>{let{model:t}=e;(t===s||t===m)&&x()};y.dispose=x,f.set(c,y),m.emitter.on(s0,b),null==v||null==(i=v.on)||i.call(v,"model:unmounted",w),null==v||null==(a=v.on)||a.call(v,"model:destroyed",S)}let dp=(0,L.defineAction)({name:"dataScope",title:(0,L.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,L.useFlowSettingsContext)();return(0,O.jsx)(so.I8,{value:e.value,FilterItem:e=>(0,O.jsx)(so.Et,{...e,model:t.model,rightAsVariable:!0,maxAssociationFieldDepth:t.model instanceof sr.o?void 0:2})})}}},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),r=sh(t.filter,o);dc(e,t.filter),(0,ed.isEmptyFilter)(r)?n.removeFilterGroup(e.model.uid):n.addFilterGroup(e.model.uid,r)}});var dm=l(52717),dh=l(94130);class df extends L.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,dh.GX)(e);return(0,dh.F3)(n,o)}static async defineChildren(e){let t=this.baseClass?await (0,L.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,L.buildSubModelItem)(o,e);t&&l.push(t)}return V().sortBy([...n,...l],"sort")}}class dg extends df{}dg.baseClass=dm.S0,dg.scene=dm.s5.collection;class dv extends df{}dv.baseClass=dm.S0,dv.scene=dm.s5.record;var dy=l(14252);class dx extends L.FlowModel{static defineChildren(e){let t=this.itemModelName,l=this.maxAssociationFieldDepth??2,n=function(o){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return i>=l?[]:o.getToOneAssociationFields().map(o=>{let a=r?`${r}.${o.name}`:o.name,s=i+1;return o.targetCollection?{key:`${a}-assocationField`,label:o.title,children:()=>[{key:`${a}-children-collectionField`,label:e.t("Display fields"),type:"group",children:o.targetCollection.getFields().map(n=>{var o;if(s>=l&&((null==(o=n.isAssociationField)?void 0:o.call(n))||n.target||n.targetCollection))return;let r=`${a}.${n.name}`,i=L.DisplayItemModel.getDefaultBindingByField(e,n,{fallbackToTargetTitleField:!0});if(!i)return;let d=i.modelName;return{key:`c-${a}.${n.name}`,label:n.title,useModel:t,toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===r},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:r,associationPathName:a}}},subModels:{field:{use:d}}}}}).filter(Boolean)},{key:`${a}-children-associationField`,label:"Display association fields",type:"group",children:(n(o.targetCollection,a,s)||[]).filter(Boolean)}].filter(e=>{var t;return e.key!==`${a}-children-associationField`||(null==(t=e.children)?void 0:t.length)>0})}:void console.error(`AssociationFieldGroupModel: target collection ${o.target} not found for field ${o.name}`)}).filter(Boolean)};return n(e.collection,e.prefixFieldPath)}}function db(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function dw(e){return e.context}function dS(e,t){var l;let n=e[t]||(null==(l=dw(e))?void 0:l[t]);return n&&"object"==typeof n?n:void 0}function dC(e){var t,l,n;let o=null==(t=dw(e))?void 0:t.dataSourceManager;return o||(null==(n=e.flowEngine)||null==(l=n.context)?void 0:l.dataSourceManager)}function dF(e){return{operatorGroup:e.operatorGroup,operators:Array.isArray(e.operators)?[...e.operators]:e.operators,operatorOverrides:Array.isArray(e.operatorOverrides)?[...e.operatorOverrides]:e.operatorOverrides}}function dk(e){if(!1===e)return[];if(!e||"object"!=typeof e)return;let t=i9(dF(e));return Array.isArray(null==t?void 0:t.operators)&&t.operators.length>0?t.operators:Array.isArray(null==t?void 0:t.operatorOverrides)&&t.operatorOverrides.length>0?t.operatorOverrides:void 0}function dA(e,t){var l;let n="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;if(!n)return;let o=dC(e),r=null==o?void 0:o.collectionFieldInterfaceManager,i=null==r||null==(l=r.getFieldInterface)?void 0:l.call(r,n);return null==i?void 0:i.filterable}function dP(e){let t=[null==e?void 0:e.interface,null==e?void 0:e.type].filter(e=>"string"==typeof e),l=eR.II;for(let e of t){let t=l[e];if(null==t?void 0:t.length)return t}return[]}function dM(e){let t=dS(e,"collectionField"),l=dS(e,"filterField"),n=t||l;if((null==n?void 0:n.filterable)===!1)return[];let o=dk(null==n?void 0:n.filterable);if(null==o?void 0:o.length)return o;let r=dA(e,n);if(!1===r)return[];let i=dk(r);return(null==i?void 0:i.length)?i:dP(n)}function dj(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:dI(e);if(!t)return null;let l=dS(e,"collectionField")||dS(e,"filterField");return dM(e).find(e=>e.value===t&&(!e.visible||e.visible(l)))||null}function dI(e){var t,l,n,o,r,i;let a=dM(e);return e.operator||(null==(l=e.getStepParams)||null==(t=l.call(e,"filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(o=e.subModels)||null==(n=o.field)?void 0:n.operator)||(null==(r=a.find(e=>e.selected))?void 0:r.value)||(null==(i=a[0])?void 0:i.value)||"$includes"}function dT(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 dR(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}dx.itemModelName="DetailsItemModel",dx.maxAssociationFieldDepth=2,dx.define({label:'{{t("Display fields")}}'});let dE={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function dN(e,t){var l,n,o;let r=null==e||null==(l=e.context)?void 0:l.dataSourceManager,i=null==e?void 0:e.collection;if(!r||!(null==i?void 0:i.dataSourceKey)||!(null==i?void 0:i.name)||!t)return;let a=i.name,s=t.split(".").filter(Boolean);for(let e=0;e<s.length;e+=1){let t=null==(n=r.getCollectionField)?void 0:n.call(r,`${i.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 dD(e,t,l){let n=dE[e];if(!n)return e;let o=dN(t,l);return!o||db(o)?e:n}async function d$(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function dB(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class dO{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 r=await o.prepareInitialFilterValues();!1!==r&&l.add(o)}catch(t){console.error(`Failed to prepare filter defaults for target "${e}": ${dB(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 r=o-this.filterConfigs.length;return r>0&&n&&await this.saveFilterConfigs(),r}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(dT(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 r=e.filterPaths.map(n=>({path:n,operator:dD(e.operator||dI(l),t,n),value:o}));try{if(1===r.length)t.resource.addFilterGroup(e.filterId,new L.FilterItem({path:r[0].path,operator:r[0].operator,value:r[0].value}));else if(r.length>1){let l={logic:"$or",items:r};t.resource.addFilterGroup(e.filterId,new L.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,r=[...new Set(n.map(e=>e.targetId))].filter(e=>!(null==o?void 0:o.has(e))).map(async e=>{try{var t,l;this.bindToTarget(e);let n=this.gridModel.flowEngine.getModel(e);if(!n)return void console.error(`Target model with uid "${e}" not found`);if(!n.resource||"function"!=typeof n.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let o=n,r=n.resource,i=n,a=o.getDataLoadingMode();if("manual"===a&&!o.hasActiveFilters()){r.setData([]),r.setMeta({count:0,hasNext:!1}),"function"==typeof r.setPage&&r.setPage(1),r.loading=!1,null==(l=i.resetAfterFilterChange)||l.call(i);return}await d$(r),"function"==typeof r.setPage&&r.setPage(1),await r.refresh(),null==(t=i.resetAfterFilterChange)||t.call(i)}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(r)}constructor(e,t){this.gridModel=e,this.filterConfigs=t||[]}}var dq=l(84626),dL=l(47152),d_=l(16370);function dV(e){let{rows:t={},sizes:l={},layout:n,renderItem:o,rowGap:r=16,colGap:i=16,dragOverlayRect:a}=e,s=n||(0,L.normalizeGridLayout)({rows:t,sizes:l});return s.rows.length?(0,O.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:r},"data-grid-root":!0,children:[a&&(0,O.jsx)(dU,{rect:a}),(0,O.jsx)(dz,{rows:s.rows,renderItem:o,rowGap:r,colGap:i,parentPath:[]})]}):(0,O.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:a&&(0,O.jsx)(dU,{rect:a})})}function dz(e){let{rows:t,renderItem:l,rowGap:n,colGap:o,parentPath:r}=e;return(0,O.jsx)(O.Fragment,{children:t.map(e=>{let t=e.cells.length,i=e.sizes||[],a=i.some(e=>null!=e&&void 0!==e),s=[...r,{rowId:e.id}],d=e.cells.map((e,l)=>{if(!a)return 24/t;{let e=i.reduce((e,t)=>e+(t||0),0),n=t-i.filter(Boolean).length,o=n>0?(24-e)/n:0;return i[l]??o}});return(0,O.jsx)(dL.A,{gutter:o,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,r)=>(0,O.jsx)(dK,{rowKey:e.id,columnIndex:r,span:d[r],rowGap:n,colGap:o,cell:t,path:[...s.slice(0,-1),{rowId:e.id,cellId:t.id}],renderItem:l},t.id))},e.id)})})}let dK=P.memo(function(e){var t;let{rowKey:l,columnIndex:n,span:o,rowGap:r,colGap:i,cell:a,path:s,renderItem:d}=e,u=a.items||[];return(0,O.jsx)(d_.A,{span:o,"data-grid-column-row-id":l,"data-grid-column-index":n,"data-grid-path":JSON.stringify(s),children:(0,O.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:r},children:[u.map((e,t)=>e===L.EMPTY_COLUMN_UID?null:(0,O.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,O.jsx)(dz,{rows:a.rows,renderItem:d,rowGap:r,colGap:i,parentPath:s}):null]})})});function dU(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,O.jsx)("div",{style:{...l,...n[t.type]}})}dK.displayName="GridColumn";var dW=l(95725),dH=l(40919);let dG=e=>{let{value:t,onChange:l,rows:n=10,...o}=e,[r,i]=(0,P.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,P.useState)(null);(0,P.useEffect)(()=>{i(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;i(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,O.jsxs)("div",{children:[(0,O.jsx)(dW.A.TextArea,{value:r,autoSize:{minRows:n,maxRows:n+10},onChange:d,...o}),a&&(0,O.jsx)(dH.A,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},dY=(0,np.connect)(dG),dJ="gridSettings",dX="grid",dQ=new Set(["column-edge","item-edge","empty-column"]),dZ=e=>e.filter(e=>!dQ.has(e.type)),d0=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 d1 extends L.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(dJ,dX)||{};return(0,L.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=V().omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,L.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(dJ,{[dX]:{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 r=o.cells.find(e=>e.id===n.cellId);l=(null==r?void 0:r.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)&&V().isEqual(this.collectCellItemsForResize(e),t));if(-1!==o){l.add(o);let n=e.cells[o];return n.rows&&!n.items?V().cloneDeep(n):{id:n.id,items:[...t]}}return{id:`${e.id}:cell:${n}:${(0,ii.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),r=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0;if(!o.length)return r;let i=Array.from((null==(l=this.gridContainerRef.current)?void 0:l.querySelectorAll("[data-grid-row-id]"))||[]).find(e=>{try{return V().isEqual(JSON.parse(e.dataset.gridPath||"[]"),o)}catch{return!1}});return(null==i||null==(n=i.parentElement)?void 0:n.clientWidth)||r}prunePlaceholderOnlyRows(e){let t=e=>e.map(e=>{let l=e.cells.map((l,n)=>{var o,r;let i=(null==(o=e.sizes)?void 0:o[n])??1;if(null==(r=l.rows)?void 0:r.length){let e=t(l.rows);return e.length?{cell:{...l,rows:e},size:i,hasRealItem:!0}:null}let a=l.items||[],s=a.some(e=>e!==L.EMPTY_COLUMN_UID),d=a.includes(L.EMPTY_COLUMN_UID);return s||d?{cell:l,size:i,hasRealItem:s}:null}).filter(Boolean);return l.some(e=>e.hasRealItem)?{...e,cells:l.map(e=>e.cell),sizes:l.map(e=>e.size)}:null}).filter(Boolean);return(0,L.normalizeGridLayout)({layout:{...e,rows:t(e.rows||[])},itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}resizeGridLayout(e){var t;let{direction:l,resizeDistance:n,model:o}=e,r=this.getGridLayout(),i=(0,L.findModelUidLayoutPosition)(r,o.uid);if(!i)return null;let a=this.findLayoutRowByPath(r,i.path);if(!a)return null;let s=this.getResizeContainerWidth(i.path),d=a.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:u,newSizes:c,moveDistance:p}=d8({position:{rowId:a.id,columnIndex:i.cellIndex,itemIndex:i.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}),m=V().cloneDeep(r),h=this.findLayoutRowByPath(m,i.path);return h?(h.cells=this.buildResizedCells(a,u[a.id]||[]),h.sizes=c[a.id]||[],{layout:(0,L.normalizeGridLayout)({layout:m,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);let o=this.prunePlaceholderOnlyRows(this.props.layout);this.setGridStepLayout(o),this.syncLayoutProps(o),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,L.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(L.EMPTY_COLUMN_UID);let n=new Set,o={};for(let[t,r]of Object.entries(e)){let e=r.map(e=>V().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 r=new Set;for(let e of(Object.values(o).forEach(e=>e.forEach(e=>e.forEach(e=>r.add(e)))),t))r.has(e.uid)||(o[(0,ii.uid)()]=[[e.uid]]);return o}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(dJ,dX)||{},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=d0(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,L.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=this.context.isMobileLayout?dZ(e.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 r=this.dragOverlayConfig,i=e.rect;switch(e.type){case"column":{let l=null==r||null==(t=r.columnInsert)?void 0:t[e.position],n=(null==l?void 0:l.height)??i.height,o=(null==l?void 0:l.offsetTop)??0;return{top:i.top+o,left:i.left,width:i.width,height:n}}case"column-edge":{let t=null==r||null==(l=r.columnEdge)?void 0:l[e.direction],n=(null==t?void 0:t.width)??i.width,o=(null==t?void 0:t.offsetLeft)??0;return{top:i.top,left:i.left+o,width:n,height:i.height}}case"item-edge":{let t=null==r||null==(n=r.columnEdge)?void 0:n[e.direction],l=(null==t?void 0:t.width)??i.width,o=(null==t?void 0:t.offsetLeft)??0;return{top:i.top,left:i.left+o,width:l,height:i.height}}case"row-gap":{let t=null==r||null==(o=r.rowGap)?void 0:o[e.position],l=(null==t?void 0:t.height)??i.height,n=(null==t?void 0:t.offsetTop)??0;return{top:i.top+n,left:i.left,width:i.width,height:l}}default:return{top:i.top,left:i.left,width:i.width,height:i.height}}}getHitTestSlot(e){return{...e,rect:this.computeOverlayRect(e)}}resolveDragSlot(e){var t;return(null==(t=this.dragState)?void 0:t.slots.length)?(0,L.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,L.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,L.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:ii.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,ii.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,L.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:V().cloneDeep(l.rows),sizes:V().cloneDeep(l.sizes),rowOrder:V().cloneDeep(l.rowOrder),layout:V().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,L.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:V().cloneDeep(n.rows),sizes:V().cloneDeep(n.sizes),rowOrder:V().cloneDeep(n.rowOrder),layout:V().cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:d0(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(V().cloneDeep(l.layout)):(this.setProps("rows",V().cloneDeep(l.rows)),this.setProps("sizes",V().cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",V().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,L.normalizeGridLayout)({rows:d2((0,L.projectLayoutToLegacyRows)(t).rows)}):t,n=(0,L.projectLayoutToLegacyRows)(l),{rows:o,rowOrder:r}=this.normalizeRowsWithOrder(n.rows,n.rowOrder),i=this.orderSizesByRowOrder(n.sizes,r);if(this.context.flowSettingsEnabled)return{layout:l,rows:o,sizes:i};let a=new Map(((null==(e=this.subModels)?void 0:e.items)||[]).map(e=>[e.uid,e])),s=e=>e.map(e=>{let t=e.cells.map((t,l)=>{var n;let o=null==(n=e.sizes)?void 0:n[l],r=Number.isFinite(o)&&o>0?o:1;if(t.rows){let e=s(t.rows);return e.length?{cell:{...t,rows:e},size:r,hasVisibleContent:!0}:null}let i=(t.items||[]).filter(e=>{var t;return e===L.EMPTY_COLUMN_UID||(null==(t=a.get(e))?void 0:t.hidden)!==!0}),d=i.some(e=>{if(e===L.EMPTY_COLUMN_UID)return!1;let t=a.get(e);return!t||!t.hidden}),u=i.includes(L.EMPTY_COLUMN_UID);return d||u?{cell:{...t,items:i},size:r,hasVisibleContent:d}:null}).filter(Boolean);return t.some(e=>e.hasVisibleContent)?{...e,cells:t.map(e=>e.cell),sizes:t.map(e=>e.size)}:null}).filter(Boolean),d=(0,L.normalizeGridLayout)({layout:{version:2,rows:s(l.rows)}}),u=(0,L.projectLayoutToLegacyRows)(d);return{layout:d,rows:u.rows,sizes:u.sizes}}render(){let{layout:e,rows:t,sizes:l}=this.getVisibleLayout(),n=Object.keys(t||{}).length>0;return(0,O.jsxs)(O.Fragment,{children:[n&&(0,O.jsx)(dq.A,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap,display:"flex"},size:this.props.rowGap,children:(0,O.jsx)(L.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,O.jsx)(dV,{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,r;let i=this.flowEngine.getModel(e);if(!i)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?i:(()=>{let t=i.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,O.jsx)(L.Droppable,{model:p,children:(0,O.jsx)(L.MemoFlowModelRenderer,{model:p,fallback:i.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==(r=p.constructor)?void 0:r.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,O.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),this.subModelBaseClass="BlockModel",this.gridContainerRef=P.createRef(),this.prevMoveDistance=0,this.itemSettingsMenuLevel=1,this.itemFlowSettings={},this.itemFallback=(0,O.jsx)(rq,{}),this.itemExtraToolbarItems=[{key:"drag-handler",component:L.DragHandler,sort:1}],this.updateDragPointerPosition=e=>{if(!this.dragState)return;let t=d0(e);t&&(this.dragState.pointerPosition=t)},this.handleDragScroll=()=>{this.dragState&&this.scheduleSnapshotRefresh()}}}function d2(e,t){let l=(null==t?void 0:t.emptyColumnUid)??L.EMPTY_COLUMN_UID,n={},o=e=>{if(!n[e])return e;let t=1,l=`${e}:duplicate:${t}`;for(;n[l];)t+=1,l=`${e}:duplicate:${t}`;return l};return Object.keys(e).forEach(t=>{let r=e[t].map((e,t)=>({columnIndex:t,items:e.filter(e=>e!==l)})).filter(e=>e.items.length>0);if(1===r.length&&0===r[0].columnIndex){n[o(t)]=[r[0].items];return}r.forEach(e=>{n[o(`mobile:${encodeURIComponent(t)}:${e.columnIndex}`)]=[e.items]})}),n}function d8(e){var t,l;let{position:n,direction:o,resizeDistance:r,prevMoveDistance:i,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=V().cloneDeep(s),m=V().cloneDeep(a),h=Math.floor(r/(d-u*((m[n.rowId]||[]).length-1))*c);if(h===i)return{newRows:p,newSizes:m,moveDistance:h};(t=m)[l=n.rowId]??(t[l]=[c]);let f=m[n.rowId],g=h-i,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:m,moveDistance:i};g>e&&(h=i+e,g=e)}if(m[n.rowId][n.columnIndex]+=g,"left"===o&&n.columnIndex>0&&(m[n.rowId][n.columnIndex-1]-=g,0===m[n.rowId][n.columnIndex-1]&&d3({rows:p,sizes:m,position:n,direction:"left"})),"left"===o&&0===n.columnIndex){let e=m[n.rowId].slice(1).reduce((e,t)=>e+t,0);m[n.rowId][0]<c-e&&d6({rows:p,sizes:m,position:n,direction:"left"})}if("right"===o&&n.columnIndex<m[n.rowId].length-1&&(m[n.rowId][n.columnIndex+1]-=g,0===m[n.rowId][n.columnIndex+1]&&d3({rows:p,sizes:m,position:n,direction:"right"})),"right"===o&&n.columnIndex===m[n.rowId].length-1){let e=m[n.rowId].slice(0,-1).reduce((e,t)=>e+t,0);m[n.rowId][n.columnIndex]<c-e&&d6({rows:p,sizes:m,position:n,direction:"right"})}return{newRows:p,newSizes:m,moveDistance:h}}function d6(e){let{rows:t,sizes:l,position:n,direction:o}=e,r=t[n.rowId]||[],i=l[n.rowId]||[];if("left"===o){let e=r[n.columnIndex-1];if(null==e?void 0:e.includes(L.EMPTY_COLUMN_UID))return;r.splice(n.columnIndex,0,[L.EMPTY_COLUMN_UID]),i.splice(n.columnIndex,0,1)}if("right"===o){let e=r[n.columnIndex+1];if(null==e?void 0:e.includes(L.EMPTY_COLUMN_UID))return;r.splice(n.columnIndex+1,0,[L.EMPTY_COLUMN_UID]),i.splice(n.columnIndex+1,0,1)}}function d3(e){let{rows:t,sizes:l,position:n,direction:o}=e,r=t[n.rowId]||[],i=l[n.rowId]||[];if("left"===o){let e=r[n.columnIndex-1];if(!(null==e?void 0:e.includes(L.EMPTY_COLUMN_UID)))return;r.splice(n.columnIndex-1,1),i.splice(n.columnIndex-1,1)}if("right"===o){let e=r[n.columnIndex+1];if(!(null==e?void 0:e.includes(L.EMPTY_COLUMN_UID)))return;r.splice(n.columnIndex+1,1),i.splice(n.columnIndex+1,1)}}d1.registerFlow({key:dJ,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,L.tExpr)("Layout"),"x-decorator":"FormItem","x-component":dY,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,L.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,n=(0,L.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 d5=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class d4 extends d1{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new dO(this,e.filterManager)})}onMount(){var e,t;super.onMount(),(null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)!=="select"||this.viewActivatedListener||(this.viewActivatedListener=()=>{this.mapSubModels("items",e=>{var t;null==(t=e.onActive)||t.call(e)})},this.flowEngine.emitter.on(L.VIEW_ACTIVATED_EVENT,this.viewActivatedListener))}onUnmount(){this.viewActivatedListener&&(this.flowEngine.emitter.off(L.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),super.onUnmount()}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,L.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=d5.filter(t=>!!e.engine.getModelClass(t)),n=(await Promise.all(l.map(t=>(0,L.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,O.jsx)(L.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(tB.A,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,O.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),this.dragOverlayConfig={columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}}}}d4.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 d7=l(77471),d9=l(72380),ue=l(52175);class ut extends L.FlowModel{}var ul=l(5679);class un extends d7.z{}un.define({hide:!0,label:"Filter blocks"});var uo=l(44279),ur=l(21637),ui=l(2117);async function ua(e){var t,l,n,o,r;(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==(r=e.inputArgs)||null==(o=r.controller)||null==(n=o.prevent)||n.call(o),e.exitAll()))}let us="__no_active_page_tab__";function ud(e){var t;let{hiddenTabKeys:l,hiddenActiveTabLabel:n,items:o,tabBarProps:r}=e,i=o.filter(e=>!l.has(String(e.key))).map(e=>{let{children:t,className:l,destroyInactiveTabPane:n,forceRender:o,style:r,...i}=e;return{...i,children:null}}),a=i.some(e=>e.key===r.activeKey)?r.activeKey:us,s=null==(t=i.find(e=>!e.disabled))?void 0:t.key,d=l.has(String(r.activeKey))?String(r.activeKey):void 0,u=d&&r.id?`${r.id}-tab-${d}`:void 0,c=e=>{let t=String(e.key);if(a!==us||t!==String(s))return e;let l=!1,n=P.Children.map(e.props.children,e=>l||!P.isValidElement(e)||"tab"!==e.props.role?e:(l=!0,P.cloneElement(e,{tabIndex:0})));return P.cloneElement(e,void 0,n)};return(0,O.jsxs)(O.Fragment,{children:[u?(0,O.jsx)("span",{id:u,hidden:!0,children:n||d}):null,(0,O.jsx)(ur.A,{activeKey:us,animated:{inkBar:r.animated.inkBar,tabPane:!1},destroyInactiveTabPane:!0,id:r.id,items:i,more:r.more,onTabClick:(e,t)=>r.onTabClick(e,t),onTabScroll:r.onTabScroll,renderTabBar:(e,t)=>(0,O.jsx)(t,{...e,activeKey:a,children:c}),tabBarExtraContent:r.extra,tabBarGutter:r.tabBarGutter,tabBarStyle:r.style,tabPosition:r.tabPosition})]})}function uu(e){let{dependencyKey:t,onSync:l}=e,n=P.useRef(),o=P.useRef(!1),r=P.useRef();return P.useEffect(()=>{let e=l({previousEffectiveActiveKey:n.current,previousAllHidden:o.current,lastCorrectionSignature:r.current});n.current=e.effectiveActiveKey,o.current=e.previousAllHidden,r.current=e.lastCorrectionSignature},[t,l]),null}class uc extends L.FlowModel{getEnableTabs(){let e=this.context.currentRoute,t=this.props.routeId;return null!=t&&(null==e?void 0:e.id)!=null&&String(e.id)===String(t)&&"boolean"==typeof e.enableTabs?e.enableTabs:!!this.props.enableTabs}getAllTabs(){var e;return(null==(e=this.subModels)?void 0:e.tabs)||[]}getUnhiddenTabs(){return this.getAllTabs().filter(e=>!e.hidden)}getRequestedTabKey(){var e,t;let l=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;if(l){let e="string"==typeof l.tabUid&&l.tabUid?l.tabUid:void 0;if(e)return this.implicitActiveKey=void 0,{key:e,source:"url"};let t="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return t&&t===this.implicitActiveKey?{key:t,source:"implicit"}:{source:"none"}}let n="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return n?{key:n,source:n===this.implicitActiveKey?"implicit":"props"}:{source:"none"}}resolveTabActiveState(){var e,t;let l=this.getAllTabs(),n=this.getUnhiddenTabs(),o=this.getRequestedTabKey();if(!o.key)return{...o,status:"unspecified",effectiveKey:null==(e=n[0])?void 0:e.uid,allTabs:l,unhiddenTabs:n};let r=l.find(e=>e.uid===o.key);return"implicit"===o.source&&(!r||r.hidden)?{...o,status:"unspecified",effectiveKey:null==(t=n[0])?void 0:t.uid,allTabs:l,unhiddenTabs:n}:r?n.some(e=>e.uid===o.key)?{...o,status:"visible",effectiveKey:o.key,allTabs:l,unhiddenTabs:n}:{...o,status:"hidden",effectiveKey:o.key,allTabs:l,unhiddenTabs:n}:{...o,status:"unknown",effectiveKey:o.key,allTabs:l,unhiddenTabs:n}}getActiveTabKey(){if(!this.getEnableTabs()){var e;let t=null==(e=this.getFirstTab())?void 0:e.uid;if(t)return t}return this.resolveTabActiveState().effectiveKey}getTabActiveKeySyncDependency(){var e,t;let l=this.getAllTabs(),n=this.getUnhiddenTabs(),o=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return JSON.stringify([!!this.context.flowSettingsEnabled,o&&o.tabUid||null,this.props.tabActiveKey||null,l.map(e=>e.uid),n.map(e=>e.uid),this.implicitActiveKey||null])}requestDocumentTitleUpdate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.updateDocumentTitle(e,t).catch(e=>{console.warn("[PageModel] Failed to update document title",e)})}rememberImplicitActiveKey(e){this.implicitActiveKey=e,this.props.tabActiveKey!==e&&this.setProps("tabActiveKey",e)}commitTabActiveKey(e,t){let{previousActiveKey:l,navigate:n,preserveImplicitKey:o=!1,rememberLocalTransition:r=!1}=t;if(r&&e&&(this.locallyCommittedTabTransition={activeKey:e,previousActiveKey:l}),this.implicitActiveKey=e&&o?e:void 0,n){var i,a,s;null==(s=this.context.view)||null==(a=s.navigation)||null==(i=a.changeTo)||i.call(a,{tabUid:e})}e&&e!==l&&this.invokeTabModelLifecycleMethod(e,"onActive"),l&&l!==e&&this.invokeTabModelLifecycleMethod(l,"onInactive"),this.setProps("tabActiveKey",e),e||this.requestDocumentTitleUpdate()}consumeLocallyCommittedTabTransition(e,t){let l=this.locallyCommittedTabTransition;return!!l&&!!t&&(l.activeKey===t&&l.previousActiveKey===e?(this.locallyCommittedTabTransition=void 0,!0):(t!==l.previousActiveKey&&(this.locallyCommittedTabTransition=void 0),!1))}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{this.dirtyRefreshScheduled=!1,this.unmounted||!1!==(0,L.getPageActive)(this.context)&&this.activateCurrentTab(e)}).catch(()=>{}))}activateCurrentTab(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}deactivateCurrentTab(){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onInactive")}onMount(){var e,t,l,n,o,r,i,a,s;super.onMount(),this.unmounted=!1,this.implicitActiveKey=void 0,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.requestDocumentTitleUpdate(),this.viewActivatedListener||(this.viewActivatedListener=e=>{this.activateCurrentTab()},null==(r=this.flowEngine)||null==(o=r.emitter)||null==(n=o.on)||n.call(o,L.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let d=(0,L.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),u=d>0&&d!==this.lastSeenEmitterViewActivatedVersion;this.lastSeenEmitterViewActivatedVersion=d,u&&!1!==(0,L.getPageActive)(this.context)&&this.activateCurrentTab(),this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(s=this.flowEngine)||null==(a=s.emitter)||null==(i=a.on)||i.call(a,L.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,n,o,r;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,L.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(r=this.flowEngine)||null==(o=r.emitter)||null==(n=o.off)||n.call(o,L.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];if(!e)return;"onActive"===t&&(null==(l=this.context)?void 0:l.pageInfo)&&(this.context.pageInfo.version="v2");let r=this.findSubModel("tabs",t=>t.uid===e)||this.flowEngine.getModel(e);if(r){if(r.context.tabActive){let e=!1!==(0,L.getPageActive)(r.context);r.context.tabActive.value=e&&"onActive"===t}null==(n=r.subModels.grid)||n.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,o)})}"onActive"===t&&this.requestDocumentTitleUpdate(e)}async updateDocumentTitle(e){var t,l,n,o,r,i,a,s,d,u,c,p,m,h,f,g,v,y,x,b;let w=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,L.getPageActive)(this.context))return;let S=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),C=null==(r=this.context)||null==(o=r.view)||null==(n=o.inputArgs)?void 0:n.viewUid,F=null==(s=this.flowEngine)||null==(a=s.context)||null==(i=a.route)?void 0:i.pathname;if(S&&C&&"string"==typeof F){let e=null==(u=this.context)||null==(d=u.layout)?void 0:d.routePath,t=null==(c=(0,L.parsePathnameToViewParams)(F,{basePath:(null==(m=this.context)||null==(p=m.layoutRoute)?void 0:p.basePathname)||((null==e?void 0:e.startsWith("/"))?e:"")}).at(-1))?void 0:c.viewUid;if(t&&t!==C)return}let k=++this.documentTitleUpdateVersion,A=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}},P=this.getUnhiddenTabs(),M=e||this.getActiveTabKey(),j=!this.getEnableTabs()||!M&&0===P.length,I="";if(j)I=await A(null==(b=this.stepParams)||null==(x=b.pageSettings)||null==(y=x.general)?void 0:y.documentTitle)||this.props.title||"";else{let e=M?this.findSubModel("tabs",e=>e.uid===M)||this.flowEngine.getModel(M):this.getFirstTab();if(!e&&w<5)return void window.setTimeout(()=>{this.unmounted||k===this.documentTitleUpdateVersion&&this.requestDocumentTitleUpdate(M,w+1)},0);I=await A(null==e||null==(g=e.stepParams)||null==(f=g.pageTabSettings)||null==(h=f.tab)?void 0:h.documentTitle)||(null==e||null==(v=e.getTabTitle)?void 0:v.call(e))||""}k===this.documentTitleUpdateVersion&&"string"==typeof I&&""!==I&&(document.title=I)}mapTabs(){return this.mapSubModels("tabs",e=>({key:e.uid,label:(0,O.jsx)(L.Droppable,{model:e,children:(0,O.jsx)(L.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:L.DragHandler,sort:1}]})}),children:e.renderChildren()}))}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;let n=this.resolveTabActiveState(),o=this.mapTabs(),r=new Set(this.context.flowSettingsEnabled?[]:n.allTabs.filter(e=>e.hidden).map(e=>e.uid)),i="hidden"===n.status?null==(t=n.allTabs.find(e=>e.uid===n.effectiveKey))||null==(e=t.getTabTitle)?void 0:e.call(t):void 0,a=n.effectiveKey||(n.allTabs.length>0?us:void 0),s=(null==(l=this.context.themeToken)?void 0:l.paddingLG)??16,d=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,O.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:s,height:1}}),u=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,O.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:s},children:(0,O.jsx)(L.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(tB.A,{}),children:this.context.t("Add tab")})})});return(0,O.jsxs)(L.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:[(0,O.jsx)(uu,{dependencyKey:this.getTabActiveKeySyncDependency(),onSync:this.synchronizeTabActiveKey}),(0,O.jsx)(ur.A,{activeKey:a,tabBarStyle:this.props.tabBarStyle,items:o,renderTabBar:r.size>0?e=>(0,O.jsx)(ud,{hiddenTabKeys:r,hiddenActiveTabLabel:i,items:o,tabBarProps:e}):void 0,onChange:e=>{var t;let l=this.getActiveTabKey();this.implicitActiveKey=void 0,this.commitTabActiveKey(e,{previousActiveKey:l,navigate:!!(null==(t=this.context.view)?void 0:t.navigation),rememberLocalTransition:!0})},tabBarExtraContent:{left:d,right:u}})]})}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,O.jsxs)(O.Fragment,{children:[this.props.displayTitle&&(0,O.jsx)(uo.z,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),this.tabBarExtraContent={},this.lastSeenEmitterViewActivatedVersion=0,this.dirtyRefreshScheduled=!1,this.unmounted=!1,this.documentTitleUpdateVersion=0,this.synchronizeTabActiveKey=e=>{let t=this.resolveTabActiveState(),l=t.allTabs.length>0&&0===t.unhiddenTabs.length,n=(e,t)=>({previousEffectiveActiveKey:e,effectiveActiveKey:e,previousAllHidden:l,lastCorrectionSignature:t});if("unknown"===t.status)return n(t.effectiveKey);if("visible"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return n(l);let o=e.previousAllHidden&&"url"!==t.source,r=!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==l;if((o||r)&&l){let o=`visible:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return o!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:"implicit"===t.source}),n(l,o)}return n(l)}if("hidden"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return n(l);if(l&&e.previousEffectiveActiveKey!==l){let o=`hidden:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return o!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),n(l,o)}return n(l)}let o=t.effectiveKey;if(!o){if(!l){if("implicit"!==t.source||!t.key)return n(void 0);let l=`implicit-missing:${e.previousEffectiveActiveKey||""}`;return l!==e.lastCorrectionSignature&&this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),n(void 0,l)}let o=`all-hidden:${e.previousEffectiveActiveKey||""}`;return e.previousAllHidden||o===e.lastCorrectionSignature||(this.implicitActiveKey=void 0,this.props.tabActiveKey||e.previousEffectiveActiveKey?this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}):this.requestDocumentTitleUpdate()),n(void 0,o)}let r=e.previousAllHidden||!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==o,i=`implicit:${e.previousEffectiveActiveKey||""}->${o}`;return r&&i!==e.lastCorrectionSignature?this.commitTabActiveKey(o,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:!0}):this.rememberImplicitActiveKey(o),n(o,r?i:void 0)},this.createPageTabModelOptions=()=>{let e=(0,ii.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,ii.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}}}}uc.registerEvents({close:{title:(0,L.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,L.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":ui.H}},handler:ui.b}}),uc.registerFlow({key:"closeGuard",title:(0,L.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,L.tExpr)("Unsaved changes confirmation"),handler:ua}}}),uc.registerFlow({key:"pageSettings",title:(0,L.tExpr)("Page settings"),steps:{general:{title:(0,L.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,L.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,L.tExpr)("Document title"),description:(0,L.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":a6.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,L.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,L.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})),await e.model.updateDocumentTitle()}}}});var up=l(68904);class um extends uc{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,O.jsx)("div",{style:o,children:(0,O.jsx)(uh,{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");e.active.id!==e.over.id&&await this.flowEngine.moveModel(e.active.id,e.over.id)}render(){return(0,O.jsxs)(O.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,O.jsx)(uo.z,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,O.jsxs)(O.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),this.tabBarExtraContent={left:(0,O.jsx)(uh,{})},this.createPageTabModelOptions=()=>({use:"ChildPageTabModel"})}}let uh=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,L.useFlowContext)(),n=l.themeToken,o=32,r=(null==n?void 0:n.paddingLG)??16,i=(0,P.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,O.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:r,height:1}}):null:(0,O.jsx)(eJ.Ay,{"aria-label":"back-button",type:"text",icon:(0,O.jsx)(up.A,{}),style:i,onClick:l.view.close})};class uf extends L.FlowModel{}uf.registerFlow({key:"pageSettings",title:(0,L.tExpr)("Page settings"),steps:{general:{title:(0,L.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,L.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,L.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 ug extends uf{renderFirstTab(){var e;return(0,O.jsx)(L.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,O.jsxs)(O.Fragment,{children:[this.props.displayTitle&&(0,O.jsx)(uo.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function uv(e){let{ctx:t,options:l}=e,{data:n,loading:o}=(0,rB.A)(async()=>{let e=await t.engine.loadOrCreateModel(l,{skipSave:!t.flowSettingsEnabled});return e.context.addDelegate(t),e},{refreshDeps:[t.model.uid]}),r=(null==t?void 0:t.isMobileLayout)?8:null==t?void 0:t.themeToken.marginBlock;return!o&&(null==n?void 0:n.uid)?(0,O.jsx)(L.FlowModelRenderer,{model:n,fallback:(0,O.jsx)(rq,{style:{margin:r}})}):(0,O.jsx)(rq,{style:{margin:r}})}function uy(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}function ux(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function ub(e){return ux(e)}let uw=new WeakMap;async function uS(e){let t=(uw.get(e)||Promise.resolve()).catch(()=>void 0).then(()=>e.refreshAccessible());uw.set(e,t);try{await t}finally{uw.get(e)===t&&uw.delete(e)}}class uC extends L.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:L.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,O.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,O.jsx)(eR.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,O.jsxs)("span",{style:{display:"inline-block"},children:[(0,O.jsx)(eR.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}uC.registerFlow({key:"pageTabSettings",title:(0,L.tExpr)("Tab settings"),steps:{tab:{title:(0,L.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,L.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,L.tExpr)("Document title"),description:(0,L.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":a6.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,L.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);await (null==o||null==(l=o.updateDocumentTitle)?void 0:l.call(o))}},linkageRules:{use:"tabLinkageRules"}}});class uF extends uC{onInit(e){super.onInit(e),this.shouldHydratePersistedLinkageRules()&&this.hydratePersistedLinkageRules().catch(e=>{console.warn("[RootPageTabModel] Failed to hydrate tab linkage rules",e)})}hasExplicitLinkageRulesStep(){var e;let t=null==(e=this.stepParams)?void 0:e.pageTabSettings;return ux(t)&&Object.prototype.hasOwnProperty.call(t,"linkageRules")}shouldHydratePersistedLinkageRules(){var e,t;return!!this.context.flowSettingsEnabled||(null==(t=this.props.route)||null==(e=t.options)?void 0:e.hasPersistedPageTabFlowModel)===!0}async fetchPersistedAnchor(){var e;let t=await this.context.api.request({url:"flowModels:findOne",params:{uid:this.uid}}),l=null==t||null==(e=t.data)?void 0:e.data;return ux(l)?l:void 0}async performPersistedLinkageRulesHydrate(){if(this.hasExplicitLinkageRulesStep())return;let e=await this.fetchPersistedAnchor();if(this.hasExplicitLinkageRulesStep())return;let t=ux(null==e?void 0:e.stepParams)?e.stepParams:void 0,l=ux(null==t?void 0:t.pageTabSettings)?t.pageTabSettings:void 0,n=null==l?void 0:l.linkageRules;ub(n)&&(this.setStepParams("pageTabSettings","linkageRules",V().cloneDeep(n)),this.invalidateFlowCache("beforeRender",!0),await this.rerender())}hydratePersistedLinkageRules(){if(this.persistedLinkageRulesHydrated)return Promise.resolve();if(this.persistedLinkageRulesHydrating)return this.persistedLinkageRulesHydrating;let e=this.performPersistedLinkageRulesHydrate();return this.persistedLinkageRulesHydrating=e,e.then(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrated=!0,this.persistedLinkageRulesHydrating=void 0)}).catch(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrating=void 0)}),e}async openFlowSettings(e){return(null==e?void 0:e.flowKey)==="pageTabSettings"&&(null==e?void 0:e.stepKey)==="linkageRules"&&await this.hydratePersistedLinkageRules(),super.openFlowSettings(e)}renderChildren(){return(0,O.jsx)(uv,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){let e=this.hasExplicitLinkageRulesStep(),t=e?V().cloneDeep(this.stepParams.pageTabSettings.linkageRules):void 0;await this.save(),e&&t&&await this.persistLinkageRulesToAnchor(t)}async save(){var e,t,l,n,o,r,i,a,s,d,u,c;let p=this.serialize(),m=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,h=this.props.route||{},f=null!=h.id,g=f&&h.schemaUid?null==(o=this.context.routeRepository)||null==(n=o.getRouteBySchemaUid)?void 0:n.call(o,h.schemaUid):void 0,v={...f?{schemaUid:h.schemaUid}:h,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{...g?g.options:h.options,flowRegistry:p.flowRegistry,documentTitle:m}},y=await this.context.api.request(f?{method:"post",url:`desktopRoutes:update?filter[id]=${h.id}`,data:v}:{method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:v}),x=uy(null==y||null==(r=y.data)?void 0:r.data);x&&this.setProps("route",{...this.props.route,...x,options:{...null==(i=this.props.route)?void 0:i.options,...x.options}});try{(null==(a=this.context.routeRepository)?void 0:a.refreshAccessible)?await uS(this.context.routeRepository):await (null==(s=(d=this.context).refreshDesktopRoutes)?void 0:s.call(d))}catch(e){null==(c=this.context.logger)||null==(u=c.warn)||u.call(c,{err:e},"[client-v2] Failed to refresh desktop routes after saving a page tab")}}buildAnchorPayload(e,t){let l="string"==typeof(null==e?void 0:e.uid)&&e.uid.length>0?V().cloneDeep(e):{uid:this.uid,use:"RouteModel"};delete l.subModels;let n=ux(l.stepParams)?l.stepParams:{},o=ux(n.pageTabSettings)?n.pageTabSettings:{};return{...l,stepParams:{...n,pageTabSettings:{...o,linkageRules:V().cloneDeep(t)}}}}async persistLinkageRulesToAnchor(e){let t=await this.fetchPersistedAnchor(),l=this.buildAnchorPayload(t,e);await this.context.api.request({method:"post",url:"flowModels:save",data:l});let n=Array.isArray(e.value)&&e.value.length>0;await this.syncPersistedPageTabFlowModelMarker(n),this.persistedLinkageRulesHydrated=!0}async syncPersistedPageTabFlowModelMarker(e){var t,l,n;let o=this.props.route;if((null==o?void 0:o.id)==null)throw Error("Cannot persist page tab FlowModel marker before the desktop route is saved.");if("function"!=typeof(null==(t=this.context.routeRepository)?void 0:t.updateRoute))throw Error("Route repository is unavailable while persisting the page tab FlowModel marker.");let r=o.schemaUid?null==(l=(n=this.context.routeRepository).getRouteBySchemaUid)?void 0:l.call(n,o.schemaUid):void 0,i={...(null==r?void 0:r.options)||o.options||{}};e?i.hasPersistedPageTabFlowModel=!0:delete i.hasPersistedPageTabFlowModel;let a=Object.keys(i).length>0?i:void 0;await this.context.routeRepository.updateRoute(o.id,{options:a},{refreshAfterMutation:!1}),this.setProps("route",{...o,options:a})}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}constructor(...e){super(...e),this.persistedLinkageRulesHydrated=!1}}class uk extends uC{renderChildren(){return(0,O.jsx)(uv,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class uA extends L.FlowModel{render(){return(0,O.jsx)(uv,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class uP extends uc{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 r=null==e||null==(l=e.props)||null==(t=l.route)?void 0:t.id;return null!=r?r:("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,L.reaction)(()=>this.context.pageActive.value,()=>{var e,t;if(null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.activationControlledByLayout){this.mounted=!0;return}this.context.pageActive.value&&this.mounted&&this.activateCurrentTab(!0),!1===this.context.pageActive.value&&this.deactivateCurrentTab(),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[r,i]=await Promise.all([this.ensurePersistedRouteId(n),this.ensurePersistedRouteId(o)]);null!=r&&null!=i&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:r,targetId:i,sortField:"sort"}}),this.flowEngine.moveModel(n.uid,o.uid,{persist:!1}))}constructor(...e){super(...e),this.mounted=!1}}uP.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),V().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 uM extends uf{renderFirstTab(){var e;return(0,O.jsx)(L.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,O.jsxs)(O.Fragment,{children:[this.props.displayTitle&&(0,O.jsx)(uo.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}class uj extends dy.S0{constructor(...e){super(...e),this.defaultProps={title:(0,L.tExpr)("Popup"),icon:"ExportOutlined"}}}uj.define({label:(0,L.tExpr)("Popup")}),uj.registerFlow(ex);var uI=l(33297);class uT extends uj{getAclActionName(){return"create"}constructor(...e){super(...e),this.defaultPopupTitle=(0,L.tExpr)("Add new"),this.defaultProps={type:"primary",title:(0,L.tExpr)("Add new"),icon:"PlusOutlined"}}}uT.scene=dy.s5.collection,uT.define({label:(0,L.tExpr)("Add new"),sort:10});let uR=e=>{var t,l,n,o,r,i;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==(i=e.model)||null==(r=i.getStepParams)?void 0:r.call(i,"resourceSettings","init"))},uE=e=>{var t;return!!(null==(t=uR(e))?void 0:t.associationName)},uN=e=>{var t,l,n,o;let r=uR(e),i=(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==i?void 0:i.targetCollection;return{dataSourceKey:(null==a?void 0:a.dataSourceKey)||(null==r?void 0:r.dataSourceKey),collectionName:(null==a?void 0:a.name)||(null==i?void 0:i.target)||(null==r?void 0:r.collectionName)}},uD=e=>{var t,l,n,o,r,i;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=uR(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==(i=a.resource)||null==(r=i.getData)?void 0:r.call(i))||[]}},u$=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}))},uB=async e=>{var t,l,n,o,r,i,a,s,d,u,c,p;let m=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),h=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!uE(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!m){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==h||null==(n=h.getFilterByTK)?void 0:n.call(h,e.record);await u$(m,"remove",[f]),await (null==(o=m.refresh)?void 0:o.call(m)),null==(i=e.message)||null==(r=i.success)||r.call(i,e.t("Record disassociated successfully"))},uO=async(e,t)=>{var l,n,o,r,i,a,s,d,u,c,p;let m=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),h=(null==e||null==(n=e.blockModel)?void 0:n.collection)||(null==e?void 0:e.collection);if(!uE(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!m){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==h||null==(t=h.getFilterByTK)?void 0:t.call(h,e))??e}).filter(e=>null!=e);await u$(m,"add",f),await (null==(o=m.refresh)?void 0:o.call(m)),null==(i=e.message)||null==(r=i.success)||r.call(i,e.t("Record associated successfully"))};function uq(e){let{options:t}=e,l=(0,L.useFlowViewContext)(),{data:n,loading:o}=(0,rB.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,O.jsx)(L.FlowModelRenderer,{model:n,fallback:(0,O.jsx)(rq,{style:{margin:16}})}):(0,O.jsx)(rq,{style:{margin:16}})}function uL(e){let{model:t}=e,l=(0,L.useFlowViewContext)(),{Header:n,Footer:o,type:r}=l.view;return(0,O.jsxs)("div",{children:[(0,O.jsx)(n,{title:"dialog"===r?(0,O.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,O.jsx)(uq,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,O.jsx)(o,{children:"dialog"===r?(0,O.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,O.jsx)(eJ.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,O.jsx)(eJ.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class u_ extends dy.S0{getAclActionName(){return"update"}async associateSelectedRows(){await uO(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),this.defaultPopupTitle=(0,L.tExpr)("Select record"),this.selectedRows=[],this.defaultProps={title:(0,L.tExpr)("Associate"),icon:"LinkOutlined"}}}u_.scene=dy.s5.collection,u_.capabilityActionName="update",u_.define({label:(0,L.tExpr)("Associate"),sort:15,hide:e=>!uE(e)}),u_.registerFlow({key:"associateSettings",title:(0,L.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,n,o;let r=uN(e),i=(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:i,width:s[i][a],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:r.dataSourceKey,collectionName:r.collectionName,...uD(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,O.jsx)(uL,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===i?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});class uV extends dy.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={title:(0,L.tExpr)("Delete"),icon:"DeleteOutlined"}}}uV.scene=dy.s5.collection,uV.capabilityActionName="destroyMany",uV.define({label:(0,L.tExpr)("Delete")}),uV.registerFlow({key:"deleteSettings",title:(0,L.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,L.tExpr)("Delete record"),content:(0,L.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 uz extends dy.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,L.tExpr)("Delete"),icon:"DeleteOutlined"}}}uz.scene=dy.s5.record,uz.define({label:(0,L.tExpr)("Delete"),sort:60}),uz.registerFlow({key:"deleteSettings",title:(0,L.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,L.tExpr)("Delete record"),content:(0,L.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 uK extends dy.S0{getAclActionName(){return"update"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,L.tExpr)("Disassociate"),icon:"DisconnectOutlined"}}}uK.scene=dy.s5.record,uK.capabilityActionName="update",uK.define({label:(0,L.tExpr)("Disassociate"),sort:65,hide:e=>!uE(e)}),uK.registerFlow({key:"disassociateSettings",title:(0,L.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,L.tExpr)("Disassociate record"),content:(0,L.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await uB(e)}}}});class uU extends uj{getAclActionName(){return"update"}constructor(...e){super(...e),this.defaultPopupTitle=(0,L.tExpr)("Edit"),this.defaultProps={title:(0,L.tExpr)("Edit"),icon:"EditOutlined"}}}uU.scene=dy.s5.record,uU.define({label:(0,L.tExpr)("Edit"),sort:20});var uW=l(94384),uH=l(68669);class uG extends dy.S0{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=uJ(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(L.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,O.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,O.jsx)(uH.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,O.jsx)(so.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),(0,O.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,O.jsx)(lz.A,{open:this.props.open,content:(0,O.jsx)(uH.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,O.jsx)(so.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),trigger:"click",placement:"bottomLeft",onOpenChange:e=>{!1===e&&this.setProps("open",void 0)},children:super.render()})}constructor(...e){super(...e),this.map=new WeakMap,this.defaultProps={type:"default",title:(0,L.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}}}}function uY(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,eR.w6)(e.interface,...n);return!!(null==t?void 0:t.filterable)})}function uJ(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}uG.scene="collection",uG.define({label:(0,L.tExpr)("Filter"),toggleable:!0,sort:5}),uG.registerFlow({key:"filterSettings",title:(0,L.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,L.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,L.useFlowSettingsContext)(),n=uY(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,O.jsx)(uW.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,r;return{filterableFieldNames:uY(e.blockModel.collection,null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager,null==(r=e.model)||null==(o=r.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,L.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,L.useFlowSettingsContext)();return(0,O.jsx)(so.I8,{value:e.value||{},FilterItem:e=>(0,O.jsx)(so.Et,{...e,model:t,maxAssociationFieldDepth:2})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",V().cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",V().cloneDeep(t.defaultFilter))}}}}),uG.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,ed.transformFilter)(e.model.props.filterValue),r=!(0,ed.isEmptyFilter)(o);l.setFilterActive(e.model.uid,r),r?(n.addFilterGroup(e.model.uid,o),n.setPage(1)):n.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||r||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)}}}}),uG.registerFlow({key:"resetSettings",title:(0,L.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(),r=e.model.props.defaultFilterValue,i=!(0,ed.isEmptyFilter)((0,ed.transformFilter)(r));"manual"!==o||i||l.hasActiveFilters()?(i&&(n.addFilterGroup(e.model.uid,(0,ed.transformFilter)(r)),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",V().cloneDeep(r))}}}}),uG.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var uX=l(89378);function uQ(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 uZ extends dy.S0{constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,L.tExpr)("JS action"),icon:"JavaScriptOutlined"}}}uZ.define({label:(0,L.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),uZ.registerFlow({key:"clickSettings",on:"click",title:(0,L.tExpr)("Click settings"),steps:{runJs:{title:(0,L.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":uX.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:`
444
444
  ctx.message.info('Hello JS action.');
445
445
  `}),async handler(e,t){let{code:l,version:n}=uQ(e,t);await e.runjs(l,void 0,{version:n})}}}});class u0 extends dy.S0{constructor(...e){super(...e),this.defaultProps={title:(0,L.tExpr)("JS action"),icon:"JavaScriptOutlined"}}}u0.scene=dy.s5.collection,u0.define({label:(0,L.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSCollectionActionModel"}}),u0.registerFlow({key:"clickSettings",on:"click",title:(0,L.tExpr)("Click settings"),steps:{runJs:{title:(0,L.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":uX.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:`
446
446
  const rows = ctx.resource?.getSelectedRows?.() || [];
@@ -482,7 +482,7 @@ if (!ctx.record) {
482
482
  flex-shrink: 0;
483
483
  flex: 1;
484
484
  }
485
- `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":a6.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}},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","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}}}},handler(e,t){e.model.setProps({url:t.url,searchParams:t.searchParams,openInNewWindow:t.openInNewWindow})}}}});class cy extends dy.S0{setTitle(e){this.setProps({title:e})}setExpandFlag(e){this.expandFlag=e}getTitle(){return this.expandFlag?this.context.t("Collapse all"):this.context.t("Expand all")}getIcon(){return this.expandFlag?"NodeCollapseOutlined":"NodeExpandOutlined"}constructor(...e){super(...e),this.defaultProps={type:"default",icon:"DownOutlined"}}}function cx(e){let{idKey:t="id",childrenKey:l="children"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[];function o(e){if(Array.isArray(e))for(let r of e){let e=r[l];n.push(r[t]),Array.isArray(e)&&e.length>0&&o(e)}}return o(e),n}cy.scene=dy.s5.collection;let cb=e=>cx(e);cy.registerFlow({key:"expandCollapseSettingsInit",sort:200,steps:{init:{handler(e,t){e.blockModel.props.defaultExpandAllRows?e.model.setExpandFlag(!0):e.model.setExpandFlag(!1)}}}}),cy.registerFlow({key:"expandCollapseSettings",on:"click",steps:{expandCollapse:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return;let n=e.blockModel.resource,{treeTable:o}=e.blockModel.props;if(o)if(e.model.expandFlag)e.blockModel.setProps({expandedRowKeys:[]}),e.model.setExpandFlag(!1);else{let t=cb(n.getData());e.blockModel.setProps({expandedRowKeys:t}),e.model.setExpandFlag(!0)}}}}}),cy.define({label:(0,L.escapeT)("Expand/Collapse"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.model.props.treeTable}});class cw extends uj{getAclActionName(){return"create"}onInit(e){super.onInit(e),this.context.defineProperty("association",{get:()=>this.context.blockModel.dataSource.getAssociation(`${this.context.blockModel.collection.name}.children`)})}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,L.tExpr)("Add child"),icon:"PlusOutlined"}}}cw.capabilityActionName=null,cw.registerFlow({key:"addChildSettingsInit",steps:{addChildInit:{async handler(e,t){e.model.onClick=t=>{e.model.dispatchEvent("click",{event:t,...e.inputArgs,sourceId:e.record.id,filterByTk:null},{debounce:!0})}}}}}),cw.define({label:(0,L.tExpr)("Add child"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.blockModel.props.treeTable}}),dv.registerActionModels({AddChildActionModel:cw});var cS=l(89013),cC=l(96491);class cF extends cC.F4{useHooksBeforeRender(){let[e]=cS.A.useForm();this.context.defineProperty("form",{get:()=>e})}onInit(e){super.onInit(e);let t=(0,L.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>{var e,t;return null==(e=(t=this).getCurrentRecord)?void 0:e.call(t)},cache:!1,resolveOnServer:(0,L.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>{var e,t;return null==(e=(t=this).getCurrentRecord)?void 0:e.call(t)}),meta:t}),this.context.defineProperty("filterManager",{once:!0,get:()=>new dO(this,null==e?void 0:e.filterManager)}),this.isManualRefresh=!0}createResource(e,t){let l=this.context.createResource(L.SingleRecordResource);return l.isNewRecord=!0,l}renderComponent(){var e;let{colon:t,labelAlign:l,labelWidth:n,labelWrap:o,layout:r}=this.props;return(0,O.jsx)(cC.s2,{model:this,layoutProps:{colon:t,labelAlign:l,labelWidth:n,labelWrap:o,layout:r},children:(0,O.jsx)(L.FlowModelRenderer,{model:null==(e=this.subModels)?void 0:e.grid,showFlowSettings:!1})})}setInitialAssignedValues(e){var t;let l=null==(t=this.subModels)?void 0:t.grid;Object.entries(e||{}).forEach(e=>{let[t,n]=e;l.addOrEnsureItem(t,n)})}getAssignedValues(){return this.subModels.grid.getAssignedValues()||{}}}cF.define({label:(0,L.tExpr)("Field assignments"),hide:!0,createModelOptions:{use:"AssignFormModel",subModels:{grid:{use:"AssignFormGridModel"}}}});class ck extends d1{serialize(){return{...super.serialize(),variableContractType:{type:"formGrid",use:this.use}}}renderAddSubModelButton(){return(0,O.jsx)(L.AddSubModelButton,{subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("FormItemModel"),this.context.getModelClassName("FormAssociationFieldGroupModel"),this.context.getModelClassName("FormCustomItemModel"),this.context.getModelClassName("FormJSFieldItemModel")].filter(Boolean),model:this,keepDropdownOpen:!0,children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(n$.A,{}),children:this.translate("Fields")})})}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,n=null==(t=this.props)?void 0:t.heightModel,o=this.context.themeToken,r=super.render();return"defaultHeight"===n?r:(0,O.jsx)("div",{style:{height:l,overflowY:"auto",marginLeft:`-${o.marginLG}px`,marginRight:`-${o.marginLG}px`,paddingLeft:`${o.marginLG}px`,paddingRight:`${o.marginLG}px`,paddingTop:5},children:r})}constructor(...e){super(...e),this.itemFallback=(0,O.jsx)(rO.A.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}}),this.itemSettingsMenuLevel=2,this.itemFlowSettings={showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}},this.dragOverlayConfig={columnInsert:{before:{offsetTop:-6,height:24},after:{offsetTop:3,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:-2,height:24},below:{offsetTop:-12,height:24}}}}}ck.registerFlow({key:"formFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});let cA=2;class cP extends ck{renderAddSubModelButton(){var e,t;let l=null==(e=this.context)?void 0:e.collection,n=(null==l||null==(t=l.getFields)?void 0:t.call(l))||[],o=this.context.prefixFieldPath?this.context.prefixFieldPath.split(".").filter(Boolean).length:0,r="function"==typeof(null==l?void 0:l.getPrimaryKey)?l.getPrimaryKey():void 0,i=null==l?void 0:l.filterTargetKey,a=e=>!!e&&!!(r&&e===r||"string"==typeof i&&e===i||Array.isArray(i)&&i.includes(e)),s=n.filter(e=>!a(null==e?void 0:e.name)).filter(e=>{var t;return o<cA||!((null==e||null==(t=e.isAssociationField)?void 0:t.call(e))||(null==e?void 0:e.target)||(null==e?void 0:e.targetCollection))}).map(e=>{let t=e.name,n=e.title||e.name,o=L.EditableItemModel.getDefaultBindingByField(this.context,e);if(!o)return;let r=o.modelName;return{key:t,label:n,toggleable:e=>{let l=e.getStepParams("fieldSettings","init")||{};return(null==l?void 0:l.fieldPath)===t},useModel:"AssignFormItemModel",createModelOptions:()=>({use:"AssignFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==l?void 0:l.dataSourceKey,collectionName:null==l?void 0:l.name,fieldPath:t}}},subModels:{field:{use:r,stepParams:{fieldSettings:{init:{dataSourceKey:null==l?void 0:l.dataSourceKey,collectionName:null==l?void 0:l.name,fieldPath:t}}}}}})}}).filter(Boolean);return(0,O.jsx)(L.AddSubModelButton,{subModelKey:"items",model:this,items:s,keepDropdownOpen:!0,children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(n$.A,{}),children:this.translate("Fields")})})}addOrEnsureItem(e,t){var l,n,o;let r=null==(l=this.context)?void 0:l.collection,i=((null==(n=this.subModels)?void 0:n.items)||[]).find(t=>{try{let l="function"==typeof(null==t?void 0:t.getStepParams)?t.getStepParams("fieldSettings","init"):null;return(null==l?void 0:l.fieldPath)===e}catch(e){return!1}});if(i){"function"==typeof(null==i?void 0:i.setStepParams)&&i.setStepParams("fieldSettings","assignValue",{value:t}),i.assignValue=t;return}let a=((null==r||null==(o=r.getFields)?void 0:o.call(r))||[]).find(t=>t.name===e),s=L.EditableItemModel.getDefaultBindingByField(this.context,a);if(!s)return;let d=s.modelName;this.addSubModel("items",{use:"AssignFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==r?void 0:r.dataSourceKey,collectionName:null==r?void 0:r.name,fieldPath:e},assignValue:{value:t}}},subModels:{field:{use:d,stepParams:{fieldSettings:{init:{dataSourceKey:null==r?void 0:r.dataSourceKey,collectionName:null==r?void 0:r.name,fieldPath:e}}}}}}).assignValue=t}getAssignedValues(){var e;let t=(null==(e=this.subModels)?void 0:e.items)||[],l={};for(let e of t){let t="function"==typeof e.getAssignedEntry?e.getAssignedEntry():null;t&&Array.isArray(t)&&(l[t[0]]=t[1])}return l}}cP.define({label:(0,L.tExpr)("Assign grid")});var cM=l(44329);function cj(e){return"string"==typeof e?e:"function"==typeof e&&e.name?e.name:void 0}function cI(e){var t,l;let n=null==e||null==(l=e.stepParams)||null==(t=l.fieldBinding)?void 0:t.use;return"string"==typeof n?n:void 0}async function cT(e){var t,l,n;let{parentModel:o,targetUse:r,defaultProps:i,pattern:a,fieldSettingsInit:s}=e,d=o.subModels.field,u=null==d?void 0:d.uid,c=null==d||null==(l=d.serialize)||null==(t=l.call(d))?void 0:t.subModels;for(let e in c)!1===c[e].delegateToParent&&delete c[e];let p=cj(cI(d)||(null==d?void 0:d.use))===r&&(null==d?void 0:d.stepParams)||{},m=s??(null==(n=o.getFieldSettingsInitParams)?void 0:n.call(o)),{fieldBinding:h,...f}=p,g={...f,fieldSettings:{...f.fieldSettings||{},init:m}},v=o.flowEngine;u&&(null==d||d.invalidateFlowCache("beforeRender",!0),v.removeModelWithSubModels(u));let y=o.setSubModel("field",{uid:u,use:r,props:{...i||{},...a?{pattern:a}:{}},stepParams:g,subModels:c});await y.dispatchEvent("beforeRender",void 0,{useCache:!1}),await o.save()}var cR=l(13940);function cE(e,t,l){let n=(0,_.castArray)(l).filter(e=>"string"==typeof e),o=t.split(".");if(null==n?void 0:n.length){let t=[],l=0,r=0;for(;l<o.length;){let e=o[l];if(t.push(e),r<n.length){let[l,o]=n[r].split(":");l===e&&(t.push(Number(o)),r++)}l++}return(0,_.get)(e,t)}return(0,_.get)(e,o)}function cN(e){let{record:t,currentObject:l,fieldPath:n,prefixFieldPath:o,idx:r}=e,i=cE(t,n,r);if(void 0!==i||null==l)return i;if(o&&n===o)return l;let a=o&&n.startsWith(`${o}.`)?n.slice(o.length+1):n;return a?(0,_.get)(l,a):l}function cD(e,t){return!(0,cR.E4)(e)||Array.isArray(t)?t:t&&"object"==typeof t&&Array.isArray(t.rows)?t.rows:null==t?[]:[t]}class c$ extends L.DisplayItemModel{static defineChildren(e){let t=e.collection;return t.getFields().map(l=>{let n=this.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!n)return null;let o=n.modelName,r=e.prefixFieldPath?`${e.prefixFieldPath}.${l.name}`:l.name;return{key:r,label:l.title,refreshTargets:["DetailsCustomItemModel/DetailsJSFieldItemModel"],toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===r},useModel:"DetailsItemModel",createModelOptions:()=>({use:"DetailsItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:r}}},subModels:{field:{use:o,props:"function"==typeof n.defaultProps?n.defaultProps(e,l):n.defaultProps}}})}}).filter(Boolean)}onInit(e){super.onInit(e),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}renderItem(){let e=this.subModels.field,t=this.context.fieldIndex,l=this.context.record,n=this.context.currentObject,o=this.context.item,r=this.context.getPropertyOptions("item"),i=this.context.prefixFieldPath,a=null!=t?(()=>{let i=e.createFork({},`${t}`);i.context.defineProperty("fieldIndex",{get:()=>t}),i.context.defineProperty("record",{get:()=>l,cache:!1}),i.context.defineProperty("currentObject",{get:()=>n,cache:!1});let{value:a,...s}=r||{};return i.context.defineProperty("item",{...s,get:()=>o,cache:!1}),this.context.pattern&&i.context.defineProperty("pattern",{get:()=>this.context.pattern}),i})():e,s=this.context.pattern?{...this.context.blockModel.props,...this.props,pattern:this.context.pattern,disabled:"readPretty"===this.context.pattern}:{...this.context.blockModel.props,...this.props},d=cD(this.collectionField,cN({record:l,currentObject:n,fieldPath:this.fieldPath,prefixFieldPath:i,idx:t}));return(0,O.jsx)(L.FormItem,{...s,value:d,children:(0,O.jsx)(L.FieldModelRenderer,{model:a})})}}c$.define({label:(0,L.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,L.tExpr)("Search fields"),sort:100}),c$.registerFlow({key:"detailItemSettings",sort:300,title:(0,L.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,L.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,L.tExpr)("Label"),uiSchema:e=>({title:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let n=e.model,o=null==(l=n.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:n.context.t("Original field title: ")+o}}}}),defaultParams:e=>{var t;return{title:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){var l;let n={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.title,n)})}},aclCheck:{use:"aclCheck"},init:{async handler(e){let{collectionField:t}=e.model;t&&e.model.setProps(t.getComponentProps())}},tooltip:{title:(0,L.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,L.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},model:{title:(0,L.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,L.tExpr)("Title field"),beforeParamsSave:async(e,t,l)=>{if(!e.collectionField||!e.collectionField.isAssociationField())return null;if(t.label!==l.label){var n,o;e.model.setProps({titleField:t.label,...null==(o=e.collectionField.targetCollection)||null==(n=o.getField(t.label))?void 0:n.getComponentProps()});let l=e.collectionField.targetCollection.getField(t.label),r=L.DisplayItemModel.getDefaultBindingByField(e,l),i=r.modelName;await cT({parentModel:e.model,targetUse:i,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})}},async handler(e,t){var l,n;if(!e.collectionField||e.model.subModels.field.disableTitleField)return;e.model.setProps({titleField:t.label,...null==(n=e.collectionField.targetCollection)||null==(l=n.getField(t.label))?void 0:l.getComponentProps()});let o=e.collectionField.targetCollection;if(o){let l=o.getField(t.label),n=L.DisplayItemModel.getDefaultBindingByField(e,l).modelName;n!==e.model.subModels.field.use&&e.model.setStepParams(e.flowKey,"model",{use:n})}},hideInSettings:async e=>!e.collectionField||!e.collectionField.isAssociationField()||e.model.subModels.field.disableTitleField}}}),c$.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var cB=l(71616);function cO(e){if(!e)return!1;let t=null==e?void 0:e.type;return"belongsToMany"===t||"hasMany"===t||"belongsToArray"===t}function cq(e,t){var l;let n=!!(null==e||null==(l=e.isAssociationField)?void 0:l.call(e)),o=cO(e);return n&&!o&&Array.isArray(t)?t.length?t[0]:void 0:t}function cL(e,t){if(!(null==t?void 0:t.length))return e;let[l,n]=String(t[t.length-1]).split(":"),o=Number(n);if(!l||!Number.isFinite(o))return e;let r=0;for(let e of t){let[t]=String(e).split(":");t===l&&(r+=1)}let i=-1,a=0;for(let t=0;t<e.length;t++)if(String(e[t])===l&&(a+=1)===r){i=t;break}if(-1===i){for(let t=e.length-1;t>=0;t--)if(String(e[t])===l){i=t;break}}return -1===i?e:[o,...e.slice(i+1)]}let c_=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"],cV=2;class cz extends L.EditableItemModel{static defineChildren(e){let t=e.collection,l=e.prefixFieldPath?e.prefixFieldPath.split(".").filter(Boolean).length:0;return t.getFields().map(n=>{var o;if(l>=cV&&((null==(o=n.isAssociationField)?void 0:o.call(n))||n.target||n.targetCollection))return;let r=this.getDefaultBindingByField(e,n);if(!r)return;let i=r.modelName,a=e.prefixFieldPath?`${e.prefixFieldPath}.${n.name}`:n.name;return{key:a,label:n.title,refreshTargets:["FormJSFieldItemModel","FormItemModel/FormJSFieldItemModel"],toggleable:e=>(0,cR.pX)(e).some(e=>e===a),useModel:"FormItemModel",createModelOptions:()=>({use:"FormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:a}}},subModels:{field:{use:i,props:"function"==typeof r.defaultProps?r.defaultProps(e,n):r.defaultProps}}})}}).filter(Boolean)}onInit(e){super.onInit(e),this.emitter.on("onSubModelAdded",e=>{if(this.collectionField){let t=this.collectionField.getComponentProps();e.setProps(t),this.setProps({...V().pick(t,"rules")||{}})}})}renderItem(){var e,t;let l=this.subModels.field,n=this.context.fieldIndex,o=this.context.fieldKey,r=(null==(e=this.parent)?void 0:e.context.fieldPathArray)||[],i=!!this.context.flowSettingsEnabled&&!!this.props.hidden&&!this.hidden&&!this.forbidden,a=null!=n||i?(()=>{let e=i?`${this.uid}:config-visible`:`${o}`,t=l.createFork({},e);if(null!=n){t.context.defineProperty("fieldIndex",{get:()=>n}),t.context.defineProperty("fieldKey",{get:()=>o}),this.context.currentObject&&t.context.defineProperty("currentObject",{get:()=>this.context.currentObject});let e=this.context.getPropertyOptions("item");if(this.context.item){let{value:l,...n}=e||{};t.context.defineProperty("item",{...n,get:()=>this.context.item,cache:!1})}this.context.pattern&&t.context.defineProperty("pattern",{get:()=>this.context.pattern})}return t.context.defineProperty("fieldPathArray",{get:()=>this.context.fieldPathArray,cache:!1}),i&&t.setProps({hidden:!1}),t})():l,{initialValue:s,hidden:d,...u}=this.context.pattern?{...this.props,pattern:this.context.pattern}:this.props,c=i?u:{hidden:d,...u},p=cL(this.props.name,n);this.context.defineProperty("fieldPathArray",{get:()=>[...r,...V().castArray(p)],cache:!1});let m=(null==(t=this.context.item)?void 0:t.value)||this.context.record,h=(0,O.jsx)(L.FormItem,{...c,name:p,validateFirst:!0,disabled:this.props.disabled||!V().isEmpty(m)&&!m.__is_new__&&this.props.aclDisabled||!V().isEmpty(m)&&m.__is_new__&&this.props.aclCreateDisabled,children:(0,O.jsx)(L.FieldModelRenderer,{model:a,name:p})});return i?(0,O.jsx)(tU.A,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,O.jsx)("div",{style:{opacity:.3},children:h})}):h}}cz.define({label:(0,L.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,L.tExpr)("Search fields"),sort:100}),cz.registerFlow({key:"editItemSettings",sort:300,title:(0,L.tExpr)("Form item settings"),steps:{showLabel:{title:(0,L.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,L.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let n=e.model,o=null==(l=n.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:n.context.t("Original field title: ")+o}}}}),defaultParams:e=>{var t;return{label:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){var l;let n={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.label,n)})}},aclCheck:{use:"aclCheck",async handler(e,t){var l,n,o,r,i,a,s,d,u,c,p,m,h;if(!e.collectionField||!e.blockModel)return;let f=e.blockModel.context.actionName,g=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(n=e.collectionField)?void 0:n.collectionName,fields:[null==(o=e.collectionField)?void 0:o.name],actionName:f});if("update"===f){let t=await e.aclCheck({dataSourceKey:null==(r=e.dataSource)?void 0:r.key,resourceName:null==(i=e.collectionField)?void 0:i.collectionName,fields:[e.collectionField.name],actionName:"view"});e.prefixFieldPath&&e.item&&(await e.aclCheck({dataSourceKey:null==(s=e.dataSource)?void 0:s.key,resourceName:null==(d=e.collectionField)?void 0:d.collectionName,fields:[e.collectionField.name],actionName:"create"})||e.model.setProps({aclCreateDisabled:!0}));let l=(null==(a=e.item)?void 0:a.__is_new__)??!1;t||l||(e.model.hidden=!0,e.model.forbidden={actionName:"view"},e.exitAll()),g||e.model.setProps({aclDisabled:!0})}else if("create"===f){let t=await e.aclCheck({dataSourceKey:null==(u=e.dataSource)?void 0:u.key,resourceName:null==(c=e.collectionField)?void 0:c.collectionName,actionName:"update"}),l=await e.aclCheck({dataSourceKey:null==(p=e.dataSource)?void 0:p.key,resourceName:null==(m=e.collectionField)?void 0:m.collectionName,fields:[e.collectionField.name],actionName:"update"}),n=(null==(h=e.item)?void 0:h.__is_stored__)??!1;g||n||(e.model.hidden=!0,e.model.forbidden={actionName:f},e.exitAll()),t&&l||e.model.setProps({aclDisabled:!0})}}},init:{async handler(e){let t=e.model.fieldPath,l=t.includes(".")?t.split("."):t;e.model.setProps({name:l})}},tooltip:{title:(0,L.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,L.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem","x-component-props":{autoSize:!0}}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},initialValue:{title:(0,L.tExpr)("Default value"),disabledInSettings:!0,disabledReasonInSettings:e=>`${e.t("This setting has been moved to")}: ${e.t("Form block settings")} > ${e.t("Field values")}`,uiSchema:e=>{var t,l,n,o;if(e.model.parent.parent instanceof cB.EditFormModel||(null==(l=e.model.subModels)||null==(t=l.field)?void 0:t.updateAssociation))return;let r=null==(n=e.model.collectionField)?void 0:n.interface;if(null==c_||null==(o=c_.includes)||!o.call(c_,r))return{defaultValue:{"x-component":"DefaultValue","x-decorator":"FormItem"}}},defaultParams:e=>{let t=e.model.collectionField;if("nanoid"===t.interface&&!1!==t.options.autoFill){let{size:e,customAlphabet:l}=t.options||{size:21};return{defaultValue:(0,cM.d_)(l,e)()}}return{defaultValue:t.defaultValue}},handler(e,t){var l,n;let o=null==(l=e.model.collectionField)?void 0:l.interface;if(null==c_||null==(n=c_.includes)?void 0:n.call(c_,o))return;let r=cq(e.model.collectionField,t.defaultValue);e.model.setProps({initialValue:r})}},validation:{title:(0,L.tExpr)("Validation"),use:"validation"},required:{title:(0,L.tExpr)("Required"),use:"required"},model:{use:"fieldComponent",title:(0,L.tExpr)("Field component")},pattern:{use:"pattern"},titleField:{use:"titleField",hideInSettings:e=>!(e.collectionField&&e.collectionField.isAssociationField()&&e.collectionField.isAssociationField()&&"readPretty"===e.model.getProps().pattern),defaultParams:e=>{var t,l,n;return{titleField:e.model.props.titleField||(null==(n=e.model)||null==(l=n.context)||null==(t=l.collectionField)?void 0:t.targetCollectionTitleFieldName)}},beforeParamsSave:async(e,t,l)=>{if(!(e.collectionField.isAssociationField()&&"readPretty"===e.model.getProps().pattern))return null;let n=t.titleField||t.label;if(n!==l.titleField){let t=e.collectionField.targetCollection,l=t.getField(n),o=c$.getDefaultBindingByField(e,l);if(o.modelName!==e.model.subModels.field.use){let l=e.model.subModels.field.uid;await e.engine.destroyModel(l);let r=e.model.setSubModel("field",{use:o.modelName,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:t.name,fieldPath:n}}}});await r.save()}e.model.setProps(e.collectionField.targetCollection.getField(n).getComponentProps())}},async handler(e,t){"readPretty"===e.model.props.pattern?e.model.setProps({titleField:null==t?void 0:t.label}):e.model.setProps({titleField:t.titleField})}}}}),cz.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var cK=l(85352),cU=l(90199),cW=l(97510);function cH(e,t){var l,n,o;let r=null==e||null==(l=e.props)?void 0:l.fieldNames,i=null==e||null==(n=e.props)?void 0:n.titleField,a=null==e||null==(o=e.getStepParams)?void 0:o.call(e,"selectSettings","fieldNames");return{stepParams:{fieldSettings:{init:t},...a?{selectSettings:{fieldNames:a}}:{}},props:{...void 0!==r?{fieldNames:r}:{},...void 0!==i?{titleField:i}:{}}}}function cG(e){try{return JSON.stringify(e)??""}catch{return String(e)}}function cY(e){var t,l,n;let o=null==e||null==(t=e.props)?void 0:t.fieldNames,r=null==e||null==(l=e.props)?void 0:l.titleField,i=null==e||null==(n=e.getStepParams)?void 0:n.call(e,"selectSettings","fieldNames");return[(null==e?void 0:e.uid)||"",cG(o),cG(r),cG(i)].join("|")}function cJ(e){if(!e||"object"!=typeof e||!("target"in e))return e;let t=e.target;return t&&"value"in t?t.value:e}class cX extends cz{onInit(e){var t,l,n,o,r,i,a;let s=null==(t=this.getStepParams("fieldSettings","assignValue"))?void 0:t.value;void 0!==s&&(this.assignValue=s),this.context.defineProperty("collectionField",{get:()=>{var e,t;let l=this.getStepParams("fieldSettings","init")||{},n=`${null==l?void 0:l.dataSourceKey}.${null==l?void 0:l.collectionName}.${null==l?void 0:l.fieldPath}`,o=null==(e=this.context)?void 0:e.dataSourceManager;return null==o||null==(t=o.getCollectionField)?void 0:t.call(o,n)}});let d=this.context,u=null==d?void 0:d.collection,c=this.fieldInit;if(!(null==(l=this.subModels)?void 0:l.field)&&(null==u?void 0:u.getFields)){let e=(u.getFields()||[]).find(e=>(null==e?void 0:e.name)===(null==c?void 0:c.fieldPath));null==u||null==(o=u.getField)||o.call(u,null==c?void 0:c.fieldPath);let t=L.EditableItemModel.getDefaultBindingByField(d,e);if(!t)return;let l=t.modelName;null==d||null==(i=d.engine)||null==(r=i.createModel)||r.call(i,{use:l,stepParams:{fieldSettings:{init:c}},parentId:this.uid,subKey:"field"})}let p=null==(n=this.context)?void 0:n.collection,m=this.fieldPath;if(m){let e=null==p||null==(a=p.getField)?void 0:a.call(p,m),t=(null==e?void 0:e.title)||m,l=m.includes(".")?m.split("."):[m];this.setProps({label:t,name:l})}}get fieldInit(){return this.getStepParams("fieldSettings","init")||{}}get fieldPath(){var e;return null==(e=this.fieldInit)?void 0:e.fieldPath}getAssignedEntry(){let e=this.fieldPath;return e?[e,this.assignValue]:null}render(){var e,t;let l=this.context,n=l.collection,o=this.fieldInit,r=(null==(e=this.props)?void 0:e.name)||(this.fieldPath?[this.fieldPath]:void 0),i=this.fieldPath,a=null==(t=this.subModels)?void 0:t.field,s=cY(a),d=()=>{var e,t,s,d,u;let[c,p]=P.useState(null);P.useEffect(()=>{var e,t,r,s,d,u,c,m,h,f,g,v,y,x,b,w,S,C,F,k,A;if(!i)return;let P=((null==n||null==(e=n.getFields)?void 0:e.call(n))||[]).find(e=>(null==e?void 0:e.name)===i);n.getField(i);let M=L.EditableItemModel.getDefaultBindingByField(l,P);if(!M)return;let j=M.modelName,I=cH(a,o),T=null==l||null==(r=l.engine)||null==(t=r.createModel)?void 0:t.call(r,{use:"VariableFieldFormModel",subModels:{fields:[{use:j,...I}]}});if(!T)return;null==(d=T.context)||null==(s=d.defineProperty)||s.call(d,"collection",{value:n});let R=null==l?void 0:l.dataSource;R&&(null==(c=T.context)||null==(u=c.defineProperty)||u.call(c,"dataSource",{value:R}));let E=null==n||null==(m=n.getField)?void 0:m.call(n,null==o?void 0:o.fieldPath);E&&(null==(f=T.context)||null==(h=f.defineProperty)||h.call(f,"collectionField",{value:E}));let N=null==l?void 0:l.blockModel;N&&(null==(v=T.context)||null==(g=v.defineProperty)||g.call(v,"blockModel",{value:N}));let D=l.form;D&&(null==(k=T.context)||null==(F=k.defineProperty)||F.call(k,"form",{value:D})),T.context&&Object.defineProperty(T.context,"resource",{configurable:!0,enumerable:!0,get:()=>null==N?void 0:N.resource});let $=null==T||null==(x=T.subModels)||null==(y=x.fields)?void 0:y[0],B=null==n||null==(b=n.getField)?void 0:b.call(n,null==o?void 0:o.fieldPath),O=null==B?void 0:B.type,q=null==B?void 0:B.interface,_="belongsToMany"===O||"hasMany"===O||"belongsToArray"===O||"m2m"===q||"o2m"===q||"mbm"===q;if(null==$||null==(w=$.setProps)||w.call($,{disabled:!1,readPretty:!1,updateAssociation:!1,multiple:_}),null==$||null==(S=$.dispatchEvent)||S.call($,"beforeRender",void 0,{sequential:!0,useCache:!0}),(0,cK.NI)($,B),!(null==$||null==(C=$.props)?void 0:C.fieldNames)&&(null==B?void 0:B.targetCollection)){let e=B.targetCollection,t=(null==B?void 0:B.targetKey)||(null==e?void 0:e.filterTargetKey)||"id";null==$||null==(A=$.setProps)||A.call($,{fieldNames:{label:null==e?void 0:e.titleField,value:t}})}return p(T),()=>{var e,t,l,n;null==T||null==(l=T.subModels)||null==(t=l.fields)||null==(e=t.forEach)||e.call(t,e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),null==T||null==(n=T.remove)||n.call(T)}},[]);let m=e=>(P.useEffect(()=>{var t,l,n;if(!c)return;null==(t=c.setProps)||t.call(c,{...e});let o=null==c||null==(n=c.subModels)||null==(l=n.fields)?void 0:l[0];if(o){var r,i=this;null==(r=o.setProps)||r.call(o,{value:null==e?void 0:e.value,onChange:function(){for(var t,l,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];let s=cJ(r&&r.length?r[0]:void 0);null==(t=o.setProps)||t.call(o,{value:s}),i.assignValue=s,null==e||null==(l=e.onChange)||l.call(e,s)}})}},[e]),c?(0,O.jsx)("div",{style:{width:"100%"},children:(0,O.jsx)(L.FlowModelRenderer,{model:c,showFlowSettings:!1})}):null),h=()=>{var e,t;return(0,O.jsx)(dW.A,{placeholder:`<${(null==(e=(t=this.context).t)?void 0:e.call(t,"Null"))??"Null"}>`,readOnly:!0,style:{width:"100%"}})},f=e=>(0,O.jsx)(cU.h,{t:this.context.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange,containerStyle:{width:"100%"}}),g=async()=>{var e;let t=null==(e=this.context)?void 0:e.getPropertyMetaTree;return"function"==typeof t?await t():[]},v=null==n||null==(e=n.getField)?void 0:e.call(n,this.fieldPath),y=(0,cW.kB)(v),x=(0,cW.Ot)(v,null==(t=this.fieldPath)?void 0:t.split(".").slice(-1)[0]),b=x?(0,cW.cd)(v,y):cW.tS,w=(null==(s=this.props)?void 0:s.label)??this.fieldPath??"",S=null==n||null==(d=n.getField)?void 0:d.call(n,this.fieldPath);return w=(null==(u=this.props)?void 0:u.label)??(null==S?void 0:S.title)??w,(0,O.jsx)(L.FormItem,{...this.props,label:w,name:r,initialValue:this.assignValue,valuePropName:"__assign_value__",trigger:"__assign_trigger__",validateTrigger:"__assign_trigger__",children:P.createElement(e=>{let t=null==e?void 0:e.__assign_value__,l=void 0===t?this.assignValue:t;return(0,O.jsx)(cW.Wm,{value:l,onChange:t=>{var l;this.assignValue=t,null==e||null==(l=e.__assign_trigger__)||l.call(e,t)},baseMetaTree:g,constantComponent:m,nullComponent:h,runJSComponent:f,isDateLikeField:x,dateComponentProps:b,clearValue:""})})})};return(0,O.jsx)(d,{},s)}constructor(e){super(e),this.assignValue=void 0,(0,q.define)(this,{assignValue:q.observable})}}cX.define({label:(0,L.tExpr)("Assign field")}),cX.registerFlow({key:"editItemSettings",sort:300,title:(0,L.tExpr)("Form item settings"),steps:{showLabel:{title:(0,L.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,L.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let n=e.model,o=null==(l=n.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:n.context.t("Original field title: ")+o}}}}),defaultParams:e=>({label:e.model.collectionField.title}),handler(e,t){var l;t.label&&t.label===(null==(l=e.model.collectionField)?void 0:l.title)?e.model.setProps({label:t.label}):e.model.setProps({label:e.t(t.label,{ns:"lm-flow-engine"})})}},init:{async handler(e){let t=e.model.collectionField;t&&e.model.setProps(t.getComponentProps());let l=e.model.fieldPath,n=l.includes(".")?l.split("."):l;e.model.setProps({name:n})}},tooltip:{title:(0,L.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,L.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},validation:{title:(0,L.tExpr)("Validation"),use:"validation"},required:{title:(0,L.tExpr)("Required"),use:"required"}}});class cQ extends dx{}cQ.itemModelName="DetailsItemModel",cQ.define({label:'{{t("Display association fields")}}'});var cZ=l(58929);let c0=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),n=parseFloat(l.marginTop)||0,o=parseFloat(l.marginBottom)||0;return t.height+n+o},c1=e=>{let{heightMode:t,containerRef:l,actionsRef:n,paginationRef:o,deps:r=[]}=e,[i,a]=(0,P.useState)(),s=(0,P.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void a(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let r=e.getBoundingClientRect().height;if(!r)return;let i=Math.max(0,Math.floor(r-c0(n.current)-c0(o.current)));a(e=>e===i?e:i)},[t,l,n,o]);return(0,P.useLayoutEffect)(()=>{s()},[s,...r]),(0,P.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=n.current,r=o.current,i=new ResizeObserver(()=>s());return i.observe(e),t&&i.observe(t),r&&i.observe(r),()=>i.disconnect()},[s,l,n,o,...r]),i};class c2 extends ue.t{createResource(e,t){var l,n;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(n=this.association)?void 0:n.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(L.SingleRecordResource);return e.isNewRecord=!1,e}let o=this.context.createResource(L.MultiRecordResource);return o.setPageSize(1),o}onInit(e){var t,l;super.onInit(e),this.hadSingleRecordData=(null==(l=this.resource)||null==(t=l.hasData)?void 0:t.call(l))??!1,this.hasMultiRefreshDispatched=!1;let n=(0,L.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1,resolveOnServer:(0,L.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.getCurrentRecord()),meta:n}),this.resource.on("refresh",()=>{var e,t;if(this.isMultiRecordResource()){this.hasMultiRefreshDispatched=!0,(0,co.Xi)(this,"paginationChange");return}let l=this.hadSingleRecordData;this.hadSingleRecordData=(null==(t=this.resource)||null==(e=t.hasData)?void 0:e.call(t))??!1,l&&(0,co.Xi)(this,"paginationChange")})}isMultiRecordResource(){return this.resource instanceof L.MultiRecordResource}hasDispatchedMultiRefresh(){return this.hasMultiRefreshDispatched}getCurrentRecord(){let e=this.resource.getData();return Array.isArray(e)?e[0]:e}hasAvailableData(){return this.resource.hasData()}async refresh(){await this.resource.refresh()}renderPagination(){if(!this.resource.loading&&!this.hasAvailableData()){var e,t;return(0,O.jsx)("div",{style:{textAlign:"center",color:null==(t=this.context)||null==(e=t.themeToken)?void 0:e.colorTextDescription},children:this.translate("No available data currently")})}let l=this.resource;return!this.isMultiRecordResource()||!l.getPage()||1>=this.resource.getMeta("count")?null:(0,O.jsx)("div",{style:{textAlign:"center"},children:(0,O.jsx)(cZ.A,{simple:!0,pageSize:1,showSizeChanger:!1,current:l.getPage(),total:l.getCount(),onChange:this.handlePageChange,style:{display:"inline-block"}})})}renderConfigureActions(){return(0,O.jsx)(L.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("RecordActionGroupModel"),afterSubModelInit:async e=>{e.setStepParams("buttonSettings","general",{type:"default"})},children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(n$.A,{}),children:this.translate("Actions")})},"details-actions-add")}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:n,layout:o}=this.props,r=!!this.context.flowSettingsEnabled,i=!r&&!this.hasAvailableData(),{heightMode:a,height:s}=this.decoratorProps;return(0,O.jsx)(c6,{model:this,gridModel:this.subModels.grid,isConfigMode:r,heightMode:a,height:s,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:n,layout:o},actions:(0,O.jsx)(L.DndProvider,{children:(0,O.jsx)("div",{style:i?{pointerEvents:"none",opacity:.45}:void 0,children:(0,O.jsxs)(dq.A,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||r)return(0,O.jsx)(L.Droppable,{model:e,children:(0,O.jsx)(L.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:L.DragHandler,sort:1}]})},e.uid)}),this.renderConfigureActions()]})})})})}constructor(...e){super(...e),this.hadSingleRecordData=!1,this.hasMultiRefreshDispatched=!1,this._defaultCustomModelClasses={RecordActionGroupModel:"RecordActionGroupModel",DetailsItemModel:"DetailsItemModel",DetailsAssociationFieldGroupModel:"DetailsAssociationFieldGroupModel",DetailsCustomItemModel:"DetailsCustomItemModel"},this.customModelClasses={},this.handlePageChange=async e=>{if(this.resource instanceof L.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await this.refresh()}}}}c2.scene=d7.P.oam;let c8=(0,L.observer)(e=>{let{model:t}=e;return t.renderPagination()}),c6=e=>{let{model:t,gridModel:l,isConfigMode:n,heightMode:o,height:r,layoutProps:i,actions:a}=e,s=(0,P.useRef)(null),d=(0,P.useRef)(null),u=(0,P.useRef)(null),c="specifyValue"===o||"fullHeight"===o,p=c1({heightMode:o,containerRef:s,actionsRef:d,paginationRef:u,deps:[r]});(0,P.useEffect)(()=>{var e,t;if(!l)return;let n=c?p:void 0;((null==(e=l.props)?void 0:e.height)!==n||(null==(t=l.props)?void 0:t.heightMode)!==o)&&l.setProps({height:n,heightMode:o})},[l,p,c,o]);let m=c?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,h=c?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,O.jsx)(cC.s2,{model:t,layoutProps:i,style:m,children:(0,O.jsxs)("div",{ref:s,style:h,children:[(0,O.jsx)("div",{ref:d,style:{textAlign:"right",lineHeight:"0px",paddingBottom:n&&t.context.themeToken.padding},children:a}),(0,O.jsx)(L.FlowModelRenderer,{model:l,showFlowSettings:!1},`${(null==l?void 0:l.uid)||"details-grid"}:${n?"design":"runtime"}`),(0,O.jsx)("div",{ref:u,children:(0,O.jsx)(c8,{model:t})})]})})};c2.registerFlow({key:"detailsSettings",title:(0,L.tExpr)("Details settings"),sort:150,steps:{refresh:{async handler(e){if(!e.resource)throw Error("Resource is not initialized");await e.model.applySubModelsBeforeRenderFlows("grid")}},layout:{use:"layout",title:(0,L.tExpr)("Layout")},dataScope:{use:"dataScope"},defaultSorting:{use:"sortingRule",title:(0,L.tExpr)("Default sorting")},linkageRules:{use:"detailsFieldLinkageRules"}}}),c2.registerFlow({key:"paginationChange",on:"paginationChange",steps:{blockLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"blockLinkageRules",flowKey:"cardSettings",stepKey:"linkageRules"}},fieldslinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"detailsFieldLinkageRules",flowKey:"detailsSettings",stepKey:"linkageRules"}}}}),c2.registerFlow({key:"initialPaginationChangeRefresh",sort:10001,steps:{refreshPaginationRelatedStates:{async handler(e){if(e.model.hidden||!e.model.isMultiRecordResource()||e.model.hasDispatchedMultiRefresh())return;let t=e.model.resource;if(!t)return;let l="manual"===(t.dataLoadingMode??t.loadingMode),n="function"==typeof t.hasActiveFilters&&t.hasActiveFilters();l&&!n&&await (0,co.Xi)(e.model,"paginationChange")}}}}),c2.define({label:(0,L.tExpr)("Details"),searchable:!0,searchPlaceholder:(0,L.tExpr)("Search"),createModelOptions:{use:"DetailsBlockModel",subModels:{grid:{use:"DetailsGridModel"}}},sort:350});class c3 extends L.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("DetailsCustomItemModel"),n=t=>Array.from(t.entries()).map(t=>{var l,n,o,r,i;let[a,s]=t,d="function"==typeof s.defineChildren||!!(null==(l=s.meta)?void 0:l.children),u={key:a,label:e.t(s.meta.label),sort:s.meta.sort??999,searchable:!!(null==(n=s.meta)?void 0:n.searchable),searchPlaceholder:null==(o=s.meta)?void 0:o.searchPlaceholder,hide:null==(r=s.meta)?void 0:r.hide};return d?u.children=e=>{var t;return"function"==typeof s.defineChildren?s.defineChildren(e):(null==(t=s.meta)?void 0:t.children)||[]}:u.createModelOptions=(null==(i=s.meta)?void 0:i.createModelOptions)||{use:a},u});return V().sortBy([...n(t),...n(l)],"sort")}}c3.renderMode=L.ModelRenderMode.RenderFunction,c3.define({hide:!0,label:(0,L.tExpr)("Others")});class c5 extends d1{renderAddSubModelButton(){return this.context.flowSettingsEnabled?(0,O.jsx)(L.AddSubModelButton,{model:this,subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("DetailsItemModel"),this.context.getModelClassName("DetailsAssociationFieldGroupModel"),this.context.getModelClassName("DetailsCustomItemModel")].filter(Boolean),keepDropdownOpen:!0,children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(n$.A,{}),children:this.translate("Fields")})}):null}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,n=null==(t=this.props)?void 0:t.heightMode,o=this.context.themeToken,r=super.render();return"defaultHeight"===n?r:(0,O.jsx)("div",{style:{height:l,overflowY:"auto",marginLeft:`-${o.marginLG}px`,marginRight:`-${o.marginLG}px`,paddingLeft:`${o.marginLG}px`,paddingRight:`${o.marginLG}px`},children:r})}constructor(...e){super(...e),this.itemFallback=(0,O.jsx)(rO.A.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}}),this.itemSettingsMenuLevel=2,this.itemFlowSettings={showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}},this.dragOverlayConfig={columnInsert:{before:{offsetTop:-6,height:24},after:{offsetTop:3,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:-2,height:24},below:{offsetTop:-12,height:24}}}}}function c4(e,t){let{fieldUseModel:l,refreshTargets:n}=t,o=e=>Array.isArray(e)?e.map(e=>{let t={...e};if(t.children)if("function"==typeof t.children){let e=t.children;t.children=async t=>o(await e(t))}else Array.isArray(t.children)&&(t.children=o(t.children));if(t.createModelOptions){let e=t.createModelOptions;t.createModelOptions=async(t,n)=>{let o=await ("function"==typeof e?e(t,n):e);return o.subModels=o.subModels||{},o.subModels.field={...o.subModels.field||{},use:l},o},t.refreshTargets=t.refreshTargets||n}return t}):[];return o(e)}function c7(e,t,l){let{fieldUseModel:n,refreshTargets:o}=l,r=l.key??"js-association-fields",i=l.label??(0,L.tExpr)("Display association fields");return{key:r,type:"group",label:i,searchable:l.searchable??!0,searchPlaceholder:l.searchPlaceholder??(0,L.tExpr)("Search fields"),children:async e=>c4(await t(e),{fieldUseModel:n,refreshTargets:o})}}c5.registerFlow({key:"detailFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class c9 extends dx{}async function pe(e,t){var l;let{useModel:n,fieldUseModel:o,refreshTargets:r,associationPathName:i,associationProvider:a}=t,s=(0,L.buildWrapperFieldChildren)(e,{useModel:n,fieldUseModel:o,associationPathName:i,refreshTargets:r}),d=[],u=null==s||null==(l=s[0])?void 0:l.children;if(Array.isArray(u)&&(d=u),!a)return d;let c=await a(e);return Array.isArray(c)&&0!==c.length?[...d,c7(e,a,{fieldUseModel:o,refreshTargets:r})]:d}c9.itemModelName="FormItemModel";class pt extends c3{static defineChildren(e){return pe(e,{useModel:"DetailsItemModel",fieldUseModel:"JSFieldModel",refreshTargets:["DetailsItemModel"],associationProvider:e=>cQ.defineChildren(e)})}}pt.define({label:(0,L.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,L.tExpr)("Search fields"),sort:110});class pl extends sr.o{}var pn=l(85196);class po extends sr.o{constructor(...e){super(...e),this.operator="$eq",this.updateAssociation=!1}}po.registerFlow({key:"AssociationFieldInit",sort:800,steps:{init:{async handler(e,t){if(e.model.updateAssociation){var l,n;let t=e.model.context.blockModel,o=null==t||null==(l=t.context)?void 0:l.resource,r=null==(n=e.model.parent)?void 0:n.fieldPath;o&&r&&o.addUpdateAssociationValues(r)}}},allowCreateCheck:{async handler(e){var t;let l=await e.aclCheck({dataSourceKey:e.collectionField.dataSourceKey,resourceName:null==(t=e.collectionField)?void 0:t.target,actionName:"create"});e.model.setProps({allowCreate:!!l})}}}});let pr=(e,t)=>e===t,pi=e=>{if(e&&"object"==typeof e){let t=e.data;return t&&"object"==typeof t?t:e}};function pa(e){return"string"==typeof e&&e?e:Array.isArray(e)&&1===e.length&&"string"==typeof e[0]?e[0]:void 0}function ps(e,t){var l;let n="string"==typeof(null==t||null==(l=t.titleCollectionField)?void 0:l.name)?t.titleCollectionField.name:void 0,o=pa(null==t?void 0:t.filterTargetKey)||"id",r="string"==typeof(null==e?void 0:e.value)&&e.value&&!pr(e.value,"value")?e.value:void 0,i="string"==typeof(null==e?void 0:e.label)&&e.label&&!pr(e.label,"label")?e.label:void 0,a=r||o;return{label:i||n||a,value:a}}function pd(e){var t,l,n,o,r,i;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=!!a.navigation,d=e=>{if(Array.isArray(e))return e.filter(e=>"string"==typeof e&&!!e)},u=d(null==(l=e.view)||null==(t=l.inputArgs)?void 0:t.openerUids),c=d(a.openerUids),p=u||c||[];if(s)return(c||p).filter(Boolean);let m=null==(o=e.view)||null==(n=o.inputArgs)?void 0:n.viewUid,h=null==(i=e.model.context)||null==(r=i.inputArgs)?void 0:r.viewUid;return[...p,"string"==typeof m&&m?m:"string"==typeof h&&h?h:e.model.uid].filter(Boolean)}function pu(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function pc(e){let{value:t,isMultiple:l,valueKey:n,labelKey:o,statusMap:r}=e,i=l?Array.isArray(t)?t:[]:null!=t?[t]:[],a=new Set;for(let e of i){if(!pu(e))continue;let t=e[n];if(null==t)continue;let l="object"==typeof t?JSON.stringify(t):String(t);l&&a.add(l)}for(let e of Array.from(r.keys()))a.has(e)||r.delete(e);let s=[];for(let e of i){if(!pu(e))continue;let t=e[n];if(null==t||null!=e[o])continue;let l="object"==typeof t?JSON.stringify(t):String(t);!l||r.has(l)||(r.set(l,"pending"),s.push({item:e,tk:t,tkKey:l}))}return s}function pp(e){return pu(e)&&"function"==typeof e.setFormValue}function pm(e){var t;let l=pu(e.context)?e.context:void 0;return(null==l?void 0:l.fieldPathArray)??(null==l?void 0:l.fieldPath)??(null==(t=e.props)?void 0:t.name)}function ph(e){if(pp(e.context))return e.context;let t=pu(e.context)?e.context:void 0,l=pu(null==t?void 0:t.blockModel)?t.blockModel:void 0;return pp(null==l?void 0:l.context)?l.context:void 0}function pf(e){let{model:t,value:l,isMultiple:n,fieldNames:o,onChange:r}=e,i=P.useRef(new Map);P.useEffect(()=>{let e=t.resource;if("function"!=typeof(null==e?void 0:e.get)||!o.value||!o.label)return;let a=l,s=pc({value:a,isMultiple:n,valueKey:o.value,labelKey:o.label,statusMap:i.current});if(!s.length)return;let d=pm(t),u=ph(t),c=async t=>{let{item:l,tk:s,tkKey:c}=t;try{var p;let t=await (null==(p=e.get)?void 0:p.call(e,s));if(!pu(t))return;let i={...l,...t};if(null==i[o.label])return;let c=n?(Array.isArray(a)?a:[]).map(e=>pu(e)&&e[o.value]===s?i:e):i;if("function"==typeof(null==u?void 0:u.setFormValue)&&null!=d)return void await u.setFormValue(d,c,{source:"default",markExplicit:!1,triggerEvent:!1});r(c)}catch{}finally{i.current.set(c,"done")}};s.forEach(e=>{c(e)})},[o.label,o.value,n,t,r,l])}function pg(e){if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(Array.isArray(e)){let t=e.map(e=>{if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(e&&"object"==typeof e){let t=e.label??e.name;if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return t}}).filter(e=>void 0!==e);return t.length?t.map(String).join(", "):void 0}if(e&&"object"==typeof e){let t=e.label??e.name;if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return t}}function pv(e){var t,l,n;let{option:o,fieldNames:r}=e,i=(0,L.useFlowModel)(),a=pi(o),s=ps(r,null==(t=i.context.collectionField)?void 0:t.targetCollection),d=i.subModels.field,u=pg(null==a?void 0:a[s.label])??pg(null==a?void 0:a.label)??pg(null==a?void 0:a[s.value]);if(!d)return(0,O.jsx)("span",{children:u??"N/A"});let c=String((null==a?void 0:a[s.value])??u??"association-option"),p=d.createFork({},c);p.context.defineProperty("record",{get:()=>a,cache:!1,meta:(0,L.createCurrentRecordMetaFactory)(p.context,()=>p.context.collection)});let m=null==(n=i.context.collectionField.targetCollection)||null==(l=n.getField)?void 0:l.call(n,s.label),h=m&&"function"==typeof m.getComponentProps?m.getComponentProps():{};p.setProps({value:u,clickToOpen:!1,...h});let f=null!=u&&""!==u?p.render():"N/A";return(0,O.jsx)("span",{style:{pointerEvents:"none"},children:f})}function py(e,t){let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"record",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];if(!e)return l?[]:void 0;let{value:r}=t||{},i=e=>"object"==typeof e&&null!==e,a=e=>{if(i(e))return{label:(0,O.jsx)(pv,{option:e,fieldNames:t}),value:e[r]}};if("value"===n){let t=e=>{if("object"==typeof e&&null!==e)return a(e);let t=o.find(t=>(null==t?void 0:t[r])===e);return t?a(t):{label:String(e),value:e}};return l?Array.isArray(e)?e.map(e=>t(e)).filter(Boolean):[]:Array.isArray(e)?t(e[0]):t(e)}if(l)return Array.isArray(e)?e.filter(i).map(a).filter(Boolean):[];if(Array.isArray(e)){let t=e[0];return i(t)?a(t):void 0}return i(e)?a(e):void 0}function px(e,t,l){return(null==e?void 0:e.length)?e.map(e=>(0,_.omit)(e,"disabled","options","style")):l?Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e):[]:t&&"object"==typeof t?[t]:[]}var pb=l(33022);let pw="calc(12px + env(safe-area-inset-bottom, 0px))",pS={paddingBottom:pw};function pC(e){return{maxHeight:"60vh",overflowY:"auto",paddingBottom:e?void 0:pw}}let pF=(0,k.css)`
485
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":a6.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}},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","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}}}},handler(e,t){e.model.setProps({url:t.url,searchParams:t.searchParams,openInNewWindow:t.openInNewWindow})}}}});class cy extends dy.S0{setTitle(e){this.setProps({title:e})}setExpandFlag(e){this.expandFlag=e}getTitle(){return this.expandFlag?this.context.t("Collapse all"):this.context.t("Expand all")}getIcon(){return this.expandFlag?"NodeCollapseOutlined":"NodeExpandOutlined"}constructor(...e){super(...e),this.defaultProps={type:"default",icon:"DownOutlined"}}}function cx(e){let{idKey:t="id",childrenKey:l="children"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[];function o(e){if(Array.isArray(e))for(let r of e){let e=r[l];n.push(r[t]),Array.isArray(e)&&e.length>0&&o(e)}}return o(e),n}cy.scene=dy.s5.collection;let cb=e=>cx(e);cy.registerFlow({key:"expandCollapseSettingsInit",sort:200,steps:{init:{handler(e,t){e.blockModel.props.defaultExpandAllRows?e.model.setExpandFlag(!0):e.model.setExpandFlag(!1)}}}}),cy.registerFlow({key:"expandCollapseSettings",on:"click",steps:{expandCollapse:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return;let n=e.blockModel.resource,{treeTable:o}=e.blockModel.props;if(o)if(e.model.expandFlag)e.blockModel.setProps({expandedRowKeys:[]}),e.model.setExpandFlag(!1);else{let t=cb(n.getData());e.blockModel.setProps({expandedRowKeys:t}),e.model.setExpandFlag(!0)}}}}}),cy.define({label:(0,L.escapeT)("Expand/Collapse"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.model.props.treeTable}});class cw extends uj{getAclActionName(){return"create"}onInit(e){super.onInit(e),this.context.defineProperty("association",{get:()=>this.context.blockModel.dataSource.getAssociation(`${this.context.blockModel.collection.name}.children`)})}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,L.tExpr)("Add child"),icon:"PlusOutlined"}}}cw.capabilityActionName=null,cw.registerFlow({key:"addChildSettingsInit",steps:{addChildInit:{async handler(e,t){e.model.onClick=t=>{e.model.dispatchEvent("click",{event:t,...e.inputArgs,sourceId:e.record.id,filterByTk:null},{debounce:!0})}}}}}),cw.define({label:(0,L.tExpr)("Add child"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.blockModel.props.treeTable}}),dv.registerActionModels({AddChildActionModel:cw});var cS=l(89013),cC=l(96491);class cF extends cC.F4{useHooksBeforeRender(){let[e]=cS.A.useForm();this.context.defineProperty("form",{get:()=>e})}onInit(e){super.onInit(e);let t=(0,L.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>{var e,t;return null==(e=(t=this).getCurrentRecord)?void 0:e.call(t)},cache:!1,resolveOnServer:(0,L.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>{var e,t;return null==(e=(t=this).getCurrentRecord)?void 0:e.call(t)}),meta:t}),this.context.defineProperty("filterManager",{once:!0,get:()=>new dO(this,null==e?void 0:e.filterManager)}),this.isManualRefresh=!0}createResource(e,t){let l=this.context.createResource(L.SingleRecordResource);return l.isNewRecord=!0,l}renderComponent(){var e;let{colon:t,labelAlign:l,labelWidth:n,labelWrap:o,layout:r}=this.props;return(0,O.jsx)(cC.s2,{model:this,layoutProps:{colon:t,labelAlign:l,labelWidth:n,labelWrap:o,layout:r},children:(0,O.jsx)(L.FlowModelRenderer,{model:null==(e=this.subModels)?void 0:e.grid,showFlowSettings:!1})})}setInitialAssignedValues(e){var t;let l=null==(t=this.subModels)?void 0:t.grid;Object.entries(e||{}).forEach(e=>{let[t,n]=e;l.addOrEnsureItem(t,n)})}getAssignedValues(){return this.subModels.grid.getAssignedValues()||{}}}cF.define({label:(0,L.tExpr)("Field assignments"),hide:!0,createModelOptions:{use:"AssignFormModel",subModels:{grid:{use:"AssignFormGridModel"}}}});class ck extends d1{serialize(){return{...super.serialize(),variableContractType:{type:"formGrid",use:this.use}}}renderAddSubModelButton(){return(0,O.jsx)(L.AddSubModelButton,{subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("FormItemModel"),this.context.getModelClassName("FormAssociationFieldGroupModel"),this.context.getModelClassName("FormCustomItemModel"),this.context.getModelClassName("FormJSFieldItemModel")].filter(Boolean),model:this,keepDropdownOpen:!0,children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(n$.A,{}),children:this.translate("Fields")})})}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,n=null==(t=this.props)?void 0:t.heightModel,o=this.context.themeToken,r=super.render();return"defaultHeight"===n?r:(0,O.jsx)("div",{style:{height:l,overflowY:"auto",marginLeft:`-${o.marginLG}px`,marginRight:`-${o.marginLG}px`,paddingLeft:`${o.marginLG}px`,paddingRight:`${o.marginLG}px`,paddingTop:5},children:r})}constructor(...e){super(...e),this.itemFallback=(0,O.jsx)(rO.A.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}}),this.itemSettingsMenuLevel=2,this.itemFlowSettings={showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}},this.dragOverlayConfig={columnInsert:{before:{offsetTop:-6,height:24},after:{offsetTop:3,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:-2,height:24},below:{offsetTop:-12,height:24}}}}}ck.registerFlow({key:"formFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});let cA=2;class cP extends ck{renderAddSubModelButton(){var e,t;let l=null==(e=this.context)?void 0:e.collection,n=(null==l||null==(t=l.getFields)?void 0:t.call(l))||[],o=this.context.prefixFieldPath?this.context.prefixFieldPath.split(".").filter(Boolean).length:0,r="function"==typeof(null==l?void 0:l.getPrimaryKey)?l.getPrimaryKey():void 0,i=null==l?void 0:l.filterTargetKey,a=e=>!!e&&!!(r&&e===r||"string"==typeof i&&e===i||Array.isArray(i)&&i.includes(e)),s=n.filter(e=>!a(null==e?void 0:e.name)).filter(e=>{var t;return o<cA||!((null==e||null==(t=e.isAssociationField)?void 0:t.call(e))||(null==e?void 0:e.target)||(null==e?void 0:e.targetCollection))}).map(e=>{let t=e.name,n=e.title||e.name,o=L.EditableItemModel.getDefaultBindingByField(this.context,e);if(!o)return;let r=o.modelName;return{key:t,label:n,toggleable:e=>{let l=e.getStepParams("fieldSettings","init")||{};return(null==l?void 0:l.fieldPath)===t},useModel:"AssignFormItemModel",createModelOptions:()=>({use:"AssignFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==l?void 0:l.dataSourceKey,collectionName:null==l?void 0:l.name,fieldPath:t}}},subModels:{field:{use:r,stepParams:{fieldSettings:{init:{dataSourceKey:null==l?void 0:l.dataSourceKey,collectionName:null==l?void 0:l.name,fieldPath:t}}}}}})}}).filter(Boolean);return(0,O.jsx)(L.AddSubModelButton,{subModelKey:"items",model:this,items:s,keepDropdownOpen:!0,children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(n$.A,{}),children:this.translate("Fields")})})}addOrEnsureItem(e,t){var l,n,o;let r=null==(l=this.context)?void 0:l.collection,i=((null==(n=this.subModels)?void 0:n.items)||[]).find(t=>{try{let l="function"==typeof(null==t?void 0:t.getStepParams)?t.getStepParams("fieldSettings","init"):null;return(null==l?void 0:l.fieldPath)===e}catch(e){return!1}});if(i){"function"==typeof(null==i?void 0:i.setStepParams)&&i.setStepParams("fieldSettings","assignValue",{value:t}),i.assignValue=t;return}if(!r)return;let a=((null==(o=r.getFields)?void 0:o.call(r))||[]).find(t=>t.name===e);if(!a){this.addSubModel("items",{use:"AssignFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==r?void 0:r.dataSourceKey,collectionName:null==r?void 0:r.name,fieldPath:e},assignValue:{value:t}}}}).assignValue=t;return}let s=L.EditableItemModel.getDefaultBindingByField(this.context,a);if(!s)return;let d=s.modelName;this.addSubModel("items",{use:"AssignFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==r?void 0:r.dataSourceKey,collectionName:null==r?void 0:r.name,fieldPath:e},assignValue:{value:t}}},subModels:{field:{use:d,stepParams:{fieldSettings:{init:{dataSourceKey:null==r?void 0:r.dataSourceKey,collectionName:null==r?void 0:r.name,fieldPath:e}}}}}}).assignValue=t}getAssignedValues(){var e;let t=(null==(e=this.subModels)?void 0:e.items)||[],l={};for(let e of t){let t="function"==typeof e.getAssignedEntry?e.getAssignedEntry():null;t&&Array.isArray(t)&&(l[t[0]]=t[1])}return l}}cP.define({label:(0,L.tExpr)("Assign grid")});var cM=l(44329);function cj(e){return"string"==typeof e?e:"function"==typeof e&&e.name?e.name:void 0}function cI(e){var t,l;let n=null==e||null==(l=e.stepParams)||null==(t=l.fieldBinding)?void 0:t.use;return"string"==typeof n?n:void 0}async function cT(e){var t,l,n;let{parentModel:o,targetUse:r,defaultProps:i,pattern:a,fieldSettingsInit:s}=e,d=o.subModels.field,u=null==d?void 0:d.uid,c=null==d||null==(l=d.serialize)||null==(t=l.call(d))?void 0:t.subModels;for(let e in c)!1===c[e].delegateToParent&&delete c[e];let p=cj(cI(d)||(null==d?void 0:d.use))===r&&(null==d?void 0:d.stepParams)||{},m=s??(null==(n=o.getFieldSettingsInitParams)?void 0:n.call(o)),{fieldBinding:h,...f}=p,g={...f,fieldSettings:{...f.fieldSettings||{},init:m}},v=o.flowEngine;u&&(null==d||d.invalidateFlowCache("beforeRender",!0),v.removeModelWithSubModels(u));let y=o.setSubModel("field",{uid:u,use:r,props:{...i||{},...a?{pattern:a}:{}},stepParams:g,subModels:c});await y.dispatchEvent("beforeRender",void 0,{useCache:!1}),await o.save()}var cR=l(13940);function cE(e,t,l){let n=(0,_.castArray)(l).filter(e=>"string"==typeof e),o=t.split(".");if(null==n?void 0:n.length){let t=[],l=0,r=0;for(;l<o.length;){let e=o[l];if(t.push(e),r<n.length){let[l,o]=n[r].split(":");l===e&&(t.push(Number(o)),r++)}l++}return(0,_.get)(e,t)}return(0,_.get)(e,o)}function cN(e){let{record:t,currentObject:l,fieldPath:n,prefixFieldPath:o,idx:r}=e,i=cE(t,n,r);if(void 0!==i||null==l)return i;if(o&&n===o)return l;let a=o&&n.startsWith(`${o}.`)?n.slice(o.length+1):n;return a?(0,_.get)(l,a):l}function cD(e,t){return!(0,cR.E4)(e)||Array.isArray(t)?t:t&&"object"==typeof t&&Array.isArray(t.rows)?t.rows:null==t?[]:[t]}class c$ extends L.DisplayItemModel{static defineChildren(e){let t=e.collection;return t.getFields().map(l=>{let n=this.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!n)return null;let o=n.modelName,r=e.prefixFieldPath?`${e.prefixFieldPath}.${l.name}`:l.name;return{key:r,label:l.title,refreshTargets:["DetailsCustomItemModel/DetailsJSFieldItemModel"],toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===r},useModel:"DetailsItemModel",createModelOptions:()=>({use:"DetailsItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:r}}},subModels:{field:{use:o,props:"function"==typeof n.defaultProps?n.defaultProps(e,l):n.defaultProps}}})}}).filter(Boolean)}onInit(e){super.onInit(e),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}renderItem(){let e=this.subModels.field,t=this.context.fieldIndex,l=this.context.record,n=this.context.currentObject,o=this.context.item,r=this.context.getPropertyOptions("item"),i=this.context.prefixFieldPath,a=null!=t?(()=>{let i=e.createFork({},`${t}`);i.context.defineProperty("fieldIndex",{get:()=>t}),i.context.defineProperty("record",{get:()=>l,cache:!1}),i.context.defineProperty("currentObject",{get:()=>n,cache:!1});let{value:a,...s}=r||{};return i.context.defineProperty("item",{...s,get:()=>o,cache:!1}),this.context.pattern&&i.context.defineProperty("pattern",{get:()=>this.context.pattern}),i})():e,s=this.context.pattern?{...this.context.blockModel.props,...this.props,pattern:this.context.pattern,disabled:"readPretty"===this.context.pattern}:{...this.context.blockModel.props,...this.props},d=cD(this.collectionField,cN({record:l,currentObject:n,fieldPath:this.fieldPath,prefixFieldPath:i,idx:t}));return(0,O.jsx)(L.FormItem,{...s,value:d,children:(0,O.jsx)(L.FieldModelRenderer,{model:a})})}}c$.define({label:(0,L.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,L.tExpr)("Search fields"),sort:100}),c$.registerFlow({key:"detailItemSettings",sort:300,title:(0,L.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,L.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,L.tExpr)("Label"),uiSchema:e=>({title:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let n=e.model,o=null==(l=n.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:n.context.t("Original field title: ")+o}}}}),defaultParams:e=>{var t;return{title:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){var l;let n={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.title,n)})}},aclCheck:{use:"aclCheck"},init:{async handler(e){let{collectionField:t}=e.model;t&&e.model.setProps(t.getComponentProps())}},tooltip:{title:(0,L.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,L.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},model:{title:(0,L.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,L.tExpr)("Title field"),beforeParamsSave:async(e,t,l)=>{if(!e.collectionField||!e.collectionField.isAssociationField())return null;if(t.label!==l.label){var n,o;e.model.setProps({titleField:t.label,...null==(o=e.collectionField.targetCollection)||null==(n=o.getField(t.label))?void 0:n.getComponentProps()});let l=e.collectionField.targetCollection.getField(t.label),r=L.DisplayItemModel.getDefaultBindingByField(e,l),i=r.modelName;await cT({parentModel:e.model,targetUse:i,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})}},async handler(e,t){var l,n;if(!e.collectionField||e.model.subModels.field.disableTitleField)return;e.model.setProps({titleField:t.label,...null==(n=e.collectionField.targetCollection)||null==(l=n.getField(t.label))?void 0:l.getComponentProps()});let o=e.collectionField.targetCollection;if(o){let l=o.getField(t.label),n=L.DisplayItemModel.getDefaultBindingByField(e,l).modelName;n!==e.model.subModels.field.use&&e.model.setStepParams(e.flowKey,"model",{use:n})}},hideInSettings:async e=>!e.collectionField||!e.collectionField.isAssociationField()||e.model.subModels.field.disableTitleField}}}),c$.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var cB=l(71616);function cO(e){if(!e)return!1;let t=null==e?void 0:e.type;return"belongsToMany"===t||"hasMany"===t||"belongsToArray"===t}function cq(e,t){var l;let n=!!(null==e||null==(l=e.isAssociationField)?void 0:l.call(e)),o=cO(e);return n&&!o&&Array.isArray(t)?t.length?t[0]:void 0:t}function cL(e,t){if(!(null==t?void 0:t.length))return e;let[l,n]=String(t[t.length-1]).split(":"),o=Number(n);if(!l||!Number.isFinite(o))return e;let r=0;for(let e of t){let[t]=String(e).split(":");t===l&&(r+=1)}let i=-1,a=0;for(let t=0;t<e.length;t++)if(String(e[t])===l&&(a+=1)===r){i=t;break}if(-1===i){for(let t=e.length-1;t>=0;t--)if(String(e[t])===l){i=t;break}}return -1===i?e:[o,...e.slice(i+1)]}let c_=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"],cV=2;class cz extends L.EditableItemModel{static defineChildren(e){let t=e.collection,l=e.prefixFieldPath?e.prefixFieldPath.split(".").filter(Boolean).length:0;return t.getFields().map(n=>{var o;if(l>=cV&&((null==(o=n.isAssociationField)?void 0:o.call(n))||n.target||n.targetCollection))return;let r=this.getDefaultBindingByField(e,n);if(!r)return;let i=r.modelName,a=e.prefixFieldPath?`${e.prefixFieldPath}.${n.name}`:n.name;return{key:a,label:n.title,refreshTargets:["FormJSFieldItemModel","FormItemModel/FormJSFieldItemModel"],toggleable:e=>(0,cR.pX)(e).some(e=>e===a),useModel:"FormItemModel",createModelOptions:()=>({use:"FormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:a}}},subModels:{field:{use:i,props:"function"==typeof r.defaultProps?r.defaultProps(e,n):r.defaultProps}}})}}).filter(Boolean)}onInit(e){super.onInit(e),this.emitter.on("onSubModelAdded",e=>{if(this.collectionField){let t=this.collectionField.getComponentProps();e.setProps(t),this.setProps({...V().pick(t,"rules")||{}})}})}renderItem(){var e,t;let l=this.subModels.field,n=this.context.fieldIndex,o=this.context.fieldKey,r=(null==(e=this.parent)?void 0:e.context.fieldPathArray)||[],i=!!this.context.flowSettingsEnabled&&!!this.props.hidden&&!this.hidden&&!this.forbidden,a=null!=n||i?(()=>{let e=i?`${this.uid}:config-visible`:`${o}`,t=l.createFork({},e);if(null!=n){t.context.defineProperty("fieldIndex",{get:()=>n}),t.context.defineProperty("fieldKey",{get:()=>o}),this.context.currentObject&&t.context.defineProperty("currentObject",{get:()=>this.context.currentObject});let e=this.context.getPropertyOptions("item");if(this.context.item){let{value:l,...n}=e||{};t.context.defineProperty("item",{...n,get:()=>this.context.item,cache:!1})}this.context.pattern&&t.context.defineProperty("pattern",{get:()=>this.context.pattern})}return t.context.defineProperty("fieldPathArray",{get:()=>this.context.fieldPathArray,cache:!1}),i&&t.setProps({hidden:!1}),t})():l,{initialValue:s,hidden:d,...u}=this.context.pattern?{...this.props,pattern:this.context.pattern}:this.props,c=i?u:{hidden:d,...u},p=cL(this.props.name,n);this.context.defineProperty("fieldPathArray",{get:()=>[...r,...V().castArray(p)],cache:!1});let m=(null==(t=this.context.item)?void 0:t.value)||this.context.record,h=(0,O.jsx)(L.FormItem,{...c,name:p,validateFirst:!0,disabled:this.props.disabled||!V().isEmpty(m)&&!m.__is_new__&&this.props.aclDisabled||!V().isEmpty(m)&&m.__is_new__&&this.props.aclCreateDisabled,children:(0,O.jsx)(L.FieldModelRenderer,{model:a,name:p})});return i?(0,O.jsx)(tU.A,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,O.jsx)("div",{style:{opacity:.3},children:h})}):h}}cz.define({label:(0,L.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,L.tExpr)("Search fields"),sort:100}),cz.registerFlow({key:"editItemSettings",sort:300,title:(0,L.tExpr)("Form item settings"),steps:{showLabel:{title:(0,L.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,L.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let n=e.model,o=null==(l=n.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:n.context.t("Original field title: ")+o}}}}),defaultParams:e=>{var t;return{label:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){var l;let n={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.label,n)})}},aclCheck:{use:"aclCheck",async handler(e,t){var l,n,o,r,i,a,s,d,u,c,p,m,h;if(!e.collectionField||!e.blockModel)return;let f=e.blockModel.context.actionName,g=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(n=e.collectionField)?void 0:n.collectionName,fields:[null==(o=e.collectionField)?void 0:o.name],actionName:f});if("update"===f){let t=await e.aclCheck({dataSourceKey:null==(r=e.dataSource)?void 0:r.key,resourceName:null==(i=e.collectionField)?void 0:i.collectionName,fields:[e.collectionField.name],actionName:"view"});e.prefixFieldPath&&e.item&&(await e.aclCheck({dataSourceKey:null==(s=e.dataSource)?void 0:s.key,resourceName:null==(d=e.collectionField)?void 0:d.collectionName,fields:[e.collectionField.name],actionName:"create"})||e.model.setProps({aclCreateDisabled:!0}));let l=(null==(a=e.item)?void 0:a.__is_new__)??!1;t||l||(e.model.hidden=!0,e.model.forbidden={actionName:"view"},e.exitAll()),g||e.model.setProps({aclDisabled:!0})}else if("create"===f){let t=await e.aclCheck({dataSourceKey:null==(u=e.dataSource)?void 0:u.key,resourceName:null==(c=e.collectionField)?void 0:c.collectionName,actionName:"update"}),l=await e.aclCheck({dataSourceKey:null==(p=e.dataSource)?void 0:p.key,resourceName:null==(m=e.collectionField)?void 0:m.collectionName,fields:[e.collectionField.name],actionName:"update"}),n=(null==(h=e.item)?void 0:h.__is_stored__)??!1;g||n||(e.model.hidden=!0,e.model.forbidden={actionName:f},e.exitAll()),t&&l||e.model.setProps({aclDisabled:!0})}}},init:{async handler(e){let t=e.model.fieldPath,l=t.includes(".")?t.split("."):t;e.model.setProps({name:l})}},tooltip:{title:(0,L.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,L.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem","x-component-props":{autoSize:!0}}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},initialValue:{title:(0,L.tExpr)("Default value"),disabledInSettings:!0,disabledReasonInSettings:e=>`${e.t("This setting has been moved to")}: ${e.t("Form block settings")} > ${e.t("Field values")}`,uiSchema:e=>{var t,l,n,o;if(e.model.parent.parent instanceof cB.EditFormModel||(null==(l=e.model.subModels)||null==(t=l.field)?void 0:t.updateAssociation))return;let r=null==(n=e.model.collectionField)?void 0:n.interface;if(null==c_||null==(o=c_.includes)||!o.call(c_,r))return{defaultValue:{"x-component":"DefaultValue","x-decorator":"FormItem"}}},defaultParams:e=>{let t=e.model.collectionField;if("nanoid"===t.interface&&!1!==t.options.autoFill){let{size:e,customAlphabet:l}=t.options||{size:21};return{defaultValue:(0,cM.d_)(l,e)()}}return{defaultValue:t.defaultValue}},handler(e,t){var l,n;let o=null==(l=e.model.collectionField)?void 0:l.interface;if(null==c_||null==(n=c_.includes)?void 0:n.call(c_,o))return;let r=cq(e.model.collectionField,t.defaultValue);e.model.setProps({initialValue:r})}},validation:{title:(0,L.tExpr)("Validation"),use:"validation"},required:{title:(0,L.tExpr)("Required"),use:"required"},model:{use:"fieldComponent",title:(0,L.tExpr)("Field component")},pattern:{use:"pattern"},titleField:{use:"titleField",hideInSettings:e=>!(e.collectionField&&e.collectionField.isAssociationField()&&e.collectionField.isAssociationField()&&"readPretty"===e.model.getProps().pattern),defaultParams:e=>{var t,l,n;return{titleField:e.model.props.titleField||(null==(n=e.model)||null==(l=n.context)||null==(t=l.collectionField)?void 0:t.targetCollectionTitleFieldName)}},beforeParamsSave:async(e,t,l)=>{if(!(e.collectionField.isAssociationField()&&"readPretty"===e.model.getProps().pattern))return null;let n=t.titleField||t.label;if(n!==l.titleField){let t=e.collectionField.targetCollection,l=t.getField(n),o=c$.getDefaultBindingByField(e,l);if(o.modelName!==e.model.subModels.field.use){let l=e.model.subModels.field.uid;await e.engine.destroyModel(l);let r=e.model.setSubModel("field",{use:o.modelName,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:t.name,fieldPath:n}}}});await r.save()}e.model.setProps(e.collectionField.targetCollection.getField(n).getComponentProps())}},async handler(e,t){"readPretty"===e.model.props.pattern?e.model.setProps({titleField:null==t?void 0:t.label}):e.model.setProps({titleField:t.titleField})}}}}),cz.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var cK=l(85352),cU=l(90199),cW=l(97510);function cH(e,t){var l,n,o;let r=null==e||null==(l=e.props)?void 0:l.fieldNames,i=null==e||null==(n=e.props)?void 0:n.titleField,a=null==e||null==(o=e.getStepParams)?void 0:o.call(e,"selectSettings","fieldNames");return{stepParams:{fieldSettings:{init:t},...a?{selectSettings:{fieldNames:a}}:{}},props:{...void 0!==r?{fieldNames:r}:{},...void 0!==i?{titleField:i}:{}}}}function cG(e){try{return JSON.stringify(e)??""}catch{return String(e)}}function cY(e){var t,l,n;let o=null==e||null==(t=e.props)?void 0:t.fieldNames,r=null==e||null==(l=e.props)?void 0:l.titleField,i=null==e||null==(n=e.getStepParams)?void 0:n.call(e,"selectSettings","fieldNames");return[(null==e?void 0:e.uid)||"",cG(o),cG(r),cG(i)].join("|")}function cJ(e){if(!e||"object"!=typeof e||!("target"in e))return e;let t=e.target;return t&&"value"in t?t.value:e}class cX extends cz{onInit(e){var t,l,n,o,r,i,a;let s=null==(t=this.getStepParams("fieldSettings","assignValue"))?void 0:t.value;void 0!==s&&(this.assignValue=s),this.context.defineProperty("collectionField",{get:()=>{var e,t;let l=this.getStepParams("fieldSettings","init")||{},n=`${null==l?void 0:l.dataSourceKey}.${null==l?void 0:l.collectionName}.${null==l?void 0:l.fieldPath}`,o=null==(e=this.context)?void 0:e.dataSourceManager;return null==o||null==(t=o.getCollectionField)?void 0:t.call(o,n)}});let d=this.context,u=null==d?void 0:d.collection,c=this.fieldInit;if(!(null==(l=this.subModels)?void 0:l.field)&&(null==u?void 0:u.getFields)){let e=(u.getFields()||[]).find(e=>(null==e?void 0:e.name)===(null==c?void 0:c.fieldPath));null==u||null==(o=u.getField)||o.call(u,null==c?void 0:c.fieldPath);let t=L.EditableItemModel.getDefaultBindingByField(d,e);if(!t)return;let l=t.modelName;null==d||null==(i=d.engine)||null==(r=i.createModel)||r.call(i,{use:l,stepParams:{fieldSettings:{init:c}},parentId:this.uid,subKey:"field"})}let p=null==(n=this.context)?void 0:n.collection,m=this.fieldPath;if(m){let e=null==p||null==(a=p.getField)?void 0:a.call(p,m),t=(null==e?void 0:e.title)||m,l=m.includes(".")?m.split("."):[m];this.setProps({label:t,name:l})}}get fieldInit(){return this.getStepParams("fieldSettings","init")||{}}get fieldPath(){var e;return null==(e=this.fieldInit)?void 0:e.fieldPath}getAssignedEntry(){let e=this.fieldPath;return e&&this.collectionField?[e,this.assignValue]:null}render(){var e,t;if(!this.collectionField)return(0,O.jsx)(L.FieldDeletePlaceholder,{});let l=this.context,n=l.collection,o=this.fieldInit,r=(null==(e=this.props)?void 0:e.name)||(this.fieldPath?[this.fieldPath]:void 0),i=this.fieldPath,a=null==(t=this.subModels)?void 0:t.field,s=cY(a),d=()=>{var e,t,s,d,u;let[c,p]=P.useState(null);P.useEffect(()=>{var e,t,r,s,d,u,c,m,h,f,g,v,y,x,b,w,S,C,F,k,A;if(!i)return;let P=((null==n||null==(e=n.getFields)?void 0:e.call(n))||[]).find(e=>(null==e?void 0:e.name)===i);n.getField(i);let M=L.EditableItemModel.getDefaultBindingByField(l,P);if(!M)return;let j=M.modelName,I=cH(a,o),T=null==l||null==(r=l.engine)||null==(t=r.createModel)?void 0:t.call(r,{use:"VariableFieldFormModel",subModels:{fields:[{use:j,...I}]}});if(!T)return;null==(d=T.context)||null==(s=d.defineProperty)||s.call(d,"collection",{value:n});let R=null==l?void 0:l.dataSource;R&&(null==(c=T.context)||null==(u=c.defineProperty)||u.call(c,"dataSource",{value:R}));let E=null==n||null==(m=n.getField)?void 0:m.call(n,null==o?void 0:o.fieldPath);E&&(null==(f=T.context)||null==(h=f.defineProperty)||h.call(f,"collectionField",{value:E}));let N=null==l?void 0:l.blockModel;N&&(null==(v=T.context)||null==(g=v.defineProperty)||g.call(v,"blockModel",{value:N}));let D=l.form;D&&(null==(k=T.context)||null==(F=k.defineProperty)||F.call(k,"form",{value:D})),T.context&&Object.defineProperty(T.context,"resource",{configurable:!0,enumerable:!0,get:()=>null==N?void 0:N.resource});let $=null==T||null==(x=T.subModels)||null==(y=x.fields)?void 0:y[0],B=null==n||null==(b=n.getField)?void 0:b.call(n,null==o?void 0:o.fieldPath),O=null==B?void 0:B.type,q=null==B?void 0:B.interface,_="belongsToMany"===O||"hasMany"===O||"belongsToArray"===O||"m2m"===q||"o2m"===q||"mbm"===q;if(null==$||null==(w=$.setProps)||w.call($,{disabled:!1,readPretty:!1,updateAssociation:!1,multiple:_}),null==$||null==(S=$.dispatchEvent)||S.call($,"beforeRender",void 0,{sequential:!0,useCache:!0}),(0,cK.NI)($,B),!(null==$||null==(C=$.props)?void 0:C.fieldNames)&&(null==B?void 0:B.targetCollection)){let e=B.targetCollection,t=(null==B?void 0:B.targetKey)||(null==e?void 0:e.filterTargetKey)||"id";null==$||null==(A=$.setProps)||A.call($,{fieldNames:{label:null==e?void 0:e.titleField,value:t}})}return p(T),()=>{var e,t,l,n;null==T||null==(l=T.subModels)||null==(t=l.fields)||null==(e=t.forEach)||e.call(t,e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),null==T||null==(n=T.remove)||n.call(T)}},[]);let m=e=>(P.useEffect(()=>{var t,l,n;if(!c)return;null==(t=c.setProps)||t.call(c,{...e});let o=null==c||null==(n=c.subModels)||null==(l=n.fields)?void 0:l[0];if(o){var r,i=this;null==(r=o.setProps)||r.call(o,{value:null==e?void 0:e.value,onChange:function(){for(var t,l,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];let s=cJ(r&&r.length?r[0]:void 0);null==(t=o.setProps)||t.call(o,{value:s}),i.assignValue=s,null==e||null==(l=e.onChange)||l.call(e,s)}})}},[e]),c?(0,O.jsx)("div",{style:{width:"100%"},children:(0,O.jsx)(L.FlowModelRenderer,{model:c,showFlowSettings:!1})}):null),h=()=>{var e,t;return(0,O.jsx)(dW.A,{placeholder:`<${(null==(e=(t=this.context).t)?void 0:e.call(t,"Null"))??"Null"}>`,readOnly:!0,style:{width:"100%"}})},f=e=>(0,O.jsx)(cU.h,{t:this.context.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange,containerStyle:{width:"100%"}}),g=async()=>{var e;let t=null==(e=this.context)?void 0:e.getPropertyMetaTree;return"function"==typeof t?await t():[]},v=null==n||null==(e=n.getField)?void 0:e.call(n,this.fieldPath),y=(0,cW.kB)(v),x=(0,cW.Ot)(v,null==(t=this.fieldPath)?void 0:t.split(".").slice(-1)[0]),b=x?(0,cW.cd)(v,y):cW.tS,w=(null==(s=this.props)?void 0:s.label)??this.fieldPath??"",S=null==n||null==(d=n.getField)?void 0:d.call(n,this.fieldPath);return w=(null==(u=this.props)?void 0:u.label)??(null==S?void 0:S.title)??w,(0,O.jsx)(L.FormItem,{...this.props,label:w,name:r,initialValue:this.assignValue,valuePropName:"__assign_value__",trigger:"__assign_trigger__",validateTrigger:"__assign_trigger__",children:P.createElement(e=>{let t=null==e?void 0:e.__assign_value__,l=void 0===t?this.assignValue:t;return(0,O.jsx)(cW.Wm,{value:l,onChange:t=>{var l;this.assignValue=t,null==e||null==(l=e.__assign_trigger__)||l.call(e,t)},baseMetaTree:g,constantComponent:m,nullComponent:h,runJSComponent:f,isDateLikeField:x,dateComponentProps:b,clearValue:""})})})};return(0,O.jsx)(d,{},s)}constructor(e){super(e),this.assignValue=void 0,(0,q.define)(this,{assignValue:q.observable})}}cX.define({label:(0,L.tExpr)("Assign field")}),cX.registerFlow({key:"editItemSettings",sort:300,title:(0,L.tExpr)("Form item settings"),steps:{showLabel:{title:(0,L.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,L.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let n=e.model,o=null==(l=n.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:n.context.t("Original field title: ")+o}}}}),defaultParams:e=>{var t;return{label:(null==(t=e.model.collectionField)?void 0:t.title)||e.model.fieldPath}},handler(e,t){var l;t.label&&t.label===(null==(l=e.model.collectionField)?void 0:l.title)?e.model.setProps({label:t.label}):e.model.setProps({label:e.t(t.label,{ns:"lm-flow-engine"})})}},init:{async handler(e){let t=e.model.collectionField;t&&e.model.setProps(t.getComponentProps());let l=e.model.fieldPath,n=l.includes(".")?l.split("."):l;e.model.setProps({name:n})}},tooltip:{title:(0,L.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,L.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},validation:{title:(0,L.tExpr)("Validation"),use:"validation"},required:{title:(0,L.tExpr)("Required"),use:"required"}}});class cQ extends dx{}cQ.itemModelName="DetailsItemModel",cQ.define({label:'{{t("Display association fields")}}'});var cZ=l(58929);let c0=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),n=parseFloat(l.marginTop)||0,o=parseFloat(l.marginBottom)||0;return t.height+n+o},c1=e=>{let{heightMode:t,containerRef:l,actionsRef:n,paginationRef:o,deps:r=[]}=e,[i,a]=(0,P.useState)(),s=(0,P.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void a(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let r=e.getBoundingClientRect().height;if(!r)return;let i=Math.max(0,Math.floor(r-c0(n.current)-c0(o.current)));a(e=>e===i?e:i)},[t,l,n,o]);return(0,P.useLayoutEffect)(()=>{s()},[s,...r]),(0,P.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=n.current,r=o.current,i=new ResizeObserver(()=>s());return i.observe(e),t&&i.observe(t),r&&i.observe(r),()=>i.disconnect()},[s,l,n,o,...r]),i};class c2 extends ue.t{createResource(e,t){var l,n;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(n=this.association)?void 0:n.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(L.SingleRecordResource);return e.isNewRecord=!1,e}let o=this.context.createResource(L.MultiRecordResource);return o.setPageSize(1),o}onInit(e){var t,l;super.onInit(e),this.hadSingleRecordData=(null==(l=this.resource)||null==(t=l.hasData)?void 0:t.call(l))??!1,this.hasMultiRefreshDispatched=!1;let n=(0,L.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1,resolveOnServer:(0,L.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.getCurrentRecord()),meta:n}),this.resource.on("refresh",()=>{var e,t;if(this.isMultiRecordResource()){this.hasMultiRefreshDispatched=!0,(0,co.Xi)(this,"paginationChange");return}let l=this.hadSingleRecordData;this.hadSingleRecordData=(null==(t=this.resource)||null==(e=t.hasData)?void 0:e.call(t))??!1,l&&(0,co.Xi)(this,"paginationChange")})}isMultiRecordResource(){return this.resource instanceof L.MultiRecordResource}hasDispatchedMultiRefresh(){return this.hasMultiRefreshDispatched}getCurrentRecord(){let e=this.resource.getData();return Array.isArray(e)?e[0]:e}hasAvailableData(){return this.resource.hasData()}async refresh(){await this.resource.refresh()}renderPagination(){if(!this.resource.loading&&!this.hasAvailableData()){var e,t;return(0,O.jsx)("div",{style:{textAlign:"center",color:null==(t=this.context)||null==(e=t.themeToken)?void 0:e.colorTextDescription},children:this.translate("No available data currently")})}let l=this.resource;return!this.isMultiRecordResource()||!l.getPage()||1>=this.resource.getMeta("count")?null:(0,O.jsx)("div",{style:{textAlign:"center"},children:(0,O.jsx)(cZ.A,{simple:!0,pageSize:1,showSizeChanger:!1,current:l.getPage(),total:l.getCount(),onChange:this.handlePageChange,style:{display:"inline-block"}})})}renderConfigureActions(){return(0,O.jsx)(L.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("RecordActionGroupModel"),afterSubModelInit:async e=>{e.setStepParams("buttonSettings","general",{type:"default"})},children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(n$.A,{}),children:this.translate("Actions")})},"details-actions-add")}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:n,layout:o}=this.props,r=!!this.context.flowSettingsEnabled,i=!r&&!this.hasAvailableData(),{heightMode:a,height:s}=this.decoratorProps;return(0,O.jsx)(c6,{model:this,gridModel:this.subModels.grid,isConfigMode:r,heightMode:a,height:s,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:n,layout:o},actions:(0,O.jsx)(L.DndProvider,{children:(0,O.jsx)("div",{style:i?{pointerEvents:"none",opacity:.45}:void 0,children:(0,O.jsxs)(dq.A,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||r)return(0,O.jsx)(L.Droppable,{model:e,children:(0,O.jsx)(L.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:L.DragHandler,sort:1}]})},e.uid)}),this.renderConfigureActions()]})})})})}constructor(...e){super(...e),this.hadSingleRecordData=!1,this.hasMultiRefreshDispatched=!1,this._defaultCustomModelClasses={RecordActionGroupModel:"RecordActionGroupModel",DetailsItemModel:"DetailsItemModel",DetailsAssociationFieldGroupModel:"DetailsAssociationFieldGroupModel",DetailsCustomItemModel:"DetailsCustomItemModel"},this.customModelClasses={},this.handlePageChange=async e=>{if(this.resource instanceof L.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await this.refresh()}}}}c2.scene=d7.P.oam;let c8=(0,L.observer)(e=>{let{model:t}=e;return t.renderPagination()}),c6=e=>{let{model:t,gridModel:l,isConfigMode:n,heightMode:o,height:r,layoutProps:i,actions:a}=e,s=(0,P.useRef)(null),d=(0,P.useRef)(null),u=(0,P.useRef)(null),c="specifyValue"===o||"fullHeight"===o,p=c1({heightMode:o,containerRef:s,actionsRef:d,paginationRef:u,deps:[r]});(0,P.useEffect)(()=>{var e,t;if(!l)return;let n=c?p:void 0;((null==(e=l.props)?void 0:e.height)!==n||(null==(t=l.props)?void 0:t.heightMode)!==o)&&l.setProps({height:n,heightMode:o})},[l,p,c,o]);let m=c?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,h=c?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,O.jsx)(cC.s2,{model:t,layoutProps:i,style:m,children:(0,O.jsxs)("div",{ref:s,style:h,children:[(0,O.jsx)("div",{ref:d,style:{textAlign:"right",lineHeight:"0px",paddingBottom:n&&t.context.themeToken.padding},children:a}),(0,O.jsx)(L.FlowModelRenderer,{model:l,showFlowSettings:!1},`${(null==l?void 0:l.uid)||"details-grid"}:${n?"design":"runtime"}`),(0,O.jsx)("div",{ref:u,children:(0,O.jsx)(c8,{model:t})})]})})};c2.registerFlow({key:"detailsSettings",title:(0,L.tExpr)("Details settings"),sort:150,steps:{refresh:{async handler(e){if(!e.resource)throw Error("Resource is not initialized");await e.model.applySubModelsBeforeRenderFlows("grid")}},layout:{use:"layout",title:(0,L.tExpr)("Layout")},dataScope:{use:"dataScope"},defaultSorting:{use:"sortingRule",title:(0,L.tExpr)("Default sorting")},linkageRules:{use:"detailsFieldLinkageRules"}}}),c2.registerFlow({key:"paginationChange",on:"paginationChange",steps:{blockLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"blockLinkageRules",flowKey:"cardSettings",stepKey:"linkageRules"}},fieldslinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"detailsFieldLinkageRules",flowKey:"detailsSettings",stepKey:"linkageRules"}}}}),c2.registerFlow({key:"initialPaginationChangeRefresh",sort:10001,steps:{refreshPaginationRelatedStates:{async handler(e){if(e.model.hidden||!e.model.isMultiRecordResource()||e.model.hasDispatchedMultiRefresh())return;let t=e.model.resource;if(!t)return;let l="manual"===(t.dataLoadingMode??t.loadingMode),n="function"==typeof t.hasActiveFilters&&t.hasActiveFilters();l&&!n&&await (0,co.Xi)(e.model,"paginationChange")}}}}),c2.define({label:(0,L.tExpr)("Details"),searchable:!0,searchPlaceholder:(0,L.tExpr)("Search"),createModelOptions:{use:"DetailsBlockModel",subModels:{grid:{use:"DetailsGridModel"}}},sort:350});class c3 extends L.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("DetailsCustomItemModel"),n=t=>Array.from(t.entries()).map(t=>{var l,n,o,r,i;let[a,s]=t,d="function"==typeof s.defineChildren||!!(null==(l=s.meta)?void 0:l.children),u={key:a,label:e.t(s.meta.label),sort:s.meta.sort??999,searchable:!!(null==(n=s.meta)?void 0:n.searchable),searchPlaceholder:null==(o=s.meta)?void 0:o.searchPlaceholder,hide:null==(r=s.meta)?void 0:r.hide};return d?u.children=e=>{var t;return"function"==typeof s.defineChildren?s.defineChildren(e):(null==(t=s.meta)?void 0:t.children)||[]}:u.createModelOptions=(null==(i=s.meta)?void 0:i.createModelOptions)||{use:a},u});return V().sortBy([...n(t),...n(l)],"sort")}}c3.renderMode=L.ModelRenderMode.RenderFunction,c3.define({hide:!0,label:(0,L.tExpr)("Others")});class c5 extends d1{renderAddSubModelButton(){return this.context.flowSettingsEnabled?(0,O.jsx)(L.AddSubModelButton,{model:this,subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("DetailsItemModel"),this.context.getModelClassName("DetailsAssociationFieldGroupModel"),this.context.getModelClassName("DetailsCustomItemModel")].filter(Boolean),keepDropdownOpen:!0,children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(n$.A,{}),children:this.translate("Fields")})}):null}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,n=null==(t=this.props)?void 0:t.heightMode,o=this.context.themeToken,r=super.render();return"defaultHeight"===n?r:(0,O.jsx)("div",{style:{height:l,overflowY:"auto",marginLeft:`-${o.marginLG}px`,marginRight:`-${o.marginLG}px`,paddingLeft:`${o.marginLG}px`,paddingRight:`${o.marginLG}px`},children:r})}constructor(...e){super(...e),this.itemFallback=(0,O.jsx)(rO.A.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}}),this.itemSettingsMenuLevel=2,this.itemFlowSettings={showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}},this.dragOverlayConfig={columnInsert:{before:{offsetTop:-6,height:24},after:{offsetTop:3,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:-2,height:24},below:{offsetTop:-12,height:24}}}}}function c4(e,t){let{fieldUseModel:l,refreshTargets:n}=t,o=e=>Array.isArray(e)?e.map(e=>{let t={...e};if(t.children)if("function"==typeof t.children){let e=t.children;t.children=async t=>o(await e(t))}else Array.isArray(t.children)&&(t.children=o(t.children));if(t.createModelOptions){let e=t.createModelOptions;t.createModelOptions=async(t,n)=>{let o=await ("function"==typeof e?e(t,n):e);return o.subModels=o.subModels||{},o.subModels.field={...o.subModels.field||{},use:l},o},t.refreshTargets=t.refreshTargets||n}return t}):[];return o(e)}function c7(e,t,l){let{fieldUseModel:n,refreshTargets:o}=l,r=l.key??"js-association-fields",i=l.label??(0,L.tExpr)("Display association fields");return{key:r,type:"group",label:i,searchable:l.searchable??!0,searchPlaceholder:l.searchPlaceholder??(0,L.tExpr)("Search fields"),children:async e=>c4(await t(e),{fieldUseModel:n,refreshTargets:o})}}c5.registerFlow({key:"detailFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class c9 extends dx{}async function pe(e,t){var l;let{useModel:n,fieldUseModel:o,refreshTargets:r,associationPathName:i,associationProvider:a}=t,s=(0,L.buildWrapperFieldChildren)(e,{useModel:n,fieldUseModel:o,associationPathName:i,refreshTargets:r}),d=[],u=null==s||null==(l=s[0])?void 0:l.children;if(Array.isArray(u)&&(d=u),!a)return d;let c=await a(e);return Array.isArray(c)&&0!==c.length?[...d,c7(e,a,{fieldUseModel:o,refreshTargets:r})]:d}c9.itemModelName="FormItemModel";class pt extends c3{static defineChildren(e){return pe(e,{useModel:"DetailsItemModel",fieldUseModel:"JSFieldModel",refreshTargets:["DetailsItemModel"],associationProvider:e=>cQ.defineChildren(e)})}}pt.define({label:(0,L.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,L.tExpr)("Search fields"),sort:110});class pl extends sr.o{}var pn=l(85196);class po extends sr.o{constructor(...e){super(...e),this.operator="$eq",this.updateAssociation=!1}}po.registerFlow({key:"AssociationFieldInit",sort:800,steps:{init:{async handler(e,t){if(e.model.updateAssociation){var l,n;let t=e.model.context.blockModel,o=null==t||null==(l=t.context)?void 0:l.resource,r=null==(n=e.model.parent)?void 0:n.fieldPath;o&&r&&o.addUpdateAssociationValues(r)}}},allowCreateCheck:{async handler(e){var t;let l=await e.aclCheck({dataSourceKey:e.collectionField.dataSourceKey,resourceName:null==(t=e.collectionField)?void 0:t.target,actionName:"create"});e.model.setProps({allowCreate:!!l})}}}});let pr=(e,t)=>e===t,pi=e=>{if(e&&"object"==typeof e){let t=e.data;return t&&"object"==typeof t?t:e}};function pa(e){return"string"==typeof e&&e?e:Array.isArray(e)&&1===e.length&&"string"==typeof e[0]?e[0]:void 0}function ps(e,t){var l;let n="string"==typeof(null==t||null==(l=t.titleCollectionField)?void 0:l.name)?t.titleCollectionField.name:void 0,o=pa(null==t?void 0:t.filterTargetKey)||"id",r="string"==typeof(null==e?void 0:e.value)&&e.value&&!pr(e.value,"value")?e.value:void 0,i="string"==typeof(null==e?void 0:e.label)&&e.label&&!pr(e.label,"label")?e.label:void 0,a=r||o;return{label:i||n||a,value:a}}function pd(e){var t,l,n,o,r,i;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=!!a.navigation,d=e=>{if(Array.isArray(e))return e.filter(e=>"string"==typeof e&&!!e)},u=d(null==(l=e.view)||null==(t=l.inputArgs)?void 0:t.openerUids),c=d(a.openerUids),p=u||c||[];if(s)return(c||p).filter(Boolean);let m=null==(o=e.view)||null==(n=o.inputArgs)?void 0:n.viewUid,h=null==(i=e.model.context)||null==(r=i.inputArgs)?void 0:r.viewUid;return[...p,"string"==typeof m&&m?m:"string"==typeof h&&h?h:e.model.uid].filter(Boolean)}function pu(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function pc(e){let{value:t,isMultiple:l,valueKey:n,labelKey:o,statusMap:r}=e,i=l?Array.isArray(t)?t:[]:null!=t?[t]:[],a=new Set;for(let e of i){if(!pu(e))continue;let t=e[n];if(null==t)continue;let l="object"==typeof t?JSON.stringify(t):String(t);l&&a.add(l)}for(let e of Array.from(r.keys()))a.has(e)||r.delete(e);let s=[];for(let e of i){if(!pu(e))continue;let t=e[n];if(null==t||null!=e[o])continue;let l="object"==typeof t?JSON.stringify(t):String(t);!l||r.has(l)||(r.set(l,"pending"),s.push({item:e,tk:t,tkKey:l}))}return s}function pp(e){return pu(e)&&"function"==typeof e.setFormValue}function pm(e){var t;let l=pu(e.context)?e.context:void 0;return(null==l?void 0:l.fieldPathArray)??(null==l?void 0:l.fieldPath)??(null==(t=e.props)?void 0:t.name)}function ph(e){if(pp(e.context))return e.context;let t=pu(e.context)?e.context:void 0,l=pu(null==t?void 0:t.blockModel)?t.blockModel:void 0;return pp(null==l?void 0:l.context)?l.context:void 0}function pf(e){let{model:t,value:l,isMultiple:n,fieldNames:o,onChange:r}=e,i=P.useRef(new Map);P.useEffect(()=>{let e=t.resource;if("function"!=typeof(null==e?void 0:e.get)||!o.value||!o.label)return;let a=l,s=pc({value:a,isMultiple:n,valueKey:o.value,labelKey:o.label,statusMap:i.current});if(!s.length)return;let d=pm(t),u=ph(t),c=async t=>{let{item:l,tk:s,tkKey:c}=t;try{var p;let t=await (null==(p=e.get)?void 0:p.call(e,s));if(!pu(t))return;let i={...l,...t};if(null==i[o.label])return;let c=n?(Array.isArray(a)?a:[]).map(e=>pu(e)&&e[o.value]===s?i:e):i;if("function"==typeof(null==u?void 0:u.setFormValue)&&null!=d)return void await u.setFormValue(d,c,{source:"default",markExplicit:!1,triggerEvent:!1});r(c)}catch{}finally{i.current.set(c,"done")}};s.forEach(e=>{c(e)})},[o.label,o.value,n,t,r,l])}function pg(e){if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(Array.isArray(e)){let t=e.map(e=>{if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(e&&"object"==typeof e){let t=e.label??e.name;if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return t}}).filter(e=>void 0!==e);return t.length?t.map(String).join(", "):void 0}if(e&&"object"==typeof e){let t=e.label??e.name;if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return t}}function pv(e){var t,l,n;let{option:o,fieldNames:r}=e,i=(0,L.useFlowModel)(),a=pi(o),s=ps(r,null==(t=i.context.collectionField)?void 0:t.targetCollection),d=i.subModels.field,u=pg(null==a?void 0:a[s.label])??pg(null==a?void 0:a.label)??pg(null==a?void 0:a[s.value]);if(!d)return(0,O.jsx)("span",{children:u??"N/A"});let c=String((null==a?void 0:a[s.value])??u??"association-option"),p=d.createFork({},c);p.context.defineProperty("record",{get:()=>a,cache:!1,meta:(0,L.createCurrentRecordMetaFactory)(p.context,()=>p.context.collection)});let m=null==(n=i.context.collectionField.targetCollection)||null==(l=n.getField)?void 0:l.call(n,s.label),h=m&&"function"==typeof m.getComponentProps?m.getComponentProps():{};p.setProps({value:u,clickToOpen:!1,...h});let f=null!=u&&""!==u?p.render():"N/A";return(0,O.jsx)("span",{style:{pointerEvents:"none"},children:f})}function py(e,t){let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"record",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];if(!e)return l?[]:void 0;let{value:r}=t||{},i=e=>"object"==typeof e&&null!==e,a=e=>{if(i(e))return{label:(0,O.jsx)(pv,{option:e,fieldNames:t}),value:e[r]}};if("value"===n){let t=e=>{if("object"==typeof e&&null!==e)return a(e);let t=o.find(t=>(null==t?void 0:t[r])===e);return t?a(t):{label:String(e),value:e}};return l?Array.isArray(e)?e.map(e=>t(e)).filter(Boolean):[]:Array.isArray(e)?t(e[0]):t(e)}if(l)return Array.isArray(e)?e.filter(i).map(a).filter(Boolean):[];if(Array.isArray(e)){let t=e[0];return i(t)?a(t):void 0}return i(e)?a(e):void 0}function px(e,t,l){return(null==e?void 0:e.length)?e.map(e=>(0,_.omit)(e,"disabled","options","style")):l?Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e):[]:t&&"object"==typeof t?[t]:[]}var pb=l(33022);let pw="calc(12px + env(safe-area-inset-bottom, 0px))",pS={paddingBottom:pw};function pC(e){return{maxHeight:"60vh",overflowY:"auto",paddingBottom:e?void 0:pw}}let pF=(0,k.css)`
486
486
  div {
487
487
  white-space: nowrap !important;
488
488
  overflow: hidden;
@@ -526,7 +526,7 @@ if (!ctx.record) {
526
526
  text-overflow: ellipsis;
527
527
  white-space: nowrap !important;
528
528
  }
529
- `,pD=e=>{var t,l;let{fieldNames:n,value:o,multiple:r,allowMultiple:i,keepDropdownOpenOnSelect:a=!1,options:s,quickCreate:d,onChange:u,allowCreate:c=!0,allowEdit:p=!0,className:m,...h}=e,f=(0,L.useFlowModel)(),g=ps(n,null==f||null==(l=f.context)||null==(t=l.collectionField)?void 0:t.targetCollection),v=!!(r&&i),y=!!(a&&v),x=px(s,o,v),b=(0,P.useRef)();b.current||(b.current=f.__keepOpenOnSelectRuntime||(f.__keepOpenOnSelectRuntime={open:void 0,preventCloseOnSelect:!1}));let w=b.current,[S,C]=(0,P.useState)(w.open),F=e=>{Object.assign(w,e),Object.prototype.hasOwnProperty.call(e,"open")&&C(w.open)},k=!!f.context.flowSettingsEnabled,{t:A}=(0,eX.B)();pf({model:f,value:o,isMultiple:v,fieldNames:g,onChange:u});let M=e=>{let{searchText:t}=e;return(0,O.jsxs)("div",{onClick:()=>h.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,O.jsx)(tB.A,{}),(0,O.jsx)("span",{style:{paddingLeft:5},children:A("Add")+` “${t}” `})]})},j=pR(f,p);return(0,O.jsxs)(dq.A.Compact,{style:{width:"100%"},children:[(0,O.jsx)(nR.A,{style:{width:"100%"},...h,className:[pE,m].filter(Boolean).join(" "),allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,O.jsxs)(tU.A,{title:(0,O.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,O.jsx)(pn.A,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>h.onCompositionEnd(e,!1),fieldNames:g,options:x,value:py(o,g,v),mode:v?"multiple":void 0,open:y?S:void 0,onChange:(e,t)=>{u(t)},onSelect:(e,t)=>{var l;y&&F({preventCloseOnSelect:!0,open:!0}),null==(l=h.onSelect)||l.call(h,e,t)},onDropdownVisibleChange:e=>{var t,l;if(y){if(!e&&w.preventCloseOnSelect){F({preventCloseOnSelect:!1,open:!0}),null==(l=h.onDropdownVisibleChange)||l.call(h,!0);return}F({preventCloseOnSelect:!1,open:e})}null==(t=h.onDropdownVisibleChange)||t.call(h,e)},optionRender:e=>{let{data:t}=e;return(0,O.jsx)("div",{onMouseDown:()=>{y&&F({preventCloseOnSelect:!0})},children:(0,O.jsx)(pv,{option:t,fieldNames:g})})},popupMatchSelectWidth:!0,labelRender:e=>(0,O.jsx)("div",{className:pN,children:e.label}),dropdownRender:e=>{let t=x.some(e=>e[g.label]===h.searchText);return(0,O.jsx)(O.Fragment,{children:"quickAdd"===d&&c&&p&&h.searchText?(0,O.jsxs)(O.Fragment,{children:[!(0===x.length&&h.searchText)&&e,x.length>0&&h.searchText&&!t&&(0,O.jsx)(nm.A,{style:{margin:0}}),!t&&(0,O.jsx)(M,{searchText:h.searchText})]}):e})}}),"modalAdd"===d&&(c&&p||k)&&(c&&p?(0,O.jsx)(eJ.Ay,{onClick:h.onModalAddClick,children:A("Add new")}):(0,O.jsx)(dy._T,{forbidden:{actionName:"create"},collection:f.collectionField.targetCollection,message:j,children:(0,O.jsx)(eJ.Ay,{onClick:h.onModalAddClick,disabled:!p,style:{opacity:"0.3"},children:A("Add new")})}))]})};class p$ extends po{get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}}),this.setDataSource([])}set onPopupScroll(e){this.setProps({onPopupScroll:e})}set onDropdownVisibleChange(e){this.setProps({onDropdownVisibleChange:e})}set onSearch(e){this.setProps({onSearch:e})}setDataSource(e){this.setProps({options:e})}getDataSource(){return this.props.options}getFilterValue(){var e,t;let l=ps(this.props.fieldNames,null==(e=this.context.collectionField)?void 0:e.targetCollection);return Array.isArray(this.props.value)?this.props.value.map(e=>e[l.value]):null==(t=this.props.value)?void 0:t[l.value]}onMount(){this.onModalAddClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})},this.onDropdownAddClick=e=>{this.dispatchEvent("dropdownAdd",{search:e,onChange:this.props.onChange})}}set onModalAddClick(e){this.setProps({onModalAddClick:e})}set onDropdownAddClick(e){this.setProps({onDropdownAddClick:e})}change(e){this.props.onChange(e)}render(){return this.context.isMobileLayout?(0,O.jsx)(pM,{...this.props,loading:this.resource.loading}):(0,O.jsx)(pD,{...this.props})}}let pB={page:1,pageSize:40,loading:!1,hasMore:!0},pO=e=>`__search__${e}`,pq=e=>`__assoc__${e}`;async function pL(e,t){try{var l,n,o,r;let t=e.model.collectionField.targetCollection,i=ps(e.model.props.fieldNames,t).label,a=t.getField(i);if(!a)return;let s=a.getInterfaceOptions(),d=(null==s||null==(o=s.filterable)||null==(n=o.operators)||null==(l=n[0])?void 0:l.value)||"$includes",u=null==(r=e.inputArgs.searchText)?void 0:r.trim(),c=e.model.resource,p=`${i}.${d}`;""===u?c.removeFilterGroup(pO(i)):(c.setPage(1),c.addFilterGroup(pO(i),{[p]:u})),await c.refresh();let m=c.getData();e.model.setDataSource(m),m.length<pB.pageSize?pB.hasMore=!1:(pB.hasMore=!0,pB.page++),e.model.setProps({searchText:u})}catch(t){console.error("AssociationSelectField search flow error:",t),e.model.setDataSource([])}}p$.registerFlow({key:"eventSettings",sort:900,steps:{bindEvent:{handler(e,t){var l;let n=pO(ps(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).label);e.model.onDropdownVisibleChange=t=>{t?e.model.dispatchEvent("dropdownOpen",{apiClient:e.app.apiClient,form:e.model.context.form}):(e.model.resource.removeFilterGroup(n),pB.page=1)},e.model.onPopupScroll=t=>{e.model.dispatchEvent("popupScroll",{event:t,apiClient:e.app.apiClient})},e.model.onSearch=t=>{e.model.dispatchEvent("search",{searchText:t,apiClient:e.app.apiClient})}}}}}),p$.registerFlow({key:"dropdownOpenSettings",on:"dropdownOpen",steps:{setScope:{async handler(e,t){var l;let n=ps(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).value,o=e.model.resource,r=e.model.getDataSource();o.setPage(1),await e.model.applyFlow("selectSettings"),await o.refresh();let{count:i}=o.getMeta(),a=o.getData();(!r||i!==r.length||a[0][n]!==r[0][n])&&(e.model.setDataSource(a),e.model.setProps({searchText:null}),a.length<pB.pageSize?pB.hasMore=!1:(pB.hasMore=!0,pB.page++))}}}}),p$.registerFlow({key:"popupScrollSettings",on:"popupScroll",steps:{step1:{async handler(e,t){var l;let{scrollTop:n,scrollHeight:o,clientHeight:r}=(null==(l=e.inputArgs)?void 0:l.event).target;if(!(n+r<o-20)&&!pB.loading&&pB.hasMore){pB.loading=!0;try{let t=e.model.resource;t.setPage(pB.page),await t.refresh();let l=t.getData(),n=e.model.getDataSource()||[];e.model.setDataSource([...n,...l]),l.length<pB.pageSize?(pB.hasMore=!1,pB.page=1):pB.page++}catch(e){console.error("Scroll pagination request failed:",e)}finally{pB.loading=!1}}}}}});let p_=(0,_.debounce)(pL,500);p$.registerFlow({key:"searchSettings",on:"search",steps:{step1:{handler:p_}}}),p$.registerFlow({key:"recordSelectSettings",sort:200,steps:{init:{async handler(e){var t,l,n;let o=e.createResource(L.MultiRecordResource),r=e.model.context.collectionField,{target:i,dataSourceKey:a,foreignKey:s}=r;o.setDataSourceKey(a),o.setResourceName(i),o.setPageSize(pB.pageSize);let d=(null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===d7.P.filter,u=["oho","o2m"].includes(r.interface),c=(null==(n=e.item)?void 0:n.value)||e.record,p=null==c?void 0:c[null==r?void 0:r.sourceKey],m=[];if(!d&&null!=p&&u){let e=`${s}.$eq`;m.push({[e]:p})}if(!d&&u){let e=`${s}.$is`;m.push({[e]:null})}m.length>0&&o.addFilterGroup(pq(s),{$or:m}),e.model.resource=o}},allowEditCheck:{async handler(e){if(e.blockModel instanceof cB.EditFormModel){var t;let l=await e.aclCheck({dataSourceKey:e.collectionField.dataSourceKey,resourceName:null==(t=e.collectionField)?void 0:t.collectionName,actionName:"update",fields:[e.collectionField.name]});e.model.setProps({allowEdit:!!l})}}}}}),p$.registerFlow({key:"selectSettings",title:(0,L.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,L.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type),defaultParams:e=>({allowMultiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)}),handler(e,t){e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple})}},quickCreate:{title:(0,L.tExpr)("Quick create"),uiMode(e){let t=e.t;return{type:"select",key:"quickCreate",props:{options:[{label:t("None"),value:"none"},{label:t("Dropdown"),value:"quickAdd"},{label:t("Pop-up"),value:"modalAdd"}]}}},hideInSettings(e){var t,l;return!!((null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===d7.P.filter||pj(null==e?void 0:e.model,["SubTableColumnModel","SubTableFieldModel"]))},defaultParams:{quickCreate:"none"},handler(e,t){e.model.setProps({quickCreate:t.quickCreate})}}}}),p$.registerFlow({key:"dropdownAdd",title:(0,L.tExpr)("Create record setting"),sort:900,on:{eventName:"dropdownAdd"},steps:{dropdownAdd:{async handler(e,t){var l,n,o;if("quickAdd"!==e.model.props.quickCreate)return null;let{onChange:r,search:i}=e.inputArgs,a=await e.model.resource.create({[(null==(n=e.model.props)||null==(l=n.fieldNames)?void 0:l.label)||"id"]:i},{refresh:!1});a&&(r(["m2m","o2m"].includes(null==(o=e.collectionField)?void 0:o.interface)&&!1!==e.model.props.allowMultiple?[...e.model.props.value||[],a.data].filter((t,l,n)=>l===n.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey])):a.data),e.message.success(e.t("Saved successfully")),e.model.setProps({searchText:null}))}}}}),p$.registerFlow({key:"popupSettings",title:(0,L.tExpr)("Create record setting"),sort:900,on:{eventName:"openView"},steps:{openView:{title:(0,L.tExpr)("Edit popup"),uiSchema:e=>"modalAdd"!==e.model.props.quickCreate?null:{mode:{type:"string",title:(0,L.tExpr)("Open mode"),enum:[{label:(0,L.tExpr)("Drawer"),value:"drawer"},{label:(0,L.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,L.tExpr)("Popup size"),enum:[{label:(0,L.tExpr)("Small"),value:"small"},{label:(0,L.tExpr)("Medium"),value:"medium"},{label:(0,L.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,n,o,r,i;let{onChange:a}=e.inputArgs,s={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},d=e.inputArgs.mode||t.mode||"drawer",u=["belongsTo","hasOne"].includes(e.collectionField.type),c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,m=(null==(n=e.item)?void 0:n.value)??e.record,h=m?null==p||null==(o=p.getFilterByTK)?void 0:o.call(p,m):void 0,f=null==(r=e.collectionField)?void 0:r.resourceName,g=pd(e,e.inputArgs);e.viewer.open({type:d,width:s[d][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"create",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(i=e.collectionField)?void 0:i.target,...f&&null!=h?{associationName:f,sourceId:h}:{},collectionField:e.collectionField,openerUids:g,onChange:t=>{if(u||!e.model.props.allowMultiple){a(t);let l=e.model.getDataSource()||[];l.push(t),e.model.setDataSource(l)}else{let l=[...e.model.props.value||[],t].filter((t,l,n)=>l===n.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));a(l);let n=e.model.getDataSource()||[];e.model.setDataSource(n.concat(l))}}},content:()=>(0,O.jsx)(pT,{model:e.model}),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}}})}}}}),p$.define({label:(0,L.tExpr)("Dropdown select")}),L.EditableItemModel.bindModelToInterface("RecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,order:1});class pV extends p${onInit(e){var t;super.onInit(e);let l=null==(t=this.getStepParams("selectSettings","allowMultiple"))?void 0:t.allowMultiple,n="boolean"==typeof l?l:"boolean"!=typeof this.props.allowMultiple||this.props.allowMultiple;this.setProps({allowMultiple:n,multiple:n,quickCreate:"none"})}}pV.registerFlow({key:"selectSettings",title:(0,L.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,L.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},defaultParams:{allowMultiple:!0},handler(e,t){var l;let n=null==(l=e.model.getStepParams("selectSettings","allowMultiple"))?void 0:l.allowMultiple,o="boolean"==typeof(null==t?void 0:t.allowMultiple)?t.allowMultiple:"boolean"==typeof n?n:"boolean"!=typeof e.model.props.allowMultiple||e.model.props.allowMultiple;e.model.setProps({allowMultiple:o,multiple:o})}}}}),pV.define({label:(0,L.tExpr)("Dropdown select")}),L.FilterableItemModel.bindModelToInterface("FilterFormRecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,defaultProps:{allowMultiple:!0,multiple:!0,quickCreate:"none"}});var pz=l(13595);class pK extends pl{render(){return(0,O.jsx)(pz.DateFilterDynamicComponent,{...this.props})}}let pU=e=>{let{value:t,format:l="YYYY-MM-DD",picker:n="date",showTime:o,...r}=e,i={...r,value:t,format:l,picker:n,showTime:o};return(0,O.jsx)(pz.DateFilterDynamicComponent,{...i})};class pW extends pK{setProps(e){super.setProps({...e,showTime:!1,utc:!1})}render(){return(0,O.jsx)(pU,{...this.props})}}L.FilterableItemModel.bindModelToInterface("DateOnlyFilterFieldModel",["date"],{isDefault:!0});let pH=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",showTime:n,picker:o="date",...r}=e,i=n&&"date"===o?"YYYY-MM-DD":l;return(0,O.jsx)(pz.DateFilterDynamicComponent,{...r,value:t,format:i,picker:o,showTime:n})};class pG extends pK{render(){return(0,O.jsx)(pH,{...this.props})}}L.FilterableItemModel.bindModelToInterface("DateTimeNoTzFilterFieldModel",["datetimeNoTz"],{isDefault:!0});let pY=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",picker:n="date",showTime:o,...r}=e,i=o&&"date"===n?"YYYY-MM-DD":l,a={...r,value:t,format:i,picker:n,showTime:o};return(0,O.jsx)(pz.DateFilterDynamicComponent,{...a})};class pJ extends pK{setProps(e){super.setProps({...e,utc:!0})}render(){return(0,O.jsx)(pY,{...this.props})}}L.FilterableItemModel.bindModelToInterface("DateTimeTzFilterFieldModel",["createdAt","datetime","updatedAt","unixTimestamp"],{isDefault:!0}),l(34733),l(13045);var pX=l(51643),pQ=l(60518),pZ=l(31333);let p0="recordSelectDataSourceKey",p1="recordSelectTargetCollection",p2="recordSelectTitleField",p8="recordSelectValueField",p6="allowMultiple",p3="multiple",p5="valueMode",p4=new Set(["belongsTo","belongsToMany","hasOne","hasMany","belongsToArray"]),p7=e=>{var t,l,n,o,r;let{fieldModel:i,source:a=[]}=e,s=(0,np.useField)(),{t:d}=(0,eX.B)(),u=s.value||{},c=i||(null==u?void 0:u.fieldModel),p=(0,L.useFlowEngine)(),m=(0,L.useFlowContext)(),h=(null==m?void 0:m.dataSourceManager)||(null==p?void 0:p.dataSourceManager)||(null==m||null==(t=m.app)?void 0:t.dataSourceManager),f=(0,eR.Sx)(h),g=(0,P.useCallback)(e=>(0,eR.w6)(e,h),[h]),v=()=>s.value||{},y=(e,t)=>{s.setValue({...v(),[e]:t})},x=e=>{var t;(null==s||null==(t=s.form)?void 0:t.setValuesIn)&&(null==s?void 0:s.path)?s.form.setValuesIn(s.path,e):s.setValue(e)},b=e=>{var t,l,n,o;let r=`${s.path.toString()}.${e}`,i=null==(o=s.form)||null==(n=o.query)||null==(l=n.call(o,r))||null==(t=l.take)?void 0:t.call(l);return(Array.isArray(null==i?void 0:i.errors)?i.errors:[]).flatMap(e=>e?Array.isArray(e.messages)?e.messages:e.messages?[e.messages]:[]:[]).filter(Boolean)},w=e=>{let t=b(e);return t.length?{feedbackStatus:"error",feedbackText:t.join(", ")}:{}};(0,P.useEffect)(()=>{var e,t,l,n,o,r,i;let d=a.length?a:(null==u?void 0:u.source)||[];if(!d.length)return;let h=!!(null==p||null==(t=p.dataSourceManager)||null==(e=t.getDataSource)?void 0:e.call(t,d[0])),f=(null==p||null==(n=p.dataSourceManager)||null==(l=n.getDataSources)?void 0:l.call(n))??[],g=(h?d[0]:void 0)||(null==u?void 0:u[p0])||(null==(o=f[0])?void 0:o.key)||"main",y=(h?d.slice(1):d).join("."),b=p.dataSourceManager.getCollectionField(`${g}.${y}`),w=L.FilterableItemModel.getDefaultBindingByField(m.model.context,b);if(!b&&"FilterFormCustomRecordSelectFieldModel"!==c||!w&&"FilterFormCustomRecordSelectFieldModel"!==c)return;let S=(null==b||null==(r=b.getComponentProps)?void 0:r.call(b))||{},C={...(w&&"function"==typeof w.defaultProps?w.defaultProps(m.model.context,s):null==w?void 0:w.defaultProps)||{},...S,...v()};if(("FilterFormCustomRecordSelectFieldModel"===c||!c&&(null==b?void 0:b.target))&&(null==b?void 0:b.target)){let e=b.targetCollection||p.dataSourceManager.getCollection(b.dataSourceKey,b.target);C[p0]=b.dataSourceKey||g,C[p1]=b.target,C[p2]=b.targetCollectionTitleFieldName||(null==e||null==(i=e.titleCollectionField)?void 0:i.name)||C[p2],C[p8]=C[p8]||(null==e?void 0:e.filterTargetKey)||"id",void 0===C[p6]&&void 0===C[p3]&&(C[p6]=!0,C[p3]=!0),C[p5]||(C[p5]="value")}x(C)},[i,c,a.join("."),null==u?void 0:u.source,p]);let S=(0,P.useMemo)(()=>{var e,t;return(null==p||null==(t=p.dataSourceManager)||null==(e=t.getDataSources)?void 0:e.call(t))??[]},[p]),C=(0,P.useMemo)(()=>S.map(e=>({label:e.displayName??e.key,value:e.key})),[S]),F=(null==u?void 0:u[p0])||(null==(l=S[0])?void 0:l.key)||"main",k=F?null==p||null==(o=p.dataSourceManager)||null==(n=o.getDataSource)?void 0:n.call(o,F):void 0,A=null==u?void 0:u[p1],M=A?null==k||null==(r=k.getCollection)?void 0:r.call(k,A):void 0,j=(0,P.useCallback)(e=>e?(null==m?void 0:m.t)?m.t(e):d(e):e,[m,d]),I=(0,P.useMemo)(()=>(null==k?void 0:k.getCollections)?k.getCollections().filter(e=>{var t;return!(null==(t=e.options)?void 0:t.hidden)}).map(e=>({label:j(e.title)||e.name,value:e.name})):[],[k,j]),T=(0,P.useMemo)(()=>{if(!(null==M?void 0:M.getFields))return[];let e=e=>{if(!f)return!0;let t=(null==e?void 0:e.options)||e;return(0,eR.w)(g(null==t?void 0:t.interface))};return(M.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:j(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||j(e.title)||e.name,value:e.name}})},[M,g,f,j]),R=(0,P.useMemo)(()=>{if(!(null==M?void 0:M.getFields))return[];let e=e=>{let t=(null==e?void 0:e.options)||{},l=t.interface||(null==e?void 0:e.interface);if(!1===t.filterable||!l)return!1;if(f){let e=g(l);if(!(null==e?void 0:e.filterable))return!1}let n=t.type||(null==e?void 0:e.type);return!p4.has(n)};return(M.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:j(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||j(e.title)||e.name,value:e.name}})},[M,g,f,j]);if((0,P.useEffect)(()=>{var e;if("FilterFormCustomRecordSelectFieldModel"!==c||!A||(null==u?void 0:u[p2]))return;let t=null==M||null==(e=M.titleCollectionField)?void 0:e.name;t&&s.setValue({...v(),[p2]:t})},[i,c,A,M,u]),(0,P.useEffect)(()=>{if("FilterFormCustomRecordSelectFieldModel"!==c||!A)return;let e=null==u?void 0:u[p8],t=R.map(e=>e.value);if(e&&t.includes(e))return;let l=null==M?void 0:M.filterTargetKey,n=l&&t.includes(l)&&l||t[0];n&&s.setValue({...v(),[p8]:n})},[i,c,A,M,u,R]),(0,P.useEffect)(()=>{"FilterFormCustomRecordSelectFieldModel"!==c||(null==u?void 0:u[p6])===void 0&&(null==u?void 0:u[p3])===void 0&&s.setValue({...v(),[p6]:!0,[p3]:!0})},[i,c,u]),"DateTimeFilterFieldModel"===i)return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(io.FormItem,{label:d("Date format"),children:(0,O.jsxs)(pX.Ay.Group,{value:u.format||"YYYY-MM-DD",onChange:e=>y("format",e.target.value),children:[(0,O.jsx)(pX.Ay,{value:"YYYY/MM/DD",children:d("Year/Month/Day")}),(0,O.jsx)(pX.Ay,{value:"YYYY-MM-DD",children:d("Year-Month-Day")}),(0,O.jsx)(pX.Ay,{value:"DD/MM/YYYY",children:d("Day/Month/Year")})]})}),(0,O.jsx)(io.FormItem,{label:d("Time"),children:(0,O.jsx)(pQ.A,{checked:u.showTime,onChange:e=>y("showTime",e.target.checked),children:d("Show time")})}),(0,O.jsx)(io.FormItem,{label:d("Date range"),children:(0,O.jsx)(pQ.A,{checked:u.isRange,onChange:e=>y("isRange",e.target.checked),children:d("Show date range")})})]});if("SelectFieldModel"===i){let e=u.options||[];return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(io.FormItem,{label:d("Mode"),children:(0,O.jsxs)(pX.Ay.Group,{value:u.mode||"",onChange:e=>y("mode",e.target.value),children:[(0,O.jsx)(pX.Ay,{value:"",children:d("Single select")}),(0,O.jsx)(pX.Ay,{value:"multiple",children:d("Multiple select")})]})}),(0,O.jsx)(io.FormItem,{label:d("Options"),children:(0,O.jsxs)(dq.A,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,O.jsxs)(dq.A,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,O.jsx)(dW.A,{style:{flex:1,minWidth:120},placeholder:d("Option label"),value:t.label,onChange:n=>{let o=[...e];o[l]={...t,label:n.target.value},y("options",o)}}),(0,O.jsx)(dW.A,{style:{flex:1,minWidth:120},placeholder:d("Option value"),value:t.value,onChange:n=>{let o=[...e];o[l]={...t,value:n.target.value},y("options",o)}}),(0,O.jsx)(eJ.Ay,{type:"text",icon:(0,O.jsx)(pZ.A,{}),onClick:()=>{y("options",e.filter((e,t)=>t!==l))}})]},l)),(0,O.jsx)(eJ.Ay,{type:"dashed",block:!0,icon:(0,O.jsx)(tB.A,{}),onClick:()=>{y("options",[...e,{label:"",value:""}])},children:d("Add")})]})})]})}if("CheckboxGroupFieldModel"===i||"RadioGroupFieldModel"===i){let e=u.options||[];return(0,O.jsx)(io.FormItem,{label:d("Options"),children:(0,O.jsxs)(dq.A,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,O.jsxs)(dq.A,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,O.jsx)(dW.A,{style:{flex:1,minWidth:120},placeholder:d("Option label"),value:t.label,onChange:n=>{let o=[...e];o[l]={...t,label:n.target.value},y("options",o)}}),(0,O.jsx)(dW.A,{style:{flex:1,minWidth:120},placeholder:d("Option value"),value:t.value,onChange:n=>{let o=[...e];o[l]={...t,value:n.target.value},y("options",o)}}),(0,O.jsx)(eJ.Ay,{type:"text",icon:(0,O.jsx)(pZ.A,{}),onClick:()=>{y("options",e.filter((e,t)=>t!==l))}})]},`${t.value}-${l}`)),(0,O.jsx)(eJ.Ay,{type:"dashed",block:!0,icon:(0,O.jsx)(tB.A,{}),onClick:()=>{y("options",[...e,{label:"",value:""}])},children:d("Add")})]})})}return"FilterFormCustomRecordSelectFieldModel"===c?(0,O.jsxs)(O.Fragment,{children:[C.length>1&&(0,O.jsx)(io.FormItem,{label:d("Data source"),children:(0,O.jsx)(nR.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:F,options:C,onChange:e=>{s.setValue({...u,[p0]:e,[p1]:void 0,[p2]:void 0})}})}),(0,O.jsx)(io.FormItem,{label:d("Target collection"),asterisk:!0,...w(p1),children:(0,O.jsx)(nR.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Select collection"),value:A,options:I,onChange:e=>{s.setValue({...u,[p1]:e,[p2]:void 0})}})}),(0,O.jsx)(io.FormItem,{label:d("Title field"),asterisk:!0,...w(p2),children:(0,O.jsx)(nR.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:null==u?void 0:u[p2],options:T,onChange:e=>y(p2,e)})}),(0,O.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:d("Used for display in the dropdown and selected tags.")}),(0,O.jsx)(io.FormItem,{label:d("Value field"),asterisk:!0,...w(p8),children:(0,O.jsx)(nR.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:null==u?void 0:u[p8],options:R,onChange:e=>y(p8,e)})}),(0,O.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:d("Stored as the field value for filtering (usually the primary key).")}),(0,O.jsx)(io.FormItem,{label:d("Multiple"),children:(0,O.jsx)(pQ.A,{checked:(null==u?void 0:u[p6])!==!1,onChange:e=>{let t=e.target.checked;s.setValue({...u,[p6]:t,[p3]:t})},children:d("Allow multiple selection")})})]}):null};function p9(e){let{source:t=[],onChange:l}=e,n=(0,L.useFlowEngine)(),o=(0,L.useFlowContext)(),r=e.valueMap||{},i=t.join("."),a=(0,P.useRef)(),s=(0,P.useMemo)(()=>e=>r&&r[e]?r[e]:e,[r]),d=(0,P.useMemo)(()=>{if(!t.length)return;let e=n.dataSourceManager.getCollectionField(i),l=L.FilterableItemModel.getDefaultBindingByField(o.model.context,e);if(l)return s(l.modelName)},[i,s]);return(0,P.useEffect)(()=>{if(!d){a.current=i;return}let t=void 0!==a.current&&a.current!==i;a.current=i;let n=s(e.value);if(e.value&&e.value!==n&&n!==d){null==l||l(n);return}(!e.value||t)&&n!==d&&(null==l||l(d))},[d,l,e.value,i,s]),(0,O.jsx)(io.Select,{allowClear:!0,...e,value:s(e.value??d)})}let me={InputFieldModel:eR.II.string,NumberFieldModel:eR.II.number,DateTimeFilterFieldModel:eR.II.datetime,SelectFieldModel:e=>(null==e?void 0:e.mode)==="multiple"?eR.II.array:eR.II.enumType,RadioGroupFieldModel:eR.II.enumType,CheckboxGroupFieldModel:eR.II.array},mt=new Set(["$in","$notIn","$empty","$notEmpty","$includes","$notIncludes"]),ml={label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},mn={label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},mo={input:eR.II.string,email:eR.II.string,phone:eR.II.string,uuid:eR.II.string,url:eR.II.string,nanoid:eR.II.string,textarea:eR.II.string,markdown:eR.II.bigField,vditor:eR.II.bigField,richText:eR.II.bigField,password:eR.II.string,color:eR.II.string,number:eR.II.number,integer:eR.II.number,id:eR.II.id,snowflakeId:eR.II.number,dateOnly:eR.II.datetime,datetime:eR.II.datetime,datetimeNoTz:eR.II.datetime,unixTimestamp:eR.II.datetime,time:eR.II.time,select:eR.II.enumType,multipleSelect:eR.II.array,radioGroup:eR.II.enumType,checkboxGroup:eR.II.array,checkbox:eR.II.boolean};function mr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=me[e];return l?"function"==typeof l?l(t)||[]:l||[]:[]}function mi(e){var t,l,n,o;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;if(!Array.isArray(r)||0===r.length)return;let a=!!(null==e||null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,r[0])),s=a?r[0]:i||"main",d=(a?r.slice(1):r).join(".");if(d)return null==e||null==(o=e.dataSourceManager)||null==(n=o.getCollectionField)?void 0:n.call(o,`${s}.${d}`)}function ma(e){var t,l,n,o;let r;if(!e)return[];let i=null==(t=e.filterable)?void 0:t.operators;if(Array.isArray(i)&&i.length>0)return i;try{r=null==(o=e.getInterfaceOptions)||null==(n=o.call(e))||null==(l=n.filterable)?void 0:l.operators}catch(e){r=void 0}return Array.isArray(r)&&r.length>0?r:e.interface&&mo[e.interface]?mo[e.interface]:(null===eR.II||void 0===eR.II?void 0:eR.II[e.type])||[]}function ms(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"boolean"==typeof(null==e?void 0:e.multiple)?e.multiple:"boolean"!=typeof(null==e?void 0:e.allowMultiple)||e.allowMultiple}function md(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Set;return e.filter(e=>!(!(null==e?void 0:e.value)||t.has(e.value))&&(t.add(e.value),!0))}function mu(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.some(e=>(null==e?void 0:e.value)==="$in"),l=e.some(e=>(null==e?void 0:e.value)==="$notIn"),n=e.filter(e=>mt.has(null==e?void 0:e.value)&&(null==e?void 0:e.value)!=="$in"&&(null==e?void 0:e.value)!=="$notIn"||(null==e?void 0:e.noValue)||(null==e?void 0:e.value)==="$exists"||(null==e?void 0:e.value)==="$notExists"),o=e.some(e=>(null==e?void 0:e.value)&&!e.noValue&&"$exists"!==e.value&&"$notExists"!==e.value),r=o||t,i=o||l,a=[];return r&&a.push(ml),i&&a.push(mn),md([...a,...n])}function mc(e){var t,l,n,o,r;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=mi(e,a,null==i?void 0:i.recordSelectDataSourceKey),d=(null==s?void 0:s.dataSourceKey)||(null==a?void 0:a[0])||"main",u=(null==i?void 0:i.recordSelectDataSourceKey)||d,c=(null==i?void 0:i.recordSelectTargetCollection)||(null==s||null==(t=s.targetCollection)?void 0:t.name)||(null==s?void 0:s.target);if(!c)return;let p=null==e||null==(n=e.dataSourceManager)||null==(l=n.getCollection)?void 0:l.call(n,u,c);if(!p)return;let m=(null==i?void 0:i.recordSelectValueField)||(null==p?void 0:p.filterTargetKey)||(null==p||null==(o=p.getPrimaryKey)?void 0:o.call(p));if(m)return null==(r=p.getField)?void 0:r.call(p,m)}function mp(e){let{flowEngine:t,fieldModelProps:l={},source:n=[]}=e,o=mc(t,l,n),r=ma(o);return{operatorList:ms(l)?mu(r):r,meta:o}}function mm(e){let{flowEngine:t,fieldModel:l,fieldModelProps:n={},source:o=[]}=e;if("FilterFormCustomRecordSelectFieldModel"===l)return mp(e);let r=mi(t,o);if("SelectFieldModel"===l&&(null==n?void 0:n.mode)==="multiple"&&r){let e=ma(r);return{operatorList:db(r)?mr(l,n):mu(e),meta:r}}let i=mr(l,n);return i.length>0?{operatorList:i,meta:{fieldModel:l}}:{operatorList:ma(r),meta:r}}function mh(e){let{operatorList:t,meta:l}=mm(e);return md((t||[]).filter(e=>!(null==e?void 0:e.visible)||e.visible(l)))}function mf(e){var t,l;let{fieldModel:n,fieldModelProps:o={}}=e,r=mh(e);if("DateTimeFilterFieldModel"===n&&(null==o?void 0:o.isRange)){let e=r.find(e=>"$dateBetween"===e.value);if(e)return e.value}return(null==(t=r.find(e=>e.selected))?void 0:t.value)||(null==(l=r[0])?void 0:l.value)}function mg(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;return e.map(e=>({...e,label:t(e.label),value:e.value}))}let mv=(0,L.observer)(e=>{var t;let{fieldModel:l,source:n=[],fieldModelProps:o={},value:r,onChange:i,...a}=e,s=(0,np.useField)(),d=(0,L.useFlowEngine)(),u=(0,L.useFlowContext)(),c=(null==s||null==(t=s.form)?void 0:t.values)||{},p=l||(null==c?void 0:c.fieldModel),m=n.length?n:(null==c?void 0:c.source)||[],h=(null==c?void 0:c.fieldModelProps)&&Object.keys(c.fieldModelProps).length>0?c.fieldModelProps:o,f=Array.isArray(m)?m.join("."):"",g=null==h?void 0:h.mode,v=null==h?void 0:h.allowMultiple,y=null==h?void 0:h.multiple,x=null==h?void 0:h.recordSelectDataSourceKey,b=null==h?void 0:h.recordSelectTargetCollection,w=null==h?void 0:h.recordSelectValueField,S=(0,P.useMemo)(()=>mh({flowEngine:d,fieldModel:p,source:m,fieldModelProps:h}),[d,p,f,g,v,y,x,b,w]),C=(0,P.useMemo)(()=>mg(S,e=>u.t(e)),[S,u]);return(0,P.useEffect)(()=>{if(!C.length){void 0!==r&&(null==i||i(void 0));return}if(C.some(e=>e.value===r))return;let e=mf({flowEngine:d,fieldModel:p,source:m,fieldModelProps:h});e!==r&&(null==i||i(e))},[d,p,i,C,f,r,g,v,y,x,b,w]),(0,O.jsx)(io.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:u.t("Please select"),...a,options:C,value:r,onChange:i,disabled:0===C.length})});class my extends L.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("FilterFormCustomItemModel"),n=t=>Array.from(t.entries()).map(t=>{var l,n;let[o,r]=t,i={key:o,label:e.t(r.meta.label),sort:r.meta.sort??999,searchable:!!(null==(l=r.meta)?void 0:l.searchable),searchPlaceholder:null==(n=r.meta)?void 0:n.searchPlaceholder};return i.createModelOptions={use:o},i});return V().sortBy([...n(t),...n(l)],"sort")}}my.renderMode=L.ModelRenderMode.RenderFunction,my.define({hide:!0,label:(0,L.tExpr)("Others")});var mx=l(60209);function mb(e){let t=(0,L.useFlowEngine)(),l=(0,P.useCallback)(()=>{let e=null==t?void 0:t.dataSourceManager;return e?e.getDataSources().map(e=>({value:e.key,label:e.displayName??e.key,isLeaf:!1,meta:{type:"dataSource",dataSourceKey:e.key}})):[]},[t]),[n,o]=(0,P.useState)(()=>l());(0,P.useEffect)(()=>{o(l())},[l]);let r=(0,P.useCallback)(e=>{var l;let n=e[e.length-1];if(!n||(null==(l=n.children)?void 0:l.length))return;let r=null==t?void 0:t.dataSourceManager;if(!r)return;let i=[];if(1===e.length){let e=n.value,t=r.getDataSource(e);i=((null==t?void 0:t.getCollections())??[]).map(t=>({value:t.name,label:t.title,isLeaf:!1,meta:{type:"collection",dataSourceKey:e,collectionName:t.name,fullPath:t.name}}))}else{let e=n.meta||{},t=e.dataSourceKey,l=r.getDataSource(t),a=null==l?void 0:l.collectionManager;if(!l||!a){n.isLeaf=!0,o(e=>[...e]);return}if("collection"===e.type){let l=a.getCollection(e.collectionName);i=((null==l?void 0:l.getFields())??[]).filter(e=>e.filterable).map(l=>{let n=`${e.fullPath}.${l.name}`,o=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!o,meta:{type:"field",dataSourceKey:t,fullPath:n}}}).sort((e,t)=>t.isLeaf?0:-1)}else if("field"===e.type){let n=l.getCollectionField(e.fullPath),o=null==n?void 0:n.targetCollection;i=((null==o?void 0:o.getFields())??[]).filter(e=>e.filterable).map(l=>{let n=`${e.fullPath}.${l.name}`,o=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!o,meta:{type:"field",dataSourceKey:t,fullPath:n}}}).sort((e,t)=>t.isLeaf?0:-1)}}i.length?n.children=i:n.isLeaf=!0,o(e=>[...e])},[t]);return(0,O.jsx)(mx.A,{allowClear:!0,...e,options:n,loadData:r})}var mw=l(32644);let mS=(e,t,l)=>{var n,o,r;if((null==l||null==(o=l.form)||null==(n=o.values)?void 0:n.fieldModel)==="FilterFormCustomRecordSelectFieldModel"&&(null==e||""===e))return(null==l||null==(r=l.t)?void 0:r.call(l,"The field value is required"))||"The field value is required"};class mC extends my{buildRecordSelectCollectionField(e,t){var l,n,o,r,i,a;let s=(null==t?void 0:t.recordSelectDataSourceKey)||"main",d=null==t?void 0:t.recordSelectTargetCollection;if(!d)return;let u=null==(n=e.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,s),c=null==u||null==(o=u.getCollection)?void 0:o.call(u,d);if(!u||!c)return;let p=(null==t?void 0:t.recordSelectTitleField)||(null==(r=c.titleCollectionField)?void 0:r.name)||(null==(a=c.titleCollectionField)||null==(i=a.options)?void 0:i.name),m=(null==t?void 0:t.recordSelectValueField)||c.filterTargetKey||"id",h=new L.CollectionField({name:(null==t?void 0:t.name)||"recordSelect",interface:"m2o",type:"belongsTo",target:d,dataSourceKey:s,uiSchema:{"x-component":"Select"},fieldNames:{label:p,value:m}});return h.setCollection(c),h}get defaultTargetUid(){return this.getStepParams("filterFormItemSettings","init").defaultTargetUid}onInit(e){super.onInit(e),this.debouncedDoFilter=(0,_.debounce)(this.doFilter.bind(this),300)}onUnmount(){super.onUnmount(),this.debouncedDoFilter.cancel()}doFilter(){this.context.filterManager.refreshTargetsByFilter(this.uid)}doReset(){this.context.filterManager.refreshTargetsByFilter(this.uid)}getFilterValue(){var e,t,l,n;let o=(null==(e=this.customFieldModelInstance)?void 0:e.getFilterValue)?this.customFieldModelInstance.getFilterValue():null==(t=this.context.form)?void 0:t.getFieldValue(this.props.name),r=this.getCurrentOperatorMeta(),i=(0,mw.S)(this.operator,o);return(null==r?void 0:r.noValue)&&!Array.isArray(null==r||null==(n=r.schema)||null==(l=n["x-component-props"])?void 0:l.options)||i}getCurrentOperatorMeta(){let e=this.getStepParams("formItemSettings","fieldSettings")||{},t=e.fieldModel,l=e.source||[],n=this.customFieldProps||e.fieldModelProps||{},o=mh({flowEngine:this.flowEngine,fieldModel:t,source:l,fieldModelProps:n}),r=this.operator||e.operator;return r&&o.find(e=>e.value===r)||null}getValueProps(e){return this.context.blockModel.autoTriggerFilter&&(this.autoTriggerInitialized?(0,_.isEqual)(this.lastAutoTriggerValue,e)||(this.lastAutoTriggerValue=(0,_.cloneDeep)(e),this.debouncedDoFilter()):(this.autoTriggerInitialized=!0,this.lastAutoTriggerValue=(0,_.cloneDeep)(e))),{value:e,onKeyDown:this.handleEnterPress.bind(this)}}render(){return this.customFieldModelInstance?(0,O.jsx)(L.FormItem,{...this.props,getValueProps:this.getValueProps.bind(this),children:(0,O.jsx)(L.FieldModelRenderer,{model:this.customFieldModelInstance})}):null}constructor(...e){super(...e),this.customFieldModelInstance=null,this.customFieldProps=null,this.autoTriggerInitialized=!1,this.handleEnterPress=e=>{"Enter"===e.key&&(e.preventDefault(),this.doFilter())}}}mC.define({label:'{{t("Custom field")}}',sort:1}),mC.registerFlow({key:"formItemSettings",title:(0,L.tExpr)("Form item settings"),steps:{fieldSettings:{preset:!0,title:(0,L.tExpr)("Field settings"),uiSchema:{title:{type:"string",title:(0,L.tExpr)("Field title"),"x-component":"Input","x-decorator":"FormItem",required:!0},name:{type:"string",title:(0,L.tExpr)("Field name"),"x-component":"Input","x-decorator":"FormItem",required:!0,description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")}}'},source:{type:"array",title:(0,L.tExpr)("Field source"),"x-decorator":"FormItem","x-component":mb,"x-component-props":{placeholder:(0,L.tExpr)("Select a source field to use metadata of the field")},description:(0,L.tExpr)("Select a source field to use metadata of the field")},fieldModel:{type:"string",title:(0,L.tExpr)("Field type"),"x-component":p9,"x-decorator":"FormItem",required:!0,enum:[{label:(0,L.tExpr)("Input"),value:"InputFieldModel"},{label:(0,L.tExpr)("Number"),value:"NumberFieldModel"},{label:(0,L.tExpr)("Date"),value:"DateTimeFilterFieldModel"},{label:(0,L.tExpr)("Select"),value:"SelectFieldModel"},{label:(0,L.tExpr)("Radio group"),value:"RadioGroupFieldModel"},{label:(0,L.tExpr)("Checkbox group"),value:"CheckboxGroupFieldModel"},{label:(0,L.tExpr)("Record select"),value:"FilterFormCustomRecordSelectFieldModel"}],"x-component-props":{placeholder:(0,L.tExpr)("Please select"),valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}},"x-reactions":[{dependencies:["source"],fulfill:{state:{componentProps:{source:"{{$deps[0]}}",valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}}}}}]},fieldModelProps:{type:"object",title:(0,L.tExpr)("Component properties"),"x-component":p7,properties:{recordSelectTargetCollection:{type:"string","x-validator":mS},recordSelectTitleField:{type:"string","x-validator":mS},recordSelectValueField:{type:"string","x-validator":mS}},"x-reactions":[{dependencies:["fieldModel","source"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}"}}}}]},operator:{type:"string",title:(0,L.tExpr)("Operator"),"x-component":mv,"x-decorator":"FormItem",required:!0,"x-reactions":[{dependencies:["fieldModel","source","fieldModelProps"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}",fieldModelProps:"{{$deps[2] || {}}}"}}}}]}},defaultParams:e=>({name:`f_${(0,ed.uid)().slice(0,4)}`}),handler(e,t){var l,n;let o,{fieldModel:r,fieldModelProps:i={},title:a,name:s,source:d=[],operator:u}=t;e.model.setProps({label:a,name:s});let c=i;if("FilterFormCustomRecordSelectFieldModel"===r){let t=(null==i?void 0:i.allowMultiple)===void 0||!!(null==i?void 0:i.allowMultiple),n=(null==i?void 0:i.multiple)===void 0?t:!!(null==i?void 0:i.multiple);if(c={...i,allowMultiple:t,multiple:n,valueMode:(null==i?void 0:i.valueMode)||"value"},o=e.model.buildRecordSelectCollectionField(e,{...c,name:s})){let e=(null==i?void 0:i.recordSelectTitleField)||o.targetCollectionTitleFieldName,t=(null==i?void 0:i.recordSelectValueField)||(null==(l=o.targetCollection)?void 0:l.filterTargetKey)||"id";e&&t&&(c={...c,fieldNames:{label:e,value:t}})}}if(e.model.customFieldModelInstance?e.model.customFieldModelInstance.setProps({allowClear:!0,...c}):e.model.customFieldModelInstance=e.model.flowEngine.createModel({use:r,props:{allowClear:!0,...c}}),"FilterFormCustomRecordSelectFieldModel"===r){let t=(null==c?void 0:c.recordSelectTitleField)||(null==c||null==(n=c.fieldNames)?void 0:n.label);t&&e.model.customFieldModelInstance.setStepParams("selectSettings","fieldNames",{label:t})}o&&e.model.customFieldModelInstance.context.defineProperty("collectionField",{value:o});let p=!!mh({flowEngine:e.model.flowEngine,fieldModel:r,source:d,fieldModelProps:c}).find(e=>e.value===u);e.model.operator=(p?u:void 0)||mf({flowEngine:e.model.flowEngine,fieldModel:r,source:d,fieldModelProps:c}),e.model.customFieldProps=c}},connectFields:{use:"connectFields"}}});let mF="__filter_form_value_options__",mk=(e,t)=>null!=e&&""!==e&&("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&(!t||!/(int|big)/i.test(t)||/^-?\d+$/.test(e))),mA=(e,t)=>{if("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&/(int|big)/i.test(t||"")&&/^-?\d+$/.test(e))return e},mP=(e,t,l,n,o,r)=>{let i=new Map;t.forEach(e=>{if(!e||"object"!=typeof e)return;let t=null==e?void 0:e[n],o=null==e?void 0:e[l];null!=t&&null!=o&&i.set(t,o)});let a=e=>{if(null==e)return;if("object"==typeof e){let t=null==e?void 0:e[l];if(null!=t)return t;let o=(null==e?void 0:e[n])??(null==e?void 0:e.value);if(n===l)return o;let a=i.get(o);return null!=a?a:mA(o,r)}if(n===l)return e;let t=i.get(e);return null!=t?t:mA(e,r)};return(o&&Array.isArray(e)?e:[e]).map(e=>a(e)).filter(e=>mk(e,r))},mM=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,n=new Map;return[...e,...t].forEach(e=>{let t=null==e?void 0:e[l];null!=t&&n.set(t,e)}),Array.from(n.values())},mj=(e,t)=>{var l,n;let o=null==e||null==(l=e.context)?void 0:l.collectionField,r=null==o?void 0:o.collection,i=null==r?void 0:r.dataSource,a=null==e||null==(n=e.context)?void 0:n.t,s=(null==o?void 0:o.name)||e.fieldPath,d=(0,P.useMemo)(()=>{if(!a||!i)return"";let e=`${a(i.displayName||i.key)} > `,t=r?`${a(r.title)||r.name||r.tableName} > `:"";return`${e}${t}${s}`},[a,i,r,s]);return!t&&a&&i?a('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:d,actionName:"Update"}).replaceAll("&gt;",">"):null},mI=e=>{var t;let{fieldNames:l={label:"label",value:"value"},value:n,multiple:o,allowMultiple:r,options:i,quickCreate:a,onChange:s,allowCreate:d=!0,allowEdit:u=!0,valueMode:c="record",...p}=e,m=!!(o&&r),h=px(i,n,m),f=(0,L.useFlowModel)(),g=!!f.context.flowSettingsEnabled,{t:v}=(0,eX.B)(),y=e=>{let{searchText:t}=e;return(0,O.jsxs)("div",{onClick:()=>p.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,O.jsx)(tB.A,{}),(0,O.jsx)("span",{style:{paddingLeft:5},children:v("Add")+` “${t}” `})]})},x=mj(f,u);return(0,O.jsxs)(dq.A.Compact,{style:{width:"100%"},children:[(0,O.jsx)(nR.A,{style:{width:"100%"},...p,allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,O.jsxs)(tU.A,{title:(0,O.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,O.jsx)(pn.A,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>p.onCompositionEnd(e,!1),fieldNames:l,options:h,value:py(n,l,m,c,h),mode:m?"multiple":void 0,onChange:(e,t)=>{"value"===c?Array.isArray(t)?s(t.map(e=>(null==e?void 0:e[l.value])??(null==e?void 0:e.value)).filter(e=>void 0!==e)):s((null==t?void 0:t[l.value])??(null==t?void 0:t.value)):s(t)},optionRender:e=>{let{data:t}=e;return(0,O.jsx)(pv,{option:t,fieldNames:l})},popupMatchSelectWidth:!0,labelRender:e=>(0,O.jsx)("div",{className:(0,k.css)`
529
+ `,pD=e=>{var t,l;let{fieldNames:n,value:o,multiple:r,allowMultiple:i,keepDropdownOpenOnSelect:a=!1,options:s,quickCreate:d,onChange:u,allowCreate:c=!0,allowEdit:p=!0,className:m,...h}=e,f=(0,L.useFlowModel)(),g=ps(n,null==f||null==(l=f.context)||null==(t=l.collectionField)?void 0:t.targetCollection),v=!!(r&&i),y=!!(a&&v),x=px(s,o,v),b=(0,P.useRef)();b.current||(b.current=f.__keepOpenOnSelectRuntime||(f.__keepOpenOnSelectRuntime={open:void 0,preventCloseOnSelect:!1}));let w=b.current,[S,C]=(0,P.useState)(w.open),F=e=>{Object.assign(w,e),Object.prototype.hasOwnProperty.call(e,"open")&&C(w.open)},k=!!f.context.flowSettingsEnabled,{t:A}=(0,eX.B)();pf({model:f,value:o,isMultiple:v,fieldNames:g,onChange:u});let M=e=>{let{searchText:t}=e;return(0,O.jsxs)("div",{onClick:()=>h.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,O.jsx)(tB.A,{}),(0,O.jsx)("span",{style:{paddingLeft:5},children:A("Add")+` “${t}” `})]})},j=pR(f,p);return(0,O.jsxs)(dq.A.Compact,{style:{width:"100%"},children:[(0,O.jsx)(nR.A,{style:{width:"100%"},...h,className:[pE,m].filter(Boolean).join(" "),allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,O.jsxs)(tU.A,{title:(0,O.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,O.jsx)(pn.A,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>h.onCompositionEnd(e,!1),fieldNames:g,options:x,value:py(o,g,v),mode:v?"multiple":void 0,open:y?S:void 0,onChange:(e,t)=>{u(t)},onSelect:(e,t)=>{var l;y&&F({preventCloseOnSelect:!0,open:!0}),null==(l=h.onSelect)||l.call(h,e,t)},onDropdownVisibleChange:e=>{var t,l;if(y){if(!e&&w.preventCloseOnSelect){F({preventCloseOnSelect:!1,open:!0}),null==(l=h.onDropdownVisibleChange)||l.call(h,!0);return}F({preventCloseOnSelect:!1,open:e})}null==(t=h.onDropdownVisibleChange)||t.call(h,e)},optionRender:e=>{let{data:t}=e;return(0,O.jsx)("div",{onMouseDown:()=>{y&&F({preventCloseOnSelect:!0})},children:(0,O.jsx)(pv,{option:t,fieldNames:g})})},popupMatchSelectWidth:!0,labelRender:e=>(0,O.jsx)("div",{className:pN,children:e.label}),dropdownRender:e=>{let t=x.some(e=>e[g.label]===h.searchText);return(0,O.jsx)(O.Fragment,{children:"quickAdd"===d&&c&&p&&h.searchText?(0,O.jsxs)(O.Fragment,{children:[!(0===x.length&&h.searchText)&&e,x.length>0&&h.searchText&&!t&&(0,O.jsx)(nm.A,{style:{margin:0}}),!t&&(0,O.jsx)(M,{searchText:h.searchText})]}):e})}}),"modalAdd"===d&&(c&&p||k)&&(c&&p?(0,O.jsx)(eJ.Ay,{onClick:h.onModalAddClick,children:A("Add new")}):(0,O.jsx)(dy._T,{forbidden:{actionName:"create"},collection:f.collectionField.targetCollection,message:j,children:(0,O.jsx)(eJ.Ay,{onClick:h.onModalAddClick,disabled:!p,style:{opacity:"0.3"},children:A("Add new")})}))]})};class p$ extends po{get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}}),this.setDataSource([])}set onPopupScroll(e){this.setProps({onPopupScroll:e})}set onDropdownVisibleChange(e){this.setProps({onDropdownVisibleChange:e})}set onSearch(e){this.setProps({onSearch:e})}setDataSource(e){this.setProps({options:e})}getDataSource(){return this.props.options}getFilterValue(){var e,t;let l=ps(this.props.fieldNames,null==(e=this.context.collectionField)?void 0:e.targetCollection);return Array.isArray(this.props.value)?this.props.value.map(e=>e[l.value]):null==(t=this.props.value)?void 0:t[l.value]}onMount(){this.onModalAddClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})},this.onDropdownAddClick=e=>{this.dispatchEvent("dropdownAdd",{search:e,onChange:this.props.onChange})}}set onModalAddClick(e){this.setProps({onModalAddClick:e})}set onDropdownAddClick(e){this.setProps({onDropdownAddClick:e})}change(e){this.props.onChange(e)}render(){return this.context.isMobileLayout?(0,O.jsx)(pM,{...this.props,loading:this.resource.loading}):(0,O.jsx)(pD,{...this.props})}}let pB={page:1,pageSize:40,loading:!1,hasMore:!0},pO=e=>`__search__${e}`,pq=e=>`__assoc__${e}`;async function pL(e,t){try{var l,n,o,r;let t=e.model.collectionField.targetCollection,i=ps(e.model.props.fieldNames,t).label,a=t.getField(i);if(!a)return;let s=a.getInterfaceOptions(),d=(null==s||null==(o=s.filterable)||null==(n=o.operators)||null==(l=n[0])?void 0:l.value)||"$includes",u=null==(r=e.inputArgs.searchText)?void 0:r.trim(),c=e.model.resource,p=`${i}.${d}`;""===u?c.removeFilterGroup(pO(i)):(c.setPage(1),c.addFilterGroup(pO(i),{[p]:u})),await c.refresh();let m=c.getData();e.model.setDataSource(m),m.length<pB.pageSize?pB.hasMore=!1:(pB.hasMore=!0,pB.page++),e.model.setProps({searchText:u})}catch(t){console.error("AssociationSelectField search flow error:",t),e.model.setDataSource([])}}p$.registerFlow({key:"eventSettings",sort:900,steps:{bindEvent:{handler(e,t){var l;let n=pO(ps(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).label);e.model.onDropdownVisibleChange=t=>{t?e.model.dispatchEvent("dropdownOpen",{apiClient:e.app.apiClient,form:e.model.context.form}):(e.model.resource.removeFilterGroup(n),pB.page=1)},e.model.onPopupScroll=t=>{e.model.dispatchEvent("popupScroll",{event:t,apiClient:e.app.apiClient})},e.model.onSearch=t=>{e.model.dispatchEvent("search",{searchText:t,apiClient:e.app.apiClient})}}}}}),p$.registerFlow({key:"dropdownOpenSettings",on:"dropdownOpen",steps:{setScope:{async handler(e,t){var l;let n=ps(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).value,o=e.model.resource,r=e.model.getDataSource();o.setPage(1),await e.model.applyFlow("selectSettings"),await o.refresh();let{count:i}=o.getMeta(),a=o.getData();(!r||i!==r.length||a[0][n]!==r[0][n])&&(e.model.setDataSource(a),e.model.setProps({searchText:null}),a.length<pB.pageSize?pB.hasMore=!1:(pB.hasMore=!0,pB.page++))}}}}),p$.registerFlow({key:"popupScrollSettings",on:"popupScroll",steps:{step1:{async handler(e,t){var l;let{scrollTop:n,scrollHeight:o,clientHeight:r}=(null==(l=e.inputArgs)?void 0:l.event).target;if(!(n+r<o-20)&&!pB.loading&&pB.hasMore){pB.loading=!0;try{let t=e.model.resource;t.setPage(pB.page),await t.refresh();let l=t.getData(),n=e.model.getDataSource()||[];e.model.setDataSource([...n,...l]),l.length<pB.pageSize?(pB.hasMore=!1,pB.page=1):pB.page++}catch(e){console.error("Scroll pagination request failed:",e)}finally{pB.loading=!1}}}}}});let p_=(0,_.debounce)(pL,500);p$.registerFlow({key:"searchSettings",on:"search",steps:{step1:{handler:p_}}}),p$.registerFlow({key:"recordSelectSettings",sort:200,steps:{init:{async handler(e){var t,l,n;let o=e.createResource(L.MultiRecordResource),r=e.model.context.collectionField,{target:i,dataSourceKey:a,foreignKey:s}=r;o.setDataSourceKey(a),o.setResourceName(i),o.setPageSize(pB.pageSize);let d=(null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===d7.P.filter,u=["oho","o2m"].includes(r.interface),c=(null==(n=e.item)?void 0:n.value)||e.record,p=null==c?void 0:c[null==r?void 0:r.sourceKey],m=[];if(!d&&null!=p&&u){let e=`${s}.$eq`;m.push({[e]:p})}if(!d&&u){let e=`${s}.$is`;m.push({[e]:null})}m.length>0&&o.addFilterGroup(pq(s),{$or:m}),e.model.resource=o}},allowEditCheck:{async handler(e){if(e.blockModel instanceof cB.EditFormModel){var t;let l=await e.aclCheck({dataSourceKey:e.collectionField.dataSourceKey,resourceName:null==(t=e.collectionField)?void 0:t.collectionName,actionName:"update",fields:[e.collectionField.name]});e.model.setProps({allowEdit:!!l})}}}}}),p$.registerFlow({key:"selectSettings",title:(0,L.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,L.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type),defaultParams:e=>({allowMultiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)}),handler(e,t){e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple})}},quickCreate:{title:(0,L.tExpr)("Quick create"),uiMode(e){let t=e.t;return{type:"select",key:"quickCreate",props:{options:[{label:t("None"),value:"none"},{label:t("Dropdown"),value:"quickAdd"},{label:t("Pop-up"),value:"modalAdd"}]}}},hideInSettings(e){var t,l;return!!((null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===d7.P.filter||pj(null==e?void 0:e.model,["SubTableColumnModel","SubTableFieldModel"]))},defaultParams:{quickCreate:"none"},handler(e,t){e.model.setProps({quickCreate:t.quickCreate})}}}}),p$.registerFlow({key:"dropdownAdd",title:(0,L.tExpr)("Create record setting"),sort:900,on:{eventName:"dropdownAdd"},steps:{dropdownAdd:{async handler(e,t){var l,n,o;if("quickAdd"!==e.model.props.quickCreate)return null;let{onChange:r,search:i}=e.inputArgs,a=await e.model.resource.create({[(null==(n=e.model.props)||null==(l=n.fieldNames)?void 0:l.label)||"id"]:i},{refresh:!1});a&&(r(["m2m","o2m"].includes(null==(o=e.collectionField)?void 0:o.interface)&&!1!==e.model.props.allowMultiple?[...e.model.props.value||[],a.data].filter((t,l,n)=>l===n.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey])):a.data),e.message.success(e.t("Saved successfully")),e.model.setProps({searchText:null}))}}}}),p$.registerFlow({key:"popupSettings",title:(0,L.tExpr)("Create record setting"),sort:900,on:{eventName:"openView"},steps:{openView:{title:(0,L.tExpr)("Edit popup"),uiSchema:e=>"modalAdd"!==e.model.props.quickCreate?null:{mode:{type:"string",title:(0,L.tExpr)("Open mode"),enum:[{label:(0,L.tExpr)("Drawer"),value:"drawer"},{label:(0,L.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,L.tExpr)("Popup size"),enum:[{label:(0,L.tExpr)("Small"),value:"small"},{label:(0,L.tExpr)("Medium"),value:"medium"},{label:(0,L.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,n,o,r,i;let{onChange:a}=e.inputArgs,s={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},d=e.inputArgs.mode||t.mode||"drawer",u=["belongsTo","hasOne"].includes(e.collectionField.type),c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,m=(null==(n=e.item)?void 0:n.value)??e.record,h=m?null==p||null==(o=p.getFilterByTK)?void 0:o.call(p,m):void 0,f=null==(r=e.collectionField)?void 0:r.resourceName,g=pd(e,e.inputArgs);e.viewer.open({type:d,width:s[d][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"create",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(i=e.collectionField)?void 0:i.target,...f&&null!=h?{associationName:f,sourceId:h}:{},collectionField:e.collectionField,openerUids:g,onChange:t=>{if(u||!e.model.props.allowMultiple){a(t);let l=e.model.getDataSource()||[];l.push(t),e.model.setDataSource(l)}else{let l=[...e.model.props.value||[],t].filter((t,l,n)=>l===n.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));a(l);let n=e.model.getDataSource()||[];e.model.setDataSource(n.concat(l))}}},content:()=>(0,O.jsx)(pT,{model:e.model}),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}}})}}}}),p$.define({label:(0,L.tExpr)("Dropdown select")}),L.EditableItemModel.bindModelToInterface("RecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,order:1});class pV extends p${onInit(e){var t;super.onInit(e);let l=null==(t=this.getStepParams("selectSettings","allowMultiple"))?void 0:t.allowMultiple,n="boolean"==typeof l?l:"boolean"!=typeof this.props.allowMultiple||this.props.allowMultiple;this.setProps({allowMultiple:n,multiple:n,quickCreate:"none"})}}pV.registerFlow({key:"selectSettings",title:(0,L.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,L.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},defaultParams:{allowMultiple:!0},handler(e,t){var l;let n=null==(l=e.model.getStepParams("selectSettings","allowMultiple"))?void 0:l.allowMultiple,o="boolean"==typeof(null==t?void 0:t.allowMultiple)?t.allowMultiple:"boolean"==typeof n?n:"boolean"!=typeof e.model.props.allowMultiple||e.model.props.allowMultiple;e.model.setProps({allowMultiple:o,multiple:o})}}}}),pV.define({label:(0,L.tExpr)("Dropdown select")}),L.FilterableItemModel.bindModelToInterface("FilterFormRecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,defaultProps:{allowMultiple:!0,multiple:!0,quickCreate:"none"}});var pz=l(13595);class pK extends pl{render(){return(0,O.jsx)(pz.DateFilterDynamicComponent,{...this.props})}}let pU=e=>{let{value:t,format:l="YYYY-MM-DD",picker:n="date",showTime:o,...r}=e,i={...r,value:t,format:l,picker:n,showTime:o};return(0,O.jsx)(pz.DateFilterDynamicComponent,{...i})};class pW extends pK{setProps(e){super.setProps({...e,showTime:!1,utc:!1})}render(){return(0,O.jsx)(pU,{...this.props})}}L.FilterableItemModel.bindModelToInterface("DateOnlyFilterFieldModel",["date"],{isDefault:!0});let pH=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",showTime:n,picker:o="date",...r}=e,i=n&&"date"===o?"YYYY-MM-DD":l;return(0,O.jsx)(pz.DateFilterDynamicComponent,{...r,value:t,format:i,picker:o,showTime:n})};class pG extends pK{render(){return(0,O.jsx)(pH,{...this.props})}}L.FilterableItemModel.bindModelToInterface("DateTimeNoTzFilterFieldModel",["datetimeNoTz"],{isDefault:!0});let pY=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",picker:n="date",showTime:o,...r}=e,i=o&&"date"===n?"YYYY-MM-DD":l,a={...r,value:t,format:i,picker:n,showTime:o};return(0,O.jsx)(pz.DateFilterDynamicComponent,{...a})};class pJ extends pK{setProps(e){super.setProps({...e,utc:!0})}render(){return(0,O.jsx)(pY,{...this.props})}}L.FilterableItemModel.bindModelToInterface("DateTimeTzFilterFieldModel",["createdAt","datetime","updatedAt","unixTimestamp"],{isDefault:!0}),l(34733),l(13045);var pX=l(51643),pQ=l(60518),pZ=l(31333);let p0="recordSelectDataSourceKey",p1="recordSelectTargetCollection",p2="recordSelectTitleField",p8="recordSelectValueField",p6="allowMultiple",p3="multiple",p5="valueMode",p4=new Set(["belongsTo","belongsToMany","hasOne","hasMany","belongsToArray"]),p7=e=>{var t,l,n,o,r;let{fieldModel:i,source:a=[]}=e,s=(0,np.useField)(),{t:d}=(0,eX.B)(),u=s.value||{},c=i||(null==u?void 0:u.fieldModel),p=(0,L.useFlowEngine)(),m=(0,L.useFlowContext)(),h=(null==m?void 0:m.dataSourceManager)||(null==p?void 0:p.dataSourceManager)||(null==m||null==(t=m.app)?void 0:t.dataSourceManager),f=(0,eR.Sx)(h),g=(0,P.useCallback)(e=>(0,eR.w6)(e,h),[h]),v=()=>s.value||{},y=(e,t)=>{s.setValue({...v(),[e]:t})},x=e=>{var t;(null==s||null==(t=s.form)?void 0:t.setValuesIn)&&(null==s?void 0:s.path)?s.form.setValuesIn(s.path,e):s.setValue(e)},b=e=>{var t,l,n,o;let r=`${s.path.toString()}.${e}`,i=null==(o=s.form)||null==(n=o.query)||null==(l=n.call(o,r))||null==(t=l.take)?void 0:t.call(l);return(Array.isArray(null==i?void 0:i.errors)?i.errors:[]).flatMap(e=>e?Array.isArray(e.messages)?e.messages:e.messages?[e.messages]:[]:[]).filter(Boolean)},w=e=>{let t=b(e);return t.length?{feedbackStatus:"error",feedbackText:t.join(", ")}:{}};(0,P.useEffect)(()=>{var e,t,l,n,o,r,i;let d=a.length?a:(null==u?void 0:u.source)||[];if(!d.length)return;let h=!!(null==p||null==(t=p.dataSourceManager)||null==(e=t.getDataSource)?void 0:e.call(t,d[0])),f=(null==p||null==(n=p.dataSourceManager)||null==(l=n.getDataSources)?void 0:l.call(n))??[],g=(h?d[0]:void 0)||(null==u?void 0:u[p0])||(null==(o=f[0])?void 0:o.key)||"main",y=(h?d.slice(1):d).join("."),b=p.dataSourceManager.getCollectionField(`${g}.${y}`),w=L.FilterableItemModel.getDefaultBindingByField(m.model.context,b);if(!b&&"FilterFormCustomRecordSelectFieldModel"!==c||!w&&"FilterFormCustomRecordSelectFieldModel"!==c)return;let S=(null==b||null==(r=b.getComponentProps)?void 0:r.call(b))||{},C={...(w&&"function"==typeof w.defaultProps?w.defaultProps(m.model.context,s):null==w?void 0:w.defaultProps)||{},...S,...v()};if(("FilterFormCustomRecordSelectFieldModel"===c||!c&&(null==b?void 0:b.target))&&(null==b?void 0:b.target)){let e=b.targetCollection||p.dataSourceManager.getCollection(b.dataSourceKey,b.target);C[p0]=b.dataSourceKey||g,C[p1]=b.target,C[p2]=b.targetCollectionTitleFieldName||(null==e||null==(i=e.titleCollectionField)?void 0:i.name)||C[p2],C[p8]=C[p8]||(null==e?void 0:e.filterTargetKey)||"id",void 0===C[p6]&&void 0===C[p3]&&(C[p6]=!0,C[p3]=!0),C[p5]||(C[p5]="value")}x(C)},[i,c,a.join("."),null==u?void 0:u.source,p]);let S=(0,P.useMemo)(()=>{var e,t;return(null==p||null==(t=p.dataSourceManager)||null==(e=t.getDataSources)?void 0:e.call(t))??[]},[p]),C=(0,P.useMemo)(()=>S.map(e=>({label:e.displayName??e.key,value:e.key})),[S]),F=(null==u?void 0:u[p0])||(null==(l=S[0])?void 0:l.key)||"main",k=F?null==p||null==(o=p.dataSourceManager)||null==(n=o.getDataSource)?void 0:n.call(o,F):void 0,A=null==u?void 0:u[p1],M=A?null==k||null==(r=k.getCollection)?void 0:r.call(k,A):void 0,j=(0,P.useCallback)(e=>e?(null==m?void 0:m.t)?m.t(e):d(e):e,[m,d]),I=(0,P.useMemo)(()=>(null==k?void 0:k.getCollections)?k.getCollections().filter(e=>{var t;return!(null==(t=e.options)?void 0:t.hidden)}).map(e=>({label:j(e.title)||e.name,value:e.name})):[],[k,j]),T=(0,P.useMemo)(()=>{if(!(null==M?void 0:M.getFields))return[];let e=e=>{if(!f)return!0;let t=(null==e?void 0:e.options)||e;return(0,eR.w)(g(null==t?void 0:t.interface))};return(M.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:j(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||j(e.title)||e.name,value:e.name}})},[M,g,f,j]),R=(0,P.useMemo)(()=>{if(!(null==M?void 0:M.getFields))return[];let e=e=>{let t=(null==e?void 0:e.options)||{},l=t.interface||(null==e?void 0:e.interface);if(!1===t.filterable||!l)return!1;if(f){let e=g(l);if(!(null==e?void 0:e.filterable))return!1}let n=t.type||(null==e?void 0:e.type);return!p4.has(n)};return(M.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:j(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||j(e.title)||e.name,value:e.name}})},[M,g,f,j]);if((0,P.useEffect)(()=>{var e;if("FilterFormCustomRecordSelectFieldModel"!==c||!A||(null==u?void 0:u[p2]))return;let t=null==M||null==(e=M.titleCollectionField)?void 0:e.name;t&&s.setValue({...v(),[p2]:t})},[i,c,A,M,u]),(0,P.useEffect)(()=>{if("FilterFormCustomRecordSelectFieldModel"!==c||!A)return;let e=null==u?void 0:u[p8],t=R.map(e=>e.value);if(e&&t.includes(e))return;let l=null==M?void 0:M.filterTargetKey,n=l&&t.includes(l)&&l||t[0];n&&s.setValue({...v(),[p8]:n})},[i,c,A,M,u,R]),(0,P.useEffect)(()=>{"FilterFormCustomRecordSelectFieldModel"!==c||(null==u?void 0:u[p6])===void 0&&(null==u?void 0:u[p3])===void 0&&s.setValue({...v(),[p6]:!0,[p3]:!0})},[i,c,u]),"DateTimeFilterFieldModel"===i)return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(io.FormItem,{label:d("Date format"),children:(0,O.jsxs)(pX.Ay.Group,{value:u.format||"YYYY-MM-DD",onChange:e=>y("format",e.target.value),children:[(0,O.jsx)(pX.Ay,{value:"YYYY/MM/DD",children:d("Year/Month/Day")}),(0,O.jsx)(pX.Ay,{value:"YYYY-MM-DD",children:d("Year-Month-Day")}),(0,O.jsx)(pX.Ay,{value:"DD/MM/YYYY",children:d("Day/Month/Year")})]})}),(0,O.jsx)(io.FormItem,{label:d("Time"),children:(0,O.jsx)(pQ.A,{checked:u.showTime,onChange:e=>y("showTime",e.target.checked),children:d("Show time")})}),(0,O.jsx)(io.FormItem,{label:d("Date range"),children:(0,O.jsx)(pQ.A,{checked:u.isRange,onChange:e=>y("isRange",e.target.checked),children:d("Show date range")})})]});if("SelectFieldModel"===i){let e=u.options||[];return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(io.FormItem,{label:d("Mode"),children:(0,O.jsxs)(pX.Ay.Group,{value:u.mode||"",onChange:e=>y("mode",e.target.value),children:[(0,O.jsx)(pX.Ay,{value:"",children:d("Single select")}),(0,O.jsx)(pX.Ay,{value:"multiple",children:d("Multiple select")})]})}),(0,O.jsx)(io.FormItem,{label:d("Options"),children:(0,O.jsxs)(dq.A,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,O.jsxs)(dq.A,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,O.jsx)(dW.A,{style:{flex:1,minWidth:120},placeholder:d("Option label"),value:t.label,onChange:n=>{let o=[...e];o[l]={...t,label:n.target.value},y("options",o)}}),(0,O.jsx)(dW.A,{style:{flex:1,minWidth:120},placeholder:d("Option value"),value:t.value,onChange:n=>{let o=[...e];o[l]={...t,value:n.target.value},y("options",o)}}),(0,O.jsx)(eJ.Ay,{type:"text",icon:(0,O.jsx)(pZ.A,{}),onClick:()=>{y("options",e.filter((e,t)=>t!==l))}})]},l)),(0,O.jsx)(eJ.Ay,{type:"dashed",block:!0,icon:(0,O.jsx)(tB.A,{}),onClick:()=>{y("options",[...e,{label:"",value:""}])},children:d("Add")})]})})]})}if("CheckboxGroupFieldModel"===i||"RadioGroupFieldModel"===i){let e=u.options||[];return(0,O.jsx)(io.FormItem,{label:d("Options"),children:(0,O.jsxs)(dq.A,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,O.jsxs)(dq.A,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,O.jsx)(dW.A,{style:{flex:1,minWidth:120},placeholder:d("Option label"),value:t.label,onChange:n=>{let o=[...e];o[l]={...t,label:n.target.value},y("options",o)}}),(0,O.jsx)(dW.A,{style:{flex:1,minWidth:120},placeholder:d("Option value"),value:t.value,onChange:n=>{let o=[...e];o[l]={...t,value:n.target.value},y("options",o)}}),(0,O.jsx)(eJ.Ay,{type:"text",icon:(0,O.jsx)(pZ.A,{}),onClick:()=>{y("options",e.filter((e,t)=>t!==l))}})]},l)),(0,O.jsx)(eJ.Ay,{type:"dashed",block:!0,icon:(0,O.jsx)(tB.A,{}),onClick:()=>{y("options",[...e,{label:"",value:""}])},children:d("Add")})]})})}return"FilterFormCustomRecordSelectFieldModel"===c?(0,O.jsxs)(O.Fragment,{children:[C.length>1&&(0,O.jsx)(io.FormItem,{label:d("Data source"),children:(0,O.jsx)(nR.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:F,options:C,onChange:e=>{s.setValue({...u,[p0]:e,[p1]:void 0,[p2]:void 0})}})}),(0,O.jsx)(io.FormItem,{label:d("Target collection"),asterisk:!0,...w(p1),children:(0,O.jsx)(nR.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Select collection"),value:A,options:I,onChange:e=>{s.setValue({...u,[p1]:e,[p2]:void 0})}})}),(0,O.jsx)(io.FormItem,{label:d("Title field"),asterisk:!0,...w(p2),children:(0,O.jsx)(nR.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:null==u?void 0:u[p2],options:T,onChange:e=>y(p2,e)})}),(0,O.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:d("Used for display in the dropdown and selected tags.")}),(0,O.jsx)(io.FormItem,{label:d("Value field"),asterisk:!0,...w(p8),children:(0,O.jsx)(nR.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:null==u?void 0:u[p8],options:R,onChange:e=>y(p8,e)})}),(0,O.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:d("Stored as the field value for filtering (usually the primary key).")}),(0,O.jsx)(io.FormItem,{label:d("Multiple"),children:(0,O.jsx)(pQ.A,{checked:(null==u?void 0:u[p6])!==!1,onChange:e=>{let t=e.target.checked;s.setValue({...u,[p6]:t,[p3]:t})},children:d("Allow multiple selection")})})]}):null};function p9(e){let{source:t=[],onChange:l}=e,n=(0,L.useFlowEngine)(),o=(0,L.useFlowContext)(),r=e.valueMap||{},i=t.join("."),a=(0,P.useRef)(),s=(0,P.useMemo)(()=>e=>r&&r[e]?r[e]:e,[r]),d=(0,P.useMemo)(()=>{if(!t.length)return;let e=n.dataSourceManager.getCollectionField(i),l=L.FilterableItemModel.getDefaultBindingByField(o.model.context,e);if(l)return s(l.modelName)},[i,s]);return(0,P.useEffect)(()=>{if(!d){a.current=i;return}let t=void 0!==a.current&&a.current!==i;a.current=i;let n=s(e.value);if(e.value&&e.value!==n&&n!==d){null==l||l(n);return}(!e.value||t)&&n!==d&&(null==l||l(d))},[d,l,e.value,i,s]),(0,O.jsx)(io.Select,{allowClear:!0,...e,value:s(e.value??d)})}let me={InputFieldModel:eR.II.string,NumberFieldModel:eR.II.number,DateTimeFilterFieldModel:eR.II.datetime,SelectFieldModel:e=>(null==e?void 0:e.mode)==="multiple"?eR.II.array:eR.II.enumType,RadioGroupFieldModel:eR.II.enumType,CheckboxGroupFieldModel:eR.II.array},mt=new Set(["$in","$notIn","$empty","$notEmpty","$includes","$notIncludes"]),ml={label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},mn={label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},mo={input:eR.II.string,email:eR.II.string,phone:eR.II.string,uuid:eR.II.string,url:eR.II.string,nanoid:eR.II.string,textarea:eR.II.string,markdown:eR.II.bigField,vditor:eR.II.bigField,richText:eR.II.bigField,password:eR.II.string,color:eR.II.string,number:eR.II.number,integer:eR.II.number,id:eR.II.id,snowflakeId:eR.II.number,dateOnly:eR.II.datetime,datetime:eR.II.datetime,datetimeNoTz:eR.II.datetime,unixTimestamp:eR.II.datetime,time:eR.II.time,select:eR.II.enumType,multipleSelect:eR.II.array,radioGroup:eR.II.enumType,checkboxGroup:eR.II.array,checkbox:eR.II.boolean};function mr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=me[e];return l?"function"==typeof l?l(t)||[]:l||[]:[]}function mi(e){var t,l,n,o;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;if(!Array.isArray(r)||0===r.length)return;let a=!!(null==e||null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,r[0])),s=a?r[0]:i||"main",d=(a?r.slice(1):r).join(".");if(d)return null==e||null==(o=e.dataSourceManager)||null==(n=o.getCollectionField)?void 0:n.call(o,`${s}.${d}`)}function ma(e){var t,l,n,o;let r;if(!e)return[];let i=null==(t=e.filterable)?void 0:t.operators;if(Array.isArray(i)&&i.length>0)return i;try{r=null==(o=e.getInterfaceOptions)||null==(n=o.call(e))||null==(l=n.filterable)?void 0:l.operators}catch(e){r=void 0}return Array.isArray(r)&&r.length>0?r:e.interface&&mo[e.interface]?mo[e.interface]:(null===eR.II||void 0===eR.II?void 0:eR.II[e.type])||[]}function ms(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"boolean"==typeof(null==e?void 0:e.multiple)?e.multiple:"boolean"!=typeof(null==e?void 0:e.allowMultiple)||e.allowMultiple}function md(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Set;return e.filter(e=>!(!(null==e?void 0:e.value)||t.has(e.value))&&(t.add(e.value),!0))}function mu(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.some(e=>(null==e?void 0:e.value)==="$in"),l=e.some(e=>(null==e?void 0:e.value)==="$notIn"),n=e.filter(e=>mt.has(null==e?void 0:e.value)&&(null==e?void 0:e.value)!=="$in"&&(null==e?void 0:e.value)!=="$notIn"||(null==e?void 0:e.noValue)||(null==e?void 0:e.value)==="$exists"||(null==e?void 0:e.value)==="$notExists"),o=e.some(e=>(null==e?void 0:e.value)&&!e.noValue&&"$exists"!==e.value&&"$notExists"!==e.value),r=o||t,i=o||l,a=[];return r&&a.push(ml),i&&a.push(mn),md([...a,...n])}function mc(e){var t,l,n,o,r;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=mi(e,a,null==i?void 0:i.recordSelectDataSourceKey),d=(null==s?void 0:s.dataSourceKey)||(null==a?void 0:a[0])||"main",u=(null==i?void 0:i.recordSelectDataSourceKey)||d,c=(null==i?void 0:i.recordSelectTargetCollection)||(null==s||null==(t=s.targetCollection)?void 0:t.name)||(null==s?void 0:s.target);if(!c)return;let p=null==e||null==(n=e.dataSourceManager)||null==(l=n.getCollection)?void 0:l.call(n,u,c);if(!p)return;let m=(null==i?void 0:i.recordSelectValueField)||(null==p?void 0:p.filterTargetKey)||(null==p||null==(o=p.getPrimaryKey)?void 0:o.call(p));if(m)return null==(r=p.getField)?void 0:r.call(p,m)}function mp(e){let{flowEngine:t,fieldModelProps:l={},source:n=[]}=e,o=mc(t,l,n),r=ma(o);return{operatorList:ms(l)?mu(r):r,meta:o}}function mm(e){let{flowEngine:t,fieldModel:l,fieldModelProps:n={},source:o=[]}=e;if("FilterFormCustomRecordSelectFieldModel"===l)return mp(e);let r=mi(t,o);if("SelectFieldModel"===l&&(null==n?void 0:n.mode)==="multiple"&&r){let e=ma(r);return{operatorList:db(r)?mr(l,n):mu(e),meta:r}}let i=mr(l,n);return i.length>0?{operatorList:i,meta:{fieldModel:l}}:{operatorList:ma(r),meta:r}}function mh(e){let{operatorList:t,meta:l}=mm(e);return md((t||[]).filter(e=>!(null==e?void 0:e.visible)||e.visible(l)))}function mf(e){var t,l;let{fieldModel:n,fieldModelProps:o={}}=e,r=mh(e);if("DateTimeFilterFieldModel"===n&&(null==o?void 0:o.isRange)){let e=r.find(e=>"$dateBetween"===e.value);if(e)return e.value}return(null==(t=r.find(e=>e.selected))?void 0:t.value)||(null==(l=r[0])?void 0:l.value)}function mg(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;return e.map(e=>({...e,label:t(e.label),value:e.value}))}let mv=(0,L.observer)(e=>{var t;let{fieldModel:l,source:n=[],fieldModelProps:o={},value:r,onChange:i,...a}=e,s=(0,np.useField)(),d=(0,L.useFlowEngine)(),u=(0,L.useFlowContext)(),c=(null==s||null==(t=s.form)?void 0:t.values)||{},p=l||(null==c?void 0:c.fieldModel),m=n.length?n:(null==c?void 0:c.source)||[],h=(null==c?void 0:c.fieldModelProps)&&Object.keys(c.fieldModelProps).length>0?c.fieldModelProps:o,f=Array.isArray(m)?m.join("."):"",g=null==h?void 0:h.mode,v=null==h?void 0:h.allowMultiple,y=null==h?void 0:h.multiple,x=null==h?void 0:h.recordSelectDataSourceKey,b=null==h?void 0:h.recordSelectTargetCollection,w=null==h?void 0:h.recordSelectValueField,S=(0,P.useMemo)(()=>mh({flowEngine:d,fieldModel:p,source:m,fieldModelProps:h}),[d,p,f,g,v,y,x,b,w]),C=(0,P.useMemo)(()=>mg(S,e=>u.t(e)),[S,u]);return(0,P.useEffect)(()=>{if(!C.length){void 0!==r&&(null==i||i(void 0));return}if(C.some(e=>e.value===r))return;let e=mf({flowEngine:d,fieldModel:p,source:m,fieldModelProps:h});e!==r&&(null==i||i(e))},[d,p,i,C,f,r,g,v,y,x,b,w]),(0,O.jsx)(io.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:u.t("Please select"),...a,options:C,value:r,onChange:i,disabled:0===C.length})});class my extends L.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("FilterFormCustomItemModel"),n=t=>Array.from(t.entries()).map(t=>{var l,n;let[o,r]=t,i={key:o,label:e.t(r.meta.label),sort:r.meta.sort??999,searchable:!!(null==(l=r.meta)?void 0:l.searchable),searchPlaceholder:null==(n=r.meta)?void 0:n.searchPlaceholder};return i.createModelOptions={use:o},i});return V().sortBy([...n(t),...n(l)],"sort")}}my.renderMode=L.ModelRenderMode.RenderFunction,my.define({hide:!0,label:(0,L.tExpr)("Others")});var mx=l(60209);function mb(e){let t=(0,L.useFlowEngine)(),l=(0,P.useCallback)(()=>{let e=null==t?void 0:t.dataSourceManager;return e?e.getDataSources().map(e=>({value:e.key,label:e.displayName??e.key,isLeaf:!1,meta:{type:"dataSource",dataSourceKey:e.key}})):[]},[t]),[n,o]=(0,P.useState)(()=>l());(0,P.useEffect)(()=>{o(l())},[l]);let r=(0,P.useCallback)(e=>{var l;let n=e[e.length-1];if(!n||(null==(l=n.children)?void 0:l.length))return;let r=null==t?void 0:t.dataSourceManager;if(!r)return;let i=[];if(1===e.length){let e=n.value,t=r.getDataSource(e);i=((null==t?void 0:t.getCollections())??[]).map(t=>({value:t.name,label:t.title,isLeaf:!1,meta:{type:"collection",dataSourceKey:e,collectionName:t.name,fullPath:t.name}}))}else{let e=n.meta||{},t=e.dataSourceKey,l=r.getDataSource(t),a=null==l?void 0:l.collectionManager;if(!l||!a){n.isLeaf=!0,o(e=>[...e]);return}if("collection"===e.type){let l=a.getCollection(e.collectionName);i=((null==l?void 0:l.getFields())??[]).filter(e=>e.filterable).map(l=>{let n=`${e.fullPath}.${l.name}`,o=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!o,meta:{type:"field",dataSourceKey:t,fullPath:n}}}).sort((e,t)=>t.isLeaf?0:-1)}else if("field"===e.type){let n=l.getCollectionField(e.fullPath),o=null==n?void 0:n.targetCollection;i=((null==o?void 0:o.getFields())??[]).filter(e=>e.filterable).map(l=>{let n=`${e.fullPath}.${l.name}`,o=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!o,meta:{type:"field",dataSourceKey:t,fullPath:n}}}).sort((e,t)=>t.isLeaf?0:-1)}}i.length?n.children=i:n.isLeaf=!0,o(e=>[...e])},[t]);return(0,O.jsx)(mx.A,{allowClear:!0,...e,options:n,loadData:r})}var mw=l(32644);let mS=(e,t,l)=>{var n,o,r;if((null==l||null==(o=l.form)||null==(n=o.values)?void 0:n.fieldModel)==="FilterFormCustomRecordSelectFieldModel"&&(null==e||""===e))return(null==l||null==(r=l.t)?void 0:r.call(l,"The field value is required"))||"The field value is required"};class mC extends my{buildRecordSelectCollectionField(e,t){var l,n,o,r,i,a;let s=(null==t?void 0:t.recordSelectDataSourceKey)||"main",d=null==t?void 0:t.recordSelectTargetCollection;if(!d)return;let u=null==(n=e.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,s),c=null==u||null==(o=u.getCollection)?void 0:o.call(u,d);if(!u||!c)return;let p=(null==t?void 0:t.recordSelectTitleField)||(null==(r=c.titleCollectionField)?void 0:r.name)||(null==(a=c.titleCollectionField)||null==(i=a.options)?void 0:i.name),m=(null==t?void 0:t.recordSelectValueField)||c.filterTargetKey||"id",h=new L.CollectionField({name:(null==t?void 0:t.name)||"recordSelect",interface:"m2o",type:"belongsTo",target:d,dataSourceKey:s,uiSchema:{"x-component":"Select"},fieldNames:{label:p,value:m}});return h.setCollection(c),h}get defaultTargetUid(){return this.getStepParams("filterFormItemSettings","init").defaultTargetUid}onInit(e){super.onInit(e),this.debouncedDoFilter=(0,_.debounce)(this.doFilter.bind(this),300)}onUnmount(){super.onUnmount(),this.debouncedDoFilter.cancel()}doFilter(){this.context.filterManager.refreshTargetsByFilter(this.uid)}doReset(){this.context.filterManager.refreshTargetsByFilter(this.uid)}getFilterValue(){var e,t,l,n;let o=(null==(e=this.customFieldModelInstance)?void 0:e.getFilterValue)?this.customFieldModelInstance.getFilterValue():null==(t=this.context.form)?void 0:t.getFieldValue(this.props.name),r=this.getCurrentOperatorMeta(),i=(0,mw.S)(this.operator,o);return(null==r?void 0:r.noValue)&&!Array.isArray(null==r||null==(n=r.schema)||null==(l=n["x-component-props"])?void 0:l.options)||i}getCurrentOperatorMeta(){let e=this.getStepParams("formItemSettings","fieldSettings")||{},t=e.fieldModel,l=e.source||[],n=this.customFieldProps||e.fieldModelProps||{},o=mh({flowEngine:this.flowEngine,fieldModel:t,source:l,fieldModelProps:n}),r=this.operator||e.operator;return r&&o.find(e=>e.value===r)||null}getValueProps(e){return this.context.blockModel.autoTriggerFilter&&(this.autoTriggerInitialized?(0,_.isEqual)(this.lastAutoTriggerValue,e)||(this.lastAutoTriggerValue=(0,_.cloneDeep)(e),this.debouncedDoFilter()):(this.autoTriggerInitialized=!0,this.lastAutoTriggerValue=(0,_.cloneDeep)(e))),{value:e,onKeyDown:this.handleEnterPress.bind(this)}}render(){return this.customFieldModelInstance?(0,O.jsx)(L.FormItem,{...this.props,getValueProps:this.getValueProps.bind(this),children:(0,O.jsx)(L.FieldModelRenderer,{model:this.customFieldModelInstance})}):null}constructor(...e){super(...e),this.customFieldModelInstance=null,this.customFieldProps=null,this.autoTriggerInitialized=!1,this.handleEnterPress=e=>{"Enter"===e.key&&(e.preventDefault(),this.doFilter())}}}mC.define({label:'{{t("Custom field")}}',sort:1}),mC.registerFlow({key:"formItemSettings",title:(0,L.tExpr)("Form item settings"),steps:{fieldSettings:{preset:!0,title:(0,L.tExpr)("Field settings"),uiSchema:{title:{type:"string",title:(0,L.tExpr)("Field title"),"x-component":"Input","x-decorator":"FormItem",required:!0},name:{type:"string",title:(0,L.tExpr)("Field name"),"x-component":"Input","x-decorator":"FormItem",required:!0,description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")}}'},source:{type:"array",title:(0,L.tExpr)("Field source"),"x-decorator":"FormItem","x-component":mb,"x-component-props":{placeholder:(0,L.tExpr)("Select a source field to use metadata of the field")},description:(0,L.tExpr)("Select a source field to use metadata of the field")},fieldModel:{type:"string",title:(0,L.tExpr)("Field type"),"x-component":p9,"x-decorator":"FormItem",required:!0,enum:[{label:(0,L.tExpr)("Input"),value:"InputFieldModel"},{label:(0,L.tExpr)("Number"),value:"NumberFieldModel"},{label:(0,L.tExpr)("Date"),value:"DateTimeFilterFieldModel"},{label:(0,L.tExpr)("Select"),value:"SelectFieldModel"},{label:(0,L.tExpr)("Radio group"),value:"RadioGroupFieldModel"},{label:(0,L.tExpr)("Checkbox group"),value:"CheckboxGroupFieldModel"},{label:(0,L.tExpr)("Record select"),value:"FilterFormCustomRecordSelectFieldModel"}],"x-component-props":{placeholder:(0,L.tExpr)("Please select"),valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}},"x-reactions":[{dependencies:["source"],fulfill:{state:{componentProps:{source:"{{$deps[0]}}",valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}}}}}]},fieldModelProps:{type:"object",title:(0,L.tExpr)("Component properties"),"x-component":p7,properties:{recordSelectTargetCollection:{type:"string","x-validator":mS},recordSelectTitleField:{type:"string","x-validator":mS},recordSelectValueField:{type:"string","x-validator":mS}},"x-reactions":[{dependencies:["fieldModel","source"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}"}}}}]},operator:{type:"string",title:(0,L.tExpr)("Operator"),"x-component":mv,"x-decorator":"FormItem",required:!0,"x-reactions":[{dependencies:["fieldModel","source","fieldModelProps"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}",fieldModelProps:"{{$deps[2] || {}}}"}}}}]}},defaultParams:e=>({name:`f_${(0,ed.uid)().slice(0,4)}`}),handler(e,t){var l,n;let o,{fieldModel:r,fieldModelProps:i={},title:a,name:s,source:d=[],operator:u}=t;e.model.setProps({label:a,name:s});let c=i;if("FilterFormCustomRecordSelectFieldModel"===r){let t=(null==i?void 0:i.allowMultiple)===void 0||!!(null==i?void 0:i.allowMultiple),n=(null==i?void 0:i.multiple)===void 0?t:!!(null==i?void 0:i.multiple);if(c={...i,allowMultiple:t,multiple:n,valueMode:(null==i?void 0:i.valueMode)||"value"},o=e.model.buildRecordSelectCollectionField(e,{...c,name:s})){let e=(null==i?void 0:i.recordSelectTitleField)||o.targetCollectionTitleFieldName,t=(null==i?void 0:i.recordSelectValueField)||(null==(l=o.targetCollection)?void 0:l.filterTargetKey)||"id";e&&t&&(c={...c,fieldNames:{label:e,value:t}})}}if(e.model.customFieldModelInstance?e.model.customFieldModelInstance.setProps({allowClear:!0,...c}):e.model.customFieldModelInstance=e.model.flowEngine.createModel({use:r,props:{allowClear:!0,...c}}),"FilterFormCustomRecordSelectFieldModel"===r){let t=(null==c?void 0:c.recordSelectTitleField)||(null==c||null==(n=c.fieldNames)?void 0:n.label);t&&e.model.customFieldModelInstance.setStepParams("selectSettings","fieldNames",{label:t})}o&&e.model.customFieldModelInstance.context.defineProperty("collectionField",{value:o});let p=!!mh({flowEngine:e.model.flowEngine,fieldModel:r,source:d,fieldModelProps:c}).find(e=>e.value===u);e.model.operator=(p?u:void 0)||mf({flowEngine:e.model.flowEngine,fieldModel:r,source:d,fieldModelProps:c}),e.model.customFieldProps=c}},connectFields:{use:"connectFields"}}});let mF="__filter_form_value_options__",mk=(e,t)=>null!=e&&""!==e&&("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&(!t||!/(int|big)/i.test(t)||/^-?\d+$/.test(e))),mA=(e,t)=>{if("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&/(int|big)/i.test(t||"")&&/^-?\d+$/.test(e))return e},mP=(e,t,l,n,o,r)=>{let i=new Map;t.forEach(e=>{if(!e||"object"!=typeof e)return;let t=null==e?void 0:e[n],o=null==e?void 0:e[l];null!=t&&null!=o&&i.set(t,o)});let a=e=>{if(null==e)return;if("object"==typeof e){let t=null==e?void 0:e[l];if(null!=t)return t;let o=(null==e?void 0:e[n])??(null==e?void 0:e.value);if(n===l)return o;let a=i.get(o);return null!=a?a:mA(o,r)}if(n===l)return e;let t=i.get(e);return null!=t?t:mA(e,r)};return(o&&Array.isArray(e)?e:[e]).map(e=>a(e)).filter(e=>mk(e,r))},mM=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,n=new Map;return[...e,...t].forEach(e=>{let t=null==e?void 0:e[l];null!=t&&n.set(t,e)}),Array.from(n.values())},mj=(e,t)=>{var l,n;let o=null==e||null==(l=e.context)?void 0:l.collectionField,r=null==o?void 0:o.collection,i=null==r?void 0:r.dataSource,a=null==e||null==(n=e.context)?void 0:n.t,s=(null==o?void 0:o.name)||e.fieldPath,d=(0,P.useMemo)(()=>{if(!a||!i)return"";let e=`${a(i.displayName||i.key)} > `,t=r?`${a(r.title)||r.name||r.tableName} > `:"";return`${e}${t}${s}`},[a,i,r,s]);return!t&&a&&i?a('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:d,actionName:"Update"}).replaceAll("&gt;",">"):null},mI=e=>{var t;let{fieldNames:l={label:"label",value:"value"},value:n,multiple:o,allowMultiple:r,options:i,quickCreate:a,onChange:s,allowCreate:d=!0,allowEdit:u=!0,valueMode:c="record",...p}=e,m=!!(o&&r),h=px(i,n,m),f=(0,L.useFlowModel)(),g=!!f.context.flowSettingsEnabled,{t:v}=(0,eX.B)(),y=e=>{let{searchText:t}=e;return(0,O.jsxs)("div",{onClick:()=>p.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,O.jsx)(tB.A,{}),(0,O.jsx)("span",{style:{paddingLeft:5},children:v("Add")+` “${t}” `})]})},x=mj(f,u);return(0,O.jsxs)(dq.A.Compact,{style:{width:"100%"},children:[(0,O.jsx)(nR.A,{style:{width:"100%"},...p,allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,O.jsxs)(tU.A,{title:(0,O.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,O.jsx)(pn.A,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>p.onCompositionEnd(e,!1),fieldNames:l,options:h,value:py(n,l,m,c,h),mode:m?"multiple":void 0,onChange:(e,t)=>{"value"===c?Array.isArray(t)?s(t.map(e=>(null==e?void 0:e[l.value])??(null==e?void 0:e.value)).filter(e=>void 0!==e)):s((null==t?void 0:t[l.value])??(null==t?void 0:t.value)):s(t)},optionRender:e=>{let{data:t}=e;return(0,O.jsx)(pv,{option:t,fieldNames:l})},popupMatchSelectWidth:!0,labelRender:e=>(0,O.jsx)("div",{className:(0,k.css)`
530
530
  div {
531
531
  white-space: nowrap !important;
532
532
  overflow: hidden;
@@ -931,7 +931,7 @@ ctx.render(<JsItem />);
931
931
  overflow-y: auto;
932
932
  padding: 10px;
933
933
  }
934
- `,color:"#fff"}},style:{...o||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:n||"auto"}};if(!i)return(0,O.jsx)(oO.A.Text,{...a,children:this.renderInDisplayStyle(e)});{let t=(0,_.castArray)(e).flatMap((t,l)=>{let n=this.renderInDisplayStyle(null==t?void 0:t[i],t,Array.isArray(e)),o=P.isValidElement(n)?P.cloneElement(n,{key:`item-${l}`}):n;return 0===l?[o]:[(0,O.jsx)("span",{children:", "},`sep-${l}`),o]});return(0,O.jsx)(oO.A.Text,{...a,children:t})}}}x4.registerFlow({key:"displayFieldSettings",title:(0,L.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,L.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))||x5(e)}},hideInSettings:e=>e.disableFieldClickToOpen,async afterParamsSave(e,t){await vL(e,t)},handler(e,t){vO(e,t)}}}}),x4.registerFlow(ex);let x7=P.memo(e=>{let t=(0,L.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,O.jsx)(L.DndProvider,{onDragEnd:l,children:(0,O.jsx)("thead",{...e})})}),x9=(0,L.observer)(e=>{let{className:t,title:l,editable:n,width:o,record:r,recordIndex:i,dataIndex:a,children:s,model:d,...u}=e;return(0,O.jsx)("td",{className:fv()(t),...u,children:(0,O.jsxs)("div",{style:{width:o},children:[" ",s]})})}),be=e=>{let{model:t}=e;return(0,O.jsx)(L.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(n$.A,{}),children:t.translate("Fields")})})},bt=e=>{let{pageSize:t,value:l,size:n,collection:o,baseColumns:r,enableIndexColumn:i=!0,model:a}=e,[s,d]=(0,P.useState)(1),[u,c]=(0,P.useState)(t),{t:p}=(0,eX.B)();(0,P.useEffect)(()=>{c(t)},[t]);let m=(0,P.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]),h=()=>{let e=fw([i&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(s-1)*u+l+1},...r.concat({key:"empty"})].filter(Boolean));return a.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,O.jsx)(be,{model:a})}),e},f=(0,P.useCallback)(async(e,t,l)=>{if(!(0,_.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,r=o?`${n}(sort=${o})`:n,i=e.getAppends().map(e=>RegExp(`^${n}\\(sort=[^)]+\\)$`).test(e)||e===n?r:e);l&&e.setAppends(i),await e.refresh()}},[a]);return(0,O.jsx)(f1.A,{tableLayout:"fixed",size:n,rowKey:o.filterTargetKey,scroll:{x:"max-content"},dataSource:l,columns:h(),pagination:m,onChange:f,className:(0,k.css)`
934
+ `,color:"#fff"}},style:{...o||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:n||"auto"}};if(!i)return(0,O.jsx)(oO.A.Text,{...a,children:this.renderInDisplayStyle(e)});{let t=(0,_.castArray)(e).flatMap((t,l)=>{let n=this.renderInDisplayStyle(null==t?void 0:t[i],t,Array.isArray(e)),o=P.isValidElement(n)?P.cloneElement(n,{key:`item-${l}`}):n;return 0===l?[o]:[(0,O.jsx)("span",{children:", "},`sep-${l}`),o]});return(0,O.jsx)(oO.A.Text,{...a,children:t})}}}x4.registerFlow({key:"displayFieldSettings",title:(0,L.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,L.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))||x5(e)}},hideInSettings:e=>e.disableFieldClickToOpen,async afterParamsSave(e,t){await vL(e,t)},handler(e,t){vO(e,t)}}}}),x4.registerFlow(ex);let x7=P.memo(e=>{let t=(0,L.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,O.jsx)(L.DndProvider,{onDragEnd:l,children:(0,O.jsx)("thead",{...e})})}),x9=(0,L.observer)(e=>{let{className:t,title:l,editable:n,width:o,record:r,recordIndex:i,dataIndex:a,children:s,model:d,...u}=e;return(0,O.jsx)("td",{className:fv()(t),...u,children:(0,O.jsxs)("div",{style:{width:o},children:[" ",s]})})}),be=e=>{let{model:t}=e;return(0,O.jsx)(L.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,O.jsx)(L.FlowSettingsButton,{icon:(0,O.jsx)(n$.A,{}),children:t.translate("Fields")})})},bt=e=>{let{pageSize:t,value:l,size:n,collection:o,baseColumns:r,enableIndexColumn:i=!0,model:a}=e,s=a.parent instanceof fo,[d,u]=(0,P.useState)(1),[c,p]=(0,P.useState)(t),[m,h]=(0,P.useState)(),{t:f}=(0,eX.B)(),g=(0,P.useMemo)(()=>!s||Array.isArray(l)?l:l&&Array.isArray(l.rows)?l.rows:l&&"object"==typeof l?[l]:[],[s,l]),v=(0,P.useMemo)(()=>s&&m?(0,_.orderBy)(g,[e=>(0,_.get)(e,m.field)],[m.order]):g,[s,m,g]);(0,P.useEffect)(()=>{s&&u(1)},[s,l]),(0,P.useEffect)(()=>{p(t)},[t]);let y=(0,P.useMemo)(()=>({current:d,pageSize:c,total:null==g?void 0:g.length,onChange:(e,t)=>{u(e),p(t)},showSizeChanger:!0,showTotal:e=>f("Total {{count}} items",{count:e})}),[d,c,g,f]),x=()=>{let e=fw([i&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(d-1)*c+l+1},...r.concat({key:"empty"})].filter(Boolean));return a.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,O.jsx)(be,{model:a})}),e},b=(0,P.useCallback)(async(e,t,l,n)=>{let o=Array.isArray(l)?l[0]:l;if(s){if("sort"!==n.action)return;let e=null==o?void 0:o.column,t=(null==e?void 0:e.sortField)||(null==o?void 0:o.field),l=Array.isArray(t)?t.join("."):String(t??""),r=`${a.context.fieldPath}.`,i=l.startsWith(r)?l.slice(r.length):l;h((null==o?void 0:o.order)&&i?{field:i,order:"ascend"===o.order?"asc":"desc"}:void 0),u(1);return}if(!(0,_.isEmpty)(o)){let e=a.context.blockModel.resource,t=a.props.globalSort,l=a.context.collectionField.name,n=o.order?"ascend"===o.order?[o.field]:[`-${o.field}`]:t,r=n?`${l}(sort=${n})`:l,i=e.getAppends().map(e=>RegExp(`^${l}\\(sort=[^)]+\\)$`).test(e)||e===l?r:e);o&&e.setAppends(i),await e.refresh()}},[s,a]);return(0,O.jsx)(f1.A,{tableLayout:"fixed",size:n,rowKey:o.filterTargetKey,scroll:{x:"max-content"},dataSource:v,columns:x(),pagination:y,onChange:b,className:(0,k.css)`
935
935
  .ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content {
936
936
  display: inline;
937
937
  }
@@ -941,7 +941,7 @@ ctx.render(<JsItem />);
941
941
  .ant-table-column-sorters .ant-table-column-title {
942
942
  overflow: visible;
943
943
  }
944
- `,components:{header:{wrapper:x7},body:{cell:x9}}})};class bl extends sr.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,O.jsx)(bt,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),this.disableTitleField=!0,this.defaultOverflowMode="ellipsis"}}bl.registerFlow({key:"TableAssociation",title:(0,L.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,L.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})}}}}),bl.define({label:(0,L.tExpr)("Sub-table")}),c$.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class bn extends sr.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,O.jsx)(vF,{...this.props})}constructor(...e){super(...e),this.disableTitleField=!0,this.subModelBaseClasses={action:"RecordActionGroupModel",field:["DetailsItemModel"]}}}bn.define({label:(0,L.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),c$.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let bo=e=>(0,_.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),br=e=>{let{parentFieldIndex:t,index:l,blockPage:n}=e,o=t.length>0?t.join("|"):"root";return`row_${o}_${l}_${n}`},bi=e=>{var t;let{name:l,value:n=[]}=e,o=(0,L.useFlowModel)(),r=o.subModels.grid,i=bo(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,O.jsx)(oB.A,{bordered:!0,style:{position:"relative"},className:(0,k.css)`
944
+ `,components:{header:{wrapper:x7},body:{cell:x9}}})};class bl extends sr.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,O.jsx)(bt,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),this.disableTitleField=!0,this.defaultOverflowMode="ellipsis"}}bl.registerFlow({key:"TableAssociation",title:(0,L.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,L.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})}}}}),bl.define({label:(0,L.tExpr)("Sub-table")}),c$.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]),fo.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class bn extends sr.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,O.jsx)(vF,{...this.props})}constructor(...e){super(...e),this.disableTitleField=!0,this.subModelBaseClasses={action:"RecordActionGroupModel",field:["DetailsItemModel"]}}}bn.define({label:(0,L.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),c$.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let bo=e=>(0,_.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),br=e=>{let{parentFieldIndex:t,index:l,blockPage:n}=e,o=t.length>0?t.join("|"):"root";return`row_${o}_${l}_${n}`},bi=e=>{var t;let{name:l,value:n=[]}=e,o=(0,L.useFlowModel)(),r=o.subModels.grid,i=bo(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,O.jsx)(oB.A,{bordered:!0,style:{position:"relative"},className:(0,k.css)`
945
945
  > .ant-card-body > .ant-divider:last-child {
946
946
  display: none;
947
947
  }
@@ -1078,7 +1078,7 @@ ctx.render(<JsItem />);
1078
1078
  display: flex;
1079
1079
  margin: 5px 0px;
1080
1080
  }
1081
- `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:"HH:mm:ss",enum:[{label:(0,ko.b)({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:(0,ko.b)({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}},kh={type:"array",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"ArrayTable","x-component-props":{pagination:{pageSize:1e3}},items:{type:"object",properties:{column1:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:50,title:"",align:"center"},properties:{sort:{type:"void","x-component":"ArrayTable.SortHandle"}}},column2:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option value")}}'},properties:{value:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input"}}},column3:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option label")}}'},properties:{label:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input"}}},column4:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Color")}}'},properties:{color:{type:"string","x-decorator":"FormItem","x-component":"ColorSelect"}}},column5:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:"",dataIndex:"operations",fixed:"right"},properties:{item:{type:"void","x-component":"FormItem",properties:{remove:{type:"void","x-component":"ArrayTable.Remove"}}}}}}},properties:{add:{type:"void","x-component":"ArrayTable.Addition","x-component-props":{randomValue:!0},title:"{{t('Add option')}}"}}},kf={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input","x-validator":"uid",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"}},kg={type:"string",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},enum:"{{collections}}"};class kv{addComponentOption(e){if(!this.componentOptions){var t,l,n,o,r,i;this.componentOptions=[];let e=null==(l=this.default)||null==(t=l.uiSchema)?void 0:t["x-component"],a=null==(o=this.default)||null==(n=o.uiSchema)?void 0:n["x-component-props"];if(e){let t=(null==(i=this.default)||null==(r=i.uiSchema)?void 0:r.type)||"string",l=(0,ed.tval)(e.startsWith("Input")?(0,_.capitalize)(t):e.split(".").pop());this.componentOptions=[{label:l,value:e,useProps:()=>a||{}}]}}this.componentOptions.push(e)}getConfigureFormProperties(e){var t,l,n,o;let r=(null==(l=this.configure)||null==(t=l.getConfigureFormProperties)?void 0:t.call(l,e))||(null==(n=this.configure)?void 0:n.properties)||{},i=this.hasDefaultValue?this.getDefaultValueProperty():{},a=null==e?void 0:e.view,s=(null==e?void 0:e.template)==="sql"||(null==e?void 0:e.sql),d=[...new Set([...this.availableValidationOptions,"required"])],u=a||s||!this.validationType?{}:{validation:{title:'{{ t("Validation") }}',required:!1,"x-decorator":"FormItem","x-component":"FieldValidation","x-component-props":{type:this.validationType,availableValidationOptions:d,excludeValidationOptions:[...new Set(this.excludeValidationOptions)],isAssociation:this.isAssociation}}};return{...(0,_.cloneDeep)({...kf,...null==(o=this)?void 0:o.properties,...r}),...i,...u}}getDefaultValueProperty(){var e,t,l,n;return{defaultValue:{...(0,_.cloneDeep)(null==(t=this)||null==(e=t.default)?void 0:e.uiSchema),...null==(n=this)||null==(l=n.properties)?void 0:l.uiSchema,required:!1,title:'{{ t("Default value") }}',"x-decorator":"FormItem"}}}addOperator(e){this.filterable||(0,_.set)(this,"filterable",{});let t=Array.isArray(this.filterable.operatorOverrides)?[...this.filterable.operatorOverrides]:[],l=t.findIndex(t=>t.value===e.value);-1!==l?t[l]=e:t.push(e),(0,_.set)(this,"filterable.operatorOverrides",t),i9(this.filterable)}constructor(e){this.collectionFieldInterfaceManager=e,this.availableValidationOptions=[]}}class ky extends kv{constructor(...e){super(...e),this.name="checkbox",this.type="object",this.group="choices",this.order=1,this.title='{{t("Checkbox")}}',this.default={type:"boolean",uiSchema:{type:"boolean","x-component":"Checkbox"}},this.availableTypes=["boolean","integer","bigInt","bit"],this.hasDefaultValue=!0,this.properties={...kf},this.filterable={operators:"boolean"}}}class kx extends kv{constructor(...e){super(...e),this.name="checkboxGroup",this.type="object",this.group="choices",this.order=5,this.title='{{t("Checkbox group")}}',this.default={interface:"checkboxGroup",type:"array",defaultValue:[],uiSchema:{type:"string","x-component":"Checkbox.Group"}},this.availableTypes=["array","json"],this.hasDefaultValue=!0,this.properties={...kf,"uiSchema.enum":kh},this.filterable={operators:"array"}}}class kb extends kv{constructor(...e){super(...e),this.name="collection",this.type="string",this.group="advanced",this.order=5,this.title='{{t("Collection selector")}}',this.description='{{t("Providing certain collections as options for users, typically used in polymorphic or inheritance scenarios")}}',this.sortable=!0,this.default={type:"string",uiSchema:{type:"string","x-component":"CollectionSelect"}},this.availableTypes=["string"],this.hasDefaultValue=!1,this.properties={...kf,"uiSchema.enum":kg},this.filterable={operators:"collection"}}}class kw extends kv{constructor(...e){super(...e),this.name="color",this.type="object",this.group="basic",this.order=10,this.title='{{t("Color")}}',this.default={type:"string",uiSchema:{type:"string","x-component":"ColorPicker"}},this.availableTypes=["string"],this.hasDefaultValue=!0,this.properties={...kf},this.filterable={operators:"string"}}}class kS extends kv{constructor(...e){super(...e),this.name="createdAt",this.type="object",this.group="systemInfo",this.order=1,this.title='{{t("Created at")}}',this.sortable=!0,this.default={type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}},this.description='{{t("Store the creation time of each record")}}',this.availableTypes=[],this.properties={...kf,...kp},this.filterable={operators:"datetime"},this.titleUsable=!0}}class kC extends kv{constructor(...e){super(...e),this.name="createdBy",this.type="object",this.group="systemInfo",this.order=3,this.title='{{t("Created by")}}',this.isAssociation=!0,this.default={type:"belongsTo",target:"users",foreignKey:"createdById",uiSchema:{type:"object",title:'{{t("Created by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}},this.availableTypes=["belongsTo"],this.properties={...kf},this.filterable={nested:!0,children:[]},this.description='{{t("Store the creation user of each record")}}'}}class kF extends kv{constructor(...e){super(...e),this.name="datetime",this.type="object",this.group="datetime",this.order=1,this.title='{{t("Datetime (with time zone)")}}',this.sortable=!0,this.default={type:"date",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!0,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!0}}},this.availableTypes=["date","string","datetime","datetimeTz"],this.hasDefaultValue=!0,this.validationType="date",this.properties={...kf,...kp,defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp on update")}}'},"uiSchema.x-component-props.gmt":{type:"boolean",title:'{{t("GMT")}}',"x-hidden":!0,"x-component":"Checkbox","x-content":'{{t("Use the same time zone (GMT) for all users")}}',"x-decorator":"FormItem",default:!1}},this.filterable={operators:"datetime"},this.titleUsable=!0}}class kk extends kv{constructor(...e){super(...e),this.name="email",this.type="object",this.group="basic",this.order=4,this.title='{{t("Email")}}',this.sortable=!0,this.default={type:"string",uiSchema:{type:"string","x-component":"Input","x-validator":"email"}},this.availableTypes=["string"],this.hasDefaultValue=!0,this.validationType="string",this.availableValidationOptions=["min","max","length","email","pattern"],this.properties={...kf,unique:kr},this.filterable={operators:"string"},this.titleUsable=!0}}class kA extends kv{constructor(...e){super(...e),this.name="icon",this.type="object",this.group="basic",this.order=10,this.title='{{t("Icon")}}',this.default={type:"string",uiSchema:{type:"string","x-component":"IconPicker"}},this.availableTypes=["string"],this.hasDefaultValue=!0,this.properties={...kf}}}class kP extends kv{constructor(...e){super(...e),this.name="id",this.type="object",this.group="systemInfo",this.order=0,this.title='{{t("ID")}}',this.hidden=!0,this.sortable=!0,this.default={name:"id",type:"bigInt",autoIncrement:!0,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-read-pretty":!0}},this.availableTypes=["bigInt","integer"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,default:"ID","x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":!0,"x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"}},this.filterable={operators:"id"},this.description='{{t("Primary key, unique identifier, self growth") }}',this.titleUsable=!0}}let kM=e=>e,kj=e=>{if((0,ii.isArr)(e)){for(let t=0;t<e.length;t++)if((0,ii.isValid)(e[t]))return!1;return!0}if(null==e?void 0:e.getCurrentContent){var t;return!(null==(t=e.getCurrentContent())?void 0:t.hasText())}return(0,ii.isEmpty)(e)};(0,FB.registerValidateRules)({username:e=>/^[^@<>"'/]{1,50}$/.test(e)||kM("Must be 1-50 characters in length (excluding @<>\"'/)"),required:(e,t)=>!1===t.required?"":("string"==typeof e&&(e=e.trim()),kj(e)?t.message:"")});class kI extends kv{constructor(...e){super(...e),this.name="input",this.type="object",this.group="basic",this.order=1,this.title='{{t("Single line text")}}',this.primaryKeyDescription='{{t("Primary key, unique identifier")}}',this.sortable=!0,this.default={interface:"input",type:"string",uiSchema:{type:"string","x-component":"Input"}},this.availableTypes=["string","uid"],this.hasDefaultValue=!0,this.validationType="string",this.availableValidationOptions=["min","max","length","pattern"],this.properties={...kf,trim:{type:"boolean","x-content":'{{t("Automatically remove heading and tailing spaces")}}',"x-decorator":"FormItem","x-component":"Checkbox"},layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:ki,unique:kr}}},this.filterable={operators:"string"},this.titleUsable=!0}}(0,ir.registerValidateFormats)({odd:/^-?\d*[13579]$/,even:/^-?\d*[02468]$/});class kT extends kv{constructor(...e){super(...e),this.name="integer",this.type="object",this.group="basic",this.order=6,this.title='{{t("Integer")}}',this.primaryKeyDescription='{{t("Primary key, unique identifier, self growth")}}',this.sortable=!0,this.default={type:"bigInt",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,step:"1"},"x-validator":"integer"}},this.availableTypes=["bigInt","integer","sort","snowflakeId"],this.hasDefaultValue=!0,this.validationType="number",this.excludeValidationOptions=["precision"],this.properties={...kf,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:ki,unique:kr}},autoIncrement:ka},this.filterable={operators:"number"},this.titleUsable=!0}}(0,ir.registerValidateRules)({json(e){try{return JSON.parse(e),!0}catch(e){return{type:"error",message:e.message}}}});class kR extends kv{constructor(...e){super(...e),this.name="json",this.type="object",this.group="advanced",this.order=4,this.title='{{t("JSON")}}',this.sortable=!1,this.default={type:"json",uiSchema:{type:"object","x-component":"Input.JSON","x-component-props":{autoSize:{minRows:5}},default:null}},this.availableTypes=["json","array","set","jsonb","text","circle","lineString","point","polygon"],this.hasDefaultValue=!0,this.properties={...kf,jsonb:{title:"JSONB","x-component":"Checkbox"}},this.configure={items:[{name:"jsonb",title:"JSONB",component:"Checkbox",schema:{"x-content":" "},hidden:e=>{let{context:t}=e,l=t.isDialect;return"function"!=typeof l||!l("postgres")},disabled:e=>{let{context:t}=e;return!!t.disabledJSONB}}]}}}class kE extends kv{initialize(e){"belongsToMany"===e.type&&(e.through||(e.through=`t_${(0,ii.uid)()}`),e.foreignKey||(e.foreignKey=`f_${(0,ii.uid)()}`),e.otherKey||(e.otherKey=`f_${(0,ii.uid)()}`),e.sourceKey||(e.sourceKey="id"),e.targetKey||(e.targetKey="id"))}constructor(...e){super(...e),this.name="m2m",this.type="object",this.group="relation",this.order=6,this.title='{{t("Many to many")}}',this.description='{{t("Many to many description")}}',this.isAssociation=!0,this.default={type:"belongsToMany",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!0}},reverseField:{interface:"m2m",type:"belongsToMany",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!0}}}},this.availableTypes=["belongsToMany"],this.validationType="object",this.properties={...kf,type:kd,grid:{type:"void","x-component":"Grid",properties:{row1:{type:"void","x-component":"Grid.Row",properties:{col11:{type:"void","x-component":"Grid.Col",properties:{source:{type:"string",title:'{{t("Source collection")}}',"x-decorator":"FormItem","x-component":"SourceCollection","x-disabled":!0}}},col12:{type:"void","x-component":"Grid.Col",properties:{through:{type:"string",title:'{{t("Through collection")}}',description:'{{ t("Generated automatically if left blank") }}',"x-decorator":"FormItem","x-disabled":"{{ !createOnly }}","x-component":"ThroughCollection","x-component-props":{allowClear:!0}}}},col13:{type:"void","x-component":"Grid.Col",properties:{target:{type:"string",title:'{{t("Target collection")}}',required:!0,"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}"}}}}},row2:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{sourceKey:{type:"string",title:'{{t("Source key")}}',description:"{{t('Field values must be unique.')}}","x-decorator":"FormItem","x-component":"SourceKey","x-disabled":"{{ !createOnly }}"}}},col22:{type:"void","x-component":"Grid.Col",properties:{foreignKey:{type:"string",title:'{{t("Foreign key 1")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly||override }}"}}},col23:{type:"void","x-component":"Grid.Col",properties:{}}}},row3:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{}},col22:{type:"void","x-component":"Grid.Col",properties:{otherKey:{type:"string",title:'{{t("Foreign key 2")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly||override }}"}}},col23:{type:"void","x-component":"Grid.Col",properties:{targetKey:{type:"string",title:'{{t("Target key")}}',"x-decorator":"FormItem","x-component":"TargetKey","x-disabled":"{{ !createOnly }}",description:"{{t('Field values must be unique.')}}"}}}}}}},...kc},this.filterable={nested:!0,children:[]}}}class kN extends kv{constructor(...e){super(...e),this.name="m2o",this.type="object",this.group="relation",this.order=5,this.title='{{t("Many to one")}}',this.description='{{t("Many to one description")}}',this.isAssociation=!0,this.validationType="object",this.default={type:"belongsTo",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}},reverseField:{interface:"o2m",type:"hasMany",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!0}}}},this.availableTypes=["belongsTo"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},type:kd,grid:{type:"void","x-component":"Grid",properties:{row1:{type:"void","x-component":"Grid.Row",properties:{col11:{type:"void","x-component":"Grid.Col",properties:{source:{type:"void",title:'{{t("Source collection")}}',"x-decorator":"FormItem","x-component":"SourceCollection","x-disabled":!0}}},col12:{type:"void","x-component":"Grid.Col",properties:{target:{type:"string",title:'{{t("Target collection")}}',required:!0,"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}"}}}}},row2:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{foreignKey:{type:"string",title:'{{t("Foreign key")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly }}"}}},col22:{type:"void","x-component":"Grid.Col",properties:{targetKey:{type:"string",title:'{{t("Target key")}}',description:"{{t('Field values must be unique.')}}","x-decorator":"FormItem","x-component":"TargetKey","x-disabled":"{{ !createOnly }}"}}}}}}},...ku,...kc},this.filterable={nested:!0,children:[]}}}class kD extends kv{constructor(...e){super(...e),this.name="markdown",this.type="object",this.title='{{t("Markdown")}}',this.group="media",this.default={type:"text",uiSchema:{type:"string","x-component":"Markdown"}},this.availableTypes=["text","json","string"],this.hasDefaultValue=!0,this.properties={...kf},this.filterable={operators:"bigField"}}}class k$ extends kv{constructor(...e){super(...e),this.name="multipleSelect",this.type="object",this.group="choices",this.order=3,this.title='{{t("Multiple select")}}',this.default={type:"array",defaultValue:[],uiSchema:{type:"array","x-component":"Select","x-component-props":{mode:"multiple"},enum:[]}},this.availableTypes=["array","json"],this.hasDefaultValue=!0,this.properties={...kf,"uiSchema.enum":kh},this.filterable={operators:"array"}}}class kB extends kv{constructor(...e){super(...e),this.name="number",this.type="object",this.group="basic",this.order=7,this.title='{{t("Number")}}',this.sortable=!0,this.default={type:"double",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,step:"1"}}},this.availableTypes=["double","float","decimal"],this.hasDefaultValue=!0,this.validationType="number",this.excludeValidationOptions=["integer"],this.properties={type:{type:"string",title:'{{t("Data type")}}',"x-component":"Select","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}",default:"double",enum:[{label:'{{t("Double")}}',value:"double"},{label:'{{t("Float")}}',value:"float"},{label:'{{t("Decimal")}}',value:"decimal"}]},...kf,unique:kr,"uiSchema.x-component-props.step":{type:"string",title:'{{t("Precision(UI)")}}',"x-component":"Select","x-decorator":"FormItem",default:"1",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"}]},precision:{type:"string",title:'{{t("Precision")}}',"x-component":"InputNumber","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}",default:10},scale:{type:"string",title:'{{t("Scale")}}',"x-component":"InputNumber","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}",default:2}},this.filterable={operators:"number"},this.titleUsable=!0}}class kO extends kv{constructor(...e){super(...e),this.name="obo",this.type="object",this.group="relation",this.order=3.1,this.title='{{t("One to one (belongs to)")}}',this.description='{{t("One to one description")}}',this.isAssociation=!0,this.validationType="object",this.default={type:"belongsTo",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}},reverseField:{interface:"oho",type:"hasOne",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}}}},this.availableTypes=["belongsTo"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},type:kd,grid:{type:"void","x-component":"Grid",properties:{row1:{type:"void","x-component":"Grid.Row",properties:{col11:{type:"void","x-component":"Grid.Col",properties:{source:{type:"void",title:'{{t("Source collection")}}',"x-decorator":"FormItem","x-component":"SourceCollection","x-disabled":!0}}},col12:{type:"void","x-component":"Grid.Col",properties:{target:{type:"string",title:'{{t("Target collection")}}',required:!0,"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}"}}}}},row2:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{foreignKey:{type:"string",title:'{{t("Foreign key")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly }}"}}},col22:{type:"void","x-component":"Grid.Col",properties:{targetKey:{type:"string",title:'{{t("Target key")}}',description:"{{t('Field values must be unique.')}}","x-decorator":"FormItem","x-component":"TargetKey","x-disabled":"{{ !createOnly }}"}}}}}}},...ku,...kc},this.filterable={nested:!0,children:[]}}}class kq extends kv{constructor(...e){super(...e),this.name="o2m",this.type="object",this.group="relation",this.order=4,this.title='{{t("One to many")}}',this.description='{{t("One to many description")}}',this.isAssociation=!0,this.validationType="object",this.default={type:"hasMany",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!0}},reverseField:{interface:"m2o",type:"belongsTo",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}}}},this.availableTypes=["hasMany"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},type:kd,grid:{type:"void","x-component":"Grid",properties:{row1:{type:"void","x-component":"Grid.Row",properties:{col11:{type:"void","x-component":"Grid.Col",properties:{source:{type:"void",title:'{{t("Source collection")}}',"x-decorator":"FormItem","x-component":"SourceCollection"}}},col12:{type:"void","x-component":"Grid.Col",properties:{target:{type:"string",title:'{{t("Target collection")}}',required:!0,"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}"}}}}},row2:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{sourceKey:{type:"string",title:'{{t("Source key")}}',description:"{{t('Field values must be unique.')}}","x-decorator":"FormItem","x-component":"SourceKey","x-disabled":"{{ !createOnly }}"}}},col22:{type:"void","x-component":"Grid.Col",properties:{foreignKey:{type:"string",title:'{{t("Foreign key")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly }}"}}}}},row3:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{}},col22:{type:"void","x-component":"Grid.Col",properties:{targetKey:{type:"string",title:'{{t("Target key")}}',"x-decorator":"FormItem","x-component":"TargetKey","x-disabled":"{{ !createOnly }}",description:"{{t('Field values must be unique.')}}"}}}}}}},...ku,...kc},this.filterable={nested:!0,children:[]}}}class kL extends kv{constructor(...e){super(...e),this.name="oho",this.type="object",this.group="relation",this.order=3,this.title='{{t("One to one (has one)")}}',this.description='{{t("One to one description")}}',this.isAssociation=!0,this.validationType="object",this.default={type:"hasOne",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}},reverseField:{interface:"obo",type:"belongsTo",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}}}},this.availableTypes=["hasOne"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},type:kd,grid:{type:"void","x-component":"Grid",properties:{row1:{type:"void","x-component":"Grid.Row",properties:{col11:{type:"void","x-component":"Grid.Col",properties:{source:{type:"void",title:'{{t("Source collection")}}',"x-decorator":"FormItem","x-component":"SourceCollection","x-disabled":!0}}},col12:{type:"void","x-component":"Grid.Col",properties:{target:{type:"string",title:'{{t("Target collection")}}',required:!0,"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}"}}}}},row2:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{sourceKey:{type:"string",title:'{{t("Source key")}}',description:"{{t('Field values must be unique.')}}","x-decorator":"FormItem","x-component":"SourceKey","x-disabled":"{{ !createOnly }}"}}},col22:{type:"void","x-component":"Grid.Col",properties:{foreignKey:{type:"string",title:'{{t("Foreign key")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly }}"}}}}}}},...ku,...kc},this.filterable={nested:!0,children:[]}}}class k_ extends kv{constructor(...e){super(...e),this.name="password",this.type="object",this.group="basic",this.order=9,this.title='{{t("Password")}}',this.default={type:"password",hidden:!0,uiSchema:{type:"string","x-component":"Password"}},this.availableTypes=["password","string"],this.hasDefaultValue=!0,this.validationType="string",this.availableValidationOptions=["min","max","length","pattern"],this.properties={...kf,unique:kr},this.filterable={operators:"string"}}}(0,ir.registerValidateRules)({percentMode(e,t){let{maxValue:l,minValue:n}=t;return l&&e>l?{type:"error",message:`${kM("The field value cannot be greater than ")}${100*l}%`}:!n||!(e<n)||{type:"error",message:`${kM("The field value cannot be less than ")}${100*n}%`}},percentFormats(e,t){let{percentFormat:l}=t;return!e||"Integer"!==l||!1!==/^-?[1-9]\d*$/.test((100*e).toString())||{type:"error",message:`${kM("The field value is not an integer number")}`}}});class kV extends kv{constructor(...e){super(...e),this.name="percent",this.type="object",this.group="basic",this.order=8,this.title='{{t("Percent")}}',this.sortable=!0,this.default={type:"float",uiSchema:{type:"string","x-component":"Percent","x-component-props":{stringMode:!0,step:"1",addonAfter:"%"}}},this.availableTypes=["float","double","decimal"],this.hasDefaultValue=!0,this.validationType="number",this.excludeValidationOptions=["integer"],this.properties={...kf,unique:kr,"uiSchema.x-component-props.step":{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",default:"1",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%"}]}},this.filterable={operators:"number"},this.titleUsable=!0}}class kz extends kv{constructor(...e){super(...e),this.name="phone",this.type="object",this.group="basic",this.order=3,this.title='{{t("Phone")}}',this.sortable=!0,this.default={type:"string",uiSchema:{type:"string","x-component":"Input","x-component-props":{type:"tel"}}},this.availableTypes=["string"],this.validationType="string",this.availableValidationOptions=["min","max","length","pattern"],this.hasDefaultValue=!0,this.properties={...kf,unique:kr},this.filterable={operators:"string"},this.titleUsable=!0}}class kK extends kv{constructor(...e){super(...e),this.name="radioGroup",this.type="object",this.group="choices",this.order=4,this.title='{{t("Radio group")}}',this.sortable=!0,this.default={type:"string",uiSchema:{type:"string","x-component":"Radio.Group"}},this.availableTypes=["string","integer","boolean","integer"],this.hasDefaultValue=!0,this.properties={...kf,"uiSchema.enum":kh},this.filterable={operators:"enumType"},this.titleUsable=!0}}class kU extends kv{constructor(...e){super(...e),this.name="richText",this.type="object",this.group="media",this.order=2,this.title='{{t("Rich Text")}}',this.default={interface:"richText",type:"text",uiSchema:{type:"string","x-component":"RichText"}},this.availableTypes=["text","json","string"],this.hasDefaultValue=!0,this.properties={...kf},this.filterable={operators:"bigField"}}}class kW extends kv{constructor(...e){super(...e),this.name="select",this.type="object",this.group="choices",this.order=2,this.title='{{t("Single select")}}',this.sortable=!0,this.default={type:"string",uiSchema:{type:"string","x-component":"Select",enum:[]}},this.availableTypes=["string","bigInt","boolean"],this.hasDefaultValue=!0,this.properties={...kf,"uiSchema.enum":kh},this.filterable={operators:"enumType"},this.titleUsable=!0}}class kH extends kv{constructor(...e){super(...e),this.name="snowflakeId",this.type="object",this.group="advanced",this.order=0,this.title='{{t("Snowflake ID (53-bit)")}}',this.primaryKeyDescription='{{t("Primary key, distributed uniqueness, time-ordering")}}',this.hidden=!1,this.sortable=!0,this.default={type:"snowflakeId",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,separator:"0.00",step:"1"},"x-validator":"integer"}},this.availableTypes=["snowflakeId"],this.properties={...kf,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:ki,unique:kr}}},this.filterable={operators:"number"},this.description='{{t("A 53-bit Snowflake ID designed to be compatible with JavaScript’s safe integer range, providing both time-ordering and uniqueness.") }}',this.titleUsable=!0}}class kG extends kv{constructor(...e){super(...e),this.name="tableoid",this.type="object",this.group="systemInfo",this.order=0,this.title='{{t("Table OID")}}',this.sortable=!0,this.default={name:"__collection",type:"virtual",uiSchema:{type:"string",title:'{{t("Table OID")}}',"x-component":"CollectionSelect","x-component-props":{isTableOid:!0},"x-read-pretty":!0}},this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":!0,"x-decorator":"FormItem","x-component":"Input"}},this.filterable={operators:"tableoid"}}}class kY extends kv{constructor(...e){super(...e),this.name="textarea",this.type="object",this.group="basic",this.order=2,this.title='{{t("Long text")}}',this.default={interface:"textarea",type:"text",uiSchema:{type:"string","x-component":"Input.TextArea"}},this.availableTypes=["text","json","string"],this.validationType="string",this.availableValidationOptions=["min","max","length","case","pattern"],this.hasDefaultValue=!0,this.titleUsable=!0,this.properties={...kf,trim:{type:"boolean","x-content":'{{t("Automatically remove heading and tailing spaces")}}',"x-decorator":"FormItem","x-component":"Checkbox"}},this.filterable={operators:"string"}}}class kJ extends kv{constructor(...e){super(...e),this.name="time",this.type="object",this.group="datetime",this.order=4,this.title='{{t("Time")}}',this.sortable=!0,this.default={type:"time",uiSchema:{type:"string","x-component":"TimePicker"}},this.availableTypes=["time"],this.hasDefaultValue=!0,this.properties={...kf,...km},this.filterable={operators:"time"},this.titleUsable=!0}}class kX extends kv{constructor(...e){super(...e),this.name="updatedAt",this.type="object",this.group="systemInfo",this.order=2,this.title='{{t("Last updated at")}}',this.sortable=!0,this.default={type:"date",field:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}},this.description='{{t("Store the last update time of each record")}}',this.availableTypes=[],this.properties={...kf,...kp},this.filterable={operators:"datetime"},this.titleUsable=!0}}class kQ extends kv{constructor(...e){super(...e),this.name="updatedBy",this.type="object",this.group="systemInfo",this.order=4,this.title='{{t("Last updated by")}}',this.isAssociation=!0,this.default={type:"belongsTo",target:"users",foreignKey:"updatedById",uiSchema:{type:"object",title:'{{t("Last updated by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}},this.availableTypes=["belongsTo"],this.properties={...kf},this.filterable={nested:!0,children:[]},this.description='{{t("Store the last update user of each record")}}'}}class kZ extends kv{constructor(...e){super(...e),this.name="url",this.type="string",this.group="basic",this.order=5,this.title='{{t("URL")}}',this.default={type:"text",uiSchema:{type:"string","x-component":"Input.URL"}},this.componentOptions=[{label:"URL",value:"Input.URL"},{label:"Preview",value:"Input.Preview"}],this.availableTypes=["string","text"],this.validationType="string",this.availableValidationOptions=["uri","pattern"],this.properties={...kf},this.titleUsable=!0,this.filterable={operators:"string"}}}class k0 extends kv{constructor(...e){super(...e),this.name="uuid",this.type="object",this.group="advanced",this.order=0,this.title='{{t("UUID")}}',this.primaryKeyDescription='{{t("Primary key, unique identifier")}}',this.hidden=!1,this.sortable=!0,this.default={type:"uuid",uiSchema:{type:"string","x-component":"Input","x-validator":"uuid"}},this.availableTypes=["uid","uuid"],this.validationType="string",this.availableValidationOptions=["uuid","pattern"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},autoFill:ks,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:ki,unique:kr}}},this.filterable={operators:"string"},this.titleUsable=!0}}class k1 extends kv{constructor(...e){super(...e),this.name="nanoid",this.type="object",this.group="advanced",this.order=0,this.title='{{t("Nano ID")}}',this.primaryKeyDescription='{{t("Primary key, unique identifier")}}',this.hidden=!1,this.sortable=!0,this.default={type:"nanoid",uiSchema:{type:"string","x-component":"NanoIDInput"}},this.availableTypes=["nanoid"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},customAlphabet:{type:"string",title:'{{t("Alphabet")}}',default:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz","x-decorator":"FormItem","x-component":"Input"},size:{type:"number",title:'{{t("Length")}}',default:21,"x-decorator":"FormItem","x-component":"InputNumber"},autoFill:ks,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:ki,unique:kr}}},this.filterable={operators:"string"},this.titleUsable=!0}}class k2 extends kv{constructor(...e){super(...e),this.name="unixTimestamp",this.type="object",this.group="datetime",this.order=4,this.title='{{t("Unix Timestamp")}}',this.sortable=!0,this.default={type:"unixTimestamp",accuracy:"second",timezone:!0,defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,uiSchema:{type:"number","x-component":"UnixTimestamp","x-component-props":{showTime:!0}}},this.availableTypes=["unixTimestamp"],this.hasDefaultValue=!1,this.validationType="date",this.availableValidationOptions=["timestamp"],this.properties={...kf,...kp,accuracy:{type:"string",title:'{{t("Accuracy")}}',"x-component":"Radio.Group","x-decorator":"FormItem",default:"second",enum:[{value:"millisecond",label:'{{t("Millisecond")}}'},{value:"second",label:'{{t("Second")}}'}]},defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp on update")}}'}},this.filterable={operators:"datetime"},this.titleUsable=!0}}class k8 extends kv{constructor(...e){super(...e),this.name="date",this.type="object",this.group="datetime",this.order=3,this.title='{{t("DateOnly")}}',this.sortable=!0,this.default={type:"dateOnly",uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{dateOnly:!0,showTime:!1}}},this.availableTypes=["dateOnly"],this.hasDefaultValue=!0,this.validationType="date",this.properties={...kf,...kp,"uiSchema.x-component-props.showTime":{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-visible":!1},"uiSchema.x-component-props.timeFormat":{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-visible":!1}},this.filterable={operators:"datetime"},this.titleUsable=!0}}class k6 extends kv{constructor(...e){super(...e),this.name="datetimeNoTz",this.type="object",this.group="datetime",this.order=2,this.title='{{t("Datetime (without time zone)")}}',this.sortable=!0,this.default={type:"datetimeNoTz",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!1,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!1}}},this.availableTypes=["string","datetimeNoTz"],this.hasDefaultValue=!0,this.validationType="date",this.properties={...kf,...kp,defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current server time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp to the current server time on update")}}'},"uiSchema.x-component-props.gmt":{type:"boolean",title:'{{t("GMT")}}',"x-hidden":!0,"x-component":"Checkbox","x-content":'{{t("Use the same time zone (GMT) for all users")}}',"x-decorator":"FormItem",default:!1}},this.filterable={operators:"datetime"},this.titleUsable=!0}}function k3(e){if(null==e?void 0:e.filterTargetKey){if(Array.isArray(e.filterTargetKey)){var t;return null==e||null==(t=e.filterTargetKey)?void 0:t[0]}return null==e?void 0:e.filterTargetKey}return(null==e?void 0:e.getPrimaryKey())||"id"}function k5(e,t){var l,n,o,r,i;let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=e.interface,d=s?(null==t||null==(n=t.getFieldInterfaceConfigure)||null==(l=n.call(t,s,a.collectionInfo))?void 0:l.default)||(null==t||null==(r=t.getFieldInterface)||null==(o=r.call(t,s))?void 0:o.default):void 0,u=(0,_.merge)({},(0,_.cloneDeep)(d||{}),(0,_.cloneDeep)(e)),c=(0,_.merge)({},(0,_.cloneDeep)((null==d?void 0:d.uiSchema)||{}),(0,_.cloneDeep)(e.uiSchema||{}));return void 0!==e.title&&(c.title=e.title),void 0!==e.options&&(c.enum=(0,_.cloneDeep)(e.options)),void 0!==e.component&&(c["x-component"]=e.component),void 0!==e.componentProps&&(c["x-component-props"]=(0,_.merge)({},(0,_.cloneDeep)((null==d||null==(i=d.uiSchema)?void 0:i["x-component-props"])||{}),(0,_.cloneDeep)(e.componentProps))),delete u.title,delete u.options,delete u.component,delete u.componentProps,Object.keys(c).length&&(u.uiSchema=c),u}function k4(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,l=arguments.length>2?arguments[2]:void 0;return e.map(e=>k5(e,t,l))}let k7=e=>{var t,l,n,o,r,i,a,s,d;let{dataSource:u="main",collections:c,syncOnChange:p=!1,children:m}=e,h=(0,Y.n)(),f=(0,P.useRef)(null),g=(0,P.useRef)(null);if(null===f.current){let e=null==(l=h.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,u),r=[];if(e)for(let t of c)null!=(n=e.getCollection)&&n.call(e,t.name)||(null==(o=e.addCollection)||o.call(e,t),r.push(t));f.current=r,g.current=c}else if(p&&g.current!==c){let e=null==(i=h.dataSourceManager)||null==(r=i.getDataSource)?void 0:r.call(i,u);if(e){let t=new Set(c.map(e=>e.name)),l=new Map(f.current.map(e=>[e.name,e]));for(let n of l.keys())t.has(n)||null==(a=e.removeCollection)||a.call(e,n);let n=[];for(let t of c){let o=l.get(t.name);if(o){n.push(o);continue}null!=(s=e.getCollection)&&s.call(e,t.name)||(null==(d=e.addCollection)||d.call(e,t),n.push(t))}f.current=n}g.current=c}return(0,P.useEffect)(()=>{var e;let t=e=>{var t,l,n,o,r;let i=null==(t=e.detail)?void 0:t.dataSourceKey;if(i!==u&&"*"!==i)return;let a=null==(n=h.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u);if(a&&f.current)for(let e of f.current)null!=(o=a.getCollection)&&o.call(a,e.name)||null==(r=a.addCollection)||r.call(a,e)};return null==(e=h.eventBus)||e.addEventListener("dataSource:loaded",t),()=>{var e,l,n,o;null==(e=h.eventBus)||e.removeEventListener("dataSource:loaded",t);let r=null==(n=h.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u),i=f.current??[];if(f.current=null,g.current=null,r)for(let e of i)null==(o=r.removeCollection)||o.call(r,e.name)}},[h,u]),(0,O.jsx)(O.Fragment,{children:m})};var k9=l(50451),Ae=l(46629);l(87744),l(77121),l(71841),l(33639),l(82743),l(20850),l(76455),l(84664),l(60450),l(33994),l(43245),l(25946),l(13771),l(29546),l(62445),l(7058),l(35764),l(6342),l(15178),l(60876),l(16252);let At=/^[A-Za-z0-9_-]*$/,Al=new TextEncoder,An=new TextDecoder("utf-8",{fatal:!0});function Ao(e){let t="";for(let l of e)t+=String.fromCharCode(l);return t}function Ar(e){let t=new Uint8Array(e.length);for(let l=0;l<e.length;l+=1)t[l]=e.charCodeAt(l);return t}function Ai(e){return btoa(Ao(Al.encode(e))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}let Aa={encode:Ai,decode(e){if(At.test(e)&&e.length%4!=1)try{let t=`${e.replace(/-/g,"+").replace(/_/g,"/")}${"=".repeat((4-e.length%4)%4)}`,l=An.decode(Ar(atob(t)));return Ai(l)===e?l:void 0}catch{return}}};function As(e){return(0,Ae.zK)(e,Aa)}function Ad(e){return(0,Ae.gA)(e,Aa)}function Au(e){return(0,Ae.w_)(e,Aa)}var Ac=l(30872),Ap=l.n(Ac),Am=l(88055),Ah=l.n(Am),Af=l(90179),Ag=l.n(Af);let Av=(0,P.createContext)(null);Av.displayName="APIClientContext";let Ay=(0,P.createContext)(null);Ay.displayName="ApplicationContext";let Ax=()=>{var e;let t=(0,P.useContext)(Ay),l=(0,L.useFlowEngine)({throwError:!1});return(null==l||null==(e=l.context)?void 0:e.app)||t||{}};function Ab(){let e=Ax();return(0,P.useContext)(Av)||e.apiClient}var Aw=l(89412),AS=l(14744),AC=l.n(AS),AF=l(63375),Ak=l.n(AF);function AA(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(t=>e.propertyIsEnumerable(t)):[]}function AP(e){return Object.keys(e).concat(AA(e))}let AM=new Map;function Aj(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return AP(t).forEach(n=>{let o=l[n],r=AM.get("deepMerge");"function"==typeof o?r=o:"string"==typeof o&&AM.has(o)&&(r=AM.get(o)),e[n]=r(e[n],t[n])}),e}function AI(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[n,o]=(0,Aw.A)({}),r=Ab();t="function"==typeof e?e:e?async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{resource:l,url:n}=e,o=Ah()(e);l||n?(o.params=o.params||{},Aj(o.params,t)):o=(0,ii.merge)(o,t);let i=await r.request(o);return null==i?void 0:i.data}:async()=>{};let i={...l,onSuccess(){for(var e,t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];null==(e=l.onSuccess)||e.call(l,...n),l.uid&&(r.services[l.uid]=a)}},a=(0,rB.A)(t,i);return(0,P.useMemo)(()=>({...a,state:n,setState:o}),[a,o,n])}function AT(e,t){return Ab().resource(e,t)}AM.set("overwrite",(e,t)=>t),AM.set("andMerge",(e,t)=>{if(e||t)return e?t?{$and:[e,t]}:e:t}),AM.set("orMerge",(e,t)=>{if(e||t)return e?t?{$or:[e,t]}:e:t}),AM.set("deepMerge",(e,t)=>(0,ed.isPlainObject)(e)&&(0,ed.isPlainObject)(t)?AC()(e,t,{arrayMerge:(e,t)=>t}):t),AM.set("merge",(e,t)=>(0,ed.isPlainObject)(e)&&(0,ed.isPlainObject)(t)?Object.assign(e,t):t),AM.set("union",(e,t)=>("string"==typeof e&&(e=e.split(",")),"string"==typeof t&&(t=t.split(",")),Ak()((e||[]).concat(t||[])))),AM.set("intersect",(e,t)=>("string"==typeof e&&(e=e.split(",")),"string"==typeof t&&(t=t.split(",")),Array.isArray(e)&&0!==e.length)?Array.isArray(t)&&0!==t.length?e.filter(e=>t.includes(e)):e||[]:t||[]);var AR=l(76511);function AE(e,t,l){var n;(null==t?void 0:t.length)&&l[e]({message:null==(n=t.map)?void 0:n.call(t,(e,t)=>P.createElement("div",{key:`${t}_${e.message}`},"string"==typeof e?e:e.message))})}let AN=(e,t)=>{var l;let n=new FileReader;n.readAsText(null==e||null==(l=e.response)?void 0:l.data,"utf-8"),n.onload=function(){AE("error",JSON.parse(n.result).errors,t)}};function AD(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 A$=()=>AD(-(new Date().getTimezoneOffset()/60)),AB=new Map;class AO extends A.APIClient{get notification(){var e,t;return(null==(t=this.app)||null==(e=t.context)?void 0:e.notification)||AR.Ay}cloneInstance(){let e=new AO(this.options);e.options=this.options,e.services=this.services,e.storage=this.storage,e.app=this.app,e.auth=this.auth,e.storagePrefix=this.storagePrefix;let t=[];for(let n of this.axios.interceptors.response.handlers){var l;(null==n||null==(l=n.rejected)?void 0:l._name)==="handleNotificationError"?t.push({...n,rejected:e.handleNotificationError.bind(e)}):t.push(n)}return e.axios.interceptors.response.handlers=t,e}getHostname(){var e,t;try{return new URL("/api/").hostname}catch(e){}return null==(t=window)||null==(e=t.location)?void 0:e.hostname}getHeaders(){var e;let t=super.getHeaders(),l=null==(e=this.app)?void 0:e.getName();return l&&(t["X-App"]=l),t["X-Timezone"]=A$(),t["X-Hostname"]=this.getHostname(),t}service(e){return this.services[e]}interceptors(){this.axios.interceptors.request.use(e=>{e.headers["X-With-ACL-Meta"]=!0;let t=this.getHeaders();return Object.keys(t).forEach(l=>{(0,A.hasHeaderValue)(e.headers,l)||(e.headers[l]=t[l])}),e}),super.interceptors(),this.useNotificationMiddleware(),this.axios.interceptors.response.use(e=>e,e=>{let t=this.toErrMessages(e);throw t.find(e=>"ROLE_NOT_FOUND_ERR"===e.code)&&(this.auth.setRole(null),window.location.reload()),t.find(e=>"TOKEN_INVALID"===e.code||"USER_LOCKED"===e.code)&&this.auth.setToken(null),t.find(e=>"ROLE_NOT_FOUND_FOR_USER"===e.code)&&(this.auth.setRole(null),window.location.reload()),e})}toErrMessages(e){var t,l,n,o,r,i,a,s,d,u,c;if("string"==typeof(null==e||null==(t=e.response)?void 0:t.data)){let t=document.createElement("div");t.innerHTML=null==e||null==(d=e.response)?void 0:d.data;let l=t.textContent||t.innerText;return l.includes("Error occurred while trying")||l.includes("502 Bad Gateway")?[{code:"APP_WARNING",message:l="The application may be starting up. Please try again later."}]:[{message:l}]}return(null==e||null==(n=e.response)||null==(l=n.data)?void 0:l.error)?[null==e||null==(c=e.response)||null==(u=c.data)?void 0:u.error]:(null==e||null==(r=e.response)||null==(o=r.data)?void 0:o.errors)||(null==e||null==(a=e.response)||null==(i=a.data)?void 0:i.messages)||(null==e||null==(s=e.response)?void 0:s.error)||[{message:e.message||"Server error"}]}async handleNotificationError(e){var t,l,n,o,r,i,a,s,d,u;if(this.silence)throw e;let c=null==(t=e.config)?void 0:t.skipNotify;if(c&&("function"==typeof c&&c(e)||!0===c))throw e;let p=null==e||null==(n=e.response)||null==(l=n.data)?void 0:l.redirectTo;if(p)return window.location.href=p;if((null==e||null==(r=e.response)||null==(o=r.data)?void 0:o.type)==="application/json")AN(e,this.notification);else{AB.size>10&&AB.clear();let t=!!(null==e||null==(s=e.response)||null==(a=s.data)||null==(i=a.error)?void 0:i.maintaining);if(this.app.maintaining!==t&&(this.app.maintaining=t),this.app.maintaining)throw this.app.error=null==e||null==(u=e.response)||null==(d=u.data)?void 0:d.error,e;this.app.error&&(this.app.error=null);let l=this.toErrMessages(e);if(0===(l=l.filter(e=>{let t=AB.get(e.message);return!(t&&new Date().getTime()-t<500)&&(AB.set(e.message,new Date().getTime()),!0)})).length)throw e;AE("error",l,this.notification)}throw e}useNotificationMiddleware(){let e=this.handleNotificationError.bind(this);e._name="handleNotificationError",this.axios.interceptors.response.use(e=>{var t,l;return(null==(l=e.data)||null==(t=l.messages)?void 0:t.length)&&AE("success",e.data.messages.filter(e=>{let t=AB.get("string"==typeof e?e:e.message);return!(t&&new Date().getTime()-t<500)&&(AB.set(e.message,new Date().getTime()),!0)}),this.notification),e},e)}silent(){let e=this.cloneInstance();return e.silence=!0,e}constructor(...e){super(...e),this.services={},this.silence=!1}}let Aq=e=>{let{apiClient:t,children:l}=e;return(0,O.jsx)(Av.Provider,{value:t,children:l})};class AL{get fields(){return this.options.fields||[]}get app(){return this.collectionManager.app}get dataSource(){return this.options.dataSource}get sourceKey(){return this.options.sourceKey}get name(){return this.options.name}get key(){return this.options.key}get title(){return this.options.title}get inherit(){return this.options.inherit}get hidden(){return this.options.hidden}get description(){return this.options.description}get duplicator(){return this.options.duplicator}get category(){return this.options.category}get targetKey(){return this.options.targetKey}get model(){return this.options.model}get createdBy(){return this.options.createdBy}get updatedBy(){return this.options.updatedBy}get logging(){return this.options.logging}get from(){return this.options.from}get rawTitle(){return this.options.rawTitle}getPrimaryKey(){if(this.primaryKey)return this.primaryKey;if(this.options.targetKey)return this.options.targetKey;let e=this.getFields({primaryKey:!0})[0];return this.primaryKey=null==e?void 0:e.name,this.primaryKey}getFilterTargetKey(){return this.filterTargetKey||this.getPrimaryKey()||"id"}get inherits(){return this.options.inherits||[]}get titleField(){return this.hasField(this.options.titleField)?this.options.titleField:this.getPrimaryKey()}get sources(){return this.options.sources||[]}get template(){return this.options.template}get tableName(){return this.options.tableName}get viewName(){return this.options.viewName}get writableView(){return this.options.writableView}get filterTargetKey(){return this.options.filterTargetKey}get sortable(){return this.options.sortable}get autoGenId(){return this.options.autoGenId}get magicAttribute(){return this.options.magicAttribute}get tree(){return this.options.tree}get isThrough(){return this.options.isThrough}get autoCreate(){return this.options.autoCreate}get resource(){return this.options.resource}setOption(e,t){return this.options[e]=t,this}getOptions(){return this.options}getOption(e){return this.options[e]}getFields(e){return e?(0,id.filter)(this.fields,e):this.fields}getAllFields(e){return this.getFields(e)}getFieldsMap(){return this.fieldsMap||(this.fieldsMap=this.getFields().reduce((e,t)=>(e[t.name]=t,e),{})),this.fieldsMap}getFieldByAssociationName(e){let t=this.getFieldsMap(),[l,...n]=String(e).split("."),o=t[l];if(!o)return;let r=null==o?void 0:o.target;if(!r)return;let i=this.collectionManager.getCollection(r);if(i)return i.getField(n.join("."))}getField(e){if(!e)return;let t=this.getFieldsMap();if(String(e).split(".").length>1){let t=this.getFieldByAssociationName(e);return t||("string"==typeof e&&e.startsWith(`${this.name}.`)?(e=e.replace(`${this.name}.`,""),this.getField(e)):void 0)}return t[e]}hasField(e){return!!this.getField(e)}isTitleField(e){var t;return null==(t=this.app.dataSourceManager.collectionFieldInterfaceManager.getFieldInterface(e.interface))?void 0:t.titleUsable}isInherited(){return this.inherits.length>0}constructor(e,t){this.options=e,this.collectionManager=t}}let{ConfigContext:A_}=et.Ay,AV=()=>(0,P.useContext)(A_),Az=(e,t)=>{let{getPrefixCls:l}=(0,P.useContext)(et.Ay.ConfigContext)||{};if("ConfigContext"in et.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??""}`}},AK=()=>ee.A.useToken(),AU=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Loading...",t=arguments.length>1?arguments[1]:void 0,l=null,n=setTimeout(()=>{l=Si.Ay.loading(e)},100);try{return await t()}finally{null==l||l(),clearTimeout(n)}},AW={...lW},{version:AH,render:AG,unmountComponentAtNode:AY}=AW;try{Number((AH||"").split(".")[0])>=18&&AW.createRoot&&(n=AW.createRoot)}catch(e){}function AJ(e){let{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:t}=AW;t&&"object"==typeof t&&(t.usingClientEntryPoint=e)}let AX="__antd_mobile_root__";function AQ(e,t){AG(e,t)}function AZ(e,t){AJ(!0);let l=t[AX]||n(t);AJ(!1),l.render(e),t[AX]=l}function A0(e,t){n?AZ(e,t):AQ(e,t)}function A1(e){return AY(e)}async function A2(e){return Promise.resolve().then(()=>{var t;null==(t=e[AX])||t.unmount(),delete e[AX]})}function A8(e){return n?A2(e):A1(e)}let A6=(0,q.observable)(new Map),A3=e=>{let t=e=>(e.id&&!A6.has(e.id)&&A6.set(e.id,null),(0,O.jsxs)(P.Fragment,{children:[e.children,(0,O.jsx)(np.Observer,{children:()=>{if(!e.id)return(0,O.jsx)(O.Fragment,{});let t=A6.get(e.id);return t?(0,lU.createPortal)(t,document.body):(0,O.jsx)(O.Fragment,{})}})]}));return t.defaultProps={id:e},t};function A5(e,t){return{render:function(l){A6.has(t)?A6.set(t,null==l?void 0:l()):e&&A0((0,O.jsx)(P.Fragment,{children:null==l?void 0:l()}),e)},unmount:function(){if(A6.has(t)&&A6.set(t,null),e&&A8(e)&&e.parentNode){var l;null==(l=e.parentNode)||l.removeChild(e)}}}}let A4=(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"}}}}},A7=(e,t)=>l=>{let{theme:n,token:o,hashId:r}=AK(),{getPrefixCls:i,iconPrefixCls:a}=AV(),s=Az(e),d=i(),u=(0,r9.useStyleRegister)({theme:n,token:o,hashId:r,path:["formily-antd",e,s,a]},()=>{let e=`.${s}`,n=t((0,ii.merge)(o,{componentCls:e,prefixCls:s,iconCls:`.${a}`,antCls:`.${d}`}),l,{hashId:r,prefixCls:s,rootPrefixCls:d,iconPrefixCls:a});return[A4(o,s),n]});return{wrapSSR:(0,P.useMemo)(()=>u,[n,o,r,s,a,d,l]),hashId:r,componentCls:s,rootPrefixCls:d}};var A9=l(38221),Pe=l.n(A9);let Pt=(0,P.createContext)(null);Pt.displayName="DataSourceManagerContext";let Pl=e=>{let{children:t,dataSourceManager:l}=e;return(0,O.jsx)(Pt.Provider,{value:l,children:t})};function Pn(){return(0,P.useContext)(Pt)}function Po(){let e=Pn();return{getAllCollectionsInheritChain:(0,P.useCallback)((t,l)=>{var n,o,r;return null==e||null==(r=e.getDataSource(l))||null==(o=r.collectionManager)||null==(n=o.getCollection(t))?void 0:n.getInheritChain()},[e])}}var Pr=l(68870);let Pi=(0,P.createContext)(null);Pi.displayName="DataSourceContext";let Pa=e=>{let{children:t,dataSource:l}=e,n=Pn(),{t:o}=(0,eX.B)(),{refresh:r}=Rq(),[i,a]=P.useState(0),s=null==n?void 0:n.getDataSource(l);return s?"loading-failed"===s.status?(0,O.jsx)(eaV,{type:"Data Source",name:s.displayName||l,message:s.errorMessage||"loading failed"}):"loading"===s.status||"reloading"===s.status?(0,O.jsx)(eom,{children:(0,O.jsx)(eY.Ay,{icon:(0,O.jsx)(Pr.A,{}),title:`${s.displayName||l} ${o("data source")} ${o("loading")}...`,extra:(0,O.jsx)(eJ.Ay,{type:"primary",onClick:()=>s.reload().then(()=>{r(),a(Math.random())}),children:o("Refresh")})})}):(0,O.jsx)(Pi.Provider,{value:s,children:t}):(0,O.jsx)(eaV,{type:"Data Source",name:l})};function Ps(){return(0,P.useContext)(Pi)}function Pd(){let e=(0,P.useContext)(Pi);return null==e?void 0:e.key}let Pu=(0,P.createContext)(null);Pu.displayName="ExtendCollectionsContext";let Pc=e=>{let{children:t,collections:l}=e,n=Pp(),o=(0,P.useMemo)(()=>n?[...n,...l]:l,[n,l]),r=Pd();return(0,O.jsx)(Pu.Provider,{value:o,children:(0,O.jsx)(Pf,{dataSource:r,children:t})})};function Pp(){return(0,P.useContext)(Pu)}let Pm=(0,P.createContext)(null);Pm.displayName="CollectionManagerContext";let Ph=e=>{let{instance:t,children:l}=e,n=Ps(),o=Pp(),r=(0,P.useMemo)(()=>t||(null==n?void 0:n.collectionManager),[t,n]),[i,a]=P.useState(Math.random());(0,P.useEffect)(()=>{r.dataSource.addReloadCallback(()=>{a(Math.random())})},[r]);let s=(0,P.useMemo)(()=>{let e=r;return(null==o?void 0:o.length)?e.clone(o):e},[r,o,i]);return(0,O.jsx)(Pm.Provider,{value:s,children:l})},Pf=e=>{let{instance:t,dataSource:l,children:n}=e;return(0,O.jsx)(Pa,{dataSource:l,children:(0,O.jsx)(Ph,{instance:t,children:n})})};function Pg(){return(0,P.useContext)(Pm)}let Pv=e=>{let t=Pg();return(0,P.useMemo)(()=>t.getCollections(e),[t,e])},Py=(0,P.createContext)({});Py.displayName="SchemaComponentContext.Provider";let Px=()=>(0,P.useContext)(np.SchemaOptionsContext)||{},Pb=(0,P.memo)(e=>{let{children:t}=e,l=Px(),n=(0,P.useMemo)(()=>({...l.components,...e.components}),[l.components,e.components]),o=(0,P.useMemo)(()=>({...l.scope,...e.scope}),[l.scope,e.scope]),r=(0,P.useMemo)(()=>({scope:o,components:n}),[o,n]);return(0,O.jsx)(np.SchemaOptionsContext.Provider,{value:r,children:(0,O.jsx)(np.SchemaComponentsContext.Provider,{value:n,children:(0,O.jsx)(np.ExpressionScope,{value:o,children:t})})})});function Pw(e){return np.Schema.isSchemaInstance(e)?e:new np.Schema((null==e?void 0:e.name)?{type:"object",properties:{[e.name]:e},name:`p_${e.name}`}:e)}Pb.displayName="SchemaComponentOptions";let PS=e=>(0,P.useMemo)(()=>Pw(e),[]),PC=(0,P.createContext)({onChange:iu().noop}),PF=(0,P.memo)(e=>{let{components:t,scope:l,schema:n,distributed:o,onChange:r,parentSchema:i,...a}=e,s=(0,P.useContext)(Py),d=(0,P.useMemo)(()=>Pw(n),[n]),u=(0,P.useMemo)(()=>({...s,distributed:!1!=s.distributed&&o,refresh:s.refresh||iu().noop}),[s,o]),{onChange:c}=(0,P.useContext)(PC),p=(0,P.useMemo)(()=>({onChange:()=>{null==r||r(d),null==c||c()}}),[r,c,d]);return(0,O.jsx)(PC.Provider,{value:p,children:(0,O.jsx)(Py.Provider,{value:u,children:(0,O.jsx)(Pb,{inherit:!0,components:t,scope:l,children:(0,O.jsx)(P1,{...a,schema:d,isUseFormilyField:!0,parentSchema:i})})})})});PF.displayName="RecursionSchemaComponent";let Pk=(0,P.memo)(e=>{let{schema:t,parentSchema:l,...n}=e,o=PS(t);return(0,O.jsx)(PF,{...n,schema:o,parentSchema:l})});Pk.displayName="MemoizedSchemaComponent";let PA=(0,P.memo)(e=>{let{memoized:t,...l}=e;return t?(0,O.jsx)(Pk,{...l}):(0,O.jsx)(PF,{...l})});PA.displayName="SchemaComponent";let PP=Object.freeze({}),PM={},Pj=e=>/{{.*?}}/g.test(e),PI=function(){let{noCache:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{noCache:!1},t=(0,P.useContext)(np.SchemaOptionsContext),l=(0,P.useContext)(np.SchemaExpressionScopeContext);return(n,o)=>{let r,i=!1;if("string"==typeof n&&n.startsWith("{{")&&(i=!0,r=n),n&&"object"==typeof n&&!(0,P.isValidElement)(n)){try{r=JSON.stringify(n)}catch(e){return console.warn("Failed to stringify:",e),n}if(PM[r])return PM[r];i=Pj(r)}if(Array.isArray(n)){try{r=JSON.stringify(n)}catch(e){return console.warn("Failed to stringify:",e),n}if(PM[r])return PM[r];i=Pj(r)}if(i){let i={...null==t?void 0:t.scope,...l,...o};if(!r)return np.Schema.compile(n,i);try{if(e)return np.Schema.compile(n,i);return PM[r]=PM[r]||np.Schema.compile(n,i),PM[r]}catch(e){return console.log("useCompile error",n,e),np.Schema.compile(n,i)}}return n}},PT=(e,t)=>{if((e||t)&&!(0,ii.isFn)(e))return(0,O.jsxs)(P.Fragment,{children:[e,t]})},PR=e=>e&&("object"==typeof e||"function"==typeof e),PE=(e,t,l)=>(0,ii.isFn)(e)?e(t,l):e,PN=e=>{let t,l=(0,P.useContext)(np.SchemaComponentsContext),n=e.field,o=PT(PE(e.children,n,n.form),n.content??n.componentProps.children);if("visible"!==n.display)return null;let r=e=>PR(e)?e:ii.FormPath.getIn(l,e)??e;return t=n.componentType?P.createElement(r(n.componentType),{...n.componentProps,value:n.value},o):o,n.decoratorType?P.createElement(r(n.decoratorType),n.decoratorProps,t):(0,O.jsx)(P.Fragment,{children:t})};PN.displayName="NocoBaseReactiveInternal";let PD=PN;function P$(e){return new PB(e)}PD.displayName="NocoBaseReactiveField";class PB{initialize(){var e,t,l,n,o,r,i,a,s,d,u,c,p,m,h,f,g,v,y,x;let b=this.props.compile;this.pattern="readPretty",this.readPretty=!0,this.initialized=!0,this.loading=!1,this.validating=!1,this.submitting=!1,this.selfModified=!1,this.active=!1,this.visited=!0,this.mounted=!0,this.unmounted=!1,this.inputValues=[],this.inputValue=null,this.feedbacks=[],this.title=b(this.props.title||(null==(e=this.props.schema)?void 0:e.title)),this.description=b(this.props.description||(null==(t=this.props.schema)?void 0:t.description)),this.display="visible",this.editable=this.props.editable||(null==(l=this.props.schema)?void 0:l["x-editable"]),this.disabled=this.props.disabled||(null==(n=this.props.schema)?void 0:n["x-disabled"]),this.readOnly=this.props.readOnly||(null==(o=this.props.schema)?void 0:o["x-read-only"]),this.visible=this.props.visible||(null==(r=this.props.schema)?void 0:r["x-visible"]),this.hidden=this.props.hidden||(null==(i=this.props.schema)?void 0:i["x-hidden"]),this.dataSource=b(this.props.dataSource||(null==(a=this.props.schema)?void 0:a.enum)),this.validator=this.props.validator,this.required=this.props.required||!!(null==(s=this.props.schema)?void 0:s.required),this.content=b(this.props.content||(null==(d=this.props.schema)?void 0:d["x-content"])),this.initialValue=b(this.props.initialValue||(null==(u=this.props.schema)?void 0:u.default)),this.value=b(this.props.value),this.data=this.props.data||(null==(c=this.props.schema)?void 0:c["x-data"]),this.decorator=this.props.decorator?(0,ii.toArr)(this.props.decorator):[null==(p=this.props.schema)?void 0:p["x-decorator"],null==(m=this.props.schema)?void 0:m["x-decorator-props"]],this.component=this.props.component?(0,ii.toArr)(this.props.component):[null==(h=this.props.schema)?void 0:h["x-component"],null==(f=this.props.schema)?void 0:f["x-component-props"]],this.decoratorProps=(null==(g=this.props.schema)?void 0:g["x-decorator-props"])||{},this.componentProps=(null==(v=this.props.schema)?void 0:v["x-component-props"])||{},this.decoratorType=null==(y=this.props.schema)?void 0:y["x-decorator"],this.componentType=null==(x=this.props.schema)?void 0:x["x-component"],this.path={},this.form={},this.address={concat:iu().noop}}constructor(e){this.props=e,this.initialize()}}let PO=e=>{let t=PI(),l=(0,np.useFieldSchema)(),n=(0,P.useMemo)(()=>P$({...e,compile:t}),[]);return Object.assign(n.componentProps,l["x-component-props"]),n.value=e.value,(0,O.jsx)(np.FieldContext.Provider,{value:n,children:(0,O.jsx)(PD,{field:n,children:e.children})})},Pq=P.createContext({}),PL=P.createContext(iu().noop),P_=e=>{let{children:t,refresh:l}=e,n=PU(),o=(0,P.useCallback)(e=>{l(),(null==e?void 0:e.refreshParentSchema)&&(null==n||n())},[n,l]);return(0,O.jsx)(PL.Provider,{value:o,children:t})},PV=P.createContext(iu().noop),Pz=e=>{let{children:t,refresh:l}=e;return(0,O.jsx)(PV.Provider,{value:l,children:t})},PK=()=>P.useContext(PV),PU=()=>P.useContext(PL),PW=()=>P.useContext(Pq)||{},PH=e=>{let{children:t,fieldSchema:l}=e,n=eaQ(),o=Pg(),r=null==l?void 0:l.name,i=(0,P.useMemo)(()=>{var e;if(!n)return null;let t=null==l||null==(e=l["x-component-props"])?void 0:e.field;return o.getCollectionField(null==l?void 0:l["x-collection-field"])||t||n.getField((null==t?void 0:t.name)||r)},[n,o,l,r]);return(0,O.jsx)(Pq.Provider,{value:i,children:t})},PG=iu().memoize((e,t)=>e.toFieldProps({scope:t})),PY=e=>PG(e,(0,np.useExpressionScope)()),PJ=e=>{let t=(0,np.useField)();if(e.onlyRenderProperties){var l;return e.basePath||(null==t||null==(l=t.address)?void 0:l.concat(e.name))}return e.basePath||(null==t?void 0:t.address)},PX=(e,t,l)=>{let n=e.toJSON();if(l){if(!n.properties)return e;let l=Object.keys(n.properties)[0],o=Object.values(n.properties)[0];return n.properties[l]=(0,ii.merge)(iu().omit(t,"type","x-read-pretty"),o),new np.Schema(n)}return new np.Schema((0,ii.merge)(iu().omit(t,"type","x-read-pretty"),n))},PQ=e=>{let{schema:t,field:l,basePath:n,mapProperties:o,filterProperties:r,propsRecursion:i,values:a,isUseFormilyField:s}=e,d=np.Schema.getOrderProperties(t);return d.length?(0,O.jsx)(P.Fragment,{children:d.map((e,t)=>{let{schema:d,key:u}=e,c=(null==l?void 0:l.address)||n,p=d;if((0,ii.isFn)(o)){let e=o(d,u);e&&(p=e)}if((0,ii.isFn)(r)&&!1===r(p,u))return null;let m=(0,ii.isBool)(i)&&i?(0,O.jsx)(P1,{propsRecursion:!0,filterProperties:r,mapProperties:o,schema:p,name:u,basePath:c,values:iu().get(a,u),isUseFormilyField:s}):(0,O.jsx)(P1,{schema:p,name:u,basePath:c,values:iu().get(a,u),isUseFormilyField:s});return"CollectionField"===p["x-component"]?(0,O.jsx)(PZ.Provider,{value:!0,children:(0,O.jsx)(PH,{fieldSchema:p,children:m})},`${t}-${u}`):(0,O.jsx)(PZ.Provider,{value:!1,children:(0,O.jsx)(Pq.Provider,{value:PP,children:m})},`${t}-${u}`)})}):null},PZ=P.createContext(!1),P0=()=>P.useContext(PZ),P1=P.memo(e=>{let{schema:t,name:l,onlyRenderProperties:n,onlyRenderSelf:o,mapProperties:r,filterProperties:i,propsRecursion:a,values:s,isUseFormilyField:d=!0,uiSchema:u,parentSchema:c}=e,p=PJ(e),m=(0,P.useRef)(null),h=(0,P.useMemo)(()=>(m.current=null,new np.Schema(t)),[t]),{uiSchema:f,defaultValue:g}=PW(),v=(0,CK.A)(),{onChange:y}=(0,P.useContext)(PC),x=m.current||h;if(!x.parent&&c){var b,w;x.parent=c,(null==(w=x.parent)||null==(b=w.properties)?void 0:b[x.name])||!x.name||iu().set(x.parent,`properties.${x.name}`,x)}let S=(0,P.useCallback)(()=>{let e=x.parent;m.current=new np.Schema(x.toJSON(),e),(null==e?void 0:e.properties)&&Object.keys(e.properties).forEach(t=>{t===x.name&&(e.properties[t]=m.current)}),v(),null==y||y()},[x,y,v]),C=(0,P.useMemo)(()=>u?PX(x,u,n):f?(f.default=g,PX(x,f,n)):x,[f,g,x,n,u]),F=PY(C),k=e=>{if(!o)return PQ({schema:x,field:e,basePath:p,mapProperties:r,filterProperties:i,propsRecursion:a,values:s,isUseFormilyField:d})},A=()=>(0,ii.isValid)(l)?"object"===C.type?n?k():(0,O.jsx)(np.ObjectField,{...F,name:l,basePath:p,children:k}):"array"===C.type?(0,O.jsx)(np.ArrayField,{...F,name:l,basePath:p}):"void"===C.type?n?k():(0,O.jsx)(np.VoidField,{...F,name:l,basePath:p,children:k}):d?(0,O.jsx)(np.Field,{...F,name:l,basePath:p}):(0,O.jsx)(PO,{name:l,value:s,initialValue:s,basePath:p,schema:C}):k();return x?(0,O.jsx)(np.SchemaContext.Provider,{value:x,children:(0,O.jsx)(P_,{refresh:S,children:A()})}):(0,O.jsx)(P.Fragment,{})});P1.displayName="NocoBaseRecursionField";var P2=l(58156),P8=l.n(P2),P6=l(63560),P3=l.n(P6);let P5=Symbol("LAZY_COMPONENT_KEY"),P4=new Map;function P7(e){for(var t=arguments.length,l=Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];if(0===l.length){let t=(0,P.lazy)(()=>e().then(e=>{let t=e.default;return l[P5]=t,{default:t}})),l=e=>(0,O.jsx)(P.Suspense,{fallback:(0,O.jsx)(nT.A,{}),children:(0,O.jsx)(t,{...e})});return l}return l.reduce((t,l)=>{let n=(0,P.lazy)(()=>e().then(e=>{let n=(0,id.get)(e,l);return t[l][P5]=n,{default:n}}));return t[l]=e=>(0,O.jsx)(P.Suspense,{fallback:(0,O.jsx)(nT.A,{}),children:(0,O.jsx)(n,{...e})}),t},{})}function P9(e,t){let l="function"==typeof t?t:e=>e[t],n=e.toString(),o=P4.get(n);if(null==o?void 0:o.error)throw o.error;if(null==o?void 0:o.module)return l(o.module);if(!(null==o?void 0:o.promise)){let t=o||{};throw t.promise=e().then(e=>(t.module=e,e)).catch(e=>{throw t.error=e,e}),P4.set(n,t),t.promise}throw o.promise}function Me(e,t){if(e)return e["x-app-version"]||(e["x-app-version"]=t),Object.keys(e.properties||{}).forEach(l=>{var n;Me(null==(n=e.properties)?void 0:n[l],t)}),e}var Mt="2.2.7";function Ml(e){return new Ms(e)}let Mn=e=>{e&&(e["x-uid"]||(e["x-uid"]=(0,ii.uid)()),Object.keys(e.properties||{}).forEach(t=>{Mn(e.properties[t])}))},Mo=e=>e,Mr=(e,t)=>{if(e&&t){for(let l in t)if(Object.prototype.hasOwnProperty.call(t,l)&&t[l]!==(null==e?void 0:e[l]))return!1;return!0}},Mi=(e,t)=>{if(e["x-uid"]&&e["x-uid"]===t["x-uid"])return[null,e.toJSON()];let l=e.toJSON(),n={...l,properties:{}},o=null,r=(e,l)=>{Object.keys(e||{}).forEach(n=>{let i=e[n];if(i["x-uid"]===t["x-uid"]){o=e[n];return}l.properties[n]={...i,properties:{}},r(null==i?void 0:i.properties,l.properties[n])})};return r(l.properties,n),[n,o]},Ma=e=>e;class Ms{get model(){return this.options.model}get query(){return this.options.query}loadAPIClientEvents(){let{api:e,t=Ma}=this.options;if(!e)return;let l=e=>{if(!e)return[];let t=Object.values(e.properties).length,l=[];return(e.mapProperties(e=>{e["x-component-props"]=e["x-component-props"]||{},e["x-component-props"].width=100/t,e["x-uid"]&&l.push({"x-uid":e["x-uid"],"x-component-props":e["x-component-props"]})}),e["x-uid"]&&l.length)?l:[]};this.on("insertAdjacent",async n=>{var o;let{onSuccess:r,current:i,position:a,schema:s,wrap:d,wrapped:u,removed:c}=n,p=[];if((null==u?void 0:u["x-component"])==="Grid.Col"&&(p=p.concat(l(u.parent))),(null==c?void 0:c["x-component"])==="Grid.Col"&&(p=p.concat(l(c.parent))),this.refresh(),!i["x-uid"])return;let m=await e.request({url:`/uiSchemas:insertAdjacent/${i["x-uid"]}?position=${a}`,method:"post",data:{schema:Me(s,this.appVersion),wrap:d}});p.length&&await e.request({url:"/uiSchemas:batchPatch",method:"post",data:p}),(null==c?void 0:c["x-uid"])&&await e.request({url:`/uiSchemas:remove/${c["x-uid"]}`,method:"post"}),null==r||r(null==m||null==(o=m.data)?void 0:o.data),Si.Ay.success(t("Saved successfully"),.2)}),this.on("patch",async l=>{let{schema:n}=l;this.refresh(),(null==n?void 0:n["x-uid"])&&(await e.request({url:"/uiSchemas:patch",method:"post",data:{...n}}),Si.Ay.success(t("Saved successfully"),.2))}),this.on("initializeActionContext",async t=>{let{schema:l}=t;(null==l?void 0:l["x-uid"])&&await e.request({url:"/uiSchemas:initializeActionContext",method:"post",data:{...l}})}),this.on("batchPatch",async l=>{let{schemas:n}=l;this.refresh(),await e.request({url:"/uiSchemas:batchPatch",method:"post",data:n}),Si.Ay.success(t("Saved successfully"),.2)}),this.on("remove",async n=>{let{removed:o}=n,r=[];(null==o?void 0:o["x-component"])==="Grid.Col"&&(r=l(o.parent)),this.refresh(),(null==o?void 0:o["x-uid"])&&(await e.request({url:`/uiSchemas:remove/${o["x-uid"]}`,method:"post"}),r.length&&await e.request({url:"/uiSchemas:batchPatch",method:"post",data:r}),Si.Ay.success(t("Saved successfully"),.2))})}prepareProperty(e){e.type||(e.type="void"),e.name||(e.name=(0,ii.uid)()),this.current["x-uid"]&&Mn(e)}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}async emit(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.events[e])return;let[o,...r]=l;return Promise.all(this.events[e].map(e=>e.bind(this)({current:this.current,...o},...r)))}parentsIn(e){if(!e||!np.Schema.isSchemaInstance(e))return!1;let t=this.current;for(;null==t?void 0:t.parent;){if(t.parent===e)return!0;t=t.parent}return!1}refresh(e){let{refresh:t}=this.options;return null==t?void 0:t(e)}deepMerge(e){let t={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},l={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(e).forEach(n=>{t[n]?(this.current[n]=e[n],this.updateModel(t[n],e[n])):l[n]?Object.keys(e[n]).forEach(t=>{P3()(this.current,[n,t],e[n][t]),this.updateModel([l[n],t],e[n][t])}):this.current[n]=e[n]}),this.emit("patch",{schema:e})}getSchemaAttribute(e,t){return P8()(this.current,e,t)}shallowMerge(e){let t={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(e).forEach(l=>{this.current[l]=e[l],t[l]&&this.updateModel(t[l],e[l])}),this.emit("patch",{schema:e})}updateModel(e,t){let l=l=>{P3()(l,e,t)};this.model&&l(this.model),this.query&&this.query.take(l)}insertAdjacent(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};switch(e){case"beforeBegin":return this.insertBeforeBegin(t,l);case"afterBegin":return this.insertAfterBegin(t,l);case"beforeEnd":return this.insertBeforeEnd(t,l);case"afterEnd":return this.insertAfterEnd(t,l)}}recursiveRemoveIfNoChildren(e,t){let l;if(!e)return;let n=e,o=null==t?void 0:t.breakRemoveOn;for(;n;){if("function"==typeof o){if(o(n))break}else if(Mr(n,o))break;if(Object.keys(n.properties||{}).length>0)break;n.parent&&(l=n.parent.removeProperty(n.name)),n=n.parent}return l}remove(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{breakRemoveOn:l,removeParentsIfNoChildren:n}=t,o=e||this.current,r=o.parent.removeProperty(o.name);if(n){let e=this.recursiveRemoveIfNoChildren(o.parent,{breakRemoveOn:l});e&&(r=e)}return this.emit("remove",{removed:r})}removeWithoutEmit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{breakRemoveOn:l,removeParentsIfNoChildren:n}=t,o=e||this.current,r=o.parent.removeProperty(o.name);if(n){let e=this.recursiveRemoveIfNoChildren(o.parent,{breakRemoveOn:l});e&&(r=e)}return r}insertBeforeBeginOrAfterEnd(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!np.Schema.isSchemaInstance(this.current)||!np.Schema.isSchemaInstance(e)||this.current.parent!==e.parent)return;let l=0,n=0;return this.current.parent.mapProperties((t,o,r)=>{this.current.name===o&&(n=r),e.name===o&&(l=r)}),l>n?this.insertBeforeBegin(e,t):this.insertAfterEnd(e,t)}insertBeforeBegin(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!np.Schema.isSchemaInstance(this.current))return;let l={onSuccess:t.onSuccess},{wrap:n=Mo,breakRemoveOn:o,removeParentsIfNoChildren:r}=t;if(np.Schema.isSchemaInstance(e)){if(this.parentsIn(e))return void this.emit("error",{code:"parent_is_not_allowed",schema:e});e.parent.removeProperty(e.name),r&&(l.removed=this.recursiveRemoveIfNoChildren(e.parent,{breakRemoveOn:o}))}else e&&(e=Ah()(e));let i={},a=!1,s=0,d=0;this.current.parent.mapProperties((e,t)=>{t===this.current.name&&(d=s,a=!0,++s),e["x-index"]=s,++s,a&&(i[t]=e,this.current.parent.removeProperty(t))}),this.prepareProperty(e);let u=n(e),c=this.current.parent.addProperty(u.name||(0,ii.uid)(),u);c["x-index"]=d,c.parent=this.current.parent,this.current.parent.setProperties(i);let[p,m]=Mi(c,e);this.emit("insertAdjacent",{position:"beforeBegin",schema:m,wrapped:u,wrap:p,...l})}insertAfterBegin(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!np.Schema.isSchemaInstance(this.current))return;let l={onSuccess:t.onSuccess},{wrap:n=Mo,breakRemoveOn:o,removeParentsIfNoChildren:r}=t;if(np.Schema.isSchemaInstance(e)){if(this.parentsIn(e))return void this.emit("error",{code:"parent_is_not_allowed",schema:e});e.parent.removeProperty(e.name),r&&(l.removed=this.recursiveRemoveIfNoChildren(e.parent,{breakRemoveOn:o}))}else e&&(e=Ah()(e));let i={},a=1;this.current.mapProperties((e,t)=>{e["x-index"]=a,++a,i[t]=e}),this.current.properties={},this.prepareProperty(e);let s=n(e),d=this.current.addProperty(s.name||(0,ii.uid)(),s);d["x-index"]=0,d.parent=this.current,this.current.setProperties(i);let[u,c]=Mi(d,e);this.emit("insertAdjacent",{position:"afterBegin",schema:c,wrap:u,wrapped:s,...l})}insertBeforeEnd(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!np.Schema.isSchemaInstance(this.current))return;delete e["x-index"];let l={onSuccess:t.onSuccess},{wrap:n=Mo,breakRemoveOn:o,removeParentsIfNoChildren:r}=t;if(np.Schema.isSchemaInstance(e)){if(this.parentsIn(e))return void this.emit("error",{code:"parent_is_not_allowed",schema:e});e.parent.removeProperty(e.name),r&&(l.removed=this.recursiveRemoveIfNoChildren(e.parent,{breakRemoveOn:o}))}else e&&(e=Ah()(e));this.prepareProperty(e);let i=n(e),a=this.current.addProperty(i.name||(0,ii.uid)(),i);a.parent=this.current;let[s,d]=Mi(a,e);return this.emit("insertAdjacent",{position:"beforeEnd",schema:d,wrap:s,wrapped:i,...l})}insertAfterEnd(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!np.Schema.isSchemaInstance(this.current))return;let l={onSuccess:null==t?void 0:t.onSuccess},{wrap:n=Mo,breakRemoveOn:o,removeParentsIfNoChildren:r}=t,i=0,a=0,s=!1,d={};if(this.current.parent.mapProperties((e,t)=>{e["x-index"]=i,t===this.current.name&&(a=++i,s=!0),++i,s&&t!==this.current.name&&(d[t]=e,this.current.parent.removeProperty(t))}),np.Schema.isSchemaInstance(e)){if(this.parentsIn(e))return void this.emit("error",{code:"parent_is_not_allowed",schema:e});e.parent.removeProperty(e.name),r&&(l.removed=this.recursiveRemoveIfNoChildren(e.parent,{breakRemoveOn:o})),e.parent=null}else e&&(e=Ah()(e));this.prepareProperty(e);let u=n(e),c=this.current.parent.addProperty(u.name||(0,ii.uid)(),u);c.parent=this.current.parent,c["x-index"]=a,this.current.parent.setProperties(d);let[p,m]=Mi(c,e);this.emit("insertAdjacent",{position:"afterEnd",schema:m,wrap:p,wrapped:u,...l})}constructor(e){this.events={},this.options=e,this.current=e.current,this.appVersion=e.appVersion}}function Md(){let e=(0,P.useContext)(np.SchemaOptionsContext),t=(0,P.useMemo)(()=>(null==e?void 0:e.components)||{},[e]);return e=>{if(!e)return null;if("string"!=typeof e)return e;let l=P8()(t,e);return l||console.error(`[nocobase]: Component "${e}" not found`),l}}function Mu(){let{designable:e,setDesignable:t,refresh:l,reset:n}=(0,P.useContext)(Py),o=(0,P.useContext)(np.SchemaOptionsContext),r=(0,P.useMemo)(()=>(null==o?void 0:o.components)||{},[o]),i=(0,P.useMemo)(()=>()=>(0,O.jsx)(O.Fragment,{}),[]),a=(0,CK.A)(),s=PU(),d=PK(),u=(0,P.useCallback)(e=>{null==l||l(),a(),null==s||s(e),null==d||d()},[l,a,s,d]),c=(0,np.useField)(),p=(0,np.useFieldSchema)(),m=Ab(),{t:h}=(0,eX.B)(),f=(0,P.useMemo)(()=>Ml({t:h,api:m,refresh:u,current:p,model:c,appVersion:Mt}),[h,m,u,p,c]);(0,P.useEffect)(()=>{f.loadAPIClientEvents()},[f]);let{isMobileLayout:g}=FI();return{dn:f,designable:!g&&e,reset:n,refresh:u,setDesignable:t,DesignableBar:i,findComponent:(0,P.useCallback)(e=>{if(!e)return null;if("string"!=typeof e)return e;let t=P8()(r,e);return(null==t?void 0:t[P5])??t},[P8()]),on:f.on.bind(f),patch:(0,P.useCallback)((e,t)=>{let l=e=>{Object.keys(e).forEach(t=>{let l=e[t];"title"===t&&(c.title=l,p.title=l),"x-decorator-props"===t&&(c.decoratorProps||(c.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(l).forEach(e=>{c.decoratorProps[e]=l[e],p["x-decorator-props"][e]=l[e]})),"x-component-props"===t&&(c.componentProps||(c.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(l).forEach(e=>{c.componentProps[e]=l[e],p["x-component-props"][e]=l[e]}))})};if("string"==typeof e){let n={};return P3()(n,e,t),l(n)}l(e),u()},[f]),shallowMerge:(0,P.useCallback)(e=>{f.shallowMerge(e)},[f]),deepMerge:(0,P.useCallback)(e=>{f.deepMerge(e)},[f]),remove:(0,P.useCallback)((e,t)=>{f.remove(e,t)},[f]),insertAdjacent:(0,P.useCallback)((e,t,l)=>{f.insertAdjacent(e,t,l)},[f]),insertBeforeBegin:(0,P.useCallback)(e=>{f.insertBeforeBegin(e)},[f]),insertAfterBegin:(0,P.useCallback)(e=>{f.insertAfterBegin(e)},[f]),insertBeforeEnd:(0,P.useCallback)(e=>{f.insertBeforeEnd(e)},[f]),insertAfterEnd:(0,P.useCallback)(e=>{f.insertAfterEnd(e)},[f])}}let Mc=()=>void 0,Mp=(e,t,l)=>{let n;return iu().isFunction(e)?n=e:(n=t[e])||console.error(`${l} is not registered`),n||Mc},Mm=(e,t)=>{let l;if(!e)return Mc;if(iu().isFunction(e))return e;for(let n of e.split("."))l=Mp(n,l||t,e);return l};function Mh(e,t){return Mm(e,(0,np.useExpressionScope)())(t)}function Mf(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=t.displayName||e.displayName||e.name,n=t=>{let{dn:l,findComponent:o}=Mu(),r=Mh((0,P.useMemo)(()=>{let e=l.getSchemaAttribute("x-component"),t=l.getSchemaAttribute("x-decorator"),r=l.getSchemaAttribute("x-use-component-props"),i=l.getSchemaAttribute("x-use-decorator-props");return e&&r&&o(e)===n?r:t&&i&&o(t)===n?i:void 0},[l]),t),i=(0,P.useMemo)(()=>({...t,...r}),[r,t]);return(0,O.jsx)(P.Suspense,{fallback:(0,O.jsx)(nT.A,{}),children:(0,O.jsx)(e,{...i,children:t.children})})};return e.displayName=l,n.displayName=`withSchemaProps(${l})`,n}var Mg=l(16933),Mv=l(60152);let My=new Map;function Mx(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o;My.set(e.toLowerCase(),t)}function Mb(e){return!!e&&My.has(e.toLowerCase())}function Mw(e){Object.keys(e).forEach(t=>{Mx(t,e[t])})}Object.keys(ie).forEach(e=>{Mx(e,ie[e])});let MS=e=>{let{type:t="",component:l,...n}=e;if(l)return(0,O.jsx)(Mg.A,{component:l,...n});if(t&&My.has(t.toLowerCase())){let e=My.get(t.toLowerCase());return(0,O.jsx)(e,{...n})}return t&&o?(0,O.jsx)(o,{type:t}):null};MS.createFromIconfontCN=e=>{o=(0,Mv.A)(e)},MS.register=e=>{Mw(e)};let MC=(0,P.createContext)(null),MF=e=>{let{children:t,parent:l}=e;return(0,O.jsx)(MC.Provider,{value:{parent:l},children:t})},Mk=()=>{let e=P.useContext(MC);return null==e?void 0:e.parent};class MA{setData(e){this.data=e}setParentRecord(e){this.parentRecord=e}constructor(e){const{data:t,parentRecord:l,isNew:n}=e;this.isNew=n,this.data=t,this.parentRecord=l}}let MP=(0,P.createContext)(null);MP.displayName="CollectionRecordContext";let MM=P.memo(e=>{let{isNew:t,record:l,parentRecord:n,children:o}=e,r=(0,P.useMemo)(()=>n?n instanceof MA?n:new MA({data:n}):l instanceof MA?l.parentRecord:void 0,[n,l]),i=(0,P.useMemo)(()=>{let e;return l?l instanceof MA?(e=l).isNew=l.isNew||t:e=new MA({data:l,isNew:t}):e=new MA({isNew:t}),e.setParentRecord(r),e},[l,r,t]);return(0,O.jsx)(MP.Provider,{value:i,children:o})});function Mj(){return(0,P.useContext)(MP)}function MI(){let e=Mj();return null==e?void 0:e.data}function MT(){let e=Mj();return null==e?void 0:e.parentRecord}function MR(){var e;let t=Mj();return null==t||null==(e=t.parentRecord)?void 0:e.data}MM.displayName="CollectionRecordProvider";let ME=P.createContext(null),MN=P.createContext(null),MD=P.memo(e=>{var t,l;let{t:n}=(0,eX.B)(),o=MI(),r=eaQ(),i=M$();return(0,O.jsx)(MN.Provider,{value:{name:"$nParentPopupRecord",title:n("Parent popup record"),value:(null==(t=e.parent)?void 0:t.recordData)||(null==i?void 0:i.value),collection:(null==(l=e.parent)?void 0:l.collection)||(null==i?void 0:i.collection)},children:(0,O.jsx)(ME.Provider,{value:{name:"$nPopupRecord",title:n("Current popup record"),value:e.recordData||o,collection:e.collection||r},children:e.children})})});MD.displayName="VariablePopupRecordProvider";let M$=()=>P.useContext(ME),MB=()=>P.useContext(MN);class MO{get app(){return this.dataSourceManager.app}get key(){return this.options.key}get displayName(){return this.options.displayName}get status(){return this.options.status}get errorMessage(){return this.options.errorMessage}get collections(){return this.collectionManager.getCollections()||[]}getOptions(){return this.options}setOptions(e){Object.assign(this.options,e)}getOption(e){return this.options[e]}addReloadCallback(e){this.reloadCallbacks.includes(e)||this.reloadCallbacks.push(e)}removeReloadCallback(e){this.reloadCallbacks=this.reloadCallbacks.filter(t=>t!==e)}get flowEngineDataSourceManager(){var e;return null==(e=this.app.flowEngine)?void 0:e.context.dataSourceManager}async reload(){let e=await this.getDataSource(),t=this.flowEngineDataSourceManager;return t&&(t.upsertDataSource(this.options),t.getDataSource(this.key).upsertCollections(e.collections||[],{clearFields:!0})),this.setOptions(e),this.collectionManager.setCollections(e.collections||[]),this.reloadCallbacks.forEach(t=>t(e.collections)),this.options}constructor(e,t){this.options=e,this.dataSourceManager=t,this.reloadCallbacks=[],this.collectionManager=new ea2(e.collections,this)}}class Mq extends MO{getDataSource(){return{collections:this.collections}}}class ML{constructor(e){this.collectionTemplateManager=e}}class M_{addCollectionTemplates(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.reduce((e,t)=>{let l=new t(this);return e[l.name]=l,e},{});return Object.assign(this.collectionTemplateInstances,t),this.dataSourceManager.getDataSources().forEach(e=>{let l=e.collectionManager.getCollections(e=>t[e.template]);e.collectionManager.reAddCollections(l)}),t}getCollectionTemplate(e){return this.collectionTemplateInstances[e]}getCollectionTemplates(e){return Object.values(this.collectionTemplateInstances).filter(t=>{var l,n;return!e||!t.supportDataSourceType&&!t.notSupportDataSourceType||(t.supportDataSourceType?null==(l=t.supportDataSourceType)?void 0:l.includes(e):t.notSupportDataSourceType?!(null==(n=t.notSupportDataSourceType)?void 0:n.includes(e)):void 0)}).sort((e,t)=>(e.order||0)-(t.order||0))}constructor(e,t){this.dataSourceManager=t,this.collectionTemplateInstances={},this.addCollectionTemplates(e)}}var MV=l(84795);let Mz=yE()(),MK=(0,k.css)`
1081
+ `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:"HH:mm:ss",enum:[{label:(0,ko.b)({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:(0,ko.b)({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}},kh={type:"array",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"ArrayTable","x-component-props":{pagination:{pageSize:1e3}},items:{type:"object",properties:{column1:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:50,title:"",align:"center"},properties:{sort:{type:"void","x-component":"ArrayTable.SortHandle"}}},column2:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option value")}}'},properties:{value:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input"}}},column3:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option label")}}'},properties:{label:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input"}}},column4:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Color")}}'},properties:{color:{type:"string","x-decorator":"FormItem","x-component":"ColorSelect"}}},column5:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:"",dataIndex:"operations",fixed:"right"},properties:{item:{type:"void","x-component":"FormItem",properties:{remove:{type:"void","x-component":"ArrayTable.Remove"}}}}}}},properties:{add:{type:"void","x-component":"ArrayTable.Addition","x-component-props":{randomValue:!0},title:"{{t('Add option')}}"}}},kf={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input","x-validator":"uid",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"}},kg={type:"string",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},enum:"{{collections}}"};class kv{addComponentOption(e){if(!this.componentOptions){var t,l,n,o,r,i;this.componentOptions=[];let e=null==(l=this.default)||null==(t=l.uiSchema)?void 0:t["x-component"],a=null==(o=this.default)||null==(n=o.uiSchema)?void 0:n["x-component-props"];if(e){let t=(null==(i=this.default)||null==(r=i.uiSchema)?void 0:r.type)||"string",l=(0,ed.tval)(e.startsWith("Input")?(0,_.capitalize)(t):e.split(".").pop());this.componentOptions=[{label:l,value:e,useProps:()=>a||{}}]}}this.componentOptions.push(e)}getConfigureFormProperties(e){var t,l,n,o;let r=(null==(l=this.configure)||null==(t=l.getConfigureFormProperties)?void 0:t.call(l,e))||(null==(n=this.configure)?void 0:n.properties)||{},i=this.hasDefaultValue?this.getDefaultValueProperty():{},a=null==e?void 0:e.view,s=(null==e?void 0:e.template)==="sql"||(null==e?void 0:e.sql),d=[...new Set([...this.availableValidationOptions,"required"])],u=a||s||!this.validationType?{}:{validation:{title:'{{ t("Validation") }}',required:!1,"x-decorator":"FormItem","x-component":"FieldValidation","x-component-props":{type:this.validationType,availableValidationOptions:d,excludeValidationOptions:[...new Set(this.excludeValidationOptions)],isAssociation:this.isAssociation}}};return{...(0,_.cloneDeep)({...kf,...null==(o=this)?void 0:o.properties,...r}),...i,...u}}getDefaultValueProperty(){var e,t,l,n;return{defaultValue:{...(0,_.cloneDeep)(null==(t=this)||null==(e=t.default)?void 0:e.uiSchema),...null==(n=this)||null==(l=n.properties)?void 0:l.uiSchema,required:!1,title:'{{ t("Default value") }}',"x-decorator":"FormItem"}}}addOperator(e){this.filterable||(0,_.set)(this,"filterable",{});let t=Array.isArray(this.filterable.operatorOverrides)?[...this.filterable.operatorOverrides]:[],l=t.findIndex(t=>t.value===e.value);-1!==l?t[l]=e:t.push(e),(0,_.set)(this,"filterable.operatorOverrides",t),i9(this.filterable)}constructor(e){this.collectionFieldInterfaceManager=e,this.availableValidationOptions=[]}}class ky extends kv{constructor(...e){super(...e),this.name="checkbox",this.type="object",this.group="choices",this.order=1,this.title='{{t("Checkbox")}}',this.default={type:"boolean",uiSchema:{type:"boolean","x-component":"Checkbox"}},this.availableTypes=["boolean","integer","bigInt","bit"],this.hasDefaultValue=!0,this.properties={...kf},this.filterable={operators:"boolean"}}}class kx extends kv{constructor(...e){super(...e),this.name="checkboxGroup",this.type="object",this.group="choices",this.order=5,this.title='{{t("Checkbox group")}}',this.default={interface:"checkboxGroup",type:"array",defaultValue:[],uiSchema:{type:"string","x-component":"Checkbox.Group"}},this.availableTypes=["array","json"],this.hasDefaultValue=!0,this.properties={...kf,"uiSchema.enum":kh},this.filterable={operators:"array"}}}class kb extends kv{constructor(...e){super(...e),this.name="collection",this.type="string",this.group="advanced",this.order=5,this.title='{{t("Collection selector")}}',this.description='{{t("Providing certain collections as options for users, typically used in polymorphic or inheritance scenarios")}}',this.sortable=!0,this.default={type:"string",uiSchema:{type:"string","x-component":"CollectionSelect"}},this.availableTypes=["string"],this.hasDefaultValue=!1,this.properties={...kf,"uiSchema.enum":kg},this.filterable={operators:"collection"}}}class kw extends kv{constructor(...e){super(...e),this.name="color",this.type="object",this.group="basic",this.order=10,this.title='{{t("Color")}}',this.default={type:"string",uiSchema:{type:"string","x-component":"ColorPicker"}},this.availableTypes=["string"],this.hasDefaultValue=!0,this.properties={...kf},this.filterable={operators:"string"}}}class kS extends kv{constructor(...e){super(...e),this.name="createdAt",this.type="object",this.group="systemInfo",this.order=1,this.title='{{t("Created at")}}',this.sortable=!0,this.default={type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}},this.description='{{t("Store the creation time of each record")}}',this.availableTypes=[],this.properties={...kf,...kp},this.filterable={operators:"datetime"},this.titleUsable=!0}}class kC extends kv{constructor(...e){super(...e),this.name="createdBy",this.type="object",this.group="systemInfo",this.order=3,this.title='{{t("Created by")}}',this.isAssociation=!0,this.default={type:"belongsTo",target:"users",foreignKey:"createdById",uiSchema:{type:"object",title:'{{t("Created by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}},this.availableTypes=["belongsTo"],this.properties={...kf},this.filterable={nested:!0,children:[]},this.description='{{t("Store the creation user of each record")}}'}}class kF extends kv{constructor(...e){super(...e),this.name="datetime",this.type="object",this.group="datetime",this.order=1,this.title='{{t("Datetime (with time zone)")}}',this.sortable=!0,this.default={type:"date",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!0,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!0}}},this.availableTypes=["date","string","datetime","datetimeTz"],this.hasDefaultValue=!0,this.validationType="date",this.properties={...kf,...kp,defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp on update")}}'},"uiSchema.x-component-props.gmt":{type:"boolean",title:'{{t("GMT")}}',"x-hidden":!0,"x-component":"Checkbox","x-content":'{{t("Use the same time zone (GMT) for all users")}}',"x-decorator":"FormItem",default:!1}},this.filterable={operators:"datetime"},this.titleUsable=!0}}class kk extends kv{constructor(...e){super(...e),this.name="email",this.type="object",this.group="basic",this.order=4,this.title='{{t("Email")}}',this.sortable=!0,this.default={type:"string",uiSchema:{type:"string","x-component":"Input","x-validator":"email"}},this.availableTypes=["string"],this.hasDefaultValue=!0,this.validationType="string",this.availableValidationOptions=["min","max","length","email","pattern"],this.properties={...kf,unique:kr},this.filterable={operators:"string"},this.titleUsable=!0}}class kA extends kv{constructor(...e){super(...e),this.name="icon",this.type="object",this.group="basic",this.order=10,this.title='{{t("Icon")}}',this.default={type:"string",uiSchema:{type:"string","x-component":"IconPicker"}},this.availableTypes=["string"],this.hasDefaultValue=!0,this.properties={...kf}}}class kP extends kv{constructor(...e){super(...e),this.name="id",this.type="object",this.group="systemInfo",this.order=0,this.title='{{t("ID")}}',this.hidden=!0,this.sortable=!0,this.default={name:"id",type:"bigInt",autoIncrement:!0,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-read-pretty":!0}},this.availableTypes=["bigInt","integer"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,default:"ID","x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":!0,"x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"}},this.filterable={operators:"id"},this.description='{{t("Primary key, unique identifier, self growth") }}',this.titleUsable=!0}}let kM=e=>e,kj=e=>{if((0,ii.isArr)(e)){for(let t=0;t<e.length;t++)if((0,ii.isValid)(e[t]))return!1;return!0}if(null==e?void 0:e.getCurrentContent){var t;return!(null==(t=e.getCurrentContent())?void 0:t.hasText())}return(0,ii.isEmpty)(e)};(0,FB.registerValidateRules)({username:e=>/^[^@<>"'/]{1,50}$/.test(e)||kM("Must be 1-50 characters in length (excluding @<>\"'/)"),required:(e,t)=>!1===t.required?"":("string"==typeof e&&(e=e.trim()),kj(e)?t.message:"")});class kI extends kv{constructor(...e){super(...e),this.name="input",this.type="object",this.group="basic",this.order=1,this.title='{{t("Single line text")}}',this.primaryKeyDescription='{{t("Primary key, unique identifier")}}',this.sortable=!0,this.default={interface:"input",type:"string",uiSchema:{type:"string","x-component":"Input"}},this.availableTypes=["string","uid"],this.hasDefaultValue=!0,this.validationType="string",this.availableValidationOptions=["min","max","length","pattern"],this.properties={...kf,trim:{type:"boolean","x-content":'{{t("Automatically remove heading and tailing spaces")}}',"x-decorator":"FormItem","x-component":"Checkbox"},layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:ki,unique:kr}}},this.filterable={operators:"string"},this.titleUsable=!0}}(0,ir.registerValidateFormats)({odd:/^-?\d*[13579]$/,even:/^-?\d*[02468]$/});class kT extends kv{constructor(...e){super(...e),this.name="integer",this.type="object",this.group="basic",this.order=6,this.title='{{t("Integer")}}',this.primaryKeyDescription='{{t("Primary key, unique identifier, self growth")}}',this.sortable=!0,this.default={type:"bigInt",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,step:"1"},"x-validator":"integer"}},this.availableTypes=["bigInt","integer","sort","snowflakeId"],this.hasDefaultValue=!0,this.validationType="number",this.excludeValidationOptions=["precision"],this.properties={...kf,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:ki,unique:kr}},autoIncrement:ka},this.filterable={operators:"number"},this.titleUsable=!0}}(0,ir.registerValidateRules)({json(e){try{return JSON.parse(e),!0}catch(e){return{type:"error",message:e.message}}}});class kR extends kv{constructor(...e){super(...e),this.name="json",this.type="object",this.group="advanced",this.order=4,this.title='{{t("JSON")}}',this.sortable=!1,this.default={type:"json",uiSchema:{type:"object","x-component":"Input.JSON","x-component-props":{autoSize:{minRows:5}},default:null}},this.availableTypes=["json","array","set","jsonb","text","circle","lineString","point","polygon"],this.hasDefaultValue=!0,this.properties={...kf,jsonb:{title:"JSONB","x-component":"Checkbox"}},this.configure={items:[{name:"jsonb",title:"JSONB",component:"Checkbox",schema:{"x-content":" "},hidden:e=>{let{context:t}=e,l=t.isDialect;return"function"!=typeof l||!l("postgres")},disabled:e=>{let{context:t}=e;return!!t.disabledJSONB}}]}}}class kE extends kv{initialize(e){"belongsToMany"===e.type&&(e.through||(e.through=`t_${(0,ii.uid)()}`),e.foreignKey||(e.foreignKey=`f_${(0,ii.uid)()}`),e.otherKey||(e.otherKey=`f_${(0,ii.uid)()}`),e.sourceKey||(e.sourceKey="id"),e.targetKey||(e.targetKey="id"))}constructor(...e){super(...e),this.name="m2m",this.type="object",this.group="relation",this.order=6,this.title='{{t("Many to many")}}',this.description='{{t("Many to many description")}}',this.isAssociation=!0,this.default={type:"belongsToMany",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!0}},reverseField:{interface:"m2m",type:"belongsToMany",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!0}}}},this.availableTypes=["belongsToMany"],this.validationType="object",this.properties={...kf,type:kd,grid:{type:"void","x-component":"Grid",properties:{row1:{type:"void","x-component":"Grid.Row",properties:{col11:{type:"void","x-component":"Grid.Col",properties:{source:{type:"string",title:'{{t("Source collection")}}',"x-decorator":"FormItem","x-component":"SourceCollection","x-disabled":!0}}},col12:{type:"void","x-component":"Grid.Col",properties:{through:{type:"string",title:'{{t("Through collection")}}',description:'{{ t("Generated automatically if left blank") }}',"x-decorator":"FormItem","x-disabled":"{{ !createOnly }}","x-component":"ThroughCollection","x-component-props":{allowClear:!0}}}},col13:{type:"void","x-component":"Grid.Col",properties:{target:{type:"string",title:'{{t("Target collection")}}',required:!0,"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}"}}}}},row2:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{sourceKey:{type:"string",title:'{{t("Source key")}}',description:"{{t('Field values must be unique.')}}","x-decorator":"FormItem","x-component":"SourceKey","x-disabled":"{{ !createOnly }}"}}},col22:{type:"void","x-component":"Grid.Col",properties:{foreignKey:{type:"string",title:'{{t("Foreign key 1")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly||override }}"}}},col23:{type:"void","x-component":"Grid.Col",properties:{}}}},row3:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{}},col22:{type:"void","x-component":"Grid.Col",properties:{otherKey:{type:"string",title:'{{t("Foreign key 2")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly||override }}"}}},col23:{type:"void","x-component":"Grid.Col",properties:{targetKey:{type:"string",title:'{{t("Target key")}}',"x-decorator":"FormItem","x-component":"TargetKey","x-disabled":"{{ !createOnly }}",description:"{{t('Field values must be unique.')}}"}}}}}}},...kc},this.filterable={nested:!0,children:[]}}}class kN extends kv{constructor(...e){super(...e),this.name="m2o",this.type="object",this.group="relation",this.order=5,this.title='{{t("Many to one")}}',this.description='{{t("Many to one description")}}',this.isAssociation=!0,this.validationType="object",this.default={type:"belongsTo",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}},reverseField:{interface:"o2m",type:"hasMany",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!0}}}},this.availableTypes=["belongsTo"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},type:kd,grid:{type:"void","x-component":"Grid",properties:{row1:{type:"void","x-component":"Grid.Row",properties:{col11:{type:"void","x-component":"Grid.Col",properties:{source:{type:"void",title:'{{t("Source collection")}}',"x-decorator":"FormItem","x-component":"SourceCollection","x-disabled":!0}}},col12:{type:"void","x-component":"Grid.Col",properties:{target:{type:"string",title:'{{t("Target collection")}}',required:!0,"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}"}}}}},row2:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{foreignKey:{type:"string",title:'{{t("Foreign key")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly }}"}}},col22:{type:"void","x-component":"Grid.Col",properties:{targetKey:{type:"string",title:'{{t("Target key")}}',description:"{{t('Field values must be unique.')}}","x-decorator":"FormItem","x-component":"TargetKey","x-disabled":"{{ !createOnly }}"}}}}}}},...ku,...kc},this.filterable={nested:!0,children:[]}}}class kD extends kv{constructor(...e){super(...e),this.name="markdown",this.type="object",this.title='{{t("Markdown")}}',this.group="media",this.default={type:"text",uiSchema:{type:"string","x-component":"Markdown"}},this.availableTypes=["text","json","string"],this.hasDefaultValue=!0,this.properties={...kf},this.filterable={operators:"bigField"}}}class k$ extends kv{constructor(...e){super(...e),this.name="multipleSelect",this.type="object",this.group="choices",this.order=3,this.title='{{t("Multiple select")}}',this.default={type:"array",defaultValue:[],uiSchema:{type:"array","x-component":"Select","x-component-props":{mode:"multiple"},enum:[]}},this.availableTypes=["array","json"],this.hasDefaultValue=!0,this.properties={...kf,"uiSchema.enum":kh},this.filterable={operators:"array"}}}class kB extends kv{constructor(...e){super(...e),this.name="number",this.type="object",this.group="basic",this.order=7,this.title='{{t("Number")}}',this.sortable=!0,this.default={type:"double",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,step:"1"}}},this.availableTypes=["double","float","decimal"],this.hasDefaultValue=!0,this.validationType="number",this.excludeValidationOptions=["integer"],this.properties={type:{type:"string",title:'{{t("Data type")}}',"x-component":"Select","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}",default:"double",enum:[{label:'{{t("Double")}}',value:"double"},{label:'{{t("Float")}}',value:"float"},{label:'{{t("Decimal")}}',value:"decimal"}]},...kf,unique:kr,"uiSchema.x-component-props.step":{type:"string",title:'{{t("Precision(UI)")}}',"x-component":"Select","x-decorator":"FormItem",default:"1",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"}]},precision:{type:"string",title:'{{t("Precision")}}',"x-component":"InputNumber","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}",default:10},scale:{type:"string",title:'{{t("Scale")}}',"x-component":"InputNumber","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}",default:2}},this.filterable={operators:"number"},this.titleUsable=!0}}class kO extends kv{constructor(...e){super(...e),this.name="obo",this.type="object",this.group="relation",this.order=3.1,this.title='{{t("One to one (belongs to)")}}',this.description='{{t("One to one description")}}',this.isAssociation=!0,this.validationType="object",this.default={type:"belongsTo",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}},reverseField:{interface:"oho",type:"hasOne",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}}}},this.availableTypes=["belongsTo"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},type:kd,grid:{type:"void","x-component":"Grid",properties:{row1:{type:"void","x-component":"Grid.Row",properties:{col11:{type:"void","x-component":"Grid.Col",properties:{source:{type:"void",title:'{{t("Source collection")}}',"x-decorator":"FormItem","x-component":"SourceCollection","x-disabled":!0}}},col12:{type:"void","x-component":"Grid.Col",properties:{target:{type:"string",title:'{{t("Target collection")}}',required:!0,"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}"}}}}},row2:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{foreignKey:{type:"string",title:'{{t("Foreign key")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly }}"}}},col22:{type:"void","x-component":"Grid.Col",properties:{targetKey:{type:"string",title:'{{t("Target key")}}',description:"{{t('Field values must be unique.')}}","x-decorator":"FormItem","x-component":"TargetKey","x-disabled":"{{ !createOnly }}"}}}}}}},...ku,...kc},this.filterable={nested:!0,children:[]}}}class kq extends kv{constructor(...e){super(...e),this.name="o2m",this.type="object",this.group="relation",this.order=4,this.title='{{t("One to many")}}',this.description='{{t("One to many description")}}',this.isAssociation=!0,this.validationType="object",this.default={type:"hasMany",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!0}},reverseField:{interface:"m2o",type:"belongsTo",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}}}},this.availableTypes=["hasMany"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},type:kd,grid:{type:"void","x-component":"Grid",properties:{row1:{type:"void","x-component":"Grid.Row",properties:{col11:{type:"void","x-component":"Grid.Col",properties:{source:{type:"void",title:'{{t("Source collection")}}',"x-decorator":"FormItem","x-component":"SourceCollection"}}},col12:{type:"void","x-component":"Grid.Col",properties:{target:{type:"string",title:'{{t("Target collection")}}',required:!0,"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}"}}}}},row2:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{sourceKey:{type:"string",title:'{{t("Source key")}}',description:"{{t('Field values must be unique.')}}","x-decorator":"FormItem","x-component":"SourceKey","x-disabled":"{{ !createOnly }}"}}},col22:{type:"void","x-component":"Grid.Col",properties:{foreignKey:{type:"string",title:'{{t("Foreign key")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly }}"}}}}},row3:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{}},col22:{type:"void","x-component":"Grid.Col",properties:{targetKey:{type:"string",title:'{{t("Target key")}}',"x-decorator":"FormItem","x-component":"TargetKey","x-disabled":"{{ !createOnly }}",description:"{{t('Field values must be unique.')}}"}}}}}}},...ku,...kc},this.filterable={nested:!0,children:[]}}}class kL extends kv{constructor(...e){super(...e),this.name="oho",this.type="object",this.group="relation",this.order=3,this.title='{{t("One to one (has one)")}}',this.description='{{t("One to one description")}}',this.isAssociation=!0,this.validationType="object",this.default={type:"hasOne",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}},reverseField:{interface:"obo",type:"belongsTo",uiSchema:{"x-component":"AssociationField","x-component-props":{multiple:!1}}}},this.availableTypes=["hasOne"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},type:kd,grid:{type:"void","x-component":"Grid",properties:{row1:{type:"void","x-component":"Grid.Row",properties:{col11:{type:"void","x-component":"Grid.Col",properties:{source:{type:"void",title:'{{t("Source collection")}}',"x-decorator":"FormItem","x-component":"SourceCollection","x-disabled":!0}}},col12:{type:"void","x-component":"Grid.Col",properties:{target:{type:"string",title:'{{t("Target collection")}}',required:!0,"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}"}}}}},row2:{type:"void","x-component":"Grid.Row",properties:{col21:{type:"void","x-component":"Grid.Col",properties:{sourceKey:{type:"string",title:'{{t("Source key")}}',description:"{{t('Field values must be unique.')}}","x-decorator":"FormItem","x-component":"SourceKey","x-disabled":"{{ !createOnly }}"}}},col22:{type:"void","x-component":"Grid.Col",properties:{foreignKey:{type:"string",title:'{{t("Foreign key")}}',required:!0,default:'{{ useNewId("f_") }}',description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}","x-decorator":"FormItem","x-component":"ForeignKey","x-validator":"uid","x-disabled":"{{ !createOnly }}"}}}}}}},...ku,...kc},this.filterable={nested:!0,children:[]}}}class k_ extends kv{constructor(...e){super(...e),this.name="password",this.type="object",this.group="basic",this.order=9,this.title='{{t("Password")}}',this.default={type:"password",hidden:!0,uiSchema:{type:"string","x-component":"Password"}},this.availableTypes=["password","string"],this.hasDefaultValue=!0,this.validationType="string",this.availableValidationOptions=["min","max","length","pattern"],this.properties={...kf,unique:kr},this.filterable={operators:"string"}}}(0,ir.registerValidateRules)({percentMode(e,t){let{maxValue:l,minValue:n}=t;return l&&e>l?{type:"error",message:`${kM("The field value cannot be greater than ")}${100*l}%`}:!n||!(e<n)||{type:"error",message:`${kM("The field value cannot be less than ")}${100*n}%`}},percentFormats(e,t){let{percentFormat:l}=t;return!e||"Integer"!==l||!1!==/^-?[1-9]\d*$/.test((100*e).toString())||{type:"error",message:`${kM("The field value is not an integer number")}`}}});class kV extends kv{constructor(...e){super(...e),this.name="percent",this.type="object",this.group="basic",this.order=8,this.title='{{t("Percent")}}',this.sortable=!0,this.default={type:"float",uiSchema:{type:"string","x-component":"Percent","x-component-props":{stringMode:!0,step:"1",addonAfter:"%"}}},this.availableTypes=["float","double","decimal"],this.hasDefaultValue=!0,this.validationType="number",this.excludeValidationOptions=["integer"],this.properties={...kf,unique:kr,"uiSchema.x-component-props.step":{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",default:"1",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%"}]}},this.filterable={operators:"number"},this.titleUsable=!0}}class kz extends kv{constructor(...e){super(...e),this.name="phone",this.type="object",this.group="basic",this.order=3,this.title='{{t("Phone")}}',this.sortable=!0,this.default={type:"string",uiSchema:{type:"string","x-component":"Input","x-component-props":{type:"tel"}}},this.availableTypes=["string"],this.validationType="string",this.availableValidationOptions=["min","max","length","pattern"],this.hasDefaultValue=!0,this.properties={...kf,unique:kr},this.filterable={operators:"string"},this.titleUsable=!0}}class kK extends kv{constructor(...e){super(...e),this.name="radioGroup",this.type="object",this.group="choices",this.order=4,this.title='{{t("Radio group")}}',this.sortable=!0,this.default={type:"string",uiSchema:{type:"string","x-component":"Radio.Group"}},this.availableTypes=["string","integer","boolean","integer"],this.hasDefaultValue=!0,this.properties={...kf,"uiSchema.enum":kh},this.filterable={operators:"enumType"},this.titleUsable=!0}}class kU extends kv{constructor(...e){super(...e),this.name="richText",this.type="object",this.group="media",this.order=2,this.title='{{t("Rich Text")}}',this.default={interface:"richText",type:"text",uiSchema:{type:"string","x-component":"RichText"}},this.availableTypes=["text","json","string"],this.hasDefaultValue=!0,this.properties={...kf},this.filterable={operators:"bigField"}}}class kW extends kv{constructor(...e){super(...e),this.name="select",this.type="object",this.group="choices",this.order=2,this.title='{{t("Single select")}}',this.sortable=!0,this.default={type:"string",uiSchema:{type:"string","x-component":"Select",enum:[]}},this.availableTypes=["string","bigInt","boolean"],this.hasDefaultValue=!0,this.properties={...kf,"uiSchema.enum":kh},this.filterable={operators:"enumType"},this.titleUsable=!0}}class kH extends kv{constructor(...e){super(...e),this.name="snowflakeId",this.type="object",this.group="advanced",this.order=0,this.title='{{t("Snowflake ID (53-bit)")}}',this.primaryKeyDescription='{{t("Primary key, distributed uniqueness, time-ordering")}}',this.hidden=!1,this.sortable=!0,this.default={type:"snowflakeId",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,separator:"0.00",step:"1"},"x-validator":"integer"}},this.availableTypes=["snowflakeId"],this.properties={...kf,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:ki,unique:kr}}},this.filterable={operators:"number"},this.description='{{t("A 53-bit Snowflake ID designed to be compatible with JavaScript’s safe integer range, providing both time-ordering and uniqueness.") }}',this.titleUsable=!0}}class kG extends kv{constructor(...e){super(...e),this.name="tableoid",this.type="object",this.group="systemInfo",this.order=0,this.title='{{t("Table OID")}}',this.sortable=!0,this.default={name:"__collection",type:"virtual",uiSchema:{type:"string",title:'{{t("Table OID")}}',"x-component":"CollectionSelect","x-component-props":{isTableOid:!0},"x-read-pretty":!0}},this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":!0,"x-decorator":"FormItem","x-component":"Input"}},this.filterable={operators:"tableoid"}}}class kY extends kv{constructor(...e){super(...e),this.name="textarea",this.type="object",this.group="basic",this.order=2,this.title='{{t("Long text")}}',this.default={interface:"textarea",type:"text",uiSchema:{type:"string","x-component":"Input.TextArea"}},this.availableTypes=["text","json","string"],this.validationType="string",this.availableValidationOptions=["min","max","length","case","pattern"],this.hasDefaultValue=!0,this.titleUsable=!0,this.properties={...kf,trim:{type:"boolean","x-content":'{{t("Automatically remove heading and tailing spaces")}}',"x-decorator":"FormItem","x-component":"Checkbox"}},this.filterable={operators:"string"}}}class kJ extends kv{constructor(...e){super(...e),this.name="time",this.type="object",this.group="datetime",this.order=4,this.title='{{t("Time")}}',this.sortable=!0,this.default={type:"time",uiSchema:{type:"string","x-component":"TimePicker"}},this.availableTypes=["time"],this.hasDefaultValue=!0,this.properties={...kf,...km},this.filterable={operators:"time"},this.titleUsable=!0}}class kX extends kv{constructor(...e){super(...e),this.name="updatedAt",this.type="object",this.group="systemInfo",this.order=2,this.title='{{t("Last updated at")}}',this.sortable=!0,this.default={type:"date",field:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}},this.description='{{t("Store the last update time of each record")}}',this.availableTypes=[],this.properties={...kf,...kp},this.filterable={operators:"datetime"},this.titleUsable=!0}}class kQ extends kv{constructor(...e){super(...e),this.name="updatedBy",this.type="object",this.group="systemInfo",this.order=4,this.title='{{t("Last updated by")}}',this.isAssociation=!0,this.default={type:"belongsTo",target:"users",foreignKey:"updatedById",uiSchema:{type:"object",title:'{{t("Last updated by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}},this.availableTypes=["belongsTo"],this.properties={...kf},this.filterable={nested:!0,children:[]},this.description='{{t("Store the last update user of each record")}}'}}class kZ extends kv{constructor(...e){super(...e),this.name="url",this.type="string",this.group="basic",this.order=5,this.title='{{t("URL")}}',this.default={type:"text",uiSchema:{type:"string","x-component":"Input.URL"}},this.componentOptions=[{label:"URL",value:"Input.URL"},{label:"Preview",value:"Input.Preview"}],this.availableTypes=["string","text"],this.validationType="string",this.availableValidationOptions=["uri","pattern"],this.properties={...kf},this.titleUsable=!0,this.filterable={operators:"string"}}}class k0 extends kv{constructor(...e){super(...e),this.name="uuid",this.type="object",this.group="advanced",this.order=0,this.title='{{t("UUID")}}',this.primaryKeyDescription='{{t("Primary key, unique identifier")}}',this.hidden=!1,this.sortable=!0,this.default={type:"uuid",uiSchema:{type:"string","x-component":"Input","x-validator":"uuid"}},this.availableTypes=["uid","uuid"],this.validationType="string",this.availableValidationOptions=["uuid","pattern"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},autoFill:ks,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:ki,unique:kr}}},this.filterable={operators:"string"},this.titleUsable=!0}}class k1 extends kv{constructor(...e){super(...e),this.name="nanoid",this.type="object",this.group="advanced",this.order=0,this.title='{{t("Nano ID")}}',this.primaryKeyDescription='{{t("Primary key, unique identifier")}}',this.hidden=!1,this.sortable=!0,this.default={type:"nanoid",uiSchema:{type:"string","x-component":"NanoIDInput"}},this.availableTypes=["nanoid"],this.properties={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}"},customAlphabet:{type:"string",title:'{{t("Alphabet")}}',default:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz","x-decorator":"FormItem","x-component":"Input"},size:{type:"number",title:'{{t("Length")}}',default:21,"x-decorator":"FormItem","x-component":"InputNumber"},autoFill:ks,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:ki,unique:kr}}},this.filterable={operators:"string"},this.titleUsable=!0}}class k2 extends kv{constructor(...e){super(...e),this.name="unixTimestamp",this.type="object",this.group="datetime",this.order=4,this.title='{{t("Unix Timestamp")}}',this.sortable=!0,this.default={type:"unixTimestamp",accuracy:"second",timezone:!0,defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,uiSchema:{type:"number","x-component":"UnixTimestamp","x-component-props":{showTime:!0}}},this.availableTypes=["unixTimestamp"],this.hasDefaultValue=!1,this.validationType="date",this.availableValidationOptions=["timestamp"],this.properties={...kf,...kp,accuracy:{type:"string",title:'{{t("Accuracy")}}',"x-component":"Radio.Group","x-decorator":"FormItem",default:"second",enum:[{value:"millisecond",label:'{{t("Millisecond")}}'},{value:"second",label:'{{t("Second")}}'}]},defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp on update")}}'}},this.filterable={operators:"datetime"},this.titleUsable=!0}}class k8 extends kv{constructor(...e){super(...e),this.name="date",this.type="object",this.group="datetime",this.order=3,this.title='{{t("DateOnly")}}',this.sortable=!0,this.default={type:"dateOnly",uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{dateOnly:!0,showTime:!1}}},this.availableTypes=["dateOnly"],this.hasDefaultValue=!0,this.validationType="date",this.properties={...kf,...kp,"uiSchema.x-component-props.showTime":{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-visible":!1},"uiSchema.x-component-props.timeFormat":{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-visible":!1}},this.filterable={operators:"datetime"},this.titleUsable=!0}}class k6 extends kv{constructor(...e){super(...e),this.name="datetimeNoTz",this.type="object",this.group="datetime",this.order=2,this.title='{{t("Datetime (without time zone)")}}',this.sortable=!0,this.default={type:"datetimeNoTz",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!1,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!1}}},this.availableTypes=["string","datetimeNoTz"],this.hasDefaultValue=!0,this.validationType="date",this.properties={...kf,...kp,defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current server time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp to the current server time on update")}}'},"uiSchema.x-component-props.gmt":{type:"boolean",title:'{{t("GMT")}}',"x-hidden":!0,"x-component":"Checkbox","x-content":'{{t("Use the same time zone (GMT) for all users")}}',"x-decorator":"FormItem",default:!1}},this.filterable={operators:"datetime"},this.titleUsable=!0}}function k3(e){if(null==e?void 0:e.filterTargetKey){if(Array.isArray(e.filterTargetKey)){var t;return null==e||null==(t=e.filterTargetKey)?void 0:t[0]}return null==e?void 0:e.filterTargetKey}return(null==e?void 0:e.getPrimaryKey())||"id"}function k5(e,t){var l,n,o,r,i;let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=e.interface,d=s?(null==t||null==(n=t.getFieldInterfaceConfigure)||null==(l=n.call(t,s,a.collectionInfo))?void 0:l.default)||(null==t||null==(r=t.getFieldInterface)||null==(o=r.call(t,s))?void 0:o.default):void 0,u=(0,_.merge)({},(0,_.cloneDeep)(d||{}),(0,_.cloneDeep)(e)),c=(0,_.merge)({},(0,_.cloneDeep)((null==d?void 0:d.uiSchema)||{}),(0,_.cloneDeep)(e.uiSchema||{}));return void 0!==e.title&&(c.title=e.title),void 0!==e.options&&(c.enum=(0,_.cloneDeep)(e.options)),void 0!==e.component&&(c["x-component"]=e.component),void 0!==e.componentProps&&(c["x-component-props"]=(0,_.merge)({},(0,_.cloneDeep)((null==d||null==(i=d.uiSchema)?void 0:i["x-component-props"])||{}),(0,_.cloneDeep)(e.componentProps))),delete u.title,delete u.options,delete u.component,delete u.componentProps,Object.keys(c).length&&(u.uiSchema=c),u}function k4(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,l=arguments.length>2?arguments[2]:void 0;return e.map(e=>k5(e,t,l))}let k7=e=>{var t,l,n,o,r,i,a,s,d;let{dataSource:u="main",collections:c,syncOnChange:p=!1,children:m}=e,h=(0,Y.n)(),f=(0,P.useRef)(null),g=(0,P.useRef)(null);if(null===f.current){let e=null==(l=h.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,u),r=[];if(e)for(let t of c)null!=(n=e.getCollection)&&n.call(e,t.name)||(null==(o=e.addCollection)||o.call(e,t),r.push(t));f.current=r,g.current=c}else if(p&&g.current!==c){let e=null==(i=h.dataSourceManager)||null==(r=i.getDataSource)?void 0:r.call(i,u);if(e){let t=new Set(c.map(e=>e.name)),l=new Map(f.current.map(e=>[e.name,e]));for(let n of l.keys())t.has(n)||null==(a=e.removeCollection)||a.call(e,n);let n=[];for(let t of c){let o=l.get(t.name);if(o){n.push(o);continue}null!=(s=e.getCollection)&&s.call(e,t.name)||(null==(d=e.addCollection)||d.call(e,t),n.push(t))}f.current=n}g.current=c}return(0,P.useEffect)(()=>{var e;let t=e=>{var t,l,n,o,r;let i=null==(t=e.detail)?void 0:t.dataSourceKey;if(i!==u&&"*"!==i)return;let a=null==(n=h.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u);if(a&&f.current)for(let e of f.current)null!=(o=a.getCollection)&&o.call(a,e.name)||null==(r=a.addCollection)||r.call(a,e)};return null==(e=h.eventBus)||e.addEventListener("dataSource:loaded",t),()=>{var e,l,n,o;null==(e=h.eventBus)||e.removeEventListener("dataSource:loaded",t);let r=null==(n=h.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u),i=f.current??[];if(f.current=null,g.current=null,r)for(let e of i)null==(o=r.removeCollection)||o.call(r,e.name)}},[h,u]),(0,O.jsx)(O.Fragment,{children:m})};var k9=l(50451),Ae=l(46629);l(87744),l(77121),l(71841),l(33639),l(82743),l(20850),l(76455),l(84664),l(60450),l(33994),l(43245),l(25946),l(13771),l(29546),l(62445),l(7058),l(35764),l(6342),l(15178),l(60876),l(16252);let At=/^[A-Za-z0-9_-]*$/,Al=new TextEncoder,An=new TextDecoder("utf-8",{fatal:!0});function Ao(e){let t="";for(let l of e)t+=String.fromCharCode(l);return t}function Ar(e){let t=new Uint8Array(e.length);for(let l=0;l<e.length;l+=1)t[l]=e.charCodeAt(l);return t}function Ai(e){return btoa(Ao(Al.encode(e))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}let Aa={encode:Ai,decode(e){if(At.test(e)&&e.length%4!=1)try{let t=`${e.replace(/-/g,"+").replace(/_/g,"/")}${"=".repeat((4-e.length%4)%4)}`,l=An.decode(Ar(atob(t)));return Ai(l)===e?l:void 0}catch{return}}};function As(e){return(0,Ae.zK)(e,Aa)}function Ad(e){return(0,Ae.gA)(e,Aa)}function Au(e){return(0,Ae.w_)(e,Aa)}var Ac=l(30872),Ap=l.n(Ac),Am=l(88055),Ah=l.n(Am),Af=l(90179),Ag=l.n(Af);let Av=(0,P.createContext)(null);Av.displayName="APIClientContext";let Ay=(0,P.createContext)(null);Ay.displayName="ApplicationContext";let Ax=()=>{var e;let t=(0,P.useContext)(Ay),l=(0,L.useFlowEngine)({throwError:!1});return(null==l||null==(e=l.context)?void 0:e.app)||t||{}};function Ab(){let e=Ax();return(0,P.useContext)(Av)||e.apiClient}var Aw=l(89412),AS=l(14744),AC=l.n(AS),AF=l(63375),Ak=l.n(AF);function AA(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(t=>e.propertyIsEnumerable(t)):[]}function AP(e){return Object.keys(e).concat(AA(e))}let AM=new Map;function Aj(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return AP(t).forEach(n=>{let o=l[n],r=AM.get("deepMerge");"function"==typeof o?r=o:"string"==typeof o&&AM.has(o)&&(r=AM.get(o)),e[n]=r(e[n],t[n])}),e}function AI(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[n,o]=(0,Aw.A)({}),r=Ab();t="function"==typeof e?e:e?async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{resource:l,url:n}=e,o=Ah()(e);l||n?(o.params=o.params||{},Aj(o.params,t)):o=(0,ii.merge)(o,t);let i=await r.request(o);return null==i?void 0:i.data}:async()=>{};let i={...l,onSuccess(){for(var e,t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];null==(e=l.onSuccess)||e.call(l,...n),l.uid&&(r.services[l.uid]=a)}},a=(0,rB.A)(t,i);return(0,P.useMemo)(()=>({...a,state:n,setState:o}),[a,o,n])}function AT(e,t){return Ab().resource(e,t)}AM.set("overwrite",(e,t)=>t),AM.set("andMerge",(e,t)=>{if(e||t)return e?t?{$and:[e,t]}:e:t}),AM.set("orMerge",(e,t)=>{if(e||t)return e?t?{$or:[e,t]}:e:t}),AM.set("deepMerge",(e,t)=>(0,ed.isPlainObject)(e)&&(0,ed.isPlainObject)(t)?AC()(e,t,{arrayMerge:(e,t)=>t}):t),AM.set("merge",(e,t)=>(0,ed.isPlainObject)(e)&&(0,ed.isPlainObject)(t)?Object.assign(e,t):t),AM.set("union",(e,t)=>("string"==typeof e&&(e=e.split(",")),"string"==typeof t&&(t=t.split(",")),Ak()((e||[]).concat(t||[])))),AM.set("intersect",(e,t)=>("string"==typeof e&&(e=e.split(",")),"string"==typeof t&&(t=t.split(",")),Array.isArray(e)&&0!==e.length)?Array.isArray(t)&&0!==t.length?e.filter(e=>t.includes(e)):e||[]:t||[]);var AR=l(76511);function AE(e,t,l){var n;(null==t?void 0:t.length)&&l[e]({message:null==(n=t.map)?void 0:n.call(t,(e,t)=>P.createElement("div",{key:`${t}_${e.message}`},"string"==typeof e?e:e.message))})}let AN=(e,t)=>{var l;let n=new FileReader;n.readAsText(null==e||null==(l=e.response)?void 0:l.data,"utf-8"),n.onload=function(){AE("error",JSON.parse(n.result).errors,t)}};function AD(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 A$=()=>AD(-(new Date().getTimezoneOffset()/60)),AB=new Map;class AO extends A.APIClient{get notification(){var e,t;return(null==(t=this.app)||null==(e=t.context)?void 0:e.notification)||AR.Ay}cloneInstance(){let e=new AO(this.options);e.options=this.options,e.services=this.services,e.storage=this.storage,e.app=this.app,e.auth=this.auth,e.storagePrefix=this.storagePrefix;let t=[];for(let n of this.axios.interceptors.response.handlers){var l;(null==n||null==(l=n.rejected)?void 0:l._name)==="handleNotificationError"?t.push({...n,rejected:e.handleNotificationError.bind(e)}):t.push(n)}return e.axios.interceptors.response.handlers=t,e}getHostname(){var e,t;try{return new URL("/api/").hostname}catch(e){}return null==(t=window)||null==(e=t.location)?void 0:e.hostname}getHeaders(){var e;let t=super.getHeaders(),l=null==(e=this.app)?void 0:e.getName();return l&&(t["X-App"]=l),t["X-Timezone"]=A$(),t["X-Hostname"]=this.getHostname(),t}service(e){return this.services[e]}interceptors(){this.axios.interceptors.request.use(e=>{e.headers["X-With-ACL-Meta"]=!0;let t=this.getHeaders();return Object.keys(t).forEach(l=>{(0,A.hasHeaderValue)(e.headers,l)||(e.headers[l]=t[l])}),e}),super.interceptors(),this.useNotificationMiddleware(),this.axios.interceptors.response.use(e=>e,e=>{let t=this.toErrMessages(e);throw t.find(e=>"ROLE_NOT_FOUND_ERR"===e.code)&&(this.auth.setRole(null),window.location.reload()),t.find(e=>"TOKEN_INVALID"===e.code||"USER_LOCKED"===e.code)&&this.auth.setToken(null),t.find(e=>"ROLE_NOT_FOUND_FOR_USER"===e.code)&&(this.auth.setRole(null),window.location.reload()),e})}toErrMessages(e){var t,l,n,o,r,i,a,s,d,u,c;if("string"==typeof(null==e||null==(t=e.response)?void 0:t.data)){let t=document.createElement("div");t.innerHTML=null==e||null==(d=e.response)?void 0:d.data;let l=t.textContent||t.innerText;return l.includes("Error occurred while trying")||l.includes("502 Bad Gateway")?[{code:"APP_WARNING",message:l="The application may be starting up. Please try again later."}]:[{message:l}]}return(null==e||null==(n=e.response)||null==(l=n.data)?void 0:l.error)?[null==e||null==(c=e.response)||null==(u=c.data)?void 0:u.error]:(null==e||null==(r=e.response)||null==(o=r.data)?void 0:o.errors)||(null==e||null==(a=e.response)||null==(i=a.data)?void 0:i.messages)||(null==e||null==(s=e.response)?void 0:s.error)||[{message:e.message||"Server error"}]}async handleNotificationError(e){var t,l,n,o,r,i,a,s,d,u;if(this.silence)throw e;let c=null==(t=e.config)?void 0:t.skipNotify;if(c&&("function"==typeof c&&c(e)||!0===c))throw e;let p=null==e||null==(n=e.response)||null==(l=n.data)?void 0:l.redirectTo;if(p)return window.location.href=p;if((null==e||null==(r=e.response)||null==(o=r.data)?void 0:o.type)==="application/json")AN(e,this.notification);else{AB.size>10&&AB.clear();let t=!!(null==e||null==(s=e.response)||null==(a=s.data)||null==(i=a.error)?void 0:i.maintaining);if(this.app.maintaining!==t&&(this.app.maintaining=t),this.app.maintaining)throw this.app.error=null==e||null==(u=e.response)||null==(d=u.data)?void 0:d.error,e;this.app.error&&(this.app.error=null);let l=this.toErrMessages(e);if(0===(l=l.filter(e=>{let t=AB.get(e.message);return!(t&&new Date().getTime()-t<500)&&(AB.set(e.message,new Date().getTime()),!0)})).length)throw e;AE("error",l,this.notification)}throw e}useNotificationMiddleware(){let e=this.handleNotificationError.bind(this);e._name="handleNotificationError",this.axios.interceptors.response.use(e=>{var t,l;return(null==(l=e.data)||null==(t=l.messages)?void 0:t.length)&&AE("success",e.data.messages.filter(e=>{let t=AB.get("string"==typeof e?e:e.message);return!(t&&new Date().getTime()-t<500)&&(AB.set(e.message,new Date().getTime()),!0)}),this.notification),e},e)}silent(){let e=this.cloneInstance();return e.silence=!0,e}constructor(...e){super(...e),this.services={},this.silence=!1}}let Aq=e=>{let{apiClient:t,children:l}=e;return(0,O.jsx)(Av.Provider,{value:t,children:l})};class AL{get fields(){return this.options.fields||[]}get app(){return this.collectionManager.app}get dataSource(){return this.options.dataSource}get sourceKey(){return this.options.sourceKey}get name(){return this.options.name}get key(){return this.options.key}get title(){return this.options.title}get inherit(){return this.options.inherit}get hidden(){return this.options.hidden}get description(){return this.options.description}get duplicator(){return this.options.duplicator}get category(){return this.options.category}get targetKey(){return this.options.targetKey}get model(){return this.options.model}get createdBy(){return this.options.createdBy}get updatedBy(){return this.options.updatedBy}get logging(){return this.options.logging}get from(){return this.options.from}get rawTitle(){return this.options.rawTitle}getPrimaryKey(){if(this.primaryKey)return this.primaryKey;if(this.options.targetKey)return this.options.targetKey;let e=this.getFields({primaryKey:!0})[0];return this.primaryKey=null==e?void 0:e.name,this.primaryKey}getFilterTargetKey(){return this.filterTargetKey||this.getPrimaryKey()||"id"}get inherits(){return this.options.inherits||[]}get titleField(){return this.hasField(this.options.titleField)?this.options.titleField:this.getPrimaryKey()}get sources(){return this.options.sources||[]}get template(){return this.options.template}get tableName(){return this.options.tableName}get viewName(){return this.options.viewName}get writableView(){return this.options.writableView}get filterTargetKey(){return this.options.filterTargetKey}get sortable(){return this.options.sortable}get autoGenId(){return this.options.autoGenId}get magicAttribute(){return this.options.magicAttribute}get tree(){return this.options.tree}get isThrough(){return this.options.isThrough}get autoCreate(){return this.options.autoCreate}get resource(){return this.options.resource}setOption(e,t){return this.options[e]=t,this}getOptions(){return this.options}getOption(e){return this.options[e]}getFields(e){return e?(0,id.filter)(this.fields,e):this.fields}getAllFields(e){return this.getFields(e)}getFieldsMap(){return this.fieldsMap||(this.fieldsMap=this.getFields().reduce((e,t)=>(e[t.name]=t,e),{})),this.fieldsMap}getFieldByAssociationName(e){let t=this.getFieldsMap(),[l,...n]=String(e).split("."),o=t[l];if(!o)return;let r=null==o?void 0:o.target;if(!r)return;let i=this.collectionManager.getCollection(r);if(i)return i.getField(n.join("."))}getField(e){if(!e)return;let t=this.getFieldsMap();if(String(e).split(".").length>1){let t=this.getFieldByAssociationName(e);return t||("string"==typeof e&&e.startsWith(`${this.name}.`)?(e=e.replace(`${this.name}.`,""),this.getField(e)):void 0)}return t[e]}hasField(e){return!!this.getField(e)}isTitleField(e){var t;return null==(t=this.app.dataSourceManager.collectionFieldInterfaceManager.getFieldInterface(e.interface))?void 0:t.titleUsable}isInherited(){return this.inherits.length>0}constructor(e,t){this.options=e,this.collectionManager=t}}let{ConfigContext:A_}=et.Ay,AV=()=>(0,P.useContext)(A_),Az=(e,t)=>{let{getPrefixCls:l}=(0,P.useContext)(et.Ay.ConfigContext)||{};if("ConfigContext"in et.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??""}`}},AK=()=>ee.A.useToken(),AU=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Loading...",t=arguments.length>1?arguments[1]:void 0,l=null,n=setTimeout(()=>{l=Si.Ay.loading(e)},100);try{return await t()}finally{null==l||l(),clearTimeout(n)}},AW={...lW},{version:AH,render:AG,unmountComponentAtNode:AY}=AW;try{Number((AH||"").split(".")[0])>=18&&AW.createRoot&&(n=AW.createRoot)}catch(e){}function AJ(e){let{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:t}=AW;t&&"object"==typeof t&&(t.usingClientEntryPoint=e)}let AX="__antd_mobile_root__";function AQ(e,t){AG(e,t)}function AZ(e,t){AJ(!0);let l=t[AX]||n(t);AJ(!1),l.render(e),t[AX]=l}function A0(e,t){n?AZ(e,t):AQ(e,t)}function A1(e){return AY(e)}async function A2(e){return Promise.resolve().then(()=>{var t;null==(t=e[AX])||t.unmount(),delete e[AX]})}function A8(e){return n?A2(e):A1(e)}let A6=(0,q.observable)(new Map),A3=e=>{let t=e=>(e.id&&!A6.has(e.id)&&A6.set(e.id,null),(0,O.jsxs)(P.Fragment,{children:[e.children,(0,O.jsx)(np.Observer,{children:()=>{if(!e.id)return(0,O.jsx)(O.Fragment,{});let t=A6.get(e.id);return t?(0,lU.createPortal)(t,document.body):(0,O.jsx)(O.Fragment,{})}})]}));return t.defaultProps={id:e},t};function A5(e,t){return{render:function(l){A6.has(t)?A6.set(t,null==l?void 0:l()):e&&A0((0,O.jsx)(P.Fragment,{children:null==l?void 0:l()}),e)},unmount:function(){if(A6.has(t)&&A6.set(t,null),e&&A8(e)&&e.parentNode){var l;null==(l=e.parentNode)||l.removeChild(e)}}}}let A4=(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"}}}}},A7=(e,t)=>l=>{let{theme:n,token:o,hashId:r}=AK(),{getPrefixCls:i,iconPrefixCls:a}=AV(),s=Az(e),d=i(),u=(0,r9.useStyleRegister)({theme:n,token:o,hashId:r,path:["formily-antd",e,s,a]},()=>{let e=`.${s}`,n=t((0,ii.merge)(o,{componentCls:e,prefixCls:s,iconCls:`.${a}`,antCls:`.${d}`}),l,{hashId:r,prefixCls:s,rootPrefixCls:d,iconPrefixCls:a});return[A4(o,s),n]});return{wrapSSR:(0,P.useMemo)(()=>u,[n,o,r,s,a,d,l]),hashId:r,componentCls:s,rootPrefixCls:d}};var A9=l(38221),Pe=l.n(A9);let Pt=(0,P.createContext)(null);Pt.displayName="DataSourceManagerContext";let Pl=e=>{let{children:t,dataSourceManager:l}=e;return(0,O.jsx)(Pt.Provider,{value:l,children:t})};function Pn(){return(0,P.useContext)(Pt)}function Po(){let e=Pn();return{getAllCollectionsInheritChain:(0,P.useCallback)((t,l)=>{var n,o,r;return null==e||null==(r=e.getDataSource(l))||null==(o=r.collectionManager)||null==(n=o.getCollection(t))?void 0:n.getInheritChain()},[e])}}var Pr=l(68870);let Pi=(0,P.createContext)(null);Pi.displayName="DataSourceContext";let Pa=e=>{let{children:t,dataSource:l}=e,n=Pn(),{t:o}=(0,eX.B)(),{refresh:r}=Rq(),[i,a]=P.useState(0),s=null==n?void 0:n.getDataSource(l);return s?"loading-failed"===s.status?(0,O.jsx)(eaV,{type:"Data Source",name:s.displayName||l,message:s.errorMessage||"loading failed"}):"loading"===s.status||"reloading"===s.status?(0,O.jsx)(eom,{children:(0,O.jsx)(eY.Ay,{icon:(0,O.jsx)(Pr.A,{}),title:`${s.displayName||l} ${o("data source")} ${o("loading")}...`,extra:(0,O.jsx)(eJ.Ay,{type:"primary",onClick:()=>s.reload().then(()=>{r(),a(Math.random())}),children:o("Refresh")})})}):(0,O.jsx)(Pi.Provider,{value:s,children:t}):(0,O.jsx)(eaV,{type:"Data Source",name:l})};function Ps(){return(0,P.useContext)(Pi)}function Pd(){let e=(0,P.useContext)(Pi);return null==e?void 0:e.key}let Pu=(0,P.createContext)(null);Pu.displayName="ExtendCollectionsContext";let Pc=e=>{let{children:t,collections:l}=e,n=Pp(),o=(0,P.useMemo)(()=>n?[...n,...l]:l,[n,l]),r=Pd();return(0,O.jsx)(Pu.Provider,{value:o,children:(0,O.jsx)(Pf,{dataSource:r,children:t})})};function Pp(){return(0,P.useContext)(Pu)}let Pm=(0,P.createContext)(null);Pm.displayName="CollectionManagerContext";let Ph=e=>{let{instance:t,children:l}=e,n=Ps(),o=Pp(),r=(0,P.useMemo)(()=>t||(null==n?void 0:n.collectionManager),[t,n]),[i,a]=P.useState(Math.random());(0,P.useEffect)(()=>{r.dataSource.addReloadCallback(()=>{a(Math.random())})},[r]);let s=(0,P.useMemo)(()=>{let e=r;return(null==o?void 0:o.length)?e.clone(o):e},[r,o,i]);return(0,O.jsx)(Pm.Provider,{value:s,children:l})},Pf=e=>{let{instance:t,dataSource:l,children:n}=e;return(0,O.jsx)(Pa,{dataSource:l,children:(0,O.jsx)(Ph,{instance:t,children:n})})};function Pg(){return(0,P.useContext)(Pm)}let Pv=e=>{let t=Pg();return(0,P.useMemo)(()=>t.getCollections(e),[t,e])},Py=(0,P.createContext)({});Py.displayName="SchemaComponentContext.Provider";let Px=()=>(0,P.useContext)(np.SchemaOptionsContext)||{},Pb=(0,P.memo)(e=>{let{children:t}=e,l=Px(),n=(0,P.useMemo)(()=>({...l.components,...e.components}),[l.components,e.components]),o=(0,P.useMemo)(()=>({...l.scope,...e.scope}),[l.scope,e.scope]),r=(0,P.useMemo)(()=>({scope:o,components:n}),[o,n]);return(0,O.jsx)(np.SchemaOptionsContext.Provider,{value:r,children:(0,O.jsx)(np.SchemaComponentsContext.Provider,{value:n,children:(0,O.jsx)(np.ExpressionScope,{value:o,children:t})})})});function Pw(e){return np.Schema.isSchemaInstance(e)?e:new np.Schema((null==e?void 0:e.name)?{type:"object",properties:{[e.name]:e},name:`p_${e.name}`}:e)}Pb.displayName="SchemaComponentOptions";let PS=e=>(0,P.useMemo)(()=>Pw(e),[]),PC=(0,P.createContext)({onChange:iu().noop}),PF=(0,P.memo)(e=>{let{components:t,scope:l,schema:n,distributed:o,onChange:r,parentSchema:i,...a}=e,s=(0,P.useContext)(Py),d=(0,P.useMemo)(()=>Pw(n),[n]),u=(0,P.useMemo)(()=>({...s,distributed:!1!=s.distributed&&o,refresh:s.refresh||iu().noop}),[s,o]),{onChange:c}=(0,P.useContext)(PC),p=(0,P.useMemo)(()=>({onChange:()=>{null==r||r(d),null==c||c()}}),[r,c,d]);return(0,O.jsx)(PC.Provider,{value:p,children:(0,O.jsx)(Py.Provider,{value:u,children:(0,O.jsx)(Pb,{inherit:!0,components:t,scope:l,children:(0,O.jsx)(P1,{...a,schema:d,isUseFormilyField:!0,parentSchema:i})})})})});PF.displayName="RecursionSchemaComponent";let Pk=(0,P.memo)(e=>{let{schema:t,parentSchema:l,...n}=e,o=PS(t);return(0,O.jsx)(PF,{...n,schema:o,parentSchema:l})});Pk.displayName="MemoizedSchemaComponent";let PA=(0,P.memo)(e=>{let{memoized:t,...l}=e;return t?(0,O.jsx)(Pk,{...l}):(0,O.jsx)(PF,{...l})});PA.displayName="SchemaComponent";let PP=Object.freeze({}),PM={},Pj=e=>/{{.*?}}/g.test(e),PI=function(){let{noCache:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{noCache:!1},t=(0,P.useContext)(np.SchemaOptionsContext),l=(0,P.useContext)(np.SchemaExpressionScopeContext);return(n,o)=>{let r,i=!1;if("string"==typeof n&&n.startsWith("{{")&&(i=!0,r=n),n&&"object"==typeof n&&!(0,P.isValidElement)(n)){try{r=JSON.stringify(n)}catch(e){return console.warn("Failed to stringify:",e),n}if(PM[r])return PM[r];i=Pj(r)}if(Array.isArray(n)){try{r=JSON.stringify(n)}catch(e){return console.warn("Failed to stringify:",e),n}if(PM[r])return PM[r];i=Pj(r)}if(i){let i={...null==t?void 0:t.scope,...l,...o};if(!r)return np.Schema.compile(n,i);try{if(e)return np.Schema.compile(n,i);return PM[r]=PM[r]||np.Schema.compile(n,i),PM[r]}catch(e){return console.log("useCompile error",n,e),np.Schema.compile(n,i)}}return n}},PT=(e,t)=>{if((e||t)&&!(0,ii.isFn)(e))return(0,O.jsxs)(P.Fragment,{children:[e,t]})},PR=e=>e&&("object"==typeof e||"function"==typeof e),PE=(e,t,l)=>(0,ii.isFn)(e)?e(t,l):e,PN=e=>{let t,l=(0,P.useContext)(np.SchemaComponentsContext),n=e.field,o=PT(PE(e.children,n,n.form),n.content??n.componentProps.children);if("visible"!==n.display)return null;let r=e=>PR(e)?e:ii.FormPath.getIn(l,e)??e;return t=n.componentType?P.createElement(r(n.componentType),{...n.componentProps,value:n.value},o):o,n.decoratorType?P.createElement(r(n.decoratorType),n.decoratorProps,t):(0,O.jsx)(P.Fragment,{children:t})};PN.displayName="NocoBaseReactiveInternal";let PD=PN;function P$(e){return new PB(e)}PD.displayName="NocoBaseReactiveField";class PB{initialize(){var e,t,l,n,o,r,i,a,s,d,u,c,p,m,h,f,g,v,y,x;let b=this.props.compile;this.pattern="readPretty",this.readPretty=!0,this.initialized=!0,this.loading=!1,this.validating=!1,this.submitting=!1,this.selfModified=!1,this.active=!1,this.visited=!0,this.mounted=!0,this.unmounted=!1,this.inputValues=[],this.inputValue=null,this.feedbacks=[],this.title=b(this.props.title||(null==(e=this.props.schema)?void 0:e.title)),this.description=b(this.props.description||(null==(t=this.props.schema)?void 0:t.description)),this.display="visible",this.editable=this.props.editable||(null==(l=this.props.schema)?void 0:l["x-editable"]),this.disabled=this.props.disabled||(null==(n=this.props.schema)?void 0:n["x-disabled"]),this.readOnly=this.props.readOnly||(null==(o=this.props.schema)?void 0:o["x-read-only"]),this.visible=this.props.visible||(null==(r=this.props.schema)?void 0:r["x-visible"]),this.hidden=this.props.hidden||(null==(i=this.props.schema)?void 0:i["x-hidden"]),this.dataSource=b(this.props.dataSource||(null==(a=this.props.schema)?void 0:a.enum)),this.validator=this.props.validator,this.required=this.props.required||!!(null==(s=this.props.schema)?void 0:s.required),this.content=b(this.props.content||(null==(d=this.props.schema)?void 0:d["x-content"])),this.initialValue=b(this.props.initialValue||(null==(u=this.props.schema)?void 0:u.default)),this.value=b(this.props.value),this.data=this.props.data||(null==(c=this.props.schema)?void 0:c["x-data"]),this.decorator=this.props.decorator?(0,ii.toArr)(this.props.decorator):[null==(p=this.props.schema)?void 0:p["x-decorator"],null==(m=this.props.schema)?void 0:m["x-decorator-props"]],this.component=this.props.component?(0,ii.toArr)(this.props.component):[null==(h=this.props.schema)?void 0:h["x-component"],null==(f=this.props.schema)?void 0:f["x-component-props"]],this.decoratorProps=(null==(g=this.props.schema)?void 0:g["x-decorator-props"])||{},this.componentProps=(null==(v=this.props.schema)?void 0:v["x-component-props"])||{},this.decoratorType=null==(y=this.props.schema)?void 0:y["x-decorator"],this.componentType=null==(x=this.props.schema)?void 0:x["x-component"],this.path={},this.form={},this.address={concat:iu().noop}}constructor(e){this.props=e,this.initialize()}}let PO=e=>{let t=PI(),l=(0,np.useFieldSchema)(),n=(0,P.useMemo)(()=>P$({...e,compile:t}),[]);return Object.assign(n.componentProps,l["x-component-props"]),n.value=e.value,(0,O.jsx)(np.FieldContext.Provider,{value:n,children:(0,O.jsx)(PD,{field:n,children:e.children})})},Pq=P.createContext({}),PL=P.createContext(iu().noop),P_=e=>{let{children:t,refresh:l}=e,n=PU(),o=(0,P.useCallback)(e=>{l(),(null==e?void 0:e.refreshParentSchema)&&(null==n||n())},[n,l]);return(0,O.jsx)(PL.Provider,{value:o,children:t})},PV=P.createContext(iu().noop),Pz=e=>{let{children:t,refresh:l}=e;return(0,O.jsx)(PV.Provider,{value:l,children:t})},PK=()=>P.useContext(PV),PU=()=>P.useContext(PL),PW=()=>P.useContext(Pq)||{},PH=e=>{let{children:t,fieldSchema:l}=e,n=eaQ(),o=Pg(),r=null==l?void 0:l.name,i=(0,P.useMemo)(()=>{var e;if(!n)return null;let t=null==l||null==(e=l["x-component-props"])?void 0:e.field;return o.getCollectionField(null==l?void 0:l["x-collection-field"])||t||n.getField((null==t?void 0:t.name)||r)},[n,o,l,r]);return(0,O.jsx)(Pq.Provider,{value:i,children:t})},PG=iu().memoize((e,t)=>e.toFieldProps({scope:t})),PY=e=>PG(e,(0,np.useExpressionScope)()),PJ=e=>{let t=(0,np.useField)();if(e.onlyRenderProperties){var l;return e.basePath||(null==t||null==(l=t.address)?void 0:l.concat(e.name))}return e.basePath||(null==t?void 0:t.address)},PX=(e,t,l)=>{let n=e.toJSON();if(l){if(!n.properties)return e;let l=Object.keys(n.properties)[0],o=Object.values(n.properties)[0];return n.properties[l]=(0,ii.merge)(iu().omit(t,"type","x-read-pretty"),o),new np.Schema(n)}return new np.Schema((0,ii.merge)(iu().omit(t,"type","x-read-pretty"),n))},PQ=e=>{let{schema:t,field:l,basePath:n,mapProperties:o,filterProperties:r,propsRecursion:i,values:a,isUseFormilyField:s}=e,d=np.Schema.getOrderProperties(t);return d.length?(0,O.jsx)(P.Fragment,{children:d.map((e,t)=>{let{schema:d,key:u}=e,c=(null==l?void 0:l.address)||n,p=d;if((0,ii.isFn)(o)){let e=o(d,u);e&&(p=e)}if((0,ii.isFn)(r)&&!1===r(p,u))return null;let m=(0,ii.isBool)(i)&&i?(0,O.jsx)(P1,{propsRecursion:!0,filterProperties:r,mapProperties:o,schema:p,name:u,basePath:c,values:iu().get(a,u),isUseFormilyField:s}):(0,O.jsx)(P1,{schema:p,name:u,basePath:c,values:iu().get(a,u),isUseFormilyField:s});return"CollectionField"===p["x-component"]?(0,O.jsx)(PZ.Provider,{value:!0,children:(0,O.jsx)(PH,{fieldSchema:p,children:m})},`${t}-${u}`):(0,O.jsx)(PZ.Provider,{value:!1,children:(0,O.jsx)(Pq.Provider,{value:PP,children:m})},`${t}-${u}`)})}):null},PZ=P.createContext(!1),P0=()=>P.useContext(PZ),P1=P.memo(e=>{let{schema:t,name:l,onlyRenderProperties:n,onlyRenderSelf:o,mapProperties:r,filterProperties:i,propsRecursion:a,values:s,isUseFormilyField:d=!0,uiSchema:u,parentSchema:c}=e,p=PJ(e),m=(0,P.useRef)(null),h=(0,P.useMemo)(()=>(m.current=null,new np.Schema(t)),[t]),{uiSchema:f,defaultValue:g}=PW(),v=(0,CK.A)(),{onChange:y}=(0,P.useContext)(PC),x=m.current||h;if(!x.parent&&c){var b,w;x.parent=c,(null==(w=x.parent)||null==(b=w.properties)?void 0:b[x.name])||!x.name||iu().set(x.parent,`properties.${x.name}`,x)}let S=(0,P.useCallback)(()=>{let e=x.parent;m.current=new np.Schema(x.toJSON(),e),(null==e?void 0:e.properties)&&Object.keys(e.properties).forEach(t=>{t===x.name&&(e.properties[t]=m.current)}),v(),null==y||y()},[x,y,v]),C=(0,P.useMemo)(()=>u?PX(x,u,n):f?(f.default=g,PX(x,f,n)):x,[f,g,x,n,u]),F=PY(C),k=e=>{if(!o)return PQ({schema:x,field:e,basePath:p,mapProperties:r,filterProperties:i,propsRecursion:a,values:s,isUseFormilyField:d})},A=()=>(0,ii.isValid)(l)?"object"===C.type?n?k():(0,O.jsx)(np.ObjectField,{...F,name:l,basePath:p,children:k}):"array"===C.type?(0,O.jsx)(np.ArrayField,{...F,name:l,basePath:p}):"void"===C.type?n?k():(0,O.jsx)(np.VoidField,{...F,name:l,basePath:p,children:k}):d?(0,O.jsx)(np.Field,{...F,name:l,basePath:p}):(0,O.jsx)(PO,{name:l,value:s,initialValue:s,basePath:p,schema:C}):k();return x?(0,O.jsx)(np.SchemaContext.Provider,{value:x,children:(0,O.jsx)(P_,{refresh:S,children:A()})}):(0,O.jsx)(P.Fragment,{})});P1.displayName="NocoBaseRecursionField";var P2=l(58156),P8=l.n(P2),P6=l(63560),P3=l.n(P6);let P5=Symbol("LAZY_COMPONENT_KEY"),P4=new Map;function P7(e){for(var t=arguments.length,l=Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];if(0===l.length){let t=(0,P.lazy)(()=>e().then(e=>{let t=e.default;return l[P5]=t,{default:t}})),l=e=>(0,O.jsx)(P.Suspense,{fallback:(0,O.jsx)(nT.A,{}),children:(0,O.jsx)(t,{...e})});return l}return l.reduce((t,l)=>{let n=(0,P.lazy)(()=>e().then(e=>{let n=(0,id.get)(e,l);return t[l][P5]=n,{default:n}}));return t[l]=e=>(0,O.jsx)(P.Suspense,{fallback:(0,O.jsx)(nT.A,{}),children:(0,O.jsx)(n,{...e})}),t},{})}function P9(e,t){let l="function"==typeof t?t:e=>e[t],n=e.toString(),o=P4.get(n);if(null==o?void 0:o.error)throw o.error;if(null==o?void 0:o.module)return l(o.module);if(!(null==o?void 0:o.promise)){let t=o||{};throw t.promise=e().then(e=>(t.module=e,e)).catch(e=>{throw t.error=e,e}),P4.set(n,t),t.promise}throw o.promise}function Me(e,t){if(e)return e["x-app-version"]||(e["x-app-version"]=t),Object.keys(e.properties||{}).forEach(l=>{var n;Me(null==(n=e.properties)?void 0:n[l],t)}),e}var Mt="2.2.9";function Ml(e){return new Ms(e)}let Mn=e=>{e&&(e["x-uid"]||(e["x-uid"]=(0,ii.uid)()),Object.keys(e.properties||{}).forEach(t=>{Mn(e.properties[t])}))},Mo=e=>e,Mr=(e,t)=>{if(e&&t){for(let l in t)if(Object.prototype.hasOwnProperty.call(t,l)&&t[l]!==(null==e?void 0:e[l]))return!1;return!0}},Mi=(e,t)=>{if(e["x-uid"]&&e["x-uid"]===t["x-uid"])return[null,e.toJSON()];let l=e.toJSON(),n={...l,properties:{}},o=null,r=(e,l)=>{Object.keys(e||{}).forEach(n=>{let i=e[n];if(i["x-uid"]===t["x-uid"]){o=e[n];return}l.properties[n]={...i,properties:{}},r(null==i?void 0:i.properties,l.properties[n])})};return r(l.properties,n),[n,o]},Ma=e=>e;class Ms{get model(){return this.options.model}get query(){return this.options.query}loadAPIClientEvents(){let{api:e,t=Ma}=this.options;if(!e)return;let l=e=>{if(!e)return[];let t=Object.values(e.properties).length,l=[];return(e.mapProperties(e=>{e["x-component-props"]=e["x-component-props"]||{},e["x-component-props"].width=100/t,e["x-uid"]&&l.push({"x-uid":e["x-uid"],"x-component-props":e["x-component-props"]})}),e["x-uid"]&&l.length)?l:[]};this.on("insertAdjacent",async n=>{var o;let{onSuccess:r,current:i,position:a,schema:s,wrap:d,wrapped:u,removed:c}=n,p=[];if((null==u?void 0:u["x-component"])==="Grid.Col"&&(p=p.concat(l(u.parent))),(null==c?void 0:c["x-component"])==="Grid.Col"&&(p=p.concat(l(c.parent))),this.refresh(),!i["x-uid"])return;let m=await e.request({url:`/uiSchemas:insertAdjacent/${i["x-uid"]}?position=${a}`,method:"post",data:{schema:Me(s,this.appVersion),wrap:d}});p.length&&await e.request({url:"/uiSchemas:batchPatch",method:"post",data:p}),(null==c?void 0:c["x-uid"])&&await e.request({url:`/uiSchemas:remove/${c["x-uid"]}`,method:"post"}),null==r||r(null==m||null==(o=m.data)?void 0:o.data),Si.Ay.success(t("Saved successfully"),.2)}),this.on("patch",async l=>{let{schema:n}=l;this.refresh(),(null==n?void 0:n["x-uid"])&&(await e.request({url:"/uiSchemas:patch",method:"post",data:{...n}}),Si.Ay.success(t("Saved successfully"),.2))}),this.on("initializeActionContext",async t=>{let{schema:l}=t;(null==l?void 0:l["x-uid"])&&await e.request({url:"/uiSchemas:initializeActionContext",method:"post",data:{...l}})}),this.on("batchPatch",async l=>{let{schemas:n}=l;this.refresh(),await e.request({url:"/uiSchemas:batchPatch",method:"post",data:n}),Si.Ay.success(t("Saved successfully"),.2)}),this.on("remove",async n=>{let{removed:o}=n,r=[];(null==o?void 0:o["x-component"])==="Grid.Col"&&(r=l(o.parent)),this.refresh(),(null==o?void 0:o["x-uid"])&&(await e.request({url:`/uiSchemas:remove/${o["x-uid"]}`,method:"post"}),r.length&&await e.request({url:"/uiSchemas:batchPatch",method:"post",data:r}),Si.Ay.success(t("Saved successfully"),.2))})}prepareProperty(e){e.type||(e.type="void"),e.name||(e.name=(0,ii.uid)()),this.current["x-uid"]&&Mn(e)}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}async emit(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.events[e])return;let[o,...r]=l;return Promise.all(this.events[e].map(e=>e.bind(this)({current:this.current,...o},...r)))}parentsIn(e){if(!e||!np.Schema.isSchemaInstance(e))return!1;let t=this.current;for(;null==t?void 0:t.parent;){if(t.parent===e)return!0;t=t.parent}return!1}refresh(e){let{refresh:t}=this.options;return null==t?void 0:t(e)}deepMerge(e){let t={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},l={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(e).forEach(n=>{t[n]?(this.current[n]=e[n],this.updateModel(t[n],e[n])):l[n]?Object.keys(e[n]).forEach(t=>{P3()(this.current,[n,t],e[n][t]),this.updateModel([l[n],t],e[n][t])}):this.current[n]=e[n]}),this.emit("patch",{schema:e})}getSchemaAttribute(e,t){return P8()(this.current,e,t)}shallowMerge(e){let t={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(e).forEach(l=>{this.current[l]=e[l],t[l]&&this.updateModel(t[l],e[l])}),this.emit("patch",{schema:e})}updateModel(e,t){let l=l=>{P3()(l,e,t)};this.model&&l(this.model),this.query&&this.query.take(l)}insertAdjacent(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};switch(e){case"beforeBegin":return this.insertBeforeBegin(t,l);case"afterBegin":return this.insertAfterBegin(t,l);case"beforeEnd":return this.insertBeforeEnd(t,l);case"afterEnd":return this.insertAfterEnd(t,l)}}recursiveRemoveIfNoChildren(e,t){let l;if(!e)return;let n=e,o=null==t?void 0:t.breakRemoveOn;for(;n;){if("function"==typeof o){if(o(n))break}else if(Mr(n,o))break;if(Object.keys(n.properties||{}).length>0)break;n.parent&&(l=n.parent.removeProperty(n.name)),n=n.parent}return l}remove(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{breakRemoveOn:l,removeParentsIfNoChildren:n}=t,o=e||this.current,r=o.parent.removeProperty(o.name);if(n){let e=this.recursiveRemoveIfNoChildren(o.parent,{breakRemoveOn:l});e&&(r=e)}return this.emit("remove",{removed:r})}removeWithoutEmit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{breakRemoveOn:l,removeParentsIfNoChildren:n}=t,o=e||this.current,r=o.parent.removeProperty(o.name);if(n){let e=this.recursiveRemoveIfNoChildren(o.parent,{breakRemoveOn:l});e&&(r=e)}return r}insertBeforeBeginOrAfterEnd(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!np.Schema.isSchemaInstance(this.current)||!np.Schema.isSchemaInstance(e)||this.current.parent!==e.parent)return;let l=0,n=0;return this.current.parent.mapProperties((t,o,r)=>{this.current.name===o&&(n=r),e.name===o&&(l=r)}),l>n?this.insertBeforeBegin(e,t):this.insertAfterEnd(e,t)}insertBeforeBegin(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!np.Schema.isSchemaInstance(this.current))return;let l={onSuccess:t.onSuccess},{wrap:n=Mo,breakRemoveOn:o,removeParentsIfNoChildren:r}=t;if(np.Schema.isSchemaInstance(e)){if(this.parentsIn(e))return void this.emit("error",{code:"parent_is_not_allowed",schema:e});e.parent.removeProperty(e.name),r&&(l.removed=this.recursiveRemoveIfNoChildren(e.parent,{breakRemoveOn:o}))}else e&&(e=Ah()(e));let i={},a=!1,s=0,d=0;this.current.parent.mapProperties((e,t)=>{t===this.current.name&&(d=s,a=!0,++s),e["x-index"]=s,++s,a&&(i[t]=e,this.current.parent.removeProperty(t))}),this.prepareProperty(e);let u=n(e),c=this.current.parent.addProperty(u.name||(0,ii.uid)(),u);c["x-index"]=d,c.parent=this.current.parent,this.current.parent.setProperties(i);let[p,m]=Mi(c,e);this.emit("insertAdjacent",{position:"beforeBegin",schema:m,wrapped:u,wrap:p,...l})}insertAfterBegin(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!np.Schema.isSchemaInstance(this.current))return;let l={onSuccess:t.onSuccess},{wrap:n=Mo,breakRemoveOn:o,removeParentsIfNoChildren:r}=t;if(np.Schema.isSchemaInstance(e)){if(this.parentsIn(e))return void this.emit("error",{code:"parent_is_not_allowed",schema:e});e.parent.removeProperty(e.name),r&&(l.removed=this.recursiveRemoveIfNoChildren(e.parent,{breakRemoveOn:o}))}else e&&(e=Ah()(e));let i={},a=1;this.current.mapProperties((e,t)=>{e["x-index"]=a,++a,i[t]=e}),this.current.properties={},this.prepareProperty(e);let s=n(e),d=this.current.addProperty(s.name||(0,ii.uid)(),s);d["x-index"]=0,d.parent=this.current,this.current.setProperties(i);let[u,c]=Mi(d,e);this.emit("insertAdjacent",{position:"afterBegin",schema:c,wrap:u,wrapped:s,...l})}insertBeforeEnd(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!np.Schema.isSchemaInstance(this.current))return;delete e["x-index"];let l={onSuccess:t.onSuccess},{wrap:n=Mo,breakRemoveOn:o,removeParentsIfNoChildren:r}=t;if(np.Schema.isSchemaInstance(e)){if(this.parentsIn(e))return void this.emit("error",{code:"parent_is_not_allowed",schema:e});e.parent.removeProperty(e.name),r&&(l.removed=this.recursiveRemoveIfNoChildren(e.parent,{breakRemoveOn:o}))}else e&&(e=Ah()(e));this.prepareProperty(e);let i=n(e),a=this.current.addProperty(i.name||(0,ii.uid)(),i);a.parent=this.current;let[s,d]=Mi(a,e);return this.emit("insertAdjacent",{position:"beforeEnd",schema:d,wrap:s,wrapped:i,...l})}insertAfterEnd(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!np.Schema.isSchemaInstance(this.current))return;let l={onSuccess:null==t?void 0:t.onSuccess},{wrap:n=Mo,breakRemoveOn:o,removeParentsIfNoChildren:r}=t,i=0,a=0,s=!1,d={};if(this.current.parent.mapProperties((e,t)=>{e["x-index"]=i,t===this.current.name&&(a=++i,s=!0),++i,s&&t!==this.current.name&&(d[t]=e,this.current.parent.removeProperty(t))}),np.Schema.isSchemaInstance(e)){if(this.parentsIn(e))return void this.emit("error",{code:"parent_is_not_allowed",schema:e});e.parent.removeProperty(e.name),r&&(l.removed=this.recursiveRemoveIfNoChildren(e.parent,{breakRemoveOn:o})),e.parent=null}else e&&(e=Ah()(e));this.prepareProperty(e);let u=n(e),c=this.current.parent.addProperty(u.name||(0,ii.uid)(),u);c.parent=this.current.parent,c["x-index"]=a,this.current.parent.setProperties(d);let[p,m]=Mi(c,e);this.emit("insertAdjacent",{position:"afterEnd",schema:m,wrap:p,wrapped:u,...l})}constructor(e){this.events={},this.options=e,this.current=e.current,this.appVersion=e.appVersion}}function Md(){let e=(0,P.useContext)(np.SchemaOptionsContext),t=(0,P.useMemo)(()=>(null==e?void 0:e.components)||{},[e]);return e=>{if(!e)return null;if("string"!=typeof e)return e;let l=P8()(t,e);return l||console.error(`[nocobase]: Component "${e}" not found`),l}}function Mu(){let{designable:e,setDesignable:t,refresh:l,reset:n}=(0,P.useContext)(Py),o=(0,P.useContext)(np.SchemaOptionsContext),r=(0,P.useMemo)(()=>(null==o?void 0:o.components)||{},[o]),i=(0,P.useMemo)(()=>()=>(0,O.jsx)(O.Fragment,{}),[]),a=(0,CK.A)(),s=PU(),d=PK(),u=(0,P.useCallback)(e=>{null==l||l(),a(),null==s||s(e),null==d||d()},[l,a,s,d]),c=(0,np.useField)(),p=(0,np.useFieldSchema)(),m=Ab(),{t:h}=(0,eX.B)(),f=(0,P.useMemo)(()=>Ml({t:h,api:m,refresh:u,current:p,model:c,appVersion:Mt}),[h,m,u,p,c]);(0,P.useEffect)(()=>{f.loadAPIClientEvents()},[f]);let{isMobileLayout:g}=FI();return{dn:f,designable:!g&&e,reset:n,refresh:u,setDesignable:t,DesignableBar:i,findComponent:(0,P.useCallback)(e=>{if(!e)return null;if("string"!=typeof e)return e;let t=P8()(r,e);return(null==t?void 0:t[P5])??t},[P8()]),on:f.on.bind(f),patch:(0,P.useCallback)((e,t)=>{let l=e=>{Object.keys(e).forEach(t=>{let l=e[t];"title"===t&&(c.title=l,p.title=l),"x-decorator-props"===t&&(c.decoratorProps||(c.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(l).forEach(e=>{c.decoratorProps[e]=l[e],p["x-decorator-props"][e]=l[e]})),"x-component-props"===t&&(c.componentProps||(c.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(l).forEach(e=>{c.componentProps[e]=l[e],p["x-component-props"][e]=l[e]}))})};if("string"==typeof e){let n={};return P3()(n,e,t),l(n)}l(e),u()},[f]),shallowMerge:(0,P.useCallback)(e=>{f.shallowMerge(e)},[f]),deepMerge:(0,P.useCallback)(e=>{f.deepMerge(e)},[f]),remove:(0,P.useCallback)((e,t)=>{f.remove(e,t)},[f]),insertAdjacent:(0,P.useCallback)((e,t,l)=>{f.insertAdjacent(e,t,l)},[f]),insertBeforeBegin:(0,P.useCallback)(e=>{f.insertBeforeBegin(e)},[f]),insertAfterBegin:(0,P.useCallback)(e=>{f.insertAfterBegin(e)},[f]),insertBeforeEnd:(0,P.useCallback)(e=>{f.insertBeforeEnd(e)},[f]),insertAfterEnd:(0,P.useCallback)(e=>{f.insertAfterEnd(e)},[f])}}let Mc=()=>void 0,Mp=(e,t,l)=>{let n;return iu().isFunction(e)?n=e:(n=t[e])||console.error(`${l} is not registered`),n||Mc},Mm=(e,t)=>{let l;if(!e)return Mc;if(iu().isFunction(e))return e;for(let n of e.split("."))l=Mp(n,l||t,e);return l};function Mh(e,t){return Mm(e,(0,np.useExpressionScope)())(t)}function Mf(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=t.displayName||e.displayName||e.name,n=t=>{let{dn:l,findComponent:o}=Mu(),r=Mh((0,P.useMemo)(()=>{let e=l.getSchemaAttribute("x-component"),t=l.getSchemaAttribute("x-decorator"),r=l.getSchemaAttribute("x-use-component-props"),i=l.getSchemaAttribute("x-use-decorator-props");return e&&r&&o(e)===n?r:t&&i&&o(t)===n?i:void 0},[l]),t),i=(0,P.useMemo)(()=>({...t,...r}),[r,t]);return(0,O.jsx)(P.Suspense,{fallback:(0,O.jsx)(nT.A,{}),children:(0,O.jsx)(e,{...i,children:t.children})})};return e.displayName=l,n.displayName=`withSchemaProps(${l})`,n}var Mg=l(16933),Mv=l(60152);let My=new Map;function Mx(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o;My.set(e.toLowerCase(),t)}function Mb(e){return!!e&&My.has(e.toLowerCase())}function Mw(e){Object.keys(e).forEach(t=>{Mx(t,e[t])})}Object.keys(ie).forEach(e=>{Mx(e,ie[e])});let MS=e=>{let{type:t="",component:l,...n}=e;if(l)return(0,O.jsx)(Mg.A,{component:l,...n});if(t&&My.has(t.toLowerCase())){let e=My.get(t.toLowerCase());return(0,O.jsx)(e,{...n})}return t&&o?(0,O.jsx)(o,{type:t}):null};MS.createFromIconfontCN=e=>{o=(0,Mv.A)(e)},MS.register=e=>{Mw(e)};let MC=(0,P.createContext)(null),MF=e=>{let{children:t,parent:l}=e;return(0,O.jsx)(MC.Provider,{value:{parent:l},children:t})},Mk=()=>{let e=P.useContext(MC);return null==e?void 0:e.parent};class MA{setData(e){this.data=e}setParentRecord(e){this.parentRecord=e}constructor(e){const{data:t,parentRecord:l,isNew:n}=e;this.isNew=n,this.data=t,this.parentRecord=l}}let MP=(0,P.createContext)(null);MP.displayName="CollectionRecordContext";let MM=P.memo(e=>{let{isNew:t,record:l,parentRecord:n,children:o}=e,r=(0,P.useMemo)(()=>n?n instanceof MA?n:new MA({data:n}):l instanceof MA?l.parentRecord:void 0,[n,l]),i=(0,P.useMemo)(()=>{let e;return l?l instanceof MA?(e=l).isNew=l.isNew||t:e=new MA({data:l,isNew:t}):e=new MA({isNew:t}),e.setParentRecord(r),e},[l,r,t]);return(0,O.jsx)(MP.Provider,{value:i,children:o})});function Mj(){return(0,P.useContext)(MP)}function MI(){let e=Mj();return null==e?void 0:e.data}function MT(){let e=Mj();return null==e?void 0:e.parentRecord}function MR(){var e;let t=Mj();return null==t||null==(e=t.parentRecord)?void 0:e.data}MM.displayName="CollectionRecordProvider";let ME=P.createContext(null),MN=P.createContext(null),MD=P.memo(e=>{var t,l;let{t:n}=(0,eX.B)(),o=MI(),r=eaQ(),i=M$();return(0,O.jsx)(MN.Provider,{value:{name:"$nParentPopupRecord",title:n("Parent popup record"),value:(null==(t=e.parent)?void 0:t.recordData)||(null==i?void 0:i.value),collection:(null==(l=e.parent)?void 0:l.collection)||(null==i?void 0:i.collection)},children:(0,O.jsx)(ME.Provider,{value:{name:"$nPopupRecord",title:n("Current popup record"),value:e.recordData||o,collection:e.collection||r},children:e.children})})});MD.displayName="VariablePopupRecordProvider";let M$=()=>P.useContext(ME),MB=()=>P.useContext(MN);class MO{get app(){return this.dataSourceManager.app}get key(){return this.options.key}get displayName(){return this.options.displayName}get status(){return this.options.status}get errorMessage(){return this.options.errorMessage}get collections(){return this.collectionManager.getCollections()||[]}getOptions(){return this.options}setOptions(e){Object.assign(this.options,e)}getOption(e){return this.options[e]}addReloadCallback(e){this.reloadCallbacks.includes(e)||this.reloadCallbacks.push(e)}removeReloadCallback(e){this.reloadCallbacks=this.reloadCallbacks.filter(t=>t!==e)}get flowEngineDataSourceManager(){var e;return null==(e=this.app.flowEngine)?void 0:e.context.dataSourceManager}async reload(){let e=await this.getDataSource(),t=this.flowEngineDataSourceManager;return t&&(t.upsertDataSource(this.options),t.getDataSource(this.key).upsertCollections(e.collections||[],{clearFields:!0})),this.setOptions(e),this.collectionManager.setCollections(e.collections||[]),this.reloadCallbacks.forEach(t=>t(e.collections)),this.options}constructor(e,t){this.options=e,this.dataSourceManager=t,this.reloadCallbacks=[],this.collectionManager=new ea2(e.collections,this)}}class Mq extends MO{getDataSource(){return{collections:this.collections}}}class ML{constructor(e){this.collectionTemplateManager=e}}class M_{addCollectionTemplates(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.reduce((e,t)=>{let l=new t(this);return e[l.name]=l,e},{});return Object.assign(this.collectionTemplateInstances,t),this.dataSourceManager.getDataSources().forEach(e=>{let l=e.collectionManager.getCollections(e=>t[e.template]);e.collectionManager.reAddCollections(l)}),t}getCollectionTemplate(e){return this.collectionTemplateInstances[e]}getCollectionTemplates(e){return Object.values(this.collectionTemplateInstances).filter(t=>{var l,n;return!e||!t.supportDataSourceType&&!t.notSupportDataSourceType||(t.supportDataSourceType?null==(l=t.supportDataSourceType)?void 0:l.includes(e):t.notSupportDataSourceType?!(null==(n=t.notSupportDataSourceType)?void 0:n.includes(e)):void 0)}).sort((e,t)=>(e.order||0)-(t.order||0))}constructor(e,t){this.dataSourceManager=t,this.collectionTemplateInstances={},this.addCollectionTemplates(e)}}var MV=l(84795);let Mz=yE()(),MK=(0,k.css)`
1082
1082
  width: 100%;
1083
1083
  & > .ant-space-item {
1084
1084
  flex: 1;
@@ -3218,7 +3218,7 @@ ${o}`,c)}}let n=T(e.issues.filter(e=>"runtime"===e.type)),o=n?`Key runtime issue
3218
3218
  &:hover {
3219
3219
  background-color: ${g.colorFillSecondary};
3220
3220
  }
3221
- `;return(0,n.jsxs)("div",{style:{maxHeight:300,overflowY:"auto"},children:[e.map(e=>(0,n.jsx)("div",{role:"option",onClick:()=>b(e.value),className:l,children:f(e.label)},e.value)),(0,n.jsx)(i.A,{style:{margin:"4px 0"}}),t.map(e=>(0,n.jsx)("div",{role:"option",className:l,onClick:()=>b(e.value),title:f(e.label),children:f(e.label)},e.value))]})};return(0,n.jsxs)(a.A.Compact,{style:{...m.style,width:"100%"},children:[(0,n.jsx)(s.A,{options:x,open:v,onDropdownVisibleChange:y,...m,allowClear:!1,style:{width:"100%",minWidth:100,maxWidth:["past","next","exact",void 0].includes(null==t?void 0:t.type)?100:null},value:(null==t?void 0:t.type)||"exact",onChange:b,dropdownRender:w}),["past","next"].includes(null==t?void 0:t.type)&&[(0,n.jsx)(d.A,{style:{flex:1},value:null==t?void 0:t.number,onChange:e=>{l({...t,number:e})}},"number"),(0,n.jsx)(s.A,{value:null==t?void 0:t.unit,style:{minWidth:130,maxWidth:140},onChange:e=>{l({...t,unit:e})},options:[{value:"day",label:f("Day")},{value:"week",label:f("Calendar week")},{value:"month",label:f("Calendar Month")},{value:"year",label:f("Calendar Year")}],popupMatchSelectWidth:!0},"unit")],((null==t?void 0:t.type)==="exact"||!(null==t?void 0:t.type))&&(0,n.jsx)(F,{...m,value:t,onChange:l})]})}},32644(e,t,l){"use strict";l.d(t,{S:()=>i}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182);let n=new Set(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$in","$notIn"]);function o(e){return!!e&&"object"==typeof e&&!Array.isArray(e)&&"type"in e}function r(e){return null==e||"string"==typeof e&&""===e.trim()}function i(e,t){if(!e)return t;if("$dateBetween"===e){if(null==t||o(t))return t;if(Array.isArray(t)){if(0===t.length)return t;let e=t[0],l=t.length>1?t[1]:void 0,n=r(e),o=r(l);return(1!==t.length||n)&&(n||!o)?n&&!o?[l,l]:t:[e,e]}return[t,t]}return n.has(e)?null==t||Array.isArray(t)?t:"string"==typeof t&&""===t.trim()?[]:[t]:t}},71616(e,t,l){"use strict";l.d(t,{EditFormModel:()=>c}),l(14324),l(89773);var n=l(74848),o=l(11869),r=l(58929),i=l(84626),a=l(40098);l(96540);var s=l(77471),d=l(96491),u=l(84759);class c extends d.F4{createResource(e,t){var l,n;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(n=this.association)?void 0:n.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(o.SingleRecordResource);return e.isNewRecord=!1,e}let r=this.context.createResource(o.MultiRecordResource);return r.setPageSize(1),r}isMultiRecordResource(){return this.resource instanceof o.MultiRecordResource}getCurrentRecord(){let e=this.resource.getData();return Array.isArray(e)?e[0]:e}hasAvailableData(){return this.resource.hasData()}getAclActionName(){return"update"}async submitHandler(e,t,n){let{submitHandler:o}=await Promise.resolve().then(l.bind(l,53831));await o(e,t,n)}async submit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,{submitHandler:n}=await Promise.resolve().then(l.bind(l,53831));await n(this.context,e,t)}renderComponent(){var e,t;let{colon:l,labelAlign:a,labelWidth:s,labelWrap:u,layout:c}=this.props,p=!!this.context.flowSettingsEnabled,m=this.hasAvailableData(),h=!p&&!m,{heightMode:f,height:g}=this.decoratorProps,v=this.resource.loading||m?this.isMultiRecordResource()&&this.resource.getMeta("count")>1?(0,n.jsx)("div",{style:{textAlign:"center",marginTop:16},children:(0,n.jsx)(r.A,{simple:!0,pageSize:1,showSizeChanger:!1,defaultCurrent:this.resource.getPage(),total:this.resource.getTotalPage(),onChange:this.handlePageChange,style:{display:"inline-block"}})}):null:(0,n.jsx)("div",{style:{textAlign:"center",marginTop:16,color:null==(t=this.context)||null==(e=t.themeToken)?void 0:e.colorTextDescription},children:this.translate("No available data currently")});return(0,n.jsx)(d.JU,{model:this,gridModel:this.subModels.grid,layoutProps:{colon:l,labelAlign:a,labelWidth:s,labelWrap:u,layout:c},heightMode:f,height:g,grid:(0,n.jsx)(o.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),actions:(0,n.jsx)("div",{style:h?{pointerEvents:"none",opacity:.45}:void 0,children:(0,n.jsx)(o.DndProvider,{children:(0,n.jsxs)(i.A,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||p)return(0,n.jsx)(o.Droppable,{model:e,children:(0,n.jsx)(o.MemoFlowModelRenderer,{model:e,showFlowSettings:!!this.context.flowSettingsEnabled&&this.actionFlowSettings,extraToolbarItems:this.actionExtraToolbarItems},e.uid)},e.uid)}),this.renderConfigureActions()]})})}),footer:v})}constructor(...e){super(...e),this.actionFlowSettings={showBackground:!1,showBorder:!1,toolbarPosition:"above"},this.actionExtraToolbarItems=[{key:"drag-handler",component:o.DragHandler,sort:1}],this.handlePageChange=async e=>{if(this.resource instanceof o.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await t.refresh(),await (0,u.Xi)(this,"paginationChange")}}}}c.scene=s.P.oam,c.blockCapabilityActionName="update",c.registerFlow({key:"formSettings",title:(0,o.tExpr)("Edit form settings"),steps:{init:{async handler(e){if(!e.resource)throw Error("Resource is not initialized");e.resource.on("refresh",async()=>{var t,l,n,o,r,i,s,d;let u=e.resource.getMeta("currentFilterByTk"),c={...e.model.getCurrentRecord()};if(!c)return;let p=null==(t=e.association)?void 0:t.targetKey;if(p&&(null==(l=e.association)?void 0:l.interface)!=="m2m"?e.resource.setMeta({currentFilterByTk:null==c?void 0:c[p]}):e.resource.setMeta({currentFilterByTk:e.collection.getFilterByTK(c)}),!e.form)return;let m=e.resource.getMeta("currentFilterByTk"),h=!(0,a.isEqual)(u,m),f=null==(n=(o=e.model).getUserModifiedFields)?void 0:n.call(o),g=!!(null==f?void 0:f.size),v=()=>{if(!(null==f?void 0:f.size))return;let t=e=>null!==e&&"object"==typeof e;for(let l of Array.from(f)){let n=e.form.getFieldValue(l),o=null==c?void 0:c[l];(Object.is(n,o)||t(n)&&t(o)&&(0,a.isEqual)(n,o))&&f.delete(l)}};if(!h&&g){let t={...c};for(let l of f)t[l]=e.form.getFieldValue(l);e.form.setFieldsValue(t),v();return}h&&(null==(r=(i=e.model).resetUserModifiedFields)||r.call(i),null==(s=(d=e.model).resetRuntimeUserEditedState)||s.call(d)),e.form.setFieldsValue(c),v()})}},dataScope:{use:"dataScope"},refresh:{async handler(e){if(!e.resource)throw Error("Resource is not initialized")}}}}),c.registerFlow({key:"paginationChange",on:"paginationChange",steps:{blockLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"blockLinkageRules",flowKey:"cardSettings",stepKey:"linkageRules"}},fieldsLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"fieldLinkageRules",flowKey:"eventSettings",stepKey:"linkageRules"}}}}),c.define({label:(0,o.tExpr)("Form (Edit)"),searchable:!0,searchPlaceholder:(0,o.tExpr)("Search"),createModelOptions:{use:"EditFormModel",subModels:{grid:{use:"FormGridModel"}}},sort:340})},96491(e,t,l){"use strict";l.d(t,{JU:()=>K,s2:()=>L,F4:()=>q,mO:()=>U}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(45336),l(91625),l(34678),l(89773),l(79936);var n=l(74848),o=l(49655),r=l(22803),i=l(11869),a=l(89013),s=l(40098),d=l.n(s),u=l(46629),c=l(96540),p=l(2117),m=l(25359),h=l(52175);l(5409),l(21947),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(69861),l(23446),l(38263),l(23089),l(82855),l(17106),l(36792);var f=l(95243),g=l(29676),v=l(47632);function y(e){let t,l,n,o=()=>{let e=t;e&&(l&&(e.setFieldValue=l),n&&(e.setFieldsValue=n),t=void 0,l=void 0,n=void 0)};return{patch:r=>{if(t===r)return;o();let i="function"==typeof(null==r?void 0:r.setFieldValue)?r.setFieldValue.bind(r):void 0,a="function"==typeof(null==r?void 0:r.setFieldsValue)?r.setFieldsValue.bind(r):void 0;t=r,l=i,n=a,i&&(r.setFieldValue=(t,l)=>{e.isSuppressed()?i(t,l):e.setFormValues(e.getCallerContext(),[{path:t,value:l}],{source:"system"}).catch(()=>void 0)}),a&&(r.setFieldsValue=t=>{e.isSuppressed()?a(t):e.setFormValues(e.getCallerContext(),t,{source:"system"}).catch(()=>void 0)})},restore:o}}var x=l(12197);l(14324);var b=l(87710),w=l(65421),S=l(13940),C=l(26866);let F=Symbol("SKIP_RULE_VALUE"),k=Symbol("UNRESOLVED_ASSOCIATION_IDENTITY"),A=1e3;function P(e){return"default"===e?"default":"override"===e?"override":"assign"}function M(e){return"default"===e?"default":"override"===e?"override":"system"}class j{getAssignRuleBlockId(e){return`form-assign:${e}:block`}removeAssignRuleBlockInstance(e){let t=this.getAssignRuleBlockId(e);this.rules.has(t)&&this.removeRule(t)}removeRowGridAssignRuleInstances(e){let t=`form-assign:${e}:`,l=this.getAssignRuleBlockId(e),n=[];for(let[e,i]of this.rules.entries()){var o,r;if(!e.startsWith(t)||e===l)continue;let a=null==i||null==(r=i.rule)||null==(o=r.getContext)?void 0:o.call(r),s=null==a?void 0:a.model;s&&this.isRowGridModel(s)&&n.push(e)}for(let e of n)this.removeRule(e)}hasAnyNonBlockAssignRuleInstance(e){let t=`form-assign:${e}:`,l=this.getAssignRuleBlockId(e);for(let e of this.rules.keys())if(e.startsWith(t)&&e!==l)return!0;return!1}ensureBlockAssignRuleInstancesForTargetPath(e){if(this.options.isDisposed()||!e||!this.shouldCreateBlockLevelAssignRule(e))return;let t=this.assignTemplatesByTargetPath.get(e)||[];if(t.length)for(let l of t){let t=(null==l?void 0:l.__key)?String(l.__key):"";if(!t||this.hasAnyNonBlockAssignRuleInstance(t))continue;let n=M(P(null==l?void 0:l.mode)),o=(null==l?void 0:l.enable)!==!1,r=this.getAssignRuleBlockId(t);if(this.rules.has(r))continue;let i={id:r,source:n,priority:10+(l.__order||0),debounceMs:0,getEnabled:()=>o&&!!e,getTarget:()=>e,getValue:()=>null==l?void 0:l.value,getCondition:()=>null==l?void 0:l.condition,getContext:()=>this.options.getBlockContext(),getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(r,{rule:i,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(r)}}getCollectionFromContext(e){var t,l;return(null==e?void 0:e.collection)??(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.collection)}getRootCollection(){let e=this.options.getBlockContext();return this.getCollectionFromContext(e)}shouldCreateBlockLevelAssignRule(e){let t=this.options.getBlockContext(),l=this.getCollectionFromContext(t);if(!(null==l?void 0:l.getField))return!0;let n=(0,x.EA)(e).filter(e=>"object"!=typeof e);if(n.length<=1)return!0;for(let e=0;e<n.length-1;e++){var o,r;let t=n[e];if("string"!=typeof t)continue;let i=null==l||null==(o=l.getField)?void 0:o.call(l,t);if(!(null==i||null==(r=i.isAssociationField)?void 0:r.call(i)))break;if((0,S.E4)(i)){if("number"!=typeof n[e+1])return!1;e+=1}if(!(null==(l=null==i?void 0:i.targetCollection)?void 0:l.getField))break}return!0}collectAssociationPrefixPaths(e,t){let l=[],n=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==n?void 0:n.getField))return l;let o=[];for(let e=0;e<t.length-1;e++){var r,i;let a=t[e];if("string"!=typeof a)break;let s=null==n||null==(r=n.getField)?void 0:r.call(n,a);if(!(null==s||null==(i=s.isAssociationField)?void 0:i.call(s)))break;if(o.push(a),(0,S.E4)(s)){let l=t[e+1];if("number"!=typeof l)break;o.push(l),e+=1}if(l.push([...o]),!(null==(n=null==s?void 0:s.targetCollection)?void 0:n.getField))break}return l}shouldSkipToManyAssociationWriteWithoutIndex(e,t){let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return!1;for(let e=0;e<t.length-1;e++){var n,o;let r=t[e];if("string"!=typeof r)continue;let i=null==l||null==(n=l.getField)?void 0:n.call(l,r);if(!(null==i||null==(o=i.isAssociationField)?void 0:o.call(i)))break;if((0,S.E4)(i)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==i?void 0:i.targetCollection)?void 0:l.getField))break}return!1}shouldSkipAssociationNestedWrite(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return!1;for(let n of l){let l=this.options.getFormValueAtPath(n);if(null==l){let l=n.filter(e=>"string"==typeof e).join(".");if(l&&this.getUpdateAssociationForTargetPath(l)||this.isAssociationTargetKeyWrite(e,t,n))continue;return!0}if("object"!=typeof l)return!0}return!1}getAssociationTargetKeyFields(e){var t,l;let n=(null==e?void 0:e.targetKey)??(null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey)??(null==e||null==(l=e.targetCollection)?void 0:l.filterByTk)??"id";return Array.isArray(n)?n.filter(e=>"string"==typeof e&&!!e):"string"==typeof n&&n?[n]:["id"]}resolveAssociationFieldByPrefixPath(e,t){let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return null;let n=null;for(let e of t){var o,r;if("number"==typeof e)continue;if("string"!=typeof e||!e)break;let t=null==l||null==(o=l.getField)?void 0:o.call(l,e);if(!(null==t||null==(r=t.isAssociationField)?void 0:r.call(t))||(n=t,!(null==(l=null==t?void 0:t.targetCollection)?void 0:l.getField)))break}return n}isAssociationTargetKeyWrite(e,t,l){var n;if(!Array.isArray(t)||!Array.isArray(l)||t.length!==l.length+1)return!1;let o=t[l.length];if("string"!=typeof o||!o)return!1;let r=this.resolveAssociationFieldByPrefixPath(e,l);return!(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r))||(0,S.E4)(r))&&this.getAssociationTargetKeyFields(r).includes(o)}collectUpdateAssociationInitPatches(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return[];let n=[];for(let o of l){let l=this.options.getFormValueAtPath(o);if(null==l){let l=o.filter(e=>"string"==typeof e).join(".");if(!l)return null;if(this.getUpdateAssociationForTargetPath(l)){n.push({path:[...o,"__is_new__"],value:!0});continue}if(this.isAssociationTargetKeyWrite(e,t,o)){n.push({path:[...o],value:{}});continue}return null}if("object"!=typeof l)return null}let o=new Map;for(let e of n){let t=(0,x.Qc)(e.path);o.has(t)||o.set(t,e)}return Array.from(o.values())}dispose(){for(let{state:e}of this.rules.values())e.depDisposers.forEach(e=>e());for(let e of(this.rules.clear(),this.pendingRuleIds.clear(),this.assignTemplatesByTargetPath.clear(),this.defaultRuleMasterDisposers.values()))e();for(let e of(this.defaultRuleMasterDisposers.clear(),this.defaultRuleIdsByMasterUid.clear(),this.ruleDebounceTimersById.values()))clearTimeout(e);this.ruleDebounceTimersById.clear(),this.ruleDebounceUntilById.clear()}enable(){this.rulesEnabled=!0,this.pendingRuleIds.size&&!this.runningRules&&this.flushRules()}syncAssignRules(e){if(this.options.isDisposed())return;let t=(Array.isArray(e)?e:[]).map((e,t)=>({...e,key:(null==e?void 0:e.key)?String(e.key):`idx:${t}`})),l="form-assign:";for(let e of Array.from(this.rules.keys()))e.startsWith(l)&&this.removeRule(e);this.assignTemplatesByTargetPath.clear(),this.formItemTargetPaths.clear(),this.updateAssociationByTargetPath.clear();let n=0;for(let e of t){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t)continue;let l=this.assignTemplatesByTargetPath.get(t)||[];n+=1,l.push({...e,__key:String(e.key),__order:n}),this.assignTemplatesByTargetPath.set(t,l)}let o=this.options.getEngine(),r=new Set;if(null==o?void 0:o.forEachModel){o.forEachModel(e=>{var t;if(!this.isModelInThisForm(e)||!(null==e||null==(t=e.subModels)?void 0:t.field))return;let l=this.getModelTargetPath(e);l&&this.formItemTargetPaths.add(l),this.cacheUpdateAssociationForModel(e)});let e=e=>{this.cacheUpdateAssociationForModel(e),this.tryRegisterAssignRuleInstancesForModel(e,r);let t=null==e?void 0:e.forks;t&&"function"==typeof t.forEach&&t.forEach(e=>{e&&(null==e||!e.disposed)&&this.tryRegisterAssignRuleInstancesForModel(e,r)})};o.forEachModel(t=>{e(t)})}for(let[e,t]of this.assignTemplatesByTargetPath.entries())if(!r.has(e)&&this.shouldCreateBlockLevelAssignRule(e))for(let n of t){let t=M(P(null==n?void 0:n.mode)),o=(null==n?void 0:n.enable)!==!1,r=`${l}${n.__key}:block`;this.rules.has(r)&&this.removeRule(r);let i={id:r,source:t,priority:10+(n.__order||0),debounceMs:0,getEnabled:()=>o&&!!e,getTarget:()=>e,getValue:()=>null==n?void 0:n.value,getCondition:()=>null==n?void 0:n.condition,getContext:()=>this.options.getBlockContext(),getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(r,{rule:i,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(r)}for(let e of Array.from(this.rules.keys()))e.startsWith("default:")&&this.scheduleRule(e)}onModelMounted(e){var t;if(this.isModelInThisForm(e)&&!(null==e?void 0:e.isFork)&&(null==e||null==(t=e.subModels)?void 0:t.field)){let t=this.getModelTargetPath(e);t&&this.formItemTargetPaths.add(t),this.cacheUpdateAssociationForModel(e)}this.tryRegisterDefaultRuleInstance(e),this.tryRegisterAssignRuleInstancesForModel(e)}onModelUnmounted(e){var t;if(this.tryUnregisterDefaultRuleInstance(e),this.tryUnregisterAssignRuleInstancesForModel(e),this.isModelInThisForm(e)&&(null==e||null==(t=e.subModels)?void 0:t.field)){let t=this.getModelTargetPath(e);if(t&&(this.ensureBlockAssignRuleInstancesForTargetPath(t),!(null==e?void 0:e.isFork))){this.updateAssociationByTargetPath.delete(t),this.formItemTargetPaths.delete(t);let e=`${t}.`;for(let t of this.assignTemplatesByTargetPath.keys())t.startsWith(e)&&this.ensureBlockAssignRuleInstancesForTargetPath(t);let l=this.options.getEngine();if(null==l?void 0:l.forEachModel){let e=e=>{this.tryRegisterAssignRuleInstancesForModel(e);let t=null==e?void 0:e.forks;t&&"function"==typeof t.forEach&&t.forEach(e=>{e&&(null==e||!e.disposed)&&this.tryRegisterAssignRuleInstancesForModel(e)})};l.forEachModel(t=>e(t))}}}}isModelInThisForm(e){var t;let l=null==e||null==(t=e.context)?void 0:t.blockModel;return!!l&&String(l.uid)===String(this.options.getBlockModelUid())}cacheUpdateAssociationForModel(e){var t,l;if(this.options.isDisposed()||!this.isModelInThisForm(e)||!e||"object"!=typeof e||(null==e?void 0:e.isFork)||!(null==e||null==(t=e.subModels)?void 0:t.field))return;let n=this.getModelTargetPath(e);if(!n)return;let o=null==e||null==(l=e.subModels)?void 0:l.field,r=!!(null==o?void 0:o.updateAssociation);!0!==this.updateAssociationByTargetPath.get(n)&&this.updateAssociationByTargetPath.set(n,r)}getUpdateAssociationForTargetPath(e){let t=String(e||"");if(!t)return!1;if(this.updateAssociationByTargetPath.has(t))return!!this.updateAssociationByTargetPath.get(t);let l=this.options.getEngine();return((null==l?void 0:l.forEachModel)&&l.forEachModel(e=>{this.cacheUpdateAssociationForModel(e)}),this.updateAssociationByTargetPath.has(t))?!!this.updateAssociationByTargetPath.get(t):(this.updateAssociationByTargetPath.set(t,!1),!1)}getDefaultRuleId(e){let t=(null==e?void 0:e.isFork)?String((null==e?void 0:e.forkId)??"fork"):"master",l=(null==e?void 0:e.uid)?String(e.uid):String(e);return`default:${l}:${t}`}getModelTargetNamePath(e){var t;let l=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(l)&&l.length)return l;let n="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,o=null==n?void 0:n.name;return Array.isArray(o)?o:"string"==typeof o?o.includes(".")?o.split("."):[o]:null}getAssignTemplateTargetPathForModel(e){let t=this.getModelTargetPath(e);if(t)return t;let l=this.getModelTargetNamePath(e);if(!(null==l?void 0:l.length))return"";let n=l.filter(e=>"number"!=typeof e);return n.length?(0,x.Qc)(n):""}hasAssignTemplateForTargetPath(e){let t=String(e||"");return!!t&&this.assignTemplatesByTargetPath.has(t)}tryRegisterDefaultRuleInstance(e){if(this.options.isDisposed()||!this.isModelInThisForm(e)||!e||"object"!=typeof e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(!t||"object"!=typeof t)return;let l=this.getModelTargetNamePath(e);if(!l)return;let n=this.getDefaultRuleId(e);if(this.rules.has(n))return;let o=e.master||e,r=this.getAssignTemplateTargetPathForModel(e);this.bindMasterInitialValue(o,n);let i=()=>{var e;let t=(null==o||null==(e=o.getProps)?void 0:e.call(o))??(null==o?void 0:o.props);return null==t?void 0:t.initialValue},a=i(),s=!1,u=()=>{let e=i();if(s||d().isEqual(e,a)||(s=!0),!this.hasAssignTemplateForTargetPath(r)||s||void 0===a)return e},c=()=>{if(!this.hasAssignTemplateForTargetPath(r))try{var e,t,l,n;let r=null==o||null==(t=o.getStepParams)||null==(e=t.call(o,"editItemSettings","initialValue"))?void 0:e.defaultValue;if(void 0!==r)return r;let i=null==o||null==(n=o.getStepParams)||null==(l=n.call(o,"formItemSettings","initialValue"))?void 0:l.defaultValue;if(void 0!==i)return i}catch{}},p={id:n,source:"default",priority:void 0!==u()?A:0,debounceMs:0,getEnabled:()=>void 0!==u()||void 0!==c(),getTarget:()=>this.getModelTargetNamePath(e)||l,getValue:()=>{let e=u();return void 0!==e?e:c()},getContext:()=>null==e?void 0:e.context};this.rules.set(n,{rule:p,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(n)}getModelTargetPath(e){try{var t;let l=null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"),n=null==l?void 0:l.fieldPath;if(n)return String(n)}catch{}let l=null==e?void 0:e.fieldPath;if(l)return String(l);let n=this.getModelTargetNamePath(e);return(null==n?void 0:n.length)&&n.filter(e=>"string"==typeof e).join(".")||null}getAssignRuleInstanceId(e,t){let l=(null==t?void 0:t.isFork)?String((null==t?void 0:t.forkId)??"fork"):"master",n=(null==t?void 0:t.uid)?String(t.uid):String(t);return`form-assign:${e}:${n}:${l}`}getDeepestFieldIndexKey(e){var t,l;let n=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex),o=Array.isArray(n)?n:[];if(!o.length)return null;let r=o[o.length-1];if("string"!=typeof r)return null;let[i,a]=r.split(":");return!i||Number.isNaN(Number(a))?null:i}getDeepestToManyAssociationKey(e){let t=this.getRootCollection();if(!(null==t?void 0:t.getField))return null;let l=(0,x.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(l.length<2)return null;let n=t,o=null;for(let e=0;e<l.length-1;e++){var r,i;let t=l[e];if("string"!=typeof t)continue;let a=null==n||null==(r=n.getField)?void 0:r.call(n,t);if(!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a)))break;let s=(0,S.E4)(a);if(s&&(o=t),s&&"number"==typeof l[e+1]&&(e+=1),!(null==(n=null==a?void 0:a.targetCollection)?void 0:n.getField))break}return o}isRowGridModel(e){var t,l;if(!e||"object"!=typeof e||(null==e||null==(t=e.subModels)?void 0:t.field)||!(null==e||null==(l=e.subModels)?void 0:l.items))return!1;let n=null==e?void 0:e.context;return!!this.getDeepestFieldIndexKey(n)}tryRegisterAssignRuleInstancesForModel(e,t){var l,n,o,r;if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let i=(l,n)=>{if(n&&0!==n.length)for(let r of(null==t||t.add(l),n)){var o;this.removeAssignRuleBlockInstance(r.__key),(null==e||null==(o=e.subModels)?void 0:o.field)&&this.removeRowGridAssignRuleInstances(r.__key);let t=M(P(null==r?void 0:r.mode)),n=(null==r?void 0:r.enable)!==!1,i=this.getAssignRuleInstanceId(r.__key,e);this.rules.has(i)&&this.removeRule(i);let a={id:i,source:t,priority:10+(r.__order||0),debounceMs:0,getEnabled:()=>n&&!!l,getTarget:()=>l,getValue:()=>null==r?void 0:r.value,getCondition:()=>null==r?void 0:r.condition,getContext:()=>null==e?void 0:e.context,getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(i,{rule:a,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(i)}};if(this.isRowGridModel(e)){let t=null==e?void 0:e.context,l=this.getDeepestFieldIndexKey(t);if(l)for(let[e,t]of this.assignTemplatesByTargetPath.entries()){if(this.formItemTargetPaths.has(e))continue;let n=this.getDeepestToManyAssociationKey(e);n&&n===l&&i(e,t)}return}if(!(null==e||null==(l=e.subModels)?void 0:l.field))return;let a=this.getModelTargetPath(e);if(!a)return;let s=this.assignTemplatesByTargetPath.get(a)||[];s.length&&i(a,s);let d=null==e||null==(n=e.subModels)?void 0:n.field,u=null==d||null==(o=d.context)?void 0:o.collectionField,c=!!(null==u||null==(r=u.isAssociationField)?void 0:r.call(u)),p=(0,S.E4)(u);if(c&&!p){let e=`${a}.`;for(let[t,l]of this.assignTemplatesByTargetPath.entries())t&&"string"==typeof t&&t.startsWith(e)&&i(t,l)}}tryUnregisterAssignRuleInstancesForModel(e){var t,l,n,o;if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let r=t=>{for(let l of t||[]){let t=this.getAssignRuleInstanceId(l.__key,e);this.rules.has(t)&&this.removeRule(t)}};if(this.isRowGridModel(e)){let t=null==e?void 0:e.context,l=this.getDeepestFieldIndexKey(t);if(!l)return;for(let[e,t]of this.assignTemplatesByTargetPath.entries()){if(this.formItemTargetPaths.has(e))continue;let n=this.getDeepestToManyAssociationKey(e);n&&n===l&&r(t)}return}if(!(null==e||null==(t=e.subModels)?void 0:t.field))return;let i=this.getModelTargetPath(e);if(!i)return;let a=this.assignTemplatesByTargetPath.get(i)||[];a.length&&r(a);let s=null==e||null==(l=e.subModels)?void 0:l.field,d=null==s||null==(n=s.context)?void 0:n.collectionField,u=!!(null==d||null==(o=d.isAssociationField)?void 0:o.call(d)),c=(0,S.E4)(d);if(u&&!c){let e=`${i}.`;for(let[t,l]of this.assignTemplatesByTargetPath.entries())t&&"string"==typeof t&&t.startsWith(e)&&r(l)}}tryUnregisterDefaultRuleInstance(e){if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let t=this.getDefaultRuleId(e);this.rules.has(t)&&this.removeRule(t)}bindMasterInitialValue(e,t){let l=(null==e?void 0:e.uid)?String(e.uid):t,n=this.defaultRuleIdsByMasterUid.get(l)||new Set;if(n.add(t),this.defaultRuleIdsByMasterUid.set(l,n),this.defaultRuleMasterDisposers.has(l))return;let o=(0,f.reaction)(()=>{var t;let l=(null==e||null==(t=e.getProps)?void 0:t.call(e))??(null==e?void 0:e.props);return null==l?void 0:l.initialValue},(t,n)=>{var o;if(d().isEqual(t,n))return;let r=this.defaultRuleIdsByMasterUid.get(l);if(!r)return;let i=(null==e||null==(o=e.getProps)?void 0:o.call(e))??(null==e?void 0:e.props),a=void 0!==(null==i?void 0:i.initialValue)?A:0;for(let e of r){let t=this.rules.get(e);t&&(t.rule.priority=a),this.scheduleRule(e)}});this.defaultRuleMasterDisposers.set(l,o)}removeRule(e){let t=this.rules.get(e);if(!t)return;try{let e=t.rule.getContext(),l=t.rule.getTarget(),n=this.options.tryResolveNamePath(e,l);if(n){let e=(0,x.Qc)(n),l=this.options.observableBindings.get(e);l&&l.source===t.rule.source&&(l.dispose(),this.options.observableBindings.delete(e))}}catch{}t.state.depDisposers.forEach(e=>e()),this.rules.delete(e),this.pendingRuleIds.delete(e);let l=this.ruleDebounceTimersById.get(e);for(let[t,n]of(l&&clearTimeout(l),this.ruleDebounceTimersById.delete(e),this.ruleDebounceUntilById.delete(e),this.defaultRuleIdsByMasterUid.entries())){if(!n.has(e)||(n.delete(e),n.size>0))continue;this.defaultRuleIdsByMasterUid.delete(t);let l=this.defaultRuleMasterDisposers.get(t);l&&l(),this.defaultRuleMasterDisposers.delete(t)}}rescheduleAllRules(){if(!this.options.isDisposed()){for(let e of(this.lastRuleWriteByTargetKey.clear(),this.rules.values()))e.state.runSeq+=1;for(let e of this.rules.keys())this.scheduleRule(e)}}scheduleRule(e){if(this.options.isDisposed())return;let t=this.rules.get(e);if(!t)return;let{rule:l,state:n}=t;n.scheduledAtWriteSeq=this.options.getWriteSeq();let o=(null==l?void 0:l.debounceMs)??0;if(this.pendingRuleIds.add(e),o>0){let t=Date.now()+o;t>(this.ruleDebounceUntilById.get(e)||0)&&this.ruleDebounceUntilById.set(e,t);let l=this.ruleDebounceTimersById.get(e);l&&clearTimeout(l);let n=setTimeout(()=>{this.ruleDebounceTimersById.delete(e),!this.rulesEnabled||this.runningRules||this.pendingRuleIds.has(e)&&this.flushRules()},o);this.ruleDebounceTimersById.set(e,n)}else{let t=this.ruleDebounceTimersById.get(e);t&&clearTimeout(t),this.ruleDebounceTimersById.delete(e),this.ruleDebounceUntilById.delete(e)}!this.rulesEnabled||this.runningRules||this.flushRules()}async flushRules(){if(this.runningRules)return;this.runningRules=!0;let e=this.currentRuleTxId||(0,w.ao)();this.currentRuleTxId=e;try{for(;this.pendingRuleIds.size;){let e=Date.now(),t=[];for(let l of this.pendingRuleIds)(this.ruleDebounceUntilById.get(l)||0)>e||t.push(l);if(!t.length)break;for(let e of t)this.pendingRuleIds.delete(e),this.ruleDebounceUntilById.delete(e);for(let e of(t.sort((e,t)=>{var l,n;let o=null==(l=this.rules.get(e))?void 0:l.rule,r=null==(n=this.rules.get(t))?void 0:n.rule,i=(null==o?void 0:o.priority)??0,a=(null==r?void 0:r.priority)??0;return i!==a?i-a:e.localeCompare(t)}),t))await this.runRule(e)}}finally{this.runningRules=!1,this.currentRuleTxId=null,this.options.txWriteCounts.delete(e)}}async runRule(e){let t=this.rules.get(e);if(!t)return;let{rule:l,state:n}=t;n.runSeq+=1;let o=n.runSeq,r=n.scheduledAtWriteSeq,i=this.prepareRuleContext(l),{baseCtx:a,targetNamePath:s,targetKey:d,clearDeps:u,disposeBinding:c}=i;if(!this.shouldRunRule(l,s,d,a)||!s||!d){u(n),c();return}let p=s,m=d,{collector:h,evalCtx:f}=this.createRuleCollectorAndContext(l,i);if(l.getCondition&&!await this.evaluateRuleCondition(l,n,o,f,h))return;let g=await this.resolveRuleValue(l,n,o,f,h);if(g===F||o!==n.runSeq)return;this.commitRuleDeps(l,n,h);let v=this.getToManyAggregateSourceInfo(a,l.getValue()),y=this.normalizeUnresolvedToManyAggregateForScalarTarget(a,p,g,v);if(y.skip)return;let b=y.hasValue?y.value:g,w=this.normalizeResolvedValueForTarget(a,b),S=this.normalizeResolvedValueForAssociationTarget(a,p,w),C=this.normalizeAggregateArrayForScalarTarget(a,p,S,v);if(C===F||this.shouldSkipEmptyArrayAggregateForScalarTarget(a,p,C)||this.shouldSkipMultiValueAggregateForScalarTarget(a,p,C,v)||"default"===l.source&&!this.checkDefaultRuleCanApply(C,p,m,u,c,n))return;if("override"===l.source&&this.options.findUserEditedHit(m))return void c();if("default"===l.source){let e=this.lastRuleWriteByTargetKey.get(m);if((null==e?void 0:e.source)==="default"&&e.priority>l.priority&&e.writeSeq>=r)return void c()}if("system"===l.source||"override"===l.source){let e=this.options.lastWriteMetaByPathKey.get(m);if((null==e?void 0:e.source)==="linkage"&&e.writeSeq>=r)return void c()}if(this.shouldSkipAssociationNestedWrite(a,p)||this.shouldSkipToManyAssociationWriteWithoutIndex(a,p))return;let k=C;if(this.isAssociationTargetSemanticallyEqual(a,p,this.options.getFormValueAtPath(p),k))return;let A=this.collectUpdateAssociationInitPatches(a,p);if(null==A)return;if("system"===l.source||"default"===l.source||"override"===l.source){var P,M;let e=null==a?void 0:a.model,t=null==e||null==(P=e.subModels)?void 0:P.field;if(t){let l=this.getModelTargetNamePath(e);l&&(0,x.Qc)(l)===m&&(e.setProps({value:C}),null==(M=t.setProps)||M.call(t,{value:C}))}}let j=this.options.getWriteSeq(),I=[...A,{path:p,value:C}];await this.options.setFormValues(f,I,{source:l.source,txId:this.currentRuleTxId||void 0});let T=this.options.getWriteSeq();T!==j&&this.lastRuleWriteByTargetKey.set(m,{source:l.source,priority:l.priority,writeSeq:T})}isTzAwareTargetInterface(e){return"string"==typeof e&&["datetime","createdAt","updatedAt","unixTimestamp"].includes(e)}normalizeDateOnlyToStartOfDayIso(e){let t=String(e||"").trim();if(!t||!/^\d{4}-\d{2}-\d{2}$/.test(t))return e;let l=(0,b.dayjs)(t,"YYYY-MM-DD",!0);return l.isValid()?l.startOf("day").toISOString():e}normalizeResolvedValueForTarget(e,t){var l,n,o;let r=null==e||null==(o=e.model)||null==(n=o.context)||null==(l=n.collectionField)?void 0:l.interface;return this.isTzAwareTargetInterface(r)?"string"==typeof t?this.normalizeDateOnlyToStartOfDayIso(t):Array.isArray(t)?t.map(e=>"string"==typeof e?this.normalizeDateOnlyToStartOfDayIso(e):e):t:t}isPrimitiveAssociationTargetValue(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e}extractAssociationIdentity(e,t){let l=this.getAssociationTargetKeyFields(e),n=1===l.length?l[0]:null,o=e=>{if(null==e)return e;if(this.isPrimitiveAssociationTargetValue(e))return n?e:k;if(!e||"object"!=typeof e)return k;if(n)return void 0===e[n]?k:e[n];let t={};for(let n of l){if(void 0===e[n])return k;t[n]=e[n]}return t};if((0,S.E4)(e)){let e=Array.isArray(t)?t:[t],l=[];for(let t of e){if(null==t)continue;let e=o(t);if(e===k)return k;l.push(e)}return l}let r=Array.isArray(t)?t.find(e=>null!=e):t;return null==r?r:o(r)}isAssociationTargetSemanticallyEqual(e,t,l,n){var o;let r=this.resolveCollectionFieldByNamePath(e,t);if(!(null==r||null==(o=r.isAssociationField)?void 0:o.call(r)))return d().isEqual(l,n);let i=this.extractAssociationIdentity(r,l),a=this.extractAssociationIdentity(r,n);return i===k||a===k?d().isEqual(l,n):d().isEqual(i,a)}resolveCollectionFieldByNamePath(e,t){if(!Array.isArray(t)||!t.length)return null;let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return null;for(let e=0;e<t.length;e++){var n,o;let r=t[e];if("string"!=typeof r||!r)break;let i=null==l||null==(n=l.getField)?void 0:n.call(l,r);if(!i)break;if(e===t.length-1)return i;if(!(null==i||null==(o=i.isAssociationField)?void 0:o.call(i))||!(null==i?void 0:i.targetCollection))break;if((0,S.E4)(i)){if("number"!=typeof t[e+1])return null;e+=1}if(!(null==(l=i.targetCollection)?void 0:l.getField))break}return null}normalizeResolvedValueForAssociationTarget(e,t,l){var n;let o=this.resolveCollectionFieldByNamePath(e,t);if(!(null==o||null==(n=o.isAssociationField)?void 0:n.call(o)))return l;let r=this.getAssociationTargetKeyFields(o),i=1===r.length?r[0]:null,a=e=>{if(null!=e)return i&&this.isPrimitiveAssociationTargetValue(e)?{[i]:e}:e};if((0,S.E4)(o))return(Array.isArray(l)?l:[l]).map(e=>a(e)).filter(e=>null!=e);let s=Array.isArray(l)?l.find(e=>null!=e):l;return null==s?s:a(s)}prepareRuleContext(e){let t=e.getContext(),l=e.getTarget(),n=this.options.tryResolveNamePath(t,l),o=n?(0,x.Qc)(n):null,r=()=>{if(!o)return;let t=this.options.observableBindings.get(o);t&&t.source===e.source&&(t.dispose(),this.options.observableBindings.delete(o))};return{baseCtx:t,targetNamePath:n,targetKey:o,clearDeps:e=>{e.depDisposers.forEach(e=>e()),e.depDisposers=[],e.deps=new Set},disposeBinding:r}}shouldApplyDefaultRuleInCurrentState(e){var t,l,n;return"update"!==(null==(t=(l=this.options).getActionName)?void 0:t.call(l))||(null==(n=this.getItemContext(e))?void 0:n.__is_new__)===!0}isStaleToManyItemContext(e){let t=this.getItemContext(e);return!!Number.isFinite(null==t?void 0:t.index)&&!!Number.isFinite(null==t?void 0:t.length)&&(t.index<0||t.index>=t.length)}getItemContext(e){try{return null==e?void 0:e.item}catch{return}}getRowTargetKey(e,t){var l,n,o,r;let i,a,s=this.getRootCollection()||this.getCollectionFromContext(e);for(let e of t)if("number"!=typeof e){if("string"!=typeof e||!e||!(null==s?void 0:s.getField)||(i=null==s||null==(o=s.getField)?void 0:o.call(s,e),!(null==i||null==(r=i.isAssociationField)?void 0:r.call(i))))break;a=i,s=null==i?void 0:i.targetCollection}let d=(null==a||null==(l=a.targetCollection)?void 0:l.filterTargetKey)??(null==a||null==(n=a.targetCollection)?void 0:n.filterByTk)??(null==a?void 0:a.targetKey);if(Array.isArray(d)){let e=d.filter(e=>"string"==typeof e&&!!e);return e.length?e:"id"}return"string"==typeof d&&d?d:"id"}isMismatchedToManyItemContext(e,t){let l=this.getItemContext(e);if(!l)return!1;for(let n=t.length-1;n>=0;n--){if("number"!=typeof t[n])continue;let o=t.slice(0,n+1),r=this.getRowTargetKey(e,o),i=this.options.getFormValueAtPath(o),a=(0,C.r5)(i,r),s=(0,C.r5)(l.value,r);return!!a&&!!s&&a!==s}return!1}shouldRunRule(e,t,l,n){return!(!e.getEnabled()||!t||!l||this.isStaleToManyItemContext(n)||this.isMismatchedToManyItemContext(n,t)||"default"===e.source&&(!this.shouldApplyDefaultRuleInCurrentState(n)||this.options.findExplicitHit(l)))&&!("override"===e.source&&this.options.findUserEditedHit(l))}createRuleCollectorAndContext(e,t){var l;let{baseCtx:n,targetNamePath:o}=t,r=e.getValue(),a=(0,i.isRunJSValue)(r),s={deps:new Set,wildcard:!1};if(e.getCondition&&(0,v.G)(e.getCondition(),s),a?(0,v.Wp)(r,s):(0,v.G)(r,s),o)for(let e of((0,v.Dd)(o,s),this.collectAssociationPrefixPaths(n,o)))(0,v.Dd)(e,s);let d=this.createRuleEvaluationContext(n,s,o,null==(l=e.getContractModelUid)?void 0:l.call(e));return{collector:s,evalCtx:d,rawValue:r,isRunJS:a}}async evaluateRuleCondition(e,t,l,n,o){let r=e.getCondition;if(!r)return!0;let i=r(),a=i;if(i)try{var s;a=await (null==n||null==(s=n.resolveJsonTemplate)?void 0:s.call(n,i))}catch{a=i}return l===t.runSeq&&(!i||!!(0,g.F)(n,a)||(this.commitRuleDeps(e,t,o),!1))}async resolveRuleValue(e,t,l,n,o){let r=e.getValue();return(0,i.isRunJSValue)(r)?this.resolveRunJSValue(r,t,l,n,o,e):this.resolveTemplateValue(r,t,l,n,o,e)}async resolveRunJSValue(e,t,l,n,o,r){try{let{code:a,version:s}=(0,i.normalizeRunJSValue)(e),d=await n.runjs(a,void 0,{version:s});if(!(null==d?void 0:d.success)){if(l!==t.runSeq)return F;return this.commitRuleDeps(r,t,o),F}return d.value}catch{if(l!==t.runSeq)return F;return this.commitRuleDeps(r,t,o),F}}async resolveTemplateValue(e,t,l,n,o,r){try{var i;return await (null==n||null==(i=n.resolveJsonTemplate)?void 0:i.call(n,e))}catch{if(l!==t.runSeq)return F;return this.commitRuleDeps(r,t,o),F}}commitRuleDeps(e,t,l){let n=new Set(l.deps);l.wildcard&&n.add("fv:*"),this.updateRuleDeps(e,t,n)}isScalarValueTarget(e,t){var l;let n=this.resolveCollectionFieldByNamePath(e,t);return!((null==n||null==(l=n.isAssociationField)?void 0:l.call(n))&&(0,S.E4)(n)||this.isArrayValueCollectionField(n))&&(!!n||!Array.isArray(this.options.getFormValueAtPath(t)))}shouldSkipEmptyArrayAggregateForScalarTarget(e,t,l){return!!Array.isArray(l)&&!(l.length>0)&&this.isScalarValueTarget(e,t)}normalizeUnresolvedToManyAggregateForScalarTarget(e,t,l,n){return void 0===l&&n&&this.isScalarValueTarget(e,t)?Array.isArray(n.arrayValue)&&0===n.arrayValue.length?this.isUserClearedToManyAggregate(n)?{skip:!1,hasValue:!0,value:this.getClearedAggregateValueForScalarTarget(e,t)}:{skip:!0,hasValue:!1}:Array.isArray(n.arrayValue)&&n.arrayValue.length>0?{skip:!0,hasValue:!1}:{skip:!1,hasValue:!1}:{skip:!1,hasValue:!1}}isArrayValueCollectionField(e){var t,l;if(!e||"object"!=typeof e)return!1;let n=e;return!0===n.multiple||"array"===n.type||"array"===((null==(t=n.uiSchema)?void 0:t.type)??(null==(l=n.schema)?void 0:l.type))||["multipleSelect","checkboxGroup","json"].includes("string"==typeof n.interface?n.interface:"")}stringifyAggregateItem(e){if(e&&"object"==typeof e)try{return JSON.stringify(e)}catch{}return String(e)}normalizeAggregateArrayForScalarTarget(e,t,l,n){if(!Array.isArray(l)||!this.isScalarValueTarget(e,t)||!n)return l;let o=l.filter(e=>null!=e);return o.length?1===o.length?o[0]:this.isTextScalarTarget(e,t)?o.map(e=>this.stringifyAggregateItem(e)).join(", "):F:this.isUserClearedToManyAggregate(n)?this.getClearedAggregateValueForScalarTarget(e,t):F}shouldSkipMultiValueAggregateForScalarTarget(e,t,l,n){return!!n&&!!Array.isArray(l)&&!(l.length<=1)&&!!this.isScalarValueTarget(e,t)&&!this.isTextScalarTarget(e,t)}getClearedAggregateValueForScalarTarget(e,t){if(this.isTextScalarTarget(e,t))return""}isUserClearedToManyAggregate(e){var t;return(null==(t=e.lastWrite)?void 0:t.source)==="user"}isTextScalarTarget(e,t){var l,n,o;let r=this.resolveCollectionFieldByNamePath(e,t);if(!r){let e=this.options.getFormValueAtPath(t);return void 0===e||null==e||"string"==typeof e}if((null==r||null==(l=r.isAssociationField)?void 0:l.call(r))||this.isArrayValueCollectionField(r))return!1;let i=r,a=(null==(n=i.uiSchema)?void 0:n.type)??(null==(o=i.schema)?void 0:o.type);return"string"===i.type||"text"===i.type||"string"===a||["input","textarea","email","phone","url","uuid","nanoid","markdown","richText","vditor","password","color"].includes("string"==typeof i.interface?i.interface:"")}getLatestWriteMetaForPath(e){let t=(0,x.Qc)(e),l=this.options.lastWriteMetaByPathKey.get(t);for(let[e,n]of this.options.lastWriteMetaByPathKey.entries())(e===t||e.startsWith(`${t}.`)||e.startsWith(`${t}[`))&&(!l||n.writeSeq>l.writeSeq)&&(l=n);return l}getToManyAggregateSourceInfo(e,t){let l=this.extractSingleLocalFormValuesPath(t);if(!l)return null;let n=(0,x.EA)(l).filter(e=>"object"!=typeof e);if(n.length<2)return null;let o=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==o?void 0:o.getField))return null;let r=[];for(let t=0;t<n.length-1;t++){var i,a;let s=n[t];if("string"!=typeof s)break;let u=null==o||null==(i=o.getField)?void 0:i.call(o,s);if(!(null==u||null==(a=u.isAssociationField)?void 0:a.call(u)))break;if(r.push(s),(0,S.E4)(u)){let t=this.options.getFormValueAtPath(r),n=this.getLocalFormValuesSnapshot(e),o=n&&"object"==typeof n?d().get(n,r):void 0;return{subPath:l,arrayPath:[...r],arrayValue:void 0!==t?t:o,lastWrite:this.getLatestWriteMetaForPath(r)}}if(!(null==(o=u.targetCollection)?void 0:o.getField))break}return null}checkDefaultRuleCanApply(e,t,l,n,o,r){if(void 0===e)return!1;if(this.options.findExplicitHit(l))return n(r),o(),!1;let i=this.options.getFormValueAtPath(t),a=this.options.lastDefaultValueByPathKey.get(l),s=(0,w.Po)(i)||void 0!==a&&d().isEqual(i,a),u=(0,f.isObservable)(e)?(0,f.toJS)(e):e;return!s&&d().isEqual(i,u)?(this.options.lastDefaultValueByPathKey.set(l,u),!1):s}createRuleEvaluationContext(e,t,l,n){var o;let r,a=this.options.createTrackingFormValues(t),s=new i.FlowContext;try{s.delegate(e)}catch{}let d=null==e||null==(o=e.getPropertyOptions)?void 0:o.call(e,"formValues");d&&"object"==typeof d?s.defineProperty("formValues",{...d,get:()=>a,cache:!1}):s.defineProperty("formValues",{get:()=>a,cache:!1});let u="function"==typeof s.resolveJsonTemplate?s.resolveJsonTemplate.bind(s):void 0;s.defineMethod("resolveJsonTemplate",async l=>{let o=this.createLocalTemplateTokenStore(),r=this.resolveLocalFormValuesTemplates(e,l,t,o),i=r.matched?r.value:l,a=u?await u(i,n?{contractModelUid:n}:void 0):i;return this.restoreLocalTemplateTokens(a,o)});let c=!1,p=()=>(c||(r=this.buildItemChainValue(e,a,l)??(null==e?void 0:e.item),c=!0),r);return s.defineProperty("item",{get:p,cache:!1}),s}getLocalFormValuesSnapshot(e){try{var t;let l=null==e||null==(t=e.getFormValues)?void 0:t.call(e);if(l&&"object"==typeof l)return l}catch{}let l=this.options.valuesMirror;return(0,f.isObservable)(l)?(0,f.toJS)(l):l}resolveLocalFormValuesPath(e,t){let l=this.getLocalFormValuesSnapshot(e);if(l&&"object"==typeof l)return(0,u.Dw)(l,t)}recordLocalFormValuesDep(e,t){let l=(0,x.EA)(e).filter(e=>"object"!=typeof e);if(!l.length){t&&(t.wildcard=!0);return}(0,v.Dd)(l,t)}extractSingleLocalFormValuesPath(e){if("string"!=typeof e)return null;let t=e.match(/^\s*\{\{\s*ctx\.formValues\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*)\s*\}\}\s*$/);return(null==t?void 0:t[1])??null}stringifyTemplateReplacement(e){if(void 0!==e)return e&&"object"==typeof e?JSON.stringify(e):String(e)}createLocalTemplateTokenStore(){let e=new Map,t=0;return{values:e,protect(l){let n=`__NOCObase_FORM_VALUE_LITERAL_${t}__`;return t+=1,e.set(n,l),n}}}restoreLocalTemplateTokens(e,t){if(!t.values.size)return e;if("string"==typeof e){if(t.values.has(e))return t.values.get(e);let l=e;for(let[e,n]of t.values.entries())l.includes(e)&&(l=l.split(e).join(this.stringifyTemplateReplacement(n)??""));return l}if(Array.isArray(e))return e.map(e=>this.restoreLocalTemplateTokens(e,t));if(d().isPlainObject(e)){let l={};for(let[n,o]of Object.entries(e))l[n]=this.restoreLocalTemplateTokens(o,t);return l}return e}resolveLocalFormValuesTemplates(e,t,l,n){if("string"==typeof t){let o=this.extractSingleLocalFormValuesPath(t);if(o){this.recordLocalFormValuesDep(o,l);let r=this.resolveLocalFormValuesPath(e,o);return void 0!==r?{matched:!0,value:n?n.protect(r):r}:{matched:!1,value:t}}let r=!1,i=t.replace(/\{\{\s*ctx\.formValues\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*)\s*\}\}/g,(t,o)=>{this.recordLocalFormValuesDep(o,l);let i=this.resolveLocalFormValuesPath(e,o),a=this.stringifyTemplateReplacement(i);return void 0===a?t:(r=!0,n?n.protect(a):a)});return{matched:r,value:i}}if(Array.isArray(t)){let o=!1,r=t.map(t=>{let r=this.resolveLocalFormValuesTemplates(e,t,l,n);return r.matched&&(o=!0),r.value});return o?{matched:o,value:r}:{matched:!1,value:t}}if(d().isPlainObject(t)){let o=!1,r={};for(let[i,a]of Object.entries(t)){let t=this.resolveLocalFormValuesTemplates(e,a,l,n);t.matched&&(o=!0),r[i]=t.value}return o?{matched:o,value:r}:{matched:!1,value:t}}return{matched:!1,value:t}}buildItemChainValue(e,t,l){let n=this.getRootCollection()||this.getCollectionFromContext(e),o=(e,t,l,n)=>({index:t,length:l,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:n}),r=this.options.getBlockContext(),i=(()=>{try{let e=null==r?void 0:r.item;if(!e||"object"!=typeof e)return;return e.value===(null==r?void 0:r.formValues)?e:void 0}catch{return}})(),a={...o(t,null==i?void 0:i.index,null==i?void 0:i.length,null==i?void 0:i.parentItem),__is_new__:(null==i?void 0:i.__is_new__)??(null==t?void 0:t.__is_new__),__is_stored__:(null==i?void 0:i.__is_stored__)??(null==t?void 0:t.__is_stored__)};if(!l||!Array.isArray(l)||!l.length||!(null==n?void 0:n.getField))return;let s=[],u=[],c=n;for(let e=0;e<l.length;e++){var p,m;let t=l[e];if("string"!=typeof t)break;let n=null==c||null==(p=c.getField)?void 0:p.call(c,t);if(!(null==n||null==(m=n.isAssociationField)?void 0:m.call(n)))break;let o=(0,S.E4)(n);if(u.push(t),o){let t=l[e+1];if("number"==typeof t)u.push(t),e+=1;else if(e!==l.length-1)break}let r=null==n?void 0:n.targetCollection;if(!r)break;s.push({path:[...u],toMany:o}),c=r}let h=e=>{if(e<0)return a;let l=s[e],n=d().get(t,l.path),r=l.path[l.path.length-1],i=l.toMany&&"number"==typeof r,u=i?r:void 0,c=(()=>{if(!l.toMany)return;if(!i)return Array.isArray(n)?n.length:void 0;let e=l.path.slice(0,-1),o=d().get(t,e);return Array.isArray(o)?o.length:void 0})();return o(n,u,c,h(e-1))};return s.length?h(s.length-1):void 0}getFieldIndexSignature(e){var t,l;let n=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex);return(Array.isArray(n)?n:[]).filter(e=>"string"==typeof e).join("|")}updateRuleDeps(e,t,l){var n,o;if(t.depDisposers.forEach(e=>e()),t.depDisposers=[],t.deps=l,l.has("fv:*")){let l=(0,f.reaction)(()=>this.options.changeTick.value,()=>this.scheduleRule(e.id));t.depDisposers.push(l)}let r=(()=>{try{return e.getContext()}catch{return}})(),i=(null==r||null==(o=r.model)||null==(n=o.context)?void 0:n.fieldIndex)??(null==r?void 0:r.fieldIndex);if(Array.isArray(i)&&i.some(e=>"string"==typeof e)){let l=(0,f.reaction)(()=>this.getFieldIndexSignature(r),()=>this.scheduleRule(e.id));t.depDisposers.push(l)}for(let n of l){if("fv:*"===n)continue;if(!n.startsWith("fv:")&&!n.startsWith("ctx:")){let l=(0,x.c1)(n),o=(0,f.reaction)(()=>d().get(this.options.valuesMirror,l),()=>this.scheduleRule(e.id));t.depDisposers.push(o);continue}if(n.startsWith("fv:")){let l=n.slice(3),o=(0,x.c1)(l),r=(0,f.reaction)(()=>d().get(this.options.valuesMirror,o),()=>this.scheduleRule(e.id));t.depDisposers.push(r);continue}let l=n.slice(4),o=l.indexOf(":"),i=o>=0?l.slice(0,o):l,a=o>=0?l.slice(o+1):"",s=a?(0,x.EA)(a).filter(e=>"object"!=typeof e):[];if("item"===i){if(s.length){let l=this.options.createTrackingFormValues({deps:new Set,wildcard:!1}),n=(0,f.reaction)(()=>{var t;let n=null==(t=e.getTarget)?void 0:t.call(e),o=n?this.options.tryResolveNamePath(r,n):null,i=this.buildItemChainValue(r,l,o)??(null==r?void 0:r.item);return d().get(i,s)},()=>this.scheduleRule(e.id));t.depDisposers.push(n)}continue}let u=(0,f.reaction)(()=>{let e=r?r[i]:void 0;return s.length?d().get(e,s):e},()=>this.scheduleRule(e.id));t.depDisposers.push(u)}}constructor(e){this.rules=new Map,this.lastRuleWriteByTargetKey=new Map,this.assignTemplatesByTargetPath=new Map,this.formItemTargetPaths=new Set,this.updateAssociationByTargetPath=new Map,this.pendingRuleIds=new Set,this.ruleDebounceUntilById=new Map,this.ruleDebounceTimersById=new Map,this.defaultRuleIdsByMasterUid=new Map,this.defaultRuleMasterDisposers=new Map,this.runningRules=!1,this.rulesEnabled=!1,this.currentRuleTxId=null,this.options=e}}class I{syncAssignRules(e){this.ruleEngine.syncAssignRules(e)}get formValues(){return this.disposed||this.formPatcher.patch(this.getForm()),this.formValuesProxy}getFormValuesSnapshot(){if(!this.disposed){let e=this.getForm();this.formPatcher.patch(e)}return this.getForm().getFieldsValue(!0)}getUserEditedValuePatches(){let e=this.getFormValuesSnapshot();if(!e||"object"!=typeof e)return[];let t=[];for(let l of Array.from(this.userEditedSet).sort((e,t)=>(0,x.c1)(e).length-(0,x.c1)(t).length)){if(!this.isCurrentUserEditedPath(l))continue;let n=(0,x.c1)(l);if(!n.length||!d().has(e,n))continue;let o=d().get(e,n);void 0!==o&&t.push({path:n,value:this.omitNonUserDescendantValues(l,this.toMirrorSnapshot(o))})}return t}getUserEditedValuesSnapshot(){let e={};for(let t of this.getUserEditedValuePatches())d().set(e,t.path,t.value);return e}toMirrorSnapshot(e){let t=e=>d().cloneDeepWith(e,e=>{if((0,f.isObservable)(e)){let l=(0,f.toJS)(e);if(l!==e)return t(l)}if(Array.isArray(e)&&"function"!=typeof e.constructor){let l=Array(e.length);for(let n=0;n<e.length;n++)Object.hasOwn(e,n)&&(l[n]=t(e[n]));return l}if(e&&"object"==typeof e&&!(Array.isArray(e)||d().isPlainObject(e)))return e});return t(e)}canApplyDefaultValuePatch(e,t){if(!(null==e?void 0:e.length)||void 0===t)return!1;let l=(0,x.Qc)(e),n=this.getFormValueAtPath(e),o=this.lastDefaultValueByPathKey.get(l),r=(0,f.isObservable)(t)?(0,f.toJS)(t):t,i=(0,f.isObservable)(n)?(0,f.toJS)(n):n,a=void 0!==o&&d().isEqual(i,o);if(this.findExplicitHit(l)&&!a)return!1;let s=(0,w.Po)(n)||a;return!s&&d().isEqual(n,r)?(this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(r)),!1):s}canApplyOverrideValuePatch(e){return!!(null==e?void 0:e.length)&&!this.findUserEditedHit((0,x.Qc)(e))}recordDefaultValuePatch(e,t){if(!(null==e?void 0:e.length))return;let l=(0,x.Qc)(e),n=arguments.length>=2?(0,f.isObservable)(t)?(0,f.toJS)(t):t:this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(n));let o=this.getFormValueAtPath(e),r=(0,f.isObservable)(o)?(0,f.toJS)(o):o;d().isEqual(r,n)&&this.clearExplicitForDefaultPatch(l)}getFormValueAtPath(e){var t,l;let n=null==(t=(l=this).getForm)?void 0:t.call(l);if(n&&"function"==typeof n.getFieldValue)return n.getFieldValue(e);if(n&&"function"==typeof n.getFieldsValue){let t=n.getFieldsValue(!0);return d().get(t,e)}}mount(e){var t,l;if(this.disposed)return;this.formPatcher.patch(this.getForm());let n=null==(l=this.model)||null==(t=l.flowEngine)?void 0:t.emitter;if(n&&(this.mountedListener||this.unmountedListener||(this.mountedListener=e=>{let{model:t}=e;this.indexMountedFieldModelTree(t),this.ruleEngine.onModelMounted(t)},this.unmountedListener=e=>{let{model:t}=e;this.unindexMountedFieldModelTree(t),this.ruleEngine.onModelUnmounted(t)},n.on("model:mounted",this.mountedListener),n.on("model:unmounted",this.unmountedListener)),this.rebuildMountedFieldModelIndex(),null==e?void 0:e.sync)){let e=this.getFormValuesSnapshot();e&&"object"==typeof e&&(d().merge(this.valuesMirror,this.toMirrorSnapshot(e)),this.bumpChangeTick()),this.ruleEngine.enable()}}dispose(){var e,t;if(this.disposed)return;this.disposed=!0,this.formPatcher.restore();let l=null==(t=this.model)||null==(e=t.flowEngine)?void 0:e.emitter;for(let e of(l&&this.mountedListener&&this.unmountedListener&&(l.off("model:mounted",this.mountedListener),l.off("model:unmounted",this.unmountedListener)),this.ruleEngine.dispose(),this.mountedFieldModelsByPathKey.clear(),this.observableBindings.values()))e.dispose();this.observableBindings.clear(),this.txWriteCounts.clear()}resetAfterFormReset(){if(this.disposed)return;for(let e of(this.explicitSet.clear(),this.userEditedSet.clear(),this.lastDefaultValueByPathKey.clear(),this.lastWriteMetaByPathKey.clear(),this.txWriteCounts.clear(),this.lastObservedChangedPaths=null,this.lastObservedSource=null,this.lastObservedToken+=1,this.observableBindings.values()))e.dispose();this.observableBindings.clear();let e=this.getFormValuesSnapshot();for(let e of Object.keys(this.valuesMirror))delete this.valuesMirror[e];e&&"object"==typeof e&&d().merge(this.valuesMirror,this.toMirrorSnapshot(e)),this.writeSeq+=1,this.bumpChangeTick(),this.ruleEngine.rescheduleAllRules()}resetUserEditedState(){this.disposed||(this.userEditedSet.clear(),this.ruleEngine.rescheduleAllRules())}isSuppressed(){return this.suppressFormCallbackDepth>0}handleFormFieldsChange(e){if(this.disposed)return;let t=this.getForm();if(!t.getFieldValue)return;let l=[],n=new Set,o=!1,r=!1;for(let i of e||[]){let e=null==i?void 0:i.name,a=this.normalizeObservedNamePath(e);if(!(null==a?void 0:a.length))continue;let s=t.getFieldValue(a),u=d().get(this.valuesMirror,a);if(!d().isEqual(s,u)&&(r||(this.writeSeq+=1,r=!0),d().set(this.valuesMirror,a,this.toMirrorSnapshot(s)),l.push(a),(null==i?void 0:i.touched)===!0&&!this.shouldIgnoreSyntheticTouchedInit(a,u,s))){let e=(0,x.Qc)(a);this.shouldKeepDefaultPathValueEnabled(a,s)||(n.add(e),o=!0)}}if(!l.length)return;let i=this.isSuppressed();if(!i&&n.size)for(let e of n)this.markExplicit(e),this.markUserEdited(e);if(this.bumpChangeTick(),i)return;let a=o?"user":"system",s=this.writeSeq;for(let e of l)this.lastWriteMetaByPathKey.set((0,x.Qc)(e),{source:a,writeSeq:s});this.lastObservedChangedPaths=l,this.lastObservedSource=a;let u=++this.lastObservedToken;queueMicrotask(()=>{this.disposed||this.lastObservedToken===u&&(this.lastObservedChangedPaths=null,this.lastObservedSource=null)})}shouldIgnoreSyntheticTouchedInit(e,t,l){if(!(null==e?void 0:e.length)||void 0!==t||!(0,w.Po)(l))return!1;for(let t=e.length-1;t>=0;t--){if("number"!=typeof e[t])continue;let l=e.slice(0,t+1),n=this.getFormValueAtPath(l);return!!(null==n?void 0:n.__is_new__)}return!1}isDeletedArrayItemPath(e,t){let l=Array.isArray(e)?e:(0,x.c1)(e);if(!(null==l?void 0:l.length))return!1;for(let e=l.length-1;e>=0;e--){if("number"!=typeof l[e])continue;let n=l.slice(0,e+1);return void 0===d().get(t,n)}return!1}pruneDeletedArrayItemState(e){for(let t of Array.from(this.explicitSet))this.isDeletedArrayItemPath(t,e)&&this.explicitSet.delete(t);for(let t of Array.from(this.userEditedSet))this.isDeletedArrayItemPath(t,e)&&this.userEditedSet.delete(t);for(let t of Array.from(this.lastDefaultValueByPathKey.keys()))this.isDeletedArrayItemPath(t,e)&&this.lastDefaultValueByPathKey.delete(t);for(let t of Array.from(this.lastWriteMetaByPathKey.keys()))this.isDeletedArrayItemPath(t,e)&&this.lastWriteMetaByPathKey.delete(t);for(let[t,l]of Array.from(this.observableBindings.entries()))this.isDeletedArrayItemPath(t,e)&&(l.dispose(),this.observableBindings.delete(t))}getArrayItemTargetKey(e){var t,l,n,o,r,i;let a,s,d=null==(l=this.model)||null==(t=l.context)?void 0:t.collection;for(let t of e||[])if("number"!=typeof t){if("string"!=typeof t||!(null==d?void 0:d.getField)||(a=null==d||null==(r=d.getField)?void 0:r.call(d,t),!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a))))break;s=a,d=null==a?void 0:a.targetCollection}let u=(null==s||null==(n=s.targetCollection)?void 0:n.filterTargetKey)??(null==s||null==(o=s.targetCollection)?void 0:o.filterByTk)??(null==s?void 0:s.targetKey);if(Array.isArray(u)){let e=u.filter(e=>"string"==typeof e&&!!e);return e.length?e:"id"}return"string"==typeof u&&u?u:"id"}getArrayItemIdentity(e,t){return(0,C.r5)(e,this.getArrayItemTargetKey(t))}reconcileArrayItemState(e,t,l){let n=new Set;for(let o of e||[]){if(!(null==o?void 0:o.length))continue;let e=(0,x.Qc)(o);if(n.has(e))continue;n.add(e);let r=d().get(this.valuesMirror,o),i=this.getObservedChangedValue(o,t,l);if(!Array.isArray(r)||!Array.isArray(i))continue;let a=new Map;i.forEach((e,t)=>{let l=this.getArrayItemIdentity(e,o);l&&a.set(l,t)}),a.size&&(this.reconcileArrayItemSet(this.explicitSet,o,r,a),this.reconcileArrayItemSet(this.userEditedSet,o,r,a),this.reconcileArrayItemMap(this.lastDefaultValueByPathKey,o,r,a),this.reconcileArrayItemMap(this.lastWriteMetaByPathKey,o,r,a),this.reconcileObservableBindings(o,r,a))}}getReconciledArrayItemPath(e,t,l,n){let o=(0,x.c1)(e);if(o.length<=t.length)return{action:"keep"};for(let e=0;e<t.length;e++)if(o[e]!==t[e])return{action:"keep"};let r=o[t.length];if("number"!=typeof r)return{action:"keep"};let i=this.getArrayItemIdentity(l[r],t);if(!i)return{action:"keep"};let a=n.get(i);if(null==a)return{action:"delete"};if(a===r)return{action:"keep"};let s=[...o];return s[t.length]=a,{action:"move",key:(0,x.Qc)(s)}}reconcileArrayItemSet(e,t,l,n){let o=new Set,r=!1;for(let i of e){let e=this.getReconciledArrayItemPath(i,t,l,n);if("delete"===e.action){r=!0;continue}if("move"===e.action){r=!0,o.add(e.key);continue}o.add(i)}if(r)for(let t of(e.clear(),o))e.add(t)}reconcileArrayItemMap(e,t,l,n){let o=new Map,r=!1;for(let[i,a]of e){let e=this.getReconciledArrayItemPath(i,t,l,n);if("delete"===e.action){r=!0;continue}if("move"===e.action){r=!0,o.set(e.key,a);continue}o.set(i,a)}if(r)for(let[t,l]of(e.clear(),o))e.set(t,l)}reconcileObservableBindings(e,t,l){let n=new Map,o=!1;for(let[r,i]of this.observableBindings){let a=this.getReconciledArrayItemPath(r,e,t,l);if("delete"===a.action){o=!0,i.dispose();continue}if("move"===a.action){o=!0,i.pathKey=a.key,n.set(a.key,i);continue}n.set(r,i)}if(o)for(let[e,t]of(this.observableBindings.clear(),n))this.observableBindings.set(e,t)}getObservedChangedValue(e,t,l){if(d().has(l,e))return d().get(l,e);if((null==e?void 0:e.length)===1){let l=e[0];if(("string"==typeof l||"number"==typeof l)&&t&&Object.prototype.hasOwnProperty.call(t,l))return t[l]}return d().get(l,e)}getObservedSnapshot(e,t){if(!e||"object"!=typeof e)return t;if(!t||"object"!=typeof t)return e;let l=t;for(let n of Object.keys(e))d().has(l,[n])||(l===t&&(l=Array.isArray(t)?[...t]:{...t}),d().set(l,[n],e[n]));return l}handleFormValuesChange(e,t){if(this.disposed||this.isSuppressed())return;let l=Object.keys(e||{}).map(e=>[e]),n=this.lastObservedChangedPaths&&this.lastObservedChangedPaths.length?this.lastObservedChangedPaths:l,o=this.lastObservedSource??"user";this.lastObservedChangedPaths=null,this.lastObservedSource=null;let r=this.getFormValuesSnapshot(),i=r&&"object"==typeof r?r:t&&"object"==typeof t?t:e,a=this.getObservedSnapshot(e,i);this.reconcileArrayItemState([...n,...l],e,a),this.pruneDeletedArrayItemState(a);let s=this.deriveExplicitPaths(n,e,a,this.valuesMirror).filter(e=>!this.isDeletedArrayItemPath(e,a)),u=!1,c=!1,p=[];for(let t of n){if(!(null==t?void 0:t.length))continue;let l=this.getObservedChangedValue(t,e,a),n=d().get(this.valuesMirror,t);d().isEqual(n,l)||(c||(this.writeSeq+=1,c=!0),d().set(this.valuesMirror,t,this.toMirrorSnapshot(l)),u=!0,p.push(t))}u&&this.bumpChangeTick();let m=[];for(let e of s)this.shouldKeepDefaultPathEnabled(e,a)||m.push(e);for(let e of m){let t=(0,x.Qc)(e);this.markExplicit(t),"user"===o&&this.markUserEdited(t)}if(u){let e=this.writeSeq;for(let t of p)(null==t?void 0:t.length)&&this.lastWriteMetaByPathKey.set((0,x.Qc)(t),{source:o,writeSeq:e})}let h=(0,w.ao)();this.emitFormValuesChange({source:o,txId:h,changedPaths:n,changedValues:e,allValues:a,allValuesSnapshot:a})}deriveExplicitPaths(e,t,l,n){let o=[],r=new Set;for(let i of e||[]){if(!(null==i?void 0:i.length))continue;let e=d().get(n,i),a=this.getObservedChangedValue(i,t,l);this.collectExplicitDiffPaths(e,a,i,o,r)}return o}collectExplicitDiffPaths(e,t,l,n,o){if(d().isEqual(e,t))return 0;let r=Array.isArray(e),i=Array.isArray(t);if(r||i){if(r&&i){let r=Math.min(e.length,t.length),i=0;for(let a=0;a<r;a++)i+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],n,o);return e.length!==t.length?i+ +!!this.pushExplicitPath(l,n,o):i}return+!!this.pushExplicitPath(l,n,o)}let a=this.isPlainObjectValue(e),s=this.isPlainObjectValue(t);if(a||s){if(a&&s){let r=new Set([...Object.keys(e),...Object.keys(t)]),i=0;for(let a of r)i+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],n,o);return 0===i&&this.isObjectCleared(e,t)?+!!this.pushExplicitPath(l,n,o):i}this.isObjectCleared(e,t)}return+!!this.pushExplicitPath(l,n,o)}pushExplicitPath(e,t,l){if(!(null==e?void 0:e.length))return!1;let n=(0,x.Qc)(e);return!(!n||l.has(n))&&(l.add(n),t.push([...e]),!0)}isPlainObjectValue(e){return d().isPlainObject(e)}isObjectCleared(e,t){return!!this.isPlainObjectValue(e)&&!!(null==t||this.isPlainObjectValue(t)&&0===Object.keys(t).length)}async setFormValues(e,t,l){var n,o,r,i;if(this.disposed)return;let a=null==(n=(o=this).getForm)?void 0:n.call(o);if(!a)return;let s=(null==l?void 0:l.source)??"system",u=(null==l?void 0:l.triggerEvent)!==!1,c=(null==l?void 0:l.txId)??(0,w.ao)(),p=(null==l?void 0:l.markExplicit)??("default"!==s&&"linkage"!==s),m=void 0===(null==l?void 0:l.txId),h="linkage"===s&&Number.isFinite(Number(null==l?void 0:l.linkageScopeDepth))?Number(null==l?void 0:l.linkageScopeDepth):0,v="linkage"===s&&"string"==typeof(null==l?void 0:l.linkageTxId)&&l.linkageTxId?String(l.linkageTxId):void 0,y=e=>{if("linkage"!==s||!v)return!1;let t=this.lastWriteMetaByPathKey.get(e);return!!t&&"linkage"===t.source&&!!t.linkageTxId&&t.linkageTxId===v&&(Number.isFinite(Number(t.linkageScopeDepth))?Number(t.linkageScopeDepth):0)>h},b=e=>"linkage"===s?{source:s,writeSeq:e,linkageScopeDepth:h,linkageTxId:v}:{source:s,writeSeq:e},S=e=>"linkage"===s&&v?{...e,linkageTxId:v}:e;try{let l=[];if(!Array.isArray(t)){let e=Object.entries(t||{}).map(e=>{let[t,l]=e;return[t,this.toMirrorSnapshot(l)]}).filter(e=>{let[t,l]=e;return!y(t)&&!d().isEqual(this.getFormValueAtPath([t]),l)}),l=Object.fromEntries(e),n=e.map(e=>{let[t]=e;return t});if(!n.length)return;n.length&&(this.writeSeq+=1),this.suppressFormCallbackDepth++;try{for(let[t,l]of e)"function"==typeof a.setFieldValue?a.setFieldValue(t,l):"function"==typeof a.setFields?a.setFields([{name:t,value:l}]):null==(r=a.setFieldsValue)||r.call(a,{[t]:l}),d().set(this.valuesMirror,[t],this.toMirrorSnapshot(l)),this.syncMountedFieldModelValue([t],l);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let o=this.writeSeq;for(let e of n)this.lastWriteMetaByPathKey.set(e,b(o));if(p)for(let e of n)this.markExplicit(e),"user"===s&&this.markUserEdited(e);if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(S({source:s,txId:c,changedPaths:n.map(e=>[e]),changedValues:l,allValues:e,allValuesSnapshot:e}))}return}let n=new Map,o=0;for(let l of t){let t=null==l?void 0:l.condition;if(t&&!(0,g.F)(e,t))continue;let r=this.resolveNamePath(e,l.path),i=(0,x.Qc)(r),a=l.value,s=this.toMirrorSnapshot(a);if(y(i))continue;let u=this.getFormValueAtPath(r);d().isEqual(u,s)||(o+=1,n.set(i,{order:o,namePath:r,value:s,rawValue:a,pathKey:i}))}let m=Array.from(n.values()).sort((e,t)=>e.order-t.order).map(e=>({namePath:e.namePath,value:e.value,rawValue:e.rawValue,pathKey:e.pathKey}));if(!m.length)return;let C=this.txWriteCounts.get(c)||new Map;this.txWriteCounts.set(c,C);let F=[];for(let e of m){let t=(C.get(e.pathKey)||0)+1;C.set(e.pathKey,t),t>w.li||F.push(e)}if(!F.length)return;this.writeSeq+=1;let k=this.writeSeq;for(let{pathKey:e,rawValue:t}of F)if(!(0,f.isObservable)(t)){let t=this.observableBindings.get(e);t&&(t.dispose(),this.observableBindings.delete(e))}this.suppressFormCallbackDepth++;try{for(let{namePath:e,value:t}of F)null==(i=a.setFieldValue)||i.call(a,e,t),d().set(this.valuesMirror,e,this.toMirrorSnapshot(t)),this.syncMountedFieldModelValue(e,t),l.push(e);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}for(let{pathKey:e}of F)this.lastWriteMetaByPathKey.set(e,b(k));if(p)for(let{pathKey:e}of F)this.markExplicit(e),"user"===s&&this.markUserEdited(e);if("default"===s)for(let{namePath:e,pathKey:t}of F){let l=this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(t,this.toMirrorSnapshot(l))}for(let{rawValue:t,pathKey:l}of F){if(!(0,f.isObservable)(t))continue;let n=t,o={source:s,pathKey:l,dispose:()=>{}},r=(0,f.observe)(n,()=>{let t=o.pathKey;this.applyBoundValue(e,(0,x.c1)(t),t,(0,f.toJS)(n),s,h,v)});o.dispose=r;let i=this.observableBindings.get(l);i&&i.dispose(),this.observableBindings.set(l,o)}if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(S({source:s,txId:c,changedPaths:l,changedValues:{},allValues:e,allValuesSnapshot:e}))}}finally{m&&this.txWriteCounts.delete(c)}}applyBoundValue(e,t,l,n,o,r,i){var a,s,u;if(this.disposed)return;let c=null==(a=(s=this).getForm)?void 0:a.call(s);if(!c||"override"===o&&this.findUserEditedHit(l))return;let p=this.toMirrorSnapshot(n),m=d().get(this.valuesMirror,t);if(d().isEqual(m,p))return;this.writeSeq+=1;let h=this.writeSeq;this.suppressFormCallbackDepth++;try{null==(u=c.setFieldValue)||u.call(c,t,p),d().set(this.valuesMirror,t,this.toMirrorSnapshot(p)),this.syncMountedFieldModelValue(t,p),this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let f="linkage"===o?{source:o,writeSeq:h,linkageScopeDepth:Number.isFinite(Number(r))?Number(r):0,linkageTxId:"string"==typeof i&&i?i:void 0}:{source:o,writeSeq:h};this.lastWriteMetaByPathKey.set(l,f);let g=(0,w.ao)(),v=this.getFormValuesSnapshot(),y={source:o,txId:g,changedPaths:[t],changedValues:{},allValues:v,allValuesSnapshot:v};if("linkage"===o&&i&&(y.linkageTxId=i),this.emitFormValuesChange(y),"default"===o&&this.isExplicit(l)||"override"===o&&this.findUserEditedHit(l)){let e=this.observableBindings.get(l);e&&(e.dispose(),this.observableBindings.delete(l))}"default"===o&&this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(this.getFormValueAtPath(t)))}resolveNamePath(e,t){let l=this.tryResolveNamePath(e,t);if(!l)throw Error(`Failed to resolve path '${String(t)}'`);return l}tryResolveNamePath(e,t){var l,n;let o=(null==e||null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex);return(0,x.IJ)(t,o)}bumpChangeTick(){this.changeTick.value+=1}emitFormValuesChange(e){var t,l,n,o;null==(t=(l=this.model).dispatchEvent)||t.call(l,"formValuesChange",e,{debounce:!0}),null==(o=this.model.emitter)||null==(n=o.emit)||n.call(o,"formValuesChange",e)}syncMountedFieldModelValue(e,t){let l=(0,x.Qc)(e);if(!l)return;let n=this.mountedFieldModelsByPathKey.get(l);if(!(null==n?void 0:n.size))return;let o=new Set;for(let e of Array.from(n))this.syncMountedFieldModelValueForModel(e,t,o)}syncMountedFieldModelValueForModel(e,t,l){var n,o,r;if(!e||l.has(e)||(l.add(e),!this.isMountedModelInThisForm(e)))return;let i={value:t};null==(n=e.setProps)||n.call(e,i);let a=null==(o=e.subModels)?void 0:o.field;null==a||null==(r=a.setProps)||r.call(a,i)}rebuildMountedFieldModelIndex(){var e,t;this.mountedFieldModelsByPathKey.clear();let l=null==(t=this.model)||null==(e=t.context)?void 0:e.engine;l&&"function"==typeof l.forEachModel&&l.forEachModel(e=>{this.indexMountedFieldModelTree(e)})}indexMountedFieldModelTree(e){this.visitModelAndForks(e,e=>this.indexMountedFieldModel(e))}unindexMountedFieldModelTree(e){this.visitModelAndForks(e,e=>this.unindexMountedFieldModel(e))}visitModelAndForks(e,t){if(!e)return;let l=new Set,n=e=>{var o;if(!e||l.has(e))return;l.add(e),t(e);let r=e.forks;null==r||null==(o=r.forEach)||o.call(r,e=>n(e))};n(e)}indexMountedFieldModel(e){if(!this.isMountedModelInThisForm(e))return;let t=new Set;for(let l of this.getMountedModelNamePaths(e)){let e=(0,x.Qc)(l);e&&t.add(e)}if(t.size)for(let l of(this.unindexMountedFieldModel(e),this.mountedFieldModelPathKeys.set(e,t),t)){let t=this.mountedFieldModelsByPathKey.get(l)||new Set;t.add(e),this.mountedFieldModelsByPathKey.set(l,t)}}unindexMountedFieldModel(e){let t=this.mountedFieldModelPathKeys.get(e);if(t){for(let l of t){let t=this.mountedFieldModelsByPathKey.get(l);t&&(t.delete(e),t.size||this.mountedFieldModelsByPathKey.delete(l))}this.mountedFieldModelPathKeys.delete(e)}}isMountedModelInThisForm(e){var t;let l=null==(t=e.context)?void 0:t.blockModel;return!!l&&String(l.uid)===String(this.model.uid)}getMountedModelNamePaths(e){var t,l;let n=[],o=e=>{let t=this.normalizeNamePathValue(e);(null==t?void 0:t.length)&&n.push(t)};o(null==(t=e.context)?void 0:t.fieldPathArray);let r="function"==typeof e.getProps?e.getProps():e.props;r&&"object"==typeof r&&o(r.name);try{let t=null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init");t&&"object"==typeof t&&o(t.fieldPath)}catch{}let i=new Set;return n.filter(e=>{let t=(0,x.Qc)(e);return!(!t||i.has(t))&&(i.add(t),!0)})}normalizeNamePathValue(e){if(Array.isArray(e)){let t=e.filter(e=>"string"==typeof e||"number"==typeof e);return t.length===e.length?t:null}return"number"==typeof e?[e]:"string"==typeof e&&e?(0,x.c1)(e):null}markExplicit(e){if(this.explicitSet.has(e))return;this.explicitSet.add(e);let t=this.shouldPreserveDescendantDefaultsOnExplicit(e);for(let l of Array.from(this.lastDefaultValueByPathKey.keys())){let n=l.startsWith(`${e}.`)||l.startsWith(`${e}[`);(l===e||!t&&n)&&this.lastDefaultValueByPathKey.delete(l)}for(let[e,t]of Array.from(this.observableBindings.entries()))"default"===t.source&&this.isExplicit(e)&&(t.dispose(),this.observableBindings.delete(e))}markUserEdited(e){if(!this.userEditedSet.has(e))for(let[t,l]of(this.userEditedSet.add(e),Array.from(this.observableBindings.entries())))"override"===l.source&&this.findUserEditedHit(t)&&(l.dispose(),this.observableBindings.delete(t))}normalizeObservedNamePath(e){if(Array.isArray(e))return e;if("number"==typeof e)return[e];if("string"!=typeof e||!e)return null;let t=(0,x.c1)(e);return t.length?t:[e]}clearExplicitForDefaultPatch(e){for(let t of Array.from(this.explicitSet))(t===e||t.startsWith(`${e}.`)||t.startsWith(`${e}[`))&&this.explicitSet.delete(t)}shouldPreserveDescendantDefaultsOnExplicit(e){return Array.isArray(this.getFormValueAtPath((0,x.c1)(e)))}shouldKeepDefaultPathEnabled(e,t){return this.shouldKeepDefaultPathValueEnabled(e,d().get(t,e))}shouldKeepDefaultPathValueEnabled(e,t){let l=(0,x.Qc)(e),n=this.lastDefaultValueByPathKey.get(l);if(void 0===n)return!1;let o=(0,f.isObservable)(t)?(0,f.toJS)(t):t;return d().isEqual(o,n)}isExplicit(e){return!!this.findExplicitHit(e)}findExplicitHit(e){if(this.explicitSet.has(e))return e;let t=(0,x.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let n=(0,x.Qc)(l);if(this.explicitSet.has(n)&&"number"!=typeof t[e+1])return n}return null}findUserEditedHit(e){if(this.userEditedSet.has(e))return e;let t=(0,x.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let n=(0,x.Qc)(l);if(this.userEditedSet.has(n)&&"number"!=typeof t[e+1])return n}for(let t of this.userEditedSet)if(this.isDescendantPathKey(t,e))return t;return null}findLatestWriteMeta(e){let t,l=(0,x.c1)(e),n=[];for(let e=0;e<l.length;e++){n.push(l[e]);let o=this.lastWriteMetaByPathKey.get((0,x.Qc)(n));o&&(!t||o.writeSeq>=t.writeSeq)&&(t=o)}return t}isCurrentUserEditedPath(e){let t=this.findLatestWriteMeta(e);return!t||"user"===t.source}omitNonUserDescendantValues(e,t){if(!t||"object"!=typeof t)return t;let l=(0,x.c1)(e);for(let n of this.lastWriteMetaByPathKey.keys())this.isDescendantPathKey(n,e)&&(this.isCurrentUserEditedPath(n)||d().unset(t,(0,x.c1)(n).slice(l.length)));return t}isDescendantPathKey(e,t){if(!e||!t||e===t)return!1;let l=(0,x.c1)(e),n=(0,x.c1)(t);return!(l.length<=n.length)&&n.every((e,t)=>l[t]===e)}constructor(e){this.valuesMirror=(0,f.observable)({}),this.explicitSet=new Set,this.userEditedSet=new Set,this.lastDefaultValueByPathKey=new Map,this.lastWriteMetaByPathKey=new Map,this.observableBindings=new Map,this.changeTick=f.observable.ref(0),this.txWriteCounts=new Map,this.writeSeq=0,this.disposed=!1,this.suppressFormCallbackDepth=0,this.lastObservedChangedPaths=null,this.lastObservedSource=null,this.lastObservedToken=0,this.mountedFieldModelsByPathKey=new Map,this.mountedFieldModelPathKeys=new WeakMap,this.model=e.model,this.getForm=e.getForm,this.formPatcher=y({isSuppressed:()=>this.isSuppressed(),getCallerContext:()=>{var e;return null==(e=this.model)?void 0:e.context},setFormValues:this.setFormValues.bind(this)}),this.ruleEngine=new j({getBlockModelUid:()=>{var e;return String(null==(e=this.model)?void 0:e.uid)},getAssignRulesModelUid:()=>{var e,t;let l=null==(t=this.model)||null==(e=t.subModels)?void 0:e.grid;return!Array.isArray(l)&&(null==l?void 0:l.uid)?String(l.uid):void 0},getActionName:()=>{var e,t,l,n;return(null==(t=this.model)||null==(e=t.getAclActionName)?void 0:e.call(t))??(null==(n=this.model)||null==(l=n.context)?void 0:l.actionName)},getBlockContext:()=>{var e;return null==(e=this.model)?void 0:e.context},getEngine:()=>{var e,t;return null==(t=this.model)||null==(e=t.context)?void 0:e.engine},getEngineModel:e=>{var t,l,n,o;return(null==(o=this.model)||null==(n=o.context)||null==(l=n.engine)||null==(t=l.getModel)?void 0:t.call(l,e))??null},isDisposed:()=>this.disposed,valuesMirror:this.valuesMirror,changeTick:this.changeTick,getWriteSeq:()=>this.writeSeq,txWriteCounts:this.txWriteCounts,createTrackingFormValues:e=>(0,v.x3)({valuesMirror:this.valuesMirror,basePath:[],collector:e,getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)}),tryResolveNamePath:(e,t)=>this.tryResolveNamePath(e,t),getFormValueAtPath:e=>this.getFormValueAtPath(e),setFormValues:(e,t,l)=>this.setFormValues(e,t,l),findExplicitHit:e=>this.findExplicitHit(e),findUserEditedHit:e=>this.findUserEditedHit(e),lastDefaultValueByPathKey:this.lastDefaultValueByPathKey,lastWriteMetaByPathKey:this.lastWriteMetaByPathKey,observableBindings:this.observableBindings}),this.formValuesProxy=(0,v.x3)({valuesMirror:this.valuesMirror,basePath:[],getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)})}}function T(e,t){let l=Array.isArray(e)?e:[],n=new Set,o=e=>{var l,n,o;if(!t||"function"!=typeof t.getField||"string"!=typeof e||!e.includes("."))return null;let r=e.split(".").filter(Boolean);if(r.length<2)return null;let i=t,a=[],s=null,d=null;for(let e=0;e<r.length-1;e++){let t=r[e],o=null==i||null==(l=i.getField)?void 0:l.call(i,t);if(!(null==o||null==(n=o.isAssociationField)?void 0:n.call(o))||!(null==o?void 0:o.targetCollection))break;a.push(t),s=a.join("."),d=o,i=o.targetCollection}if(s&&d){let e=r[r.length-1],t=(null==d?void 0:d.targetKey)??(null==d||null==(o=d.targetCollection)?void 0:o.filterTargetKey)??"id",l=Array.isArray(t)?t.filter(e=>"string"==typeof e&&!!e):"string"==typeof t&&t?[t]:["id"];if("string"==typeof e&&l.includes(e))return null}return s};for(let e of l){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t)continue;let l=o(t);l&&n.add(l)}return Array.from(n)}var R=l(71712);let E={formModelSettings:new Set(["layout","assignRules"]),eventSettings:new Set(["linkageRules"])},N="nb-flow-keep-mobile-horizontal",D=(0,r.css)`
3221
+ `;return(0,n.jsxs)("div",{style:{maxHeight:300,overflowY:"auto"},children:[e.map(e=>(0,n.jsx)("div",{role:"option",onClick:()=>b(e.value),className:l,children:f(e.label)},e.value)),(0,n.jsx)(i.A,{style:{margin:"4px 0"}}),t.map(e=>(0,n.jsx)("div",{role:"option",className:l,onClick:()=>b(e.value),title:f(e.label),children:f(e.label)},e.value))]})};return(0,n.jsxs)(a.A.Compact,{style:{...m.style,width:"100%"},children:[(0,n.jsx)(s.A,{options:x,open:v,onDropdownVisibleChange:y,...m,allowClear:!1,style:{width:"100%",minWidth:100,maxWidth:["past","next","exact",void 0].includes(null==t?void 0:t.type)?100:null},value:(null==t?void 0:t.type)||"exact",onChange:b,dropdownRender:w}),["past","next"].includes(null==t?void 0:t.type)&&[(0,n.jsx)(d.A,{style:{flex:1},value:null==t?void 0:t.number,onChange:e=>{l({...t,number:e})}},"number"),(0,n.jsx)(s.A,{value:null==t?void 0:t.unit,style:{minWidth:130,maxWidth:140},onChange:e=>{l({...t,unit:e})},options:[{value:"day",label:f("Day")},{value:"week",label:f("Calendar week")},{value:"month",label:f("Calendar Month")},{value:"year",label:f("Calendar Year")}],popupMatchSelectWidth:!0},"unit")],((null==t?void 0:t.type)==="exact"||!(null==t?void 0:t.type))&&(0,n.jsx)(F,{...m,value:t,onChange:l})]})}},32644(e,t,l){"use strict";l.d(t,{S:()=>i}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182);let n=new Set(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$in","$notIn"]);function o(e){return!!e&&"object"==typeof e&&!Array.isArray(e)&&"type"in e}function r(e){return null==e||"string"==typeof e&&""===e.trim()}function i(e,t){if(!e)return t;if("$dateBetween"===e){if(null==t||o(t))return t;if(Array.isArray(t)){if(0===t.length)return t;let e=t[0],l=t.length>1?t[1]:void 0,n=r(e),o=r(l);return(1!==t.length||n)&&(n||!o)?n&&!o?[l,l]:t:[e,e]}return[t,t]}return n.has(e)?null==t||Array.isArray(t)?t:"string"==typeof t&&""===t.trim()?[]:[t]:t}},71616(e,t,l){"use strict";l.d(t,{EditFormModel:()=>c}),l(14324),l(89773);var n=l(74848),o=l(11869),r=l(58929),i=l(84626),a=l(40098);l(96540);var s=l(77471),d=l(96491),u=l(84759);class c extends d.F4{createResource(e,t){var l,n;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(n=this.association)?void 0:n.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(o.SingleRecordResource);return e.isNewRecord=!1,e}let r=this.context.createResource(o.MultiRecordResource);return r.setPageSize(1),r}isMultiRecordResource(){return this.resource instanceof o.MultiRecordResource}getCurrentRecord(){let e=this.resource.getData();return Array.isArray(e)?e[0]:e}hasAvailableData(){return this.resource.hasData()}getAclActionName(){return"update"}async submitHandler(e,t,n){let{submitHandler:o}=await Promise.resolve().then(l.bind(l,53831));await o(e,t,n)}async submit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,{submitHandler:n}=await Promise.resolve().then(l.bind(l,53831));await n(this.context,e,t)}renderComponent(){var e,t;let{colon:l,labelAlign:a,labelWidth:s,labelWrap:u,layout:c}=this.props,p=!!this.context.flowSettingsEnabled,m=this.hasAvailableData(),h=!p&&!m,{heightMode:f,height:g}=this.decoratorProps,v=this.resource.loading||m?this.isMultiRecordResource()&&this.resource.getMeta("count")>1?(0,n.jsx)("div",{style:{textAlign:"center",marginTop:16},children:(0,n.jsx)(r.A,{simple:!0,pageSize:1,showSizeChanger:!1,defaultCurrent:this.resource.getPage(),total:this.resource.getTotalPage(),onChange:this.handlePageChange,style:{display:"inline-block"}})}):null:(0,n.jsx)("div",{style:{textAlign:"center",marginTop:16,color:null==(t=this.context)||null==(e=t.themeToken)?void 0:e.colorTextDescription},children:this.translate("No available data currently")});return(0,n.jsx)(d.JU,{model:this,gridModel:this.subModels.grid,layoutProps:{colon:l,labelAlign:a,labelWidth:s,labelWrap:u,layout:c},heightMode:f,height:g,grid:(0,n.jsx)(o.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),actions:(0,n.jsx)("div",{style:h?{pointerEvents:"none",opacity:.45}:void 0,children:(0,n.jsx)(o.DndProvider,{children:(0,n.jsxs)(i.A,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||p)return(0,n.jsx)(o.Droppable,{model:e,children:(0,n.jsx)(o.MemoFlowModelRenderer,{model:e,showFlowSettings:!!this.context.flowSettingsEnabled&&this.actionFlowSettings,extraToolbarItems:this.actionExtraToolbarItems},e.uid)},e.uid)}),this.renderConfigureActions()]})})}),footer:v})}constructor(...e){super(...e),this.actionFlowSettings={showBackground:!1,showBorder:!1,toolbarPosition:"above"},this.actionExtraToolbarItems=[{key:"drag-handler",component:o.DragHandler,sort:1}],this.handlePageChange=async e=>{if(this.resource instanceof o.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await t.refresh(),await (0,u.Xi)(this,"paginationChange")}}}}c.scene=s.P.oam,c.blockCapabilityActionName="update",c.registerFlow({key:"formSettings",title:(0,o.tExpr)("Edit form settings"),steps:{init:{async handler(e){if(!e.resource)throw Error("Resource is not initialized");e.resource.on("refresh",async()=>{var t,l,n,o,r,i,s,d;let u=e.resource.getMeta("currentFilterByTk"),c={...e.model.getCurrentRecord()};if(!c)return;let p=null==(t=e.association)?void 0:t.targetKey;if(p&&(null==(l=e.association)?void 0:l.interface)!=="m2m"?e.resource.setMeta({currentFilterByTk:null==c?void 0:c[p]}):e.resource.setMeta({currentFilterByTk:e.collection.getFilterByTK(c)}),!e.form)return;let m=e.resource.getMeta("currentFilterByTk"),h=!(0,a.isEqual)(u,m),f=null==(n=(o=e.model).getUserModifiedFields)?void 0:n.call(o),g=!!(null==f?void 0:f.size),v=()=>{if(!(null==f?void 0:f.size))return;let t=e=>null!==e&&"object"==typeof e;for(let l of Array.from(f)){let n=e.form.getFieldValue(l),o=null==c?void 0:c[l];(Object.is(n,o)||t(n)&&t(o)&&(0,a.isEqual)(n,o))&&f.delete(l)}};if(!h&&g){let t={...c};for(let l of f)t[l]=e.form.getFieldValue(l);e.form.setFieldsValue(t),v();return}h&&(null==(r=(i=e.model).resetUserModifiedFields)||r.call(i),null==(s=(d=e.model).resetRuntimeUserEditedState)||s.call(d)),e.form.setFieldsValue(c),v()})}},dataScope:{use:"dataScope"},refresh:{async handler(e){if(!e.resource)throw Error("Resource is not initialized")}}}}),c.registerFlow({key:"paginationChange",on:"paginationChange",steps:{blockLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"blockLinkageRules",flowKey:"cardSettings",stepKey:"linkageRules"}},fieldsLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"fieldLinkageRules",flowKey:"eventSettings",stepKey:"linkageRules"}}}}),c.define({label:(0,o.tExpr)("Form (Edit)"),searchable:!0,searchPlaceholder:(0,o.tExpr)("Search"),createModelOptions:{use:"EditFormModel",subModels:{grid:{use:"FormGridModel"}}},sort:340})},96491(e,t,l){"use strict";l.d(t,{JU:()=>K,s2:()=>L,F4:()=>q,mO:()=>U}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(45336),l(91625),l(34678),l(79936),l(38263),l(89773);var n=l(74848),o=l(49655),r=l(22803),i=l(11869),a=l(89013),s=l(40098),d=l.n(s),u=l(46629),c=l(96540),p=l(2117),m=l(25359),h=l(52175);l(5409),l(21947),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(69861),l(23446),l(23089),l(82855),l(17106),l(36792);var f=l(95243),g=l(29676),v=l(47632);function y(e){let t,l,n,o=()=>{let e=t;e&&(l&&(e.setFieldValue=l),n&&(e.setFieldsValue=n),t=void 0,l=void 0,n=void 0)};return{patch:r=>{if(t===r)return;o();let i="function"==typeof(null==r?void 0:r.setFieldValue)?r.setFieldValue.bind(r):void 0,a="function"==typeof(null==r?void 0:r.setFieldsValue)?r.setFieldsValue.bind(r):void 0;t=r,l=i,n=a,i&&(r.setFieldValue=(t,l)=>{e.isSuppressed()?i(t,l):e.setFormValues(e.getCallerContext(),[{path:t,value:l}],{source:"system"}).catch(()=>void 0)}),a&&(r.setFieldsValue=t=>{e.isSuppressed()?a(t):e.setFormValues(e.getCallerContext(),t,{source:"system"}).catch(()=>void 0)})},restore:o}}var x=l(12197);l(14324);var b=l(87710),w=l(65421),S=l(13940),C=l(26866);let F=Symbol("SKIP_RULE_VALUE"),k=Symbol("UNRESOLVED_ASSOCIATION_IDENTITY"),A=1e3;function P(e){return"default"===e?"default":"override"===e?"override":"assign"}function M(e){return"default"===e?"default":"override"===e?"override":"system"}class j{getAssignRuleBlockId(e){return`form-assign:${e}:block`}removeAssignRuleBlockInstance(e){let t=this.getAssignRuleBlockId(e);this.rules.has(t)&&this.removeRule(t)}removeRowGridAssignRuleInstances(e){let t=`form-assign:${e}:`,l=this.getAssignRuleBlockId(e),n=[];for(let[e,i]of this.rules.entries()){var o,r;if(!e.startsWith(t)||e===l)continue;let a=null==i||null==(r=i.rule)||null==(o=r.getContext)?void 0:o.call(r),s=null==a?void 0:a.model;s&&this.isRowGridModel(s)&&n.push(e)}for(let e of n)this.removeRule(e)}hasAnyNonBlockAssignRuleInstance(e){let t=`form-assign:${e}:`,l=this.getAssignRuleBlockId(e);for(let e of this.rules.keys())if(e.startsWith(t)&&e!==l)return!0;return!1}ensureBlockAssignRuleInstancesForTargetPath(e){if(this.options.isDisposed()||!e||!this.shouldCreateBlockLevelAssignRule(e))return;let t=this.assignTemplatesByTargetPath.get(e)||[];if(t.length)for(let l of t){let t=(null==l?void 0:l.__key)?String(l.__key):"";if(!t||this.hasAnyNonBlockAssignRuleInstance(t))continue;let n=M(P(null==l?void 0:l.mode)),o=(null==l?void 0:l.enable)!==!1,r=this.getAssignRuleBlockId(t);if(this.rules.has(r))continue;let i={id:r,source:n,priority:10+(l.__order||0),debounceMs:0,getEnabled:()=>o&&!!e,getTarget:()=>e,getValue:()=>null==l?void 0:l.value,getCondition:()=>null==l?void 0:l.condition,getContext:()=>this.options.getBlockContext(),getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(r,{rule:i,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(r)}}getCollectionFromContext(e){var t,l;return(null==e?void 0:e.collection)??(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.collection)}getRootCollection(){let e=this.options.getBlockContext();return this.getCollectionFromContext(e)}shouldCreateBlockLevelAssignRule(e){let t=this.options.getBlockContext(),l=this.getCollectionFromContext(t);if(!(null==l?void 0:l.getField))return!0;let n=(0,x.EA)(e).filter(e=>"object"!=typeof e);if(n.length<=1)return!0;for(let e=0;e<n.length-1;e++){var o,r;let t=n[e];if("string"!=typeof t)continue;let i=null==l||null==(o=l.getField)?void 0:o.call(l,t);if(!(null==i||null==(r=i.isAssociationField)?void 0:r.call(i)))break;if((0,S.E4)(i)){if("number"!=typeof n[e+1])return!1;e+=1}if(!(null==(l=null==i?void 0:i.targetCollection)?void 0:l.getField))break}return!0}collectAssociationPrefixPaths(e,t){let l=[],n=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==n?void 0:n.getField))return l;let o=[];for(let e=0;e<t.length-1;e++){var r,i;let a=t[e];if("string"!=typeof a)break;let s=null==n||null==(r=n.getField)?void 0:r.call(n,a);if(!(null==s||null==(i=s.isAssociationField)?void 0:i.call(s)))break;if(o.push(a),(0,S.E4)(s)){let l=t[e+1];if("number"!=typeof l)break;o.push(l),e+=1}if(l.push([...o]),!(null==(n=null==s?void 0:s.targetCollection)?void 0:n.getField))break}return l}shouldSkipToManyAssociationWriteWithoutIndex(e,t){let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return!1;for(let e=0;e<t.length-1;e++){var n,o;let r=t[e];if("string"!=typeof r)continue;let i=null==l||null==(n=l.getField)?void 0:n.call(l,r);if(!(null==i||null==(o=i.isAssociationField)?void 0:o.call(i)))break;if((0,S.E4)(i)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==i?void 0:i.targetCollection)?void 0:l.getField))break}return!1}shouldSkipAssociationNestedWrite(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return!1;for(let n of l){let l=this.options.getFormValueAtPath(n);if(null==l){let l=n.filter(e=>"string"==typeof e).join(".");if(l&&this.getUpdateAssociationForTargetPath(l)||this.isAssociationTargetKeyWrite(e,t,n))continue;return!0}if("object"!=typeof l)return!0}return!1}getAssociationTargetKeyFields(e){var t,l;let n=(null==e?void 0:e.targetKey)??(null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey)??(null==e||null==(l=e.targetCollection)?void 0:l.filterByTk)??"id";return Array.isArray(n)?n.filter(e=>"string"==typeof e&&!!e):"string"==typeof n&&n?[n]:["id"]}resolveAssociationFieldByPrefixPath(e,t){let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return null;let n=null;for(let e of t){var o,r;if("number"==typeof e)continue;if("string"!=typeof e||!e)break;let t=null==l||null==(o=l.getField)?void 0:o.call(l,e);if(!(null==t||null==(r=t.isAssociationField)?void 0:r.call(t))||(n=t,!(null==(l=null==t?void 0:t.targetCollection)?void 0:l.getField)))break}return n}isAssociationTargetKeyWrite(e,t,l){var n;if(!Array.isArray(t)||!Array.isArray(l)||t.length!==l.length+1)return!1;let o=t[l.length];if("string"!=typeof o||!o)return!1;let r=this.resolveAssociationFieldByPrefixPath(e,l);return!(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r))||(0,S.E4)(r))&&this.getAssociationTargetKeyFields(r).includes(o)}collectUpdateAssociationInitPatches(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return[];let n=[];for(let o of l){let l=this.options.getFormValueAtPath(o);if(null==l){let l=o.filter(e=>"string"==typeof e).join(".");if(!l)return null;if(this.getUpdateAssociationForTargetPath(l)){n.push({path:[...o,"__is_new__"],value:!0});continue}if(this.isAssociationTargetKeyWrite(e,t,o)){n.push({path:[...o],value:{}});continue}return null}if("object"!=typeof l)return null}let o=new Map;for(let e of n){let t=(0,x.Qc)(e.path);o.has(t)||o.set(t,e)}return Array.from(o.values())}dispose(){for(let{state:e}of this.rules.values())e.depDisposers.forEach(e=>e());for(let e of(this.rules.clear(),this.pendingRuleIds.clear(),this.assignTemplatesByTargetPath.clear(),this.defaultRuleMasterDisposers.values()))e();for(let e of(this.defaultRuleMasterDisposers.clear(),this.defaultRuleIdsByMasterUid.clear(),this.ruleDebounceTimersById.values()))clearTimeout(e);this.ruleDebounceTimersById.clear(),this.ruleDebounceUntilById.clear()}enable(){this.rulesEnabled=!0,this.pendingRuleIds.size&&!this.runningRules&&this.flushRules()}syncAssignRules(e){if(this.options.isDisposed())return;let t=(Array.isArray(e)?e:[]).map((e,t)=>({...e,key:(null==e?void 0:e.key)?String(e.key):`idx:${t}`})),l="form-assign:";for(let e of Array.from(this.rules.keys()))e.startsWith(l)&&this.removeRule(e);this.assignTemplatesByTargetPath.clear(),this.formItemTargetPaths.clear(),this.updateAssociationByTargetPath.clear();let n=0;for(let e of t){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t)continue;let l=this.assignTemplatesByTargetPath.get(t)||[];n+=1,l.push({...e,__key:String(e.key),__order:n}),this.assignTemplatesByTargetPath.set(t,l)}let o=this.options.getEngine(),r=new Set;if(null==o?void 0:o.forEachModel){o.forEachModel(e=>{var t;if(!this.isModelInThisForm(e)||!(null==e||null==(t=e.subModels)?void 0:t.field))return;let l=this.getModelTargetPath(e);l&&this.formItemTargetPaths.add(l),this.cacheUpdateAssociationForModel(e)});let e=e=>{this.cacheUpdateAssociationForModel(e),this.tryRegisterAssignRuleInstancesForModel(e,r);let t=null==e?void 0:e.forks;t&&"function"==typeof t.forEach&&t.forEach(e=>{e&&(null==e||!e.disposed)&&this.tryRegisterAssignRuleInstancesForModel(e,r)})};o.forEachModel(t=>{e(t)})}for(let[e,t]of this.assignTemplatesByTargetPath.entries())if(!r.has(e)&&this.shouldCreateBlockLevelAssignRule(e))for(let n of t){let t=M(P(null==n?void 0:n.mode)),o=(null==n?void 0:n.enable)!==!1,r=`${l}${n.__key}:block`;this.rules.has(r)&&this.removeRule(r);let i={id:r,source:t,priority:10+(n.__order||0),debounceMs:0,getEnabled:()=>o&&!!e,getTarget:()=>e,getValue:()=>null==n?void 0:n.value,getCondition:()=>null==n?void 0:n.condition,getContext:()=>this.options.getBlockContext(),getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(r,{rule:i,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(r)}for(let e of Array.from(this.rules.keys()))e.startsWith("default:")&&this.scheduleRule(e)}onModelMounted(e){var t;if(this.isModelInThisForm(e)&&!(null==e?void 0:e.isFork)&&(null==e||null==(t=e.subModels)?void 0:t.field)){let t=this.getModelTargetPath(e);t&&this.formItemTargetPaths.add(t),this.cacheUpdateAssociationForModel(e)}this.tryRegisterDefaultRuleInstance(e),this.tryRegisterAssignRuleInstancesForModel(e)}onModelUnmounted(e){var t;if(this.tryUnregisterDefaultRuleInstance(e),this.tryUnregisterAssignRuleInstancesForModel(e),this.isModelInThisForm(e)&&(null==e||null==(t=e.subModels)?void 0:t.field)){let t=this.getModelTargetPath(e);if(t&&(this.ensureBlockAssignRuleInstancesForTargetPath(t),!(null==e?void 0:e.isFork))){this.updateAssociationByTargetPath.delete(t),this.formItemTargetPaths.delete(t);let e=`${t}.`;for(let t of this.assignTemplatesByTargetPath.keys())t.startsWith(e)&&this.ensureBlockAssignRuleInstancesForTargetPath(t);let l=this.options.getEngine();if(null==l?void 0:l.forEachModel){let e=e=>{this.tryRegisterAssignRuleInstancesForModel(e);let t=null==e?void 0:e.forks;t&&"function"==typeof t.forEach&&t.forEach(e=>{e&&(null==e||!e.disposed)&&this.tryRegisterAssignRuleInstancesForModel(e)})};l.forEachModel(t=>e(t))}}}}isModelInThisForm(e){var t;let l=null==e||null==(t=e.context)?void 0:t.blockModel;return!!l&&String(l.uid)===String(this.options.getBlockModelUid())}cacheUpdateAssociationForModel(e){var t,l;if(this.options.isDisposed()||!this.isModelInThisForm(e)||!e||"object"!=typeof e||(null==e?void 0:e.isFork)||!(null==e||null==(t=e.subModels)?void 0:t.field))return;let n=this.getModelTargetPath(e);if(!n)return;let o=null==e||null==(l=e.subModels)?void 0:l.field,r=!!(null==o?void 0:o.updateAssociation);!0!==this.updateAssociationByTargetPath.get(n)&&this.updateAssociationByTargetPath.set(n,r)}getUpdateAssociationForTargetPath(e){let t=String(e||"");if(!t)return!1;if(this.updateAssociationByTargetPath.has(t))return!!this.updateAssociationByTargetPath.get(t);let l=this.options.getEngine();return((null==l?void 0:l.forEachModel)&&l.forEachModel(e=>{this.cacheUpdateAssociationForModel(e)}),this.updateAssociationByTargetPath.has(t))?!!this.updateAssociationByTargetPath.get(t):(this.updateAssociationByTargetPath.set(t,!1),!1)}getDefaultRuleId(e){let t=(null==e?void 0:e.isFork)?String((null==e?void 0:e.forkId)??"fork"):"master",l=(null==e?void 0:e.uid)?String(e.uid):String(e);return`default:${l}:${t}`}getModelTargetNamePath(e){var t;let l=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(l)&&l.length)return l;let n="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,o=null==n?void 0:n.name;return Array.isArray(o)?o:"string"==typeof o?o.includes(".")?o.split("."):[o]:null}getAssignTemplateTargetPathForModel(e){let t=this.getModelTargetPath(e);if(t)return t;let l=this.getModelTargetNamePath(e);if(!(null==l?void 0:l.length))return"";let n=l.filter(e=>"number"!=typeof e);return n.length?(0,x.Qc)(n):""}hasAssignTemplateForTargetPath(e){let t=String(e||"");return!!t&&this.assignTemplatesByTargetPath.has(t)}tryRegisterDefaultRuleInstance(e){if(this.options.isDisposed()||!this.isModelInThisForm(e)||!e||"object"!=typeof e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(!t||"object"!=typeof t)return;let l=this.getModelTargetNamePath(e);if(!l)return;let n=this.getDefaultRuleId(e);if(this.rules.has(n))return;let o=e.master||e,r=this.getAssignTemplateTargetPathForModel(e);this.bindMasterInitialValue(o,n);let i=()=>{var e;let t=(null==o||null==(e=o.getProps)?void 0:e.call(o))??(null==o?void 0:o.props);return null==t?void 0:t.initialValue},a=i(),s=!1,u=()=>{let e=i();if(s||d().isEqual(e,a)||(s=!0),!this.hasAssignTemplateForTargetPath(r)||s||void 0===a)return e},c=()=>{if(!this.hasAssignTemplateForTargetPath(r))try{var e,t,l,n;let r=null==o||null==(t=o.getStepParams)||null==(e=t.call(o,"editItemSettings","initialValue"))?void 0:e.defaultValue;if(void 0!==r)return r;let i=null==o||null==(n=o.getStepParams)||null==(l=n.call(o,"formItemSettings","initialValue"))?void 0:l.defaultValue;if(void 0!==i)return i}catch{}},p={id:n,source:"default",priority:void 0!==u()?A:0,debounceMs:0,getEnabled:()=>void 0!==u()||void 0!==c(),getTarget:()=>this.getModelTargetNamePath(e)||l,getValue:()=>{let e=u();return void 0!==e?e:c()},getContext:()=>null==e?void 0:e.context};this.rules.set(n,{rule:p,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(n)}getModelTargetPath(e){try{var t;let l=null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"),n=null==l?void 0:l.fieldPath;if(n)return String(n)}catch{}let l=null==e?void 0:e.fieldPath;if(l)return String(l);let n=this.getModelTargetNamePath(e);return(null==n?void 0:n.length)&&n.filter(e=>"string"==typeof e).join(".")||null}getAssignRuleInstanceId(e,t){let l=(null==t?void 0:t.isFork)?String((null==t?void 0:t.forkId)??"fork"):"master",n=(null==t?void 0:t.uid)?String(t.uid):String(t);return`form-assign:${e}:${n}:${l}`}getDeepestFieldIndexKey(e){var t,l;let n=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex),o=Array.isArray(n)?n:[];if(!o.length)return null;let r=o[o.length-1];if("string"!=typeof r)return null;let[i,a]=r.split(":");return!i||Number.isNaN(Number(a))?null:i}getDeepestToManyAssociationKey(e){let t=this.getRootCollection();if(!(null==t?void 0:t.getField))return null;let l=(0,x.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(l.length<2)return null;let n=t,o=null;for(let e=0;e<l.length-1;e++){var r,i;let t=l[e];if("string"!=typeof t)continue;let a=null==n||null==(r=n.getField)?void 0:r.call(n,t);if(!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a)))break;let s=(0,S.E4)(a);if(s&&(o=t),s&&"number"==typeof l[e+1]&&(e+=1),!(null==(n=null==a?void 0:a.targetCollection)?void 0:n.getField))break}return o}isRowGridModel(e){var t,l;if(!e||"object"!=typeof e||(null==e||null==(t=e.subModels)?void 0:t.field)||!(null==e||null==(l=e.subModels)?void 0:l.items))return!1;let n=null==e?void 0:e.context;return!!this.getDeepestFieldIndexKey(n)}tryRegisterAssignRuleInstancesForModel(e,t){var l,n,o,r;if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let i=(l,n)=>{if(n&&0!==n.length)for(let r of(null==t||t.add(l),n)){var o;this.removeAssignRuleBlockInstance(r.__key),(null==e||null==(o=e.subModels)?void 0:o.field)&&this.removeRowGridAssignRuleInstances(r.__key);let t=M(P(null==r?void 0:r.mode)),n=(null==r?void 0:r.enable)!==!1,i=this.getAssignRuleInstanceId(r.__key,e);this.rules.has(i)&&this.removeRule(i);let a={id:i,source:t,priority:10+(r.__order||0),debounceMs:0,getEnabled:()=>n&&!!l,getTarget:()=>l,getValue:()=>null==r?void 0:r.value,getCondition:()=>null==r?void 0:r.condition,getContext:()=>null==e?void 0:e.context,getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(i,{rule:a,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(i)}};if(this.isRowGridModel(e)){let t=null==e?void 0:e.context,l=this.getDeepestFieldIndexKey(t);if(l)for(let[e,t]of this.assignTemplatesByTargetPath.entries()){if(this.formItemTargetPaths.has(e))continue;let n=this.getDeepestToManyAssociationKey(e);n&&n===l&&i(e,t)}return}if(!(null==e||null==(l=e.subModels)?void 0:l.field))return;let a=this.getModelTargetPath(e);if(!a)return;let s=this.assignTemplatesByTargetPath.get(a)||[];s.length&&i(a,s);let d=null==e||null==(n=e.subModels)?void 0:n.field,u=null==d||null==(o=d.context)?void 0:o.collectionField,c=!!(null==u||null==(r=u.isAssociationField)?void 0:r.call(u)),p=(0,S.E4)(u);if(c&&!p){let e=`${a}.`;for(let[t,l]of this.assignTemplatesByTargetPath.entries())t&&"string"==typeof t&&t.startsWith(e)&&i(t,l)}}tryUnregisterAssignRuleInstancesForModel(e){var t,l,n,o;if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let r=t=>{for(let l of t||[]){let t=this.getAssignRuleInstanceId(l.__key,e);this.rules.has(t)&&this.removeRule(t)}};if(this.isRowGridModel(e)){let t=null==e?void 0:e.context,l=this.getDeepestFieldIndexKey(t);if(!l)return;for(let[e,t]of this.assignTemplatesByTargetPath.entries()){if(this.formItemTargetPaths.has(e))continue;let n=this.getDeepestToManyAssociationKey(e);n&&n===l&&r(t)}return}if(!(null==e||null==(t=e.subModels)?void 0:t.field))return;let i=this.getModelTargetPath(e);if(!i)return;let a=this.assignTemplatesByTargetPath.get(i)||[];a.length&&r(a);let s=null==e||null==(l=e.subModels)?void 0:l.field,d=null==s||null==(n=s.context)?void 0:n.collectionField,u=!!(null==d||null==(o=d.isAssociationField)?void 0:o.call(d)),c=(0,S.E4)(d);if(u&&!c){let e=`${i}.`;for(let[t,l]of this.assignTemplatesByTargetPath.entries())t&&"string"==typeof t&&t.startsWith(e)&&r(l)}}tryUnregisterDefaultRuleInstance(e){if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let t=this.getDefaultRuleId(e);this.rules.has(t)&&this.removeRule(t)}bindMasterInitialValue(e,t){let l=(null==e?void 0:e.uid)?String(e.uid):t,n=this.defaultRuleIdsByMasterUid.get(l)||new Set;if(n.add(t),this.defaultRuleIdsByMasterUid.set(l,n),this.defaultRuleMasterDisposers.has(l))return;let o=(0,f.reaction)(()=>{var t;let l=(null==e||null==(t=e.getProps)?void 0:t.call(e))??(null==e?void 0:e.props);return null==l?void 0:l.initialValue},(t,n)=>{var o;if(d().isEqual(t,n))return;let r=this.defaultRuleIdsByMasterUid.get(l);if(!r)return;let i=(null==e||null==(o=e.getProps)?void 0:o.call(e))??(null==e?void 0:e.props),a=void 0!==(null==i?void 0:i.initialValue)?A:0;for(let e of r){let t=this.rules.get(e);t&&(t.rule.priority=a),this.scheduleRule(e)}});this.defaultRuleMasterDisposers.set(l,o)}removeRule(e){let t=this.rules.get(e);if(!t)return;try{let e=t.rule.getContext(),l=t.rule.getTarget(),n=this.options.tryResolveNamePath(e,l);if(n){let e=(0,x.Qc)(n),l=this.options.observableBindings.get(e);l&&l.source===t.rule.source&&(l.dispose(),this.options.observableBindings.delete(e))}}catch{}t.state.depDisposers.forEach(e=>e()),this.rules.delete(e),this.pendingRuleIds.delete(e);let l=this.ruleDebounceTimersById.get(e);for(let[t,n]of(l&&clearTimeout(l),this.ruleDebounceTimersById.delete(e),this.ruleDebounceUntilById.delete(e),this.defaultRuleIdsByMasterUid.entries())){if(!n.has(e)||(n.delete(e),n.size>0))continue;this.defaultRuleIdsByMasterUid.delete(t);let l=this.defaultRuleMasterDisposers.get(t);l&&l(),this.defaultRuleMasterDisposers.delete(t)}}rescheduleAllRules(){if(!this.options.isDisposed()){for(let e of(this.lastRuleWriteByTargetKey.clear(),this.rules.values()))e.state.runSeq+=1;for(let e of this.rules.keys())this.scheduleRule(e)}}scheduleRule(e){if(this.options.isDisposed())return;let t=this.rules.get(e);if(!t)return;let{rule:l,state:n}=t;n.scheduledAtWriteSeq=this.options.getWriteSeq();let o=(null==l?void 0:l.debounceMs)??0;if(this.pendingRuleIds.add(e),o>0){let t=Date.now()+o;t>(this.ruleDebounceUntilById.get(e)||0)&&this.ruleDebounceUntilById.set(e,t);let l=this.ruleDebounceTimersById.get(e);l&&clearTimeout(l);let n=setTimeout(()=>{this.ruleDebounceTimersById.delete(e),!this.rulesEnabled||this.runningRules||this.pendingRuleIds.has(e)&&this.flushRules()},o);this.ruleDebounceTimersById.set(e,n)}else{let t=this.ruleDebounceTimersById.get(e);t&&clearTimeout(t),this.ruleDebounceTimersById.delete(e),this.ruleDebounceUntilById.delete(e)}!this.rulesEnabled||this.runningRules||this.flushRules()}async flushRules(){if(this.runningRules)return;this.runningRules=!0;let e=this.currentRuleTxId||(0,w.ao)();this.currentRuleTxId=e;try{for(;this.pendingRuleIds.size;){let e=Date.now(),t=[];for(let l of this.pendingRuleIds)(this.ruleDebounceUntilById.get(l)||0)>e||t.push(l);if(!t.length)break;for(let e of t)this.pendingRuleIds.delete(e),this.ruleDebounceUntilById.delete(e);for(let e of(t.sort((e,t)=>{var l,n;let o=null==(l=this.rules.get(e))?void 0:l.rule,r=null==(n=this.rules.get(t))?void 0:n.rule,i=(null==o?void 0:o.priority)??0,a=(null==r?void 0:r.priority)??0;return i!==a?i-a:e.localeCompare(t)}),t))await this.runRule(e)}}finally{this.runningRules=!1,this.currentRuleTxId=null,this.options.txWriteCounts.delete(e)}}async runRule(e){let t=this.rules.get(e);if(!t)return;let{rule:l,state:n}=t;n.runSeq+=1;let o=n.runSeq,r=n.scheduledAtWriteSeq,i=this.prepareRuleContext(l),{baseCtx:a,targetNamePath:s,targetKey:d,clearDeps:u,disposeBinding:c}=i;if(!this.shouldRunRule(l,s,d,a)||!s||!d){u(n),c();return}let p=s,m=d,{collector:h,evalCtx:f}=this.createRuleCollectorAndContext(l,i);if(l.getCondition&&!await this.evaluateRuleCondition(l,n,o,f,h))return;let g=await this.resolveRuleValue(l,n,o,f,h);if(g===F||o!==n.runSeq)return;this.commitRuleDeps(l,n,h);let v=this.getToManyAggregateSourceInfo(a,l.getValue()),y=this.normalizeUnresolvedToManyAggregateForScalarTarget(a,p,g,v);if(y.skip)return;let b=y.hasValue?y.value:g,w=this.normalizeResolvedValueForTarget(a,b),S=this.normalizeResolvedValueForAssociationTarget(a,p,w),C=this.normalizeAggregateArrayForScalarTarget(a,p,S,v);if(C===F||this.shouldSkipEmptyArrayAggregateForScalarTarget(a,p,C)||this.shouldSkipMultiValueAggregateForScalarTarget(a,p,C,v)||"default"===l.source&&!this.checkDefaultRuleCanApply(C,p,m,u,c,n))return;if("override"===l.source&&this.options.findUserEditedHit(m))return void c();if("default"===l.source){let e=this.lastRuleWriteByTargetKey.get(m);if((null==e?void 0:e.source)==="default"&&e.priority>l.priority&&e.writeSeq>=r)return void c()}if("system"===l.source||"override"===l.source){let e=this.options.lastWriteMetaByPathKey.get(m);if((null==e?void 0:e.source)==="linkage"&&e.writeSeq>=r)return void c()}if(this.shouldSkipAssociationNestedWrite(a,p)||this.shouldSkipToManyAssociationWriteWithoutIndex(a,p))return;let k=C;if(this.isAssociationTargetSemanticallyEqual(a,p,this.options.getFormValueAtPath(p),k))return;let A=this.collectUpdateAssociationInitPatches(a,p);if(null==A)return;if("system"===l.source||"default"===l.source||"override"===l.source){var P,M;let e=null==a?void 0:a.model,t=null==e||null==(P=e.subModels)?void 0:P.field;if(t){let l=this.getModelTargetNamePath(e);l&&(0,x.Qc)(l)===m&&(e.setProps({value:C}),null==(M=t.setProps)||M.call(t,{value:C}))}}let j=this.options.getWriteSeq(),I=[...A,{path:p,value:C}];await this.options.setFormValues(f,I,{source:l.source,txId:this.currentRuleTxId||void 0});let T=this.options.getWriteSeq();T!==j&&this.lastRuleWriteByTargetKey.set(m,{source:l.source,priority:l.priority,writeSeq:T})}isTzAwareTargetInterface(e){return"string"==typeof e&&["datetime","createdAt","updatedAt","unixTimestamp"].includes(e)}normalizeDateOnlyToStartOfDayIso(e){let t=String(e||"").trim();if(!t||!/^\d{4}-\d{2}-\d{2}$/.test(t))return e;let l=(0,b.dayjs)(t,"YYYY-MM-DD",!0);return l.isValid()?l.startOf("day").toISOString():e}normalizeResolvedValueForTarget(e,t){var l,n,o;let r=null==e||null==(o=e.model)||null==(n=o.context)||null==(l=n.collectionField)?void 0:l.interface;return this.isTzAwareTargetInterface(r)?"string"==typeof t?this.normalizeDateOnlyToStartOfDayIso(t):Array.isArray(t)?t.map(e=>"string"==typeof e?this.normalizeDateOnlyToStartOfDayIso(e):e):t:t}isPrimitiveAssociationTargetValue(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e}extractAssociationIdentity(e,t){let l=this.getAssociationTargetKeyFields(e),n=1===l.length?l[0]:null,o=e=>{if(null==e)return e;if(this.isPrimitiveAssociationTargetValue(e))return n?e:k;if(!e||"object"!=typeof e)return k;if(n)return void 0===e[n]?k:e[n];let t={};for(let n of l){if(void 0===e[n])return k;t[n]=e[n]}return t};if((0,S.E4)(e)){let e=Array.isArray(t)?t:[t],l=[];for(let t of e){if(null==t)continue;let e=o(t);if(e===k)return k;l.push(e)}return l}let r=Array.isArray(t)?t.find(e=>null!=e):t;return null==r?r:o(r)}isAssociationTargetSemanticallyEqual(e,t,l,n){var o;let r=this.resolveCollectionFieldByNamePath(e,t);if(!(null==r||null==(o=r.isAssociationField)?void 0:o.call(r)))return d().isEqual(l,n);let i=this.extractAssociationIdentity(r,l),a=this.extractAssociationIdentity(r,n);return i===k||a===k?d().isEqual(l,n):d().isEqual(i,a)}resolveCollectionFieldByNamePath(e,t){if(!Array.isArray(t)||!t.length)return null;let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return null;for(let e=0;e<t.length;e++){var n,o;let r=t[e];if("string"!=typeof r||!r)break;let i=null==l||null==(n=l.getField)?void 0:n.call(l,r);if(!i)break;if(e===t.length-1)return i;if(!(null==i||null==(o=i.isAssociationField)?void 0:o.call(i))||!(null==i?void 0:i.targetCollection))break;if((0,S.E4)(i)){if("number"!=typeof t[e+1])return null;e+=1}if(!(null==(l=i.targetCollection)?void 0:l.getField))break}return null}normalizeResolvedValueForAssociationTarget(e,t,l){var n;let o=this.resolveCollectionFieldByNamePath(e,t);if(!(null==o||null==(n=o.isAssociationField)?void 0:n.call(o)))return l;let r=this.getAssociationTargetKeyFields(o),i=1===r.length?r[0]:null,a=e=>{if(null!=e)return i&&this.isPrimitiveAssociationTargetValue(e)?{[i]:e}:e};if((0,S.E4)(o))return(Array.isArray(l)?l:[l]).map(e=>a(e)).filter(e=>null!=e);let s=Array.isArray(l)?l.find(e=>null!=e):l;return null==s?s:a(s)}prepareRuleContext(e){let t=e.getContext(),l=e.getTarget(),n=this.options.tryResolveNamePath(t,l),o=n?(0,x.Qc)(n):null,r=()=>{if(!o)return;let t=this.options.observableBindings.get(o);t&&t.source===e.source&&(t.dispose(),this.options.observableBindings.delete(o))};return{baseCtx:t,targetNamePath:n,targetKey:o,clearDeps:e=>{e.depDisposers.forEach(e=>e()),e.depDisposers=[],e.deps=new Set},disposeBinding:r}}shouldApplyDefaultRuleInCurrentState(e){var t,l,n;return"update"!==(null==(t=(l=this.options).getActionName)?void 0:t.call(l))||(null==(n=this.getItemContext(e))?void 0:n.__is_new__)===!0}isStaleToManyItemContext(e){let t=this.getItemContext(e);return!!Number.isFinite(null==t?void 0:t.index)&&!!Number.isFinite(null==t?void 0:t.length)&&(t.index<0||t.index>=t.length)}getItemContext(e){try{return null==e?void 0:e.item}catch{return}}getRowTargetKey(e,t){var l,n,o,r;let i,a,s=this.getRootCollection()||this.getCollectionFromContext(e);for(let e of t)if("number"!=typeof e){if("string"!=typeof e||!e||!(null==s?void 0:s.getField)||(i=null==s||null==(o=s.getField)?void 0:o.call(s,e),!(null==i||null==(r=i.isAssociationField)?void 0:r.call(i))))break;a=i,s=null==i?void 0:i.targetCollection}let d=(null==a||null==(l=a.targetCollection)?void 0:l.filterTargetKey)??(null==a||null==(n=a.targetCollection)?void 0:n.filterByTk)??(null==a?void 0:a.targetKey);if(Array.isArray(d)){let e=d.filter(e=>"string"==typeof e&&!!e);return e.length?e:"id"}return"string"==typeof d&&d?d:"id"}isMismatchedToManyItemContext(e,t){let l=this.getItemContext(e);if(!l)return!1;for(let n=t.length-1;n>=0;n--){if("number"!=typeof t[n])continue;let o=t.slice(0,n+1),r=this.getRowTargetKey(e,o),i=this.options.getFormValueAtPath(o),a=(0,C.r5)(i,r),s=(0,C.r5)(l.value,r);return!!a&&!!s&&a!==s}return!1}shouldRunRule(e,t,l,n){return!(!e.getEnabled()||!t||!l||this.isStaleToManyItemContext(n)||this.isMismatchedToManyItemContext(n,t)||"default"===e.source&&(!this.shouldApplyDefaultRuleInCurrentState(n)||this.options.findExplicitHit(l)))&&!("override"===e.source&&this.options.findUserEditedHit(l))}createRuleCollectorAndContext(e,t){var l;let{baseCtx:n,targetNamePath:o}=t,r=e.getValue(),a=(0,i.isRunJSValue)(r),s={deps:new Set,wildcard:!1};if(e.getCondition&&(0,v.G)(e.getCondition(),s),a?(0,v.Wp)(r,s):(0,v.G)(r,s),o)for(let e of((0,v.Dd)(o,s),this.collectAssociationPrefixPaths(n,o)))(0,v.Dd)(e,s);let d=this.createRuleEvaluationContext(n,s,o,null==(l=e.getContractModelUid)?void 0:l.call(e));return{collector:s,evalCtx:d,rawValue:r,isRunJS:a}}async evaluateRuleCondition(e,t,l,n,o){let r=e.getCondition;if(!r)return!0;let i=r(),a=i;if(i)try{var s;a=await (null==n||null==(s=n.resolveJsonTemplate)?void 0:s.call(n,i))}catch{a=i}return l===t.runSeq&&(!i||!!(0,g.F)(n,a)||(this.commitRuleDeps(e,t,o),!1))}async resolveRuleValue(e,t,l,n,o){let r=e.getValue();return(0,i.isRunJSValue)(r)?this.resolveRunJSValue(r,t,l,n,o,e):this.resolveTemplateValue(r,t,l,n,o,e)}async resolveRunJSValue(e,t,l,n,o,r){try{let{code:a,version:s}=(0,i.normalizeRunJSValue)(e),d=await n.runjs(a,void 0,{version:s});if(!(null==d?void 0:d.success)){if(l!==t.runSeq)return F;return this.commitRuleDeps(r,t,o),F}return d.value}catch{if(l!==t.runSeq)return F;return this.commitRuleDeps(r,t,o),F}}async resolveTemplateValue(e,t,l,n,o,r){try{var i;return await (null==n||null==(i=n.resolveJsonTemplate)?void 0:i.call(n,e))}catch{if(l!==t.runSeq)return F;return this.commitRuleDeps(r,t,o),F}}commitRuleDeps(e,t,l){let n=new Set(l.deps);l.wildcard&&n.add("fv:*"),this.updateRuleDeps(e,t,n)}isScalarValueTarget(e,t){var l;let n=this.resolveCollectionFieldByNamePath(e,t);return!((null==n||null==(l=n.isAssociationField)?void 0:l.call(n))&&(0,S.E4)(n)||this.isArrayValueCollectionField(n))&&(!!n||!Array.isArray(this.options.getFormValueAtPath(t)))}shouldSkipEmptyArrayAggregateForScalarTarget(e,t,l){return!!Array.isArray(l)&&!(l.length>0)&&this.isScalarValueTarget(e,t)}normalizeUnresolvedToManyAggregateForScalarTarget(e,t,l,n){return void 0===l&&n&&this.isScalarValueTarget(e,t)?Array.isArray(n.arrayValue)&&0===n.arrayValue.length?this.isUserClearedToManyAggregate(n)?{skip:!1,hasValue:!0,value:this.getClearedAggregateValueForScalarTarget(e,t)}:{skip:!0,hasValue:!1}:Array.isArray(n.arrayValue)&&n.arrayValue.length>0?{skip:!0,hasValue:!1}:{skip:!1,hasValue:!1}:{skip:!1,hasValue:!1}}isArrayValueCollectionField(e){var t,l;if(!e||"object"!=typeof e)return!1;let n=e;return!0===n.multiple||"array"===n.type||"array"===((null==(t=n.uiSchema)?void 0:t.type)??(null==(l=n.schema)?void 0:l.type))||["multipleSelect","checkboxGroup","json"].includes("string"==typeof n.interface?n.interface:"")}stringifyAggregateItem(e){if(e&&"object"==typeof e)try{return JSON.stringify(e)}catch{}return String(e)}normalizeAggregateArrayForScalarTarget(e,t,l,n){if(!Array.isArray(l)||!this.isScalarValueTarget(e,t)||!n)return l;let o=l.filter(e=>null!=e);return o.length?1===o.length?o[0]:this.isTextScalarTarget(e,t)?o.map(e=>this.stringifyAggregateItem(e)).join(", "):F:this.isUserClearedToManyAggregate(n)?this.getClearedAggregateValueForScalarTarget(e,t):F}shouldSkipMultiValueAggregateForScalarTarget(e,t,l,n){return!!n&&!!Array.isArray(l)&&!(l.length<=1)&&!!this.isScalarValueTarget(e,t)&&!this.isTextScalarTarget(e,t)}getClearedAggregateValueForScalarTarget(e,t){if(this.isTextScalarTarget(e,t))return""}isUserClearedToManyAggregate(e){var t;return(null==(t=e.lastWrite)?void 0:t.source)==="user"}isTextScalarTarget(e,t){var l,n,o;let r=this.resolveCollectionFieldByNamePath(e,t);if(!r){let e=this.options.getFormValueAtPath(t);return void 0===e||null==e||"string"==typeof e}if((null==r||null==(l=r.isAssociationField)?void 0:l.call(r))||this.isArrayValueCollectionField(r))return!1;let i=r,a=(null==(n=i.uiSchema)?void 0:n.type)??(null==(o=i.schema)?void 0:o.type);return"string"===i.type||"text"===i.type||"string"===a||["input","textarea","email","phone","url","uuid","nanoid","markdown","richText","vditor","password","color"].includes("string"==typeof i.interface?i.interface:"")}getLatestWriteMetaForPath(e){let t=(0,x.Qc)(e),l=this.options.lastWriteMetaByPathKey.get(t);for(let[e,n]of this.options.lastWriteMetaByPathKey.entries())(e===t||e.startsWith(`${t}.`)||e.startsWith(`${t}[`))&&(!l||n.writeSeq>l.writeSeq)&&(l=n);return l}getToManyAggregateSourceInfo(e,t){let l=this.extractSingleLocalFormValuesPath(t);if(!l)return null;let n=(0,x.EA)(l).filter(e=>"object"!=typeof e);if(n.length<2)return null;let o=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==o?void 0:o.getField))return null;let r=[];for(let t=0;t<n.length-1;t++){var i,a;let s=n[t];if("string"!=typeof s)break;let u=null==o||null==(i=o.getField)?void 0:i.call(o,s);if(!(null==u||null==(a=u.isAssociationField)?void 0:a.call(u)))break;if(r.push(s),(0,S.E4)(u)){let t=this.options.getFormValueAtPath(r),n=this.getLocalFormValuesSnapshot(e),o=n&&"object"==typeof n?d().get(n,r):void 0;return{subPath:l,arrayPath:[...r],arrayValue:void 0!==t?t:o,lastWrite:this.getLatestWriteMetaForPath(r)}}if(!(null==(o=u.targetCollection)?void 0:o.getField))break}return null}checkDefaultRuleCanApply(e,t,l,n,o,r){if(void 0===e)return!1;if(this.options.findExplicitHit(l))return n(r),o(),!1;let i=this.options.getFormValueAtPath(t),a=this.options.lastDefaultValueByPathKey.get(l),s=(0,w.Po)(i)||void 0!==a&&d().isEqual(i,a),u=(0,f.isObservable)(e)?(0,f.toJS)(e):e;return!s&&d().isEqual(i,u)?(this.options.lastDefaultValueByPathKey.set(l,u),!1):s}createRuleEvaluationContext(e,t,l,n){var o;let r,a=this.options.createTrackingFormValues(t),s=new i.FlowContext;try{s.delegate(e)}catch{}let d=null==e||null==(o=e.getPropertyOptions)?void 0:o.call(e,"formValues");d&&"object"==typeof d?s.defineProperty("formValues",{...d,get:()=>a,cache:!1}):s.defineProperty("formValues",{get:()=>a,cache:!1});let u="function"==typeof s.resolveJsonTemplate?s.resolveJsonTemplate.bind(s):void 0;s.defineMethod("resolveJsonTemplate",async l=>{let o=this.createLocalTemplateTokenStore(),r=this.resolveLocalFormValuesTemplates(e,l,t,o),i=r.matched?r.value:l,a=u?await u(i,n?{contractModelUid:n}:void 0):i;return this.restoreLocalTemplateTokens(a,o)});let c=!1,p=()=>(c||(r=this.buildItemChainValue(e,a,l)??(null==e?void 0:e.item),c=!0),r);return s.defineProperty("item",{get:p,cache:!1}),s}getLocalFormValuesSnapshot(e){try{var t;let l=null==e||null==(t=e.getFormValues)?void 0:t.call(e);if(l&&"object"==typeof l)return l}catch{}let l=this.options.valuesMirror;return(0,f.isObservable)(l)?(0,f.toJS)(l):l}resolveLocalFormValuesPath(e,t){let l=this.getLocalFormValuesSnapshot(e);if(l&&"object"==typeof l)return(0,u.Dw)(l,t)}recordLocalFormValuesDep(e,t){let l=(0,x.EA)(e).filter(e=>"object"!=typeof e);if(!l.length){t&&(t.wildcard=!0);return}(0,v.Dd)(l,t)}extractSingleLocalFormValuesPath(e){if("string"!=typeof e)return null;let t=e.match(/^\s*\{\{\s*ctx\.formValues\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*)\s*\}\}\s*$/);return(null==t?void 0:t[1])??null}stringifyTemplateReplacement(e){if(void 0!==e)return e&&"object"==typeof e?JSON.stringify(e):String(e)}createLocalTemplateTokenStore(){let e=new Map,t=0;return{values:e,protect(l){let n=`__NOCObase_FORM_VALUE_LITERAL_${t}__`;return t+=1,e.set(n,l),n}}}restoreLocalTemplateTokens(e,t){if(!t.values.size)return e;if("string"==typeof e){if(t.values.has(e))return t.values.get(e);let l=e;for(let[e,n]of t.values.entries())l.includes(e)&&(l=l.split(e).join(this.stringifyTemplateReplacement(n)??""));return l}if(Array.isArray(e))return e.map(e=>this.restoreLocalTemplateTokens(e,t));if(d().isPlainObject(e)){let l={};for(let[n,o]of Object.entries(e))l[n]=this.restoreLocalTemplateTokens(o,t);return l}return e}resolveLocalFormValuesTemplates(e,t,l,n){if("string"==typeof t){let o=this.extractSingleLocalFormValuesPath(t);if(o){this.recordLocalFormValuesDep(o,l);let r=this.resolveLocalFormValuesPath(e,o);return void 0!==r?{matched:!0,value:n?n.protect(r):r}:{matched:!1,value:t}}let r=!1,i=t.replace(/\{\{\s*ctx\.formValues\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*)\s*\}\}/g,(t,o)=>{this.recordLocalFormValuesDep(o,l);let i=this.resolveLocalFormValuesPath(e,o),a=this.stringifyTemplateReplacement(i);return void 0===a?t:(r=!0,n?n.protect(a):a)});return{matched:r,value:i}}if(Array.isArray(t)){let o=!1,r=t.map(t=>{let r=this.resolveLocalFormValuesTemplates(e,t,l,n);return r.matched&&(o=!0),r.value});return o?{matched:o,value:r}:{matched:!1,value:t}}if(d().isPlainObject(t)){let o=!1,r={};for(let[i,a]of Object.entries(t)){let t=this.resolveLocalFormValuesTemplates(e,a,l,n);t.matched&&(o=!0),r[i]=t.value}return o?{matched:o,value:r}:{matched:!1,value:t}}return{matched:!1,value:t}}buildItemChainValue(e,t,l){let n=this.getRootCollection()||this.getCollectionFromContext(e),o=(e,t,l,n)=>({index:t,length:l,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:n}),r=this.options.getBlockContext(),i=(()=>{try{let e=null==r?void 0:r.item;if(!e||"object"!=typeof e)return;return e.value===(null==r?void 0:r.formValues)?e:void 0}catch{return}})(),a={...o(t,null==i?void 0:i.index,null==i?void 0:i.length,null==i?void 0:i.parentItem),__is_new__:(null==i?void 0:i.__is_new__)??(null==t?void 0:t.__is_new__),__is_stored__:(null==i?void 0:i.__is_stored__)??(null==t?void 0:t.__is_stored__)};if(!l||!Array.isArray(l)||!l.length||!(null==n?void 0:n.getField))return;let s=[],u=[],c=n;for(let e=0;e<l.length;e++){var p,m;let t=l[e];if("string"!=typeof t)break;let n=null==c||null==(p=c.getField)?void 0:p.call(c,t);if(!(null==n||null==(m=n.isAssociationField)?void 0:m.call(n)))break;let o=(0,S.E4)(n);if(u.push(t),o){let t=l[e+1];if("number"==typeof t)u.push(t),e+=1;else if(e!==l.length-1)break}let r=null==n?void 0:n.targetCollection;if(!r)break;s.push({path:[...u],toMany:o}),c=r}let h=e=>{if(e<0)return a;let l=s[e],n=d().get(t,l.path),r=l.path[l.path.length-1],i=l.toMany&&"number"==typeof r,u=i?r:void 0,c=(()=>{if(!l.toMany)return;if(!i)return Array.isArray(n)?n.length:void 0;let e=l.path.slice(0,-1),o=d().get(t,e);return Array.isArray(o)?o.length:void 0})();return o(n,u,c,h(e-1))};return s.length?h(s.length-1):void 0}getFieldIndexSignature(e){var t,l;let n=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex);return(Array.isArray(n)?n:[]).filter(e=>"string"==typeof e).join("|")}updateRuleDeps(e,t,l){var n,o;if(t.depDisposers.forEach(e=>e()),t.depDisposers=[],t.deps=l,l.has("fv:*")){let l=(0,f.reaction)(()=>this.options.changeTick.value,()=>this.scheduleRule(e.id));t.depDisposers.push(l)}let r=(()=>{try{return e.getContext()}catch{return}})(),i=(null==r||null==(o=r.model)||null==(n=o.context)?void 0:n.fieldIndex)??(null==r?void 0:r.fieldIndex);if(Array.isArray(i)&&i.some(e=>"string"==typeof e)){let l=(0,f.reaction)(()=>this.getFieldIndexSignature(r),()=>this.scheduleRule(e.id));t.depDisposers.push(l)}for(let n of l){if("fv:*"===n)continue;if(!n.startsWith("fv:")&&!n.startsWith("ctx:")){let l=(0,x.c1)(n),o=(0,f.reaction)(()=>d().get(this.options.valuesMirror,l),()=>this.scheduleRule(e.id));t.depDisposers.push(o);continue}if(n.startsWith("fv:")){let l=n.slice(3),o=(0,x.c1)(l),r=(0,f.reaction)(()=>d().get(this.options.valuesMirror,o),()=>this.scheduleRule(e.id));t.depDisposers.push(r);continue}let l=n.slice(4),o=l.indexOf(":"),i=o>=0?l.slice(0,o):l,a=o>=0?l.slice(o+1):"",s=a?(0,x.EA)(a).filter(e=>"object"!=typeof e):[];if("item"===i){if(s.length){let l=this.options.createTrackingFormValues({deps:new Set,wildcard:!1}),n=(0,f.reaction)(()=>{var t;let n=null==(t=e.getTarget)?void 0:t.call(e),o=n?this.options.tryResolveNamePath(r,n):null,i=this.buildItemChainValue(r,l,o)??(null==r?void 0:r.item);return d().get(i,s)},()=>this.scheduleRule(e.id));t.depDisposers.push(n)}continue}let u=(0,f.reaction)(()=>{let e=r?r[i]:void 0;return s.length?d().get(e,s):e},()=>this.scheduleRule(e.id));t.depDisposers.push(u)}}constructor(e){this.rules=new Map,this.lastRuleWriteByTargetKey=new Map,this.assignTemplatesByTargetPath=new Map,this.formItemTargetPaths=new Set,this.updateAssociationByTargetPath=new Map,this.pendingRuleIds=new Set,this.ruleDebounceUntilById=new Map,this.ruleDebounceTimersById=new Map,this.defaultRuleIdsByMasterUid=new Map,this.defaultRuleMasterDisposers=new Map,this.runningRules=!1,this.rulesEnabled=!1,this.currentRuleTxId=null,this.options=e}}class I{syncAssignRules(e){this.ruleEngine.syncAssignRules(e)}get formValues(){return this.disposed||this.formPatcher.patch(this.getForm()),this.formValuesProxy}getFormValuesSnapshot(){if(!this.disposed){let e=this.getForm();this.formPatcher.patch(e)}return this.getForm().getFieldsValue(!0)}getUserEditedValuePatches(){let e=this.getFormValuesSnapshot();if(!e||"object"!=typeof e)return[];let t=[];for(let l of Array.from(this.userEditedSet).sort((e,t)=>(0,x.c1)(e).length-(0,x.c1)(t).length)){if(!this.isCurrentUserEditedPath(l))continue;let n=(0,x.c1)(l);if(!n.length||!d().has(e,n))continue;let o=d().get(e,n);void 0!==o&&t.push({path:n,value:this.omitNonUserDescendantValues(l,this.toMirrorSnapshot(o))})}return t}getUserEditedValuesSnapshot(){let e={};for(let t of this.getUserEditedValuePatches())d().set(e,t.path,t.value);return e}toMirrorSnapshot(e){let t=e=>d().cloneDeepWith(e,e=>{if((0,f.isObservable)(e)){let l=(0,f.toJS)(e);if(l!==e)return t(l)}if(Array.isArray(e)&&"function"!=typeof e.constructor){let l=Array(e.length);for(let n=0;n<e.length;n++)Object.hasOwn(e,n)&&(l[n]=t(e[n]));return l}if(e&&"object"==typeof e&&!(Array.isArray(e)||d().isPlainObject(e)))return e});return t(e)}canApplyDefaultValuePatch(e,t){if(!(null==e?void 0:e.length)||void 0===t)return!1;let l=(0,x.Qc)(e),n=this.getFormValueAtPath(e),o=this.lastDefaultValueByPathKey.get(l),r=(0,f.isObservable)(t)?(0,f.toJS)(t):t,i=(0,f.isObservable)(n)?(0,f.toJS)(n):n,a=void 0!==o&&d().isEqual(i,o);if(this.findExplicitHit(l)&&!a)return!1;let s=(0,w.Po)(n)||a;return!s&&d().isEqual(n,r)?(this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(r)),!1):s}canApplyOverrideValuePatch(e){return!!(null==e?void 0:e.length)&&!this.findUserEditedHit((0,x.Qc)(e))}recordDefaultValuePatch(e,t){if(!(null==e?void 0:e.length))return;let l=(0,x.Qc)(e),n=arguments.length>=2?(0,f.isObservable)(t)?(0,f.toJS)(t):t:this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(n));let o=this.getFormValueAtPath(e),r=(0,f.isObservable)(o)?(0,f.toJS)(o):o;d().isEqual(r,n)&&this.clearExplicitForDefaultPatch(l)}getFormValueAtPath(e){var t,l;let n=null==(t=(l=this).getForm)?void 0:t.call(l);if(n&&"function"==typeof n.getFieldValue)return n.getFieldValue(e);if(n&&"function"==typeof n.getFieldsValue){let t=n.getFieldsValue(!0);return d().get(t,e)}}mount(e){var t,l;if(this.disposed)return;this.formPatcher.patch(this.getForm());let n=null==(l=this.model)||null==(t=l.flowEngine)?void 0:t.emitter;if(n&&(this.mountedListener||this.unmountedListener||(this.mountedListener=e=>{let{model:t}=e;this.indexMountedFieldModelTree(t),this.ruleEngine.onModelMounted(t)},this.unmountedListener=e=>{let{model:t}=e;this.unindexMountedFieldModelTree(t),this.ruleEngine.onModelUnmounted(t)},n.on("model:mounted",this.mountedListener),n.on("model:unmounted",this.unmountedListener)),this.rebuildMountedFieldModelIndex(),null==e?void 0:e.sync)){let e=this.getFormValuesSnapshot();e&&"object"==typeof e&&(d().merge(this.valuesMirror,this.toMirrorSnapshot(e)),this.bumpChangeTick()),this.ruleEngine.enable()}}dispose(){var e,t;if(this.disposed)return;this.disposed=!0,this.formPatcher.restore();let l=null==(t=this.model)||null==(e=t.flowEngine)?void 0:e.emitter;for(let e of(l&&this.mountedListener&&this.unmountedListener&&(l.off("model:mounted",this.mountedListener),l.off("model:unmounted",this.unmountedListener)),this.ruleEngine.dispose(),this.mountedFieldModelsByPathKey.clear(),this.observableBindings.values()))e.dispose();this.observableBindings.clear(),this.txWriteCounts.clear()}resetAfterFormReset(){if(this.disposed)return;for(let e of(this.explicitSet.clear(),this.userEditedSet.clear(),this.lastDefaultValueByPathKey.clear(),this.lastWriteMetaByPathKey.clear(),this.txWriteCounts.clear(),this.lastObservedChangedPaths=null,this.lastObservedSource=null,this.lastObservedToken+=1,this.observableBindings.values()))e.dispose();this.observableBindings.clear();let e=this.getFormValuesSnapshot();for(let e of Object.keys(this.valuesMirror))delete this.valuesMirror[e];e&&"object"==typeof e&&d().merge(this.valuesMirror,this.toMirrorSnapshot(e)),this.writeSeq+=1,this.bumpChangeTick(),this.ruleEngine.rescheduleAllRules()}resetUserEditedState(){this.disposed||(this.userEditedSet.clear(),this.ruleEngine.rescheduleAllRules())}isSuppressed(){return this.suppressFormCallbackDepth>0}handleFormFieldsChange(e){if(this.disposed)return;let t=this.getForm();if(!t.getFieldValue)return;let l=[],n=new Set,o=!1,r=!1;for(let i of e||[]){let e=null==i?void 0:i.name,a=this.normalizeObservedNamePath(e);if(!(null==a?void 0:a.length))continue;let s=t.getFieldValue(a),u=d().get(this.valuesMirror,a);if(!d().isEqual(s,u)&&(r||(this.writeSeq+=1,r=!0),d().set(this.valuesMirror,a,this.toMirrorSnapshot(s)),l.push(a),(null==i?void 0:i.touched)===!0&&!this.shouldIgnoreSyntheticTouchedInit(a,u,s))){let e=(0,x.Qc)(a);this.shouldKeepDefaultPathValueEnabled(a,s)||(n.add(e),o=!0)}}if(!l.length)return;let i=this.isSuppressed();if(!i&&n.size)for(let e of n)this.markExplicit(e),this.markUserEdited(e);if(this.bumpChangeTick(),i)return;let a=o?"user":"system",s=this.writeSeq;for(let e of l)this.lastWriteMetaByPathKey.set((0,x.Qc)(e),{source:a,writeSeq:s});this.lastObservedChangedPaths=l,this.lastObservedSource=a;let u=++this.lastObservedToken;queueMicrotask(()=>{this.disposed||this.lastObservedToken===u&&(this.lastObservedChangedPaths=null,this.lastObservedSource=null)})}shouldIgnoreSyntheticTouchedInit(e,t,l){if(!(null==e?void 0:e.length)||void 0!==t||!(0,w.Po)(l))return!1;for(let t=e.length-1;t>=0;t--){if("number"!=typeof e[t])continue;let l=e.slice(0,t+1),n=this.getFormValueAtPath(l);return!!(null==n?void 0:n.__is_new__)}return!1}isDeletedArrayItemPath(e,t){let l=Array.isArray(e)?e:(0,x.c1)(e);if(!(null==l?void 0:l.length))return!1;for(let e=l.length-1;e>=0;e--){if("number"!=typeof l[e])continue;let n=l.slice(0,e+1);return void 0===d().get(t,n)}return!1}pruneDeletedArrayItemState(e){for(let t of Array.from(this.explicitSet))this.isDeletedArrayItemPath(t,e)&&this.explicitSet.delete(t);for(let t of Array.from(this.userEditedSet))this.isDeletedArrayItemPath(t,e)&&this.userEditedSet.delete(t);for(let t of Array.from(this.lastDefaultValueByPathKey.keys()))this.isDeletedArrayItemPath(t,e)&&this.lastDefaultValueByPathKey.delete(t);for(let t of Array.from(this.lastWriteMetaByPathKey.keys()))this.isDeletedArrayItemPath(t,e)&&this.lastWriteMetaByPathKey.delete(t);for(let[t,l]of Array.from(this.observableBindings.entries()))this.isDeletedArrayItemPath(t,e)&&(l.dispose(),this.observableBindings.delete(t))}getArrayItemTargetKey(e){var t,l,n,o,r,i;let a,s,d=null==(l=this.model)||null==(t=l.context)?void 0:t.collection;for(let t of e||[])if("number"!=typeof t){if("string"!=typeof t||!(null==d?void 0:d.getField)||(a=null==d||null==(r=d.getField)?void 0:r.call(d,t),!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a))))break;s=a,d=null==a?void 0:a.targetCollection}let u=(null==s||null==(n=s.targetCollection)?void 0:n.filterTargetKey)??(null==s||null==(o=s.targetCollection)?void 0:o.filterByTk)??(null==s?void 0:s.targetKey);if(Array.isArray(u)){let e=u.filter(e=>"string"==typeof e&&!!e);return e.length?e:"id"}return"string"==typeof u&&u?u:"id"}getArrayItemIdentity(e,t){return(0,C.r5)(e,this.getArrayItemTargetKey(t))}reconcileArrayItemState(e,t,l){let n=new Set;for(let o of e||[]){if(!(null==o?void 0:o.length))continue;let e=(0,x.Qc)(o);if(n.has(e))continue;n.add(e);let r=d().get(this.valuesMirror,o),i=this.getObservedChangedValue(o,t,l);if(!Array.isArray(r)||!Array.isArray(i))continue;let a=new Map;i.forEach((e,t)=>{let l=this.getArrayItemIdentity(e,o);l&&a.set(l,t)}),a.size&&(this.reconcileArrayItemSet(this.explicitSet,o,r,a),this.reconcileArrayItemSet(this.userEditedSet,o,r,a),this.reconcileArrayItemMap(this.lastDefaultValueByPathKey,o,r,a),this.reconcileArrayItemMap(this.lastWriteMetaByPathKey,o,r,a),this.reconcileObservableBindings(o,r,a))}}getReconciledArrayItemPath(e,t,l,n){let o=(0,x.c1)(e);if(o.length<=t.length)return{action:"keep"};for(let e=0;e<t.length;e++)if(o[e]!==t[e])return{action:"keep"};let r=o[t.length];if("number"!=typeof r)return{action:"keep"};let i=this.getArrayItemIdentity(l[r],t);if(!i)return{action:"keep"};let a=n.get(i);if(null==a)return{action:"delete"};if(a===r)return{action:"keep"};let s=[...o];return s[t.length]=a,{action:"move",key:(0,x.Qc)(s)}}reconcileArrayItemSet(e,t,l,n){let o=new Set,r=!1;for(let i of e){let e=this.getReconciledArrayItemPath(i,t,l,n);if("delete"===e.action){r=!0;continue}if("move"===e.action){r=!0,o.add(e.key);continue}o.add(i)}if(r)for(let t of(e.clear(),o))e.add(t)}reconcileArrayItemMap(e,t,l,n){let o=new Map,r=!1;for(let[i,a]of e){let e=this.getReconciledArrayItemPath(i,t,l,n);if("delete"===e.action){r=!0;continue}if("move"===e.action){r=!0,o.set(e.key,a);continue}o.set(i,a)}if(r)for(let[t,l]of(e.clear(),o))e.set(t,l)}reconcileObservableBindings(e,t,l){let n=new Map,o=!1;for(let[r,i]of this.observableBindings){let a=this.getReconciledArrayItemPath(r,e,t,l);if("delete"===a.action){o=!0,i.dispose();continue}if("move"===a.action){o=!0,i.pathKey=a.key,n.set(a.key,i);continue}n.set(r,i)}if(o)for(let[e,t]of(this.observableBindings.clear(),n))this.observableBindings.set(e,t)}getObservedChangedValue(e,t,l){if(d().has(l,e))return d().get(l,e);if((null==e?void 0:e.length)===1){let l=e[0];if(("string"==typeof l||"number"==typeof l)&&t&&Object.prototype.hasOwnProperty.call(t,l))return t[l]}return d().get(l,e)}getObservedSnapshot(e,t){if(!e||"object"!=typeof e)return t;if(!t||"object"!=typeof t)return e;let l=t;for(let n of Object.keys(e))d().has(l,[n])||(l===t&&(l=Array.isArray(t)?[...t]:{...t}),d().set(l,[n],e[n]));return l}handleFormValuesChange(e,t){if(this.disposed||this.isSuppressed())return;let l=Object.keys(e||{}).map(e=>[e]),n=this.lastObservedChangedPaths&&this.lastObservedChangedPaths.length?this.lastObservedChangedPaths:l,o=this.lastObservedSource??"user";this.lastObservedChangedPaths=null,this.lastObservedSource=null;let r=this.getFormValuesSnapshot(),i=r&&"object"==typeof r?r:t&&"object"==typeof t?t:e,a=this.getObservedSnapshot(e,i);this.reconcileArrayItemState([...n,...l],e,a),this.pruneDeletedArrayItemState(a);let s=this.deriveExplicitPaths(n,e,a,this.valuesMirror).filter(e=>!this.isDeletedArrayItemPath(e,a)),u=!1,c=!1,p=[];for(let t of n){if(!(null==t?void 0:t.length))continue;let l=this.getObservedChangedValue(t,e,a),n=d().get(this.valuesMirror,t);d().isEqual(n,l)||(c||(this.writeSeq+=1,c=!0),d().set(this.valuesMirror,t,this.toMirrorSnapshot(l)),u=!0,p.push(t))}u&&this.bumpChangeTick();let m=[];for(let e of s)this.shouldKeepDefaultPathEnabled(e,a)||m.push(e);for(let e of m){let t=(0,x.Qc)(e);this.markExplicit(t),"user"===o&&this.markUserEdited(t)}if(u){let e=this.writeSeq;for(let t of p)(null==t?void 0:t.length)&&this.lastWriteMetaByPathKey.set((0,x.Qc)(t),{source:o,writeSeq:e})}let h=(0,w.ao)();this.emitFormValuesChange({source:o,txId:h,changedPaths:n,changedValues:e,allValues:a,allValuesSnapshot:a})}deriveExplicitPaths(e,t,l,n){let o=[],r=new Set;for(let i of e||[]){if(!(null==i?void 0:i.length))continue;let e=d().get(n,i),a=this.getObservedChangedValue(i,t,l);this.collectExplicitDiffPaths(e,a,i,o,r)}return o}collectExplicitDiffPaths(e,t,l,n,o){if(d().isEqual(e,t))return 0;let r=Array.isArray(e),i=Array.isArray(t);if(r||i){if(r&&i){let r=Math.min(e.length,t.length),i=0;for(let a=0;a<r;a++)i+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],n,o);return e.length!==t.length?i+ +!!this.pushExplicitPath(l,n,o):i}return+!!this.pushExplicitPath(l,n,o)}let a=this.isPlainObjectValue(e),s=this.isPlainObjectValue(t);if(a||s){if(a&&s){let r=new Set([...Object.keys(e),...Object.keys(t)]),i=0;for(let a of r)i+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],n,o);return 0===i&&this.isObjectCleared(e,t)?+!!this.pushExplicitPath(l,n,o):i}this.isObjectCleared(e,t)}return+!!this.pushExplicitPath(l,n,o)}pushExplicitPath(e,t,l){if(!(null==e?void 0:e.length))return!1;let n=(0,x.Qc)(e);return!(!n||l.has(n))&&(l.add(n),t.push([...e]),!0)}isPlainObjectValue(e){return d().isPlainObject(e)}isObjectCleared(e,t){return!!this.isPlainObjectValue(e)&&!!(null==t||this.isPlainObjectValue(t)&&0===Object.keys(t).length)}async setFormValues(e,t,l){var n,o,r,i;if(this.disposed)return;let a=null==(n=(o=this).getForm)?void 0:n.call(o);if(!a)return;let s=(null==l?void 0:l.source)??"system",u=(null==l?void 0:l.triggerEvent)!==!1,c=(null==l?void 0:l.txId)??(0,w.ao)(),p=(null==l?void 0:l.markExplicit)??("default"!==s&&"linkage"!==s),m=void 0===(null==l?void 0:l.txId),h="linkage"===s&&Number.isFinite(Number(null==l?void 0:l.linkageScopeDepth))?Number(null==l?void 0:l.linkageScopeDepth):0,v="linkage"===s&&"string"==typeof(null==l?void 0:l.linkageTxId)&&l.linkageTxId?String(l.linkageTxId):void 0,y=e=>{if("linkage"!==s||!v)return!1;let t=this.lastWriteMetaByPathKey.get(e);return!!t&&"linkage"===t.source&&!!t.linkageTxId&&t.linkageTxId===v&&(Number.isFinite(Number(t.linkageScopeDepth))?Number(t.linkageScopeDepth):0)>h},b=e=>"linkage"===s?{source:s,writeSeq:e,linkageScopeDepth:h,linkageTxId:v}:{source:s,writeSeq:e},S=e=>"linkage"===s&&v?{...e,linkageTxId:v}:e;try{let l=[];if(!Array.isArray(t)){let e=Object.entries(t||{}).map(e=>{let[t,l]=e;return[t,this.toMirrorSnapshot(l)]}).filter(e=>{let[t,l]=e;return!y(t)&&!d().isEqual(this.getFormValueAtPath([t]),l)}),l=Object.fromEntries(e),n=e.map(e=>{let[t]=e;return t});if(!n.length)return;n.length&&(this.writeSeq+=1),this.suppressFormCallbackDepth++;try{for(let[t,l]of e)"function"==typeof a.setFieldValue?a.setFieldValue(t,l):"function"==typeof a.setFields?a.setFields([{name:t,value:l}]):null==(r=a.setFieldsValue)||r.call(a,{[t]:l}),d().set(this.valuesMirror,[t],this.toMirrorSnapshot(l)),this.syncMountedFieldModelValue([t],l);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let o=this.writeSeq;for(let e of n)this.lastWriteMetaByPathKey.set(e,b(o));if(p)for(let e of n)this.markExplicit(e),"user"===s&&this.markUserEdited(e);if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(S({source:s,txId:c,changedPaths:n.map(e=>[e]),changedValues:l,allValues:e,allValuesSnapshot:e}))}return}let n=new Map,o=0;for(let l of t){let t=null==l?void 0:l.condition;if(t&&!(0,g.F)(e,t))continue;let r=this.resolveNamePath(e,l.path),i=(0,x.Qc)(r),a=l.value,s=this.toMirrorSnapshot(a);if(y(i))continue;let u=this.getFormValueAtPath(r);d().isEqual(u,s)||(o+=1,n.set(i,{order:o,namePath:r,value:s,rawValue:a,pathKey:i}))}let m=Array.from(n.values()).sort((e,t)=>e.order-t.order).map(e=>({namePath:e.namePath,value:e.value,rawValue:e.rawValue,pathKey:e.pathKey}));if(!m.length)return;let C=this.txWriteCounts.get(c)||new Map;this.txWriteCounts.set(c,C);let F=[];for(let e of m){let t=(C.get(e.pathKey)||0)+1;C.set(e.pathKey,t),t>w.li||F.push(e)}if(!F.length)return;this.writeSeq+=1;let k=this.writeSeq;for(let{pathKey:e,rawValue:t}of F)if(!(0,f.isObservable)(t)){let t=this.observableBindings.get(e);t&&(t.dispose(),this.observableBindings.delete(e))}this.suppressFormCallbackDepth++;try{for(let{namePath:e,value:t}of F)null==(i=a.setFieldValue)||i.call(a,e,t),d().set(this.valuesMirror,e,this.toMirrorSnapshot(t)),this.syncMountedFieldModelValue(e,t),l.push(e);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}for(let{pathKey:e}of F)this.lastWriteMetaByPathKey.set(e,b(k));if(p)for(let{pathKey:e}of F)this.markExplicit(e),"user"===s&&this.markUserEdited(e);if("default"===s)for(let{namePath:e,pathKey:t}of F){let l=this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(t,this.toMirrorSnapshot(l))}for(let{rawValue:t,pathKey:l}of F){if(!(0,f.isObservable)(t))continue;let n=t,o={source:s,pathKey:l,dispose:()=>{}},r=(0,f.observe)(n,()=>{let t=o.pathKey;this.applyBoundValue(e,(0,x.c1)(t),t,(0,f.toJS)(n),s,h,v)});o.dispose=r;let i=this.observableBindings.get(l);i&&i.dispose(),this.observableBindings.set(l,o)}if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(S({source:s,txId:c,changedPaths:l,changedValues:{},allValues:e,allValuesSnapshot:e}))}}finally{m&&this.txWriteCounts.delete(c)}}applyBoundValue(e,t,l,n,o,r,i){var a,s,u;if(this.disposed)return;let c=null==(a=(s=this).getForm)?void 0:a.call(s);if(!c||"override"===o&&this.findUserEditedHit(l))return;let p=this.toMirrorSnapshot(n),m=d().get(this.valuesMirror,t);if(d().isEqual(m,p))return;this.writeSeq+=1;let h=this.writeSeq;this.suppressFormCallbackDepth++;try{null==(u=c.setFieldValue)||u.call(c,t,p),d().set(this.valuesMirror,t,this.toMirrorSnapshot(p)),this.syncMountedFieldModelValue(t,p),this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let f="linkage"===o?{source:o,writeSeq:h,linkageScopeDepth:Number.isFinite(Number(r))?Number(r):0,linkageTxId:"string"==typeof i&&i?i:void 0}:{source:o,writeSeq:h};this.lastWriteMetaByPathKey.set(l,f);let g=(0,w.ao)(),v=this.getFormValuesSnapshot(),y={source:o,txId:g,changedPaths:[t],changedValues:{},allValues:v,allValuesSnapshot:v};if("linkage"===o&&i&&(y.linkageTxId=i),this.emitFormValuesChange(y),"default"===o&&this.isExplicit(l)||"override"===o&&this.findUserEditedHit(l)){let e=this.observableBindings.get(l);e&&(e.dispose(),this.observableBindings.delete(l))}"default"===o&&this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(this.getFormValueAtPath(t)))}resolveNamePath(e,t){let l=this.tryResolveNamePath(e,t);if(!l)throw Error(`Failed to resolve path '${String(t)}'`);return l}tryResolveNamePath(e,t){var l,n;let o=(null==e||null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex);return(0,x.IJ)(t,o)}bumpChangeTick(){this.changeTick.value+=1}emitFormValuesChange(e){var t,l,n,o;null==(t=(l=this.model).dispatchEvent)||t.call(l,"formValuesChange",e,{debounce:!0}),null==(o=this.model.emitter)||null==(n=o.emit)||n.call(o,"formValuesChange",e)}syncMountedFieldModelValue(e,t){let l=(0,x.Qc)(e);if(!l)return;let n=this.mountedFieldModelsByPathKey.get(l);if(!(null==n?void 0:n.size))return;let o=new Set;for(let e of Array.from(n))this.syncMountedFieldModelValueForModel(e,t,o)}syncMountedFieldModelValueForModel(e,t,l){var n,o,r;if(!e||l.has(e)||(l.add(e),!this.isMountedModelInThisForm(e)))return;let i={value:t};null==(n=e.setProps)||n.call(e,i);let a=null==(o=e.subModels)?void 0:o.field;null==a||null==(r=a.setProps)||r.call(a,i)}rebuildMountedFieldModelIndex(){var e,t;this.mountedFieldModelsByPathKey.clear();let l=null==(t=this.model)||null==(e=t.context)?void 0:e.engine;l&&"function"==typeof l.forEachModel&&l.forEachModel(e=>{this.indexMountedFieldModelTree(e)})}indexMountedFieldModelTree(e){this.visitModelAndForks(e,e=>this.indexMountedFieldModel(e))}unindexMountedFieldModelTree(e){this.visitModelAndForks(e,e=>this.unindexMountedFieldModel(e))}visitModelAndForks(e,t){if(!e)return;let l=new Set,n=e=>{var o;if(!e||l.has(e))return;l.add(e),t(e);let r=e.forks;null==r||null==(o=r.forEach)||o.call(r,e=>n(e))};n(e)}indexMountedFieldModel(e){if(!this.isMountedModelInThisForm(e))return;let t=new Set;for(let l of this.getMountedModelNamePaths(e)){let e=(0,x.Qc)(l);e&&t.add(e)}if(t.size)for(let l of(this.unindexMountedFieldModel(e),this.mountedFieldModelPathKeys.set(e,t),t)){let t=this.mountedFieldModelsByPathKey.get(l)||new Set;t.add(e),this.mountedFieldModelsByPathKey.set(l,t)}}unindexMountedFieldModel(e){let t=this.mountedFieldModelPathKeys.get(e);if(t){for(let l of t){let t=this.mountedFieldModelsByPathKey.get(l);t&&(t.delete(e),t.size||this.mountedFieldModelsByPathKey.delete(l))}this.mountedFieldModelPathKeys.delete(e)}}isMountedModelInThisForm(e){var t;let l=null==(t=e.context)?void 0:t.blockModel;return!!l&&String(l.uid)===String(this.model.uid)}getMountedModelNamePaths(e){var t,l;let n=[],o=e=>{let t=this.normalizeNamePathValue(e);(null==t?void 0:t.length)&&n.push(t)};o(null==(t=e.context)?void 0:t.fieldPathArray);let r="function"==typeof e.getProps?e.getProps():e.props;r&&"object"==typeof r&&o(r.name);try{let t=null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init");t&&"object"==typeof t&&o(t.fieldPath)}catch{}let i=new Set;return n.filter(e=>{let t=(0,x.Qc)(e);return!(!t||i.has(t))&&(i.add(t),!0)})}normalizeNamePathValue(e){if(Array.isArray(e)){let t=e.filter(e=>"string"==typeof e||"number"==typeof e);return t.length===e.length?t:null}return"number"==typeof e?[e]:"string"==typeof e&&e?(0,x.c1)(e):null}markExplicit(e){if(this.explicitSet.has(e))return;this.explicitSet.add(e);let t=this.shouldPreserveDescendantDefaultsOnExplicit(e);for(let l of Array.from(this.lastDefaultValueByPathKey.keys())){let n=l.startsWith(`${e}.`)||l.startsWith(`${e}[`);(l===e||!t&&n)&&this.lastDefaultValueByPathKey.delete(l)}for(let[e,t]of Array.from(this.observableBindings.entries()))"default"===t.source&&this.isExplicit(e)&&(t.dispose(),this.observableBindings.delete(e))}markUserEdited(e){if(!this.userEditedSet.has(e))for(let[t,l]of(this.userEditedSet.add(e),Array.from(this.observableBindings.entries())))"override"===l.source&&this.findUserEditedHit(t)&&(l.dispose(),this.observableBindings.delete(t))}normalizeObservedNamePath(e){if(Array.isArray(e))return e;if("number"==typeof e)return[e];if("string"!=typeof e||!e)return null;let t=(0,x.c1)(e);return t.length?t:[e]}clearExplicitForDefaultPatch(e){for(let t of Array.from(this.explicitSet))(t===e||t.startsWith(`${e}.`)||t.startsWith(`${e}[`))&&this.explicitSet.delete(t)}shouldPreserveDescendantDefaultsOnExplicit(e){return Array.isArray(this.getFormValueAtPath((0,x.c1)(e)))}shouldKeepDefaultPathEnabled(e,t){return this.shouldKeepDefaultPathValueEnabled(e,d().get(t,e))}shouldKeepDefaultPathValueEnabled(e,t){let l=(0,x.Qc)(e),n=this.lastDefaultValueByPathKey.get(l);if(void 0===n)return!1;let o=(0,f.isObservable)(t)?(0,f.toJS)(t):t;return d().isEqual(o,n)}isExplicit(e){return!!this.findExplicitHit(e)}findExplicitHit(e){if(this.explicitSet.has(e))return e;let t=(0,x.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let n=(0,x.Qc)(l);if(this.explicitSet.has(n)&&"number"!=typeof t[e+1])return n}return null}findUserEditedHit(e){if(this.userEditedSet.has(e))return e;let t=(0,x.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let n=(0,x.Qc)(l);if(this.userEditedSet.has(n)&&"number"!=typeof t[e+1])return n}for(let t of this.userEditedSet)if(this.isDescendantPathKey(t,e))return t;return null}findLatestWriteMeta(e){let t,l=(0,x.c1)(e),n=[];for(let e=0;e<l.length;e++){n.push(l[e]);let o=this.lastWriteMetaByPathKey.get((0,x.Qc)(n));o&&(!t||o.writeSeq>=t.writeSeq)&&(t=o)}return t}isCurrentUserEditedPath(e){let t=this.findLatestWriteMeta(e);return!t||"user"===t.source}omitNonUserDescendantValues(e,t){if(!t||"object"!=typeof t)return t;let l=(0,x.c1)(e);for(let n of this.lastWriteMetaByPathKey.keys())this.isDescendantPathKey(n,e)&&(this.isCurrentUserEditedPath(n)||d().unset(t,(0,x.c1)(n).slice(l.length)));return t}isDescendantPathKey(e,t){if(!e||!t||e===t)return!1;let l=(0,x.c1)(e),n=(0,x.c1)(t);return!(l.length<=n.length)&&n.every((e,t)=>l[t]===e)}constructor(e){this.valuesMirror=(0,f.observable)({}),this.explicitSet=new Set,this.userEditedSet=new Set,this.lastDefaultValueByPathKey=new Map,this.lastWriteMetaByPathKey=new Map,this.observableBindings=new Map,this.changeTick=f.observable.ref(0),this.txWriteCounts=new Map,this.writeSeq=0,this.disposed=!1,this.suppressFormCallbackDepth=0,this.lastObservedChangedPaths=null,this.lastObservedSource=null,this.lastObservedToken=0,this.mountedFieldModelsByPathKey=new Map,this.mountedFieldModelPathKeys=new WeakMap,this.model=e.model,this.getForm=e.getForm,this.formPatcher=y({isSuppressed:()=>this.isSuppressed(),getCallerContext:()=>{var e;return null==(e=this.model)?void 0:e.context},setFormValues:this.setFormValues.bind(this)}),this.ruleEngine=new j({getBlockModelUid:()=>{var e;return String(null==(e=this.model)?void 0:e.uid)},getAssignRulesModelUid:()=>{var e,t;let l=null==(t=this.model)||null==(e=t.subModels)?void 0:e.grid;return!Array.isArray(l)&&(null==l?void 0:l.uid)?String(l.uid):void 0},getActionName:()=>{var e,t,l,n;return(null==(t=this.model)||null==(e=t.getAclActionName)?void 0:e.call(t))??(null==(n=this.model)||null==(l=n.context)?void 0:l.actionName)},getBlockContext:()=>{var e;return null==(e=this.model)?void 0:e.context},getEngine:()=>{var e,t;return null==(t=this.model)||null==(e=t.context)?void 0:e.engine},getEngineModel:e=>{var t,l,n,o;return(null==(o=this.model)||null==(n=o.context)||null==(l=n.engine)||null==(t=l.getModel)?void 0:t.call(l,e))??null},isDisposed:()=>this.disposed,valuesMirror:this.valuesMirror,changeTick:this.changeTick,getWriteSeq:()=>this.writeSeq,txWriteCounts:this.txWriteCounts,createTrackingFormValues:e=>(0,v.x3)({valuesMirror:this.valuesMirror,basePath:[],collector:e,getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)}),tryResolveNamePath:(e,t)=>this.tryResolveNamePath(e,t),getFormValueAtPath:e=>this.getFormValueAtPath(e),setFormValues:(e,t,l)=>this.setFormValues(e,t,l),findExplicitHit:e=>this.findExplicitHit(e),findUserEditedHit:e=>this.findUserEditedHit(e),lastDefaultValueByPathKey:this.lastDefaultValueByPathKey,lastWriteMetaByPathKey:this.lastWriteMetaByPathKey,observableBindings:this.observableBindings}),this.formValuesProxy=(0,v.x3)({valuesMirror:this.valuesMirror,basePath:[],getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)})}}function T(e,t){let l=Array.isArray(e)?e:[],n=new Set,o=e=>{var l,n,o;if(!t||"function"!=typeof t.getField||"string"!=typeof e||!e.includes("."))return null;let r=e.split(".").filter(Boolean);if(r.length<2)return null;let i=t,a=[],s=null,d=null;for(let e=0;e<r.length-1;e++){let t=r[e],o=null==i||null==(l=i.getField)?void 0:l.call(i,t);if(!(null==o||null==(n=o.isAssociationField)?void 0:n.call(o))||!(null==o?void 0:o.targetCollection))break;a.push(t),s=a.join("."),d=o,i=o.targetCollection}if(s&&d){let e=r[r.length-1],t=(null==d?void 0:d.targetKey)??(null==d||null==(o=d.targetCollection)?void 0:o.filterTargetKey)??"id",l=Array.isArray(t)?t.filter(e=>"string"==typeof e&&!!e):"string"==typeof t&&t?[t]:["id"];if("string"==typeof e&&l.includes(e))return null}return s};for(let e of l){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t)continue;let l=o(t);l&&n.add(l)}return Array.from(n)}var R=l(71712);let E={formModelSettings:new Set(["layout","assignRules"]),eventSettings:new Set(["linkageRules"])},N="nb-flow-keep-mobile-horizontal",D=(0,r.css)`
3222
3222
  &.${N} {
3223
3223
  @media (max-width: 575px) {
3224
3224
  .ant-form-item {
@@ -3237,7 +3237,7 @@ ${o}`,c)}}let n=T(e.issues.filter(e=>"runtime"===e.type)),o=n?`Key runtime issue
3237
3237
  }
3238
3238
  }
3239
3239
  }
3240
- `;function $(e,t){var l;return!!(null==(l=E[e])?void 0:l.has(t))}function B(e){return"hasAvailableData"in e&&"function"==typeof e.hasAvailableData}function O(e){return"submit"in e&&"function"==typeof e.submit}class q extends h.t{serialize(){return{...super.serialize(),variableContractType:{type:"form",use:this.use}}}get form(){return this.context.form}submitFromRunJs(){if(B(this)&&!this.hasAvailableData())return;let e=this.mapSubModels("actions",e=>e).find(e=>e.getFlow("submitSettings"));if(e)return e.onClick(void 0);let t=["CreateFormModel","EditFormModel"].some(e=>{let t=this.flowEngine.getModelClass(e);return t&&this instanceof t});!this.context.publicFormRuntime&&t&&O(this)&&this.submit().catch(e=>{this.context.message.error(this.context.t("Save failed")),console.error("Form submission error:",e)})}syncRuntimeAssignRules(){var e,t,l;arguments.length>0&&void 0!==arguments[0]&&arguments[0];let n=this.getStepParams("formModelSettings","assignRules"),o=(null==n?void 0:n.value)||[];null==(t=this.formValueRuntime)||null==(e=t.syncAssignRules)||e.call(t,Array.isArray(o)?o:[]);let r=null==(l=this.context)?void 0:l.resource,i=T(o,this.collection);(null==r?void 0:r.addUpdateAssociationValues)&&i.length&&r.addUpdateAssociationValues(i)}renderConfigureActions(){return(0,n.jsx)(i.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("FormActionGroupModel"),children:(0,n.jsx)(i.FlowSettingsButton,{icon:(0,n.jsx)(o.A,{}),children:this.translate("Actions")})})}setFieldsValue(e){let t=this.context;"function"==typeof t.setFormValues?t.setFormValues(e,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form values via ctx.setFormValues",e)}):this.form.setFieldsValue(e)}setFieldValue(e,t){let l=this.context;"function"==typeof l.setFormValue?l.setFormValue(e,t,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form value via ctx.setFormValue",e)}):this.form.setFieldValue(e,t)}markUserModifiedFields(e){if(e&&"object"==typeof e&&!Array.isArray(e))for(let t of Object.keys(e))t&&this.userModifiedTopLevelFields.add(t)}getUserModifiedFields(){return this.userModifiedTopLevelFields}resetUserModifiedFields(){this.userModifiedTopLevelFields.clear()}resetRuntimeUserEditedState(){var e,t;null==(t=this.formValueRuntime)||null==(e=t.resetUserEditedState)||e.call(t)}async onDispatchEventStart(e,t,l){var n;if("beforeRender"===e){let e=this.subModels.grid;e&&await e.dispatchEvent("beforeRender",l,{useCache:null==t?void 0:t.useCache})}await (null==(n=super.onDispatchEventStart)?void 0:n.call(this,e,t,l))}getStepParams(e,t){let l=this.subModels.grid;if(e&&t&&$(e,t)&&l){let n=l.getStepParams(e,t);return void 0!==n?n:super.getStepParams(e,t)}if(e&&!t&&E[e]&&l){let t=super.getStepParams(e)||{},n=l.getStepParams(e)||{};for(let l of E[e])Object.prototype.hasOwnProperty.call(n,l)&&void 0!==n[l]&&(t[l]=n[l]);return t}return super.getStepParams(e,t)}setStepParams(e,t,l){let n=this.subModels.grid,o=(e,t)=>{let l=E[e];if(!l||!n)return t;let o={};for(let[r,i]of Object.entries(t))l.has(r)?n.setStepParams(e,r,i):o[r]=i;return o};if("string"==typeof e&&"string"==typeof t&&void 0!==l)return void($(e,t)&&n?n.setStepParams(e,t,l):super.setStepParams(e,t,l));if("string"==typeof e&&"object"==typeof t&&null!==t){let l=o(e,t);Object.keys(l).length>0&&super.setStepParams(e,l);return}if("object"==typeof e&&null!==e){let t={};for(let[l,n]of Object.entries(e)){if("object"!=typeof n||null===n){t[l]=n;continue}let e=o(l,n);Object.keys(e).length>0&&(t[l]=e)}Object.keys(t).length>0&&super.setStepParams(t)}}async saveStepParams(){return await (0,m.ON)(this,async()=>{let e=await super.saveStepParams(),t=this.subModels.grid;return await (null==t?void 0:t.saveStepParams()),e})}createFormValuesMetaFactory(){return(0,i.createAssociationAwareObjectMetaFactory)(()=>this.collection,this.translate("Current form"),()=>{var e,t;return(null==(t=this.form)||null==(e=t.getFieldsValue)?void 0:e.call(t))||{}})}useHooksBeforeRender(){let[e]=a.A.useForm();this.context.defineProperty("form",{get:()=>e}),this.formValueRuntime||(this.formValueRuntime=new I({model:this,getForm:()=>this.context.form}));let t=this.formValueRuntime;t.mount();let l=this.createFormValuesMetaFactory();this.context.defineProperty("formValues",{get:()=>t.formValues,cache:!1,meta:l,resolveOnServer:e=>{var l,n,o,r,a,s,d,c,p,m,h,f,g;if(!e)return!1;let v=(e=>{let t=String(e||"").match(/^([^.[]+)/);return null==t?void 0:t[1]})(e);if(!v||!(null==(n=this.collection)||null==(l=n.getField)?void 0:l.call(n,v)))return!1;if((()=>{var e,t,l,n;let o=(null==(t=this.subModels.grid)||null==(e=t.subModels)?void 0:e.items)??[],r=new Set;for(let e of o){let t=null==e||null==(n=e.getStepParams)||null==(l=n.call(e,"fieldSettings","init"))?void 0:l.fieldPath,o=null==t?void 0:t.toString().split(".")[0];o&&r.add(o)}return r})().has(v)){let l=null==(r=this.form)||null==(o=r.getFieldValue)?void 0:o.call(r,v);if(null==l||Array.isArray(l)&&0===l.length)return!1;let n=t.getFormValuesSnapshot();return(!n||"object"!=typeof n||void 0===(0,u.Dw)(n,e))&&(0,i.createAssociationSubpathResolver)(()=>this.collection,()=>t.getFormValuesSnapshot())(e)}try{let e=(null==(d=this.context)||null==(s=d.resource)||null==(a=s.getMeta)?void 0:a.call(s,"currentFilterByTk"))??(null==(m=this.context)||null==(p=m.resource)||null==(c=p.getFilterByTk)?void 0:c.call(p))??(null==(g=this.collection)||null==(f=g.getFilterByTK)?void 0:f.call(g,null==(h=this.context)?void 0:h.record));if(null==e)return!1}catch(e){return!1}return!0},serverOnlyWhenContextParams:!0}),this.context.defineMethod("getFormValues",function(){return t.getFormValuesSnapshot()}),this.context.defineMethod("setFormValues",function(e,l){return t.setFormValues(this,e,l)}),this.context.defineMethod("setFormValue",function(e,l,n){return t.setFormValues(this,[{path:e,value:l}],n)})}onInit(e){super.onInit(e),this.emitter.on("onSubModelAdded",e=>{e===this.subModels.grid&&queueMicrotask(()=>this.syncRuntimeAssignRules("onSubModelAdded:grid"))}),this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1}),this.context.resource.on("saved",()=>{this.dispatchEvent("formSubmitSuccess",{})})}onMount(){var e;super.onMount(),null==(e=this.formValueRuntime)||e.mount({sync:!0}),this.syncRuntimeAssignRules("onMount"),setTimeout(()=>{this.applyFlow("eventSettings")},100)}onUnmount(){var e;null==(e=this.formValueRuntime)||e.dispose(),this.formValueRuntime=void 0,super.onUnmount()}getCurrentRecord(){return{}}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of FormModel")}constructor(...e){super(...e),this.userModifiedTopLevelFields=new Set,this._defaultCustomModelClasses={FormActionGroupModel:"FormActionGroupModel",FormItemModel:"FormItemModel",FormAssociationFieldGroupModel:"FormAssociationFieldGroupModel"},this.customModelClasses={}}}function L(e){var t,l,o,r;let{model:i,children:d,layoutProps:u={},initialValues:c,...p}=e,m=!!((null==i||null==(t=i.context)?void 0:t.isMobileLayout)&&(null==u?void 0:u.layout)==="horizontal"),h=[p.className,m?N:"",m?D:""].filter(Boolean).join(" ");return(0,n.jsx)(a.A,{form:i.form,initialValues:(null==(r=i.context)||null==(o=r.view)||null==(l=o.inputArgs)?void 0:l.formData)||i.context.record||c,...(0,s.omit)(u,"labelWidth"),labelCol:{style:{width:null==u?void 0:u.labelWidth}},onFieldsChange:e=>{let t=i.formValueRuntime;t&&t.handleFormFieldsChange(e)},onValuesChange:(e,t)=>{var l;null==(l=i.markUserModifiedFields)||l.call(i,e);let n=i.formValueRuntime;n?n.handleFormValuesChange(e,t):(i.dispatchEvent("formValuesChange",{changedValues:e,allValues:t},{debounce:!0}),i.emitter.emit("formValuesChange",{changedValues:e,allValues:t}))},...p,className:h||void 0,children:d})}let _=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),n=parseFloat(l.marginTop)||0,o=parseFloat(l.marginBottom)||0;return t.height+n+o},V=e=>{if(null!=e&&""!==e)return"number"==typeof e||/^\d+(\.\d+)?$/.test(e)?`${e}px`:e},z=e=>{let{heightMode:t,containerRef:l,actionsRef:n,footerRef:o,deps:r=[]}=e,[i,a]=(0,c.useState)(),s=(0,c.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void a(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let r=e.getBoundingClientRect().height;if(!r)return;let i=Math.max(0,Math.floor(r-_((null==n?void 0:n.current)||null)-_((null==o?void 0:o.current)||null)));a(e=>e===i?e:i)},[t,l,n,o]);return(0,c.useLayoutEffect)(()=>{s()},[s,...r]),(0,c.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=(null==n?void 0:n.current)||null,r=(null==o?void 0:o.current)||null,i=new ResizeObserver(()=>s());return i.observe(e),t&&i.observe(t),r&&i.observe(r),()=>i.disconnect()},[s,l,n,o,...r]),i},K=e=>{var t,l;let{model:o,gridModel:r,layoutProps:i,onFinish:a,grid:s,actions:d,footer:u,heightMode:p,height:m}=e,h=(0,c.useRef)(null),f=(0,c.useRef)(null),g=(0,c.useRef)(null),v="specifyValue"===p||"fullHeight"===p,y={paddingTop:null==(l=o.context)||null==(t=l.themeToken)?void 0:t.padding},x=(null==i?void 0:i.layout)==="horizontal"?V(null==i?void 0:i.labelWidth):void 0;x&&(y.marginInlineStart=x);let b=z({heightMode:p,containerRef:h,actionsRef:d?f:void 0,footerRef:u?g:void 0,deps:[m]});(0,c.useEffect)(()=>{var e;if(!r)return;let t=v?b:void 0;(null==(e=r.props)?void 0:e.height)!==t&&r.setProps({height:t})},[r,b,v]);let w=v?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,S=v?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,n.jsx)(L,{model:o,layoutProps:i,onFinish:a,style:w,children:(0,n.jsxs)("div",{ref:h,style:S,children:[s,d?(0,n.jsx)("div",{style:y,ref:f,children:d}):null,u?(0,n.jsx)("div",{ref:g,children:u}):null]})})};q.define({hide:!0}),q.registerFlow({key:"formModelSettings",title:(0,i.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,i.tExpr)("Layout")},assignRules:{use:"formAssignRules",title:(0,i.tExpr)("Field values"),beforeParamsSave(e){let t=(0,R.Fp)(e.model);Array.isArray(t)&&t.length&&(0,m.jI)(e.model)},afterParamsSave(e){var t,l,n,o,r,i;let a=e.model.getStepParams("formModelSettings","assignRules"),s=(null==a?void 0:a.value)||[];null==(n=e.model)||null==(l=n.formValueRuntime)||null==(t=l.syncAssignRules)||t.call(l,Array.isArray(s)?s:[]);let d=null==(r=e.model)||null==(o=r.context)?void 0:o.resource,u=T(s,null==(i=e.model)?void 0:i.collection);(null==d?void 0:d.addUpdateAssociationValues)&&u.length&&d.addUpdateAssociationValues(u)}}}}),q.registerFlow({key:"eventSettings",title:(0,i.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"fieldLinkageRules",afterParamsSave(e){setTimeout(()=>{var t;e.model.applyFlow("eventSettings",{changedValues:{},allValues:null==(t=e.form)?void 0:t.getFieldsValue(!0)})},0)}}}}),q.registerEvents({formValuesChange:{title:(0,i.tExpr)("Form values change"),name:"formValuesChange",uiSchema:{condition:{type:"object",title:(0,i.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":p.H}},handler:p.b}});class U extends q{}U.define({hide:!0})},71712(e,t,l){"use strict";l.d(t,{Fp:()=>s,K7:()=>a,S2:()=>n.S2});var n=l(50314);let o=["editItemSettings","formItemSettings"],r=(0,n.li)(o),i=(0,n.u4)(o);function a(e){return(0,n.TE)(e,r)}function s(e){return(0,n.Co)(e,r,i)}},53831(e,t,l){"use strict";l.d(t,{submitHandler:()=>a});var n=l(11869),o=l(58428),r=l(18357);function i(e){return e&&"object"==typeof e&&"data"in e?e.data:e}async function a(e,t,a){var s,d,u,c,p,m,h,f;let g=e.resource,v=e.blockModel,{EditFormModel:y}=await Promise.resolve().then(l.bind(l,71616)),x=v instanceof y;await (0,r.D9)({form:null==v?void 0:v.form,blockModel:v,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,r.go)(null==e?void 0:e.model)});let b=v.form.getFieldsValue(!0),w=(0,r.xT)(b,v),S=await (0,o.eu)(e,null==t?void 0:t.assignedValues,"FormSubmitAction");if(!S){null==(s=e.exit)||s.call(e);return}let C=(0,o.GO)(w,S);if(g instanceof n.SingleRecordResource){if(x){let e=g.getMeta("currentFilterByTk");e?g.setFilterByTk(e):g.isNewRecord=!0}let l=i(a?await a(C):await g.save(C,t.requestConfig));return x?(g.isNewRecord=!1,null==(d=v.resetUserModifiedFields)||d.call(v),await g.refresh(),l=l??(null==(u=g.getData)?void 0:u.call(g))):(v.form.resetFields(),v.emitter.emit("onFieldReset"),null==(c=v.resetUserModifiedFields)||c.call(v),null==(m=v.formValueRuntime)||null==(p=m.resetAfterFormReset)||p.call(m),e.view.inputArgs.collectionName===v.collection.name&&e.view.inputArgs.onChange&&e.view.inputArgs.onChange(l)),l}if(g instanceof n.MultiRecordResource){let l=g.getMeta("currentFilterByTk");if(!l)return void e.message.error(e.t("No filterByTk found for multi-record resource."));let n=a?await a(C,l):await g.update(l,C,t.requestConfig);return null==(h=v.resetUserModifiedFields)||h.call(v),i(n)??(null==(f=v.getCurrentRecord)?void 0:f.call(v))}}},18357(e,t,l){"use strict";l.d(t,{D9:()=>v,go:()=>g,xT:()=>y}),l(45336),l(69861),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(5409),l(79936),l(34678);var n=l(40098),o=l.n(n),r=l(12197);function i(e,t){var l,n;let o=null==e||null==(n=e.context)||null==(l=n.blockModel)?void 0:l.uid,r=null==t?void 0:t.uid;return!!o&&!!r&&String(o)===String(r)}function a(e){var t,l;let n=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(n)&&n.length)return n;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),n=null==t?void 0:t.fieldPath;if("string"==typeof n&&n)return n}catch{}let o=null==e?void 0:e.fieldPath;if("string"==typeof o&&o)return o;let r="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,i=null==r?void 0:r.name;return"string"==typeof i&&i||Array.isArray(i)&&i.length?i:null}function s(e){return Array.isArray(e)&&e.length&&"string"==typeof e[0]?e:null}function d(e){var t;let l=a(e);return l?s((0,r.IJ)(l,null==e||null==(t=e.context)?void 0:t.fieldIndex)):null}function u(e,t){if(e&&"object"==typeof e&&Array.isArray(t)&&!(t.length<2))for(let l=t.length-1;l>=1;l--){let n=t.slice(0,l);if("number"==typeof n[n.length-1])continue;let r=o().get(e,n);o().isPlainObject(r)&&0===Object.keys(r).length&&o().unset(e,n)}}function c(e,t){(null==e?void 0:e.forEachModel)&&e.forEachModel(e=>{t(e);let l=null==e?void 0:e.forks;l&&"function"==typeof l.forEach&&l.forEach(e=>{e&&!e.disposed&&t(e)})})}function p(e){let t=null==e?void 0:e.flowEngine;if(!(null==t?void 0:t.forEachModel))return[];let l=[],n=new Set;return c(t,t=>{if(!t||"object"!=typeof t||!t.hidden||!i(t,e))return;let o=d(t);if(!o)return;let r=JSON.stringify(o);n.has(r)||(n.add(r),l.push(o))}),l}function m(e){return"string"==typeof e?e?[e]:null:Array.isArray(e)?s(e):null}function h(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length>t.length)return!1;for(let l=0;l<e.length;l++)if(e[l]!==t[l])return!1;return!0}function f(e){let t=null==e?void 0:e.form;if(!t||"function"!=typeof t.getFieldsError)return null;let l=t.getFieldsError();if(!Array.isArray(l))return null;let n=[],o=new Set;for(let e of l){let t=m(null==e?void 0:e.name);if(!t)continue;let l=JSON.stringify(t);o.has(l)||(o.add(l),n.push(t))}if(!n.length)return null;let r=p(e);return r.length?n.filter(e=>!r.some(t=>h(t,e))):n}function g(e){var t,l;return(null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"submitSettings","skipRequiredValidation"))?void 0:t.skipValidator)===!0}async function v(e){let{form:t,blockModel:l,flowSettingsEnabled:n,skipValidator:o}=e;if(o||!t||"function"!=typeof t.validateFields)return;let r=n&&l?f(l):null;if(Array.isArray(r)){r.length&&await t.validateFields(r);return}await t.validateFields()}function y(e,t){if(!e||"object"!=typeof e)return e;let l=p(t);if(!l.length)return e;let n=o().cloneDeep(e);for(let e of l)o().unset(n,e),u(n,e);return n}},29676(e,t,l){"use strict";l.d(t,{F:()=>o});var n=l(87710);function o(e,t){let l=(t,l,n)=>{var o,r,i;return!l||(null==e||null==(i=e.app)||null==(r=i.jsonLogic)||null==(o=r.apply)?void 0:o.call(r,{[l]:[t,n]}))};try{return(0,n.evaluateConditions)((0,n.removeInvalidFilterItems)(t),l)}catch{return!1}}},47632(e,t,l){"use strict";l.d(t,{Dd:()=>d,G:()=>c,Wp:()=>p,x3:()=>u}),l(58149),l(45336),l(79936);var n=l(95243),o=l(11869),r=l(40098),i=l.n(r),a=l(12197);function s(e){return!!e&&"object"==typeof e&&(Array.isArray(e)||i().isPlainObject(e))}function d(e,t){if(t)for(let l of(0,a.ef)(e))t.deps.add(`fv:${l}`)}function u(e){let{valuesMirror:t,collector:l,basePath:o,getFormValuesSnapshot:r,getFormValueAtPath:a}=e,c=()=>o.length?i().get(t,o):t,p=c(),m=p&&("object"==typeof p||"function"==typeof p)?p:Array.isArray(p)?[]:{},h=e=>u({valuesMirror:t,basePath:e,collector:l,getFormValuesSnapshot:r,getFormValueAtPath:a});return new Proxy(m,{get(e,u){if("toJSON"===u)return(l&&(l.wildcard=!0),0===o.length)?()=>r():()=>(0,n.toJS)(c());if("symbol"==typeof u){l&&(l.wildcard=!0);let e=c();return null==e?void 0:e[u]}let p=c();if(null==p)return;if("__raw"===u)return p;if("__proto__"===u||"prototype"===u||"constructor"===u){l&&(l.wildcard=!0);return}let m=Array.isArray(p),f=m&&("number"==typeof u&&Number.isInteger(u)||"string"==typeof u&&/^\d+$/.test(u));if(m&&!f){l&&(l.wildcard=!0);let e=p[u];return"function"==typeof e?e.bind(p):e}let g=[...o,f?Number(u):u];d(g,l);let v=p[u];if(void 0===v){let e=a(g);i().isEqual(e,v)||(i().set(t,g,e),v=e)}return null==v||"object"!=typeof v?v:s(v)?h(g):v},ownKeys(){l&&(l.wildcard=!0);let e=c();return e?Reflect.ownKeys(e):[]},getOwnPropertyDescriptor(e,t){let l=c();if(l)return Object.getOwnPropertyDescriptor(l,t)},has(e,t){let l=c();return!!l&&t in l}})}function c(e,t){try{let l=(0,o.extractUsedVariablePaths)(e)||{};for(let[e,n]of Object.entries(l)){let l=Array.isArray(n)?n:[];for(let n of l.length?l:[""]){if("formValues"===e){if(!n){t.wildcard=!0;continue}let e=(0,a.EA)(String(n)).filter(e=>"object"!=typeof e);d(e,t);continue}let l=n?`ctx:${e}:${String(n)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function p(e,t){if((0,o.isRunJSValue)(e))try{let l=(0,o.extractUsedVariablePathsFromRunJS)(e.code)||{};for(let[e,n]of Object.entries(l)){let l=Array.isArray(n)?n:[];for(let n of l.length?l:[""]){if("formValues"===e){if(!n){t.wildcard=!0;continue}let e=(0,a.EA)(String(n)).filter(e=>"object"!=typeof e);d(e,t);continue}let l=n?`ctx:${e}:${String(n)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}},12197(e,t,l){"use strict";function n(e){let t=[],l=0,n=e.length,o=()=>{let o=l;for(;l<n&&"."!==e[l]&&"["!==e[l];)l++;let r=e.slice(o,l);r&&t.push(r)};for(;l<n;){let r=e[l];if("."===r){l++;continue}if("["===r){let o=++l;for(;l<n&&"]"!==e[l];)l++;let r=e.slice(o,l);l++,/^\d+$/.test(r)?t.push(Number(r)):r&&t.push({placeholder:r});continue}o()}return t}function o(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 r(e,t){let l=Array.isArray(e)?[...e]:n(e),r=o(t),i=[],a=0;for(let e=0;e<l.length;e++){let t=l[e];if("object"==typeof t&&t&&"placeholder"in t){let e=i[i.length-1],t="string"==typeof e?e:void 0;if(!t)return null;for(;a<r.length&&r[a].name!==t;)a++;if(a>=r.length)return null;i.push(r[a].index),a++;continue}if(i.push(t),"string"==typeof t&&a<r.length&&r[a].name===t){let t=l[e+1];"number"==typeof t?a++:"object"==typeof t&&t&&"placeholder"in t||(i.push(r[a].index),a++)}}return i}function i(e){let t="";for(let l of e){if("number"==typeof l){t+=`[${l}]`;continue}t?t+=`.${l}`:t=l}return t}function a(e){return n(e).filter(e=>"object"!=typeof e)}function s(e){let t=[],l=[];for(let n of e)l.push(n),t.push(i(l));return t}l.d(t,{EA:()=>n,IJ:()=>r,Qc:()=>i,c1:()=>a,ef:()=>s}),l(5409),l(45336),l(79936)},65421(e,t,l){"use strict";l.d(t,{Po:()=>i,ao:()=>a,li:()=>r});var n=l(40098),o=l.n(n);let r=20;function i(e){return null==e||("string"==typeof e||Array.isArray(e)?0===e.length:!!o().isPlainObject(e)&&0===Object.keys(e).length)}function a(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}},50314(e,t,l){"use strict";l.d(t,{Co:()=>f,PP:()=>i,S2:()=>h,TE:()=>m,li:()=>d,u4:()=>p}),l(5409),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(45336),l(23446);var n=l(40098),o=l.n(n);function r(){return{logic:"$and",items:[]}}function i(e,t,l){var n;let o=null==e||null==(n=e.getStepParams)?void 0:n.call(e,t,l);return!!o&&Object.prototype.hasOwnProperty.call(o,"value")}function a(e){if(!e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(t&&void 0!==t.initialValue)return t.initialValue}function s(e,t){var l,n;if(e)return null==(n=e.getStepParams)||null==(l=n.call(e,t,"initialValue"))?void 0:l.defaultValue}function d(e){return t=>{if(!t)return;let l=a(t);if(void 0!==l)return l;for(let l of e){let e=s(t,l);if(void 0!==e)return e}}}function u(e,t,l){var n,r,i;if(!(null==e||null==(n=e.stepParams)?void 0:n[t]))return;let a=e.stepParams[t];!a||"object"!=typeof a||Object.prototype.hasOwnProperty.call(a,l)&&(delete a[l],o().isEmpty(a)&&delete e.stepParams[t],null==(i=e.emitter)||null==(r=i.emit)||r.call(i,"onStepParamsChanged"))}function c(e){var t,l;if(!e)return;null==(t=e.setProps)||t.call(e,{initialValue:void 0}),e.props&&Object.prototype.hasOwnProperty.call(e.props,"initialValue")&&delete e.props.initialValue;let n=null==(l=e._options)?void 0:l.props;n&&Object.prototype.hasOwnProperty.call(n,"initialValue")&&delete n.initialValue}function p(e){return t=>{if(t)for(let l of(c(t),e))u(t,l,"initialValue")}}function m(e,t){var l,n,o,i,a;let s=null==e||null==(o=e.subModels)||null==(n=o.grid)||null==(l=n.subModels)?void 0:l.items,d=Array.isArray(s)?s:[],u=[];for(let e of d){let l=(null==e||null==(a=e.getStepParams)||null==(i=a.call(e,"fieldSettings","init"))?void 0:i.fieldPath)||(null==e?void 0:e.fieldPath),n=l?String(l):"";if(!n)continue;let o=t(e);void 0!==o&&u.push({key:`legacy-default:${n}`,enable:!0,targetPath:n,mode:"default",condition:r(),value:o})}return u}function h(e,t){let l=Array.isArray(e)?e:[],n=Array.isArray(t)?t:[];if(!n.length)return l;let o=new Set;for(let e of l){if(!e||"object"!=typeof e)continue;let t=e.targetPath?String(e.targetPath):"";if(t){if("default"===e.mode){o.add(t);continue}String(e.key??"").startsWith("legacy-default:")&&o.add(t)}}let r=new Set(l.map(e=>String(e.key??""))),i=[];for(let e of n){let t=e.targetPath?String(e.targetPath):"";if(!t||o.has(t))continue;let l={...e},n=String(l.key??"");n&&r.has(n)&&(l.key=`${n}:${t}`),i.push(l)}return i.length?[...l,...i]:l}function f(e,t,l){var n,o,r;let i=null==e||null==(r=e.subModels)||null==(o=r.grid)||null==(n=o.subModels)?void 0:n.items,a=Array.isArray(i)?i:[],s=[];for(let e of a)void 0!==t(e)&&(l(e),s.push(e));return s}},26866(e,t,l){"use strict";l.d(t,{$4:()=>a,r5:()=>i}),l(45336),l(23446),l(34678);var n=l(41893);let o="__index__";function r(e,t){if(!t)return null;if(Array.isArray(t)){let l=t.map(t=>null==e?void 0:e[t]);return l.some(e=>null==e)?null:l.map(e=>String(e)).join("__")}let l=null==e?void 0:e[t];return null==l?null:String(l)}function i(e,t){let l=null==e?void 0:e[o];if((null==e?void 0:e.__is_new__)&&null!=l&&""!==l)return`tmp:${String(l)}`;let n=r(e,t);return null!=n?`pk:${n}`:null!=l&&""!==l?`tmp:${String(l)}`:null}function a(e){if(!e.length)return e;let t=!1,l=e.map(e=>{let l=null==e?void 0:e[o];return e.__is_new__&&(null==l||""===l)?(t=!0,{...e,[o]:(0,n.uid)()}):e});return t?l:e}},69586(e,t,l){"use strict";l.d(t,{m:()=>p});var n=l(74848),o=l(11869),r=l(95725),i=l(96540),a=l(44329),s=l(81486),d=l(16860);function u(e){let{value:t,onChange:l,onCompositionStart:o,onCompositionEnd:a,...s}=e,[d,u]=(0,i.useState)(()=>c(t));(0,i.useEffect)(()=>{u(c(t))},[t]);let p=e=>e.currentTarget.value;return(0,n.jsx)(r.A,{...s,value:d,onChange:e=>{u(p(e)),null==l||l(e)},onCompositionStart:e=>{u(p(e)),null==o||o(e)},onCompositionEnd:e=>{u(p(e)),null==a||a(e)}})}function c(e){return"bigint"==typeof e?String(e):null==e?"":e}class p extends s.o{render(){if(this.props.enableScan)return(0,n.jsx)(d.E,{...this.props});let{enableScan:e,disableManualInput:t,...l}=this.props;return(0,n.jsx)(u,{...l})}}p.registerFlow({key:"defaultValueForNanoid",steps:{generateNanoid:{handler(e,t){var l,n;null==(n=e.blockModel)||null==(l=n.emitter)||l.on("onFieldReset",()=>{if("nanoid"===e.collectionField.interface&&!1!==e.collectionField.options.autoFill){let{size:t,customAlphabet:l}=e.collectionField.options||{size:21};e.model.props.onChange((0,a.d_)(l,t)())}})}}}}),p.registerFlow({key:"scanInputSettings",sort:800,title:(0,o.tExpr)("Scan input settings"),steps:{enableScan:{title:(0,o.tExpr)("Enable Scan"),uiMode:{type:"switch",key:"enableScan"},hideInSettings:e=>"readPretty"===e.model.getProps().pattern||e.model.getProps().disabled,defaultParams:e=>({enableScan:!!e.model.props.enableScan}),handler(e,t){e.model.setProps({enableScan:!!t.enableScan,disableManualInput:!!t.enableScan&&e.model.props.disableManualInput})}},disableManualInput:{title:(0,o.tExpr)("Disable manual input"),uiMode:{type:"switch",key:"disableManualInput"},hideInSettings(e){var t,l;let n=null==(t=(l=e.model).getStepParams)?void 0:t.call(l,"scanInputSettings","enableScan");return!(Object.prototype.hasOwnProperty.call(n||{},"enableScan")?!!(null==n?void 0:n.enableScan):!!e.model.props.enableScan)||"readPretty"===e.model.getProps().pattern||!!e.model.getProps().disabled},defaultParams:e=>({disableManualInput:!!e.model.props.disableManualInput}),handler(e,t){e.model.setProps({disableManualInput:!!e.model.props.enableScan&&!!t.disableManualInput})}}}}),p.define({label:(0,o.tExpr)("Input")}),o.EditableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid"],{isDefault:!0}),o.FilterableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid","textarea","markdown","vditor","richText","password","color"],{isDefault:!0})},95267(e,t,l){"use strict";l.d(t,{o:()=>n,e:()=>s}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182);class n{subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async load(){return this.data&&!this.error?this.data:(this.pending||(this.loading=!0,this.notify(),this.pending=this.apiClient.request({url:"systemSettings:get"}).then(e=>(this.data=e.data,this.error=void 0,this.data)).catch(e=>{throw this.error=e,e}).finally(()=>{this.loading=!1,this.pending=void 0,this.notify()})),this.pending)}async refresh(){return this.pending=void 0,this.data=void 0,this.load()}setData(e){this.data=e,this.error=void 0,this.loading=!1,this.notify()}setError(e){this.error=e,this.loading=!1,this.notify()}notify(){for(let e of this.listeners)e()}constructor(e){this.apiClient=e,this.loading=!1,this.listeners=new Set}}l(45336),l(79936),l(23446);var o=l(11869),r=l(2077),i=l(84256),a=l(96540);let s=()=>{var e,t;let l=(0,r.nm)().systemSettings,n=(0,o.useFlowEngine)({throwError:!1}),[,s]=(0,a.useState)(0),d=null==(t=l.data)||null==(e=t.data)?void 0:e.enabledLanguages,u=(0,a.useMemo)(()=>(Array.isArray(d)?d:[]).filter(e=>i.A[e]).map(e=>({label:i.A[e].label,value:e})),[d]);return(0,a.useEffect)(()=>(l.load(),l.subscribe(()=>{s(e=>e+1)})),[l]),(0,a.useEffect)(()=>{n&&n.context.defineProperty("locale",{get:e=>{var t,l,n;return(null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==(n=e.i18n)?void 0:n.language)},cache:!1,meta:{type:"string",title:'{{t("Current language")}}',sort:970,interface:"select",uiSchema:{enum:u,"x-component":"Select"}}})},[n,u]),{loading:l.loading,data:l.data,error:l.error,refresh:()=>l.refresh(),mutate:e=>{Object.prototype.hasOwnProperty.call(e||{},"data")&&l.setData(null==e?void 0:e.data),Object.prototype.hasOwnProperty.call(e||{},"error")&&l.setError(null==e?void 0:e.error)}}}},94130(e,t,l){"use strict";l.d(t,{F3:()=>a,GX:()=>s,b1:()=>d}),l(45336),l(23446),l(79936),l(14324),l(38263);let n={view:"get"},o=e=>e?n[e]||e:null,r=(e,t)=>{for(let l of t){if(!(l in e))continue;let t=e[l];if(null==t)return null;return(Array.isArray(t)?t:[t]).map(e=>o(e)).filter(Boolean)}},i=(e,t)=>{let l=o(t);if(!l||!(null==e?void 0:e.options))return!0;let{availableActions:n,unavailableActions:r}=e.options;return Array.isArray(n)?n.includes(l):!Array.isArray(r)||!r.includes(l)},a=(e,t)=>null==t||!t.length||t.every(t=>i(e,t)),s=e=>{var t;let l=r(e,["capabilityActionNames","capabilityActionName"]);if(void 0!==l)return l;let n=null==e||null==(t=e.prototype)?void 0:t.getAclActionName;if("function"!=typeof n)return null;try{let e=n.call({}),t=o(e);return t?[t]:null}catch{return null}},d=e=>r(e,["blockCapabilityActionNames","blockCapabilityActionName"])??null},42632(e,t,l){"use strict";function n(e){let{blockLabel:t,dsName:l,dsCount:n,collectionTitle:o,sourceCollectionTitle:r,associationTitle:i}=e,a=n>1&&!!l,s=o;if(r&&i){let e=`${r} > ${i} (${o})`;s=`${a?`${l} > `:""}${e}`}else s=`${a?`${l} > `:""}${o}`;return`
3240
+ `;function $(e,t){var l;return!!(null==(l=E[e])?void 0:l.has(t))}function B(e){return"hasAvailableData"in e&&"function"==typeof e.hasAvailableData}function O(e){return"submit"in e&&"function"==typeof e.submit}class q extends h.t{serialize(){return{...super.serialize(),variableContractType:{type:"form",use:this.use}}}get form(){return this.context.form}submitFromRunJs(){if(B(this)&&!this.hasAvailableData())return;let e=this.mapSubModels("actions",e=>e).find(e=>e.getFlow("submitSettings"));if(e)return e.onClick(void 0);let t=["CreateFormModel","EditFormModel"].some(e=>{let t=this.flowEngine.getModelClass(e);return t&&this instanceof t});!this.context.publicFormRuntime&&t&&O(this)&&this.submit().catch(e=>{this.context.message.error(this.context.t("Save failed")),console.error("Form submission error:",e)})}syncRuntimeAssignRules(){var e,t,l;arguments.length>0&&void 0!==arguments[0]&&arguments[0];let n=this.getStepParams("formModelSettings","assignRules"),o=(null==n?void 0:n.value)||[];null==(t=this.formValueRuntime)||null==(e=t.syncAssignRules)||e.call(t,Array.isArray(o)?o:[]);let r=null==(l=this.context)?void 0:l.resource,i=T(o,this.collection);(null==r?void 0:r.addUpdateAssociationValues)&&i.length&&r.addUpdateAssociationValues(i)}renderConfigureActions(){return(0,n.jsx)(i.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("FormActionGroupModel"),children:(0,n.jsx)(i.FlowSettingsButton,{icon:(0,n.jsx)(o.A,{}),children:this.translate("Actions")})})}setFieldsValue(e){let t=this.context;"function"==typeof t.setFormValues?t.setFormValues(e,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form values via ctx.setFormValues",e)}):this.form.setFieldsValue(e)}setFieldValue(e,t){let l=this.context;"function"==typeof l.setFormValue?l.setFormValue(e,t,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form value via ctx.setFormValue",e)}):this.form.setFieldValue(e,t)}markUserModifiedFields(e){if(e&&"object"==typeof e&&!Array.isArray(e))for(let t of Object.keys(e))t&&this.userModifiedTopLevelFields.add(t)}getUserModifiedFields(){return this.userModifiedTopLevelFields}resetUserModifiedFields(){this.userModifiedTopLevelFields.clear()}resetRuntimeUserEditedState(){var e,t;null==(t=this.formValueRuntime)||null==(e=t.resetUserEditedState)||e.call(t)}async onDispatchEventStart(e,t,l){var n;if("beforeRender"===e){let e=this.subModels.grid;e&&await e.dispatchEvent("beforeRender",l,{useCache:null==t?void 0:t.useCache})}await (null==(n=super.onDispatchEventStart)?void 0:n.call(this,e,t,l))}getStepParams(e,t){let l=this.subModels.grid;if(e&&t&&$(e,t)&&l){let n=l.getStepParams(e,t);return void 0!==n?n:super.getStepParams(e,t)}if(e&&!t&&E[e]&&l){let t=super.getStepParams(e)||{},n=l.getStepParams(e)||{};for(let l of E[e])Object.prototype.hasOwnProperty.call(n,l)&&void 0!==n[l]&&(t[l]=n[l]);return t}return super.getStepParams(e,t)}setStepParams(e,t,l){let n=this.subModels.grid,o=(e,t)=>{let l=E[e];if(!l||!n)return t;let o={};for(let[r,i]of Object.entries(t))l.has(r)?n.setStepParams(e,r,i):o[r]=i;return o};if("string"==typeof e&&"string"==typeof t&&void 0!==l)return void($(e,t)&&n?n.setStepParams(e,t,l):super.setStepParams(e,t,l));if("string"==typeof e&&"object"==typeof t&&null!==t){let l=o(e,t);Object.keys(l).length>0&&super.setStepParams(e,l);return}if("object"==typeof e&&null!==e){let t={};for(let[l,n]of Object.entries(e)){if("object"!=typeof n||null===n){t[l]=n;continue}let e=o(l,n);Object.keys(e).length>0&&(t[l]=e)}Object.keys(t).length>0&&super.setStepParams(t)}}async saveStepParams(){return await (0,m.ON)(this,async()=>{let e=await super.saveStepParams(),t=this.subModels.grid;return await (null==t?void 0:t.saveStepParams()),e})}createFormValuesMetaFactory(){return(0,i.createAssociationAwareObjectMetaFactory)(()=>this.collection,this.translate("Current form"),()=>{var e,t;return(null==(t=this.form)||null==(e=t.getFieldsValue)?void 0:e.call(t))||{}})}useHooksBeforeRender(){let[e]=a.A.useForm();this.context.defineProperty("form",{get:()=>e}),this.formValueRuntime||(this.formValueRuntime=new I({model:this,getForm:()=>this.context.form}));let t=this.formValueRuntime;t.mount();let l=this.createFormValuesMetaFactory();this.context.defineProperty("formValues",{get:()=>t.formValues,cache:!1,meta:l,resolveOnServer:e=>{var l,n,o,r,a,s,d,c,p,m,h,f,g,v,y,x;if(!e)return!1;let b=(e=>{let t=String(e||"").match(/^([^.[]+)/);return null==t?void 0:t[1]})(e);if(!b||!(null==(n=this.collection)||null==(l=n.getField)?void 0:l.call(n,b)))return!1;if((()=>{var e,t,l,n;let o=(null==(t=this.subModels.grid)||null==(e=t.subModels)?void 0:e.items)??[],r=new Set;for(let e of o){let t=null==e||null==(n=e.getStepParams)||null==(l=n.call(e,"fieldSettings","init"))?void 0:l.fieldPath,o=null==t?void 0:t.toString().split(".")[0];o&&r.add(o)}return r})().has(b)){let l=null==(r=this.form)||null==(o=r.getFieldValue)?void 0:o.call(r,b);if(null==l||Array.isArray(l)&&0===l.length)return!1;let n=t.getFormValuesSnapshot(),c=!1;if(n&&"object"==typeof n){let t=(0,u.Dw)(n,e);if(void 0!==t){let l=e.replace(/\[\d+\]/g,"").split(".").filter(e=>!/^\d+$/.test(e)).join("."),n=null==(s=this.collection)||null==(a=s.getFieldByPath)?void 0:a.call(s,l),o=null==n?void 0:n.targetCollectionTitleFieldName,r=e=>!(!e||"object"!=typeof e||Array.isArray(e))&&(!o||void 0!==e[o]),i=null===t||(Array.isArray(t)?0===t.length||t.every(e=>null===e||r(e)):r(t));if(!(null==n||null==(d=n.isAssociationField)?void 0:d.call(n))||i)return!1;c=!0}}return(0,i.createAssociationSubpathResolver)(()=>this.collection,c?void 0:()=>t.getFormValuesSnapshot())(e)}try{let e=(null==(m=this.context)||null==(p=m.resource)||null==(c=p.getMeta)?void 0:c.call(p,"currentFilterByTk"))??(null==(g=this.context)||null==(f=g.resource)||null==(h=f.getFilterByTk)?void 0:h.call(f))??(null==(x=this.collection)||null==(y=x.getFilterByTK)?void 0:y.call(x,null==(v=this.context)?void 0:v.record));if(null==e)return!1}catch(e){return!1}return!0},serverOnlyWhenContextParams:!0}),this.context.defineMethod("getFormValues",function(){return t.getFormValuesSnapshot()}),this.context.defineMethod("setFormValues",function(e,l){return t.setFormValues(this,e,l)}),this.context.defineMethod("setFormValue",function(e,l,n){return t.setFormValues(this,[{path:e,value:l}],n)})}onInit(e){super.onInit(e),this.emitter.on("onSubModelAdded",e=>{e===this.subModels.grid&&queueMicrotask(()=>this.syncRuntimeAssignRules("onSubModelAdded:grid"))}),this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1}),this.context.resource.on("saved",()=>{this.dispatchEvent("formSubmitSuccess",{})})}onMount(){var e;super.onMount(),null==(e=this.formValueRuntime)||e.mount({sync:!0}),this.syncRuntimeAssignRules("onMount"),setTimeout(()=>{this.applyFlow("eventSettings")},100)}onUnmount(){var e;null==(e=this.formValueRuntime)||e.dispose(),this.formValueRuntime=void 0,super.onUnmount()}getCurrentRecord(){return{}}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of FormModel")}constructor(...e){super(...e),this.userModifiedTopLevelFields=new Set,this._defaultCustomModelClasses={FormActionGroupModel:"FormActionGroupModel",FormItemModel:"FormItemModel",FormAssociationFieldGroupModel:"FormAssociationFieldGroupModel"},this.customModelClasses={}}}function L(e){var t,l,o,r;let{model:i,children:d,layoutProps:u={},initialValues:c,...p}=e,m=!!((null==i||null==(t=i.context)?void 0:t.isMobileLayout)&&(null==u?void 0:u.layout)==="horizontal"),h=[p.className,m?N:"",m?D:""].filter(Boolean).join(" ");return(0,n.jsx)(a.A,{form:i.form,initialValues:(null==(r=i.context)||null==(o=r.view)||null==(l=o.inputArgs)?void 0:l.formData)||i.context.record||c,...(0,s.omit)(u,"labelWidth"),labelCol:{style:{width:null==u?void 0:u.labelWidth}},onFieldsChange:e=>{let t=i.formValueRuntime;t&&t.handleFormFieldsChange(e)},onValuesChange:(e,t)=>{var l;null==(l=i.markUserModifiedFields)||l.call(i,e);let n=i.formValueRuntime;n?n.handleFormValuesChange(e,t):(i.dispatchEvent("formValuesChange",{changedValues:e,allValues:t},{debounce:!0}),i.emitter.emit("formValuesChange",{changedValues:e,allValues:t}))},...p,className:h||void 0,children:d})}let _=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),n=parseFloat(l.marginTop)||0,o=parseFloat(l.marginBottom)||0;return t.height+n+o},V=e=>{if(null!=e&&""!==e)return"number"==typeof e||/^\d+(\.\d+)?$/.test(e)?`${e}px`:e},z=e=>{let{heightMode:t,containerRef:l,actionsRef:n,footerRef:o,deps:r=[]}=e,[i,a]=(0,c.useState)(),s=(0,c.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void a(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let r=e.getBoundingClientRect().height;if(!r)return;let i=Math.max(0,Math.floor(r-_((null==n?void 0:n.current)||null)-_((null==o?void 0:o.current)||null)));a(e=>e===i?e:i)},[t,l,n,o]);return(0,c.useLayoutEffect)(()=>{s()},[s,...r]),(0,c.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=(null==n?void 0:n.current)||null,r=(null==o?void 0:o.current)||null,i=new ResizeObserver(()=>s());return i.observe(e),t&&i.observe(t),r&&i.observe(r),()=>i.disconnect()},[s,l,n,o,...r]),i},K=e=>{var t,l;let{model:o,gridModel:r,layoutProps:i,onFinish:a,grid:s,actions:d,footer:u,heightMode:p,height:m}=e,h=(0,c.useRef)(null),f=(0,c.useRef)(null),g=(0,c.useRef)(null),v="specifyValue"===p||"fullHeight"===p,y={paddingTop:null==(l=o.context)||null==(t=l.themeToken)?void 0:t.padding},x=(null==i?void 0:i.layout)==="horizontal"?V(null==i?void 0:i.labelWidth):void 0;x&&(y.marginInlineStart=x);let b=z({heightMode:p,containerRef:h,actionsRef:d?f:void 0,footerRef:u?g:void 0,deps:[m]});(0,c.useEffect)(()=>{var e;if(!r)return;let t=v?b:void 0;(null==(e=r.props)?void 0:e.height)!==t&&r.setProps({height:t})},[r,b,v]);let w=v?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,S=v?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,n.jsx)(L,{model:o,layoutProps:i,onFinish:a,style:w,children:(0,n.jsxs)("div",{ref:h,style:S,children:[s,d?(0,n.jsx)("div",{style:y,ref:f,children:d}):null,u?(0,n.jsx)("div",{ref:g,children:u}):null]})})};q.define({hide:!0}),q.registerFlow({key:"formModelSettings",title:(0,i.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,i.tExpr)("Layout")},assignRules:{use:"formAssignRules",title:(0,i.tExpr)("Field values"),beforeParamsSave(e){let t=(0,R.Fp)(e.model);Array.isArray(t)&&t.length&&(0,m.jI)(e.model)},afterParamsSave(e){var t,l,n,o,r,i;let a=e.model.getStepParams("formModelSettings","assignRules"),s=(null==a?void 0:a.value)||[];null==(n=e.model)||null==(l=n.formValueRuntime)||null==(t=l.syncAssignRules)||t.call(l,Array.isArray(s)?s:[]);let d=null==(r=e.model)||null==(o=r.context)?void 0:o.resource,u=T(s,null==(i=e.model)?void 0:i.collection);(null==d?void 0:d.addUpdateAssociationValues)&&u.length&&d.addUpdateAssociationValues(u)}}}}),q.registerFlow({key:"eventSettings",title:(0,i.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"fieldLinkageRules",afterParamsSave(e){setTimeout(()=>{var t;e.model.applyFlow("eventSettings",{changedValues:{},allValues:null==(t=e.form)?void 0:t.getFieldsValue(!0)})},0)}}}}),q.registerEvents({formValuesChange:{title:(0,i.tExpr)("Form values change"),name:"formValuesChange",uiSchema:{condition:{type:"object",title:(0,i.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":p.H}},handler:p.b}});class U extends q{}U.define({hide:!0})},71712(e,t,l){"use strict";l.d(t,{Fp:()=>s,K7:()=>a,S2:()=>n.S2});var n=l(50314);let o=["editItemSettings","formItemSettings"],r=(0,n.li)(o),i=(0,n.u4)(o);function a(e){return(0,n.TE)(e,r)}function s(e){return(0,n.Co)(e,r,i)}},53831(e,t,l){"use strict";l.d(t,{submitHandler:()=>a});var n=l(11869),o=l(58428),r=l(18357);function i(e){return e&&"object"==typeof e&&"data"in e?e.data:e}async function a(e,t,a){var s,d,u,c,p,m,h,f;let g=e.resource,v=e.blockModel,{EditFormModel:y}=await Promise.resolve().then(l.bind(l,71616)),x=v instanceof y;await (0,r.D9)({form:null==v?void 0:v.form,blockModel:v,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,r.go)(null==e?void 0:e.model)});let b=v.form.getFieldsValue(!0),w=(0,r.xT)(b,v),S=await (0,o.eu)(e,null==t?void 0:t.assignedValues,"FormSubmitAction");if(!S){null==(s=e.exit)||s.call(e);return}let C=(0,o.GO)(w,S);if(g instanceof n.SingleRecordResource){if(x){let e=g.getMeta("currentFilterByTk");e?g.setFilterByTk(e):g.isNewRecord=!0}let l=i(a?await a(C):await g.save(C,t.requestConfig));return x?(g.isNewRecord=!1,null==(d=v.resetUserModifiedFields)||d.call(v),await g.refresh(),l=l??(null==(u=g.getData)?void 0:u.call(g))):(v.form.resetFields(),v.emitter.emit("onFieldReset"),null==(c=v.resetUserModifiedFields)||c.call(v),null==(m=v.formValueRuntime)||null==(p=m.resetAfterFormReset)||p.call(m),e.view.inputArgs.collectionName===v.collection.name&&e.view.inputArgs.onChange&&e.view.inputArgs.onChange(l)),l}if(g instanceof n.MultiRecordResource){let l=g.getMeta("currentFilterByTk");if(!l)return void e.message.error(e.t("No filterByTk found for multi-record resource."));let n=a?await a(C,l):await g.update(l,C,t.requestConfig);return null==(h=v.resetUserModifiedFields)||h.call(v),i(n)??(null==(f=v.getCurrentRecord)?void 0:f.call(v))}}},18357(e,t,l){"use strict";l.d(t,{D9:()=>v,go:()=>g,xT:()=>y}),l(45336),l(69861),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(5409),l(79936),l(34678);var n=l(40098),o=l.n(n),r=l(12197);function i(e,t){var l,n;let o=null==e||null==(n=e.context)||null==(l=n.blockModel)?void 0:l.uid,r=null==t?void 0:t.uid;return!!o&&!!r&&String(o)===String(r)}function a(e){var t,l;let n=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(n)&&n.length)return n;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),n=null==t?void 0:t.fieldPath;if("string"==typeof n&&n)return n}catch{}let o=null==e?void 0:e.fieldPath;if("string"==typeof o&&o)return o;let r="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,i=null==r?void 0:r.name;return"string"==typeof i&&i||Array.isArray(i)&&i.length?i:null}function s(e){return Array.isArray(e)&&e.length&&"string"==typeof e[0]?e:null}function d(e){var t;let l=a(e);return l?s((0,r.IJ)(l,null==e||null==(t=e.context)?void 0:t.fieldIndex)):null}function u(e,t){if(e&&"object"==typeof e&&Array.isArray(t)&&!(t.length<2))for(let l=t.length-1;l>=1;l--){let n=t.slice(0,l);if("number"==typeof n[n.length-1])continue;let r=o().get(e,n);o().isPlainObject(r)&&0===Object.keys(r).length&&o().unset(e,n)}}function c(e,t){(null==e?void 0:e.forEachModel)&&e.forEachModel(e=>{t(e);let l=null==e?void 0:e.forks;l&&"function"==typeof l.forEach&&l.forEach(e=>{e&&!e.disposed&&t(e)})})}function p(e){let t=null==e?void 0:e.flowEngine;if(!(null==t?void 0:t.forEachModel))return[];let l=[],n=new Set;return c(t,t=>{if(!t||"object"!=typeof t||!t.hidden||!i(t,e))return;let o=d(t);if(!o)return;let r=JSON.stringify(o);n.has(r)||(n.add(r),l.push(o))}),l}function m(e){return"string"==typeof e?e?[e]:null:Array.isArray(e)?s(e):null}function h(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length>t.length)return!1;for(let l=0;l<e.length;l++)if(e[l]!==t[l])return!1;return!0}function f(e){let t=null==e?void 0:e.form;if(!t||"function"!=typeof t.getFieldsError)return null;let l=t.getFieldsError();if(!Array.isArray(l))return null;let n=[],o=new Set;for(let e of l){let t=m(null==e?void 0:e.name);if(!t)continue;let l=JSON.stringify(t);o.has(l)||(o.add(l),n.push(t))}if(!n.length)return null;let r=p(e);return r.length?n.filter(e=>!r.some(t=>h(t,e))):n}function g(e){var t,l;return(null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"submitSettings","skipRequiredValidation"))?void 0:t.skipValidator)===!0}async function v(e){let{form:t,blockModel:l,flowSettingsEnabled:n,skipValidator:o}=e;if(o||!t||"function"!=typeof t.validateFields)return;let r=n&&l?f(l):null;if(Array.isArray(r)){r.length&&await t.validateFields(r);return}await t.validateFields()}function y(e,t){if(!e||"object"!=typeof e)return e;let l=p(t);if(!l.length)return e;let n=o().cloneDeep(e);for(let e of l)o().unset(n,e),u(n,e);return n}},29676(e,t,l){"use strict";l.d(t,{F:()=>o});var n=l(87710);function o(e,t){let l=(t,l,n)=>{var o,r,i;return!l||(null==e||null==(i=e.app)||null==(r=i.jsonLogic)||null==(o=r.apply)?void 0:o.call(r,{[l]:[t,n]}))};try{return(0,n.evaluateConditions)((0,n.removeInvalidFilterItems)(t),l)}catch{return!1}}},47632(e,t,l){"use strict";l.d(t,{Dd:()=>d,G:()=>c,Wp:()=>p,x3:()=>u}),l(58149),l(45336),l(79936);var n=l(95243),o=l(11869),r=l(40098),i=l.n(r),a=l(12197);function s(e){return!!e&&"object"==typeof e&&(Array.isArray(e)||i().isPlainObject(e))}function d(e,t){if(t)for(let l of(0,a.ef)(e))t.deps.add(`fv:${l}`)}function u(e){let{valuesMirror:t,collector:l,basePath:o,getFormValuesSnapshot:r,getFormValueAtPath:a}=e,c=()=>o.length?i().get(t,o):t,p=c(),m=p&&("object"==typeof p||"function"==typeof p)?p:Array.isArray(p)?[]:{},h=e=>u({valuesMirror:t,basePath:e,collector:l,getFormValuesSnapshot:r,getFormValueAtPath:a});return new Proxy(m,{get(e,u){if("toJSON"===u)return(l&&(l.wildcard=!0),0===o.length)?()=>r():()=>(0,n.toJS)(c());if("symbol"==typeof u){l&&(l.wildcard=!0);let e=c();return null==e?void 0:e[u]}let p=c();if(null==p)return;if("__raw"===u)return p;if("__proto__"===u||"prototype"===u||"constructor"===u){l&&(l.wildcard=!0);return}let m=Array.isArray(p),f=m&&("number"==typeof u&&Number.isInteger(u)||"string"==typeof u&&/^\d+$/.test(u));if(m&&!f){l&&(l.wildcard=!0);let e=p[u];return"function"==typeof e?e.bind(p):e}let g=[...o,f?Number(u):u];d(g,l);let v=p[u];if(void 0===v){let e=a(g);i().isEqual(e,v)||(i().set(t,g,e),v=e)}return null==v||"object"!=typeof v?v:s(v)?h(g):v},ownKeys(){l&&(l.wildcard=!0);let e=c();return e?Reflect.ownKeys(e):[]},getOwnPropertyDescriptor(e,t){let l=c();if(l)return Object.getOwnPropertyDescriptor(l,t)},has(e,t){let l=c();return!!l&&t in l}})}function c(e,t){try{let l=(0,o.extractUsedVariablePaths)(e)||{};for(let[e,n]of Object.entries(l)){let l=Array.isArray(n)?n:[];for(let n of l.length?l:[""]){if("formValues"===e){if(!n){t.wildcard=!0;continue}let e=(0,a.EA)(String(n)).filter(e=>"object"!=typeof e);d(e,t);continue}let l=n?`ctx:${e}:${String(n)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function p(e,t){if((0,o.isRunJSValue)(e))try{let l=(0,o.extractUsedVariablePathsFromRunJS)(e.code)||{};for(let[e,n]of Object.entries(l)){let l=Array.isArray(n)?n:[];for(let n of l.length?l:[""]){if("formValues"===e){if(!n){t.wildcard=!0;continue}let e=(0,a.EA)(String(n)).filter(e=>"object"!=typeof e);d(e,t);continue}let l=n?`ctx:${e}:${String(n)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}},12197(e,t,l){"use strict";function n(e){let t=[],l=0,n=e.length,o=()=>{let o=l;for(;l<n&&"."!==e[l]&&"["!==e[l];)l++;let r=e.slice(o,l);r&&t.push(r)};for(;l<n;){let r=e[l];if("."===r){l++;continue}if("["===r){let o=++l;for(;l<n&&"]"!==e[l];)l++;let r=e.slice(o,l);l++,/^\d+$/.test(r)?t.push(Number(r)):r&&t.push({placeholder:r});continue}o()}return t}function o(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 r(e,t){let l=Array.isArray(e)?[...e]:n(e),r=o(t),i=[],a=0;for(let e=0;e<l.length;e++){let t=l[e];if("object"==typeof t&&t&&"placeholder"in t){let e=i[i.length-1],t="string"==typeof e?e:void 0;if(!t)return null;for(;a<r.length&&r[a].name!==t;)a++;if(a>=r.length)return null;i.push(r[a].index),a++;continue}if(i.push(t),"string"==typeof t&&a<r.length&&r[a].name===t){let t=l[e+1];"number"==typeof t?a++:"object"==typeof t&&t&&"placeholder"in t||(i.push(r[a].index),a++)}}return i}function i(e){let t="";for(let l of e){if("number"==typeof l){t+=`[${l}]`;continue}t?t+=`.${l}`:t=l}return t}function a(e){return n(e).filter(e=>"object"!=typeof e)}function s(e){let t=[],l=[];for(let n of e)l.push(n),t.push(i(l));return t}l.d(t,{EA:()=>n,IJ:()=>r,Qc:()=>i,c1:()=>a,ef:()=>s}),l(5409),l(45336),l(79936)},65421(e,t,l){"use strict";l.d(t,{Po:()=>i,ao:()=>a,li:()=>r});var n=l(40098),o=l.n(n);let r=20;function i(e){return null==e||("string"==typeof e||Array.isArray(e)?0===e.length:!!o().isPlainObject(e)&&0===Object.keys(e).length)}function a(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}},50314(e,t,l){"use strict";l.d(t,{Co:()=>f,PP:()=>i,S2:()=>h,TE:()=>m,li:()=>d,u4:()=>p}),l(5409),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(45336),l(23446);var n=l(40098),o=l.n(n);function r(){return{logic:"$and",items:[]}}function i(e,t,l){var n;let o=null==e||null==(n=e.getStepParams)?void 0:n.call(e,t,l);return!!o&&Object.prototype.hasOwnProperty.call(o,"value")}function a(e){if(!e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(t&&void 0!==t.initialValue)return t.initialValue}function s(e,t){var l,n;if(e)return null==(n=e.getStepParams)||null==(l=n.call(e,t,"initialValue"))?void 0:l.defaultValue}function d(e){return t=>{if(!t)return;let l=a(t);if(void 0!==l)return l;for(let l of e){let e=s(t,l);if(void 0!==e)return e}}}function u(e,t,l){var n,r,i;if(!(null==e||null==(n=e.stepParams)?void 0:n[t]))return;let a=e.stepParams[t];!a||"object"!=typeof a||Object.prototype.hasOwnProperty.call(a,l)&&(delete a[l],o().isEmpty(a)&&delete e.stepParams[t],null==(i=e.emitter)||null==(r=i.emit)||r.call(i,"onStepParamsChanged"))}function c(e){var t,l;if(!e)return;null==(t=e.setProps)||t.call(e,{initialValue:void 0}),e.props&&Object.prototype.hasOwnProperty.call(e.props,"initialValue")&&delete e.props.initialValue;let n=null==(l=e._options)?void 0:l.props;n&&Object.prototype.hasOwnProperty.call(n,"initialValue")&&delete n.initialValue}function p(e){return t=>{if(t)for(let l of(c(t),e))u(t,l,"initialValue")}}function m(e,t){var l,n,o,i,a;let s=null==e||null==(o=e.subModels)||null==(n=o.grid)||null==(l=n.subModels)?void 0:l.items,d=Array.isArray(s)?s:[],u=[];for(let e of d){let l=(null==e||null==(a=e.getStepParams)||null==(i=a.call(e,"fieldSettings","init"))?void 0:i.fieldPath)||(null==e?void 0:e.fieldPath),n=l?String(l):"";if(!n)continue;let o=t(e);void 0!==o&&u.push({key:`legacy-default:${n}`,enable:!0,targetPath:n,mode:"default",condition:r(),value:o})}return u}function h(e,t){let l=Array.isArray(e)?e:[],n=Array.isArray(t)?t:[];if(!n.length)return l;let o=new Set;for(let e of l){if(!e||"object"!=typeof e)continue;let t=e.targetPath?String(e.targetPath):"";if(t){if("default"===e.mode){o.add(t);continue}String(e.key??"").startsWith("legacy-default:")&&o.add(t)}}let r=new Set(l.map(e=>String(e.key??""))),i=[];for(let e of n){let t=e.targetPath?String(e.targetPath):"";if(!t||o.has(t))continue;let l={...e},n=String(l.key??"");n&&r.has(n)&&(l.key=`${n}:${t}`),i.push(l)}return i.length?[...l,...i]:l}function f(e,t,l){var n,o,r;let i=null==e||null==(r=e.subModels)||null==(o=r.grid)||null==(n=o.subModels)?void 0:n.items,a=Array.isArray(i)?i:[],s=[];for(let e of a)void 0!==t(e)&&(l(e),s.push(e));return s}},26866(e,t,l){"use strict";l.d(t,{$4:()=>a,r5:()=>i}),l(45336),l(23446),l(34678);var n=l(41893);let o="__index__";function r(e,t){if(!t)return null;if(Array.isArray(t)){let l=t.map(t=>null==e?void 0:e[t]);return l.some(e=>null==e)?null:l.map(e=>String(e)).join("__")}let l=null==e?void 0:e[t];return null==l?null:String(l)}function i(e,t){let l=null==e?void 0:e[o];if((null==e?void 0:e.__is_new__)&&null!=l&&""!==l)return`tmp:${String(l)}`;let n=r(e,t);return null!=n?`pk:${n}`:null!=l&&""!==l?`tmp:${String(l)}`:null}function a(e){if(!e.length)return e;let t=!1,l=e.map(e=>{let l=null==e?void 0:e[o];return e.__is_new__&&(null==l||""===l)?(t=!0,{...e,[o]:(0,n.uid)()}):e});return t?l:e}},69586(e,t,l){"use strict";l.d(t,{m:()=>p});var n=l(74848),o=l(11869),r=l(95725),i=l(96540),a=l(44329),s=l(81486),d=l(16860);function u(e){let{value:t,onChange:l,onCompositionStart:o,onCompositionEnd:a,...s}=e,[d,u]=(0,i.useState)(()=>c(t));(0,i.useEffect)(()=>{u(c(t))},[t]);let p=e=>e.currentTarget.value;return(0,n.jsx)(r.A,{...s,value:d,onChange:e=>{u(p(e)),null==l||l(e)},onCompositionStart:e=>{u(p(e)),null==o||o(e)},onCompositionEnd:e=>{u(p(e)),null==a||a(e)}})}function c(e){return"bigint"==typeof e?String(e):null==e?"":e}class p extends s.o{render(){if(this.props.enableScan)return(0,n.jsx)(d.E,{...this.props});let{enableScan:e,disableManualInput:t,...l}=this.props;return(0,n.jsx)(u,{...l})}}p.registerFlow({key:"defaultValueForNanoid",steps:{generateNanoid:{handler(e,t){var l,n;null==(n=e.blockModel)||null==(l=n.emitter)||l.on("onFieldReset",()=>{if("nanoid"===e.collectionField.interface&&!1!==e.collectionField.options.autoFill){let{size:t,customAlphabet:l}=e.collectionField.options||{size:21};e.model.props.onChange((0,a.d_)(l,t)())}})}}}}),p.registerFlow({key:"scanInputSettings",sort:800,title:(0,o.tExpr)("Scan input settings"),steps:{enableScan:{title:(0,o.tExpr)("Enable Scan"),uiMode:{type:"switch",key:"enableScan"},hideInSettings:e=>"readPretty"===e.model.getProps().pattern||e.model.getProps().disabled,defaultParams:e=>({enableScan:!!e.model.props.enableScan}),handler(e,t){e.model.setProps({enableScan:!!t.enableScan,disableManualInput:!!t.enableScan&&e.model.props.disableManualInput})}},disableManualInput:{title:(0,o.tExpr)("Disable manual input"),uiMode:{type:"switch",key:"disableManualInput"},hideInSettings(e){var t,l;let n=null==(t=(l=e.model).getStepParams)?void 0:t.call(l,"scanInputSettings","enableScan");return!(Object.prototype.hasOwnProperty.call(n||{},"enableScan")?!!(null==n?void 0:n.enableScan):!!e.model.props.enableScan)||"readPretty"===e.model.getProps().pattern||!!e.model.getProps().disabled},defaultParams:e=>({disableManualInput:!!e.model.props.disableManualInput}),handler(e,t){e.model.setProps({disableManualInput:!!e.model.props.enableScan&&!!t.disableManualInput})}}}}),p.define({label:(0,o.tExpr)("Input")}),o.EditableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid"],{isDefault:!0}),o.FilterableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid","textarea","markdown","vditor","richText","password","color"],{isDefault:!0})},95267(e,t,l){"use strict";l.d(t,{o:()=>n,e:()=>s}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182);class n{subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async load(){return this.data&&!this.error?this.data:(this.pending||(this.loading=!0,this.notify(),this.pending=this.apiClient.request({url:"systemSettings:get"}).then(e=>(this.data=e.data,this.error=void 0,this.data)).catch(e=>{throw this.error=e,e}).finally(()=>{this.loading=!1,this.pending=void 0,this.notify()})),this.pending)}async refresh(){return this.pending=void 0,this.data=void 0,this.load()}setData(e){this.data=e,this.error=void 0,this.loading=!1,this.notify()}setError(e){this.error=e,this.loading=!1,this.notify()}notify(){for(let e of this.listeners)e()}constructor(e){this.apiClient=e,this.loading=!1,this.listeners=new Set}}l(45336),l(79936),l(23446);var o=l(11869),r=l(2077),i=l(84256),a=l(96540);let s=()=>{var e,t;let l=(0,r.nm)().systemSettings,n=(0,o.useFlowEngine)({throwError:!1}),[,s]=(0,a.useState)(0),d=null==(t=l.data)||null==(e=t.data)?void 0:e.enabledLanguages,u=(0,a.useMemo)(()=>(Array.isArray(d)?d:[]).filter(e=>i.A[e]).map(e=>({label:i.A[e].label,value:e})),[d]);return(0,a.useEffect)(()=>(l.load(),l.subscribe(()=>{s(e=>e+1)})),[l]),(0,a.useEffect)(()=>{n&&n.context.defineProperty("locale",{get:e=>{var t,l,n;return(null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==(n=e.i18n)?void 0:n.language)},cache:!1,meta:{type:"string",title:'{{t("Current language")}}',sort:970,interface:"select",uiSchema:{enum:u,"x-component":"Select"}}})},[n,u]),{loading:l.loading,data:l.data,error:l.error,refresh:()=>l.refresh(),mutate:e=>{Object.prototype.hasOwnProperty.call(e||{},"data")&&l.setData(null==e?void 0:e.data),Object.prototype.hasOwnProperty.call(e||{},"error")&&l.setError(null==e?void 0:e.error)}}}},94130(e,t,l){"use strict";l.d(t,{F3:()=>a,GX:()=>s,b1:()=>d}),l(45336),l(23446),l(79936),l(14324),l(38263);let n={view:"get"},o=e=>e?n[e]||e:null,r=(e,t)=>{for(let l of t){if(!(l in e))continue;let t=e[l];if(null==t)return null;return(Array.isArray(t)?t:[t]).map(e=>o(e)).filter(Boolean)}},i=(e,t)=>{let l=o(t);if(!l||!(null==e?void 0:e.options))return!0;let{availableActions:n,unavailableActions:r}=e.options;return Array.isArray(n)?n.includes(l):!Array.isArray(r)||!r.includes(l)},a=(e,t)=>null==t||!t.length||t.every(t=>i(e,t)),s=e=>{var t;let l=r(e,["capabilityActionNames","capabilityActionName"]);if(void 0!==l)return l;let n=null==e||null==(t=e.prototype)?void 0:t.getAclActionName;if("function"!=typeof n)return null;try{let e=n.call({}),t=o(e);return t?[t]:null}catch{return null}},d=e=>r(e,["blockCapabilityActionNames","blockCapabilityActionName"])??null},42632(e,t,l){"use strict";function n(e){let{blockLabel:t,dsName:l,dsCount:n,collectionTitle:o,sourceCollectionTitle:r,associationTitle:i}=e,a=n>1&&!!l,s=o;if(r&&i){let e=`${r} > ${i} (${o})`;s=`${a?`${l} > `:""}${e}`}else s=`${a?`${l} > `:""}${o}`;return`
3241
3241
  ${t}:
3242
3242
  ${s}`}l.d(t,{l:()=>n})},84759(e,t,l){"use strict";l.d(t,{SM:()=>s,M6:()=>p,Xi:()=>r,hH:()=>m,NY:()=>c,hO:()=>h,lr:()=>n.l,HZ:()=>d});var n=l(42632);l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(5409),l(45336),l(69861);var o=l(11869);async function r(e,t,l,n,r){let i=(null==r?void 0:r.includeSelf)??!0,a=(null==r?void 0:r.includeForks)??!0,s=new Set,d=[e],u=[],c=e=>{e&&"function"==typeof e.dispatchEvent&&u.push(e.dispatchEvent(t,l,n))};for(;d.length;){let t=d.pop();if(!t||s.has(t))continue;if(s.add(t),i||t!==e){var p;c(t),a&&(null==(p=t.forks)?void 0:p.size)&&t.forks.forEach(e=>{null!=e&&e.disposed||c(e)})}let l=t.subModels;if(l)for(let e of Object.values(l))if(Array.isArray(e))for(let t of e)t instanceof o.FlowModel&&d.push(t);else e instanceof o.FlowModel&&d.push(e)}await Promise.all(u)}l(79936);var i=l(22803),a=l(96540);let s=e=>{let t=e.dataLength||0,l=e.pageSize||10,n=e.current||1;return t<l||!e.hasNext?l*n:l*n+1},d=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return(0,i.css)`
3243
3243
  .ant-pagination-simple-pager {
@@ -3301,14 +3301,14 @@ ${o}`,c)}}let n=T(e.issues.filter(e=>"runtime"===e.type)),o=n?`Key runtime issue
3301
3301
  -webkit-line-clamp: 2;
3302
3302
  overflow: hidden;
3303
3303
  margin-bottom: 0;
3304
- `,children:k})})})]})},H=["Data model tools","Data sources","Collections","Collection fields","Blocks","Actions","Workflow","Users & permissions","AI","Authentication","Notification","System management","Security","Architecture","Logging and monitoring","Others"],G=200;function Y(e,t){return!!Array.isArray(e)&&!!Array.isArray(t)&&e.some(e=>t.includes(e))}function J(e){let{items:t,activeKeyword:l,onSelect:o}=e,{t:r}=(0,C.B)();return(0,n.jsx)(s.A,{size:"small",dataSource:t,split:!1,renderItem:e=>(0,n.jsx)(s.A.Item,{style:{padding:"3px 0",cursor:"pointer"},onClick:()=>o(e.key),children:(0,n.jsx)("a",{style:{fontWeight:l===e.key?"bold":"normal"},children:r(e.key)})})})}let X=()=>{let{t:e}=(0,C.B)(),{token:t}=d.A.useToken(),l=(0,F.n)(),s=!!u.Ay.useBreakpoint().md,{data:b=[],loading:k,error:A}=(0,r.A)(async()=>{var e;let t=await l.apiClient.request({url:"pm:list",params:{v2:!0},skipNotify:!0});return Array.isArray(null==t||null==(e=t.data)?void 0:e.data)?t.data.data:[]},{cacheKey:"pm:list"}),M=(0,S.useMemo)(()=>{let e=[...b].reverse();return[{type:"All",list:e},{type:"Built-in",list:w().filter(e,e=>e.builtIn)},{type:"Enabled",list:w().filter(e,e=>e.enabled)},{type:"Not enabled",list:w().filter(e,e=>!e.enabled)},{type:"Problematic",list:w().filter(e,e=>!e.isCompatible)}]},[b]),[j,I]=(0,S.useState)(0),[T,R]=(0,S.useState)(""),[E,N]=(0,S.useState)(null),[D,$]=(0,S.useState)(!1),B=(0,i.A)(T,{wait:100}),O=(0,S.useMemo)(()=>H.map(e=>"Others"===e?{key:e,list:b.filter(e=>!Y(e.keywords,H))}:{key:e,list:b.filter(t=>{var l;return null==(l=t.keywords)?void 0:l.includes(e)})}),[b]),q=(0,S.useMemo)(()=>{var e,t;let l=(null==(e=M[j])?void 0:e.list)||[];if(E){let e=(null==(t=O.find(e=>e.key===E))?void 0:t.list)||[];l=0===j?e:e.filter(e=>l.find(t=>t.name===e.name))}let n=B.toLowerCase().trim();return n&&(l=w().filter(l,e=>String(e.displayName||"").toLowerCase().includes(n)||String(e.description||"").toLowerCase().includes(n))),[...l].sort((e,t)=>(e.displayName||"").localeCompare(t.displayName||""))},[j,M,B,E,O]),L=(0,a.A)(e=>{N(t=>t===e?null:e),$(!1)}),_=(0,a.A)(e=>{R(e.target.value)});if(k)return(0,n.jsx)(c.A,{});let V=(0,n.jsxs)(p.A,{size:t.marginXXS,split:(0,n.jsx)(m.A,{type:"vertical"}),wrap:!0,children:[!s&&(0,n.jsx)(h.A,{trigger:"click",placement:"bottomLeft",open:D,onOpenChange:$,content:(0,n.jsx)("div",{style:{minWidth:180,maxHeight:"60vh",overflowY:"auto"},children:(0,n.jsx)(J,{items:O,activeKeyword:E,onSelect:L})}),children:(0,n.jsx)(f.Ay,{type:"text",size:"small",icon:(0,n.jsx)(o.A,{}),"aria-label":e("Category")})}),M.map((t,l)=>(0,n.jsxs)("a",{role:"button","aria-label":t.type,onClick:()=>I(l),style:{fontWeight:j===l?"bold":"normal"},children:[e(t.type),j===l?`(${q.length})`:null]},t.type))]}),z=(0,n.jsxs)(g.A,{wrap:"wrap",gap:t.margin,align:"center",justify:"space-between",style:{marginBottom:t.marginLG},children:[V,(0,n.jsxs)(g.A,{gap:t.marginSM,align:"center",style:{flex:"1 1 auto",justifyContent:"flex-end"},children:[(0,n.jsx)(v.A,{allowClear:!0,placeholder:e("Search plugin"),onChange:_,style:{flex:"1 1 auto",maxWidth:320,minWidth:160}}),(0,n.jsx)("div",{style:{flexShrink:0},children:(0,n.jsx)(P,{plugins:b})})]})]});return(0,n.jsxs)(n.Fragment,{children:[A?(0,n.jsx)(y.A,{showIcon:!0,type:"error",message:e("Failed to load plugins"),description:A.message,style:{marginBottom:t.marginLG}}):null,z,(0,n.jsxs)(g.A,{gap:t.margin,align:"flex-start",children:[s&&(0,n.jsx)(x.A,{style:{width:G,flexShrink:0},size:"small",children:(0,n.jsx)(J,{items:O,activeKeyword:E,onSelect:L})}),(0,n.jsx)("div",{style:{flex:"1 1 auto",minWidth:0,display:"grid",gap:t.margin,gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))"},children:q.map(e=>(0,n.jsx)(W,{data:e},e.name))})]})]})},Q=X},17586(e,t,l){"use strict";l.d(t,{Bm:()=>r,C9:()=>g,CM:()=>p,O:()=>o,R0:()=>f,Ui:()=>s,X2:()=>h,eD:()=>d,gL:()=>v,jm:()=>i,lv:()=>a,nC:()=>c,p$:()=>u,uT:()=>m}),l(45336),l(23446),l(79936),l(69861),l(5409);var n=l(47767);let o="admin-settings-layout-model",r="plugin-manager",i="system-settings";function a(e){return!!e&&(!!e.link||!!e.componentLoader||!!e.Component&&e.Component!==n.Outlet)}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(e=>{let t=s(e.children||[]);return a(e)||0!==t.length?{...e,children:t.length?t:void 0}:null}).filter(Boolean)}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.filter(e=>!e.hidden).map(e=>{let t=d(e.children||[]);return a(e)||0!==t.length?{...e,children:t.length?t:void 0}:null}).filter(Boolean)}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return[...e].sort((e,t)=>(e.sort||0)!==(t.sort||0)?(e.sort||0)-(t.sort||0):(e.name||"").localeCompare(t.name||""))}function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={},l=e=>{e.forEach(e=>{var n;t[e.path]=e,(null==(n=e.children)?void 0:n.length)&&l(e.children)})};return l(e),t}function p(e,t){let l=Object.keys(e);if(e[t])return e[t];for(let n of l){let l=n.replace(/:[^/]+/g,"([^/]+)");if(t.match(RegExp(`^${l}$`)))return e[n]}let n=l.filter(e=>{let l=e.replace(/:[^/]+/g,"[^/]+");return t.match(RegExp(`^${l}/`))}).sort((e,t)=>t.length-e.length)[0];return n?e[n]:null}function m(e,t){return e.replace(/:\w+/g,e=>{let l=e.substring(1);return(null==t?void 0:t[l])||e})}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(let l of e){var t;if(null==(t=l.children)?void 0:t.length){let e=h(l.children);if(e)return e}if(a(l)&&!l.link)return l}return null}function f(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;for(let n of e){var l;if(n.name===t)return n;if(null==(l=n.children)?void 0:l.length){let e=f(n.children,t);if(e)return e}}return null}function g(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(let e of[i,r]){let n=f(l,e);if(!n)continue;if(a(n)&&!n.link)return n.path;let o=null==(t=h(n.children))?void 0:t.path;if(o)return o}return null==(e=h(l))?void 0:e.path}function v(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.filter(e=>e.isPinned&&!e.hidden),l=e.filter(e=>!e.isPinned&&!e.hidden),n=[];if(t.length&&n.push(...t,{type:"divider"}),l.length&&n.push(...l),0!==n.length)return n.map(e=>{var t;return"divider"===e.type?{type:"divider"}:{key:e.name,label:e.label,title:e.title,icon:e.icon,children:(null==(t=e.children)?void 0:t.length)?v(e.children):void 0}})}},68272(e,t,l){"use strict";l.d(t,{Z:()=>o,p:()=>r});let n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function o(e){return e.replace(/[&<>"']/g,e=>n[e])}function r(e){return null==e||""===e?"":`<span class="nb-app-version">v${o(String(e))}</span>`}},70413(e,t,l){"use strict";function n(e){if(!e)return e;let t="",l=0;for(;l<e.length;){let n=e.slice(l).search(/<iframe\b/i);if(-1===n){t+=e.slice(l);break}let o=l+n;t+=e.slice(l,o);let r=i(e,o);if(-1===r)break;let a=e.slice(o,r+1);if(/\/\s*>$/.test(a)){l=r+1;continue}let s=e.slice(r+1).search(/<\/iframe\s*>/i);if(-1===s)break;l=r+1+s+e.slice(r+1+s).match(/^<\/iframe\s*>/i)[0].length}return t}function o(e){if(!e||"u"<typeof DOMParser)return e;let t=new DOMParser().parseFromString(e,"text/html");return t.querySelectorAll("iframe").forEach(e=>e.remove()),t.body.innerHTML}function r(e){null==e||e.querySelectorAll("iframe").forEach(e=>e.remove())}function i(e,t){let l;for(let n=t;n<e.length;n+=1){let t=e[n];if(l){t===l&&(l=void 0);continue}if('"'===t||"'"===t){l=t;continue}if(">"===t)return n}return -1}l.d(t,{$P:()=>o,VC:()=>r,jR:()=>n}),l(45336),l(69861)},40407(__unused_rspack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,{b:()=>getRequireJs});var core_js_modules_es_error_cause_js__rspack_import_0=__webpack_require__(89773),core_js_modules_es_error_cause_js__rspack_import_0_default=__webpack_require__.n(core_js_modules_es_error_cause_js__rspack_import_0),core_js_modules_es_iterator_constructor_js__rspack_import_1=__webpack_require__(45336),core_js_modules_es_iterator_constructor_js__rspack_import_1_default=__webpack_require__.n(core_js_modules_es_iterator_constructor_js__rspack_import_1),core_js_modules_es_iterator_map_js__rspack_import_2=__webpack_require__(23446),core_js_modules_es_iterator_map_js__rspack_import_2_default=__webpack_require__.n(core_js_modules_es_iterator_map_js__rspack_import_2),core_js_modules_es_array_push_js__rspack_import_3=__webpack_require__(5409),core_js_modules_es_array_push_js__rspack_import_3_default=__webpack_require__.n(core_js_modules_es_array_push_js__rspack_import_3);function getRequireJs(){var requirejs,require,define,req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.6",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!!("u">typeof window&&"u">typeof navigator&&window.document),isWebWorker=!isBrowser&&"u">typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="u">typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e){var l;for(l=0;l<e.length&&!(e[l]&&t(e[l],l,e));l+=1);}}function eachReverse(e,t){if(e){var l;for(l=e.length-1;l>-1&&!(e[l]&&t(e[l],l,e));l-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var l;for(l in e)if(hasProp(e,l)&&t(e[l],l))break}function mixin(e,t,l,n){return t&&eachProp(t,function(t,o){(l||!hasProp(e,o))&&(!n||"object"!=typeof t||!t||isArray(t)||isFunction(t)||t instanceof RegExp?e[o]=t:(e[o]||(e[o]={}),mixin(e[o],t,l,n)))}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=__webpack_require__.g;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,l,n){var o=Error(t+"\nhttps://requirejs.org/docs/errors.html#"+e);return o.requireType=e,o.requireModules=n,l&&(o.originalError=l),o}if(void 0===define){if(void 0!==requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}return void 0===require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,l,n){var o,r,i=defContextName;return isArray(e)||"string"==typeof e||(r=e,isArray(t)?(e=t,t=l,l=n):e=[]),r&&r.context&&(i=r.context),(o=getOwn(contexts,i))||(o=contexts[i]=req.s.newContext(i)),r&&o.configure(r),o.require(e,t,l)},req.config=function(e){return req(e)},req.nextTick="u">typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],(baseElement=document.getElementsByTagName("base")[0])&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,l){var n=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return n.type=e.scriptType||"text/javascript",n.charset="utf-8",n.async=!0,n},req.load=function(e,t,l){var n,o=e&&e.config||{};if(isBrowser)return(n=req.createNode(o,t,l)).setAttribute("data-requirecontext",e.contextName),n.setAttribute("data-requiremodule",t),!n.attachEvent||n.attachEvent.toString&&0>n.attachEvent.toString().indexOf("[native code")||isOpera?(n.addEventListener("load",e.onScriptLoad,!1),n.addEventListener("error",e.onScriptError,!1)):(useInteractive=!0,n.attachEvent("onreadystatechange",e.onScriptLoad)),n.src=l,o.onNodeCreated&&o.onNodeCreated(n,o,t,l),currentlyAddingScript=n,baseElement?head.insertBefore(n,baseElement):head.appendChild(n),currentlyAddingScript=null,n;if(isWebWorker)try{setTimeout(function(){},0),importScripts(l),e.completeLoad(t)}catch(n){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+l,n,[t]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||-1!==mainScript.indexOf("!")||(mainScript=(src=mainScript.split("/")).pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,l){var n,o;"string"!=typeof e&&(l=t,t=e,e=null),isArray(t)||(l=t,t=null),!t&&isFunction(l)&&(t=[],l.length&&(l.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(e,l){t.push(l)}),t=(1===l.length?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(n=currentlyAddingScript||getInteractiveScript())&&(e||(e=n.getAttribute("data-requiremodule")),o=contexts[n.getAttribute("data-requirecontext")]),o?(o.defQueue.push([e,t,l]),o.defQueueMap[e]=!0):globalDefQueue.push([e,t,l])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg),{requirejs,require,define}}function newContext(e){var t,l,n,o,r,i={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},a={},s={},d={},u=[],c={},p={},m={},h=1,f=1;function g(e){var t,l;for(t=0;t<e.length;t++)if("."===(l=e[t]))e.splice(t,1),t-=1;else if(".."===l)if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;else t>0&&(e.splice(t-1,2),t-=2)}function v(e,t,l){var n,o,r,a,s,d,u,c,p,m,h,f=t&&t.split("/"),v=i.map,y=v&&v["*"];if(e&&(u=(e=e.split("/")).length-1,i.nodeIdCompat&&jsSuffixRegExp.test(e[u])&&(e[u]=e[u].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&f&&(e=f.slice(0,f.length-1).concat(e)),g(e),e=e.join("/")),l&&v&&(f||y)){r=e.split("/");e:for(a=r.length;a>0;a-=1){if(d=r.slice(0,a).join("/"),f){for(s=f.length;s>0;s-=1)if((o=getOwn(v,f.slice(0,s).join("/")))&&(o=getOwn(o,d))){c=o,p=a;break e}}!m&&y&&getOwn(y,d)&&(m=getOwn(y,d),h=a)}!c&&m&&(c=m,p=h),c&&(r.splice(0,p,c),e=r.join("/"))}return(n=getOwn(i.pkgs,e))||e}function y(e){isBrowser&&each(scripts(),function(t){if(t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===n.contextName)return t.parentNode.removeChild(t),!0})}function x(e){var t=getOwn(i.paths,e);if(t&&isArray(t)&&t.length>1)return t.shift(),n.require.undef(e),n.makeRequire(null,{skipMap:!0})([e]),!0}function b(e){var t,l=e?e.indexOf("!"):-1;return l>-1&&(t=e.substring(0,l),e=e.substring(l+1,e.length)),[t,e]}function w(e,t,l,o){var r,i,a,s,d=null,u=t?t.name:null,p=e,m=!0,g="";return e||(m=!1,e="_@r"+(h+=1)),d=(s=b(e))[0],e=s[1],d&&(i=getOwn(c,d=v(d,u,o))),e&&(d?g=l?e:i&&i.normalize?i.normalize(e,function(e){return v(e,u,o)}):-1===e.indexOf("!")?v(e,u,o):e:(d=(s=b(g=v(e,u,o)))[0],g=s[1],l=!0,r=n.nameToUrl(g))),a=!d||i||l?"":"_unnormalized"+(f+=1),{prefix:d,name:g,parentMap:t,unnormalized:!!a,url:r,originalName:p,isDefine:m,id:(d?d+"!"+g:g)+a}}function S(e){var t=e.id,l=getOwn(a,t);return l||(l=a[t]=new n.Module(e)),l}function C(e,t,l){var n=e.id,o=getOwn(a,n);hasProp(c,n)&&(!o||o.defineEmitComplete)?"defined"===t&&l(c[n]):(o=S(e)).error&&"error"===t?l(o.error):o.on(t,l)}function F(e,t){var l=e.requireModules,n=!1;t?t(e):(each(l,function(t){var l=getOwn(a,t);l&&(l.error=e,l.events.error&&(n=!0,l.emit("error",e)))}),n||req.onError(e))}function k(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(n.defQueueMap[t]=!0),u.push(e)}),globalDefQueue=[])}function A(e){delete a[e],delete s[e]}function P(e,t,l){var n=e.map.id;e.error?e.emit("error",e.error):(t[n]=!0,each(e.depMaps,function(n,o){var r=n.id,i=getOwn(a,r);!i||e.depMatched[o]||l[r]||(getOwn(t,r)?(e.defineDep(o,c[r]),e.check()):P(i,t,l))}),l[n]=!0)}function M(){var e,l,o=1e3*i.waitSeconds,a=o&&n.startTime+o<new Date().getTime(),d=[],u=[],c=!1,p=!0;if(!t){if(t=!0,eachProp(s,function(e){var t=e.map,n=t.id;if(e.enabled&&(t.isDefine||u.push(e),!e.error)){if(!e.inited&&a)x(n)?(l=!0,c=!0):(d.push(n),y(n));else if(!e.inited&&e.fetched&&t.isDefine&&(c=!0,!t.prefix))return p=!1}}),a&&d.length)return(e=makeError("timeout","Load timeout for modules: "+d,null,d)).contextName=n.contextName,F(e);p&&each(u,function(e){P(e,{},{})}),(!a||l)&&c&&(isBrowser||isWebWorker)&&!r&&(r=setTimeout(function(){r=0,M()},50)),t=!1}}function j(e){hasProp(c,e[0])||S(w(e[0],null,!0)).init(e[1],e[2])}function I(e,t,l,n){e.detachEvent&&!isOpera?n&&e.detachEvent(n,t):e.removeEventListener(l,t,!1)}function T(e){var t=e.currentTarget||e.srcElement;return I(t,n.onScriptLoad,"load","onreadystatechange"),I(t,n.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function R(){var e;for(k();u.length;){if(null===(e=u.shift())[0])return F(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));j(e)}n.defQueueMap={}}return o={require:function(e){return e.require?e.require:e.require=n.makeRequire(e.map)},exports:function(e){if(e.usingExports=!0,e.map.isDefine)if(e.exports)return c[e.map.id]=e.exports;else return e.exports=c[e.map.id]={}},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(i.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},(l=function(e){this.events=getOwn(d,e.id)||{},this.map=e,this.shim=getOwn(i.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0}).prototype={init:function(e,t,l,n){n=n||{},this.inited||(this.factory=t,l?this.on("error",l):this.events.error&&(l=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=l,this.inited=!0,this.ignore=n.ignore,n.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,n.startTime=new Date().getTime();var e=this.map;if(!this.shim)return e.prefix?this.callPlugin():this.load();n.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;p[e]||(p[e]=!0,n.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,l=this.map.id,o=this.depExports,r=this.exports,i=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(i)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{r=n.execCb(l,i,o,r)}catch(t){e=t}else r=n.execCb(l,i,o,r);if(this.map.isDefine&&void 0===r&&((t=this.module)?r=t.exports:this.usingExports&&(r=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",F(this.error=e)}else r=i;if(this.exports=r,this.map.isDefine&&!this.ignore&&(c[l]=r,req.onResourceLoad)){var a=[];each(this.depMaps,function(e){a.push(e.normalizedMap||e)}),req.onResourceLoad(n,this.map,a)}A(l),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(n.defQueueMap,l)||this.fetch()}},callPlugin:function(){var e=this.map,t=e.id,l=w(e.prefix);this.depMaps.push(l),C(l,"defined",bind(this,function(l){var o,r,s,d=getOwn(m,this.map.id),u=this.map.name,c=this.map.parentMap?this.map.parentMap.name:null,p=n.makeRequire(e.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){l.normalize&&(u=l.normalize(u,function(e){return v(e,c,!0)})||""),C(r=w(e.prefix+"!"+u,this.map.parentMap,!0),"defined",bind(this,function(e){this.map.normalizedMap=r,this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),(s=getOwn(a,r.id))&&(this.depMaps.push(r),this.events.error&&s.on("error",bind(this,function(e){this.emit("error",e)})),s.enable());return}if(d){this.map.url=n.nameToUrl(d),this.load();return}(o=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})})).error=bind(this,function(e){this.inited=!0,this.error=e,e.requireModules=[t],eachProp(a,function(e){0===e.map.id.indexOf(t+"_unnormalized")&&A(e.map.id)}),F(e)}),o.fromText=bind(this,function(l,r){var a=e.name,s=w(a),d=useInteractive;r&&(l=r),d&&(useInteractive=!1),S(s),hasProp(i.config,t)&&(i.config[a]=i.config[t]);try{req.exec(l)}catch(e){return F(makeError("fromtexteval","fromText eval for "+t+" failed: "+e,e,[t]))}d&&(useInteractive=!0),this.depMaps.push(s),n.completeLoad(a),p([a],o)}),l.load(e.name,p,o,i)})),n.enable(l,this),this.pluginMaps[l.id]=l},enable:function(){s[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var l,r,i;if("string"==typeof e){if(e=w(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,i=getOwn(o,e.id)){this.depExports[t]=i(this);return}this.depCount+=1,C(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?C(e,"error",bind(this,this.errback)):this.events.error&&C(e,"error",bind(this,function(e){this.emit("error",e)}))}r=a[l=e.id],hasProp(o,l)||!r||r.enabled||n.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(a,e.id);t&&!t.enabled&&n.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var l=this.events[e];l||(l=this.events[e]=[]),l.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},(n={config:i,contextName:e,registry:a,defined:c,urlFetched:p,defQueue:u,defQueueMap:{},Module:l,makeModuleMap:w,nextTick:req.nextTick,onError:F,configure:function(e){if(e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/"),"string"==typeof e.urlArgs){var t=e.urlArgs;e.urlArgs=function(e,l){return(-1===l.indexOf("?")?"?":"&")+t}}var l=i.shim,o={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){o[t]?(i[t]||(i[t]={}),mixin(i[t],e,!0,!0)):i[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(m[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),(e.exports||e.init)&&!e.exportsFn&&(e.exportsFn=n.makeShimExports(e)),l[t]=e}),i.shim=l),e.packages&&each(e.packages,function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(i.paths[t]=e.location),i.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(a,function(e,t){e.inited||e.map.unnormalized||(e.map=w(t,null,!0))}),(e.deps||e.callback)&&n.require(e.deps||[],e.callback)},makeShimExports:function(e){return function(){var t;return e.init&&(t=e.init.apply(__webpack_require__.g,arguments)),t||e.exports&&getGlobal(e.exports)}},makeRequire:function(t,l){function r(i,s,d){var u,p;return(l.enableBuildCallback&&s&&isFunction(s)&&(s.__requireJsBuild=!0),"string"==typeof i)?isFunction(s)?F(makeError("requireargs","Invalid require call"),d):t&&hasProp(o,i)?o[i](a[t.id]):req.get?req.get(n,i,t,r):hasProp(c,u=w(i,t,!1,!0).id)?c[u]:F(makeError("notloaded",'Module name "'+u+'" has not been loaded yet for context: '+e+(t?"":". Use require([])"))):(R(),n.nextTick(function(){R(),(p=S(w(null,t))).skipMap=l.skipMap,p.init(i,s,d,{enabled:!0}),M()}),r)}return l=l||{},mixin(r,{isBrowser:isBrowser,toUrl:function(e){var l,o=e.lastIndexOf("."),r=e.split("/")[0],i="."===r||".."===r;return -1!==o&&(!i||o>1)&&(l=e.substring(o,e.length),e=e.substring(0,o)),n.nameToUrl(v(e,t&&t.id,!0),l,!0)},defined:function(e){return hasProp(c,w(e,t,!1,!0).id)},specified:function(e){return hasProp(c,e=w(e,t,!1,!0).id)||hasProp(a,e)}}),t||(r.undef=function(e){k();var l=w(e,t,!0),o=getOwn(a,e);o.undefed=!0,y(e),delete c[e],delete p[l.url],delete d[e],eachReverse(u,function(t,l){t[0]===e&&u.splice(l,1)}),delete n.defQueueMap[e],o&&(o.events.defined&&(d[e]=o.events),A(e))}),r},enable:function(e){getOwn(a,e.id)&&S(e).enable()},completeLoad:function(e){var t,l,o,r=getOwn(i.shim,e)||{},s=r.exports;for(k();u.length;){if(null===(l=u.shift())[0]){if(l[0]=e,t)break;t=!0}else l[0]===e&&(t=!0);j(l)}if(n.defQueueMap={},o=getOwn(a,e),!t&&!hasProp(c,e)&&o&&!o.inited)if(!i.enforceDefine||s&&getGlobal(s))j([e,r.deps||[],r.exportsFn]);else if(x(e))return;else return F(makeError("nodefine","No define call for "+e,null,[e]));M()},nameToUrl:function(e,t,l){var o,r,a,s,d,u,c=getOwn(i.pkgs,e);if(c&&(e=c),u=getOwn(m,e))return n.nameToUrl(u,t,l);if(req.jsExtRegExp.test(e))s=e+(t||"");else{for(o=i.paths,a=(r=e.split("/")).length;a>0;a-=1)if(d=getOwn(o,r.slice(0,a).join("/"))){isArray(d)&&(d=d[0]),r.splice(0,a,d);break}s=r.join("/"),s+=t||(/^data\:|^blob\:|\?/.test(s)||/\.js(?:$|[?#])/.test(s)||l?"":".js"),s=("/"===s.charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":i.baseUrl)+s}return i.urlArgs&&!/^blob\:/.test(s)?s+i.urlArgs(e,s):s},load:function(e,t){req.load(n,e,t)},execCb:function(e,t,l,n){return t.apply(n,l)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=T(e);n.completeLoad(t.id)}},onScriptError:function(e){var t=T(e);if(!x(t.id)){var l=[];return eachProp(a,function(e,n){0!==n.indexOf("_@r")&&each(e.depMaps,function(e){if(e.id===t.id)return l.push(n),!0})}),F(makeError("scripterror",'Script error for "'+t.id+(l.length?'", needed by: '+l.join(", "):'"'),e,[t.id]))}}}).require=n.makeRequire(),n}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState||eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript}}},63128(e,t,l){"use strict";l.d(t,{x:()=>o}),l(58149);var n=l(99418);class o{get innerHTML(){return this.__el.innerHTML}set innerHTML(e){this.__el.innerHTML=n.A.sanitize(e)}get outerHTML(){return this.__el.outerHTML}set outerHTML(e){this.__el.outerHTML=n.A.sanitize(e)}appendChild(e){(e instanceof HTMLElement||"string"==typeof e)&&this.__el.appendChild("string"==typeof e?document.createTextNode(e):e)}constructor(e){return this.__el=e,new Proxy(this,{get:(e,t,l)=>{if(t in e){let n=Reflect.get(e,t,l);return"function"==typeof n?n.bind(l):n}let n=e.__el[t];return"function"==typeof n?n.bind(e.__el):n},set:(e,t,l,n)=>{let r=Object.getOwnPropertyDescriptor(o.prototype,t);return r&&"function"==typeof r.set?r.set.call(n,l):e.__el[t]=l,!0}})}}},52568(e,t,l){"use strict";l.d(t,{$K:()=>d,Dv:()=>a,MQ:()=>p,PC:()=>i,Vy:()=>c,Ww:()=>u,YQ:()=>s,bc:()=>r});var n=l(74848),o=l(96540);let r=(0,o.createContext)(null),i=(0,o.createContext)(null);function a(e){return(0,n.jsx)(r.Provider,{value:e.context,children:e.children})}let s=o.memo(e=>(0,n.jsx)(i.Provider,{value:e.context,children:(0,n.jsx)(r.Provider,{value:e.context,children:e.children})}));function d(){return(0,o.useContext)(r)}function u(){return(0,o.useContext)(i)}function c(){return d().view}function p(){return d().viewer}s.displayName="FlowViewContextProvider"},68161(e,t,l){"use strict";l.d(t,{G:()=>i,z:()=>a}),l(45336),l(23446),l(89773),l(79936),l(5409),l(69861),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var n=l(95243),o=l(2543),r=l.n(o);class i{get key(){return this.options.key}get title(){return this.options.title}set title(e){this.options.title=e}get sort(){return this.options.sort}get on(){return this.options.on}set on(e){this.options.on=e}get defaultParams(){return this.options.defaultParams}get manual(){return this.options.manual}set manual(e){this.options.manual=e}get steps(){let e={};for(let[t,l]of this.getSortedSteps())e[t]=l.serialize();return e}getSortedSteps(){return[...this._steps.entries()].sort((e,t)=>{let[,l]=e,[,n]=t;return(l.serialize().sort??0)-(n.serialize().sort??0)})}setOptions(e){Object.assign(this.options,e)}getSteps(){return this._steps}mapSteps(e){return this.getSortedSteps().map(t=>{let[,l]=t;return e(l)})}getStep(e){return this._steps.get(e)}addStep(e,t){let l=this._steps.get(e);if(l)return l.setOptions(t),l;{if(void 0===t.sort){let e=Math.max(0,...Array.from(this._steps.values()).map(e=>e.serialize().sort??0));t={...t,sort:e+1}}let l=new a({...t,key:e},this);return this._steps.set(e,l),l}}setStep(e,t){return this.addStep(e,t)}hasStep(e){return this._steps.has(e)}moveStep(e,t){if(!this._steps.has(e))throw Error(`Source step '${e}' not found`);if(!this._steps.has(t))throw Error(`Target step '${t}' not found`);if(e===t)return;let l=this.getSortedSteps(),n=[],o=l.filter(t=>{let[l]=t;return l!==e}),r=this._steps.get(e);for(let[l,i]of o)l===t&&n.push([e,r]),n.push([l,i]);n.forEach((e,t)=>{let[l,n]=e;n.setOptions({sort:t+1})})}removeStep(e){this._steps.delete(e)}async saveStep(e){await this.flowRegistry.saveFlow(this)}async destroyStep(e){this.removeStep(e),await this.flowRegistry.saveFlow(this)}async save(){await this.flowRegistry.saveFlow(this)}async destroy(){await this.flowRegistry.destroyFlow(this.key)}remove(){return this.flowRegistry.removeFlow(this.key)}toData(){return this.serialize()}serialize(){let e={...this.options};for(let[t,l]of this.getSortedSteps())e.steps=e.steps||{},e.steps[t]={...l.serialize()};return e}constructor(e,t){for(const[l,o]of(this.flowRegistry=t,this._steps=n.observable.shallow(new Map),this.options=n.observable.shallow(r().omit(e,["steps"])),Object.entries(e.steps||{})))this.addStep(l,o)}}class a{setOptions(e){Object.assign(this.options,e)}get key(){return this.options.key}get flowKey(){return this.flowDef.key}get title(){return this.options.title}set title(e){this.options.title=e}get uiSchema(){return this.options.uiSchema}get defaultParams(){return this.options.defaultParams||{}}set defaultParams(e){this.options.defaultParams=e}get use(){return this.options.use}async save(){return this.flowDef.save()}async remove(){return this.flowDef.removeStep(this.key)}async destroy(){return this.flowDef.destroyStep(this.key)}serialize(){return{...this.options,flowKey:this.flowDef.key}}constructor(e,t){this.flowDef=t,this.options=n.observable.shallow(e)}}},91013(e,t,l){"use strict";l.d(t,{I$:()=>p,RU:()=>o,iU:()=>i}),l(45336),l(69861),l(89773),l(14324),l(67980);var n=l(31108);function o(e){return"boolean"==typeof(null==e?void 0:e.preprocessTemplates)?e.preprocessTemplates:(null==e?void 0:e.version)!=="v2"}let r=["fetch","localStorage","sessionStorage","XMLHttpRequest","WebSocket","Worker","SharedWorker","ServiceWorker","BroadcastChannel","EventSource","indexedDB","caches","Function","eval","globalThis","Intl","Blob","URL","location"],i=["ctx","console","window","document","navigator","setTimeout","clearTimeout","setInterval","clearInterval","Array","ArrayBuffer","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","Error","EvalError","FinalizationRegistry","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Map","Math","Number","Object","Promise","Proxy","RangeError","ReferenceError","Reflect","RegExp","Set","String","Symbol","SyntaxError","TypeError","URIError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","JSON","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","isFinite","isNaN","parseFloat","parseInt","undefined","NaN","Infinity",...r];function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.window;if(!t||"object"!=typeof t)return{};let l=t,n={};return r.forEach(o=>{if(!Object.prototype.hasOwnProperty.call(e,o))try{let e=l[o];if(void 0===e)return;n[o]="fetch"===o&&"function"==typeof e?e.bind(t):e}catch{}}),n}let s=/(^|[=(:,[\s)])(\{\{\s*(ctx(?:\.|\[|\?\.)[^}]*)\s*\}\})/m;function d(e){let t=String(e||"").match(s);if(!t)return null;let l=String(t[2]||"").trim(),n=String(t[3]||"").trim();return l&&n?{placeholder:l,expression:n}:null}function u(e,t){if(!(e instanceof SyntaxError||"SyntaxError"===String((null==e?void 0:e.name)||""))||!t)return!1;let l=String((null==e?void 0:e.message)||e||"");return/unexpected token/i.test(l)}function c(e,t){let l=SyntaxError(`"${t.placeholder}" has been deprecated and cannot be used as executable RunJS syntax. Use await ctx.getVar("${t.expression}") instead, or keep "${t.placeholder}" as a plain string.`);try{l.cause=e}catch(e){}try{l.__runjsHideLocation=!0,l.stack=`${l.name}: ${l.message}`}catch(e){}return l}class p{register(e,t){this.globals[e]=t}async run(e){let t="u">typeof location?location.search:void 0;if("string"==typeof t&&t.includes("skipRunJs=true"))return{success:!0,value:null};let l=`(async () => {
3304
+ `,children:k})})})]})},H=["Data model tools","Data sources","Collections","Collection fields","Blocks","Actions","Workflow","Users & permissions","AI","Authentication","Notification","System management","Security","Architecture","Logging and monitoring","Others"],G=200;function Y(e,t){return!!Array.isArray(e)&&!!Array.isArray(t)&&e.some(e=>t.includes(e))}function J(e){let{items:t,activeKeyword:l,onSelect:o}=e,{t:r}=(0,C.B)();return(0,n.jsx)(s.A,{size:"small",dataSource:t,split:!1,renderItem:e=>(0,n.jsx)(s.A.Item,{style:{padding:"3px 0",cursor:"pointer"},onClick:()=>o(e.key),children:(0,n.jsx)("a",{style:{fontWeight:l===e.key?"bold":"normal"},children:r(e.key)})})})}let X=()=>{let{t:e}=(0,C.B)(),{token:t}=d.A.useToken(),l=(0,F.n)(),s=!!u.Ay.useBreakpoint().md,{data:b=[],loading:k,error:A}=(0,r.A)(async()=>{var e;let t=await l.apiClient.request({url:"pm:list",params:{v2:!0},skipNotify:!0});return Array.isArray(null==t||null==(e=t.data)?void 0:e.data)?t.data.data:[]},{cacheKey:"pm:list"}),M=(0,S.useMemo)(()=>{let e=[...b].reverse();return[{type:"All",list:e},{type:"Built-in",list:w().filter(e,e=>e.builtIn)},{type:"Enabled",list:w().filter(e,e=>e.enabled)},{type:"Not enabled",list:w().filter(e,e=>!e.enabled)},{type:"Problematic",list:w().filter(e,e=>!e.isCompatible)}]},[b]),[j,I]=(0,S.useState)(0),[T,R]=(0,S.useState)(""),[E,N]=(0,S.useState)(null),[D,$]=(0,S.useState)(!1),B=(0,i.A)(T,{wait:100}),O=(0,S.useMemo)(()=>H.map(e=>"Others"===e?{key:e,list:b.filter(e=>!Y(e.keywords,H))}:{key:e,list:b.filter(t=>{var l;return null==(l=t.keywords)?void 0:l.includes(e)})}),[b]),q=(0,S.useMemo)(()=>{var e,t;let l=(null==(e=M[j])?void 0:e.list)||[];if(E){let e=(null==(t=O.find(e=>e.key===E))?void 0:t.list)||[];l=0===j?e:e.filter(e=>l.find(t=>t.name===e.name))}let n=B.toLowerCase().trim();return n&&(l=w().filter(l,e=>String(e.displayName||"").toLowerCase().includes(n)||String(e.description||"").toLowerCase().includes(n))),[...l].sort((e,t)=>(e.displayName||"").localeCompare(t.displayName||""))},[j,M,B,E,O]),L=(0,a.A)(e=>{N(t=>t===e?null:e),$(!1)}),_=(0,a.A)(e=>{R(e.target.value)});if(k)return(0,n.jsx)(c.A,{});let V=(0,n.jsxs)(p.A,{size:t.marginXXS,split:(0,n.jsx)(m.A,{type:"vertical"}),wrap:!0,children:[!s&&(0,n.jsx)(h.A,{trigger:"click",placement:"bottomLeft",open:D,onOpenChange:$,content:(0,n.jsx)("div",{style:{minWidth:180,maxHeight:"60vh",overflowY:"auto"},children:(0,n.jsx)(J,{items:O,activeKeyword:E,onSelect:L})}),children:(0,n.jsx)(f.Ay,{type:"text",size:"small",icon:(0,n.jsx)(o.A,{}),"aria-label":e("Category")})}),M.map((t,l)=>(0,n.jsxs)("a",{role:"button","aria-label":t.type,onClick:()=>I(l),style:{fontWeight:j===l?"bold":"normal"},children:[e(t.type),j===l?`(${q.length})`:null]},t.type))]}),z=(0,n.jsxs)(g.A,{wrap:"wrap",gap:t.margin,align:"center",justify:"space-between",style:{marginBottom:t.marginLG},children:[V,(0,n.jsxs)(g.A,{gap:t.marginSM,align:"center",style:{flex:"1 1 auto",justifyContent:"flex-end"},children:[(0,n.jsx)(v.A,{allowClear:!0,placeholder:e("Search plugin"),onChange:_,style:{flex:"1 1 auto",maxWidth:320,minWidth:160}}),(0,n.jsx)("div",{style:{flexShrink:0},children:(0,n.jsx)(P,{plugins:b})})]})]});return(0,n.jsxs)(n.Fragment,{children:[A?(0,n.jsx)(y.A,{showIcon:!0,type:"error",message:e("Failed to load plugins"),description:A.message,style:{marginBottom:t.marginLG}}):null,z,(0,n.jsxs)(g.A,{gap:t.margin,align:"flex-start",children:[s&&(0,n.jsx)(x.A,{style:{width:G,flexShrink:0},size:"small",children:(0,n.jsx)(J,{items:O,activeKeyword:E,onSelect:L})}),(0,n.jsx)("div",{style:{flex:"1 1 auto",minWidth:0,display:"grid",gap:t.margin,gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))"},children:q.map(e=>(0,n.jsx)(W,{data:e},e.name))})]})]})},Q=X},17586(e,t,l){"use strict";l.d(t,{Bm:()=>r,C9:()=>g,CM:()=>p,O:()=>o,R0:()=>f,Ui:()=>s,X2:()=>h,eD:()=>d,gL:()=>v,jm:()=>i,lv:()=>a,nC:()=>c,p$:()=>u,uT:()=>m}),l(45336),l(23446),l(79936),l(69861),l(5409);var n=l(47767);let o="admin-settings-layout-model",r="plugin-manager",i="system-settings";function a(e){return!!e&&(!!e.link||!!e.componentLoader||!!e.Component&&e.Component!==n.Outlet)}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(e=>{let t=s(e.children||[]);return a(e)||0!==t.length?{...e,children:t.length?t:void 0}:null}).filter(Boolean)}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.filter(e=>!e.hidden).map(e=>{let t=d(e.children||[]);return a(e)||0!==t.length?{...e,children:t.length?t:void 0}:null}).filter(Boolean)}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return[...e].sort((e,t)=>(e.sort||0)!==(t.sort||0)?(e.sort||0)-(t.sort||0):(e.name||"").localeCompare(t.name||""))}function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={},l=e=>{e.forEach(e=>{var n;t[e.path]=e,(null==(n=e.children)?void 0:n.length)&&l(e.children)})};return l(e),t}function p(e,t){let l=Object.keys(e);if(e[t])return e[t];for(let n of l){let l=n.replace(/:[^/]+/g,"([^/]+)");if(t.match(RegExp(`^${l}$`)))return e[n]}let n=l.filter(e=>{let l=e.replace(/:[^/]+/g,"[^/]+");return t.match(RegExp(`^${l}/`))}).sort((e,t)=>t.length-e.length)[0];return n?e[n]:null}function m(e,t){return e.replace(/:\w+/g,e=>{let l=e.substring(1);return(null==t?void 0:t[l])||e})}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(let l of e){var t;if(null==(t=l.children)?void 0:t.length){let e=h(l.children);if(e)return e}if(a(l)&&!l.link)return l}return null}function f(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;for(let n of e){var l;if(n.name===t)return n;if(null==(l=n.children)?void 0:l.length){let e=f(n.children,t);if(e)return e}}return null}function g(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(let e of[i,r]){let n=f(l,e);if(!n)continue;if(a(n)&&!n.link)return n.path;let o=null==(t=h(n.children))?void 0:t.path;if(o)return o}return null==(e=h(l))?void 0:e.path}function v(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.filter(e=>e.isPinned&&!e.hidden),l=e.filter(e=>!e.isPinned&&!e.hidden),n=[];if(t.length&&n.push(...t,{type:"divider"}),l.length&&n.push(...l),0!==n.length)return n.map(e=>{var t;return"divider"===e.type?{type:"divider"}:{key:e.name,label:e.label,title:e.title,icon:e.icon,children:(null==(t=e.children)?void 0:t.length)?v(e.children):void 0}})}},68272(e,t,l){"use strict";l.d(t,{Z:()=>o,p:()=>r});let n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function o(e){return e.replace(/[&<>"']/g,e=>n[e])}function r(e){return null==e||""===e?"":`<span class="nb-app-version">v${o(String(e))}</span>`}},70413(e,t,l){"use strict";function n(e){if(!e)return e;let t="",l=0;for(;l<e.length;){let n=e.slice(l).search(/<iframe\b/i);if(-1===n){t+=e.slice(l);break}let o=l+n;t+=e.slice(l,o);let r=i(e,o);if(-1===r)break;let a=e.slice(o,r+1);if(/\/\s*>$/.test(a)){l=r+1;continue}let s=e.slice(r+1).search(/<\/iframe\s*>/i);if(-1===s)break;l=r+1+s+e.slice(r+1+s).match(/^<\/iframe\s*>/i)[0].length}return t}function o(e){if(!e||"u"<typeof DOMParser)return e;let t=new DOMParser().parseFromString(e,"text/html");return t.querySelectorAll("iframe").forEach(e=>e.remove()),t.body.innerHTML}function r(e){null==e||e.querySelectorAll("iframe").forEach(e=>e.remove())}function i(e,t){let l;for(let n=t;n<e.length;n+=1){let t=e[n];if(l){t===l&&(l=void 0);continue}if('"'===t||"'"===t){l=t;continue}if(">"===t)return n}return -1}l.d(t,{$P:()=>o,VC:()=>r,jR:()=>n}),l(45336),l(69861)},40407(__unused_rspack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,{b:()=>getRequireJs});var core_js_modules_es_error_cause_js__rspack_import_0=__webpack_require__(89773),core_js_modules_es_error_cause_js__rspack_import_0_default=__webpack_require__.n(core_js_modules_es_error_cause_js__rspack_import_0),core_js_modules_es_iterator_constructor_js__rspack_import_1=__webpack_require__(45336),core_js_modules_es_iterator_constructor_js__rspack_import_1_default=__webpack_require__.n(core_js_modules_es_iterator_constructor_js__rspack_import_1),core_js_modules_es_iterator_map_js__rspack_import_2=__webpack_require__(23446),core_js_modules_es_iterator_map_js__rspack_import_2_default=__webpack_require__.n(core_js_modules_es_iterator_map_js__rspack_import_2),core_js_modules_es_array_push_js__rspack_import_3=__webpack_require__(5409),core_js_modules_es_array_push_js__rspack_import_3_default=__webpack_require__.n(core_js_modules_es_array_push_js__rspack_import_3);function getRequireJs(){var requirejs,require,define,req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.6",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!!("u">typeof window&&"u">typeof navigator&&window.document),isWebWorker=!isBrowser&&"u">typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="u">typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e){var l;for(l=0;l<e.length&&!(e[l]&&t(e[l],l,e));l+=1);}}function eachReverse(e,t){if(e){var l;for(l=e.length-1;l>-1&&!(e[l]&&t(e[l],l,e));l-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var l;for(l in e)if(hasProp(e,l)&&t(e[l],l))break}function mixin(e,t,l,n){return t&&eachProp(t,function(t,o){(l||!hasProp(e,o))&&(!n||"object"!=typeof t||!t||isArray(t)||isFunction(t)||t instanceof RegExp?e[o]=t:(e[o]||(e[o]={}),mixin(e[o],t,l,n)))}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=__webpack_require__.g;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,l,n){var o=Error(t+"\nhttps://requirejs.org/docs/errors.html#"+e);return o.requireType=e,o.requireModules=n,l&&(o.originalError=l),o}if(void 0===define){if(void 0!==requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}return void 0===require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,l,n){var o,r,i=defContextName;return isArray(e)||"string"==typeof e||(r=e,isArray(t)?(e=t,t=l,l=n):e=[]),r&&r.context&&(i=r.context),(o=getOwn(contexts,i))||(o=contexts[i]=req.s.newContext(i)),r&&o.configure(r),o.require(e,t,l)},req.config=function(e){return req(e)},req.nextTick="u">typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],(baseElement=document.getElementsByTagName("base")[0])&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,l){var n=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return n.type=e.scriptType||"text/javascript",n.charset="utf-8",n.async=!0,n},req.load=function(e,t,l){var n,o=e&&e.config||{};if(isBrowser)return(n=req.createNode(o,t,l)).setAttribute("data-requirecontext",e.contextName),n.setAttribute("data-requiremodule",t),!n.attachEvent||n.attachEvent.toString&&0>n.attachEvent.toString().indexOf("[native code")||isOpera?(n.addEventListener("load",e.onScriptLoad,!1),n.addEventListener("error",e.onScriptError,!1)):(useInteractive=!0,n.attachEvent("onreadystatechange",e.onScriptLoad)),n.src=l,o.onNodeCreated&&o.onNodeCreated(n,o,t,l),currentlyAddingScript=n,baseElement?head.insertBefore(n,baseElement):head.appendChild(n),currentlyAddingScript=null,n;if(isWebWorker)try{setTimeout(function(){},0),importScripts(l),e.completeLoad(t)}catch(n){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+l,n,[t]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||-1!==mainScript.indexOf("!")||(mainScript=(src=mainScript.split("/")).pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,l){var n,o;"string"!=typeof e&&(l=t,t=e,e=null),isArray(t)||(l=t,t=null),!t&&isFunction(l)&&(t=[],l.length&&(l.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(e,l){t.push(l)}),t=(1===l.length?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(n=currentlyAddingScript||getInteractiveScript())&&(e||(e=n.getAttribute("data-requiremodule")),o=contexts[n.getAttribute("data-requirecontext")]),o?(o.defQueue.push([e,t,l]),o.defQueueMap[e]=!0):globalDefQueue.push([e,t,l])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg),{requirejs,require,define}}function newContext(e){var t,l,n,o,r,i={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},a={},s={},d={},u=[],c={},p={},m={},h=1,f=1;function g(e){var t,l;for(t=0;t<e.length;t++)if("."===(l=e[t]))e.splice(t,1),t-=1;else if(".."===l)if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;else t>0&&(e.splice(t-1,2),t-=2)}function v(e,t,l){var n,o,r,a,s,d,u,c,p,m,h,f=t&&t.split("/"),v=i.map,y=v&&v["*"];if(e&&(u=(e=e.split("/")).length-1,i.nodeIdCompat&&jsSuffixRegExp.test(e[u])&&(e[u]=e[u].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&f&&(e=f.slice(0,f.length-1).concat(e)),g(e),e=e.join("/")),l&&v&&(f||y)){r=e.split("/");e:for(a=r.length;a>0;a-=1){if(d=r.slice(0,a).join("/"),f){for(s=f.length;s>0;s-=1)if((o=getOwn(v,f.slice(0,s).join("/")))&&(o=getOwn(o,d))){c=o,p=a;break e}}!m&&y&&getOwn(y,d)&&(m=getOwn(y,d),h=a)}!c&&m&&(c=m,p=h),c&&(r.splice(0,p,c),e=r.join("/"))}return(n=getOwn(i.pkgs,e))||e}function y(e){isBrowser&&each(scripts(),function(t){if(t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===n.contextName)return t.parentNode.removeChild(t),!0})}function x(e){var t=getOwn(i.paths,e);if(t&&isArray(t)&&t.length>1)return t.shift(),n.require.undef(e),n.makeRequire(null,{skipMap:!0})([e]),!0}function b(e){var t,l=e?e.indexOf("!"):-1;return l>-1&&(t=e.substring(0,l),e=e.substring(l+1,e.length)),[t,e]}function w(e,t,l,o){var r,i,a,s,d=null,u=t?t.name:null,p=e,m=!0,g="";return e||(m=!1,e="_@r"+(h+=1)),d=(s=b(e))[0],e=s[1],d&&(i=getOwn(c,d=v(d,u,o))),e&&(d?g=l?e:i&&i.normalize?i.normalize(e,function(e){return v(e,u,o)}):-1===e.indexOf("!")?v(e,u,o):e:(d=(s=b(g=v(e,u,o)))[0],g=s[1],l=!0,r=n.nameToUrl(g))),a=!d||i||l?"":"_unnormalized"+(f+=1),{prefix:d,name:g,parentMap:t,unnormalized:!!a,url:r,originalName:p,isDefine:m,id:(d?d+"!"+g:g)+a}}function S(e){var t=e.id,l=getOwn(a,t);return l||(l=a[t]=new n.Module(e)),l}function C(e,t,l){var n=e.id,o=getOwn(a,n);hasProp(c,n)&&(!o||o.defineEmitComplete)?"defined"===t&&l(c[n]):(o=S(e)).error&&"error"===t?l(o.error):o.on(t,l)}function F(e,t){var l=e.requireModules,n=!1;t?t(e):(each(l,function(t){var l=getOwn(a,t);l&&(l.error=e,l.events.error&&(n=!0,l.emit("error",e)))}),n||req.onError(e))}function k(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(n.defQueueMap[t]=!0),u.push(e)}),globalDefQueue=[])}function A(e){delete a[e],delete s[e]}function P(e,t,l){var n=e.map.id;e.error?e.emit("error",e.error):(t[n]=!0,each(e.depMaps,function(n,o){var r=n.id,i=getOwn(a,r);!i||e.depMatched[o]||l[r]||(getOwn(t,r)?(e.defineDep(o,c[r]),e.check()):P(i,t,l))}),l[n]=!0)}function M(){var e,l,o=1e3*i.waitSeconds,a=o&&n.startTime+o<new Date().getTime(),d=[],u=[],c=!1,p=!0;if(!t){if(t=!0,eachProp(s,function(e){var t=e.map,n=t.id;if(e.enabled&&(t.isDefine||u.push(e),!e.error)){if(!e.inited&&a)x(n)?(l=!0,c=!0):(d.push(n),y(n));else if(!e.inited&&e.fetched&&t.isDefine&&(c=!0,!t.prefix))return p=!1}}),a&&d.length)return(e=makeError("timeout","Load timeout for modules: "+d,null,d)).contextName=n.contextName,F(e);p&&each(u,function(e){P(e,{},{})}),(!a||l)&&c&&(isBrowser||isWebWorker)&&!r&&(r=setTimeout(function(){r=0,M()},50)),t=!1}}function j(e){hasProp(c,e[0])||S(w(e[0],null,!0)).init(e[1],e[2])}function I(e,t,l,n){e.detachEvent&&!isOpera?n&&e.detachEvent(n,t):e.removeEventListener(l,t,!1)}function T(e){var t=e.currentTarget||e.srcElement;return I(t,n.onScriptLoad,"load","onreadystatechange"),I(t,n.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function R(){var e;for(k();u.length;){if(null===(e=u.shift())[0])return F(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));j(e)}n.defQueueMap={}}return o={require:function(e){return e.require?e.require:e.require=n.makeRequire(e.map)},exports:function(e){if(e.usingExports=!0,e.map.isDefine)if(e.exports)return c[e.map.id]=e.exports;else return e.exports=c[e.map.id]={}},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(i.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},(l=function(e){this.events=getOwn(d,e.id)||{},this.map=e,this.shim=getOwn(i.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0}).prototype={init:function(e,t,l,n){n=n||{},this.inited||(this.factory=t,l?this.on("error",l):this.events.error&&(l=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=l,this.inited=!0,this.ignore=n.ignore,n.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,n.startTime=new Date().getTime();var e=this.map;if(!this.shim)return e.prefix?this.callPlugin():this.load();n.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;p[e]||(p[e]=!0,n.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,l=this.map.id,o=this.depExports,r=this.exports,i=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(i)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{r=n.execCb(l,i,o,r)}catch(t){e=t}else r=n.execCb(l,i,o,r);if(this.map.isDefine&&void 0===r&&((t=this.module)?r=t.exports:this.usingExports&&(r=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",F(this.error=e)}else r=i;if(this.exports=r,this.map.isDefine&&!this.ignore&&(c[l]=r,req.onResourceLoad)){var a=[];each(this.depMaps,function(e){a.push(e.normalizedMap||e)}),req.onResourceLoad(n,this.map,a)}A(l),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(n.defQueueMap,l)||this.fetch()}},callPlugin:function(){var e=this.map,t=e.id,l=w(e.prefix);this.depMaps.push(l),C(l,"defined",bind(this,function(l){var o,r,s,d=getOwn(m,this.map.id),u=this.map.name,c=this.map.parentMap?this.map.parentMap.name:null,p=n.makeRequire(e.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){l.normalize&&(u=l.normalize(u,function(e){return v(e,c,!0)})||""),C(r=w(e.prefix+"!"+u,this.map.parentMap,!0),"defined",bind(this,function(e){this.map.normalizedMap=r,this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),(s=getOwn(a,r.id))&&(this.depMaps.push(r),this.events.error&&s.on("error",bind(this,function(e){this.emit("error",e)})),s.enable());return}if(d){this.map.url=n.nameToUrl(d),this.load();return}(o=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})})).error=bind(this,function(e){this.inited=!0,this.error=e,e.requireModules=[t],eachProp(a,function(e){0===e.map.id.indexOf(t+"_unnormalized")&&A(e.map.id)}),F(e)}),o.fromText=bind(this,function(l,r){var a=e.name,s=w(a),d=useInteractive;r&&(l=r),d&&(useInteractive=!1),S(s),hasProp(i.config,t)&&(i.config[a]=i.config[t]);try{req.exec(l)}catch(e){return F(makeError("fromtexteval","fromText eval for "+t+" failed: "+e,e,[t]))}d&&(useInteractive=!0),this.depMaps.push(s),n.completeLoad(a),p([a],o)}),l.load(e.name,p,o,i)})),n.enable(l,this),this.pluginMaps[l.id]=l},enable:function(){s[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var l,r,i;if("string"==typeof e){if(e=w(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,i=getOwn(o,e.id)){this.depExports[t]=i(this);return}this.depCount+=1,C(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?C(e,"error",bind(this,this.errback)):this.events.error&&C(e,"error",bind(this,function(e){this.emit("error",e)}))}r=a[l=e.id],hasProp(o,l)||!r||r.enabled||n.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(a,e.id);t&&!t.enabled&&n.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var l=this.events[e];l||(l=this.events[e]=[]),l.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},(n={config:i,contextName:e,registry:a,defined:c,urlFetched:p,defQueue:u,defQueueMap:{},Module:l,makeModuleMap:w,nextTick:req.nextTick,onError:F,configure:function(e){if(e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/"),"string"==typeof e.urlArgs){var t=e.urlArgs;e.urlArgs=function(e,l){return(-1===l.indexOf("?")?"?":"&")+t}}var l=i.shim,o={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){o[t]?(i[t]||(i[t]={}),mixin(i[t],e,!0,!0)):i[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(m[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),(e.exports||e.init)&&!e.exportsFn&&(e.exportsFn=n.makeShimExports(e)),l[t]=e}),i.shim=l),e.packages&&each(e.packages,function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(i.paths[t]=e.location),i.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(a,function(e,t){e.inited||e.map.unnormalized||(e.map=w(t,null,!0))}),(e.deps||e.callback)&&n.require(e.deps||[],e.callback)},makeShimExports:function(e){return function(){var t;return e.init&&(t=e.init.apply(__webpack_require__.g,arguments)),t||e.exports&&getGlobal(e.exports)}},makeRequire:function(t,l){function r(i,s,d){var u,p;return(l.enableBuildCallback&&s&&isFunction(s)&&(s.__requireJsBuild=!0),"string"==typeof i)?isFunction(s)?F(makeError("requireargs","Invalid require call"),d):t&&hasProp(o,i)?o[i](a[t.id]):req.get?req.get(n,i,t,r):hasProp(c,u=w(i,t,!1,!0).id)?c[u]:F(makeError("notloaded",'Module name "'+u+'" has not been loaded yet for context: '+e+(t?"":". Use require([])"))):(R(),n.nextTick(function(){R(),(p=S(w(null,t))).skipMap=l.skipMap,p.init(i,s,d,{enabled:!0}),M()}),r)}return l=l||{},mixin(r,{isBrowser:isBrowser,toUrl:function(e){var l,o=e.lastIndexOf("."),r=e.split("/")[0],i="."===r||".."===r;return -1!==o&&(!i||o>1)&&(l=e.substring(o,e.length),e=e.substring(0,o)),n.nameToUrl(v(e,t&&t.id,!0),l,!0)},defined:function(e){return hasProp(c,w(e,t,!1,!0).id)},specified:function(e){return hasProp(c,e=w(e,t,!1,!0).id)||hasProp(a,e)}}),t||(r.undef=function(e){k();var l=w(e,t,!0),o=getOwn(a,e);o.undefed=!0,y(e),delete c[e],delete p[l.url],delete d[e],eachReverse(u,function(t,l){t[0]===e&&u.splice(l,1)}),delete n.defQueueMap[e],o&&(o.events.defined&&(d[e]=o.events),A(e))}),r},enable:function(e){getOwn(a,e.id)&&S(e).enable()},completeLoad:function(e){var t,l,o,r=getOwn(i.shim,e)||{},s=r.exports;for(k();u.length;){if(null===(l=u.shift())[0]){if(l[0]=e,t)break;t=!0}else l[0]===e&&(t=!0);j(l)}if(n.defQueueMap={},o=getOwn(a,e),!t&&!hasProp(c,e)&&o&&!o.inited)if(!i.enforceDefine||s&&getGlobal(s))j([e,r.deps||[],r.exportsFn]);else if(x(e))return;else return F(makeError("nodefine","No define call for "+e,null,[e]));M()},nameToUrl:function(e,t,l){var o,r,a,s,d,u,c=getOwn(i.pkgs,e);if(c&&(e=c),u=getOwn(m,e))return n.nameToUrl(u,t,l);if(req.jsExtRegExp.test(e))s=e+(t||"");else{for(o=i.paths,a=(r=e.split("/")).length;a>0;a-=1)if(d=getOwn(o,r.slice(0,a).join("/"))){isArray(d)&&(d=d[0]),r.splice(0,a,d);break}s=r.join("/"),s+=t||(/^data\:|^blob\:|\?/.test(s)||/\.js(?:$|[?#])/.test(s)||l?"":".js"),s=("/"===s.charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":i.baseUrl)+s}return i.urlArgs&&!/^blob\:/.test(s)?s+i.urlArgs(e,s):s},load:function(e,t){req.load(n,e,t)},execCb:function(e,t,l,n){return t.apply(n,l)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=T(e);n.completeLoad(t.id)}},onScriptError:function(e){var t=T(e);if(!x(t.id)){var l=[];return eachProp(a,function(e,n){0!==n.indexOf("_@r")&&each(e.depMaps,function(e){if(e.id===t.id)return l.push(n),!0})}),F(makeError("scripterror",'Script error for "'+t.id+(l.length?'", needed by: '+l.join(", "):'"'),e,[t.id]))}}}).require=n.makeRequire(),n}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState||eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript}}},63128(e,t,l){"use strict";l.d(t,{x:()=>o}),l(58149);var n=l(99418);class o{get innerHTML(){return this.__el.innerHTML}set innerHTML(e){this.__el.innerHTML=n.A.sanitize(e)}get outerHTML(){return this.__el.outerHTML}set outerHTML(e){this.__el.outerHTML=n.A.sanitize(e)}appendChild(e){(e instanceof HTMLElement||"string"==typeof e)&&this.__el.appendChild("string"==typeof e?document.createTextNode(e):e)}constructor(e){return this.__el=e,new Proxy(this,{get:(e,t,l)=>{if(t in e){let n=Reflect.get(e,t,l);return"function"==typeof n?n.bind(l):n}let n=e.__el[t];return"function"==typeof n?n.bind(e.__el):n},set:(e,t,l,n)=>{let r=Object.getOwnPropertyDescriptor(o.prototype,t);return r&&"function"==typeof r.set?r.set.call(n,l):e.__el[t]=l,!0}})}}},52568(e,t,l){"use strict";l.d(t,{$K:()=>d,Dv:()=>a,MQ:()=>p,PC:()=>i,Vy:()=>c,Ww:()=>u,YQ:()=>s,bc:()=>r});var n=l(74848),o=l(96540);let r=(0,o.createContext)(null),i=(0,o.createContext)(null);function a(e){return(0,n.jsx)(r.Provider,{value:e.context,children:e.children})}let s=o.memo(e=>(0,n.jsx)(i.Provider,{value:e.context,children:(0,n.jsx)(r.Provider,{value:e.context,children:e.children})}));function d(){return(0,o.useContext)(r)}function u(){return(0,o.useContext)(i)}function c(){return d().view}function p(){return d().viewer}s.displayName="FlowViewContextProvider"},68161(e,t,l){"use strict";l.d(t,{G:()=>i,z:()=>a}),l(45336),l(23446),l(89773),l(79936),l(5409),l(69861),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var n=l(95243),o=l(2543),r=l.n(o);class i{get model(){return this.flowRegistry.model}get key(){return this.options.key}get title(){return this.options.title}set title(e){this.options.title=e}get sort(){return this.options.sort}get on(){return this.options.on}set on(e){this.options.on=e}get defaultParams(){return this.options.defaultParams}get manual(){return this.options.manual}set manual(e){this.options.manual=e}get steps(){let e={};for(let[t,l]of this.getSortedSteps())e[t]=l.serialize();return e}getSortedSteps(){return[...this._steps.entries()].sort((e,t)=>{let[,l]=e,[,n]=t;return(l.serialize().sort??0)-(n.serialize().sort??0)})}setOptions(e){Object.assign(this.options,e)}getSteps(){return this._steps}mapSteps(e){return this.getSortedSteps().map(t=>{let[,l]=t;return e(l)})}getStep(e){return this._steps.get(e)}addStep(e,t){let l=this._steps.get(e);if(l)return l.setOptions(t),l;{if(void 0===t.sort){let e=Math.max(0,...Array.from(this._steps.values()).map(e=>e.serialize().sort??0));t={...t,sort:e+1}}let l=new a({...t,key:e},this);return this._steps.set(e,l),l}}setStep(e,t){return this.addStep(e,t)}hasStep(e){return this._steps.has(e)}moveStep(e,t){if(!this._steps.has(e))throw Error(`Source step '${e}' not found`);if(!this._steps.has(t))throw Error(`Target step '${t}' not found`);if(e===t)return;let l=this.getSortedSteps(),n=[],o=l.filter(t=>{let[l]=t;return l!==e}),r=this._steps.get(e);for(let[l,i]of o)l===t&&n.push([e,r]),n.push([l,i]);n.forEach((e,t)=>{let[l,n]=e;n.setOptions({sort:t+1})})}removeStep(e){this._steps.delete(e)}async saveStep(e){await this.flowRegistry.saveFlow(this)}async destroyStep(e){this.removeStep(e),await this.flowRegistry.saveFlow(this)}async save(){await this.flowRegistry.saveFlow(this)}async destroy(){await this.flowRegistry.destroyFlow(this.key)}remove(){return this.flowRegistry.removeFlow(this.key)}toData(){return this.serialize()}serialize(){let e={...this.options};for(let[t,l]of this.getSortedSteps())e.steps=e.steps||{},e.steps[t]={...l.serialize()};return e}constructor(e,t){for(const[l,o]of(this.flowRegistry=t,this._steps=n.observable.shallow(new Map),this.options=n.observable.shallow(r().omit(e,["steps"])),Object.entries(e.steps||{})))this.addStep(l,o)}}class a{setOptions(e){Object.assign(this.options,e)}get key(){return this.options.key}get flowKey(){return this.flowDef.key}get title(){return this.options.title}set title(e){this.options.title=e}get uiSchema(){return this.options.uiSchema}get defaultParams(){return this.options.defaultParams||{}}set defaultParams(e){this.options.defaultParams=e}get use(){return this.options.use}async save(){return this.flowDef.save()}async remove(){return this.flowDef.removeStep(this.key)}async destroy(){return this.flowDef.destroyStep(this.key)}serialize(){return{...this.options,flowKey:this.flowDef.key}}constructor(e,t){this.flowDef=t,this.options=n.observable.shallow(e)}}},91013(e,t,l){"use strict";l.d(t,{I$:()=>p,RU:()=>o,iU:()=>i}),l(45336),l(69861),l(89773),l(14324),l(67980);var n=l(31108);function o(e){return"boolean"==typeof(null==e?void 0:e.preprocessTemplates)?e.preprocessTemplates:(null==e?void 0:e.version)!=="v2"}let r=["fetch","localStorage","sessionStorage","XMLHttpRequest","WebSocket","Worker","SharedWorker","ServiceWorker","BroadcastChannel","EventSource","indexedDB","caches","Function","eval","globalThis","Intl","Blob","URL","location"],i=["ctx","console","window","document","navigator","setTimeout","clearTimeout","setInterval","clearInterval","Array","ArrayBuffer","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","Error","EvalError","FinalizationRegistry","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Map","Math","Number","Object","Promise","Proxy","RangeError","ReferenceError","Reflect","RegExp","Set","String","Symbol","SyntaxError","TypeError","URIError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","JSON","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","isFinite","isNaN","parseFloat","parseInt","undefined","NaN","Infinity",...r];function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.window;if(!t||"object"!=typeof t)return{};let l=t,n={};return r.forEach(o=>{if(!Object.prototype.hasOwnProperty.call(e,o))try{let e=l[o];if(void 0===e)return;n[o]="fetch"===o&&"function"==typeof e?e.bind(t):e}catch{}}),n}let s=/(^|[=(:,[\s)])(\{\{\s*(ctx(?:\.|\[|\?\.)[^}]*)\s*\}\})/m;function d(e){let t=String(e||"").match(s);if(!t)return null;let l=String(t[2]||"").trim(),n=String(t[3]||"").trim();return l&&n?{placeholder:l,expression:n}:null}function u(e,t){if(!(e instanceof SyntaxError||"SyntaxError"===String((null==e?void 0:e.name)||""))||!t)return!1;let l=String((null==e?void 0:e.message)||e||"");return/unexpected token/i.test(l)}function c(e,t){let l=SyntaxError(`"${t.placeholder}" has been deprecated and cannot be used as executable RunJS syntax. Use await ctx.getVar("${t.expression}") instead, or keep "${t.placeholder}" as a plain string.`);try{l.cause=e}catch(e){}try{l.__runjsHideLocation=!0,l.stack=`${l.name}: ${l.message}`}catch(e){}return l}class p{register(e,t){this.globals[e]=t}async run(e){let t="u">typeof location?location.search:void 0;if("string"==typeof t&&t.includes("skipRunJs=true"))return{success:!0,value:null};let l=`(async () => {
3305
3305
  try {
3306
3306
  ${e};
3307
3307
  } catch (e) {
3308
3308
  throw e;
3309
3309
  }
3310
3310
  })()`,o=new Compartment(this.globals);try{let e=o.evaluate(l),t=new Promise((e,t)=>setTimeout(()=>t(Error("Execution timed out")),this.timeoutMs)),n=await Promise.race([e,t]);return{success:!0,value:n}}catch(o){if(o instanceof n.sy||o instanceof n.zz)throw o;let t=d(e),l=u(o,t)&&t?c(o,t):o;return console.error(l),{success:!1,error:l,timeout:(null==l?void 0:l.message)==="Execution timed out"}}}constructor(e={}){const t=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},l=e.globals||{},n=a(l);this.globals={console,setTimeout:t("setTimeout"),clearTimeout:t("clearTimeout"),setInterval:t("setInterval"),clearInterval:t("clearInterval"),...n,...l},this.timeoutMs=e.timeoutMs??5e3}}},47451(e,t,l){"use strict";l.d(t,{_:()=>r}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(58149);var n=l(48910),o=l(16639);function r(e){let t=new n.$;Object.defineProperty(t,o.i6,{value:o.cj,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 r=new Set(["_modelInstances","_applyFlowCache","executor","context",o.i6,"previousEngine","nextEngine","emitter","_modelOperationScheduler","getScheduler","scheduleModelOperation","disposeScheduler","unlinkFromStack","linkAfter","_previousEngine","_nextEngine","getModel","_destroyView","setDestroyView","destroyView"]),i={get(t,l,n){if(r.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)=>r.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,i)}},64171(e,t,l){"use strict";l.d(t,{Z:()=>n}),l(89773),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);class n{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(){this.actions=new Map}}},31102(e,t,l){"use strict";l.d(t,{FC:()=>a,eI:()=>c,jP:()=>s}),l(45336),l(79936),l(14324),l(23446);var n=l(74848),o=l(96540),r=l(42443),i=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=["globalSort"],c=e=>{let{children:t,showLabel:l=!0,labelWidth:c,...p}=e,m=Object.fromEntries(Object.entries(p).filter(e=>{let[t]=e;return!u.includes(t)})),h=Object.fromEntries(Object.entries(m).filter(e=>{let[t]=e;return!d.includes(t)})),f="function"==typeof t?t:o.Children.map(t,e=>o.isValidElement(e)?o.cloneElement(e,{...h}):e),{label:g,labelWrap:v,colon:y=!0,layout:x}=m,b=!x||"vertical"===x||v,w="vertical"===x?{width:c,...a}:{width:c},S=()=>l?b?(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:g}),y&&(0,n.jsx)("span",{style:{marginLeft:4,flexShrink:0},children:":"})]}):(0,n.jsx)(r.A,{title:g,children:(0,n.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",maxWidth:("number"==typeof c?c: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:g}),y&&(0,n.jsx)("span",{style:{marginLeft:4,flexShrink:0},children:":"})]})}):null;return(0,n.jsx)(i.A.Item,{...m,style:{...s,...m.style},labelCol:{style:w},layout:x,label:S(),colon:!1,extra:m.extra&&(0,n.jsx)("span",{style:{whiteSpace:"pre-wrap"},children:m.extra}),tooltip:m.tooltip&&{title:m.tooltip,overlayInnerStyle:{whiteSpace:"pre-line"}},children:f})}},61793(e,t,l){"use strict";let n,o;l.d(t,{D:()=>S});var r=l(74848),i=l(4888),a=l(96540);l(45336),l(34678);var s=l(42524),d=l(41893),u=l(35710);let c=(e,t)=>{let{getPrefixCls:l}=(0,a.useContext)(i.Ay.ConfigContext)||{};if("ConfigContext"in i.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}=i.Ay,m=()=>(0,a.useContext)(p),h=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, 46px)",display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:`1px solid ${e.colorSplit}`,position:"sticky",top:0,backgroundColor:e.colorBgContainer,zIndex:1e3,"& + .nb-grid-container > .nb-grid > .nb-grid-warp > .ant-btn":{margin:12}},".nb-mobile-action-drawer-placeholder":{display:"inline-block",padding:12,flex:"0 0 auto",visibility:"hidden"},".nb-mobile-action-drawer-title":{flex:"1 1 auto",minWidth:0,overflow:"hidden",textAlign:"center",textOverflow:"ellipsis",whiteSpace:"nowrap"},".nb-mobile-action-drawer-close-icon":{display:"inline-block",padding:12,flex:"0 0 auto",cursor:"pointer"},".nb-mobile-action-drawer-body":{borderTopLeftRadius:8,borderTopRightRadius:8,maxHeight:"calc(100vh - var(--nb-mobile-page-header-height, 46px))","@supports (height: 100dvh)":{maxHeight:"calc(100dvh - var(--nb-mobile-page-header-height, 46px))"},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:r}=h(),{getPrefixCls:i,iconPrefixCls:u}=m(),p=c(n),g=i(),v=(0,s.useStyleRegister)({theme:t,token:l,hashId:r,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:r,prefixCls:p,rootPrefixCls:g,iconPrefixCls:u});return[f(l,p),n]}),y=[t,l,r,p,u,g,e],x=(0,a.useRef)(),b=x.current,w=(null==b?void 0:b.wrapSSR)||v;return(!b||y.some((e,t)=>e!==b.deps[t]))&&(x.current={deps:y,wrapSSR:v},w=v),{wrapSSR:w,hashId:r,componentCls:p,rootPrefixCls:g}});var v=l(18492),y=l(22505);let{Popup:x}=(0,y.R)(()=>Promise.resolve().then(l.bind(l,33022)),"Popup"),{CloseOutline:b}=(0,y.R)(()=>l.e("9200").then(l.bind(l,38370)),"CloseOutline"),w=()=>{var e,t;return"u">typeof CSS&&(null==(e=(t=CSS).supports)?void 0:e.call(t,"height","100dvh"))?"calc(100dvh - var(--nb-mobile-page-header-height, 46px))":"calc(100vh - var(--nb-mobile-page-header-height, 46px))"},S=e=>{var t;let{title:l,visible:n,onClose:o,children:s,minHeight:d,className:u,footer:c}=e,{t:p}=(0,v.B)(),{componentCls:m,hashId:h}=g(),f=null==(t=e.styles)?void 0:t.body,y=w(),S=(0,a.useMemo)(()=>({minHeight:(null==f?void 0:f.minHeight)??d,height:null==f?void 0:f.height,maxHeight:(null==f?void 0:f.maxHeight)??y}),[null==f?void 0:f.height,null==f?void 0:f.maxHeight,null==f?void 0:f.minHeight,y,d]),C=(0,a.useMemo)(()=>({padding:0,maxHeight:y,overflowY:"auto",overflowX:"hidden",...f}),[f,y]),F=(0,a.useCallback)(e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),o())},[o]),k=(0,a.useMemo)(()=>({token:{paddingPageHorizontal:8,paddingPageVertical:8,marginBlock:12,borderRadiusBlock:8,fontSize:14}}),[]);return(0,r.jsx)(i.Ay,{theme:k,children:(0,r.jsxs)(x,{className:`${m} ${h} ${u||""}`,visible:n,onClose:o,onMaskClick:o,bodyClassName:"nb-mobile-action-drawer-body",bodyStyle:C,style:S,destroyOnClose:!0,children:[(0,r.jsxs)("div",{className:"nb-mobile-action-drawer-header",children:[(0,r.jsx)("span",{className:"nb-mobile-action-drawer-placeholder",children:(0,r.jsx)(b,{})}),(0,r.jsx)("span",{className:"nb-mobile-action-drawer-title",children:l}),(0,r.jsx)("span",{className:"nb-mobile-action-drawer-close-icon",onClick:o,role:"button",tabIndex:0,"aria-label":p("Close"),onKeyDown:F,children:(0,r.jsx)(b,{})})]}),s,c&&(0,r.jsx)("div",{className:"nb-mobile-action-drawer-footer",children:c})]})})}},96332(e,t,l){"use strict";l.d(t,{openRequiredParamsStepFormDialog:()=>h}),l(89773),l(5409),l(45336),l(69861);var n=l(74848),o=l(18220),r=l(95243),i=l(87959),a=l(71021),s=l(96540),d=l(29007),u=l(16296),c=l(60182);let p=(0,o.createSchemaField)(),m=e=>{let{model:t,requiredSteps:l,formStep:o,children:r}=e,i=l[(null==o?void 0:o.current)??0],a=s.useMemo(()=>{let{flowKey:e,step:l}=i,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,i]);return(0,n.jsx)(u.u,{value:a,children:r})},h=async e=>{let{model:t,dialogWidth:s=800,dialogTitle:h}=e,f=(0,c.lW)(t);if(h||f("Step parameter configuration"),!t)throw i.Ay.error(f("Invalid model provided")),Error(f("Invalid model provided"));return new Promise((e,i)=>{(async()=>{try{var g,v,y;let i=t.getFlows(),x=[];for(let[e,l]of i)for(let n in l.steps){let o=l.steps[n];if(o.paramsRequired||o.preset){let r=await (0,c.o7)(t,l,o);if(r){t.getStepParams(e,n);let i=!1;console.log(`Flow: ${e}, Step: ${n}, hasAllRequiredParams:`,i),i||x.push({flowKey:e,stepKey:n,step:o,uiSchema:r,title:o.title||n,flowTitle:l.title||e})}}}if(console.log("Required steps:",x),0===x.length)return void e({});let b={};for(let{flowKey:e,stepKey:l,step:n}of x){let o=t.getStepParams(e,l)||{},i={};n.use&&(i=(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)(i,a),p=await (0,c.gG)(n.defaultParams,a),m={...(0,r.toJS)(u),...(0,r.toJS)(p),...(0,r.toJS)(o)};Object.keys(m).length>0&&(b[e]||(b[e]={}),b[e][l]=m)}let w={};x.forEach(e=>{let{flowKey:t,stepKey:l,uiSchema:n,title:o,flowTitle:r}=e;w[`${t}_${l}`]={type:"void","x-component":"FormStep.StepPane","x-component-props":{title:`${o}`,description:`Flow: ${r}`},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===x.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:C,FormStep:F}=await Promise.resolve().then(l.bind(l,20419)),k=x.length>1?F.createFormStep(0):null,A=t.flowEngine,P={formStep:k,totalSteps:x.length,requiredSteps:x,useFlowSettingsContext:u.s,...null==(g=A.flowSettings)?void 0:g.scopes},M=C({title:h||f("Step parameter configuration"),width:s,footer:null,destroyOnClose:!0},l=>{var r;let i=async()=>{try{await l.submit();let n=l.values;x.forEach(e=>{var l;let{flowKey:o,stepKey:r}=e,i=null==(l=n[o])?void 0:l[r];i&&t.setStepParams(o,r,i)}),await t.saveStepParams(),e(n),M.close()}catch(e){console.error(f("Error submitting form"),":",e)}},s=()=>{M.close(),e({})},d={...P,closeDialog:s,handleNext:()=>{l.validate().then(()=>{k&&k.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)(m,{model:t,requiredSteps:x,formStep:k,children:(0,n.jsx)(p,{schema:u,components:{FormStep:F,...null==(r=A.flowSettings)?void 0:r.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===x.length?(0,n.jsx)(a.Ay,{type:"primary",onClick:i,children:f("Complete configuration")}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.Ay,{disabled:!(null==k?void 0:k.allowBack),onClick:()=>{k&&k.back()},children:f("Previous step")}),(0,n.jsx)(a.Ay,{disabled:!(null==k?void 0:k.allowNext),type:"primary",onClick:()=>{l.validate().then(()=>{k&&k.next()}).catch(e=>{console.log(f("Form validation failed"),":",e)})},style:{display:((null==k?void 0:k.current)??0)<x.length-1?"inline-block":"none"},children:f("Next step")}),(0,n.jsx)(a.Ay,{disabled:null==k?void 0:k.allowNext,type:"primary",onClick:i,style:{display:((null==k?void 0:k.current)??0)>=x.length-1?"inline-block":"none"},children:f("Complete configuration")})]})})})]})});M.open({initialValues:(0,c.ln)(P,b)})}catch(e){i(Error(`${f("Failed to import FormDialog or FormStep")}: ${e.message}`))}})()}).catch(e=>{console.error(e)})}},23183(e,t,l){"use strict";l.d(t,{openStepSettingsDialog:()=>f}),l(89773);var n=l(74848),o=l(67838),r=l(18220),i=l(95243),a=l(84626),s=l(71021),d=l(96540),u=l(16296),c=l(60182),p=l(31108),m=l(52847);let h=(0,r.createSchemaField)(),f=async e=>{var t,l,f,g,v,y,x,b;let{model:w,flowKey:S,stepKey:C,dialogWidth:F=600,dialogTitle:k,mode:A="dialog",ctx:P,uiModeProps:M,cleanup:j}=e,I=(0,c.lW)(w),T=w.context.message;if(!w)throw T.error(I("Invalid model provided")),Error(I("Invalid model provided"));let R=w.getFlow(S),E=null==R||null==(t=R.steps)?void 0:t[C];if(!R)throw T.error(I("Flow with key {{flowKey}} not found",{flowKey:S})),Error(I("Flow with key {{flowKey}} not found",{flowKey:S}));if(!E)throw T.error(I("Step with key {{stepKey}} not found",{stepKey:C})),Error(I("Step with key {{stepKey}} not found",{stepKey:C}));let N=E.title,D=E.beforeParamsSave,$=E.afterParamsSave,B={};if(E.use){let e=null==(b=w.flowEngine)||null==(x=b.getAction)?void 0:x.call(b,E.use);e&&(B=e.defaultParams||{},N=N||e.title,D=D||e.beforeParamsSave,$=$||e.afterParamsSave)}let O=w.getFlow(S),q=await (0,c.o7)(w,O,E);if(!q)return T.info(I("This step has no configurable parameters")),{};let L=P;L.currentStep&&L.currentStep===E||L.defineProperty("currentStep",{value:E});let _=w.flowEngine,V={useFlowSettingsContext:u.s,...null==(l=_.flowSettings)?void 0:l.scopes},z=w.getStepParams(S,C)||{},K=await (0,c.gG)(E.defaultParams,L),U=await (0,c.gG)(B,L),W={...(0,i.toJS)(U),...(0,i.toJS)(K),...(0,i.toJS)(z)},H={...(0,i.toJS)(z)},G={type:"object",properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:q}}},Y=w.context.viewer[A].bind(w.context.viewer),{zIndex:J,...X}=(0,i.toJS)(M)||{},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==P||null==(g=P.view)?void 0:g.navigation)??(null==(v=w.context.view)?void 0:v.navigation),en={...et,...el?{navigation:el}:{},...(null==(y=(0,i.toJS)(M))?void 0:y.inputArgs)||{},__isSettingsPopup:!0};Y({title:k||I(N),width:F,destroyOnClose:!0,...X,zIndex:Z,inputArgs:en,onClose:()=>{j&&j()},content:e=>{let t=(0,m.PA)(()=>{var t;(0,d.useEffect)(()=>(0,i.autorun)(()=>{let{zIndex:t,...l}=(0,i.toJS)(M)||{};e.update({...l,zIndex:Q(t)})}),[]);let l=(0,c.ln)(V,G);return(0,n.jsx)(r.FormProvider,{form:ee,children:(0,n.jsxs)(u.u,{value:L,children:[(0,n.jsx)(h,{schema:l,components:{...null==(t=_.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,C,t),D&&await D(L,t,H),e.close(),await w.saveStepParams(),T.success(I("Configuration saved")),$&&await $(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),T.error(I("Error saving configuration, please check console"))}},children:I("OK")})]})})]})})});return(0,n.jsx)(t,{})}})}},41594(e,t,l){"use strict";l.d(t,{Ls:()=>a,Qp:()=>c,jx:()=>p,yG:()=>u,z5:()=>d}),l(45336),l(23446),l(5409),l(79936);var n=l(2543),o=l.n(n),r=l(60182);async function i(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 i(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),i=e=>null==e?void 0:e.map(e=>{let l={...e};if(l.children)l.children=Array.isArray(l.children)?i(l.children):l.children;else if(l.createModelOptions){let e=l.createModelOptions;l.createModelOptions=async function(){for(var l=arguments.length,i=Array(l),a=0;a<l;a++)i[a]=arguments[a];let s=i&&i.length>0?i[i.length-1]:void 0,d=await (0,r.mv)(null==n?void 0:n.createModelOptions,t,s),u=await (0,r.mv)(e,t,s);return o().merge({},o().cloneDeep(d),u)}}return l});return i(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 i(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,r.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 i(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 c of e){var o,r,i,a,d;let e="string"==typeof c?t.engine.getModelClass(c):c;if(!e)continue;let p=s(e,t);p||(p=await u(c,n)(t)),n.push(e);let m=!1;if("function"==typeof p)try{let e=await p(t);m=Array.isArray(e)?e.length>0:!!e}catch(e){m=!1}else m=Array.isArray(p)?p.length>0:!!p;if(!m)continue;let h=(null==e||null==(o=e.meta)?void 0:o.label)||("string"==typeof c?c:e.name),f="string"==typeof c?c:e.name,g=(null==e||null==(r=e.meta)?void 0:r.menuType)||"group",v=(null==e||null==(i=e.meta)?void 0:i.sort)??1e3,y=!!(null==e||null==(a=e.meta)?void 0:a.searchable),x=null==e||null==(d=e.meta)?void 0:d.searchPlaceholder;"submenu"===g?l.push({key:f,label:h,sort:v,searchable:y,searchPlaceholder:x,children:p}):l.push({key:f,type:"group",label:h,sort:v,searchable:y,searchPlaceholder:x,children:p})}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:r,maxAssociationFieldDepth:i=2}=t,a=t.collection||e.model.collection||e.collection,s=a.getFields(),d=[],u=o?o.split(".").filter(Boolean).length:0;for(let e of s){var c,p;if(!(null==e||null==(c=e.options)?void 0:c.interface)||u>=i&&((null==(p=e.isAssociationField)?void 0:p.call(e))||e.target||e.targetCollection))continue;let t=o?`${o}.${e.name}`:e.name,s="function"==typeof n?n(e):n??"FieldModel";if(s){let n={dataSourceKey:a.dataSourceKey,collectionName:a.name,fieldPath:e.name,associationPathName:o};d.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:r,createModelOptions:()=>({use:l,stepParams:{fieldSettings:{init:n}},subModels:{field:{use:s,stepParams:{fieldSettings:{init:n}}}}})})}}return[{key:`addField_${a.name}`,label:"",type:"group",searchable:!0,searchPlaceholder:e.t("Search fields"),children:d.filter(Boolean)}]}},76546(e,t,l){"use strict";l.d(t,{pM:()=>g,qG:()=>f,qS:()=>h,Ns:()=>s,zA:()=>u,U1:()=>c,JL:()=>v,Xk:()=>y}),l(89773),l(45336),l(79936),l(69861),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(5409),l(14324),l(23446);var n=l(95243),o=l(2543),r=l.n(o),i=l(16075),a=l.n(i);function s(e){var t;let l;switch(e.type){case"string":l=a().string();break;case"number":l=a().number();break;case"array":l=a().array();break;case"boolean":l=a().boolean();break;default:l=a().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:r}=e;if("required"===t&&(o=!0),"function"==typeof l[t])try{l=l[t](...n(t,r))}catch(e){console.warn(`调用 Joi 方法 ${t} 失败:`,e)}else console.warn(`Joi schema 上不存在方法: ${t}`)}),o||(l=(l=l.optional().allow("")).optional().allow(null)),l}function d(e){let t=[],l=new Set,n=new Set,o=new Map;e.forEach(e=>{o.set(e.name,e)});let r=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}r(l)}n.delete(e.name),l.add(e.name),t.push(e)}};for(let t of e)r(t);return t}class u{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)}registerFieldFilterOperator(e){var t,l;null==(l=this.collectionFieldInterfaceManager)||null==(t=l.registerFieldFilterOperator)||t.call(l,e)}registerFieldFilterOperatorGroup(e){var t,l;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];null==(l=this.collectionFieldInterfaceManager)||null==(t=l.registerFieldFilterOperatorGroup)||t.call(l,e,n)}addFieldFilterOperatorsToGroup(e){var t,l;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];null==(l=this.collectionFieldInterfaceManager)||null==(t=l.addFieldFilterOperatorsToGroup)||t.call(l,e,n)}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(){this.loaders=new Map,this.loadedKeys=new Set,this.loadingKeys=new Set,this.loadErrors=new Map,this.loadingPromise=null,this.dataSources=n.observable.shallow(new Map)}}function c(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)}}function p(e){return"string"==typeof e&&/\{\{\s*t\s*\(/.test(e)}function m(e,t,l){return p(t)?e.translate(t,l):t}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 r=o.getFieldByPath(n);if(r)return r}constructor(e={}){this.options=(0,n.observable)({...e}),this.collectionManager=new f(this)}}class f{resetCaches(){this.childrenCollectionsName={},this.allCollectionsInheritChain=void 0}get flowEngine(){return this.dataSource.flowEngine}addCollection(e){let t;(t=e instanceof g?e:new g(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 d(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 r=[];for(;o.length;){let e=o.shift();for(let i of(t.has(e)&&r.push(t.get(e)),l[e]||[]))n[i]--,0===n[i]&&o.push(i)}if(r.length!==e.length)throw Error("Collection inherits has circular dependency!");return r}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,r=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(r)for(let e=0;e<r.length;e++){let n=this.getCollection(r[e]).name;t.includes(n)||(t.push(n),l(n))}}return t};return this.allCollectionsInheritChain=l(e),this.allCollectionsInheritChain||[]}constructor(e){this.dataSource=e,this.childrenCollectionsName={},this.collections=n.observable.shallow(new Map)}}class g{clone(){let e=new g(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 v)e.setCollection(this),this.fields.set(e.name,e);else{let t=new v(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={}){this.options=(0,n.observable)({...e}),this.fields=n.observable.shallow(new Map),this.inherits=n.observable.shallow(new Map),this.setFields(e.fields||[])}}class v{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:m(this.flowEngine,e.label,{ns:"lm-collections"}),value:Number(e.value)}):t.map(e=>({...e,label:m(this.flowEngine,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:"multipleSelect"===this.interface?"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=s(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 c(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)=>y(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){this.options=(0,n.observable)({...e})}}function y(e,t){return!!e&&("*"===e||("string"==typeof e?e===t:!!Array.isArray(e)&&(e.includes("*")||e.includes(t))))}},48036(e,t,l){"use strict";l.d(t,{v:()=>n}),l(5409),l(45336),l(79936),l(69861);class n{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(){this.events={},this.paused=!1}}},26955(e,t,l){"use strict";l.d(t,{L:()=>n}),l(89773),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);class n{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(){this.events=new Map}}},84471(e,t,l){"use strict";l.d(t,{j:()=>r}),l(45336),l(23446),l(89773),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var n=l(68161),o=l(95243);class r{addFlows(e){for(let[t,l]of Object.entries(e||{}))this.addFlow(t,l)}addFlow(e,t){let l=new n.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(){this.flows=o.observable.shallow(new Map)}}},98837(e,t,l){"use strict";l.d(t,{r:()=>r}),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var n=l(33954),o=l(84471);class r extends o.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!==n.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,r=n.sort??0,i=o.sort??0;if(r!==i)return r-i;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(),this.target=e}}r._type="global"},96321(e,t,l){"use strict";l.d(t,{R:()=>o});var n=l(84471);class o extends n.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(),this.model=e}}o._type="instance"},29007(e,t,l){"use strict";l.d(t,{W5:()=>ej,uk:()=>eW,Hl:()=>eM,o0:()=>eA,d6:()=>eP,cB:()=>ep,Bt:()=>e_});var n=l(58587),o=l(18150),r=l(68238),i=l(88243),a=l(16213);l(61874),l(1633),l(9700),l(14324),l(45336),l(34678),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(79936),l(23089),l(82855),l(17106),l(36792),l(72713),l(25779),l(58149),l(89773),l(63836),l(23446),l(5409),l(69861),l(38263),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var s=l(95243),d=l(88909),u=l(25782),c=l(2543),p=l.n(c),m=l(55373),h=l.n(m),f=l(96540),g=l(5338),v=l.t(g,2),y=l(63128);l(91625);class x{setData(e){this.data=p().cloneDeep(e)}setMeta(e){this.meta=p().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:r}=await this.flowEngine.context.api.request({url:"roles:check"});this.data=(null==r?void 0:r.data)||{},this.meta=(null==r?void 0:r.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:r}=(null==(l=this)?void 0:l.meta)||{};return null==(o=({...this.data,...(0,c.omit)(null==r?void 0:r[t],"snippets")}).resources)||null==(n=o.includes)?void 0:n.call(o,e)}getResourceActionParams(e,t,l){var n,o,r;let i=this.getActionAlias(t),{dataSources:a}=(null==(n=this)?void 0:n.meta)||{},s={...this.data,...(0,c.omit)(null==a?void 0:a[l],"snippets")};return(null==(o=s.actions)?void 0:o[`${e}:${i}`])||(null==(r=s.actions)?void 0:r[t])}getStrategyActionParams(e,t){var l,n,o;let r=this.getActionAlias(e),{dataSources:i}=(null==(l=this)?void 0:l.meta)||{},a={...this.data,...(0,c.omit)(null==i?void 0:i[t],"snippets")};return(null==a||null==(o=a.strategy)||null==(n=o.actions)?void 0:n.find(e=>{let[t]=e.split(":");return t===r}))?{}:null}parseAction(e){var t;let{resourceName:l,actionName:n,dataSourceKey:o="main",recordPkValue:r,allowedActions:i}=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,r,i)?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])}can(e){var t;let{allowAll:l}=this.data;if(l)return!0;let{actionName:n,allowedActions:o,recordPkValue:r}=e,i=null!=r,a=i&&o?this.verifyScope(n,r,o):null;if(i&&o&&!0!==a)return!1;let s=this.parseAction(e);if(!s||!p().isEmpty(s.filter)&&!0!==a)return!1;if(!(null==(t=e.fields)?void 0:t.length))return!0;let d=[].concat(s.whitelist||[]).concat(s.fields||[]).concat(s.appends||[]);return!d.length||e.fields.every(e=>d.includes(e))}async aclCheck(e){let{allowAll:t}=this.data;return!!t||(e.fields?this.parseField(e):this.parseAction(e))}constructor(e){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}}}class b{toString(){return`{{${this.path.join(".")}}}`}valueOf(){return this.toString()}[Symbol.toPrimitive](){return this.toString()}static create(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["ctx"];return new Proxy(new b(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 b.create(o)}})}constructor(e){this.path=e}}var w=l(76546),S=l(48910);class C{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*(["'`])(?:\\.|(?!\1).)*?\1\s*(?:,\s*.*?)?\s*\)\s*\}\}/.test(e)}compileTemplate(e){return e.replace(/\{\{\s*t\s*\(\s*(["'`])((?:\\.|(?!\1).)*?)\1\s*(?:,\s*((?:[^{}]|\{[^}]*\})*?))?\s*\)\s*\}\}/g,(e,t,l,n)=>{try{let t={};if(n&&(n=n.trim()).startsWith("{")&&n.endsWith("}"))try{t=Function("$root",`with($root) { return (${n}); }`)({})}catch(t){return e}return this.translateKey(l,t)}catch(t){return console.warn(`FlowEngine: Failed to compile template "${e}":`,t),e}})}constructor(e){this.context=e}}var F=l(91013),k=l(27667),A=l(60182),P=l(31108),M=l(81982),j=l(22928),I=l(9297),T=l(58619),R=l(37966),E=l(62572),N=l(74353),D=l.n(N),$=l(98192),B=l(47684);async function O(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 q(){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,r=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=r}catch(e){}}}function L(){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 _(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(;L();){if(Date.now()-n>=t)return;await new Promise(e=>setTimeout(e,l))}}async function V(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 r=Math.max(0,(null==t?void 0:t.timeoutMs)??5e3),i=(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())},i=r>0?setTimeout(()=>{n()},r):void 0;t.onload=()=>{i&&clearTimeout(i),n()},t.onerror=()=>{i&&clearTimeout(i),n()},o.appendChild(t)})}}}}catch(e){}try{if("function"!=typeof fetch)return;let e="function"==typeof AbortController?new AbortController:void 0,t=e&&r>0?setTimeout(()=>{try{e.abort()}catch(e){}},r):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,i),await i}async function z(e,t){return await O(async()=>{let l,n;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}if(n)throw n;return l})}async function K(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 V(n),await O(async()=>{await _();let e=o?q():()=>{};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 U(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 W(e){if(!e||"string"!=typeof e)return null;let t=U(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 H(e,t){if(!e||"string"!=typeof e)return e;let l=e.trim(),n=l.indexOf("#"),o=n>=0?l.slice(0,n):l,r=n>=0?l.slice(n):"",i=o.indexOf("?"),a=i>=0?o.slice(0,i):o,s=new URLSearchParams(i>=0?o.slice(i+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}${r}`:`${a}${r}`}function G(){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 Y(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 J(e,t,l){if(!t||"string"!=typeof t)throw Error("invalid url");let n=t,o=W(t);if((null==o?void 0:o.name)==="antd"&&!o.subpath&&"string"==typeof G()){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=H(n,t)}let r=(0,B.i)(n,{addSuffix:(null==l?void 0:l.addSuffix)??!0}),i=(null==l?void 0:l.importer)||K,a=globalThis;a.__nocobaseImportAsyncCache=a.__nocobaseImportAsyncCache||new Map;let s=a.__nocobaseImportAsyncCache,d=s.get(r)||(async()=>Y(await i(r)))();s.set(r,d);let u=await d,c=null==e?void 0:e.libs;if(!c||"object"!=typeof c)return u;let p=W(n);if(!p)return u;let m=p.subpath||"";if("react"!==p.name||m)"react-dom"===p.name&&("client"===m||m.startsWith("client/"))?((0,$.qf)(e,"ReactDOM",u),e.__runjsExternalReactDOM={specifier:t,version:p.version,url:r}):"antd"!==p.name||m?"@ant-design/icons"!==p.name||m||((0,$.qf)(e,"antdIcons",u,{topLevelKey:!1}),e.__runjsExternalAntdIcons={specifier:t,version:p.version,url:r}):((0,$.qf)(e,"antd",u),e.__runjsExternalAntd={specifier:t,version:p.version,url:r});else{(0,$.qf)(e,"React",u),e.__runjsExternalReact={specifier:t,version:p.version,url:r};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.
3311
- Please run: await ctx.importAsync("${l}") to ensure ctx.render uses a matching ReactDOM.`);throw e.cause=n,e}}return u}function X(e){return e.endsWith("/")?e:`${e}/`}function Q(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=X(n.pathname),r=X(l.pathname);return l.origin!==n.origin||!r.startsWith(o)}catch{return!1}}function Z(e){return!!(e&&"object"==typeof e&&"collection"in e&&"filterByTk"in e)}function ee(e,t){if(t&&0!==t.length){if(Z(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 et(e){if(!e)return;let t=String(e).match(/^([^.[]+)/);return null==t?void 0:t[1]}function el(){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 r=e.split(".").filter(Boolean);if(0!==r.length){if(1===r.length){l.add(r[0]);continue}for(let e=0;e<r.length-1;e++)t.add(r.slice(0,e+1).join("."));l.add(r.join("."))}}return{generatedAppends:t.size?Array.from(t):void 0,generatedFields:l.size?Array.from(l):void 0}}var en=new WeakMap,eo=new WeakSet,er=new WeakSet,ei=new WeakSet,ea=new WeakSet,es=new WeakSet,ed=new WeakSet,eu=new WeakSet,ec=new WeakSet;class ep{createProxy(){return(0,n._)(this,en)||(0,r._)(this,en,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,en)}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 ep))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 ep))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 ep))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,A.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,i._)(this,eo,em).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,i._)(this,er,eh).call(this,l);if(n){let[o,r,a]=n;if(1===l.length){if("function"==typeof r)return()=>e(r,a,o);if(r.properties){if("function"==typeof r.properties)return()=>e(r,a,o);let t=(0,i._)(this,eo,em).call(this,r.properties,a,[],r);return Array.isArray(t)?t:[]}return[]}if("function"==typeof r){if(null==t?void 0:t.flatten)return()=>e(r,a,o);let l=(0,i._)(this,eu,ey).call(this,a);return[(0,i._)(this,ec,ex).call(this,o,r,a,l)]}if(r.properties){let e=[...(0,i._)(this,eu,ey).call(this,a),r.title],t=(0,i._)(this,eo,em).call(this,r.properties,a,e,r);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,i._)(this,ec,ex).call(this,t,l,[t],[])})}async getApiInfos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version||"v1",l=!!e.includeCompletion,n=this.createProxy(),o=e=>"string"==typeof e&&e.startsWith("_"),r=e=>"record"===e||"formValues"===e||"popup"===e,i=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,a=(()=>{var e,l,n,o,r,i,a,s;let d=(0,R.B)(this),u=R.F.resolve(t,d)||R.F.resolve(t,"*");if(!u)return{};let c=(null==(n=this)||null==(l=n.api)||null==(e=l.auth)?void 0:e.locale)||(null==(r=this)||null==(o=r.i18n)?void 0:o.language)||(null==(i=this)?void 0:i.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{}}})(),s=eN(null==a?void 0:a.methods)?a.methods:{},d=eN(null==a?void 0:a.properties)?a.properties:{},u=e=>"string"==typeof e?{description:e}:eN(e)?e:void 0,c=(e,t)=>{let l="string"==typeof t?t:eN(t)&&"string"==typeof t.description?String(t.description):void 0;return l&&l.includes(`ctx.libs.${e}`)?`libs.${e}`:e},p=e=>{let t=u(e);if(!t)return{};let n={};for(let e of["description","examples",...l?["completion"]:[],"ref","params","returns"]){let l=t[e];void 0!==l&&(n[e]=l)}return Array.isArray(n.examples)&&(n.examples=n.examples.filter(e=>"string"==typeof e&&e.trim())),n},m=e=>{let t=u(e);if(!t)return{};let n={};for(let e of["title","type","interface","description","examples",...l?["completion"]:[],"ref","params","returns"]){let l=t[e];void 0!==l&&(n[e]=l)}return Array.isArray(n.examples)&&(n.examples=n.examples.filter(e=>"string"==typeof e&&e.trim())),n},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 r=n._delegates;if(Array.isArray(r))for(let e of r){let t=l(e);if(t)return t}};return l(this)},f=async e=>{let t=this.getPropertyOptions(e);if(null==t?void 0:t.info)try{let e="function"==typeof t.info?t.info.call(n,n):t.info;return(i(e)?await e:e)??void 0}catch(e){return}},g=new Set,v=new Set;for(let e of Object.keys(d))g.add(e);for(let e of Object.keys(s))v.add(e);let y=(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)&&g.add(e)}catch(e){}try{let t=e._methodInfos;if(t&&"object"==typeof t)for(let e of Object.keys(t))v.add(e)}catch(e){}try{let l=e._delegates;if(Array.isArray(l))for(let e of l)y(e,t)}catch(e){}}};y(this,new WeakSet);let x={};for(let e of g){if(o(e)||r(e))continue;let t=d[e],n=await f(e);if(void 0===t&&void 0===n)continue;let i=u(t),a=u(n),s={};if(s={...s={...s,...m(i)},...m(a)},delete s.properties,l||delete s.completion,!Object.keys(s).length)continue;let p=c(e,t);x[p]=x[p]?{...x[p]||{},...s||{}}:s}for(let e of v){if(o(e))continue;let t=s[e],n=h(e);if(void 0===t&&void 0===n)continue;let r=u(t),i={};i={...i={...i,...p(r)},...p(n)},delete i.properties,l||delete i.completion,Object.keys(i).length&&(i.type="function",x[e]?x[e]={...x[e]||{},...i||{}}:x[e]=i)}let b=u(d.libs),w=eN(null==b?void 0:b.properties)?b.properties:void 0;if(w)for(let[e,t]of Object.entries(w)){if(o(e))continue;let n=`libs.${e}`;if(x[n])continue;let r=u(t),i={};i={...i,...m(r)},delete i.properties,l||delete i.completion,i.description&&String(i.description).trim()&&(x[n]=i)}return x}async getEnvInfos(){var e,t,l;let n=this.createProxy(),o=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,r={},i=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,r;let i={};if(!e)return i;let s=e;for(let e of["dataSourceKey","collectionName","associationName","filterByTk","sourceId"]){let t=null==s?void 0:s[e];a(t)&&(i[e]=t)}if(!("dataSourceKey"in i)){let e=null==(t=s.getDataSourceKey)?void 0:t.call(s);a(e)&&(i.dataSourceKey=e)}if(!("filterByTk"in i)){let e=null==(l=s.getFilterByTk)?void 0:l.call(s);a(e)&&(i.filterByTk=e)}if(!("filterByTk"in i)){let e=null==(n=s.getMeta)?void 0:n.call(s,"currentFilterByTk");a(e)&&(i.filterByTk=e)}if(!("sourceId"in i)){let e=null==(o=s.getSourceId)?void 0:o.call(s);a(e)&&(i.sourceId=e)}if(!("collectionName"in i)||!("associationName"in i)){let e=null==(r=s.getResourceName)?void 0:r.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 i||(i.collectionName=e[0]):e.length>=2&&("collectionName"in i||(i.collectionName=e[0]),"associationName"in i||(i.associationName=e.slice(1).join(".")))}}return i},d=await (async()=>{try{let e=n.popup;return o(e)?await e:e}catch(e){return}})(),u=i(()=>n.model),c=i(()=>n.blockModel),p=i(()=>{var e;return null==(e=n.view)?void 0:e.inputArgs}),m=i(()=>n.resource),h=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),x=s(p),b=s(m),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),C=S(h)?"ctx.popup.resource":S(y)?v:S(x)?"ctx.view.inputArgs":S(b)?"ctx.resource":void 0,F=w([{value:null==h?void 0:h.collectionName,getVar:"ctx.popup.resource.collectionName"},{value:null==y?void 0:y.collectionName,getVar:`${v}.collectionName`},{value:null==x?void 0:x.collectionName,getVar:"ctx.view.inputArgs.collectionName"},{value:null==b?void 0:b.collectionName,getVar:"ctx.resource.collectionName"}]),k=w([{value:null==h?void 0:h.dataSourceKey,getVar:"ctx.popup.resource.dataSourceKey"},{value:null==y?void 0:y.dataSourceKey,getVar:`${v}.dataSourceKey`},{value:null==x?void 0:x.dataSourceKey,getVar:"ctx.view.inputArgs.dataSourceKey"},{value:null==b?void 0:b.dataSourceKey,getVar:"ctx.resource.dataSourceKey"}]),A=w([{value:null==h?void 0:h.associationName,getVar:"ctx.popup.resource.associationName"},{value:null==y?void 0:y.associationName,getVar:`${v}.associationName`},{value:null==x?void 0:x.associationName,getVar:"ctx.view.inputArgs.associationName"},{value:null==b?void 0:b.associationName,getVar:"ctx.resource.associationName"}]),P=w([{value:null==h?void 0:h.filterByTk,getVar:"ctx.popup.resource.filterByTk"},{value:null==y?void 0:y.filterByTk,getVar:`${v}.filterByTk`},{value:null==x?void 0:x.filterByTk,getVar:"ctx.view.inputArgs.filterByTk"},{value:null==b?void 0:b.filterByTk,getVar:"ctx.resource.filterByTk"}]),M=w([{value:null==h?void 0:h.sourceId,getVar:"ctx.popup.resource.sourceId"},{value:null==y?void 0:y.sourceId,getVar:`${v}.sourceId`},{value:null==x?void 0:x.sourceId,getVar:"ctx.view.inputArgs.sourceId"},{value:null==b?void 0:b.sourceId,getVar:"ctx.resource.sourceId"}]),j={},I=!1,T=null==F?void 0:F.value;a(T)&&(j.collectionName={description:"Collection name",getVar:(null==F?void 0:F.getVar)||(C?`${C}.collectionName`:void 0),value:T},I=!0);let R=null==k?void 0:k.value;a(R)&&(j.dataSourceKey={description:"Data source key",getVar:(null==k?void 0:k.getVar)||(C?`${C}.dataSourceKey`:void 0),value:R},I=!0);let E=null==A?void 0:A.value;a(E)&&(j.associationName={description:"Association name",getVar:(null==A?void 0:A.getVar)||(C?`${C}.associationName`:void 0),value:E},I=!0),I&&(a(null==P?void 0:P.value)&&(j.filterByTk={description:"Record filterByTk",getVar:(null==P?void 0:P.getVar)||(C?`${C}.filterByTk`:void 0)}),a(null==M?void 0:M.value)&&(j.sourceId={description:"Source record ID (sourceId)",getVar:(null==M?void 0:M.getVar)||(C?`${C}.sourceId`:void 0)}),r.resource={description:"Resource information",getVar:C,properties:j}),a(null==P?void 0:P.value)&&(r.record={description:"Current record",getVar:"ctx.record"});let N=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=N(u),l=u.uid,n=null==(e=u.constructor)?void 0:e.name,o=s(u.resource),i={},d=!1,c=o.collectionName;a(c)&&(i.collectionName={description:"Collection name",getVar:"ctx.model.resource.collectionName",value:c},d=!0);let p=o.dataSourceKey;a(p)&&(i.dataSourceKey={description:"Data source key",getVar:"ctx.model.resource.dataSourceKey",value:p},d=!0);let m=o.associationName;a(m)&&(i.associationName={description:"Association name",getVar:"ctx.model.resource.associationName",value:m},d=!0),r.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:i}}:{}}}}if((null==d?void 0:d.uid)&&(r.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=N(f),l=f.uid,n=null==(t=f.constructor)?void 0:t.name,o={},i=!1,s=y.collectionName;a(s)&&(o.collectionName={description:"Collection name",getVar:`${v}.collectionName`,value:s},i=!0);let d=y.dataSourceKey;a(d)&&(o.dataSourceKey={description:"Data source key",getVar:`${v}.dataSourceKey`,value:d},i=!0);let u=y.associationName;a(u)&&(o.associationName={description:"Association name",getVar:`${v}.associationName`,value:u},i=!0),r.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}}:{},...i?{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()})(),$=i(()=>n.engine),B=D?null==$?void 0:$.getModel(D,!0):void 0,O=e=>{var t;return(null==(t=e.context)?void 0:t.blockModel)===e};if(B){let e=[B],t=[];for(let n=0;n<e.length;n++){let o=e[n];if(O(o)){let e=(null==(l=o.constructor)?void 0:l.name)||o.uid,n=N(o)||e||o.uid,r=s(o.resource),i={};a(r.dataSourceKey)&&(i.dataSourceKey=r.dataSourceKey),a(r.collectionName)&&(i.collectionName=r.collectionName),a(r.associationName)&&(i.associationName=r.associationName);let d={uid:o.uid,label:n,modelClass:e,...Object.keys(i).length>0?{resource:i}:{}};t.push(d)}let r=o.subModels;if(r&&"object"==typeof r)for(let t of Object.values(r))t&&(Array.isArray(t)?e.push(...t):e.push(t))}t.length&&(r.currentViewBlocks={description:"Current view blocks",value:t})}return r}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(),r=e=>"string"==typeof e&&e.startsWith("_"),i=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(i(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,A.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,r,i,a,s;let d=(0,R.B)(this),u=R.F.resolve(n,d)||R.F.resolve(n,"*");if(!u)return{};let c=(null==(l=this)||null==(t=l.api)||null==(e=t.auth)?void 0:e.locale)||(null==(r=this)||null==(o=r.i18n)?void 0:o.language)||(null==(i=this)?void 0:i.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{}}})();eN(null==p?void 0:p.methods)&&p.methods,eN(null==p?void 0:p.properties)&&p.properties;let m=e=>"string"==typeof e?{description:e}:eN(e)?e:void 0,h=async(e,t)=>{if(void 0!==e){if("boolean"==typeof e)return e;if("function"==typeof e)try{let l=t(e);return i(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=i(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),r=i(n)?await n:n;"boolean"==typeof r?t=r:Array.isArray(r)&&(l=r)}}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=m(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},x=async e=>{let t,n,{docNode:i,metaNode:a,infoNode:d,depth:u,pathFromRoot:c,hiddenPrefixes:p}=e,b=c.join(".");if(v(b,p))return;let w=m(i),S=m(d),C=await g(null==w?void 0:w.hidden);if(C.hideSelf)return;let F=await g(null==S?void 0:S.hidden);if(F.hideSelf)return;let k=await s(a);if(await h(null==k?void 0:k.hidden,e=>e.call(k,o)))return;let A=new Set(p);for(let e of[...C.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=b?`${b}.${l}`:l;A.add(n)}let P=await h(null==w?void 0:w.disabled,e=>e(o)),M=await f(null==w?void 0:w.disabledReason,e=>e(o)),j=await h(null==k?void 0:k.disabled,e=>e.call(k,o)),I=await f(null==k?void 0:k.disabledReason,e=>e.call(k,o)),T=await h(null==S?void 0:S.disabled,e=>e(o)),R=await f(null==S?void 0:S.disabledReason,e=>e(o)),E=void 0!==T?T:void 0!==j?j:P,N=void 0!==R?R:void 0!==I?I:M,D={};if(D={...D={...D={...D,...y(w)},...y(k)},...y(S)},void 0!==E&&(D.disabled=!!E),void 0!==N&&(D.disabledReason=N),u>=l)return Object.keys(D).length?D:void 0;let $=eN(null==w?void 0:w.properties)?w.properties:void 0;if(null==k?void 0:k.properties)try{let e=k.properties;if("function"==typeof e){let l=await e.call(k,o);k.properties=l,t=l}else eN(e)&&(t=e)}catch(e){t=void 0}if(eN(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 eN(e)&&(n=e)}catch(e){n=void 0}let B=new Set;if($)for(let e of Object.keys($))B.add(e);if(t)for(let e of Object.keys(t))B.add(e);if(n)for(let e of Object.keys(n))B.add(e);if(!B.size)return Object.keys(D).length?D:void 0;let O={};for(let e of B){if(r(e))continue;let l=await x({docNode:null==$?void 0:$[e],metaNode:null==t?void 0:t[e],infoNode:null==n?void 0:n[e],depth:u+1,pathFromRoot:[...c,e],hiddenPrefixes:A});l&&(O[e]=l)}if(Object.keys(O).length&&(D.properties=O),Object.keys(D).length)return D},b=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],r=null==e?void 0:e.properties;if(!r)break;if("function"==typeof r){let t=await r.call(e,o);e.properties=t,r=t}if(!r||"object"!=typeof r)break;let i=null==r?void 0:r[n];if(!i)break;if(t===l.length-1)return i;let a=await s(i);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=>r(e))||!l.length)continue;let n=await b(l),o=await x({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(r(e))continue;let l=await x({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"api"===e?(0,I.kx)(l.value,t):l.value;if(l.get){if(!1===l.cache){let n=l.get(t);return"api"===e?(0,I.kx)(n,t):n}let n=l.observable?"_observableCache":"_cache";if(e in this[n])return"api"===e?(0,I.kx)(this[n][e],t):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(l=>(this[n][e]=l,delete this._pending[e],"api"===e?(0,I.kx)(l,t):l),t=>{throw delete this._pending[e],t}),this._pending[e]):(this[n][e]=o,"api"===e?(0,I.kx)(o,t):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,eo),(0,a._)(this,er),(0,a._)(this,ei),(0,a._)(this,ea),(0,a._)(this,es),(0,a._)(this,ed),(0,a._)(this,eu),(0,a._)(this,ec),(0,o._)(this,en,{writable:!0,value:void 0}),this._props={},this._methods={},this._methodInfos={},this._cache={},this._observableCache=s.observable.shallow({}),this._delegates=[],this._pending={},(0,r._)(this,en,null),this._metaNodeCache=new WeakMap,this.createProxy()}}function em(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 r=Object.entries(o);return r.sort((e,t)=>{let[,l]=e,[,n]=t;return((null==n?void 0:n.sort)??0)-((null==l?void 0:l.sort)??0)}),r.map(e=>{let[n,o]=e;return(0,i._)(this,ec,ex).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,i._)(this,ec,ex).call(this,n,o,[...t,n],l)})}function eh(e){if(0===e.length)return null;let[t,...l]=e,n=this._props[t];if(null==n?void 0:n.meta)return(0,i._)(this,ea,eg).call(this,t,n.meta,l,[t]);let o=(0,i._)(this,ei,ef).call(this,this._delegates,t);return o?(0,i._)(this,ea,eg).call(this,t,o,l,[t]):null}function ef(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,i._)(this,ei,ef).call(this,l._delegates,t);if(n)return n}return null}function eg(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,i._)(this,ed,ev).call(this,e,l)},[...n,...l]];if(t.properties){let[e,...o]=l,r=[...n,e];if("function"==typeof t.properties)return[l[l.length-1],async()=>{let l=t.properties,n=await l();t.properties=n;let r=n[e];if(!r)throw Error(`Property ${e} not found in resolved properties`);return await (0,i._)(this,ed,ev).call(this,r,o)},[...n,...l]];let a=t.properties[e];if(a)return(0,i._)(this,ea,eg).call(this,e,a,o,r)}return null}async function ev(e,t){if(0===t.length)return e;let l=e;for(let e of t){let n=p().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 ey(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],r=o[t];if(!r||"function"==typeof r){n.push(t);break}if(n.push(r.title||t),e<l.length-1&&r.properties&&"function"!=typeof r.properties)o=r.properties;else if(e<l.length-1){for(let t=e+1;t<l.length;t++)n.push(l[t]);break}}return n}function ex(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]:[],r=this._metaNodeCache.get(t);if(r)return r.paths=n,r.parentTitles=o.length>0?o:void 0,r;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 r=e,s=t.hasChildren;l={name:e,title:t.title||r,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 r=await t(),a=(null==r?void 0:r.title)||e;if(l.title=a,l.type=null==r?void 0:r.type,l.interface=null==r?void 0:r.interface,l.options=null==r?void 0:r.options,l.uiSchema=null==r?void 0:r.uiSchema,!(null==r?void 0:r.properties))return[];let s=(0,i._)(this,eo,em).call(this,r.properties,n,[...o,a],r),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 r=t.title,{disabled:s,reason:d,hidden:u}=a(t);l={name:e,title:r,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,i._)(this,eo,em).call(this,t.properties,n,[...o,r],t):void 0}}return this._metaNodeCache.set(t,l),l}class eb extends ep{constructor(){super(),this.defineMethod("getModel",(e,t)=>this.engine.getModel(e,t)),this.defineMethod("request",function(e){let t=this.app;return"string"==typeof(null==e?void 0:e.url)&&Q(e.url,t)?d.A.request(e):this.api.request(e)}),this.defineMethod("runjs",async function(e,t,l){let{preprocessTemplates:n,...o}=l||{},r={...(null==o?void 0:o.globals)||{},...t||{}},i=await this.createJSRunner({...o||{},globals:r}),a=(0,F.RU)({version:null==o?void 0:o.version,preprocessTemplates:n}),s=await (0,A.ji)(String(e??""),{preprocessTemplates:a});return i.run(s)},{description:"Execute a RunJS code string in the current Flow context.",detail:"(code: string, variables?: Record<string, any>, options?: JSRunnerOptions) => Promise<RunJSResult>",params:[{name:"code",type:"string",description:"RunJS code to execute."},{name:"variables",type:"Record<string, any>",optional:!0,description:"Additional globals."},{name:"options",type:"JSRunnerOptions",optional:!0,description:"Runner options."}],returns:{type:"Promise<{ success: boolean; value?: any; error?: any; timeout?: boolean }>"},completion:{insertText:"await ctx.runjs('return 1')"}})}}class ew extends eb{}let eS=["dataSourceKey","collectionName","associationName","filterByTk","sourceId","tabUid"];function eC(e,t){let l={};for(let n of t)void 0!==(null==e?void 0:e[n])&&(l[n]=e[n]);return l}function eF(e){return eC(e,eS)}function ek(e,t){for(let[l,n]of Object.entries(t))void 0===e[l]&&(e[l]=n)}class eA extends eb{constructor(e){if(!(e instanceof S.$))throw Error("Invalid FlowEngine instance");super(),this.engine=e,this.engine=e;const t=new w.zA;t.setFlowEngine(this.engine);const n=new w.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 k.tP(e),cache:!1,info:{description:"SQL helper (FlowSQLRepository).",detail:"FlowSQLRepository"}}),this.defineProperty("dataSourceManager",{value:t,info:{description:"DataSourceManager instance.",detail:"DataSourceManager"}});const o=new C(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,A.MI)("Current language"),sort:970,hasChildren:!1})}),this.defineMethod("renderJson",function(e){return this.resolveJsonTemplate(e)});const r=async function(e,t){let l=(0,A.nN)(e),n=Object.keys(l||{});if(!n.length)return(0,A.M)(e,this);let o={};for(let e of n){let t=l[e]||[],n=this.getPropertyOptions(e),r=null==n?void 0:n.resolveOnServer;if(!0===r)o[e]=t;else if("function"==typeof r){let l=t.filter(e=>{try{return!!r(e)}catch(e){return!1}});l.length&&(o[e]=l)}}let r=Object.keys(o).length>0,i=e;if(r){let l=e=>{let t=(0,T.XU)(e);if(t)return t;try{var l,n,o,r,i,a,s,d,u,c,p,m,h;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==(i=a.slice)||null==(r=i.call(a,-1))?void 0:r[0]);if(!f)return;let g=(null==e||null==(p=e.collection)?void 0:p.dataSourceKey)||(null==e||null==(h=e.resource)||null==(m=h.getDataSourceKey)?void 0:m.call(h));return{collection:f,dataSourceKey:g,filterByTk:t}}catch(e){return}},n=async()=>{let e={};try{var t,l;let n=null==(t=(l=this)._getPropertiesMeta)?void 0:t.call(l);if(!n||"object"!=typeof n)return e;for(let[t,l]of Object.entries(n))if(o[t])try{let n;if("function"==typeof l){let e=l;n=await e()}else n=l;if(!n||"object"!=typeof n)continue;let r=n.buildVariablesParams;if("function"!=typeof r)continue;let i=await r(this);if(!i)continue;let a=o[t]||[],s=ee(i,a);s&&("object"!=typeof s||Object.keys(s).length)&&(e[t]=s)}catch(e){}}catch(e){}return e},r=await n(),u={...r},c=o.view||[];if(!u.view&&c.some(e=>"record"===e||e.startsWith("record.")||e.startsWith("record["))){let e=(0,T.Cg)(this);e&&(u.view={record:e})}try{let e="formValues",t=o[e]||[];if(t.length){let n=new Set;for(let e of t){let t=et(e);t&&n.add(t)}let o=null==r?void 0:r[e],i=new Set;if(!o||"object"!=typeof o||Array.isArray(o)||Z(o)||Object.keys(o).forEach(e=>i.add(e)),[...n].filter(e=>!i.has(e)).length){let n=l(this);if(n){let{generatedFields:l,generatedAppends:o}=el(t),r={...n,fields:l,appends:o},i=u[e];if(i&&"object"==typeof i&&!Array.isArray(i)&&!Z(i)){for(let[t,l]of Object.entries(i))u[`${e}.${t}`]=l;delete u[e]}u[e]=r}}}}catch(e){}let p=Object.keys(u).length?(0,j.d)(this,u):void 0;if(!p){let t=Object.keys(o);if(t.length>0&&t.every(e=>{var t;return null==(t=this.getPropertyOptions(e))?void 0:t.serverOnlyWhenContextParams}))return(0,A.M)(e,this)}if(this.api){var a,s,d;try{let l=(0,M.pk)(this,null==t?void 0:t.contractModelUid);i=await (0,M.o4)(this,{...l?{contractRd:l}:{},rd:(0,M.pk)(this,null==(a=this.model)?void 0:a.uid),template:e,contextParams:p||{}})}catch(t){null==(d=this.logger)||null==(s=d.warn)||s.call(d,{err:t},"variables:resolve failed, fallback to client-only"),i=e}}}return(0,A.M)(i,this)};this.defineMethod("resolveJsonTemplate",r),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,l;let n=null==(t=this.api)||null==(e=t.auth)?void 0:e.role;if("__union__"!==n)return n;let o=null==(l=this.user)?void 0:l.roles;return Array.isArray(o)?o.map(e=>null==e?void 0:e.name).filter(e=>!!e):[]},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("Current role"),sort:990}),{title:(0,A.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 h().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(h().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=h().parse(l)||{},o={};for(let e of Object.keys(n))o[e]={type:"string",title:e};return o}}),{title:(0,A.MI)("URL search params"),sort:970,hasChildren:!0})}),this.defineProperty("logger",{get:()=>this.engine.logger.child({module:"flow-engine"})}),this.defineProperty("auth",{get:()=>{var e,t,l,n,o,r;return{roleName:null==(t=this.api)||null==(e=t.auth)?void 0:e.role,locale:null==(n=this.api)||null==(l=n.auth)?void 0:l.locale,token:null==(r=this.api)||null==(o=r.auth)?void 0:o.token,user:this.user}},cache:!1}),this.defineProperty("date",{get:()=>{let e=t=>new Proxy({},{get:(l,n)=>{if("string"!=typeof n)return;let o=[...t,n];if(!(0,A.JE)(o))return;let r=(0,A.Vv)(o);return void 0!==r?r:e(o)}});return e(["date"])},cache:!1}),this.defineMethod("loadCSS",async e=>{let t=(0,A.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,A.yp)(e))return this.loadCSS(e);let t=(0,A.i)(e,{raw:!0});return await z(this.requirejs,t)}),this.defineMethod("importAsync",async function(e){return(0,A.yp)(e)?this.loadCSS(e):await J(this,e,{importer:K})}),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,R.B)(this),o=R.F.resolve(t,n)||eW,r=new o(this);r.defineMethod("t",(e,t)=>this.t(e,{ns:"runjs",...t}));let i={};try{var a,s,d,u,c,p,m,h;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);i=(null==o||null==(m=o.getDoc)?void 0:m.length)?o.getDoc(e)||{}:(null==o||null==(h=o.getDoc)?void 0:h.call(o))||{}}catch(e){i={}}let f=e_(r,{doc:i}),g={};"u">typeof window&&(g.window=window,"u">typeof navigator&&(g.navigator=navigator)),"u">typeof document&&(g.document=document);let v={ctx:f,...g,...(null==e?void 0:e.globals)||{}},{timeoutMs:y}=e||{};return new F.I$({globals:v,timeoutMs:y})}),this.defineMethod("buildServerContextParams",function(e){return(0,j.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,E.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let o={...await (0,A.gG)(l.defaultParams,n)||{},...t||{}},r=l.useRawParams;if("function"==typeof r&&(r=await r(n)),r||(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.skipAclCheck||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 eP extends ew{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"}});const t=(0,f.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,r;let i={..."function"==typeof(null==(l=this.model)?void 0:l.getInputArgs)?eF(this.model.getInputArgs()):{},...eF(this.inputArgs)},a={...t||{}};ek(a,i),(a.defineProperties||a.defineMethods)&&(a.navigation=!1);let s=null;(s=await this.engine.loadModel({uid:e}))||(s=this.engine.createModel({uid:e,use:"PopupActionModel",parentId:this.model.uid,subType:"object",subKey:e,stepParams:{popupSettings:{openView:{...eC(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==(o=s.stepParams)||null==(n=o.popupSettings)?void 0:n.openView)?s.uid:this.model.uid),u=this.view,c={type:(null==a?void 0:a.isMobileLayout)?"embed":(null==a?void 0:a.mode)||"drawer",inputArgs:{...a,viewUid:d,navigation:a.navigation},navigation:null==u?void 0:u.navigation,preventClose:!!(null==a?void 0:a.preventClose),engineCtx:this.engine.context};s.context.defineProperty("view",{value:c});let p=null==(r=s.getFlow)?void 0:r.call(s,"popupSettings"),m=null==p?void 0:p.on,h="click";"string"==typeof m&&m?h=m:m&&"object"==typeof m&&"string"==typeof m.eventName&&m.eventName&&(h=m.eventName),await s.dispatchEvent(h,{...a})}),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,E.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let o={...await (0,A.gG)(l.defaultParams,n)||{},...t||{}},r=l.useRawParams;if("function"==typeof r&&(r=await r(n)),r||(o=await n.resolveJsonTemplate(o)),!l.handler)throw Error(`Action '${e}' has no handler.`);return l.handler(n,o)})}}class eM extends ew{constructor(e,t){if(!e||"object"!=typeof e)throw Error("Invalid FlowModel instance");super(),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"}});const l=(0,f.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 ew{_getOwnProperty(e){if("runtime"===this.mode)return super._getOwnProperty(e,this.createProxy());let t=this._props[e];if(t){if("value"in t)return b.create()[e];if(t.get){if(!1===t.cache)return b.create()[e];let l=t.observable?"_observableCache":"_cache";return e in this[l]||(this[l][e]=b.create()[e]),this[l][e]}}}exit(){throw new P.zz(this.flowKey,this.model.uid)}exitAll(){throw new P.zz(this.flowKey,this.model.uid)}get mode(){return this._mode}constructor(e,t,l="runtime"){super(),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=>p().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,eT=new WeakMap,eR=new WeakMap;function eE(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=eE(null==e?void 0:e[n],t[n]);void 0===o?delete l[n]:l[n]=o}return l}function eN(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 e$(e){return!0===e||(e&&eN(e)?e:void 0)}function eB(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 eO(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]||{},eO(e.children[t],l[t])}function eq(e){let t={};if(!e)return t;let l=(e,n)=>{if(eN(e))for(let[o,r]of Object.entries(e)){if(!o||!r||"object"!=typeof r||Array.isArray(r))continue;let e=r,i=e$(e.deprecated);i&&eB(t,[...n,o],i),eN(e.properties)&&l(e.properties,[...n,o])}},n=e=>{if(eN(e))for(let[l,n]of Object.entries(e)){if(!l||!n||"object"!=typeof n||Array.isArray(n))continue;let e=e$(n.deprecated);e&&eB(t,[l],e)}};return l(e.properties,[]),n(e.methods),t}function eL(e){let t={},l=new WeakSet,n=(e,l)=>{if(eN(l))for(let[o,r]of Object.entries(l)){if(!o||"string"==typeof r||!r||"object"!=typeof r||Array.isArray(r))continue;let l=r,i=e$(l.deprecated);i&&eB(t,[...e,o],i),eN(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 r=e._methodInfos;if(eN(r))for(let[e,l]of Object.entries(r)){if(!e||!l||"object"!=typeof l||Array.isArray(l))continue;let n=e$(l.deprecated);n&&eB(t,[e],n)}let i=e._props;if(eN(i))for(let[e,l]of Object.entries(i)){if(!e)continue;let o=null==l?void 0:l.info;if(!o||"object"!=typeof o||Array.isArray(o))continue;let r=e$(o.deprecated);r&&eB(t,[e],r),eN(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 e_(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eq(t.doc);eO(l,eL(e));let n=new Set,o=new WeakMap,r=new WeakMap,i=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(eN(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,r=e$(t.deprecated);r&&eB(l,[...e,n],r),eN(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=e$(n.deprecated);o&&eB(l,[e],o),eN(n.properties)&&s([e],n.properties)},u=(e,t)=>{if(!e||!t||"object"!=typeof t||Array.isArray(t))return;let n=e$(t.deprecated);n&&eB(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}}},m=(t,l,o)=>{if(!t||n.has(t))return;n.add(t);let r=null==e?void 0:e.logger,i="function"==typeof(null==e?void 0:e.t)?(t,l)=>e.t(t,{ns:[A.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,m="string"==typeof s.message?String(s.message):"",h=a(o),f=h.line?`(line ${h.line}${h.column?`:${h.column}`:""})`:"",g=m.trim(),v=g?i("RunJS deprecated warning with message",{defaultValue:"[RunJS][Deprecated] {{api}} {{message}}{{location}}",api:t,message:g,location:f}):i("RunJS deprecated warning",{defaultValue:"[RunJS][Deprecated] {{api}} is deprecated{{location}}",api:t,location:f}),y=i("RunJS deprecated separator",{defaultValue:"; "}),x=[v];d&&x.push(i("RunJS deprecated replacedBy",{defaultValue:"Use {{replacedBy}} instead",replacedBy:d})),u&&x.push(i("RunJS deprecated since",{defaultValue:"since {{since}}",since:u})),c&&x.push(i("RunJS deprecated removedIn",{defaultValue:"will be removed in {{removedIn}}",removedIn:c}));let b=x.filter(Boolean).join(y);try{r&&"function"==typeof r.warn?r.warn(b):console.warn(b)}catch(e){}},h=(e,t,l)=>{let o=t.deprecated;if(!o)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,{apply(e,t,r){let i=n.has(l)?void 0:Error().stack;return m(l,o,i),Reflect.apply(e,c(t),r)},get:(e,t,l)=>Reflect.get(e,t,l)});return r.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 i=r.get(e)||new Map;if(r.set(e,i),i.has(l))return i.get(l);let a=new Proxy(e,{get(e,o,r){var i;if("symbol"==typeof o)return Reflect.get(e,o,c(r));let a=String(o),s=Reflect.get(e,o,c(r));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==(i=t.children)?void 0:i[a];if(!p)return s;let g=`${l}.${a}`;if("function"==typeof s&&p.deprecated)return h(s,p,g);if(p.deprecated){let e=n.has(g)?void 0:Error().stack;m(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),i.set(l,a),a};return f(e,l,"ctx")}function eV(e,t,l){if(!eN(t))return e;if(!eN(e))return t;let n={...e};for(let o of Object.keys(t)){let r=t[o];if(null===r){delete n[o];continue}let i=l(eN(e)?e[o]:void 0,r);void 0===i?delete n[o]:n[o]=i}return n}function ez(e,t){if(null===t)return;let l=eN(e),n=eN(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,r={...n||{}};for(let e of Object.keys(t)){if("properties"===e){let e=t.properties;if(null===e){delete r.properties;continue}let l=eV(null==n?void 0:n.properties,e,ez);void 0===l?delete r.properties:r.properties=l;continue}let l=eE(null==n?void 0:n[e],t[e]);void 0===l?delete r[e]:r[e]=l}return r}return t??e}function eK(e,t){if(null===t)return;let l=eN(e),n=eN(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,r={...n||{}};for(let e of Object.keys(t)){let l=eE(null==n?void 0:n[e],t[e]);void 0===l?delete r[e]:r[e]=l}return r}return t??e}function eU(e,t){let l=eN(e)?e:{},n=eN(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=eE(l[e],n[e]);void 0===t?delete o[e]:o[e]=t}return o}class eW extends ep{[I.NH](e,t){var l,n,o,r,i;if("create"!==e.actionName.toLowerCase()||!t||Array.isArray(t)||Object.prototype.hasOwnProperty.call(t,"updateAssociationValues")||!this.form||"function"!=typeof(null==(l=this.blockModel)?void 0:l.submitFromRunJs))return t;let a=this.resource,s=null==a||null==(n=a.getResourceName)?void 0:n.call(a),d=(null==a||null==(o=a.getDataSourceKey)?void 0:o.call(a))||"main";if(e.resourceName!==s||(e.dataSourceKey||"main")!==d)return t;let u=null==a||null==(r=a.getSourceId)?void 0:r.call(a);if((null==s?void 0:s.includes("."))&&null!=u&&String(e.resourceOf??"")!==String(u))return t;let c=null==a||null==(i=a.getUpdateAssociationValues)?void 0:i.call(a);return Array.isArray(c)&&0!==c.length?{...t,updateAssociationValues:[...c]}:t}exit(){var e;throw new P.zz(this.flowKey,(null==(e=this.model)?void 0:e.uid)||"runjs")}exitAll(){var e;throw new P.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=eT.get(this)||new Map,n=t.get(l)||{};t.set(l,eU(n,e)),eT.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=[],r=t;for(;r&&r.prototype;)o.unshift(r),r=Object.getPrototypeOf(r);let i={};for(let e of o)i=eU(i,eI.get(e)||{});if(e)for(let t of o){let l=eT.get(t);l&&l.has(e)&&(i=eU(i,l.get(e)))}return l||(l=new Map,eR.set(t,l)),l.set(n,i),i}constructor(e){var t,l;super(),this.addDelegate(e);const n=null==(l=e.blockModel)||null==(t=l.submitFromRunJs)?void 0:t.bind(e.blockModel);e.form&&n&&this.defineProperty("form",{value:{...e.form,submit:n}}),this.defineProperty("React",{value:f}),this.defineProperty("antd",{value:u}),this.defineProperty("dayjs",{value:D()});const o={...v,createRoot:(e,t)=>{let l=(null==e?void 0:e.__el)||e;return this.engine.reactView.createRoot(l,t)}};o.__nbRunjsInternalShim=!0,this.defineProperty("ReactDOM",{value:o}),(0,$.oJ)(this),this.defineMethod("openView",async function(t,l){let n=e.openView;if("function"!=typeof n)throw Error("ctx.openView is not available in current context.");let o=(0,A.cg)(l);return n(t,o?{...l||{},[A.sU]:o}:l)}),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 r=o.__nbRunjsRoots,i=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=r.get(n);e&&(i(e),r.delete(n))};if("string"==typeof e)return a(),new y.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,c=r.get(n);return c&&c.rendererKey===s&&c.ownerKey===d||(c&&(i(c),r.delete(n)),c={rendererKey:s,ownerKey:d,root:this.ReactDOM.createRoot(n),disposeTheme:void 0,lastVnode:void 0},r.set(n,c)),(0,$.$B)({ctx:this,entry:c,vnode:e,containerEl:n,rootMap:r,unmountContainerRoot:a,internalReact:f,internalAntd:u})})}}},48910(e,t,l){"use strict";l.d(t,{$:()=>eN});var n=l(88243),o=l(16213);l(72713),l(25779),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(45336),l(23446),l(69861),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(79936),l(5409),l(89773),l(14324),l(34678);var r=l(95243),i=l(2543),a=l.n(i),s=l(81318),d=l.n(s),u=l(64171);class c extends u.Z{getAction(e){return this.actions.get(e)}getActions(){return new Map(this.actions)}}var p=l(26955);class m extends p.L{getEvent(e){return this.events.get(e)}getEvents(){return new Map(this.events)}}var h=l(29007),f=l(60182),g=l(31108),v=l(88439),y=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 r;let i,s=e.getFlow(t);if(!s)return e.context.logger.error(`BaseModel.applyFlow: Flow with key '${t}' not found.`),Promise.reject(Error(`Flow '${t}' not found.`));let d=new h.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 s.on?s.on:null==(r=s.on)?void 0:r.eventName);c&&((c={...c}).defaultParams={...a().get(s,"on.defaultParams",{}),...c.defaultParams});let p=c?{eventStep:c,...s.steps}:s.steps;(0,v.w)(d,p,e,t);let m=d.steps,x={uid:e.uid,model:e,runId:d.runId,inputArgs:l,flowKey:t};for(let[l,n]of(await this.emitModelEventIf(o,`flow:${t}:start`,x),Object.entries(p))){let r,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,y.v)(d,{...o,...n}),r=n.handler||o.handler,c=c??o.useRawParams;let i=await (0,f.gG)(o.defaultParams,a),u=await (0,f.gG)(n.defaultParams,a);s={...i,...u}}else{if(!n.handler)continue;a=await (0,y.v)(d,n),r=n.handler,s={...await (0,f.gG)(n.defaultParams,a)}}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(!r){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`,{...x,stepKey:l});let e=r(a,s);i=!1!==n.isAwait?await e:e,u[l]=i,m[l].result=u[l],await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...x,result:i,stepKey:l})}catch(e){if(e instanceof f.sy||e instanceof g.zz||await this.emitModelEventIf(o,`flow:${t}:step:${l}:error`,{...x,error:e,stepKey:l}),e instanceof f.sy)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...x,stepKey:l}),await this.emitModelEventIf(o,`flow:${t}:end`,{...x,result:u}),Promise.resolve(u);if(e instanceof g.zz)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...x,stepKey:l,aborted:!0}),await this.emitModelEventIf(o,`flow:${t}:end`,{...x,result:e,aborted:!0}),Promise.resolve(e);return await this.emitModelEventIf(o,`flow:${t}:error`,{...x,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`,{...x,result:u}),Promise.resolve(u)}async dispatchEvent(e,t,l,n){var o,r,i,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()}`,m=e.context.logger,h={uid:e.uid,model:e,runId:p,inputArgs:l};try{await this.emitModelEventIf(t,"start",h),await (null==(o=e.onDispatchEventStart)?void 0:o.call(e,t,n,l))}catch(o){if(s&&o instanceof f.sy)return m.debug(`[FlowModel.dispatchEvent] ${o.message}`),[];try{await (null==(r=e.onDispatchEventError)?void 0:r.call(e,t,n,l,o))}finally{m.error({err:o},`BaseModel.dispatchEvent: Start hook error for event '${t}'`)}if(c)throw o;return}let v=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?v.filter(e=>{var t;let l=e.flowRegistry;return"instance"!==(null==l||null==(t=l.constructor)?void 0:t._type)}):v,x=[],b=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,r=t.f.flowRegistry,i=null==o||null==(l=o.constructor)?void 0:l._type,a=null==r||null==(n=r.constructor)?void 0:n._type,s=+("instance"!==i),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),r=[],i=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 r=o.phase,d=o.flowKey,u=o.stepKey;if(!r||"beforeAllFlows"===r)return;let c=null;if("afterAllFlows"===r)c=`event:${t}:end`;else if("beforeFlow"===r||"afterFlow"===r)if(d)if(i.get(String(d))){let e="beforeFlow"===r?"start":"end";c=`event:${t}:flow:${String(d)}:${e}`}else c=`event:${t}:end`;else c=`event:${t}:end`;else if("beforeStep"!==r&&"afterStep"!==r)return;else if(d&&u){var p;let e=i.get(String(d)),l=!!(null==e||null==(p=e.hasStep)?void 0:p.call(e,String(u)));if(e&&l){let e="beforeStep"===r?"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 m=c===`event:${t}:end`||"afterFlow"===r||"afterStep"===r;a.add(e.key);let h=s.get(c)||[];h.push({flow:e,order:l,shouldSkipOnAborted:m}),s.set(c,h)}),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 i=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 g.zz)throw n;r.push(n)},{when:i});x.push(a)}for(let i of o)if(!a.has(i.key))try{m.debug(`BaseModel '${e.uid}' dispatching event '${t}' to flow '${i.key}' (sequential).`);let o=await this.runFlow(e,i.key,l,p,t);if(o instanceof g.zz){m.debug(`[FlowEngine.dispatchEvent] ${o.message}`),n=!0;break}r.push(o)}catch(e){if(e instanceof g.zz){m.debug(`[FlowEngine.dispatchEvent] ${e.message}`),n=!0;break}throw m.error({err:e},`BaseModel.dispatchEvent: Error executing event-triggered flow '${i.key}' for event '${t}' (sequential):`),e}return{result:r,abortedByExitAll:n}}let o=(await Promise.all(y.map(async n=>{m.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(m.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 g.zz)&&(n=!0),{result:o,abortedByExitAll:n}},w=u?JSON.stringify(l??{}):"",S=u?eN.generateApplyFlowCacheKey(`event:${e.getFlowCacheScope(t)}:${w}`,t,e.uid):null;try{let{result:o,abortedByExitAll:r}=await this.withApplyFlowCache(S,b);try{await (null==(i=e.onDispatchEventEnd)?void 0:i.call(e,t,n,l,o))}catch(e){m.error({err:e},`BaseModel.dispatchEvent: End hook error for event '${t}'`)}return await this.emitModelEventIf(t,"end",{...h,result:o,...r?{aborted:!0}:{}}),o&&"object"==typeof o&&Object.defineProperty(o,"__abortedByExitAll",{value:r,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",{...h,error:o}),c)throw o}finally{for(let e of x)e()}}constructor(e){this.engine=e}}var b=l(58587),w=l(18150),S=l(68238);l(23089),l(82855),l(17106),l(36792);var C=l(67838),F=l(18220),k=l(47674),A=l(21637),P=l(71021),M=l(84626),j=l(96540);l(32699);var I=l(74848),T=l(53619),R=l(92034),E=l(98393),N=l(22803),D=l(42443),$=l(88040),B=l(35710),O=l(18182),q=l(98892),L=l(33954),_=l(57084),V=l(94313),z=l(20616),K=l(52847);let U={marginLeft:32},W=(0,K.PA)(e=>{let{title:t,onChange:l,getDefaultValue:n,disabled:o,itemKey:r,...i}=e,[a,s]=(0,j.useState)(!1),d=(0,z.Db)();(0,j.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,r]=l[0];s(!!r)}catch(e){console.error(e)}})(),()=>{e=!0}},[n]);let u=e=>{s(e),null==l||l({[r]:e})},c=e=>{e.stopPropagation(),o||u(!a)};return(0,I.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",cursor:o?"not-allowed":"pointer"},onClick:c,children:[t,(0,I.jsx)(V.A,{size:"small",...i,checkedChildren:i.checkedChildren?d.t(i.checkedChildren):void 0,unCheckedChildren:i.unCheckedChildren?d.t(i.unCheckedChildren):void 0,checked:a,style:U,disabled:o})]})});var H=l(36492);let G=(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=G(n.children,t);if(e)return e}}},Y=(e,t,l)=>{let n=t.maxDepth,o="number"==typeof t.arrayLimit?t.arrayLimit:1/0,r=t.mode??"stack",i=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 L.WD&&s(e,t+1,`${l}[${o}]`)}return}n instanceof L.WD&&s(n,t+1,l)})};if("visited"===r){if(i.has(e))return;i.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)},J=(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,r]=n,i=null==(l=e.subModels)?void 0:l[o];if(!i)return console.warn(`SubModel '${o}' not found`),null;if(void 0!==r){let e=parseInt(r,10);return Array.isArray(i)?e<0||e>=i.length?(console.warn(`Array index ${e} out of bounds for '${o}'`),null):i[e]instanceof L.WD?i[e]:null:(console.warn(`Expected array for '${o}', got ${typeof i}`),null)}return Array.isArray(i)?(console.warn(`Expected object for '${o}', got array`),null):i instanceof L.WD?i:null},X={switch:W,select:function(e){let{title:t,getDefaultValue:l,onChange:n,options:o,fieldNames:r,itemKey:i,tooltip:a,...s}=e,[d,u]=(0,j.useState)(!1),[c,p]=(0,j.useState)(""),m=(0,z.Db)();(0,j.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,r]=n[0];p(r)}catch(e){console.error(e)}})(),()=>{e=!0}},[l]);let h=(0,j.useRef)(null),f=e=>{p(e),null==n||n({[i]:e})},g=(0,I.jsx)("span",{style:{whiteSpace:"nowrap",flexShrink:0},children:t});return(0,I.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},onClick:e=>{e.stopPropagation(),u(e=>!e)},onMouseLeave:()=>{h.current=setTimeout(()=>{u(!1)},200)},children:[a?(0,I.jsx)(D.A,{title:a,placement:"top",destroyTooltipOnHide:!0,children:g}):g,(0,I.jsx)(H.A,{...s,open:d,popupMatchSelectWidth:!1,bordered:!1,value:c,onChange:f,popupClassName:`select-popup-${t.replaceAll(" ","-")}`,fieldNames:r,options:o,labelRender:e=>m.t(e.label),optionRender:e=>m.t(e.label),style:{textAlign:"right",minWidth:100},onMouseEnter:()=>{clearTimeout(h.current)},dropdownRender:e=>s.dropdownRender?s.dropdownRender(e,u,f):e})]})}},Q=e=>{let{title:t,uiMode:l,itemProps:n}=e,o=(null==l?void 0:l.type)||l,r=o?X[o]:null,i=!!(null==n?void 0:n.disabled),a=null==n?void 0:n.disabledReason,s=null==n?void 0:n.disabledIconColor,d=r?(0,I.jsx)(r,{title:t,...n}):(0,I.jsx)(I.Fragment,{children:t});return i?(0,I.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[d,(0,I.jsx)(D.A,{title:a,placement:"right",destroyTooltipOnHide:!0,children:(0,I.jsx)(T.A,{style:{color:s}})})]}):d},Z=".nb-toolbar-container-icons",ee=".nb-toolbar-container",et=(0,N.css)`
3311
+ Please run: await ctx.importAsync("${l}") to ensure ctx.render uses a matching ReactDOM.`);throw e.cause=n,e}}return u}function X(e){return e.endsWith("/")?e:`${e}/`}function Q(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=X(n.pathname),r=X(l.pathname);return l.origin!==n.origin||!r.startsWith(o)}catch{return!1}}function Z(e){return!!(e&&"object"==typeof e&&"collection"in e&&"filterByTk"in e)}function ee(e,t){if(t&&0!==t.length){if(Z(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 et(e){if(!e)return;let t=String(e).match(/^([^.[]+)/);return null==t?void 0:t[1]}function el(){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 r=e.split(".").filter(Boolean);if(0!==r.length){if(1===r.length){l.add(r[0]);continue}for(let e=0;e<r.length-1;e++)t.add(r.slice(0,e+1).join("."));l.add(r.join("."))}}return{generatedAppends:t.size?Array.from(t):void 0,generatedFields:l.size?Array.from(l):void 0}}var en=new WeakMap,eo=new WeakSet,er=new WeakSet,ei=new WeakSet,ea=new WeakSet,es=new WeakSet,ed=new WeakSet,eu=new WeakSet,ec=new WeakSet;class ep{createProxy(){return(0,n._)(this,en)||(0,r._)(this,en,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,en)}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 ep))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 ep))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 ep))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,A.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,i._)(this,eo,em).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,i._)(this,er,eh).call(this,l);if(n){let[o,r,a]=n;if(1===l.length){if("function"==typeof r)return()=>e(r,a,o);if(r.properties){if("function"==typeof r.properties)return()=>e(r,a,o);let t=(0,i._)(this,eo,em).call(this,r.properties,a,[],r);return Array.isArray(t)?t:[]}return[]}if("function"==typeof r){if(null==t?void 0:t.flatten)return()=>e(r,a,o);let l=(0,i._)(this,eu,ey).call(this,a);return[(0,i._)(this,ec,ex).call(this,o,r,a,l)]}if(r.properties){let e=[...(0,i._)(this,eu,ey).call(this,a),r.title],t=(0,i._)(this,eo,em).call(this,r.properties,a,e,r);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,i._)(this,ec,ex).call(this,t,l,[t],[])})}async getApiInfos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version||"v1",l=!!e.includeCompletion,n=this.createProxy(),o=e=>"string"==typeof e&&e.startsWith("_"),r=e=>"record"===e||"formValues"===e||"popup"===e,i=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,a=(()=>{var e,l,n,o,r,i,a,s;let d=(0,R.B)(this),u=R.F.resolve(t,d)||R.F.resolve(t,"*");if(!u)return{};let c=(null==(n=this)||null==(l=n.api)||null==(e=l.auth)?void 0:e.locale)||(null==(r=this)||null==(o=r.i18n)?void 0:o.language)||(null==(i=this)?void 0:i.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{}}})(),s=eN(null==a?void 0:a.methods)?a.methods:{},d=eN(null==a?void 0:a.properties)?a.properties:{},u=e=>"string"==typeof e?{description:e}:eN(e)?e:void 0,c=(e,t)=>{let l="string"==typeof t?t:eN(t)&&"string"==typeof t.description?String(t.description):void 0;return l&&l.includes(`ctx.libs.${e}`)?`libs.${e}`:e},p=e=>{let t=u(e);if(!t)return{};let n={};for(let e of["description","examples",...l?["completion"]:[],"ref","params","returns"]){let l=t[e];void 0!==l&&(n[e]=l)}return Array.isArray(n.examples)&&(n.examples=n.examples.filter(e=>"string"==typeof e&&e.trim())),n},m=e=>{let t=u(e);if(!t)return{};let n={};for(let e of["title","type","interface","description","examples",...l?["completion"]:[],"ref","params","returns"]){let l=t[e];void 0!==l&&(n[e]=l)}return Array.isArray(n.examples)&&(n.examples=n.examples.filter(e=>"string"==typeof e&&e.trim())),n},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 r=n._delegates;if(Array.isArray(r))for(let e of r){let t=l(e);if(t)return t}};return l(this)},f=async e=>{let t=this.getPropertyOptions(e);if(null==t?void 0:t.info)try{let e="function"==typeof t.info?t.info.call(n,n):t.info;return(i(e)?await e:e)??void 0}catch(e){return}},g=new Set,v=new Set;for(let e of Object.keys(d))g.add(e);for(let e of Object.keys(s))v.add(e);let y=(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)&&g.add(e)}catch(e){}try{let t=e._methodInfos;if(t&&"object"==typeof t)for(let e of Object.keys(t))v.add(e)}catch(e){}try{let l=e._delegates;if(Array.isArray(l))for(let e of l)y(e,t)}catch(e){}}};y(this,new WeakSet);let x={};for(let e of g){if(o(e)||r(e))continue;let t=d[e],n=await f(e);if(void 0===t&&void 0===n)continue;let i=u(t),a=u(n),s={};if(s={...s={...s,...m(i)},...m(a)},delete s.properties,l||delete s.completion,!Object.keys(s).length)continue;let p=c(e,t);x[p]=x[p]?{...x[p]||{},...s||{}}:s}for(let e of v){if(o(e))continue;let t=s[e],n=h(e);if(void 0===t&&void 0===n)continue;let r=u(t),i={};i={...i={...i,...p(r)},...p(n)},delete i.properties,l||delete i.completion,Object.keys(i).length&&(i.type="function",x[e]?x[e]={...x[e]||{},...i||{}}:x[e]=i)}let b=u(d.libs),w=eN(null==b?void 0:b.properties)?b.properties:void 0;if(w)for(let[e,t]of Object.entries(w)){if(o(e))continue;let n=`libs.${e}`;if(x[n])continue;let r=u(t),i={};i={...i,...m(r)},delete i.properties,l||delete i.completion,i.description&&String(i.description).trim()&&(x[n]=i)}return x}async getEnvInfos(){var e,t,l;let n=this.createProxy(),o=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,r={},i=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,r;let i={};if(!e)return i;let s=e;for(let e of["dataSourceKey","collectionName","associationName","filterByTk","sourceId"]){let t=null==s?void 0:s[e];a(t)&&(i[e]=t)}if(!("dataSourceKey"in i)){let e=null==(t=s.getDataSourceKey)?void 0:t.call(s);a(e)&&(i.dataSourceKey=e)}if(!("filterByTk"in i)){let e=null==(l=s.getFilterByTk)?void 0:l.call(s);a(e)&&(i.filterByTk=e)}if(!("filterByTk"in i)){let e=null==(n=s.getMeta)?void 0:n.call(s,"currentFilterByTk");a(e)&&(i.filterByTk=e)}if(!("sourceId"in i)){let e=null==(o=s.getSourceId)?void 0:o.call(s);a(e)&&(i.sourceId=e)}if(!("collectionName"in i)||!("associationName"in i)){let e=null==(r=s.getResourceName)?void 0:r.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 i||(i.collectionName=e[0]):e.length>=2&&("collectionName"in i||(i.collectionName=e[0]),"associationName"in i||(i.associationName=e.slice(1).join(".")))}}return i},d=await (async()=>{try{let e=n.popup;return o(e)?await e:e}catch(e){return}})(),u=i(()=>n.model),c=i(()=>n.blockModel),p=i(()=>{var e;return null==(e=n.view)?void 0:e.inputArgs}),m=i(()=>n.resource),h=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),x=s(p),b=s(m),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),C=S(h)?"ctx.popup.resource":S(y)?v:S(x)?"ctx.view.inputArgs":S(b)?"ctx.resource":void 0,F=w([{value:null==h?void 0:h.collectionName,getVar:"ctx.popup.resource.collectionName"},{value:null==y?void 0:y.collectionName,getVar:`${v}.collectionName`},{value:null==x?void 0:x.collectionName,getVar:"ctx.view.inputArgs.collectionName"},{value:null==b?void 0:b.collectionName,getVar:"ctx.resource.collectionName"}]),k=w([{value:null==h?void 0:h.dataSourceKey,getVar:"ctx.popup.resource.dataSourceKey"},{value:null==y?void 0:y.dataSourceKey,getVar:`${v}.dataSourceKey`},{value:null==x?void 0:x.dataSourceKey,getVar:"ctx.view.inputArgs.dataSourceKey"},{value:null==b?void 0:b.dataSourceKey,getVar:"ctx.resource.dataSourceKey"}]),A=w([{value:null==h?void 0:h.associationName,getVar:"ctx.popup.resource.associationName"},{value:null==y?void 0:y.associationName,getVar:`${v}.associationName`},{value:null==x?void 0:x.associationName,getVar:"ctx.view.inputArgs.associationName"},{value:null==b?void 0:b.associationName,getVar:"ctx.resource.associationName"}]),P=w([{value:null==h?void 0:h.filterByTk,getVar:"ctx.popup.resource.filterByTk"},{value:null==y?void 0:y.filterByTk,getVar:`${v}.filterByTk`},{value:null==x?void 0:x.filterByTk,getVar:"ctx.view.inputArgs.filterByTk"},{value:null==b?void 0:b.filterByTk,getVar:"ctx.resource.filterByTk"}]),M=w([{value:null==h?void 0:h.sourceId,getVar:"ctx.popup.resource.sourceId"},{value:null==y?void 0:y.sourceId,getVar:`${v}.sourceId`},{value:null==x?void 0:x.sourceId,getVar:"ctx.view.inputArgs.sourceId"},{value:null==b?void 0:b.sourceId,getVar:"ctx.resource.sourceId"}]),j={},I=!1,T=null==F?void 0:F.value;a(T)&&(j.collectionName={description:"Collection name",getVar:(null==F?void 0:F.getVar)||(C?`${C}.collectionName`:void 0),value:T},I=!0);let R=null==k?void 0:k.value;a(R)&&(j.dataSourceKey={description:"Data source key",getVar:(null==k?void 0:k.getVar)||(C?`${C}.dataSourceKey`:void 0),value:R},I=!0);let E=null==A?void 0:A.value;a(E)&&(j.associationName={description:"Association name",getVar:(null==A?void 0:A.getVar)||(C?`${C}.associationName`:void 0),value:E},I=!0),I&&(a(null==P?void 0:P.value)&&(j.filterByTk={description:"Record filterByTk",getVar:(null==P?void 0:P.getVar)||(C?`${C}.filterByTk`:void 0)}),a(null==M?void 0:M.value)&&(j.sourceId={description:"Source record ID (sourceId)",getVar:(null==M?void 0:M.getVar)||(C?`${C}.sourceId`:void 0)}),r.resource={description:"Resource information",getVar:C,properties:j}),a(null==P?void 0:P.value)&&(r.record={description:"Current record",getVar:"ctx.record"});let N=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=N(u),l=u.uid,n=null==(e=u.constructor)?void 0:e.name,o=s(u.resource),i={},d=!1,c=o.collectionName;a(c)&&(i.collectionName={description:"Collection name",getVar:"ctx.model.resource.collectionName",value:c},d=!0);let p=o.dataSourceKey;a(p)&&(i.dataSourceKey={description:"Data source key",getVar:"ctx.model.resource.dataSourceKey",value:p},d=!0);let m=o.associationName;a(m)&&(i.associationName={description:"Association name",getVar:"ctx.model.resource.associationName",value:m},d=!0),r.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:i}}:{}}}}if((null==d?void 0:d.uid)&&(r.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=N(f),l=f.uid,n=null==(t=f.constructor)?void 0:t.name,o={},i=!1,s=y.collectionName;a(s)&&(o.collectionName={description:"Collection name",getVar:`${v}.collectionName`,value:s},i=!0);let d=y.dataSourceKey;a(d)&&(o.dataSourceKey={description:"Data source key",getVar:`${v}.dataSourceKey`,value:d},i=!0);let u=y.associationName;a(u)&&(o.associationName={description:"Association name",getVar:`${v}.associationName`,value:u},i=!0),r.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}}:{},...i?{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()})(),$=i(()=>n.engine),B=D?null==$?void 0:$.getModel(D,!0):void 0,O=e=>{var t;return(null==(t=e.context)?void 0:t.blockModel)===e};if(B){let e=[B],t=[];for(let n=0;n<e.length;n++){let o=e[n];if(O(o)){let e=(null==(l=o.constructor)?void 0:l.name)||o.uid,n=N(o)||e||o.uid,r=s(o.resource),i={};a(r.dataSourceKey)&&(i.dataSourceKey=r.dataSourceKey),a(r.collectionName)&&(i.collectionName=r.collectionName),a(r.associationName)&&(i.associationName=r.associationName);let d={uid:o.uid,label:n,modelClass:e,...Object.keys(i).length>0?{resource:i}:{}};t.push(d)}let r=o.subModels;if(r&&"object"==typeof r)for(let t of Object.values(r))t&&(Array.isArray(t)?e.push(...t):e.push(t))}t.length&&(r.currentViewBlocks={description:"Current view blocks",value:t})}return r}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(),r=e=>"string"==typeof e&&e.startsWith("_"),i=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(i(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,A.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,r,i,a,s;let d=(0,R.B)(this),u=R.F.resolve(n,d)||R.F.resolve(n,"*");if(!u)return{};let c=(null==(l=this)||null==(t=l.api)||null==(e=t.auth)?void 0:e.locale)||(null==(r=this)||null==(o=r.i18n)?void 0:o.language)||(null==(i=this)?void 0:i.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{}}})();eN(null==p?void 0:p.methods)&&p.methods,eN(null==p?void 0:p.properties)&&p.properties;let m=e=>"string"==typeof e?{description:e}:eN(e)?e:void 0,h=async(e,t)=>{if(void 0!==e){if("boolean"==typeof e)return e;if("function"==typeof e)try{let l=t(e);return i(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=i(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),r=i(n)?await n:n;"boolean"==typeof r?t=r:Array.isArray(r)&&(l=r)}}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=m(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},x=async e=>{let t,n,{docNode:i,metaNode:a,infoNode:d,depth:u,pathFromRoot:c,hiddenPrefixes:p}=e,b=c.join(".");if(v(b,p))return;let w=m(i),S=m(d),C=await g(null==w?void 0:w.hidden);if(C.hideSelf)return;let F=await g(null==S?void 0:S.hidden);if(F.hideSelf)return;let k=await s(a);if(await h(null==k?void 0:k.hidden,e=>e.call(k,o)))return;let A=new Set(p);for(let e of[...C.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=b?`${b}.${l}`:l;A.add(n)}let P=await h(null==w?void 0:w.disabled,e=>e(o)),M=await f(null==w?void 0:w.disabledReason,e=>e(o)),j=await h(null==k?void 0:k.disabled,e=>e.call(k,o)),I=await f(null==k?void 0:k.disabledReason,e=>e.call(k,o)),T=await h(null==S?void 0:S.disabled,e=>e(o)),R=await f(null==S?void 0:S.disabledReason,e=>e(o)),E=void 0!==T?T:void 0!==j?j:P,N=void 0!==R?R:void 0!==I?I:M,D={};if(D={...D={...D={...D,...y(w)},...y(k)},...y(S)},void 0!==E&&(D.disabled=!!E),void 0!==N&&(D.disabledReason=N),u>=l)return Object.keys(D).length?D:void 0;let $=eN(null==w?void 0:w.properties)?w.properties:void 0;if(null==k?void 0:k.properties)try{let e=k.properties;if("function"==typeof e){let l=await e.call(k,o);k.properties=l,t=l}else eN(e)&&(t=e)}catch(e){t=void 0}if(eN(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 eN(e)&&(n=e)}catch(e){n=void 0}let B=new Set;if($)for(let e of Object.keys($))B.add(e);if(t)for(let e of Object.keys(t))B.add(e);if(n)for(let e of Object.keys(n))B.add(e);if(!B.size)return Object.keys(D).length?D:void 0;let O={};for(let e of B){if(r(e))continue;let l=await x({docNode:null==$?void 0:$[e],metaNode:null==t?void 0:t[e],infoNode:null==n?void 0:n[e],depth:u+1,pathFromRoot:[...c,e],hiddenPrefixes:A});l&&(O[e]=l)}if(Object.keys(O).length&&(D.properties=O),Object.keys(D).length)return D},b=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],r=null==e?void 0:e.properties;if(!r)break;if("function"==typeof r){let t=await r.call(e,o);e.properties=t,r=t}if(!r||"object"!=typeof r)break;let i=null==r?void 0:r[n];if(!i)break;if(t===l.length-1)return i;let a=await s(i);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=>r(e))||!l.length)continue;let n=await b(l),o=await x({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(r(e))continue;let l=await x({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"api"===e?(0,I.kx)(l.value,t):l.value;if(l.get){if(!1===l.cache){let n=l.get(t);return"api"===e?(0,I.kx)(n,t):n}let n=l.observable?"_observableCache":"_cache";if(e in this[n])return"api"===e?(0,I.kx)(this[n][e],t):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(l=>(this[n][e]=l,delete this._pending[e],"api"===e?(0,I.kx)(l,t):l),t=>{throw delete this._pending[e],t}),this._pending[e]):(this[n][e]=o,"api"===e?(0,I.kx)(o,t):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,eo),(0,a._)(this,er),(0,a._)(this,ei),(0,a._)(this,ea),(0,a._)(this,es),(0,a._)(this,ed),(0,a._)(this,eu),(0,a._)(this,ec),(0,o._)(this,en,{writable:!0,value:void 0}),this._props={},this._methods={},this._methodInfos={},this._cache={},this._observableCache=s.observable.shallow({}),this._delegates=[],this._pending={},(0,r._)(this,en,null),this._metaNodeCache=new WeakMap,this.createProxy()}}function em(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 r=Object.entries(o);return r.sort((e,t)=>{let[,l]=e,[,n]=t;return((null==n?void 0:n.sort)??0)-((null==l?void 0:l.sort)??0)}),r.map(e=>{let[n,o]=e;return(0,i._)(this,ec,ex).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,i._)(this,ec,ex).call(this,n,o,[...t,n],l)})}function eh(e){if(0===e.length)return null;let[t,...l]=e,n=this._props[t];if(null==n?void 0:n.meta)return(0,i._)(this,ea,eg).call(this,t,n.meta,l,[t]);let o=(0,i._)(this,ei,ef).call(this,this._delegates,t);return o?(0,i._)(this,ea,eg).call(this,t,o,l,[t]):null}function ef(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,i._)(this,ei,ef).call(this,l._delegates,t);if(n)return n}return null}function eg(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,i._)(this,ed,ev).call(this,e,l)},[...n,...l]];if(t.properties){let[e,...o]=l,r=[...n,e];if("function"==typeof t.properties)return[l[l.length-1],async()=>{let l=t.properties,n=await l();t.properties=n;let r=n[e];if(!r)throw Error(`Property ${e} not found in resolved properties`);return await (0,i._)(this,ed,ev).call(this,r,o)},[...n,...l]];let a=t.properties[e];if(a)return(0,i._)(this,ea,eg).call(this,e,a,o,r)}return null}async function ev(e,t){if(0===t.length)return e;let l=e;for(let e of t){let n=p().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 ey(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],r=o[t];if(!r||"function"==typeof r){n.push(t);break}if(n.push(r.title||t),e<l.length-1&&r.properties&&"function"!=typeof r.properties)o=r.properties;else if(e<l.length-1){for(let t=e+1;t<l.length;t++)n.push(l[t]);break}}return n}function ex(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]:[],r=this._metaNodeCache.get(t);if(r)return r.paths=n,r.parentTitles=o.length>0?o:void 0,r;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 r=e,s=t.hasChildren;l={name:e,title:t.title||r,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 r=await t(),a=(null==r?void 0:r.title)||e;if(l.title=a,l.type=null==r?void 0:r.type,l.interface=null==r?void 0:r.interface,l.options=null==r?void 0:r.options,l.uiSchema=null==r?void 0:r.uiSchema,!(null==r?void 0:r.properties))return[];let s=(0,i._)(this,eo,em).call(this,r.properties,n,[...o,a],r),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 r=t.title,{disabled:s,reason:d,hidden:u}=a(t);l={name:e,title:r,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,i._)(this,eo,em).call(this,t.properties,n,[...o,r],t):void 0}}return this._metaNodeCache.set(t,l),l}class eb extends ep{constructor(){super(),this.defineMethod("getModel",(e,t)=>this.engine.getModel(e,t)),this.defineMethod("request",function(e){let t=this.app;return"string"==typeof(null==e?void 0:e.url)&&Q(e.url,t)?d.A.request(e):this.api.request(e)}),this.defineMethod("runjs",async function(e,t,l){let{preprocessTemplates:n,...o}=l||{},r={...(null==o?void 0:o.globals)||{},...t||{}},i=await this.createJSRunner({...o||{},globals:r}),a=(0,F.RU)({version:null==o?void 0:o.version,preprocessTemplates:n}),s=await (0,A.ji)(String(e??""),{preprocessTemplates:a});return i.run(s)},{description:"Execute a RunJS code string in the current Flow context.",detail:"(code: string, variables?: Record<string, any>, options?: JSRunnerOptions) => Promise<RunJSResult>",params:[{name:"code",type:"string",description:"RunJS code to execute."},{name:"variables",type:"Record<string, any>",optional:!0,description:"Additional globals."},{name:"options",type:"JSRunnerOptions",optional:!0,description:"Runner options."}],returns:{type:"Promise<{ success: boolean; value?: any; error?: any; timeout?: boolean }>"},completion:{insertText:"await ctx.runjs('return 1')"}})}}class ew extends eb{}let eS=["dataSourceKey","collectionName","associationName","filterByTk","sourceId","tabUid"];function eC(e,t){let l={};for(let n of t)void 0!==(null==e?void 0:e[n])&&(l[n]=e[n]);return l}function eF(e){return eC(e,eS)}function ek(e,t){for(let[l,n]of Object.entries(t))void 0===e[l]&&(e[l]=n)}class eA extends eb{constructor(e){if(!(e instanceof S.$))throw Error("Invalid FlowEngine instance");super(),this.engine=e,this.engine=e;const t=new w.zA;t.setFlowEngine(this.engine);const n=new w.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 k.tP(e),cache:!1,info:{description:"SQL helper (FlowSQLRepository).",detail:"FlowSQLRepository"}}),this.defineProperty("dataSourceManager",{value:t,info:{description:"DataSourceManager instance.",detail:"DataSourceManager"}});const o=new C(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,A.MI)("Current language"),sort:970,hasChildren:!1})}),this.defineMethod("renderJson",function(e){return this.resolveJsonTemplate(e)});const r=async function(e,t){let l=(0,A.nN)(e),n=Object.keys(l||{});if(!n.length)return(0,A.M)(e,this);let o={};for(let e of n){let t=l[e]||[],n=this.getPropertyOptions(e),r=null==n?void 0:n.resolveOnServer;if(!0===r)o[e]=t;else if("function"==typeof r){let l=t.filter(e=>{try{return!!r(e)}catch(e){return!1}});l.length&&(o[e]=l)}}let r=Object.keys(o).length>0,i=e;if(r){let l=e=>{let t=(0,T.XU)(e);if(t)return t;try{var l,n,o,r,i,a,s,d,u,c,p,m,h;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==(i=a.slice)||null==(r=i.call(a,-1))?void 0:r[0]);if(!f)return;let g=(null==e||null==(p=e.collection)?void 0:p.dataSourceKey)||(null==e||null==(h=e.resource)||null==(m=h.getDataSourceKey)?void 0:m.call(h));return{collection:f,dataSourceKey:g,filterByTk:t}}catch(e){return}},n=async()=>{let e={};try{var t,l;let n=null==(t=(l=this)._getPropertiesMeta)?void 0:t.call(l);if(!n||"object"!=typeof n)return e;for(let[t,l]of Object.entries(n))if(o[t])try{let n;if("function"==typeof l){let e=l;n=await e()}else n=l;if(!n||"object"!=typeof n)continue;let r=n.buildVariablesParams;if("function"!=typeof r)continue;let i=await r(this);if(!i)continue;let a=o[t]||[],s=ee(i,a);s&&("object"!=typeof s||Object.keys(s).length)&&(e[t]=s)}catch(e){}}catch(e){}return e},r=await n(),u={...r},c=o.view||[];if(!u.view&&c.some(e=>"record"===e||e.startsWith("record.")||e.startsWith("record["))){let e=(0,T.Cg)(this);e&&(u.view={record:e})}try{let e="formValues",t=o[e]||[];if(t.length){let n=new Set;for(let e of t){let t=et(e);t&&n.add(t)}let o=null==r?void 0:r[e],i=new Set;if(!o||"object"!=typeof o||Array.isArray(o)||Z(o)||Object.keys(o).forEach(e=>i.add(e)),[...n].filter(e=>!i.has(e)).length){let n=l(this);if(n){let{generatedFields:l,generatedAppends:o}=el(t),r={...n,fields:l,appends:o},i=u[e];if(i&&"object"==typeof i&&!Array.isArray(i)&&!Z(i)){for(let[t,l]of Object.entries(i))u[`${e}.${t}`]=l;delete u[e]}u[e]=r}}}}catch(e){}let p=Object.keys(u).length?(0,j.d)(this,u):void 0;if(!p){let t=Object.keys(o);if(t.length>0&&t.every(e=>{var t;return null==(t=this.getPropertyOptions(e))?void 0:t.serverOnlyWhenContextParams}))return(0,A.M)(e,this)}if(this.api){var a,s,d;try{let l=(0,M.pk)(this,(null==t?void 0:t.contractModelUid)??this.variableContractModelUid);i=await (0,M.o4)(this,{...l?{contractRd:l}:{},rd:(0,M.pk)(this,null==(a=this.model)?void 0:a.uid),template:e,contextParams:p||{}})}catch(t){null==(d=this.logger)||null==(s=d.warn)||s.call(d,{err:t},"variables:resolve failed, fallback to client-only"),i=e}}}return(0,A.M)(i,this)};this.defineMethod("resolveJsonTemplate",r),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,l;let n=null==(t=this.api)||null==(e=t.auth)?void 0:e.role;if("__union__"!==n)return n;let o=null==(l=this.user)?void 0:l.roles;return Array.isArray(o)?o.map(e=>null==e?void 0:e.name).filter(e=>!!e):[]},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("Current role"),sort:990}),{title:(0,A.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 h().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(h().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=h().parse(l)||{},o={};for(let e of Object.keys(n))o[e]={type:"string",title:e};return o}}),{title:(0,A.MI)("URL search params"),sort:970,hasChildren:!0})}),this.defineProperty("logger",{get:()=>this.engine.logger.child({module:"flow-engine"})}),this.defineProperty("auth",{get:()=>{var e,t,l,n,o,r;return{roleName:null==(t=this.api)||null==(e=t.auth)?void 0:e.role,locale:null==(n=this.api)||null==(l=n.auth)?void 0:l.locale,token:null==(r=this.api)||null==(o=r.auth)?void 0:o.token,user:this.user}},cache:!1}),this.defineProperty("date",{get:()=>{let e=t=>new Proxy({},{get:(l,n)=>{if("string"!=typeof n)return;let o=[...t,n];if(!(0,A.JE)(o))return;let r=(0,A.Vv)(o);return void 0!==r?r:e(o)}});return e(["date"])},cache:!1}),this.defineMethod("loadCSS",async e=>{let t=(0,A.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,A.yp)(e))return this.loadCSS(e);let t=(0,A.i)(e,{raw:!0});return await z(this.requirejs,t)}),this.defineMethod("importAsync",async function(e){return(0,A.yp)(e)?this.loadCSS(e):await J(this,e,{importer:K})}),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,R.B)(this),o=R.F.resolve(t,n)||eW,r=new o(this);r.defineMethod("t",(e,t)=>this.t(e,{ns:"runjs",...t}));let i={};try{var a,s,d,u,c,p,m,h;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);i=(null==o||null==(m=o.getDoc)?void 0:m.length)?o.getDoc(e)||{}:(null==o||null==(h=o.getDoc)?void 0:h.call(o))||{}}catch(e){i={}}let f=e_(r,{doc:i}),g={};"u">typeof window&&(g.window=window,"u">typeof navigator&&(g.navigator=navigator)),"u">typeof document&&(g.document=document);let v={ctx:f,...g,...(null==e?void 0:e.globals)||{}},{timeoutMs:y}=e||{};return new F.I$({globals:v,timeoutMs:y})}),this.defineMethod("buildServerContextParams",function(e){return(0,j.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,E.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let o={...await (0,A.gG)(l.defaultParams,n)||{},...t||{}},r=l.useRawParams;if("function"==typeof r&&(r=await r(n)),r||(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.skipAclCheck||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 eP extends ew{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"}});const t=(0,f.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,r;let i={..."function"==typeof(null==(l=this.model)?void 0:l.getInputArgs)?eF(this.model.getInputArgs()):{},...eF(this.inputArgs)},a={...t||{}};ek(a,i),(a.defineProperties||a.defineMethods)&&(a.navigation=!1);let s=null;(s=await this.engine.loadModel({uid:e}))||(s=this.engine.createModel({uid:e,use:"PopupActionModel",parentId:this.model.uid,subType:"object",subKey:e,stepParams:{popupSettings:{openView:{...eC(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==(o=s.stepParams)||null==(n=o.popupSettings)?void 0:n.openView)?s.uid:this.model.uid),u=this.view,c={type:(null==a?void 0:a.isMobileLayout)?"embed":(null==a?void 0:a.mode)||"drawer",inputArgs:{...a,viewUid:d,navigation:a.navigation},navigation:null==u?void 0:u.navigation,preventClose:!!(null==a?void 0:a.preventClose),engineCtx:this.engine.context};s.context.defineProperty("view",{value:c});let p=null==(r=s.getFlow)?void 0:r.call(s,"popupSettings"),m=null==p?void 0:p.on,h="click";"string"==typeof m&&m?h=m:m&&"object"==typeof m&&"string"==typeof m.eventName&&m.eventName&&(h=m.eventName),await s.dispatchEvent(h,{...a})}),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,E.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let o={...await (0,A.gG)(l.defaultParams,n)||{},...t||{}},r=l.useRawParams;if("function"==typeof r&&(r=await r(n)),r||(o=await n.resolveJsonTemplate(o)),!l.handler)throw Error(`Action '${e}' has no handler.`);return l.handler(n,o)})}}class eM extends ew{constructor(e,t){if(!e||"object"!=typeof e)throw Error("Invalid FlowModel instance");super(),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"}});const l=(0,f.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 ew{_getOwnProperty(e){if("runtime"===this.mode)return super._getOwnProperty(e,this.createProxy());let t=this._props[e];if(t){if("value"in t)return b.create()[e];if(t.get){if(!1===t.cache)return b.create()[e];let l=t.observable?"_observableCache":"_cache";return e in this[l]||(this[l][e]=b.create()[e]),this[l][e]}}}exit(){throw new P.zz(this.flowKey,this.model.uid)}exitAll(){throw new P.zz(this.flowKey,this.model.uid)}get mode(){return this._mode}constructor(e,t,l="runtime"){var n,o;super(),this.model=e,this.flowKey=t,this._mode=l,this.stepResults={},this.addDelegate(this.model.context);const r=null==(o=e.getFlow)||null==(n=o.call(e,t))?void 0:n.model;r&&r.uid!==e.uid&&this.defineProperty("variableContractModelUid",{value:r.uid}),this.defineMethod("getStepParams",l=>e.getStepParams(t,l)||{}),this.defineMethod("setStepParams",(l,n)=>e.setStepParams(t,l,n)),this.defineMethod("getStepResults",e=>p().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,eT=new WeakMap,eR=new WeakMap;function eE(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=eE(null==e?void 0:e[n],t[n]);void 0===o?delete l[n]:l[n]=o}return l}function eN(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 e$(e){return!0===e||(e&&eN(e)?e:void 0)}function eB(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 eO(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]||{},eO(e.children[t],l[t])}function eq(e){let t={};if(!e)return t;let l=(e,n)=>{if(eN(e))for(let[o,r]of Object.entries(e)){if(!o||!r||"object"!=typeof r||Array.isArray(r))continue;let e=r,i=e$(e.deprecated);i&&eB(t,[...n,o],i),eN(e.properties)&&l(e.properties,[...n,o])}},n=e=>{if(eN(e))for(let[l,n]of Object.entries(e)){if(!l||!n||"object"!=typeof n||Array.isArray(n))continue;let e=e$(n.deprecated);e&&eB(t,[l],e)}};return l(e.properties,[]),n(e.methods),t}function eL(e){let t={},l=new WeakSet,n=(e,l)=>{if(eN(l))for(let[o,r]of Object.entries(l)){if(!o||"string"==typeof r||!r||"object"!=typeof r||Array.isArray(r))continue;let l=r,i=e$(l.deprecated);i&&eB(t,[...e,o],i),eN(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 r=e._methodInfos;if(eN(r))for(let[e,l]of Object.entries(r)){if(!e||!l||"object"!=typeof l||Array.isArray(l))continue;let n=e$(l.deprecated);n&&eB(t,[e],n)}let i=e._props;if(eN(i))for(let[e,l]of Object.entries(i)){if(!e)continue;let o=null==l?void 0:l.info;if(!o||"object"!=typeof o||Array.isArray(o))continue;let r=e$(o.deprecated);r&&eB(t,[e],r),eN(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 e_(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eq(t.doc);eO(l,eL(e));let n=new Set,o=new WeakMap,r=new WeakMap,i=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(eN(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,r=e$(t.deprecated);r&&eB(l,[...e,n],r),eN(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=e$(n.deprecated);o&&eB(l,[e],o),eN(n.properties)&&s([e],n.properties)},u=(e,t)=>{if(!e||!t||"object"!=typeof t||Array.isArray(t))return;let n=e$(t.deprecated);n&&eB(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}}},m=(t,l,o)=>{if(!t||n.has(t))return;n.add(t);let r=null==e?void 0:e.logger,i="function"==typeof(null==e?void 0:e.t)?(t,l)=>e.t(t,{ns:[A.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,m="string"==typeof s.message?String(s.message):"",h=a(o),f=h.line?`(line ${h.line}${h.column?`:${h.column}`:""})`:"",g=m.trim(),v=g?i("RunJS deprecated warning with message",{defaultValue:"[RunJS][Deprecated] {{api}} {{message}}{{location}}",api:t,message:g,location:f}):i("RunJS deprecated warning",{defaultValue:"[RunJS][Deprecated] {{api}} is deprecated{{location}}",api:t,location:f}),y=i("RunJS deprecated separator",{defaultValue:"; "}),x=[v];d&&x.push(i("RunJS deprecated replacedBy",{defaultValue:"Use {{replacedBy}} instead",replacedBy:d})),u&&x.push(i("RunJS deprecated since",{defaultValue:"since {{since}}",since:u})),c&&x.push(i("RunJS deprecated removedIn",{defaultValue:"will be removed in {{removedIn}}",removedIn:c}));let b=x.filter(Boolean).join(y);try{r&&"function"==typeof r.warn?r.warn(b):console.warn(b)}catch(e){}},h=(e,t,l)=>{let o=t.deprecated;if(!o)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,{apply(e,t,r){let i=n.has(l)?void 0:Error().stack;return m(l,o,i),Reflect.apply(e,c(t),r)},get:(e,t,l)=>Reflect.get(e,t,l)});return r.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 i=r.get(e)||new Map;if(r.set(e,i),i.has(l))return i.get(l);let a=new Proxy(e,{get(e,o,r){var i;if("symbol"==typeof o)return Reflect.get(e,o,c(r));let a=String(o),s=Reflect.get(e,o,c(r));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==(i=t.children)?void 0:i[a];if(!p)return s;let g=`${l}.${a}`;if("function"==typeof s&&p.deprecated)return h(s,p,g);if(p.deprecated){let e=n.has(g)?void 0:Error().stack;m(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),i.set(l,a),a};return f(e,l,"ctx")}function eV(e,t,l){if(!eN(t))return e;if(!eN(e))return t;let n={...e};for(let o of Object.keys(t)){let r=t[o];if(null===r){delete n[o];continue}let i=l(eN(e)?e[o]:void 0,r);void 0===i?delete n[o]:n[o]=i}return n}function ez(e,t){if(null===t)return;let l=eN(e),n=eN(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,r={...n||{}};for(let e of Object.keys(t)){if("properties"===e){let e=t.properties;if(null===e){delete r.properties;continue}let l=eV(null==n?void 0:n.properties,e,ez);void 0===l?delete r.properties:r.properties=l;continue}let l=eE(null==n?void 0:n[e],t[e]);void 0===l?delete r[e]:r[e]=l}return r}return t??e}function eK(e,t){if(null===t)return;let l=eN(e),n=eN(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,r={...n||{}};for(let e of Object.keys(t)){let l=eE(null==n?void 0:n[e],t[e]);void 0===l?delete r[e]:r[e]=l}return r}return t??e}function eU(e,t){let l=eN(e)?e:{},n=eN(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=eE(l[e],n[e]);void 0===t?delete o[e]:o[e]=t}return o}class eW extends ep{[I.NH](e,t){var l,n,o,r,i;if("create"!==e.actionName.toLowerCase()||!t||Array.isArray(t)||Object.prototype.hasOwnProperty.call(t,"updateAssociationValues")||!this.form||"function"!=typeof(null==(l=this.blockModel)?void 0:l.submitFromRunJs))return t;let a=this.resource,s=null==a||null==(n=a.getResourceName)?void 0:n.call(a),d=(null==a||null==(o=a.getDataSourceKey)?void 0:o.call(a))||"main";if(e.resourceName!==s||(e.dataSourceKey||"main")!==d)return t;let u=null==a||null==(r=a.getSourceId)?void 0:r.call(a);if((null==s?void 0:s.includes("."))&&null!=u&&String(e.resourceOf??"")!==String(u))return t;let c=null==a||null==(i=a.getUpdateAssociationValues)?void 0:i.call(a);return Array.isArray(c)&&0!==c.length?{...t,updateAssociationValues:[...c]}:t}exit(){var e;throw new P.zz(this.flowKey,(null==(e=this.model)?void 0:e.uid)||"runjs")}exitAll(){var e;throw new P.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=eT.get(this)||new Map,n=t.get(l)||{};t.set(l,eU(n,e)),eT.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=[],r=t;for(;r&&r.prototype;)o.unshift(r),r=Object.getPrototypeOf(r);let i={};for(let e of o)i=eU(i,eI.get(e)||{});if(e)for(let t of o){let l=eT.get(t);l&&l.has(e)&&(i=eU(i,l.get(e)))}return l||(l=new Map,eR.set(t,l)),l.set(n,i),i}constructor(e){var t,l;super(),this.addDelegate(e);const n=null==(l=e.blockModel)||null==(t=l.submitFromRunJs)?void 0:t.bind(e.blockModel);e.form&&n&&this.defineProperty("form",{value:{...e.form,submit:n}}),this.defineProperty("React",{value:f}),this.defineProperty("antd",{value:u}),this.defineProperty("dayjs",{value:D()});const o={...v,createRoot:(e,t)=>{let l=(null==e?void 0:e.__el)||e;return this.engine.reactView.createRoot(l,t)}};o.__nbRunjsInternalShim=!0,this.defineProperty("ReactDOM",{value:o}),(0,$.oJ)(this),this.defineMethod("openView",async function(t,l){let n=e.openView;if("function"!=typeof n)throw Error("ctx.openView is not available in current context.");let o=(0,A.cg)(l);return n(t,o?{...l||{},[A.sU]:o}:l)}),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 r=o.__nbRunjsRoots,i=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=r.get(n);e&&(i(e),r.delete(n))};if("string"==typeof e)return a(),new y.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,c=r.get(n);return c&&c.rendererKey===s&&c.ownerKey===d||(c&&(i(c),r.delete(n)),c={rendererKey:s,ownerKey:d,root:this.ReactDOM.createRoot(n),disposeTheme:void 0,lastVnode:void 0},r.set(n,c)),(0,$.$B)({ctx:this,entry:c,vnode:e,containerEl:n,rootMap:r,unmountContainerRoot:a,internalReact:f,internalAntd:u})})}}},48910(e,t,l){"use strict";l.d(t,{$:()=>eN});var n=l(88243),o=l(16213);l(72713),l(25779),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(45336),l(23446),l(69861),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(79936),l(5409),l(89773),l(14324),l(34678);var r=l(95243),i=l(2543),a=l.n(i),s=l(81318),d=l.n(s),u=l(64171);class c extends u.Z{getAction(e){return this.actions.get(e)}getActions(){return new Map(this.actions)}}var p=l(26955);class m extends p.L{getEvent(e){return this.events.get(e)}getEvents(){return new Map(this.events)}}var h=l(29007),f=l(60182),g=l(31108),v=l(88439),y=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 r;let i,s=e.getFlow(t);if(!s)return e.context.logger.error(`BaseModel.applyFlow: Flow with key '${t}' not found.`),Promise.reject(Error(`Flow '${t}' not found.`));let d=new h.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 s.on?s.on:null==(r=s.on)?void 0:r.eventName);c&&((c={...c}).defaultParams={...a().get(s,"on.defaultParams",{}),...c.defaultParams});let p=c?{eventStep:c,...s.steps}:s.steps;(0,v.w)(d,p,e,t);let m=d.steps,x={uid:e.uid,model:e,runId:d.runId,inputArgs:l,flowKey:t};for(let[l,n]of(await this.emitModelEventIf(o,`flow:${t}:start`,x),Object.entries(p))){let r,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,y.v)(d,{...o,...n}),r=n.handler||o.handler,c=c??o.useRawParams;let i=await (0,f.gG)(o.defaultParams,a),u=await (0,f.gG)(n.defaultParams,a);s={...i,...u}}else{if(!n.handler)continue;a=await (0,y.v)(d,n),r=n.handler,s={...await (0,f.gG)(n.defaultParams,a)}}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(!r){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`,{...x,stepKey:l});let e=r(a,s);i=!1!==n.isAwait?await e:e,u[l]=i,m[l].result=u[l],await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...x,result:i,stepKey:l})}catch(e){if(e instanceof f.sy||e instanceof g.zz||await this.emitModelEventIf(o,`flow:${t}:step:${l}:error`,{...x,error:e,stepKey:l}),e instanceof f.sy)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...x,stepKey:l}),await this.emitModelEventIf(o,`flow:${t}:end`,{...x,result:u}),Promise.resolve(u);if(e instanceof g.zz)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(o,`flow:${t}:step:${l}:end`,{...x,stepKey:l,aborted:!0}),await this.emitModelEventIf(o,`flow:${t}:end`,{...x,result:e,aborted:!0}),Promise.resolve(e);return await this.emitModelEventIf(o,`flow:${t}:error`,{...x,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`,{...x,result:u}),Promise.resolve(u)}async dispatchEvent(e,t,l,n){var o,r,i,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()}`,m=e.context.logger,h={uid:e.uid,model:e,runId:p,inputArgs:l};try{await this.emitModelEventIf(t,"start",h),await (null==(o=e.onDispatchEventStart)?void 0:o.call(e,t,n,l))}catch(o){if(s&&o instanceof f.sy)return m.debug(`[FlowModel.dispatchEvent] ${o.message}`),[];try{await (null==(r=e.onDispatchEventError)?void 0:r.call(e,t,n,l,o))}finally{m.error({err:o},`BaseModel.dispatchEvent: Start hook error for event '${t}'`)}if(c)throw o;return}let v=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?v.filter(e=>{var t;let l=e.flowRegistry;return"instance"!==(null==l||null==(t=l.constructor)?void 0:t._type)}):v,x=[],b=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,r=t.f.flowRegistry,i=null==o||null==(l=o.constructor)?void 0:l._type,a=null==r||null==(n=r.constructor)?void 0:n._type,s=+("instance"!==i),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),r=[],i=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 r=o.phase,d=o.flowKey,u=o.stepKey;if(!r||"beforeAllFlows"===r)return;let c=null;if("afterAllFlows"===r)c=`event:${t}:end`;else if("beforeFlow"===r||"afterFlow"===r)if(d)if(i.get(String(d))){let e="beforeFlow"===r?"start":"end";c=`event:${t}:flow:${String(d)}:${e}`}else c=`event:${t}:end`;else c=`event:${t}:end`;else if("beforeStep"!==r&&"afterStep"!==r)return;else if(d&&u){var p;let e=i.get(String(d)),l=!!(null==e||null==(p=e.hasStep)?void 0:p.call(e,String(u)));if(e&&l){let e="beforeStep"===r?"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 m=c===`event:${t}:end`||"afterFlow"===r||"afterStep"===r;a.add(e.key);let h=s.get(c)||[];h.push({flow:e,order:l,shouldSkipOnAborted:m}),s.set(c,h)}),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 i=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 g.zz)throw n;r.push(n)},{when:i});x.push(a)}for(let i of o)if(!a.has(i.key))try{m.debug(`BaseModel '${e.uid}' dispatching event '${t}' to flow '${i.key}' (sequential).`);let o=await this.runFlow(e,i.key,l,p,t);if(o instanceof g.zz){m.debug(`[FlowEngine.dispatchEvent] ${o.message}`),n=!0;break}r.push(o)}catch(e){if(e instanceof g.zz){m.debug(`[FlowEngine.dispatchEvent] ${e.message}`),n=!0;break}throw m.error({err:e},`BaseModel.dispatchEvent: Error executing event-triggered flow '${i.key}' for event '${t}' (sequential):`),e}return{result:r,abortedByExitAll:n}}let o=(await Promise.all(y.map(async n=>{m.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(m.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 g.zz)&&(n=!0),{result:o,abortedByExitAll:n}},w=u?JSON.stringify(l??{}):"",S=u?eN.generateApplyFlowCacheKey(`event:${e.getFlowCacheScope(t)}:${w}`,t,e.uid):null;try{let{result:o,abortedByExitAll:r}=await this.withApplyFlowCache(S,b);try{await (null==(i=e.onDispatchEventEnd)?void 0:i.call(e,t,n,l,o))}catch(e){m.error({err:e},`BaseModel.dispatchEvent: End hook error for event '${t}'`)}return await this.emitModelEventIf(t,"end",{...h,result:o,...r?{aborted:!0}:{}}),o&&"object"==typeof o&&Object.defineProperty(o,"__abortedByExitAll",{value:r,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",{...h,error:o}),c)throw o}finally{for(let e of x)e()}}constructor(e){this.engine=e}}var b=l(58587),w=l(18150),S=l(68238);l(23089),l(82855),l(17106),l(36792);var C=l(67838),F=l(18220),k=l(47674),A=l(21637),P=l(71021),M=l(84626),j=l(96540);l(32699);var I=l(74848),T=l(53619),R=l(92034),E=l(98393),N=l(22803),D=l(42443),$=l(88040),B=l(35710),O=l(18182),q=l(98892),L=l(33954),_=l(57084),V=l(94313),z=l(20616),K=l(52847);let U={marginLeft:32},W=(0,K.PA)(e=>{let{title:t,onChange:l,getDefaultValue:n,disabled:o,itemKey:r,...i}=e,[a,s]=(0,j.useState)(!1),d=(0,z.Db)();(0,j.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,r]=l[0];s(!!r)}catch(e){console.error(e)}})(),()=>{e=!0}},[n]);let u=e=>{s(e),null==l||l({[r]:e})},c=e=>{e.stopPropagation(),o||u(!a)};return(0,I.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",cursor:o?"not-allowed":"pointer"},onClick:c,children:[t,(0,I.jsx)(V.A,{size:"small",...i,checkedChildren:i.checkedChildren?d.t(i.checkedChildren):void 0,unCheckedChildren:i.unCheckedChildren?d.t(i.unCheckedChildren):void 0,checked:a,style:U,disabled:o})]})});var H=l(36492);let G=(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=G(n.children,t);if(e)return e}}},Y=(e,t,l)=>{let n=t.maxDepth,o="number"==typeof t.arrayLimit?t.arrayLimit:1/0,r=t.mode??"stack",i=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 L.WD&&s(e,t+1,`${l}[${o}]`)}return}n instanceof L.WD&&s(n,t+1,l)})};if("visited"===r){if(i.has(e))return;i.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)},J=(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,r]=n,i=null==(l=e.subModels)?void 0:l[o];if(!i)return console.warn(`SubModel '${o}' not found`),null;if(void 0!==r){let e=parseInt(r,10);return Array.isArray(i)?e<0||e>=i.length?(console.warn(`Array index ${e} out of bounds for '${o}'`),null):i[e]instanceof L.WD?i[e]:null:(console.warn(`Expected array for '${o}', got ${typeof i}`),null)}return Array.isArray(i)?(console.warn(`Expected object for '${o}', got array`),null):i instanceof L.WD?i:null},X={switch:W,select:function(e){let{title:t,getDefaultValue:l,onChange:n,options:o,fieldNames:r,itemKey:i,tooltip:a,...s}=e,[d,u]=(0,j.useState)(!1),[c,p]=(0,j.useState)(""),m=(0,z.Db)();(0,j.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,r]=n[0];p(r)}catch(e){console.error(e)}})(),()=>{e=!0}},[l]);let h=(0,j.useRef)(null),f=e=>{p(e),null==n||n({[i]:e})},g=(0,I.jsx)("span",{style:{whiteSpace:"nowrap",flexShrink:0},children:t});return(0,I.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},onClick:e=>{e.stopPropagation(),u(e=>!e)},onMouseLeave:()=>{h.current=setTimeout(()=>{u(!1)},200)},children:[a?(0,I.jsx)(D.A,{title:a,placement:"top",destroyTooltipOnHide:!0,children:g}):g,(0,I.jsx)(H.A,{...s,open:d,popupMatchSelectWidth:!1,bordered:!1,value:c,onChange:f,popupClassName:`select-popup-${t.replaceAll(" ","-")}`,fieldNames:r,options:o,labelRender:e=>m.t(e.label),optionRender:e=>m.t(e.label),style:{textAlign:"right",minWidth:100},onMouseEnter:()=>{clearTimeout(h.current)},dropdownRender:e=>s.dropdownRender?s.dropdownRender(e,u,f):e})]})}},Q=e=>{let{title:t,uiMode:l,itemProps:n}=e,o=(null==l?void 0:l.type)||l,r=o?X[o]:null,i=!!(null==n?void 0:n.disabled),a=null==n?void 0:n.disabledReason,s=null==n?void 0:n.disabledIconColor,d=r?(0,I.jsx)(r,{title:t,...n}):(0,I.jsx)(I.Fragment,{children:t});return i?(0,I.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[d,(0,I.jsx)(D.A,{title:a,placement:"right",destroyTooltipOnHide:!0,children:(0,I.jsx)(T.A,{style:{color:s}})})]}):d},Z=".nb-toolbar-container-icons",ee=".nb-toolbar-container",et=(0,N.css)`
3312
3312
  width: max-content;
3313
3313
  min-width: max-content;
3314
3314
 
@@ -3681,7 +3681,7 @@ Please run: await ctx.importAsync("${l}") to ensure ctx.render uses a matching R
3681
3681
  min-width: auto !important;
3682
3682
  }
3683
3683
  .variable-trigger-popover .ant-cascader-menus { width: fit-content !important; }
3684
- `}),(0,m.jsx)(ls,{metaTree:o,onChange:d,open:!0,showSearch:!1,dropdownStyle:{boxShadow:"none",border:"none"},style:{display:"none"},children:(0,m.jsx)("div",{})})]}),open:a,trigger:"click",placement:"bottomLeft",onOpenChange:u,overlayClassName:"variable-trigger-popover",destroyTooltipOnHide:!0,children:(0,m.jsxs)("span",{...t,contentEditable:!1,style:{backgroundColor:"#e6f7ff",border:"1px dashed #1890ff",borderRadius:4,padding:"1px 4px",margin:"0 1px",cursor:"pointer",display:"inline-block",fontSize:"12px",color:"#1890ff",userSelect:"none"},"data-slate-void":!0,children:["{{}}",(0,m.jsx)("span",{style:{display:"none"},children:l})]})})},nU=e=>{let{value:t="",onChange:l,metaTree:n,multiline:o=!1,placeholder:r="输入文本,使用 {{ 插入变量",style:i={},...a}=e,s=(0,f.useMemo)(()=>{let e=(0,nq.o$)((0,nL.$k)((0,nO.ie)())),{isInline:t,isVoid:l}=e;return e.isInline=e=>"variable"===e.type||"variable-trigger"===e.type||t(e),e.isVoid=e=>"variable"===e.type||"variable-trigger"===e.type||l(e),e},[]),[d,u]=f.useState(null);f.useEffect(()=>{(async()=>{if(!n)return u(null);try{if("function"==typeof n){let e=await n();u(e)}else u(n)}catch(e){console.warn("Failed to resolve metaTree:",e),u(null)}})()},[n]);let c=(0,f.useCallback)(function(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!t)return[{type:"paragraph",children:[{text:""}]}];let l=/\{\{[^}]+\}\}/g,n=0,o=[];for(;null!==(e=l.exec(t));){e.index>n&&o.push({text:t.slice(n,e.index)});let l=e[0],r=t1(l),i;o.push({type:"variable",value:l,meta:i,children:[{text:""}]}),n=e.index+e[0].length}return n<t.length&&o.push({text:t.slice(n)}),0===o.length&&o.push({text:""}),[{type:"paragraph",children:o}]},[d]),p=(0,f.useMemo)(()=>c(t||""),[t,c]),h=(0,f.useCallback)(e=>e.map(e=>nO.Hg.isElement(e)?"variable"===e.type?e.value:h(e.children):e.text).join(""),[]),g=(0,f.useCallback)(e=>{let t=h(e);null==l||l(t)},[l,h]),v=(0,f.useCallback)((e,t,l)=>{let[n]=nO.KE.nodes(s,{match:t=>nO.Hg.isElement(t)&&"variable-trigger"===t.type&&t.triggerId===e});if(n){let[,e]=n,o={type:"variable",value:t,meta:l,children:[{text:""}]};nO.gB.setNodes(s,o,{at:e});let r=nO.KE.after(s,e);r&&nO.gB.select(s,r),nq.rL.focus(s)}},[s]),y=(0,f.useCallback)(e=>{let[t]=nO.KE.nodes(s,{match:t=>nO.Hg.isElement(t)&&"variable-trigger"===t.type&&t.triggerId===e});if(t){let[,e]=t;nO.gB.select(s,e),nO.gB.removeNodes(s,{at:e}),nO.gB.insertText(s,"{{"),nq.rL.focus(s)}},[s]),x=(0,f.useCallback)(e=>{switch(e.element.type){case"variable":return(0,m.jsx)(nW,{...e,metaTree:d});case"variable-trigger":return(0,m.jsx)(nK,{...e,element:e.element,metaTree:n,onVariableSelect:v,onTriggerClose:y});default:return(0,m.jsx)("p",{...e.attributes,children:e.children})}},[n,d,v,y]),b=(0,f.useCallback)(e=>(0,m.jsx)("span",{...e.attributes,style:{fontWeight:e.leaf.bold?"bold":"normal"},children:e.children}),[]),w=(0,f.useCallback)(e=>{if("{"===e.key){let{selection:t}=s;if(t&&nO.Q6.isCollapsed(t)){let[l]=nO.Q6.edges(t),n=nO.KE.before(s,l);if(n){let t=nO.KE.range(s,n,l);if("{"===nO.KE.string(s,t)){e.preventDefault(),nO.gB.delete(s,{at:t});let l={type:"variable-trigger",triggerId:(0,C.uid)(),children:[{text:""}]};nO.gB.insertNodes(s,l)}}}}},[s]);return(0,m.jsx)(nq.A,{editor:s,initialValue:p,onChange:g,children:(0,m.jsx)(nq.Fo,{renderElement:x,renderLeaf:b,placeholder:r,onKeyDown:w,style:{minHeight:o?100:32,padding:"4px 11px",border:"1px solid #d9d9d9",borderRadius:6,fontSize:14,lineHeight:1.5714285714285714,...i},...a})})},nW=e=>{let{attributes:t,children:l,element:n,metaTree:o}=e,r=n,i=f.useMemo(()=>r.meta?r.meta:(o&&r.value&&t1(r.value),null),[r.meta,r.value,o]);return(0,m.jsxs)("span",{...t,contentEditable:!1,children:[(0,m.jsx)(nV,{value:r.value,metaTreeNode:i,metaTree:o,style:{marginLeft:2,marginRight:2,verticalAlign:"baseline",display:"inline-block"}}),l]})};var nH=l(61793),nG=l(76546);function nY(){return function(e){e.isLargeField=!0}}var nJ=l(63128),nX=l(91013),nQ=l(37966);function nZ(e){var t,l,n;return(null==e||null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==e||null==(n=e.i18n)?void 0:n.language)||(null==e?void 0:e.locale)}function n0(e){var t,l;let{version:n="v1"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=(0,nQ.B)(e),r=nQ.F.resolve(n,o)||nQ.F.resolve(n,"*"),i=nZ(e);return(null==r||null==(t=r.getDoc)?void 0:t.length)?r.getDoc(i)||{}:(null==r||null==(l=r.getDoc)?void 0:l.call(r))||{}}function n1(e){let t=(null==e?void 0:e.version)||"v1",l=(0,nQ.B)(this),n=e=>e,o=nQ.F.resolve(t,l)||nQ.F.resolve(t,"*");if(!o)throw Error("[RunJS] No RunJSContext registered for version/model.");let r=new o(n(this)),i={};try{var a,s;let e=nZ(this);i=(null==o||null==(a=o.getDoc)?void 0:a.length)?o.getDoc(e)||{}:(null==o||null==(s=o.getDoc)?void 0:s.call(o))||{}}catch(e){i={}}let d=(0,e0.Bt)(r,{doc:i}),u={};"u">typeof window&&(u.window=window,"u">typeof navigator&&(u.navigator=navigator)),"u">typeof document&&(u.document=document);let c={ctx:d,...u,...(null==e?void 0:e.globals)||{}},{timeoutMs:p}=e||{};return new nX.I$({globals:c,timeoutMs:p})}function n2(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=nQ.F.getMeta(t,e),n=null==l?void 0:l.scenes;return Array.isArray(n)?[...n]:[]}function n8(e){let{version:t="v1"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n2((0,nQ.B)(e),t)}var n6=l(88828),n3=l(19258);let n5={"global/message-success":()=>l.e("3937").then(l.bind(l,75432)),"global/message-error":()=>l.e("3018").then(l.bind(l,19505)),"global/api-request":()=>l.e("7946").then(l.bind(l,66321)),"global/require-amd":()=>l.e("4222").then(l.bind(l,25789)),"global/import-esm":()=>l.e("6373").then(l.bind(l,25716)),"global/notification-open":()=>l.e("7876").then(l.bind(l,52191)),"global/window-open":()=>l.e("2203").then(l.bind(l,27142)),"global/open-view-drawer":()=>l.e("1676").then(l.bind(l,6551)),"global/open-view-dialog":()=>l.e("7211").then(l.bind(l,29846)),"global/query-selector":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("1507"),l.e("3916"),l.e("2958")]).then(l.bind(l,93117)),"global/clipboard-copy-text":()=>l.e("754").then(l.bind(l,38937)),"scene/block/echarts-init":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("2726")]).then(l.bind(l,37285)),"scene/block/render-react":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("5501")]).then(l.bind(l,71868)),"scene/block/render-react-jsx":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("5721")]).then(l.bind(l,91296)),"scene/block/render-antd-icons":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("8434")]).then(l.bind(l,84953)),"scene/block/render-button-handler":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("7201")]).then(l.bind(l,93512)),"scene/block/add-event-listener":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("212")]).then(l.bind(l,97487)),"scene/block/chartjs-bar":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("1310")]).then(l.bind(l,39101)),"scene/block/vue-component":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("1725")]).then(l.bind(l,40812)),"scene/block/resource-example":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("6738")]).then(l.bind(l,25481)),"scene/block/api-fetch-render-list":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("8138")]).then(l.bind(l,26177)),"scene/block/render-info-card":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("2555")]).then(l.bind(l,53494)),"scene/block/render-statistics":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("1951")]).then(l.bind(l,47890)),"scene/block/render-timeline":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("3727")]).then(l.bind(l,80626)),"scene/block/render-iframe":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("8562")]).then(l.bind(l,25417)),"scene/detail/innerHTML-value":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("700")]).then(l.bind(l,99287)),"scene/detail/format-number":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("1786")]).then(l.bind(l,84529)),"scene/detail/color-by-value":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("2898")]).then(l.bind(l,17689)),"scene/detail/copy-to-clipboard":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("1425")]).then(l.bind(l,57064)),"scene/detail/status-tag":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("6269"),l.e("8438")]).then(l.bind(l,7765)),"scene/detail/relative-time":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("7021")]).then(l.bind(l,37420)),"scene/detail/percentage-bar":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("5759")]).then(l.bind(l,73330)),"scene/detail/set-field-style":()=>l.e("7492").then(l.bind(l,40959)),"scene/form/render-basic":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("6437")]).then(l.bind(l,29924)),"scene/form/set-field-value":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("3989")]).then(l.bind(l,35876)),"scene/form/toggle-visible":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("5761")]).then(l.bind(l,30008)),"scene/form/set-disabled":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("4313")]).then(l.bind(l,66656)),"scene/form/set-required":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("3662")]).then(l.bind(l,44637)),"scene/form/calculate-total":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("2335")]).then(l.bind(l,74354)),"scene/form/conditional-required":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("158")]).then(l.bind(l,37517)),"scene/form/cascade-select":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("7959")]).then(l.bind(l,79242)),"scene/form/toggle-multiple-fields":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("2017")]).then(l.bind(l,57768)),"scene/form/copy-field-values":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("3117")]).then(l.bind(l,80236)),"scene/table/cell-open-dialog":()=>Promise.all([l.e("4687"),l.e("6269"),l.e("9836")]).then(l.bind(l,72103)),"scene/table/concat-fields":()=>Promise.all([l.e("4687"),l.e("6269"),l.e("2710")]).then(l.bind(l,27733)),"scene/table/collection-selected-count":()=>Promise.all([l.e("2861"),l.e("5064")]).then(l.bind(l,35803)),"scene/table/iterate-selected-rows":()=>Promise.all([l.e("2861"),l.e("8262")]).then(l.bind(l,86949)),"scene/table/destroy-selected":()=>Promise.all([l.e("2861"),l.e("3690")]).then(l.bind(l,92625)),"scene/table/export-selected-json":()=>Promise.all([l.e("2861"),l.e("6581")]).then(l.bind(l,56100)),"scene/table/set-cell-style":()=>l.e("9827").then(l.bind(l,10782))};function n4(e,t,l){if("string"!=typeof e||!e.trim())throw Error("[flow-engine] registerRunJSSnippet: ref must be a non-empty string");if("function"!=typeof t)throw Error("[flow-engine] registerRunJSSnippet: loader must be a function returning a Promise");let n=e.trim();return("function"!=typeof n5[n]||!!(null==l?void 0:l.override))&&(n5[n]=t,!0)}function n7(e){let t=e.split("/");return t[t.length-1]||e}function n9(e,t){if(Array.isArray(null==e?void 0:e.scenes)&&e.scenes.length)return e.scenes.map(e=>String(e).trim()).filter(e=>e.length>0);let l=t.split("/");return"scene"===l[0]&&l[1]?[l[1]]:[]}function oe(e){return({detailFieldEvent:"detail",tableFieldEvent:"table",formFieldEvent:"form"})[e]||e}function ot(e,t){let l=n9(e,t);if(l.length)return Array.from(new Set(l.map(e=>`scene/${oe(e)}`)));let n=t.split("/");if(!n.length)return[];let o=n[0];return"global"===o||"libs"===o?[o]:"scene"===o&&n.length>=2?[`${o}/${n[1]}`]:n.length>=2?[`${n[0]}/${n[1]}`]:[n[0]]}function ol(e,t){if(!t||!(null==e?void 0:e.locales))return{};let l=e.locales[t];if(l)return l;let n=t.toLowerCase();if(n!==t&&e.locales[n])return e.locales[n];let o=t.split("-")[0];if(o&&e.locales[o])return e.locales[o];if(o){let t=o.toLowerCase();if(e.locales[t])return e.locales[t]}return{}}async function on(e){let t=n5[e];if("function"!=typeof t)throw Error(`[flow-engine] snippet not found: ${e}`);let l=await t(),n=null==l?void 0:l.default,o=(null==n?void 0:n.content)??(null==l?void 0:l.content)??(null==l?void 0:l.body)??"";return"string"==typeof o?o:String(o??"")}async function oo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,n=[],o=new Set;"string"==typeof e&&e&&o.add(e);try{let l=nQ.F.resolve(t,e);(null==l?void 0:l.name)&&o.add(l.name)}catch(e){}return await Promise.all(Object.entries(n5).map(async r=>{let[i,a]=r;if("function"==typeof a)try{let r=await a(),s=(null==r?void 0:r.default)||{},d=(null==s?void 0:s.content)??(null==r?void 0:r.content);if("string"!=typeof d)return;let u=!0;if(Array.isArray(null==s?void 0:s.contexts)&&s.contexts.length){let t=s.contexts.map(e=>"*"===e?"*":"string"==typeof e?e:"function"==typeof e?e.name||"*":e&&"object"==typeof e&&"string"==typeof e.name?e.name:String(e??""));u="*"===e||t.includes("*")||t.some(e=>o.has(e))}if(u&&Array.isArray(null==s?void 0:s.versions)&&s.versions.length&&(u=s.versions.includes("*")||s.versions.includes(t)),!u)return;let c=ol(s,l),p=c.label||(null==s?void 0:s.label)||n7(i),m=c.description??(null==s?void 0:s.description),h=(null==s?void 0:s.prefix)||p,f=ot(s,i),g=n9(s,i);n.push({name:p,prefix:h,description:m,body:d,ref:i,group:f[0],groups:f,scenes:g})}catch(e){return}})),n}var or=l(67778),oi=l(16639),oa=l(68161),os=l(84471);l(96321),l(98837);class od extends os.j{saveFlow(e){}destroyFlow(e){this.removeFlow(e)}constructor(e={}){super(),this.addFlows(k().cloneDeep(e))}}function ou(e){let t={};for(let[l,n]of e.getFlows())t[l]=k().cloneDeep(n.toData());return t}function oc(e,t){for(let t of Array.from(e.getFlows().keys()))e.removeFlow(t);e.addFlows(k().cloneDeep(t))}var op=l(47451);function om(e){let t=new s.$;e.modelRepository&&t.setModelRepository(e.modelRepository),t.context.addDelegate(e.context),t.unlinkFromStack=function(){let e=t._previousEngine,l=t._nextEngine;e&&(e._nextEngine=l),l&&(l._previousEngine=e),t._previousEngine=void 0,t._nextEngine=void 0};let l=new Set(["_modelInstances","_applyFlowCache","executor","context","previousEngine","nextEngine","unlinkFromStack","linkAfter","_previousEngine","_nextEngine","getModel"]),n={get(t,n,o){if(l.has(n))return Reflect.get(t,n,o);let r=Reflect.get(e,n,o);return"registerModels"===n&&"function"==typeof r?r.bind(e):r},set:(t,n,o)=>l.has(n)?Reflect.set(t,n,o):Reflect.set(e,n,o),has:(t,l)=>l in t||l in e};return t.linkAfter(e),new Proxy(t,n)}l(58149)},22505(e,t,l){"use strict";l.d(t,{R:()=>r}),l(45336),l(84560);var n=l(74848),o=l(96540);function r(e){for(var t=arguments.length,l=Array(t>1?t-1:0),r=1;r<t;r++)l[r-1]=arguments[r];if(0===l.length){let t=(0,o.lazy)(()=>e().then(e=>({default:e.default})));return e=>(0,n.jsx)(o.Suspense,{fallback:null,children:(0,n.jsx)(t,{...e})})}return l.reduce((t,l)=>{let r=(0,o.lazy)(()=>e().then(e=>({default:e[l]})));return t[l]=e=>(0,n.jsx)(o.Suspense,{fallback:null,children:(0,n.jsx)(r,{...e})}),t},{})}},33954(e,t,l){"use strict";l.d(t,{xI:()=>X,WD:()=>L,jG:()=>et,NK:()=>O,B3:()=>el,yN:()=>k,_f:()=>_,WE:()=>J,bt:()=>en,oY:()=>V,yW:()=>ee});var n=l(58587),o=l(18150),r=l(68238);l(23089),l(82855),l(17106),l(36792),l(45336),l(23446),l(32699),l(79936),l(69861),l(34678),l(14324),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(89773),l(5409),l(91625);var i=l(74848),a=l(95243),s=l(2543),d=l.n(s),u=l(96540),c=l(38950),p=l(48036),m=l(96321),h=l(29007),f=l(60182),g=l(84359),v=l(11869),y=l(64171);class x extends y.Z{onActionRegistered(){this.changeMarker={}}getActions(){var e;let t=null==(e=this.parentRegistry)?void 0:e.getActions();if(this.mergedCache&&this.mergedCache.parentSnapshot===t&&this.mergedCache.localMarker===this.changeMarker)return this.mergedCache.mergedMap;let l=new Map(t??[]);for(let[e,t]of this.actions)l.set(e,t);return this.mergedCache={parentSnapshot:t,localMarker:this.changeMarker,mergedMap:l},l}getAction(e){var t;let l=this.actions.get(e);return l||(null==(t=this.parentRegistry)?void 0:t.getAction(e))}constructor(e,t){super(),this.changeMarker={},this.modelClass=e,this.parentRegistry=t??null}}var b=l(41594),w=l(26955);class S extends w.L{onEventRegistered(){this.changeMarker={}}getEvents(){var e;let t=null==(e=this.parentRegistry)?void 0:e.getEvents();if(this.mergedCache&&this.mergedCache.parentSnapshot===t&&this.mergedCache.localMarker===this.changeMarker)return this.mergedCache.mergedMap;let l=new Map(t??[]);for(let[e,t]of this.events)l.set(e,t);return this.mergedCache={parentSnapshot:t,localMarker:this.changeMarker,mergedMap:l},l}getEvent(e){var t;let l=this.events.get(e);return l||(null==(t=this.parentRegistry)?void 0:t.getEvent(e))}constructor(e,t){super(),this.changeMarker={},this.modelClass=e,this.parentRegistry=t??null}}var C=l(98837);l(58149);var F=new WeakMap;class k{static setSharedProperties(e){this.SHARED_PROPERTIES=[...e]}static getSharedProperties(){return[...this.SHARED_PROPERTIES]}get context(){return this["#flowContext"]||(this["#flowContext"]=new h.Hl(this.master,this)),this["#flowContext"]}getPropertyDescriptor(e,t){let l=e;for(;l;){let e=Object.getOwnPropertyDescriptor(l,t);if(e)return e;l=Object.getPrototypeOf(l)}}setProps(e,t){this.disposed||("string"==typeof e?this.localProps[e]=t:this.localProps={...this.localProps,...e})}clearProps(){return this.localProps={}}render(){if(this.disposed)return null;let e={...this.master.getProps(),...this.localProps},t=this.props;this.props=e;try{return this.master.render.call(this)}finally{this.props=t}}getFlowCacheScope(e){return`${String(e)}:${String(this.forkId)}`}dispose(){if(!this.disposed){this.disposed=!0;try{var e;let t=null==(e=this.flowEngine)?void 0:e.applyFlowCache;if(t&&t.size>0){let e=[`:${this.uid}`,`-${this.uid}`],l=`:${this.forkId}:`,n=`-${this.forkId}-`;for(let o of t.keys()){if(!(o.startsWith("event:")||o.startsWith("event-"))||!e.some(e=>o.endsWith(e)))continue;let r=o;for(let t of e)if(r.endsWith(t)){r=r.slice(0,-t.length);break}(r.includes(l)||r.includes(n))&&t.delete(o)}}}catch{}if(this.master&&this.master.forks&&this.master.forks.delete(this),this.master&&this.master.forkCache){let e=this.master.forkCache;for(let[t,l]of e.entries())if(l===this){e.delete(t);break}}}}getProps(){return{...this.master.getProps(),...this.localProps}}isSharedProperty(e){return k.SHARED_PROPERTIES.includes(e)}constructor(e,t={},l){return(0,o._)(this,F,{writable:!0,value:void 0}),this.isFork=!0,this.disposed=!1,this.localProperties={},this.localProperties,this.master=e,this.uid=e.uid,this.localProps={...t},this.forkId=l||(0,c.L)(),this.hidden=this.master.hidden,(0,a.define)(this,{localProps:a.observable,hidden:a.observable,setProps:a.action}),new Proxy(this,{get:(e,t,l)=>{var n;if("disposed"===t)return e.disposed;if("constructor"===t)return e.master.constructor;if("props"===t)return{...e.master.getProps(),...e.localProps};if(t in e)return Reflect.get(e,t,l);if(Object.prototype.hasOwnProperty.call(e.localProperties,t))return e.localProperties[t];let o=null==(n=e.master)?void 0:n[t];if("function"==typeof o){let t=e.master.constructor;return(function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];let r=Object.create(this);return Object.defineProperty(r,"constructor",{value:t,configurable:!0,enumerable:!1,writable:!1}),o.apply(r,l)}).bind(l)}return o},set:(e,t,l,n)=>{if("props"===t)return!0;if(t in e)return Reflect.set(e,t,l,n);let o=String(t);if(k.SHARED_PROPERTIES.includes(o)){let o=this.getPropertyDescriptor(e.master,t);return o&&o.set?o.set.call(n,l):e.master[t]=l,!0}{let o=this.getPropertyDescriptor(e.master,t);return o&&o.set?o.set.call(n,l):e.localProperties[t]=l,!0}}})}}k.SHARED_PROPERTIES=["stepParams","sortIndex"];let A=new WeakMap,P=new WeakMap,M=new WeakMap;function j(e,t){return"number"==typeof(null==e?void 0:e.sortIndex)&&Number.isFinite(e.sortIndex)?e.sortIndex:t+1}function I(e){return e.map((e,t)=>({item:e,index:t,sortIndex:j(e,t)})).sort((e,t)=>e.sortIndex-t.sortIndex||e.index-t.index).map(e=>{let{item:t}=e;return t})}let T=new WeakMap,R=new WeakMap,E=e=>[...e].sort((e,t)=>(e.sort??0)-(t.sort??0)),N=e=>null!==e,D=(e,t)=>{let{group:l,sort:n,prefix:o,path:r}=t;if(!e)return null;let i=e.group||l,a="number"==typeof e.sort?e.sort:n,s=E((e.children||[]).map((e,t)=>D(e,{group:i,sort:a,prefix:o,path:`${r}-${t}`})).filter(N));return{...e,key:e.key??`${o}-${i}-${r}`,group:i,sort:a,children:s.length?s:void 0}};async function $(){return(await Promise.resolve().then(l.bind(l,23183))).openStepSettingsDialog}async function B(){return(await Promise.resolve().then(l.bind(l,96332))).openRequiredParamsStepFormDialog}var O=function(e){return e.ReactElement="reactElement",e.RenderFunction="renderFunction",e}({}),q=new WeakMap;class L{renderHiddenInConfig(){var e,t;return(0,i.jsx)("span",{style:{opacity:.5},children:(null==(e=(t=this).translate)?void 0:e.call(t,"Hidden"))||"Hidden"})}renderOriginal(){return this._originalRender()}get context(){return(0,n._)(this,q)||(0,r._)(this,q,new h.d6(this)),(0,n._)(this,q)}on(e,t){this.emitter.on(e,t)}onInit(e){}async afterAddAsSubModel(){}get async(){return this._options.async||!1}get use(){return this._options.use}get subKey(){return this._options.subKey}get subType(){return this._options.subType}get reactView(){return this.flowEngine.reactView}get parentId(){return this._options.parentId}scheduleModelOperation(e,t,l){var n;return null==(n=this.flowEngine)?void 0:n.scheduleModelOperation(this,e,t,l)}static get meta(){return M.get(this)}static get globalFlowRegistry(){let e=this,t=T.get(e);return t||(t=new C.r(e),T.set(e,t)),t}static get actionRegistry(){let e=this,t=A.get(e);if(!t){let l=null,n=Object.getPrototypeOf(e);n&&n!==Function.prototype&&n!==Object.prototype&&(n===L||(0,f.FA)(n,L))&&(l=n.actionRegistry),t=new x(e,l),A.set(e,t)}return t}static get eventRegistry(){let e=this,t=P.get(e);if(!t){let l=null,n=Object.getPrototypeOf(e);n&&n!==Function.prototype&&n!==Object.prototype&&(n===L||(0,f.FA)(n,L))&&(l=n.eventRegistry),t=new S(e,l),P.set(e,t)}return t}static registerAction(e){this.actionRegistry.registerAction(e)}static registerActions(e){this.actionRegistry.registerActions(e)}static registerEvent(e){this.eventRegistry.registerEvent(e)}static registerEvents(e){this.eventRegistry.registerEvents(e)}static async buildChildrenFromModels(e,t){return Promise.all(t.map(t=>(0,b.Ls)(t,e,!0)))}get title(){var e;return this.translate(this._title)||this.translate(null==(e=this.constructor.meta)?void 0:e.label)}get extraTitle(){return this._extraTitle?this.translate(this._extraTitle):""}setTitle(e){this._title=e}setExtraTitle(e){this._extraTitle=e||""}setHidden(e){this.hidden=!!e}_createSubModels(e){let t=e||{};try{let l=this.constructor.meta,n=null==l?void 0:l.createModelOptions;if(n&&"object"==typeof n&&n.subModels){let l=(e,t)=>{if(Array.isArray(e)&&Array.isArray(t))return t};t=d().mergeWith({},d().cloneDeep(n.subModels||{}),d().cloneDeep(e||{}),l)}}catch(e){}Object.entries(t||{}).forEach(e=>{let[t,l]=e;Array.isArray(l)?I(l).forEach(e=>{this.addSubModel(t,e)}):this.setSubModel(t,l)})}invalidateFlowCache(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.flowEngine){let t=`event:${this.getFlowCacheScope(e||"beforeRender")}`,l=this.flowEngine.applyFlowCache;if(e){let n=t.replace(/:/g,"-"),o=[`:${this.uid}`,`-${this.uid}`],r=[`:${e}:`,`-${e}-`];for(let e of l.keys()){let i=e.startsWith(t)||e.startsWith(n),a=o.some(t=>e.endsWith(t)),s=r.some(t=>e.includes(t));i&&a&&s&&l.delete(e)}}else{let e=`${t}:`.replace(/:/g,"-"),n=[`${t}:`,e],o=[`:${this.uid}`,`-${this.uid}`];for(let e of l.keys()){let t=n.some(t=>e.startsWith(t)),r=o.some(t=>e.endsWith(t));t&&r&&l.delete(e)}}this.forks.forEach(t=>{var l;let n=`event:${(null==(l=t.getFlowCacheScope)?void 0:l.call(t,e||"beforeRender"))??String(t.forkId)}`,o=n.replace(/:/g,"-"),r=[`:${this.uid}`,`-${this.uid}`];if(e){let t=[`:${e}:`,`-${e}-`];for(let e of this.flowEngine.applyFlowCache.keys()){let l=e.startsWith(n)||e.startsWith(o),i=r.some(t=>e.endsWith(t)),a=t.some(t=>e.includes(t));l&&i&&a&&this.flowEngine.applyFlowCache.delete(e)}}else{let e=[`${n}:`,`${o}-`];for(let t of this.flowEngine.applyFlowCache.keys()){let l=e.some(e=>t.startsWith(e)),n=r.some(e=>t.endsWith(e));l&&n&&this.flowEngine.applyFlowCache.delete(t)}}})}if(t)for(let l of Object.keys(this.subModels)){let n=this.subModels[l];if(Array.isArray(n))for(let l of n)l.invalidateFlowCache(e,t);else n instanceof L&&n.invalidateFlowCache(e,t)}}setFlowEngine(e){}static define(e){M.set(this,e)}static registerFlow(e,t){let l=this;"string"==typeof e?l.globalFlowRegistry.addFlow(e,t):l.globalFlowRegistry.addFlow(e.key,e)}getFlow(e){return this.flowRegistry.hasFlow(e)?this.flowRegistry.getFlow(e):this.constructor.globalFlowRegistry.getFlow(e)}registerFlow(e,t){return"string"==typeof e?this.flowRegistry.addFlow(e,t):this.flowRegistry.addFlow(e.key,e)}getActions(){var e;let t=this.constructor.actionRegistry.getActions(),l=new Map,n=null==(e=this.flowEngine)?void 0:e.getActions();if(n)for(let[e,t]of n)l.set(e,t);for(let[e,n]of t)l.set(e,n);return l}getEvents(){var e;let t=this.constructor.eventRegistry.getEvents(),l=new Map,n=null==(e=this.flowEngine)?void 0:e.getEvents();if(n)for(let[e,t]of n)l.set(e,t);for(let[e,n]of t)l.set(e,n);return l}getEvent(e){var t;let l=this.constructor.eventRegistry.getEvent(e);return l||(null==(t=this.flowEngine)?void 0:t.getEvent(e))}getAction(e){var t;let l=this.constructor.actionRegistry.getAction(e);return l||(null==(t=this.flowEngine)?void 0:t.getAction(e))}getFlows(){let e=this.flowRegistry.getFlows(),t=this.constructor.globalFlowRegistry.getFlows(),l=new Set(e.keys()),n=Array.from(t.entries()).filter(e=>{let[t]=e;return!l.has(t)}),o=Array.from(e.entries()).map((e,t)=>({e,i:t}));return o.sort((e,t)=>{let l=e.e[1].sort??0,n=t.e[1].sort??0;return l!==n?l-n:e.i-t.i}),new Map([...o.map(e=>{let{e:t}=e;return t}),...n])}setProps(e,t){"string"==typeof e?this.props[e]=t:this.props={...this.props,...e},this._options.props={...this.props}}getProps(){return this.props}setStepParams(e,t,l){let n=!1;if("string"==typeof e){let r=e;if("string"==typeof t&&void 0!==l){var o;let e=(null==(o=this.stepParams[r])?void 0:o[t])||{},i={...e,...l};d().isEqual(e,i)||(this.stepParams[r]||(this.stepParams[r]={}),this.stepParams[r][t]=i,n=!0)}else if("object"==typeof t&&null!==t){let e=this.stepParams[r]||{},l={...e,...t};d().isEqual(e,l)||(this.stepParams[r]=l,n=!0)}}else if("object"==typeof e&&null!==e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let l=this.stepParams[t]||{},o={...l,...e[t]};d().isEqual(l,o)||(this.stepParams[t]=o,n=!0)}}n&&this.emitter.emit("onStepParamsChanged")}getStepParams(e,t){if(e&&t){var l;return null==(l=this.stepParams[e])?void 0:l[t]}return e?this.stepParams[e]:this.stepParams}async applyFlow(e,t,l){let n=this.flowEngine;if(!n)return console.warn("FlowEngine not available on this model for applyFlow. Check and model.flowEngine setup."),Promise.reject(Error("FlowEngine not available for applyFlow. Please set flowEngine on the model."));let o=!0===this.isFork,r=this;return n.logger.debug(`[FlowModel] applyFlow: uid=${this.uid}, flowKey=${e}, isFork=${o}, cleanRun=${this.cleanRun}, targetIsFork=${(null==r?void 0:r.isFork)===!0}`),n.executor.runFlow(r,e,t,l)}async _dispatchEvent(e,t,l){let n=this.flowEngine;if(!n)return void console.warn("FlowEngine not available on this model for dispatchEvent. Please set flowEngine on the model.");let o=!0===this.isFork,r=this;return n.logger.debug(`[FlowModel] dispatchEvent: uid=${this.uid}, event=${e}, isFork=${o}, cleanRun=${this.cleanRun}, targetIsFork=${(null==r?void 0:r.isFork)===!0}`),await n.executor.dispatchEvent(r,e,t,l)}async dispatchEvent(e,t,l){let n="beforeRender"===e,o=n?{sequential:!0,useCache:!0}:{sequential:!0},r={sequential:(null==l?void 0:l.sequential)??o.sequential,useCache:(null==l?void 0:l.useCache)??o.useCache};return(n&&(this._lastAutoRunParams=[t,r.useCache]),null==l?void 0:l.debounce)?this._dispatchEventWithDebounce(e,t,r):this._dispatchEvent(e,t,r)}getEventFlows(e){let t=this.getFlows(),l="beforeRender"===e,n=t=>{if(l){var n;return!0!==t.manual&&(!t.on||("string"==typeof t.on?"beforeRender"===t.on:(null==(n=t.on)?void 0:n.eventName)==="beforeRender"))}let o=t.on;return!!o&&("string"==typeof o?o===e:(null==o?void 0:o.eventName)===e)};return Array.from(t.values()).filter(n)}resetAutoRunState(){var e,t;null==(t=this._rerunLastAutoRun)||null==(e=t.cancel)||e.call(t),this._lastAutoRunParams=null}async onDispatchEventStart(e,t,l){}async onDispatchEventEnd(e,t,l,n){}async onDispatchEventError(e,t,l,n){}useHooksBeforeRender(){}shouldSkipReactiveWrapping(){return!!this.render.__isReactiveWrapped||"renderFunction"===this.constructor.renderMode}setupReactiveRender(){if("function"==typeof this.render)try{let e=this.render;if(this._originalRender=e,"function"!=typeof e)return void console.error(`FlowModel ${this.constructor.name}: original render method is not a function`,e);if(this.shouldSkipReactiveWrapping()){let t=function(){var t,l,n,o;let r=!!(null==(l=this)||null==(t=l.context)?void 0:t.flowSettingsEnabled);if(this.hidden){if(!r)return null;let e=null==(n=(o=this).renderHiddenInConfig)?void 0:n.call(o),t=this.constructor;return"renderFunction"===t.renderMode?"function"==typeof e?e:()=>e:e}return e.call(this)};t.__originalRender=e,this.render=t;return}let t=t=>{let l=(0,v.observer)(()=>{var l,n;let o=t;o!==t&&(null==o?void 0:o.localProps)!==void 0&&o.localProps,t.props,u.useEffect(()=>{var e,t;return"function"==typeof o.onMount&&o.onMount(),null==(t=o.flowEngine)||null==(e=t.emitter)||e.emitAsync("model:mounted",{uid:o.uid,model:o}),()=>{var e,t;o.resetAutoRunState(),"function"==typeof o.onUnmount&&o.onUnmount(),null==(t=o.flowEngine)||null==(e=t.emitter)||e.emitAsync("model:unmounted",{uid:o.uid,model:o})}},[o]);let r=!!(null==t||null==(l=t.context)?void 0:l.flowSettingsEnabled);return t.hidden?r?null==(n=t.renderHiddenInConfig)?void 0:n.call(t):null:(t.stepParams,e.call(o))});return l.displayName=`ReactiveWrapper(${t.constructor.name})`,l},l=function(){return this._reactiveWrapperCache||(this._reactiveWrapperCache=t(this)),u.createElement(this._reactiveWrapperCache)};l.__isReactiveWrapped=!0,l.__originalRender=e,this.render=l}catch(e){console.error(`FlowModel ${this.constructor.name}: Error during render method wrapping:`,e)}}get cleanRun(){return!0}setCleanRun(e){this._cleanRun,this._cleanRun=!!e}onMount(){}onUnmount(){}render(){return(0,i.jsx)("div",{...this.props})}async rerender(){var e;await this.dispatchEvent("beforeRender",null==(e=this._lastAutoRunParams)?void 0:e[0],{useCache:!1})}getFlowCacheScope(e){return String(e)}setParent(e){if(!(e&&(e.constructor===L||(0,f.FA)(e.constructor,L))))throw Error("Parent must be an instance of FlowModel.");this.parent=e,this._options.parentId=e.uid,!1!==this._options.delegateToParent&&this.context.addDelegate(this.parent.context)}removeParentDelegate(){this.parent&&this.context.removeDelegate(this.parent.context)}addSubModel(e,t){var l,n,o;let r,i=this.master||this;if(t instanceof L){let e=!!t.parent,l=null==(o=t.parent)?void 0:o.uid;if(e&&l&&l!==i.uid)throw Error("Sub model already has a parent.");r=t}else r=i.flowEngine.createModel({...t,parentId:i.uid,subKey:e,subType:"array"});r.setParent(i);let s=i.subModels;Array.isArray(s[e])||(s[e]=a.observable.shallow([]));let d=Math.max(...s[e].map((e,t)=>j(e,t)),0);return r.sortIndex=d+1,s[e].push(r),i.emitter.emit("onSubModelAdded",r),null==(n=i.flowEngine)||null==(l=n.emitter)||l.emit("model:subModel:added",{parentUid:i.uid,parent:i,subKey:e,model:r}),r}setSubModel(e,t){var l,n,o;let r,i=this.master||this;if(t instanceof L){let e=!!t.parent,l=null==(o=t.parent)?void 0:o.uid;if(e&&l&&l!==i.uid)throw Error("Sub model already has a parent.");r=t}else r=i.flowEngine.createModel({...t,parentId:i.uid,subKey:e,subType:"object"});return r.setParent(i),i.subModels[e]=r,i.emitter.emit("onSubModelAdded",r),null==(n=i.flowEngine)||null==(l=n.emitter)||l.emit("model:subModel:added",{parentUid:i.uid,parent:i,subKey:e,model:r}),r}filterSubModels(e,t){let l=this.subModels[e];if(!l)return[];let n=[];return I(d().castArray(l)).forEach((e,l)=>{t(e,l)&&n.push(e)}),n}mapSubModels(e,t){let l=this.subModels[e];if(!l)return[];let n=[];return I(d().castArray(l)).forEach((e,l)=>{let o=t(e,l);n.push(o)}),n}hasSubModel(e){let t=this.subModels[e];return!!t&&d().castArray(t).length>0}findSubModel(e,t){let l=this.subModels[e];return l&&d().castArray(l).find(e=>t(e))||null}createRootModel(e){return this.flowEngine.createModel(e)}async applySubModelsBeforeRenderFlows(e,t,l){await Promise.all(this.mapSubModels(e,async e=>{await e.dispatchEvent("beforeRender",t)}))}createFork(e,t,l){if(t){let l=this.forkCache.get(t);if(l&&!l.disposed)return l.setProps(e||{}),l}let n=new k(this,e,(0,c.L)());return(null==l?void 0:l.register)!==!1&&this.forks.add(n),t&&(null==l?void 0:l.register)!==!1&&this.forkCache.set(t,n),n}clearForks(){var e;this.flowEngine.logger.debug(`FlowModel ${this.uid} clearing all forks.`),(null==(e=this.forks)?void 0:e.size)&&(this.forks.forEach(e=>e.dispose()),this.forks.clear()),this.forkCache.clear()}getFork(e){return this.forkCache.get(e)}moveTo(e,t){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.flowEngine.moveModel(this.uid,e.uid,t)}remove(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid)}async save(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.flowEngine.saveModel(this)}async saveStepParams(){return this.flowEngine.saveModel(this,{onlyStepParams:!0})}async destroy(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before deleting.");return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.destroyModel(this.uid)}async openStepSettingsDialog(e,t){var l;let n=this.getFlow(e),o=null==n||null==(l=n.steps)?void 0:l[t];if(!n||!o)return void console.error(`Flow ${e} or step ${t} not found`);let r=new h.W5(this,e,"settings");return(0,f.wx)(r,n.steps,this,e),r.defineProperty("currentStep",{value:o}),(await $())({model:this,flowKey:e,stepKey:t,ctx:r})}async configureRequiredSteps(e,t){return(await B())({model:this,dialogWidth:e,dialogTitle:t})}async openPresetStepSettingsDialog(e,t){return this.configureRequiredSteps(e,t)}async openFlowStepSettingsDialog(e){}get translate(){return this.flowEngine.translate.bind(this.flowEngine)}serialize(){let e={uid:this.uid,...d().omit(this._options,["flowEngine"]),props:{...this.props},stepParams:this.stepParams,sortIndex:this.sortIndex,flowRegistry:{}},t=this.subModels;for(let l in t)e.subModels=e.subModels||{},Array.isArray(t[l])?e.subModels[l]=t[l].map((e,t)=>({...e.serialize(),sortIndex:t})):t[l]instanceof L&&(e.subModels[l]=t[l].serialize());for(let[t,l]of this.flowRegistry.getFlows())e.flowRegistry[t]=l.toData();return e}clone(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before cloning.");let e=this.serialize(),t=new Map,l=e=>{if(e.uid&&"string"==typeof e.uid&&t.set(e.uid,(0,c.L)()),e.subModels)for(let t in e.subModels){let n=e.subModels[t];Array.isArray(n)?n.forEach(e=>l(e)):n&&"object"==typeof n&&l(n)}};l(e);let n=function(e){let l=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return e;if("string"==typeof e)return t.get(e)??e;if(Array.isArray(e))return e.map(e=>n(e,!1));if("object"==typeof e){let t={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(l&&"parentId"===o||(t[o]=n(e[o],!1)));return t}return e},o=n(e,!0);return this.flowEngine.createModel(o)}async openFlowSettings(e){return this.flowEngine.flowSettings.open({model:this,...e})}static registerExtraMenuItems(e){let t,l=this,n=R.get(l)||new Set;return t="function"==typeof e?{items:e}:e,n.add(t),R.set(l,n),()=>{let e=R.get(l);null==e||e.delete(t)}}static async getExtraMenuItems(e,t){let l=this,n=[],o=new Set,r=async l=>{if(!l||o.has(l))return;o.add(l);let i=R.get(l);if(i){let o=0;for(let r of i){if(r.matcher&&!r.matcher(e))continue;let i="function"==typeof r.items?await r.items(e,t):await Promise.resolve(r.items||[]),a=r.group||"common-actions",s=r.sort??0,d=r.keyPrefix||l.name||"extra";E((i||[]).map((e,t)=>D(e,{group:a,sort:s,prefix:d,path:`${o}-${t}`})).filter(N)).forEach(e=>{n.push(e)}),o+=1}}let a=Object.getPrototypeOf(l);(a===L||(null==a?void 0:a.prototype)instanceof L)&&await r(a)};return await r(l),n}refresh(){return this.rerender()}constructor(e){if((0,o._)(this,q,{writable:!0,value:void 0}),this.hidden=!1,this.props={},this.stepParams={},this.isNew=!1,this.skeleton=null,this.forbidden=null,this.forks=new Set,this.emitter=new p.v,this.forkCache=new Map,this._lastAutoRunParams=null,this._originalRender=null,this._dispatchEventWithDebounce=d().debounce(async function(e,t,l){return this._dispatchEvent(e,t,l)},500,{leading:!0}),this._rerunLastAutoRun=d().debounce(async()=>{if(this._lastAutoRunParams)try{let[e]=this._lastAutoRunParams;await this.dispatchEvent("beforeRender",e)}catch(e){console.error("FlowModel._rerunLastAutoRun: Error during rerun:",e)}},100),!e.flowEngine)throw Error("FlowModel must be initialized with a FlowEngine instance.");if(this.flowEngine=e.flowEngine,this.flowEngine.getModel(e.uid))return this.flowEngine.getModel(e.uid);e.uid||(e.uid=(0,c.L)()),this.uid=e.uid,this.props={...e.props},this.stepParams=e.stepParams||{},this.subModels={},this.sortIndex=j({sortIndex:e.sortIndex},-1),this._options=e,this._title="",this._extraTitle="",(0,a.define)(this,{hidden:a.observable,props:a.observable,subModels:a.observable.shallow,stepParams:a.observable,_title:a.observable,_extraTitle:a.observable,setProps:a.batch,setStepParams:a.batch}),this.flowRegistry=new m.R(this),this.flowRegistry.addFlows(e.flowRegistry),this.observerDispose=(0,a.observe)(this.stepParams,e=>{if("set"===e.type&&d().isEqual(e.value,e.oldValue))return;let t=!!this._lastAutoRunParams;this.flowEngine&&this.invalidateFlowCache("beforeRender"),t&&this._rerunLastAutoRun(),this.forks.forEach(e=>{e.rerender()})});try{this.setupReactiveRender()}catch(e){console.error(`Failed to setup reactive render for ${this.constructor.name}:`,e),"function"!=typeof this.render&&(this.render=()=>u.createElement("div",null,"Render method not available"))}this._cleanRun=!!e.cleanRun}}L.renderMode="reactElement";class _ extends L{setErrorMessage(e){this.errorMessage=e}render(){return(0,i.jsx)(g.A.Text,{type:"danger",children:this.errorMessage})}}function V(e){return e}l(63836);var z=l(16629),K=l(89013),U=l(42443),W=l(13415),H=l(18492),G=l(57084),Y=l(31102);function J(e){let{title:t}=e,{t:l}=(0,H.B)();return(0,i.jsx)(Y.eI,{label:t,showLabel:!0,children:(0,i.jsx)(z.A,{size:"small",styles:{body:{color:"rgba(0,0,0,0.45)"}},children:l("This field has been hidden and you cannot view it (this content is only visible when the UI Editor is activated).")})})}function X(){var e;let{t}=(0,H.B)(),l=(0,G.PZ)(),n=l.context.blockModel,o=null==(e=n.collection)?void 0:e.dataSource,r=n.collection,a=l.fieldPath,s=(0,u.useMemo)(()=>{let e=o?`${t(o.displayName||o.key)} > `:"",l=r?`${t(r.title)||r.name||r.tableName} > `:"";return`${e}${l}${a}`},[]);return(0,i.jsx)(K.A.Item,{children:(0,i.jsx)("div",{style:{color:"rgba(0,0,0,0.45)"},children:t('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:t("Field"),name:s,blockType:t("Field")}).replaceAll("&gt;",">")})})}function Q(){var e,t;let{t:l}=(0,H.B)(),n=(0,G.PZ)(),o=n.context.blockModel,r=(null==(e=n.context.collectionField)?void 0:e.collection)||o.collection,a=r.dataSource,s=(null==(t=n.context.collectionField)?void 0:t.name)||n.fieldPath,c=(0,u.useMemo)(()=>{let e=`${l(a.displayName||a.key)} > `,t=r?`${l(r.title)||r.name||r.tableName} > `:"";return`${e}${t}${s}`},[]),{actionName:p}=n.forbidden,m=(0,u.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:c,actionName:l(d().capitalize(p))}).replaceAll("&gt;",">"),[c,l]);return(0,i.jsx)(U.A,{title:m,children:(0,i.jsx)(Y.eI,{showLabel:!0,label:n.context.collectionField.title||s,style:{opacity:"0.4"},children:(0,i.jsx)(W.A,{})})})}let Z=()=>!0;class ee extends L{renderHiddenInConfig(){return this.forbidden?(0,i.jsx)(Q,{}):(0,i.jsx)(U.A,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,i.jsx)("div",{style:{opacity:.3},children:this.renderOriginal.call(this)})})}get title(){}onInit(e){this.context.defineProperty("collectionField",{get:()=>{let e=this.getFieldSettingsInitParams();return this.context.dataSourceManager.getCollectionField(`${e.dataSourceKey}.${e.collectionName}.${e.fieldPath}`)},cache:!1}),this.context.defineProperty("fieldPath",{get:()=>this.fieldPath}),this.context.blockModel&&(this.context.blockModel.addAppends(this.fieldPath),this.context.blockModel.addAppends(this.associationPathName))}getFieldSettingsInitParams(){return this.getStepParams("fieldSettings","init")||{}}get fieldPath(){return this.getFieldSettingsInitParams().fieldPath}get associationPathName(){return this.getFieldSettingsInitParams().associationPathName}get collectionField(){return this.context.collectionField}async afterAddAsSubModel(){this.context.resource&&await this.context.resource.refresh()}static getBindingsByField(e,t){if(!t)return;let l=t.interface;return this.bindings.has(l)?this.bindings.get(l).sort((e,t)=>e.order-t.order).filter(l=>e.engine.getModelClass(l.modelName)&&l.when(e,t)):[]}static getDefaultBindingByField(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(l.fallbackToTargetTitleField){let n=this.getDefaultBindingByField(e,t,{useStrict:!0});return!n&&(t.isAssociationField()&&(null==l?void 0:l.targetCollectionTitleField)||t.targetCollectionTitleField)?this.getDefaultBindingByField(e,(null==l?void 0:l.targetCollectionTitleField)||t.targetCollectionTitleField):n}let n=t.interface;if(!n||!this.bindings.has(n))return null;let o=this.bindings.get(n),r=o.filter(l=>l.isDefault&&e.engine.getModelClass(l.modelName)&&l.when(e,t));if(1===r.length)return r[0];if(r.length>0){let e=null;if((e=r.find(e=>e.when!==Z))||(e=r.find(e=>e.when===Z)))return e}return l.useStrict?null:o.find(l=>e.engine.getModelClass(l.modelName)&&l.when(e,t))}static bindModelToInterface(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(Array.isArray(t))return void t.forEach(t=>this.bindModelToInterface(e,t,l));this.currentBindings.has(t)||this.currentBindings.set(t,[]);let n=this.currentBindings.get(t);n.push({modelName:e,isDefault:l.isDefault||!1,defaultProps:l.defaultProps||null,when:l.when||Z,order:l.order}),this.currentBindings.set(t,n)}static get currentBindings(){return Object.prototype.hasOwnProperty.call(this,"_bindings")&&this._bindings||(this._bindings=new Map),this._bindings}static getAllParentClasses(){let e=[],t=this;for(;t&&t!==Object;)(null==(t=Object.getPrototypeOf(t))?void 0:t.currentBindings)&&e.push(t);return e}static get bindings(){let e=new Map;for(let t of this.getAllParentClasses())for(let[l,n]of t.currentBindings)e.has(l)||e.set(l,[]),e.get(l).unshift(...n);for(let[t,l]of this.currentBindings)e.has(t)||e.set(t,[]),e.get(t).unshift(...l);return e}renderItem(){return null}render(){return this.collectionField?this.renderItem():(0,i.jsx)(X,{})}}ee._bindings=new Map,ee.registerFlow({key:"fieldSettings",title:(0,f.MI)("Field settings"),steps:{init:{handler(e,t){let{dataSourceKey:l,collectionName:n,fieldPath:o}=t;if(!l)throw Error("dataSourceKey is a required parameter");if(!n)throw Error("collectionName is a required parameter");if(!o)throw Error("fieldPath is a required parameter")}}}});class et extends ee{}class el extends ee{}class en extends ee{}},20616(e,t,l){"use strict";l.d(t,{I6:()=>m,Db:()=>g,uf:()=>f,f7:()=>h}),l(89773),l(14324);var n=l(74848),o=l(88040),r=l(4888),i=l(35710),a=l(96540),s=l(52568),d=l(67778);let u=0;class c{getNextZIndex(){return this.zIndex+1}open(e){let{type:t,...l}=e;if(this.types[t]){u+=1;let e=l.onClose,n=!1,o=()=>{n||(n=!0,u-=1)},r=l.zIndex;return l.onClose=function(){for(var t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];null==e||e(...l),o()},"embed"===t&&(l.onOpenCancelled=o),"embed"!==t&&(l.zIndex=r??this.getNextZIndex()),this.types[t].open(l,this.ctx)}throw Error(`Unknown view type: ${t}`)}dialog(e){return this.open({type:"dialog",...e})}drawer(e){return this.open({type:"drawer",...e})}popover(e){return this.open({type:"popover",...e})}embed(e){return this.open({type:"embed",...e})}constructor(e,t){var l;this.ctx=e,this.types=t,this.zIndex=u+((null==(l=e.themeToken)?void 0:l.zIndexPopupBase)||1e3)}}let p=(0,a.createContext)(null),m=a.memo(e=>{let{engine:t,children:l}=e;if(!t)throw Error("FlowEngineProvider must be supplied with an engine.");return(0,n.jsx)(p.Provider,{value:t,children:(0,n.jsx)(s.Dv,{context:t.context,children:l})})});m.displayName="FlowEngineProvider";let h=e=>{var t;let{children:l}=e,{modal:s,message:u,notification:p}=o.A.useApp(),[m,h]=(0,d.bt)(),[g,v]=(0,d.N5)(),[y,x]=(0,d.fP)(),[b,w]=(0,d.sp)(),S=f(),C=(0,a.useContext)(r.Ay.ConfigContext),{token:F}=i.A.useToken(),k=a.useMemo(()=>{var e;let t=null==C||null==(e=C.theme)?void 0:e.algorithm;return Array.isArray(t)?t.includes(i.A.darkAlgorithm):t===i.A.darkAlgorithm},[C]);for(let e of(S.context.defineProperty("viewer",{cache:!1,get:e=>new c(e,{drawer:m,embed:g,popover:y,dialog:b})}),Object.entries({antdConfig:C,modal:s,message:u,notification:p}))){let[t,l]=e;l&&S.context.defineProperty(t,{value:l})}return S.context.defineProperty("themeToken",{get:()=>F,observable:!0,cache:!0}),S.context.defineProperty("isDarkTheme",{get:()=>k,observable:!0,cache:!0,info:{description:"Whether current theme algorithm is dark mode.",detail:"boolean"}}),(0,a.useEffect)(()=>{S.reactView.refresh()},[S,m,s,u,p,C,y,F,b,g,k]),(0,n.jsxs)(r.Ay,{...C,locale:null==(t=S.context.locales)?void 0:t.antd,popupMatchSelectWidth:!1,children:[l,h,x,v,w]})},f=function(){let{throwError:e=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,a.useContext)(p);return!t&&e?void console.warn("useFlowEngine must be used within a FlowEngineProvider, and FlowEngineProvider must be supplied with an engine."):t},g=()=>f().context},52847(e,t,l){"use strict";l.d(t,{vA:()=>n.batch,lB:()=>n.observe,po:()=>n.markObservable,dw:()=>n.DataNode,XI:()=>n.action,SL:()=>d,KP:()=>n.hasCollected,Jv:()=>n.setDataNode,r5:()=>n.DataChange,O8:()=>n.untracked,JD:()=>n.Tracker,H_:()=>n.buildDataTree,gR:()=>n.contains,E8:()=>n.define,Rq:()=>n.isSupportObservable,IG:()=>n.markRaw,PA:()=>s,D:()=>n.getDataNode,ge:()=>n.model,AT:()=>n.isObservable,fm:()=>n.autorun,sH:()=>n.observable,lS:()=>n.raw,Ir:()=>n.isAnnotation,mJ:()=>n.reaction,HO:()=>n.toJS});var n=l(95243),o=l(74848),r=l(69804),i=l(96540),a=l(52568);let s=(e,t)=>{let l=i.memo(l=>{let s=(0,a.$K)(),u=(0,i.useRef)(s);u.current=s;let c=(0,i.useRef)(null),p=(0,i.useRef)(null),m=()=>{c.current&&(c.current(),c.current=null)},h=()=>{p.current&&(clearTimeout(p.current),p.current=null)},f=()=>{var e,t;let l=d(u.current),n=null==(t=u.current)||null==(e=t.tabActive)?void 0:e.value;return!1!==l&&!1!==n};(0,i.useEffect)(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),c.current&&(c.current(),c.current=null)},[]);let g=(0,i.useMemo)(()=>(0,r.observer)(e,{scheduler(e){if(!f()){if(p.current||c.current)return;p.current=setTimeout(()=>{if(p.current=null,!c.current){if(f())return void e();c.current=(0,n.reaction)(()=>f(),t=>{t&&(m(),e())},{name:"FlowObserverPendingUpdate"})}});return}h(),m(),e()},...t}),[]);return(0,o.jsx)(g,{...l})});return l.displayName="ComponentWithDefaultScheduler",l};function d(e){var t,l,n;return"boolean"==typeof(null==e||null==(t=e.pageActive)?void 0:t.value)?null==e||null==(l=e.pageActive)?void 0:l.value:null==e||null==(n=e.view)?void 0:n.inputArgs.pageActive}},27667(e,t,l){"use strict";l.d(t,{tP:()=>x,sB:()=>v,I8:()=>m,qi:()=>p,Rn:()=>g,BS:()=>a,hR:()=>d,vB:()=>f,l2:()=>s,BH:()=>b}),l(89773);var n=l(9297);l(14324),l(5409),l(45336),l(79936),l(69861);var o=l(95243),r=l(29007);function i(e){var t,l,n,o,r,i,a,s,d,u,c;if("string"==typeof(null==e||null==(t=e.response)?void 0:t.data)){let t=document.createElement("div");t.innerHTML=null==e||null==(d=e.response)?void 0:d.data;let l=t.textContent||t.innerText;return l.includes("Error occurred while trying")||l.includes("502 Bad Gateway")?[{code:"APP_WARNING",message:l="The application may be starting up. Please try again later."}]:[{message:l}]}return(null==e||null==(n=e.response)||null==(l=n.data)?void 0:l.error)?[null==e||null==(c=e.response)||null==(u=c.data)?void 0:u.error]:(null==e||null==(r=e.response)||null==(o=r.data)?void 0:o.errors)||(null==e||null==(a=e.response)||null==(i=a.data)?void 0:i.messages)||(null==e||null==(s=e.response)?void 0:s.error)||[{message:e.message||"Server error"}]}class a extends Error{get code(){var e;return(null==(e=this.data)?void 0:e.code)||"UNKNOWN_ERROR"}get message(){var e;return(null==(e=this.data)?void 0:e.message)||"An unknown error occurred"}constructor(e){const t=i(e).shift();super(t.message),this.data=t,this.name="ResponseError"}}class s{getData(){return this._data.value}hasData(){let e=this.getData();return Array.isArray(e)?e.length>0:!!e&&"object"==typeof e&&Object.keys(e).length>0}setData(e){return this._data.value=e,this}getMeta(e){return e?this._meta.value[e]:this._meta.value}setMeta(e){return this._meta.value={...this._meta.value,...e},this}get error(){return this._error.value}getError(){return this._error.value}setError(e){return this._error.value=e,this}clearError(){return this._error.value=null,this}on(e,t){var l,n;((l=this.events)[n=e]||(l[n]=[])).push(t)}once(e,t){var l=this;let n=function(){for(var o=arguments.length,r=Array(o),i=0;i<o;i++)r[i]=arguments[i];t(...r),l.off(e,n)};this.on(e,n)}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.events[e]||[]).forEach(e=>e(...l))}constructor(e){this._data=o.observable.ref(null),this._meta=o.observable.ref({}),this._error=o.observable.ref(null),this.events={},this.context=new r.cB,this.context.addDelegate(e)}}class d extends s{setAPIClient(e){return this.api=(0,n.kx)(e,this.context),this}getURL(){return this.request.url}setURL(e){return this.request.url=e,this}get loading(){return this.getMeta("loading")||!1}set loading(e){this.setMeta({loading:e})}clearRequestParameters(){return this.request.params={},this}setRequestParameters(e){return this.request.params={...this.request.params,...e},this}setRequestMethod(e){return this.request.method=e,this}addRequestHeader(e,t){return this.request.headers||(this.request.headers={}),this.request.headers[e]=t,this}removeRequestHeader(e){return this.request.headers&&e in this.request.headers&&delete this.request.headers[e],this}addRequestParameter(e,t){return this.request.params||(this.request.params={}),this.request.params[e]=t,this}getRequestParameter(e){return this.request.params&&e in this.request.params?this.request.params[e]:null}removeRequestParameter(e){return this.request.params&&e in this.request.params&&delete this.request.params[e],this}setRequestBody(e){return this.request.data=e,this}setRequestOptions(e,t){return this.request[e]=t,this}getRequestOptions(){return this.request}async refresh(){if(!this.api)throw Error("API client not set");this.clearError();try{let{data:e}=await this.api.request({url:this.getURL(),...this.getRefreshRequestOptions()});this.setData(e),this.emit("refresh")}catch(t){let e=new a(t);throw this.setError(e),e}}getRefreshRequestOptions(){return{...this.request}}constructor(e){super(e),this.request={headers:{},params:{},method:"get",data:null},e&&(this.api=e.api)}}l(84560),l(23446),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var u=l(2543),c=l.n(u);class p{toJSON(){return this.options.operator?{[this.options.path]:{[this.options.operator]:this.options.value}}:{[this.options.path]:this.options.value}}constructor(e){if(this.options=e,e instanceof p)return e;this.options=e}}class m{toJSON(){return{[this.options.logic]:this.options.items.map(e=>e.toJSON())}}constructor(e){if(e instanceof m)return e;if("$and"!==e.logic&&"$or"!==e.logic)throw Error("Logic must be either $and or $or");if(!Array.isArray(e.items))throw Error("Items must be an array");this.options={logic:e.logic,items:e.items.map(e=>e.logic?new m(e):new p(e))}}}var h=l(44951);class f extends d{get supportsFilter(){return!0}setRefreshAction(e){this._refreshActionName=e}mergeRequestConfig(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let n={},o=(e,t,l,n,o,r)=>{let i=r.size;if(Array.isArray(t)||i>1)return t};return t.reduce((e,t)=>c().mergeWith(e,t,o),n)}setRunActionOptions(e,t){return this.runActionOptions[e]=t,this}splitValue(e){return"string"==typeof e?e.split(",").map(e=>e.trim()):Array.isArray(e)?e:[]}buildURL(e){let t="";if(this.resourceName)if(this.sourceId&&this.resourceName.includes(".")){let[l,n]=this.resourceName.split(".");t=`${l}/${this.sourceId}/${n}:${e||"get"}`}else t=`${this.resourceName}:${e||"get"}`;return t}async runAction(e,t){var l;let{rawResponse:n,...o}=t,r=this.mergeRequestConfig(c().omit(this.request,["params","data","method"]),{method:"post",url:this.buildURL(e)},null==(l=this.runActionOptions)?void 0:l[e],o);["create","update","firstOrCreate","updateOrCreate"].includes(e)&&(r.params=r.params||{},r.params.updateAssociationValues=this.getUpdateAssociationValues());try{let e=await this.api.request(r);if(n)return e;let{data:t}=e;if(!(null==t?void 0:t.data))return t;return{data:t.data,meta:t.meta}}catch(e){throw new a(e)}}setResourceName(e){return this.resourceName=e,this}getResourceName(){return this.resourceName}markDataSourceDirty(e){(0,h.BL)({engine:this.context.engine,dataSourceKey:this.getDataSourceKey(),resourceName:e||this.getResourceName(),includePreviousEngines:!0})}setSourceId(e){return this.sourceId=e,this}getSourceId(){return this.sourceId}setDataSourceKey(e){return this.addRequestHeader("X-Data-Source",e)}getDataSourceKey(){return this.request.headers["X-Data-Source"]}setFilter(e){return this.addRequestParameter("filter",JSON.stringify(e))}getFilter(){let e=[...this.filterGroups.values()].filter(Boolean);if(0!==e.length)return{$and:e}}resetFilter(){this.setFilter(this.getFilter())}addFilterGroup(e,t){t instanceof p&&(t=t.toJSON()),this.filterGroups.set(e,t),this.resetFilter()}removeFilterGroup(e){this.filterGroups.delete(e),this.resetFilter()}setAppends(e){return this.addRequestParameter("appends",e)}getAppends(){return this.request.params.appends||[]}addAppends(e){let t=this.getAppends();return this.splitValue(e).forEach(e=>{t.includes(e)||t.push(e)}),this.request.params.appends=t,this}removeAppends(e){if(!this.request.params.appends)return this;let t=this.getAppends(),l=this.splitValue(e);return this.request.params.appends=t.filter(e=>!l.includes(e)),this}getUpdateAssociationValues(){return this.updateAssociationValues||[]}addUpdateAssociationValues(e){let t=this.getUpdateAssociationValues();return this.splitValue(e).forEach(e=>{t.includes(e)||t.push(e)}),this.updateAssociationValues=t,this}jsonStringify(e){return null!==e&&"object"==typeof e?JSON.stringify(e):e}setFilterByTk(e){return this.addRequestParameter("filterByTk",this.jsonStringify(e))}getFilterByTk(){return this.request.params.filterByTk}setFields(e){return this.addRequestParameter("fields",this.splitValue(e))}getFields(){return this.request.params.fields||[]}setSort(e){return this.addRequestParameter("sort",this.splitValue(e))}getSort(){return this.request.params.sort||[]}setExcept(e){return this.addRequestParameter("except",this.splitValue(e))}getExcept(){return this.request.params.except||[]}setWhitelist(e){return this.addRequestParameter("whitelist",this.splitValue(e))}getWhitelist(){return this.request.params.whitelist||[]}setBlacklist(e){return this.addRequestParameter("blacklist",this.splitValue(e))}getBlacklist(){return this.request.params.blacklist||[]}constructor(...e){super(...e),this.sourceId=null,this.request={method:"get",params:{},headers:{}},this.updateAssociationValues=[],this.runActionOptions={},this.filterGroups=new Map,this._refreshActionName="list"}}class g extends f{get supportsFilter(){return!0}setCreateActionOptions(e){return this.createActionOptions=e,this}setUpdateActionOptions(e){return this.updateActionOptions=e,this}setSelectedRows(e){return this.setMeta({selectedRows:e}),this}getSelectedRows(){return this.getMeta("selectedRows")||[]}getCount(){return this.getMeta("count")}setPage(e){return this.addRequestParameter("page",e),this.setMeta({page:e})}getPage(){return this.getMeta("page")}setPageSize(e){return this.addRequestParameter("pageSize",e),this.setMeta({pageSize:e})}getPageSize(){return this.getMeta("pageSize")}getTotalPage(){return this.getMeta("totalPage")}getCell(e,t){var l;let n=this.getData();return null==n||null==(l=n[e])?void 0:l[t]}async next(){this.request.params.page+=1,await this.refresh()}async previous(){this.request.params.page>1&&(this.request.params.page-=1,await this.refresh())}async goto(e){e>0&&(this.request.params.page=e,await this.refresh())}async create(e,t){let l=this.mergeRequestConfig({data:e},this.createActionOptions,t),o=await this.runAction("create",{...l,[n.q3]:!0});return this.markDataSourceDirty(),this.emit("saved",e),(null==t?void 0:t.refresh)!==!1&&await this.refresh(),o}async get(e){let t={params:{filterByTk:e}},{data:l}=await this.runAction("get",{...t});return l}async update(e,t,l){let o=t,r=this.mergeRequestConfig({params:{filterByTk:e},data:o},this.updateActionOptions,l);await this.runAction("update",{...r,[n.q3]:!0}),this.markDataSourceDirty(),this.emit("saved",t),await this.refresh()}async destroySelectedRows(){let e=this.getSelectedRows();if(0===e.length)throw Error("No rows selected for deletion.");await this.destroy(e)}async destroy(e,t){let l=this.mergeRequestConfig({params:{filterByTk:this.jsonStringify(e)}},t);await this.runAction("destroy",{...l,[n.q3]:!0}),this.markDataSourceDirty();let o=this.getPage(),r=Math.ceil((this.getCount()-c().castArray(e).length)/this.getPageSize());o>r&&this.setPage(r||1),await this.refresh()}setItem(e,t){let l=this.getData().slice();l[e]={...t},this.setData(l)}async refresh(){return this.refreshTimer&&clearTimeout(this.refreshTimer),new Promise((e,t)=>{this.refreshWaiters.push({resolve:e,reject:t}),this.refreshTimer=setTimeout(async()=>{let e=this.refreshWaiters;this.refreshWaiters=[],this.refreshTimer=null;try{this.clearError(),this.loading=!0;let{data:t,meta:l}=await this.runAction(this._refreshActionName,{method:"get",...this.getRefreshRequestOptions()});this.setData(t).setMeta(l),(null==l?void 0:l.page)&&this.setPage(l.page),(null==l?void 0:l.pageSize)&&this.setPageSize(l.pageSize),this.emit("refresh"),e.forEach(e=>e.resolve())}catch(l){this.setError(l);let t=l instanceof Error?l:Error(String(l));e.forEach(e=>e.reject(t))}finally{this.loading=!1}})})}constructor(...e){super(...e),this._data=o.observable.ref([]),this._meta=o.observable.ref({}),this.refreshTimer=null,this.refreshWaiters=[],this.createActionOptions={},this.updateActionOptions={},this._refreshActionName="list",this.request={method:"get",params:{filter:{},filterByTk:null,appends:[],fields:[],sort:null,except:null,whitelist:null,blacklist:null,page:1,pageSize:20},headers:{}}}}class v extends f{get supportsFilter(){return!this.isNewRecord}setSaveActionOptions(e){return this.saveActionOptions=e,this}setFilterByTk(e){return this.isNewRecord=!1,super.setFilterByTk(e)}async save(e,t){let l=this.mergeRequestConfig(this.saveActionOptions,c().omit(t,["refresh"])),o="create",r=e;this.isNewRecord||(l.params=l.params||{},l.params.filterByTk=this.getFilterByTk(),o="update");let i=await this.runAction(o,{...l,data:r,[n.q3]:!0});return this.markDataSourceDirty(),this.emit("saved",e),(null==t?void 0:t.refresh)!==!1&&await this.refresh(),i}async destroy(e){let t=this.mergeRequestConfig({params:{filterByTk:this.jsonStringify(this.request.params.filterByTk)}},e);await this.runAction("destroy",{...t,[n.q3]:!0}),this.markDataSourceDirty(),this.setData(null)}async refresh(){if(this.clearError(),!this.isNewRecord)try{let{data:e,meta:t}=await this.runAction(this._refreshActionName,{method:"get",...this.getRefreshRequestOptions()});this.setData(e).setMeta(t),this.emit("refresh")}catch(e){throw this.setError(e),e}}constructor(...e){super(...e),this.isNewRecord=!1,this.saveActionOptions={},this._refreshActionName="get"}}var y=l(87710);class x{async run(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{sql:l,bind:n,liquidContext:o}=await (0,y.transformSQL)(e),r=await this.ctx.resolveJsonTemplate({bind:n,liquidContext:o}),i=await (0,y.parseLiquidContext)(l,r.liquidContext),{data:a}=await this.ctx.api.request({method:"POST",url:"flowSql:run",data:{sql:i,...t,bind:{...r.bind,...t.bind}}});return null==a?void 0:a.data}async save(e){await this.ctx.api.request({method:"POST",url:"flowSql:save",data:{...e}})}async runById(e,t){let l=await this.ctx.api.request({method:"GET",url:"flowSql:getBind",params:{uid:e}}),{bind:n,liquidContext:o}=await this.ctx.resolveJsonTemplate(l.data.data||{}),{data:r}=await this.ctx.api.request({method:"POST",url:"flowSql:runById",data:{uid:e,...t,bind:{...n,...null==t?void 0:t.bind},liquidContext:o}});return null==r?void 0:r.data}async destroy(e){await this.ctx.api.request({url:"flowSql:destroy",params:{filterByTk:e}})}constructor(e){this.ctx=new r.cB,this.ctx.addDelegate(e),this.ctx.defineProperty("offset",{get:()=>0,cache:!1}),this.ctx.defineProperty("limit",{get:()=>20,cache:!1})}}class b extends f{get refreshActionName(){return this._debugEnabled?"run":"runById"}get supportsFilter(){return!0}buildURL(e){return`flowSql:${e||this.refreshActionName}`}setPage(e){return this.addRequestParameter("page",e),this.setMeta({page:e})}getPage(){return this.getMeta("page")||1}setPageSize(e){return this.addRequestParameter("pageSize",e),this.setMeta({pageSize:e})}setDebug(e){return this._debugEnabled=e,this}getPageSize(){return this.getMeta("pageSize")||20}async next(){this.setPage(this.getPage()+1),await this.refresh()}async previous(){this.getPage()>1&&(this.setPage(this.getPage()-1),await this.refresh())}async goto(e){e>0&&(this.request.params.page=e,await this.refresh())}setDataSourceKey(e){return this.request.data.dataSourceKey=e,this}setSQLType(e){return this.request.data.type=e,this}setSQL(e){return this._sql=e,this}setFilterByTk(e){return this.request.data.uid=e,this}setFilter(e){return this.request.data.filter=e,this}setBind(e){return this.request.data.bind=e,this}setLiquidContext(e){return this.request.data.liquidContext=e,this}async run(){return this._debugEnabled?await this.runBySQL():await this.runById()}async runBySQL(){let e=this._sql,{sql:t,bind:l,liquidContext:n}=await (0,y.transformSQL)(e),o=await this.context.resolveJsonTemplate({bind:l,liquidContext:n}),r=c().cloneDeep({method:"post",...this.getRefreshRequestOptions()});return r.data.sql=await (0,y.parseLiquidContext)(t,o.liquidContext),r.data.bind=o.bind,await this.runAction("run",r)}async runById(){let{data:e}=await this.runAction("getBind",{method:"get",params:{uid:this.request.data.uid}}),{bind:t,liquidContext:l}=await this.context.resolveJsonTemplate(e);return this.setBind(t),this.setLiquidContext(l),await this.runAction("runById",{method:"post",...this.getRefreshRequestOptions()})}async refresh(){return this.refreshTimer&&clearTimeout(this.refreshTimer),new Promise((e,t)=>{this.refreshWaiters.push({resolve:e,reject:t}),this.refreshTimer=setTimeout(async()=>{let e=this.refreshWaiters;this.refreshWaiters=[],this.refreshTimer=null;try{this.clearError(),this.loading=!0,this.emit("loading");let{data:t,meta:l}=await this.run();this.setData(t).setMeta(l),this.loading=!1,this.emit("refresh"),e.forEach(e=>e.resolve())}catch(l){this.setError(l);let t=l instanceof Error?l:Error(String(l));e.forEach(e=>e.reject(t))}finally{this.loading=!1}})})}constructor(e){super(e),this._data=o.observable.ref(null),this._meta=o.observable.ref({}),this.refreshTimer=null,this.refreshWaiters=[],this._debugEnabled=!1,this.request={method:"post",params:{},data:{},headers:{}},e.defineProperty("limit",{get:()=>this.getPageSize(),cache:!1}),e.defineProperty("offset",{get:()=>(this.getPage()-1)*this.getPageSize(),cache:!1})}}},19258(e,t,l){"use strict";l.d(t,{JF:()=>d,Jq:()=>u,R5:()=>c}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(89773);var n=l(29007),o=l(37966);let r=new Set,i=new Map,a=new Set;async function s(e,t){let l=i.get(e)||new Set;if(i.set(e,l),!l.has(t)){l.add(t);try{await t({version:e,RunJSContextRegistry:o.F,FlowRunJSContext:n.uk})}catch(e){throw l.delete(t),e}}}function d(e){if("function"!=typeof e)throw Error("[flow-engine] registerRunJSContextContribution: contribution must be a function");if(!r.has(e))for(let t of(r.add(e),a))s(t,e).catch(e=>{try{console.error("[flow-engine] RunJS context contribution failed:",e)}catch(e){}})}async function u(e){for(let t of r)await s(e,t)}function c(e){a.add(e)}},37966(e,t,l){"use strict";l.d(t,{B:()=>o,F:()=>n}),l(45336),l(23446),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);class n{static register(e,t,l,n){this.map.set(`${e}:${t}`,{ctor:l,meta:n})}static resolve(e,t){var l,n;return(null==(l=this.map.get(`${e}:${t}`))?void 0:l.ctor)||(null==(n=this.map.get(`${e}:*`))?void 0:n.ctor)}static getMeta(e,t){var l,n;return(null==(l=this.map.get(`${e}:${t}`))?void 0:l.meta)||(null==(n=this.map.get(`${e}:*`))?void 0:n.meta)}}function o(e){var t,l;return(null==e||null==(l=e.model)||null==(t=l.constructor)?void 0:t.name)||"*"}n.map=new Map},88828(e,t,l){"use strict";l.r(t),l.d(t,{setupRunJSContexts:()=>s});var n=l(37966),o=l(29007);function r(){o.uk.define({label:"RunJS base",properties:{logger:{description:'Pino logger instance for structured logging. Example: `ctx.logger.info({ foo: 1 }, "message")`',detail:"Logger",properties:{info:{type:"function",description:"Write an info-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.info({ foo: 1 }, 'message')"}},warn:{type:"function",description:"Write a warn-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.warn({ foo: 1 }, 'message')"}},error:{type:"function",description:"Write an error-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.error({ err }, 'message')"}},debug:{type:"function",description:"Write a debug-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.debug({ foo: 1 }, 'message')"}},child:{type:"function",description:"Create a child logger with bindings.",detail:"(bindings: object) => Logger",completion:{insertText:"ctx.logger.child({ module: 'runjs' })"}}}},message:{description:"Ant Design global message API for displaying temporary messages.",detail:"MessageInstance",hidden:e=>!(null==e?void 0:e.message),examples:['ctx.message.success("Operation completed")'],properties:{info:{type:"function",description:"Show an info message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.info('Info')"}},success:{type:"function",description:"Show a success message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.success('Success')"}},error:{type:"function",description:"Show an error message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.error('Error')"}},warning:{type:"function",description:"Show a warning message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.warning('Warning')"}},loading:{type:"function",description:"Show a loading message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.loading('Loading...')"}},open:{type:"function",description:"Open a message with custom config.",detail:"(config: any) => void",completion:{insertText:"ctx.message.open({ type: 'info', content: 'Hello' })"}},destroy:{type:"function",description:"Destroy all messages.",detail:"() => void",completion:{insertText:"ctx.message.destroy()"}}}},notification:{description:"Ant Design notification API for displaying notification boxes.",detail:"NotificationInstance",hidden:e=>!(null==e?void 0:e.notification),examples:['ctx.notification.open({ message: "Title", description: "Content" })'],properties:{open:{type:"function",description:"Open a notification with config.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.open({ message: 'Title', description: 'Content' })"}},success:{type:"function",description:"Open a success notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.success({ message: 'Success' })"}},info:{type:"function",description:"Open an info notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.info({ message: 'Info' })"}},warning:{type:"function",description:"Open a warning notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.warning({ message: 'Warning' })"}},error:{type:"function",description:"Open an error notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.error({ message: 'Error' })"}},destroy:{type:"function",description:"Destroy all notifications.",detail:"(key?: string) => void",completion:{insertText:"ctx.notification.destroy()"}}}},modal:{description:"Ant Design modal API (HookAPI) for opening modal dialogs.",detail:"HookAPI",hidden:e=>!(null==e?void 0:e.modal),examples:["ctx.modal.confirm({ title: 'Confirm', content: 'Are you sure?' })"],properties:{info:{type:"function",description:"Open an info modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.info({ title: 'Info', content: '...' })"}},success:{type:"function",description:"Open a success modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.success({ title: 'Success', content: '...' })"}},error:{type:"function",description:"Open an error modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.error({ title: 'Error', content: '...' })"}},warning:{type:"function",description:"Open a warning modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.warning({ title: 'Warning', content: '...' })"}},confirm:{type:"function",description:"Open a confirm modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.confirm({ title: 'Confirm', content: '...' })"}}}},resource:{description:"The current FlowResource instance in this context, used to access and manipulate data. In most block/popup scenarios it is pre-bound by the runtime (no need to call ctx.initResource). In contexts like plain JS blocks where no resource is bound, you can call ctx.initResource(type) first and then use ctx.resource.",detail:"FlowResource",examples:["await ctx.resource.refresh();"],properties:{getData:{description:"Get current resource data.",detail:"() => any",completion:{insertText:"ctx.resource.getData()"}},setData:{description:"Set current resource data (client-side only).",detail:"(value: any) => this",completion:{insertText:"ctx.resource.setData(value)"}},refresh:{description:"Refresh data from server (available on API-backed resources).",detail:"() => Promise<any>",completion:{insertText:"await ctx.resource.refresh()"}},on:{description:"Subscribe resource events (e.g., refresh).",detail:"(event: string, callback: (...args) => void) => void",completion:{insertText:"ctx.resource.on('refresh', () => {})"}},off:{description:"Unsubscribe resource events.",detail:"(event: string, callback: (...args) => void) => void",completion:{insertText:"ctx.resource.off('refresh', handler)"}},setResourceName:{description:'Set resource name (e.g., "users" or "users.profile").',detail:"(resourceName: string) => this",completion:{insertText:"ctx.resource.setResourceName('users')"}},setFilterByTk:{description:"Set primary key or filterByTk for record resources.",detail:"(filterByTk: any) => this",completion:{insertText:"ctx.resource.setFilterByTk(filterByTk)"}},runAction:{description:"Run a resource action (create/update/destroy/custom actions).",detail:"(action: string, options: any) => Promise<any>",completion:{insertText:"await ctx.resource.runAction('create', { data: {} })"}},selectedRows:{description:"Selected rows in table resources (typically for collection/table actions). Availability depends on resource type.",detail:"any[]"},pagination:{description:"Pagination info in list resources. Availability depends on resource type (e.g., MultiRecordResource).",detail:"Record<string, any>"}}},urlSearchParams:"URLSearchParams object containing query parameters from the current URL",token:"API authentication token for the current session",role:"Current user role information",auth:{description:"Authentication context containing locale, role, user, and token information.",detail:"AuthContext",properties:{locale:'Current locale code (e.g., "en-US", "zh-CN").',roleName:"Current role name.",token:"Current API token.",user:"Current user info object (if available)."}},viewer:{description:"FlowViewer instance providing view helpers (drawer/dialog/popover/embed). ",detail:"FlowViewer",examples:["await ctx.viewer.drawer({ width: '56%', content: <div>Hello</div> });","await ctx.viewer.dialog({ content: <div>Confirm</div> });"],properties:{drawer:{description:"Open a drawer view. Parameters: (props: ViewProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.drawer({ width: '56%', content: <div /> })"}},dialog:{description:"Open a dialog/modal view. Parameters: (props: ViewProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.dialog({ content: <div /> })"}},popover:{description:"Open a popover view. Parameters: (props: PopoverProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.popover({ target: ctx.element?.__el, content: <div /> })",requires:["element"]}},embed:{description:"Open an embed view. Parameters: (props: ViewProps & TargetProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.embed({ target: ctx.element?.__el, content: <div /> })",requires:["element"]}}}},popup:{description:'Popup context when current view is opened as a popup/drawer. Recommended: `const popup = await ctx.getVar("ctx.popup")`.',detail:"Promise<PopupContext | undefined>",hidden:async e=>{try{let t=await (null==e?void 0:e.popup);return!(null==t?void 0:t.uid)}catch(e){return!1}},examples:['const popup = await ctx.getVar("ctx.popup");',"const id = popup?.record?.id;","const parentId = popup?.parent?.record?.id;"],properties:{uid:"Popup view uid (string).",record:"Current popup record (object).",sourceRecord:"Parent/source record inferred from sourceId/associationName (object).",resource:{description:"Data source info of the popup record.",detail:"PopupResourceInfo",properties:{dataSourceKey:'Data source key (e.g., "main").',collectionName:"Collection name.",associationName:"Association resource name (optional).",filterByTk:"Record primary key / filterByTk.",sourceId:"Source id (optional)."}},parent:"Parent popup info (object). You can access parent.parent... at runtime if available."}},i18n:{description:"An instance of i18next for managing internationalization.",detail:"i18next",properties:{language:"Current active language code."}},sql:{description:"SQL helper (FlowSQLRepository).",detail:"FlowSQLRepository",properties:{run:{type:"function",description:"Run ad-hoc SQL with optional bind/result options.",detail:"(sql: string, options?: SQLRunOptions) => Promise<any>",completion:{insertText:"await ctx.sql.run('SELECT 1', { type: 'selectRows' })"}},save:{type:"function",description:"Save a SQL template.",detail:"(data: { uid: string; sql: string; dataSourceKey?: string }) => Promise<void>",completion:{insertText:"await ctx.sql.save({ uid: 'sql-uid', sql: 'SELECT 1' })"}},runById:{type:"function",description:"Run a saved SQL template by uid.",detail:"(uid: string, options?: SQLRunOptions) => Promise<any>",completion:{insertText:"await ctx.sql.runById('sql-uid', { type: 'selectRows' })"}},destroy:{type:"function",description:"Delete a saved SQL template by uid.",detail:"(uid: string) => Promise<void>",completion:{insertText:"await ctx.sql.destroy('sql-uid')"}}}},libs:{properties:{React:{description:"React namespace (same as ctx.React).",properties:{createElement:{type:"function",description:"Create a React element.",detail:"React.createElement",completion:{insertText:"ctx.libs.React.createElement('div', null, 'Hello')"}},useState:{type:"function",description:"React state hook.",detail:"React.useState",completion:{insertText:"ctx.libs.React.useState(initialValue)"}},useEffect:{type:"function",description:"React effect hook.",detail:"React.useEffect",completion:{insertText:"ctx.libs.React.useEffect(() => {}, [])"}},useMemo:{type:"function",description:"React memo hook.",detail:"React.useMemo",completion:{insertText:"ctx.libs.React.useMemo(() => value, [])"}},useCallback:{type:"function",description:"React callback hook.",detail:"React.useCallback",completion:{insertText:"ctx.libs.React.useCallback(() => {}, [])"}}}},ReactDOM:{description:"ReactDOM client API (same as ctx.ReactDOM).",properties:{createRoot:{type:"function",description:"Create a React root.",detail:"ReactDOM.createRoot",completion:{insertText:"ctx.libs.ReactDOM.createRoot(ctx.element.__el)",requires:["element"]}}}},antd:{description:"Ant Design component library (same as ctx.antd).",properties:{Button:"Ant Design Button component.",Table:"Ant Design Table component.",Form:"Ant Design Form component.",Input:"Ant Design Input component.",Select:"Ant Design Select component.",Modal:"Ant Design Modal API/component."}},dayjs:{type:"function",description:"dayjs date-time utility library.",detail:"dayjs",completion:{insertText:"ctx.libs.dayjs()"}},antdIcons:"Ant Design icons library. Example: `ctx.libs.antdIcons.PlusOutlined`.",lodash:{description:'Lodash utility library. Example: `ctx.libs.lodash.get(obj, "a.b")`.',properties:{get:{type:"function",description:"Read a nested value by path.",detail:"lodash.get",completion:{insertText:"ctx.libs.lodash.get(obj, 'a.b')"}},set:{type:"function",description:"Set a nested value by path.",detail:"lodash.set",completion:{insertText:"ctx.libs.lodash.set(obj, 'a.b', value)"}},debounce:{type:"function",description:"Create a debounced function.",detail:"lodash.debounce",completion:{insertText:"ctx.libs.lodash.debounce(() => {}, 300)"}},cloneDeep:{type:"function",description:"Deep clone a value.",detail:"lodash.cloneDeep",completion:{insertText:"ctx.libs.lodash.cloneDeep(value)"}}}},formula:{description:"Formula.js library (spreadsheet-like functions). Example: `ctx.libs.formula.SUM(1, 2, 3)`.",properties:{SUM:{type:"function",description:"Sum values.",detail:"formula.SUM",completion:{insertText:"ctx.libs.formula.SUM(1, 2, 3)"}},AVERAGE:{type:"function",description:"Average values.",detail:"formula.AVERAGE",completion:{insertText:"ctx.libs.formula.AVERAGE(1, 2, 3)"}}}},math:{description:'mathjs library. Example: `ctx.libs.math.evaluate("2 + 3")`.',properties:{evaluate:{type:"function",description:"Evaluate a math expression.",detail:"math.evaluate",completion:{insertText:"ctx.libs.math.evaluate('2 + 3')"}},round:{type:"function",description:"Round a number.",detail:"math.round",completion:{insertText:"ctx.libs.math.round(value, 2)"}}}}}}},methods:{request:{description:"Make an HTTP request using the APIClient instance. Parameters: (options: RequestOptions) => Promise<any>.",detail:"(options: RequestOptions) => Promise<any>",completion:{insertText:"await ctx.request({ url: '', method: 'get', params: {} })"}},getModel:{description:"Get a model instance by uid. By default, it searches across the current view stack and returns the first matched model.",detail:"(uid: string, searchInPreviousEngines?: boolean) => FlowModel | undefined",completion:{insertText:"ctx.getModel('block-uid-xxx')"},params:[{name:"uid",type:"string",description:"Target model uid."},{name:"searchInPreviousEngines",type:"boolean",description:"Whether to search in parent engines (default: false)."}],returns:{type:"FlowModel | undefined"},examples:["const model = ctx.getModel('block-uid-xxx');"]},t:{description:"Internationalization function for translating text. Parameters: (key: string, variables?: object) => string.",detail:"(key: string, variables?: object) => string",completion:{insertText:"ctx.t('Hello')"},examples:['ctx.t("Hello {{name}}", { name: "World" })']},initResource:{description:'Initialize ctx.resource as a FlowResource instance by class name. Common values: "MultiRecordResource", "SingleRecordResource", "SQLResource".',detail:"(resourceType: ResourceType) => void",completion:{insertText:"ctx.initResource('MultiRecordResource')"},examples:["ctx.initResource('MultiRecordResource'); ctx.resource.setResourceName('users');"]},makeResource:{description:'Create a new resource instance without binding it to ctx.resource. Useful when you need multiple independent or temporary resources. Common values: "MultiRecordResource", "SingleRecordResource", "SQLResource".',detail:"(resourceType) => FlowResource",completion:{insertText:"const resource = ctx.makeResource('SingleRecordResource')"},examples:["const resource = ctx.makeResource('SingleRecordResource'); resource.setResourceName('users');"]},render:{description:'Render into container. Accepts ReactElement, DOM Node/Fragment, or HTML string. Parameters: (vnode: ReactElement | Node | DocumentFragment | string, container?: HTMLElement|ElementProxy) => Root|null. Example: `ctx.render(<div>Hello</div>)` or `ctx.render("<b>hi</b>")`',detail:"ReactDOM Root",completion:{insertText:"ctx.render(<div />)",requires:["element"]}},requireAsync:{description:'Load UMD/AMD/global scripts or CSS asynchronously from URL. Accepts shorthand like "echarts@5/dist/echarts.min.js" (resolved via ESM CDN with ?raw) or full URLs, and returns a Promise of the loaded library.',detail:"(url: string) => Promise<any>",completion:{insertText:"const lib = await ctx.requireAsync('https://cdn.example.com/lib.umd.js')"}},importAsync:{description:'Dynamically import ESM modules or CSS by URL. Accepts shorthand like "vue@3.4.0" or "dayjs@1/plugin/relativeTime.js" (resolved via configured ESM CDN) or full URLs, and returns a Promise of the module namespace.',detail:"(url: string) => Promise<any>",completion:{insertText:"const mod = await ctx.importAsync('lodash-es')"}},resolveJsonTemplate:{description:"Resolve a JSON template containing {{ }} variable expressions.",detail:"(template: any) => Promise<any>",params:[{name:"template",type:"any",description:"JSON-compatible value containing {{ ctx.* }} expressions."}],returns:{type:"Promise<any>"},completion:{insertText:"await ctx.resolveJsonTemplate({ value: '{{ctx.record.id}}' })"},examples:["const data = await ctx.resolveJsonTemplate({ id: '{{ctx.record.id}}' });"]},getVar:{description:'Resolve a ctx expression value by path string (expression starts with "ctx.").',detail:"(path: string) => Promise<any>",completion:{insertText:"await ctx.getVar('ctx.record.id')"},params:[{name:"path",type:"string",description:'Expression path starts with "ctx." (e.g. "ctx.record.id", "ctx.record.roles[0].id").'}],returns:{type:"Promise<any>"},examples:["const id = await ctx.getVar('ctx.record.id');"]},getApiInfos:{description:"All available APIs under context namespace",detail:"(options?: { version?: string }) => Promise<Record<string, any>>",completion:{insertText:"await ctx.getApiInfos()"},params:[{name:"options",type:"{ version?: string }",optional:!0,description:"Options (e.g. version)."}],returns:{type:"Promise<Record<string, any>>"},examples:["const apis = await ctx.getApiInfos();"]},getVarInfos:{description:"All available variables could be used to get deeper data.",detail:"(options?: { path?: string|string[]; maxDepth?: number }) => Promise<Record<string, any>>",completion:{insertText:"await ctx.getVarInfos({ path: 'record', maxDepth: 3 })"},params:[{name:"options",type:"{ path?: string|string[]; maxDepth?: number }",optional:!0,description:"Options for path trimming and maxDepth expansion."}],returns:{type:"Promise<Record<string, any>>"},examples:["const vars = await ctx.getVarInfos({ path: 'record', maxDepth: 3 });"]},getEnvInfos:{description:"current runtime environment",detail:"() => Promise<Record<string, any>>",completion:{insertText:"await ctx.getEnvInfos()"},returns:{type:"Promise<Record<string, any>>"},examples:["const envs = await ctx.getEnvInfos();"]},runAction:{description:'Execute a data action on the current resource. Parameters: (actionName: string, params: object) => Promise<any>. Example: `await ctx.runAction("create", { values: { name: "test" } })`',detail:"Promise<any>",completion:{insertText:"await ctx.runAction('create', { values: {} })"}},openView:{description:`Open a view component (page, modal, or drawer) by its unique identifier.
3684
+ `}),(0,m.jsx)(ls,{metaTree:o,onChange:d,open:!0,showSearch:!1,dropdownStyle:{boxShadow:"none",border:"none"},style:{display:"none"},children:(0,m.jsx)("div",{})})]}),open:a,trigger:"click",placement:"bottomLeft",onOpenChange:u,overlayClassName:"variable-trigger-popover",destroyTooltipOnHide:!0,children:(0,m.jsxs)("span",{...t,contentEditable:!1,style:{backgroundColor:"#e6f7ff",border:"1px dashed #1890ff",borderRadius:4,padding:"1px 4px",margin:"0 1px",cursor:"pointer",display:"inline-block",fontSize:"12px",color:"#1890ff",userSelect:"none"},"data-slate-void":!0,children:["{{}}",(0,m.jsx)("span",{style:{display:"none"},children:l})]})})},nU=e=>{let{value:t="",onChange:l,metaTree:n,multiline:o=!1,placeholder:r="输入文本,使用 {{ 插入变量",style:i={},...a}=e,s=(0,f.useMemo)(()=>{let e=(0,nq.o$)((0,nL.$k)((0,nO.ie)())),{isInline:t,isVoid:l}=e;return e.isInline=e=>"variable"===e.type||"variable-trigger"===e.type||t(e),e.isVoid=e=>"variable"===e.type||"variable-trigger"===e.type||l(e),e},[]),[d,u]=f.useState(null);f.useEffect(()=>{(async()=>{if(!n)return u(null);try{if("function"==typeof n){let e=await n();u(e)}else u(n)}catch(e){console.warn("Failed to resolve metaTree:",e),u(null)}})()},[n]);let c=(0,f.useCallback)(function(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!t)return[{type:"paragraph",children:[{text:""}]}];let l=/\{\{[^}]+\}\}/g,n=0,o=[];for(;null!==(e=l.exec(t));){e.index>n&&o.push({text:t.slice(n,e.index)});let l=e[0],r=t1(l),i;o.push({type:"variable",value:l,meta:i,children:[{text:""}]}),n=e.index+e[0].length}return n<t.length&&o.push({text:t.slice(n)}),0===o.length&&o.push({text:""}),[{type:"paragraph",children:o}]},[d]),p=(0,f.useMemo)(()=>c(t||""),[t,c]),h=(0,f.useCallback)(e=>e.map(e=>nO.Hg.isElement(e)?"variable"===e.type?e.value:h(e.children):e.text).join(""),[]),g=(0,f.useCallback)(e=>{let t=h(e);null==l||l(t)},[l,h]),v=(0,f.useCallback)((e,t,l)=>{let[n]=nO.KE.nodes(s,{match:t=>nO.Hg.isElement(t)&&"variable-trigger"===t.type&&t.triggerId===e});if(n){let[,e]=n,o={type:"variable",value:t,meta:l,children:[{text:""}]};nO.gB.setNodes(s,o,{at:e});let r=nO.KE.after(s,e);r&&nO.gB.select(s,r),nq.rL.focus(s)}},[s]),y=(0,f.useCallback)(e=>{let[t]=nO.KE.nodes(s,{match:t=>nO.Hg.isElement(t)&&"variable-trigger"===t.type&&t.triggerId===e});if(t){let[,e]=t;nO.gB.select(s,e),nO.gB.removeNodes(s,{at:e}),nO.gB.insertText(s,"{{"),nq.rL.focus(s)}},[s]),x=(0,f.useCallback)(e=>{switch(e.element.type){case"variable":return(0,m.jsx)(nW,{...e,metaTree:d});case"variable-trigger":return(0,m.jsx)(nK,{...e,element:e.element,metaTree:n,onVariableSelect:v,onTriggerClose:y});default:return(0,m.jsx)("p",{...e.attributes,children:e.children})}},[n,d,v,y]),b=(0,f.useCallback)(e=>(0,m.jsx)("span",{...e.attributes,style:{fontWeight:e.leaf.bold?"bold":"normal"},children:e.children}),[]),w=(0,f.useCallback)(e=>{if("{"===e.key){let{selection:t}=s;if(t&&nO.Q6.isCollapsed(t)){let[l]=nO.Q6.edges(t),n=nO.KE.before(s,l);if(n){let t=nO.KE.range(s,n,l);if("{"===nO.KE.string(s,t)){e.preventDefault(),nO.gB.delete(s,{at:t});let l={type:"variable-trigger",triggerId:(0,C.uid)(),children:[{text:""}]};nO.gB.insertNodes(s,l)}}}}},[s]);return(0,m.jsx)(nq.A,{editor:s,initialValue:p,onChange:g,children:(0,m.jsx)(nq.Fo,{renderElement:x,renderLeaf:b,placeholder:r,onKeyDown:w,style:{minHeight:o?100:32,padding:"4px 11px",border:"1px solid #d9d9d9",borderRadius:6,fontSize:14,lineHeight:1.5714285714285714,...i},...a})})},nW=e=>{let{attributes:t,children:l,element:n,metaTree:o}=e,r=n,i=f.useMemo(()=>r.meta?r.meta:(o&&r.value&&t1(r.value),null),[r.meta,r.value,o]);return(0,m.jsxs)("span",{...t,contentEditable:!1,children:[(0,m.jsx)(nV,{value:r.value,metaTreeNode:i,metaTree:o,style:{marginLeft:2,marginRight:2,verticalAlign:"baseline",display:"inline-block"}}),l]})};var nH=l(61793),nG=l(76546);function nY(){return function(e){e.isLargeField=!0}}var nJ=l(63128),nX=l(91013),nQ=l(37966);function nZ(e){var t,l,n;return(null==e||null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==e||null==(n=e.i18n)?void 0:n.language)||(null==e?void 0:e.locale)}function n0(e){var t,l;let{version:n="v1"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=(0,nQ.B)(e),r=nQ.F.resolve(n,o)||nQ.F.resolve(n,"*"),i=nZ(e);return(null==r||null==(t=r.getDoc)?void 0:t.length)?r.getDoc(i)||{}:(null==r||null==(l=r.getDoc)?void 0:l.call(r))||{}}function n1(e){let t=(null==e?void 0:e.version)||"v1",l=(0,nQ.B)(this),n=e=>e,o=nQ.F.resolve(t,l)||nQ.F.resolve(t,"*");if(!o)throw Error("[RunJS] No RunJSContext registered for version/model.");let r=new o(n(this)),i={};try{var a,s;let e=nZ(this);i=(null==o||null==(a=o.getDoc)?void 0:a.length)?o.getDoc(e)||{}:(null==o||null==(s=o.getDoc)?void 0:s.call(o))||{}}catch(e){i={}}let d=(0,e0.Bt)(r,{doc:i}),u={};"u">typeof window&&(u.window=window,"u">typeof navigator&&(u.navigator=navigator)),"u">typeof document&&(u.document=document);let c={ctx:d,...u,...(null==e?void 0:e.globals)||{}},{timeoutMs:p}=e||{};return new nX.I$({globals:c,timeoutMs:p})}function n2(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=nQ.F.getMeta(t,e),n=null==l?void 0:l.scenes;return Array.isArray(n)?[...n]:[]}function n8(e){let{version:t="v1"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n2((0,nQ.B)(e),t)}var n6=l(88828),n3=l(19258);let n5={"global/message-success":()=>l.e("3937").then(l.bind(l,75432)),"global/message-error":()=>l.e("3018").then(l.bind(l,19505)),"global/api-request":()=>l.e("7946").then(l.bind(l,66321)),"global/require-amd":()=>l.e("4222").then(l.bind(l,25789)),"global/import-esm":()=>l.e("6373").then(l.bind(l,25716)),"global/notification-open":()=>l.e("7876").then(l.bind(l,52191)),"global/window-open":()=>l.e("2203").then(l.bind(l,27142)),"global/open-view-drawer":()=>l.e("1676").then(l.bind(l,6551)),"global/open-view-dialog":()=>l.e("7211").then(l.bind(l,29846)),"global/query-selector":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("1507"),l.e("3916"),l.e("2958")]).then(l.bind(l,93117)),"global/clipboard-copy-text":()=>l.e("754").then(l.bind(l,38937)),"scene/block/echarts-init":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("2726")]).then(l.bind(l,37285)),"scene/block/render-react":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("5501")]).then(l.bind(l,71868)),"scene/block/render-react-jsx":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("5721")]).then(l.bind(l,91296)),"scene/block/render-antd-icons":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("8434")]).then(l.bind(l,84953)),"scene/block/render-button-handler":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("7201")]).then(l.bind(l,93512)),"scene/block/add-event-listener":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("212")]).then(l.bind(l,97487)),"scene/block/chartjs-bar":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("1310")]).then(l.bind(l,39101)),"scene/block/vue-component":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("1725")]).then(l.bind(l,40812)),"scene/block/resource-example":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("6738")]).then(l.bind(l,25481)),"scene/block/api-fetch-render-list":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("8138")]).then(l.bind(l,26177)),"scene/block/render-info-card":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("2555")]).then(l.bind(l,53494)),"scene/block/render-statistics":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("1951")]).then(l.bind(l,47890)),"scene/block/render-timeline":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("3727")]).then(l.bind(l,80626)),"scene/block/render-iframe":()=>Promise.all([l.e("4687"),l.e("3660"),l.e("8562")]).then(l.bind(l,25417)),"scene/detail/innerHTML-value":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("700")]).then(l.bind(l,99287)),"scene/detail/format-number":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("1786")]).then(l.bind(l,84529)),"scene/detail/color-by-value":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("2898")]).then(l.bind(l,17689)),"scene/detail/copy-to-clipboard":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("1425")]).then(l.bind(l,57064)),"scene/detail/status-tag":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("6269"),l.e("8438")]).then(l.bind(l,7765)),"scene/detail/relative-time":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("7021")]).then(l.bind(l,37420)),"scene/detail/percentage-bar":()=>Promise.all([l.e("4687"),l.e("1507"),l.e("3916"),l.e("5759")]).then(l.bind(l,73330)),"scene/detail/set-field-style":()=>l.e("7492").then(l.bind(l,40959)),"scene/form/render-basic":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("6437")]).then(l.bind(l,29924)),"scene/form/set-field-value":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("3989")]).then(l.bind(l,35876)),"scene/form/toggle-visible":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("5761")]).then(l.bind(l,30008)),"scene/form/set-disabled":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("4313")]).then(l.bind(l,66656)),"scene/form/set-required":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("3662")]).then(l.bind(l,44637)),"scene/form/calculate-total":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("2335")]).then(l.bind(l,74354)),"scene/form/conditional-required":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("158")]).then(l.bind(l,37517)),"scene/form/cascade-select":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("7959")]).then(l.bind(l,79242)),"scene/form/toggle-multiple-fields":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("2017")]).then(l.bind(l,57768)),"scene/form/copy-field-values":()=>Promise.all([l.e("4687"),l.e("2702"),l.e("3117")]).then(l.bind(l,80236)),"scene/table/cell-open-dialog":()=>Promise.all([l.e("4687"),l.e("6269"),l.e("9836")]).then(l.bind(l,72103)),"scene/table/concat-fields":()=>Promise.all([l.e("4687"),l.e("6269"),l.e("2710")]).then(l.bind(l,27733)),"scene/table/collection-selected-count":()=>Promise.all([l.e("2861"),l.e("5064")]).then(l.bind(l,35803)),"scene/table/iterate-selected-rows":()=>Promise.all([l.e("2861"),l.e("8262")]).then(l.bind(l,86949)),"scene/table/destroy-selected":()=>Promise.all([l.e("2861"),l.e("3690")]).then(l.bind(l,92625)),"scene/table/export-selected-json":()=>Promise.all([l.e("2861"),l.e("6581")]).then(l.bind(l,56100)),"scene/table/set-cell-style":()=>l.e("9827").then(l.bind(l,10782))};function n4(e,t,l){if("string"!=typeof e||!e.trim())throw Error("[flow-engine] registerRunJSSnippet: ref must be a non-empty string");if("function"!=typeof t)throw Error("[flow-engine] registerRunJSSnippet: loader must be a function returning a Promise");let n=e.trim();return("function"!=typeof n5[n]||!!(null==l?void 0:l.override))&&(n5[n]=t,!0)}function n7(e){let t=e.split("/");return t[t.length-1]||e}function n9(e,t){if(Array.isArray(null==e?void 0:e.scenes)&&e.scenes.length)return e.scenes.map(e=>String(e).trim()).filter(e=>e.length>0);let l=t.split("/");return"scene"===l[0]&&l[1]?[l[1]]:[]}function oe(e){return({detailFieldEvent:"detail",tableFieldEvent:"table",formFieldEvent:"form"})[e]||e}function ot(e,t){let l=n9(e,t);if(l.length)return Array.from(new Set(l.map(e=>`scene/${oe(e)}`)));let n=t.split("/");if(!n.length)return[];let o=n[0];return"global"===o||"libs"===o?[o]:"scene"===o&&n.length>=2?[`${o}/${n[1]}`]:n.length>=2?[`${n[0]}/${n[1]}`]:[n[0]]}function ol(e,t){if(!t||!(null==e?void 0:e.locales))return{};let l=e.locales[t];if(l)return l;let n=t.toLowerCase();if(n!==t&&e.locales[n])return e.locales[n];let o=t.split("-")[0];if(o&&e.locales[o])return e.locales[o];if(o){let t=o.toLowerCase();if(e.locales[t])return e.locales[t]}return{}}async function on(e){let t=n5[e];if("function"!=typeof t)throw Error(`[flow-engine] snippet not found: ${e}`);let l=await t(),n=null==l?void 0:l.default,o=(null==n?void 0:n.content)??(null==l?void 0:l.content)??(null==l?void 0:l.body)??"";return"string"==typeof o?o:String(o??"")}async function oo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,n=[],o=new Set;"string"==typeof e&&e&&o.add(e);try{let l=nQ.F.resolve(t,e);(null==l?void 0:l.name)&&o.add(l.name)}catch(e){}return await Promise.all(Object.entries(n5).map(async r=>{let[i,a]=r;if("function"==typeof a)try{let r=await a(),s=(null==r?void 0:r.default)||{},d=(null==s?void 0:s.content)??(null==r?void 0:r.content);if("string"!=typeof d)return;let u=!0;if(Array.isArray(null==s?void 0:s.contexts)&&s.contexts.length){let t=s.contexts.map(e=>"*"===e?"*":"string"==typeof e?e:"function"==typeof e?e.name||"*":e&&"object"==typeof e&&"string"==typeof e.name?e.name:String(e??""));u="*"===e||t.includes("*")||t.some(e=>o.has(e))}if(u&&Array.isArray(null==s?void 0:s.versions)&&s.versions.length&&(u=s.versions.includes("*")||s.versions.includes(t)),!u)return;let c=ol(s,l),p=c.label||(null==s?void 0:s.label)||n7(i),m=c.description??(null==s?void 0:s.description),h=(null==s?void 0:s.prefix)||p,f=ot(s,i),g=n9(s,i);n.push({name:p,prefix:h,description:m,body:d,ref:i,group:f[0],groups:f,scenes:g})}catch(e){return}})),n}var or=l(67778),oi=l(16639),oa=l(68161),os=l(84471);l(96321),l(98837);class od extends os.j{saveFlow(e){}destroyFlow(e){this.removeFlow(e)}constructor(e={}){super(),this.addFlows(k().cloneDeep(e))}}function ou(e){let t={};for(let[l,n]of e.getFlows())t[l]=k().cloneDeep(n.toData());return t}function oc(e,t){for(let t of Array.from(e.getFlows().keys()))e.removeFlow(t);e.addFlows(k().cloneDeep(t))}var op=l(47451);function om(e){let t=new s.$;e.modelRepository&&t.setModelRepository(e.modelRepository),t.context.addDelegate(e.context),t.unlinkFromStack=function(){let e=t._previousEngine,l=t._nextEngine;e&&(e._nextEngine=l),l&&(l._previousEngine=e),t._previousEngine=void 0,t._nextEngine=void 0};let l=new Set(["_modelInstances","_applyFlowCache","executor","context","previousEngine","nextEngine","unlinkFromStack","linkAfter","_previousEngine","_nextEngine","getModel"]),n={get(t,n,o){if(l.has(n))return Reflect.get(t,n,o);let r=Reflect.get(e,n,o);return"registerModels"===n&&"function"==typeof r?r.bind(e):r},set:(t,n,o)=>l.has(n)?Reflect.set(t,n,o):Reflect.set(e,n,o),has:(t,l)=>l in t||l in e};return t.linkAfter(e),new Proxy(t,n)}l(58149)},22505(e,t,l){"use strict";l.d(t,{R:()=>r}),l(45336),l(84560);var n=l(74848),o=l(96540);function r(e){for(var t=arguments.length,l=Array(t>1?t-1:0),r=1;r<t;r++)l[r-1]=arguments[r];if(0===l.length){let t=(0,o.lazy)(()=>e().then(e=>({default:e.default})));return e=>(0,n.jsx)(o.Suspense,{fallback:null,children:(0,n.jsx)(t,{...e})})}return l.reduce((t,l)=>{let r=(0,o.lazy)(()=>e().then(e=>({default:e[l]})));return t[l]=e=>(0,n.jsx)(o.Suspense,{fallback:null,children:(0,n.jsx)(r,{...e})}),t},{})}},33954(e,t,l){"use strict";l.d(t,{xI:()=>X,WD:()=>L,jG:()=>et,NK:()=>O,B3:()=>el,yN:()=>k,_f:()=>_,WE:()=>J,bt:()=>en,oY:()=>V,yW:()=>ee});var n=l(58587),o=l(18150),r=l(68238);l(23089),l(82855),l(17106),l(36792),l(45336),l(23446),l(32699),l(79936),l(69861),l(34678),l(14324),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(89773),l(5409),l(91625);var i=l(74848),a=l(95243),s=l(2543),d=l.n(s),u=l(96540),c=l(38950),p=l(48036),m=l(96321),h=l(29007),f=l(60182),g=l(84359),v=l(11869),y=l(64171);class x extends y.Z{onActionRegistered(){this.changeMarker={}}getActions(){var e;let t=null==(e=this.parentRegistry)?void 0:e.getActions();if(this.mergedCache&&this.mergedCache.parentSnapshot===t&&this.mergedCache.localMarker===this.changeMarker)return this.mergedCache.mergedMap;let l=new Map(t??[]);for(let[e,t]of this.actions)l.set(e,t);return this.mergedCache={parentSnapshot:t,localMarker:this.changeMarker,mergedMap:l},l}getAction(e){var t;let l=this.actions.get(e);return l||(null==(t=this.parentRegistry)?void 0:t.getAction(e))}constructor(e,t){super(),this.changeMarker={},this.modelClass=e,this.parentRegistry=t??null}}var b=l(41594),w=l(26955);class S extends w.L{onEventRegistered(){this.changeMarker={}}getEvents(){var e;let t=null==(e=this.parentRegistry)?void 0:e.getEvents();if(this.mergedCache&&this.mergedCache.parentSnapshot===t&&this.mergedCache.localMarker===this.changeMarker)return this.mergedCache.mergedMap;let l=new Map(t??[]);for(let[e,t]of this.events)l.set(e,t);return this.mergedCache={parentSnapshot:t,localMarker:this.changeMarker,mergedMap:l},l}getEvent(e){var t;let l=this.events.get(e);return l||(null==(t=this.parentRegistry)?void 0:t.getEvent(e))}constructor(e,t){super(),this.changeMarker={},this.modelClass=e,this.parentRegistry=t??null}}var C=l(98837);l(58149);var F=new WeakMap;class k{static setSharedProperties(e){this.SHARED_PROPERTIES=[...e]}static getSharedProperties(){return[...this.SHARED_PROPERTIES]}get context(){return this["#flowContext"]||(this["#flowContext"]=new h.Hl(this.master,this)),this["#flowContext"]}getPropertyDescriptor(e,t){let l=e;for(;l;){let e=Object.getOwnPropertyDescriptor(l,t);if(e)return e;l=Object.getPrototypeOf(l)}}setProps(e,t){this.disposed||("string"==typeof e?this.localProps[e]=t:this.localProps={...this.localProps,...e})}clearProps(){return this.localProps={}}render(){if(this.disposed)return null;let e={...this.master.getProps(),...this.localProps},t=this.props;this.props=e;try{return this.master.render.call(this)}finally{this.props=t}}getFlowCacheScope(e){return`${String(e)}:${String(this.forkId)}`}dispose(){if(!this.disposed){this.disposed=!0;try{var e;let t=null==(e=this.flowEngine)?void 0:e.applyFlowCache;if(t&&t.size>0){let e=[`:${this.uid}`,`-${this.uid}`],l=`:${this.forkId}:`,n=`-${this.forkId}-`;for(let o of t.keys()){if(!(o.startsWith("event:")||o.startsWith("event-"))||!e.some(e=>o.endsWith(e)))continue;let r=o;for(let t of e)if(r.endsWith(t)){r=r.slice(0,-t.length);break}(r.includes(l)||r.includes(n))&&t.delete(o)}}}catch{}if(this.master&&this.master.forks&&this.master.forks.delete(this),this.master&&this.master.forkCache){let e=this.master.forkCache;for(let[t,l]of e.entries())if(l===this){e.delete(t);break}}}}getProps(){return{...this.master.getProps(),...this.localProps}}isSharedProperty(e){return k.SHARED_PROPERTIES.includes(e)}constructor(e,t={},l){return(0,o._)(this,F,{writable:!0,value:void 0}),this.isFork=!0,this.disposed=!1,this.localProperties={},this.localProperties,this.master=e,this.uid=e.uid,this.localProps={...t},this.forkId=l||(0,c.L)(),this.hidden=this.master.hidden,(0,a.define)(this,{localProps:a.observable,hidden:a.observable,setProps:a.action}),new Proxy(this,{get:(e,t,l)=>{var n;if("disposed"===t)return e.disposed;if("constructor"===t)return e.master.constructor;if("props"===t)return{...e.master.getProps(),...e.localProps};if(t in e)return Reflect.get(e,t,l);if(Object.prototype.hasOwnProperty.call(e.localProperties,t))return e.localProperties[t];let o=null==(n=e.master)?void 0:n[t];if("function"==typeof o){let t=e.master.constructor;return(function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];let r=Object.create(this);return Object.defineProperty(r,"constructor",{value:t,configurable:!0,enumerable:!1,writable:!1}),o.apply(r,l)}).bind(l)}return o},set:(e,t,l,n)=>{if("props"===t)return!0;if(t in e)return Reflect.set(e,t,l,n);let o=String(t);if(k.SHARED_PROPERTIES.includes(o)){let o=this.getPropertyDescriptor(e.master,t);return o&&o.set?o.set.call(n,l):e.master[t]=l,!0}{let o=this.getPropertyDescriptor(e.master,t);return o&&o.set?o.set.call(n,l):e.localProperties[t]=l,!0}}})}}k.SHARED_PROPERTIES=["stepParams","sortIndex"];let A=new WeakMap,P=new WeakMap,M=new WeakMap;function j(e,t){return"number"==typeof(null==e?void 0:e.sortIndex)&&Number.isFinite(e.sortIndex)?e.sortIndex:t+1}function I(e){return e.map((e,t)=>({item:e,index:t,sortIndex:j(e,t)})).sort((e,t)=>e.sortIndex-t.sortIndex||e.index-t.index).map(e=>{let{item:t}=e;return t})}let T=new WeakMap,R=new WeakMap,E=e=>[...e].sort((e,t)=>(e.sort??0)-(t.sort??0)),N=e=>null!==e,D=(e,t)=>{let{group:l,sort:n,prefix:o,path:r}=t;if(!e)return null;let i=e.group||l,a="number"==typeof e.sort?e.sort:n,s=E((e.children||[]).map((e,t)=>D(e,{group:i,sort:a,prefix:o,path:`${r}-${t}`})).filter(N));return{...e,key:e.key??`${o}-${i}-${r}`,group:i,sort:a,children:s.length?s:void 0}};async function $(){return(await Promise.resolve().then(l.bind(l,23183))).openStepSettingsDialog}async function B(){return(await Promise.resolve().then(l.bind(l,96332))).openRequiredParamsStepFormDialog}var O=function(e){return e.ReactElement="reactElement",e.RenderFunction="renderFunction",e}({}),q=new WeakMap;class L{renderHiddenInConfig(){var e,t;return(0,i.jsx)("span",{style:{opacity:.5},children:(null==(e=(t=this).translate)?void 0:e.call(t,"Hidden"))||"Hidden"})}renderOriginal(){return this._originalRender()}get context(){return(0,n._)(this,q)||(0,r._)(this,q,new h.d6(this)),(0,n._)(this,q)}on(e,t){this.emitter.on(e,t)}onInit(e){}async afterAddAsSubModel(){}get async(){return this._options.async||!1}get use(){return this._options.use}get subKey(){return this._options.subKey}get subType(){return this._options.subType}get reactView(){return this.flowEngine.reactView}get parentId(){return this._options.parentId}scheduleModelOperation(e,t,l){var n;return null==(n=this.flowEngine)?void 0:n.scheduleModelOperation(this,e,t,l)}static get meta(){return M.get(this)}static get globalFlowRegistry(){let e=this,t=T.get(e);return t||(t=new C.r(e),T.set(e,t)),t}static get actionRegistry(){let e=this,t=A.get(e);if(!t){let l=null,n=Object.getPrototypeOf(e);n&&n!==Function.prototype&&n!==Object.prototype&&(n===L||(0,f.FA)(n,L))&&(l=n.actionRegistry),t=new x(e,l),A.set(e,t)}return t}static get eventRegistry(){let e=this,t=P.get(e);if(!t){let l=null,n=Object.getPrototypeOf(e);n&&n!==Function.prototype&&n!==Object.prototype&&(n===L||(0,f.FA)(n,L))&&(l=n.eventRegistry),t=new S(e,l),P.set(e,t)}return t}static registerAction(e){this.actionRegistry.registerAction(e)}static registerActions(e){this.actionRegistry.registerActions(e)}static registerEvent(e){this.eventRegistry.registerEvent(e)}static registerEvents(e){this.eventRegistry.registerEvents(e)}static async buildChildrenFromModels(e,t){return Promise.all(t.map(t=>(0,b.Ls)(t,e,!0)))}get title(){var e;return this.translate(this._title)||this.translate(null==(e=this.constructor.meta)?void 0:e.label)}get extraTitle(){return this._extraTitle?this.translate(this._extraTitle):""}setTitle(e){this._title=e}setExtraTitle(e){this._extraTitle=e||""}setHidden(e){this.hidden=!!e}_createSubModels(e){let t=e||{};try{let l=this.constructor.meta,n=null==l?void 0:l.createModelOptions;if(n&&"object"==typeof n&&n.subModels){let l=(e,t)=>{if(Array.isArray(e)&&Array.isArray(t))return t};t=d().mergeWith({},d().cloneDeep(n.subModels||{}),d().cloneDeep(e||{}),l)}}catch(e){}Object.entries(t||{}).forEach(e=>{let[t,l]=e;Array.isArray(l)?I(l).forEach(e=>{this.addSubModel(t,e)}):this.setSubModel(t,l)})}invalidateFlowCache(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.flowEngine){let t=`event:${this.getFlowCacheScope(e||"beforeRender")}`,l=this.flowEngine.applyFlowCache;if(e){let n=t.replace(/:/g,"-"),o=[`:${this.uid}`,`-${this.uid}`],r=[`:${e}:`,`-${e}-`];for(let e of l.keys()){let i=e.startsWith(t)||e.startsWith(n),a=o.some(t=>e.endsWith(t)),s=r.some(t=>e.includes(t));i&&a&&s&&l.delete(e)}}else{let e=`${t}:`.replace(/:/g,"-"),n=[`${t}:`,e],o=[`:${this.uid}`,`-${this.uid}`];for(let e of l.keys()){let t=n.some(t=>e.startsWith(t)),r=o.some(t=>e.endsWith(t));t&&r&&l.delete(e)}}this.forks.forEach(t=>{var l;let n=`event:${(null==(l=t.getFlowCacheScope)?void 0:l.call(t,e||"beforeRender"))??String(t.forkId)}`,o=n.replace(/:/g,"-"),r=[`:${this.uid}`,`-${this.uid}`];if(e){let t=[`:${e}:`,`-${e}-`];for(let e of this.flowEngine.applyFlowCache.keys()){let l=e.startsWith(n)||e.startsWith(o),i=r.some(t=>e.endsWith(t)),a=t.some(t=>e.includes(t));l&&i&&a&&this.flowEngine.applyFlowCache.delete(e)}}else{let e=[`${n}:`,`${o}-`];for(let t of this.flowEngine.applyFlowCache.keys()){let l=e.some(e=>t.startsWith(e)),n=r.some(e=>t.endsWith(e));l&&n&&this.flowEngine.applyFlowCache.delete(t)}}})}if(t)for(let l of Object.keys(this.subModels)){let n=this.subModels[l];if(Array.isArray(n))for(let l of n)l.invalidateFlowCache(e,t);else n instanceof L&&n.invalidateFlowCache(e,t)}}setFlowEngine(e){}static define(e){M.set(this,e)}static registerFlow(e,t){let l=this;"string"==typeof e?l.globalFlowRegistry.addFlow(e,t):l.globalFlowRegistry.addFlow(e.key,e)}getFlow(e){return this.flowRegistry.hasFlow(e)?this.flowRegistry.getFlow(e):this.constructor.globalFlowRegistry.getFlow(e)}registerFlow(e,t){return"string"==typeof e?this.flowRegistry.addFlow(e,t):this.flowRegistry.addFlow(e.key,e)}getActions(){var e;let t=this.constructor.actionRegistry.getActions(),l=new Map,n=null==(e=this.flowEngine)?void 0:e.getActions();if(n)for(let[e,t]of n)l.set(e,t);for(let[e,n]of t)l.set(e,n);return l}getEvents(){var e;let t=this.constructor.eventRegistry.getEvents(),l=new Map,n=null==(e=this.flowEngine)?void 0:e.getEvents();if(n)for(let[e,t]of n)l.set(e,t);for(let[e,n]of t)l.set(e,n);return l}getEvent(e){var t;let l=this.constructor.eventRegistry.getEvent(e);return l||(null==(t=this.flowEngine)?void 0:t.getEvent(e))}getAction(e){var t;let l=this.constructor.actionRegistry.getAction(e);return l||(null==(t=this.flowEngine)?void 0:t.getAction(e))}getFlows(){let e=this.flowRegistry.getFlows(),t=this.constructor.globalFlowRegistry.getFlows(),l=new Set(e.keys()),n=Array.from(t.entries()).filter(e=>{let[t]=e;return!l.has(t)}),o=Array.from(e.entries()).map((e,t)=>({e,i:t}));return o.sort((e,t)=>{let l=e.e[1].sort??0,n=t.e[1].sort??0;return l!==n?l-n:e.i-t.i}),new Map([...o.map(e=>{let{e:t}=e;return t}),...n])}setProps(e,t){"string"==typeof e?this.props[e]=t:this.props={...this.props,...e},this._options.props={...this.props}}getProps(){return this.props}setStepParams(e,t,l){let n=!1;if("string"==typeof e){let r=e;if("string"==typeof t&&void 0!==l){var o;let e=(null==(o=this.stepParams[r])?void 0:o[t])||{},i={...e,...l};d().isEqual(e,i)||(this.stepParams[r]||(this.stepParams[r]={}),this.stepParams[r][t]=i,n=!0)}else if("object"==typeof t&&null!==t){let e=this.stepParams[r]||{},l={...e,...t};d().isEqual(e,l)||(this.stepParams[r]=l,n=!0)}}else if("object"==typeof e&&null!==e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let l=this.stepParams[t]||{},o={...l,...e[t]};d().isEqual(l,o)||(this.stepParams[t]=o,n=!0)}}n&&this.emitter.emit("onStepParamsChanged")}getStepParams(e,t){if(e&&t){var l;return null==(l=this.stepParams[e])?void 0:l[t]}return e?this.stepParams[e]:this.stepParams}async applyFlow(e,t,l){let n=this.flowEngine;if(!n)return console.warn("FlowEngine not available on this model for applyFlow. Check and model.flowEngine setup."),Promise.reject(Error("FlowEngine not available for applyFlow. Please set flowEngine on the model."));let o=!0===this.isFork,r=this;return n.logger.debug(`[FlowModel] applyFlow: uid=${this.uid}, flowKey=${e}, isFork=${o}, cleanRun=${this.cleanRun}, targetIsFork=${(null==r?void 0:r.isFork)===!0}`),n.executor.runFlow(r,e,t,l)}async _dispatchEvent(e,t,l){let n=this.flowEngine;if(!n)return void console.warn("FlowEngine not available on this model for dispatchEvent. Please set flowEngine on the model.");let o=!0===this.isFork,r=this;return n.logger.debug(`[FlowModel] dispatchEvent: uid=${this.uid}, event=${e}, isFork=${o}, cleanRun=${this.cleanRun}, targetIsFork=${(null==r?void 0:r.isFork)===!0}`),await n.executor.dispatchEvent(r,e,t,l)}async dispatchEvent(e,t,l){let n="beforeRender"===e,o=n?{sequential:!0,useCache:!0}:{sequential:!0},r={sequential:(null==l?void 0:l.sequential)??o.sequential,useCache:(null==l?void 0:l.useCache)??o.useCache};return(n&&(this._lastAutoRunParams=[t,r.useCache]),null==l?void 0:l.debounce)?this._dispatchEventWithDebounce(e,t,r):this._dispatchEvent(e,t,r)}getEventFlows(e){let t=this.getFlows(),l="beforeRender"===e,n=t=>{if(l){var n;return!0!==t.manual&&(!t.on||("string"==typeof t.on?"beforeRender"===t.on:(null==(n=t.on)?void 0:n.eventName)==="beforeRender"))}let o=t.on;return!!o&&("string"==typeof o?o===e:(null==o?void 0:o.eventName)===e)};return Array.from(t.values()).filter(n)}resetAutoRunState(){var e,t;null==(t=this._rerunLastAutoRun)||null==(e=t.cancel)||e.call(t),this._lastAutoRunParams=null}async onDispatchEventStart(e,t,l){}async onDispatchEventEnd(e,t,l,n){}async onDispatchEventError(e,t,l,n){}useHooksBeforeRender(){}shouldSkipReactiveWrapping(){return!!this.render.__isReactiveWrapped||"renderFunction"===this.constructor.renderMode}setupReactiveRender(){if("function"==typeof this.render)try{let e=this.render;if(this._originalRender=e,"function"!=typeof e)return void console.error(`FlowModel ${this.constructor.name}: original render method is not a function`,e);if(this.shouldSkipReactiveWrapping()){let t=function(){var t,l,n,o;let r=!!(null==(l=this)||null==(t=l.context)?void 0:t.flowSettingsEnabled);if(this.hidden){if(!r)return null;let e=null==(n=(o=this).renderHiddenInConfig)?void 0:n.call(o),t=this.constructor;return"renderFunction"===t.renderMode?"function"==typeof e?e:()=>e:e}return e.call(this)};t.__originalRender=e,this.render=t;return}let t=t=>{let l=(0,v.observer)(()=>{var l,n;let o=t;o!==t&&(null==o?void 0:o.localProps)!==void 0&&o.localProps,t.props,u.useEffect(()=>{var e,t;return"function"==typeof o.onMount&&o.onMount(),null==(t=o.flowEngine)||null==(e=t.emitter)||e.emitAsync("model:mounted",{uid:o.uid,model:o}),()=>{var e,t;o.resetAutoRunState(),"function"==typeof o.onUnmount&&o.onUnmount(),null==(t=o.flowEngine)||null==(e=t.emitter)||e.emitAsync("model:unmounted",{uid:o.uid,model:o})}},[o]);let r=!!(null==t||null==(l=t.context)?void 0:l.flowSettingsEnabled);return t.hidden?r?null==(n=t.renderHiddenInConfig)?void 0:n.call(t):null:(t.stepParams,e.call(o))});return l.displayName=`ReactiveWrapper(${t.constructor.name})`,l},l=function(){return this._reactiveWrapperCache||(this._reactiveWrapperCache=t(this)),u.createElement(this._reactiveWrapperCache)};l.__isReactiveWrapped=!0,l.__originalRender=e,this.render=l}catch(e){console.error(`FlowModel ${this.constructor.name}: Error during render method wrapping:`,e)}}get cleanRun(){return!0}setCleanRun(e){this._cleanRun,this._cleanRun=!!e}onMount(){}onUnmount(){}render(){return(0,i.jsx)("div",{...this.props})}async rerender(){var e;await this.dispatchEvent("beforeRender",null==(e=this._lastAutoRunParams)?void 0:e[0],{useCache:!1})}getFlowCacheScope(e){return String(e)}setParent(e){if(!(e&&(e.constructor===L||(0,f.FA)(e.constructor,L))))throw Error("Parent must be an instance of FlowModel.");this.parent=e,this._options.parentId=e.uid,!1!==this._options.delegateToParent&&this.context.addDelegate(this.parent.context)}removeParentDelegate(){this.parent&&this.context.removeDelegate(this.parent.context)}addSubModel(e,t){var l,n,o;let r,i=this.master||this;if(t instanceof L){let e=!!t.parent,l=null==(o=t.parent)?void 0:o.uid;if(e&&l&&l!==i.uid)throw Error("Sub model already has a parent.");r=t}else r=i.flowEngine.createModel({...t,parentId:i.uid,subKey:e,subType:"array"});r.setParent(i);let s=i.subModels;Array.isArray(s[e])||(s[e]=a.observable.shallow([]));let d=Math.max(...s[e].map((e,t)=>j(e,t)),0);return r.sortIndex=d+1,s[e].push(r),i.emitter.emit("onSubModelAdded",r),null==(n=i.flowEngine)||null==(l=n.emitter)||l.emit("model:subModel:added",{parentUid:i.uid,parent:i,subKey:e,model:r}),r}setSubModel(e,t){var l,n,o;let r,i=this.master||this;if(t instanceof L){let e=!!t.parent,l=null==(o=t.parent)?void 0:o.uid;if(e&&l&&l!==i.uid)throw Error("Sub model already has a parent.");r=t}else r=i.flowEngine.createModel({...t,parentId:i.uid,subKey:e,subType:"object"});return r.setParent(i),i.subModels[e]=r,i.emitter.emit("onSubModelAdded",r),null==(n=i.flowEngine)||null==(l=n.emitter)||l.emit("model:subModel:added",{parentUid:i.uid,parent:i,subKey:e,model:r}),r}filterSubModels(e,t){let l=this.subModels[e];if(!l)return[];let n=[];return I(d().castArray(l)).forEach((e,l)=>{t(e,l)&&n.push(e)}),n}mapSubModels(e,t){let l=this.subModels[e];if(!l)return[];let n=[];return I(d().castArray(l)).forEach((e,l)=>{let o=t(e,l);n.push(o)}),n}hasSubModel(e){let t=this.subModels[e];return!!t&&d().castArray(t).length>0}findSubModel(e,t){let l=this.subModels[e];return l&&d().castArray(l).find(e=>t(e))||null}createRootModel(e){return this.flowEngine.createModel(e)}async applySubModelsBeforeRenderFlows(e,t,l){await Promise.all(this.mapSubModels(e,async e=>{await e.dispatchEvent("beforeRender",t)}))}createFork(e,t,l){if(t){let l=this.forkCache.get(t);if(l&&!l.disposed)return l.setProps(e||{}),l}let n=new k(this,e,(0,c.L)());return(null==l?void 0:l.register)!==!1&&this.forks.add(n),t&&(null==l?void 0:l.register)!==!1&&this.forkCache.set(t,n),n}clearForks(){var e;this.flowEngine.logger.debug(`FlowModel ${this.uid} clearing all forks.`),(null==(e=this.forks)?void 0:e.size)&&(this.forks.forEach(e=>e.dispose()),this.forks.clear()),this.forkCache.clear()}getFork(e){return this.forkCache.get(e)}moveTo(e,t){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.flowEngine.moveModel(this.uid,e.uid,t)}remove(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid)}async save(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.flowEngine.saveModel(this)}async saveStepParams(){return this.flowEngine.saveModel(this,{onlyStepParams:!0})}async destroy(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before deleting.");return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.destroyModel(this.uid)}async openStepSettingsDialog(e,t){var l;let n=this.getFlow(e),o=null==n||null==(l=n.steps)?void 0:l[t];if(!n||!o)return void console.error(`Flow ${e} or step ${t} not found`);let r=new h.W5(this,e,"settings");return(0,f.wx)(r,n.steps,this,e),r.defineProperty("currentStep",{value:o}),(await $())({model:this,flowKey:e,stepKey:t,ctx:r})}async configureRequiredSteps(e,t){return(await B())({model:this,dialogWidth:e,dialogTitle:t})}async openPresetStepSettingsDialog(e,t){return this.configureRequiredSteps(e,t)}async openFlowStepSettingsDialog(e){}get translate(){return this.flowEngine.translate.bind(this.flowEngine)}serialize(){let e={uid:this.uid,...d().omit(this._options,["flowEngine"]),props:{...this.props},stepParams:this.stepParams,sortIndex:this.sortIndex,flowRegistry:{}},t=this.subModels;for(let l in t)e.subModels=e.subModels||{},Array.isArray(t[l])?e.subModels[l]=t[l].map((e,t)=>({...e.serialize(),sortIndex:t})):t[l]instanceof L&&(e.subModels[l]=t[l].serialize());for(let[t,l]of this.flowRegistry.getFlows())e.flowRegistry[t]=l.toData();return e}clone(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before cloning.");let e=this.serialize(),t=new Map,l=e=>{if(e.uid&&"string"==typeof e.uid&&t.set(e.uid,(0,c.L)()),e.subModels)for(let t in e.subModels){let n=e.subModels[t];Array.isArray(n)?n.forEach(e=>l(e)):n&&"object"==typeof n&&l(n)}};l(e);let n=function(e){let l=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return e;if("string"==typeof e)return t.get(e)??e;if(Array.isArray(e))return e.map(e=>n(e,!1));if("object"==typeof e){let t={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(l&&"parentId"===o||(t[o]=n(e[o],!1)));return t}return e},o=n(e,!0);return this.flowEngine.createModel(o)}async openFlowSettings(e){return this.flowEngine.flowSettings.open({model:this,...e})}static registerExtraMenuItems(e){let t,l=this,n=R.get(l)||new Set;return t="function"==typeof e?{items:e}:e,n.add(t),R.set(l,n),()=>{let e=R.get(l);null==e||e.delete(t)}}static async getExtraMenuItems(e,t){let l=this,n=[],o=new Set,r=async l=>{if(!l||o.has(l))return;o.add(l);let i=R.get(l);if(i){let o=0;for(let r of i){if(r.matcher&&!r.matcher(e))continue;let i="function"==typeof r.items?await r.items(e,t):await Promise.resolve(r.items||[]),a=r.group||"common-actions",s=r.sort??0,d=r.keyPrefix||l.name||"extra";E((i||[]).map((e,t)=>D(e,{group:a,sort:s,prefix:d,path:`${o}-${t}`})).filter(N)).forEach(e=>{n.push(e)}),o+=1}}let a=Object.getPrototypeOf(l);(a===L||(null==a?void 0:a.prototype)instanceof L)&&await r(a)};return await r(l),n}refresh(){return this.rerender()}constructor(e){if((0,o._)(this,q,{writable:!0,value:void 0}),this.hidden=!1,this.props={},this.stepParams={},this.isNew=!1,this.skeleton=null,this.forbidden=null,this.forks=new Set,this.emitter=new p.v,this.forkCache=new Map,this._lastAutoRunParams=null,this._originalRender=null,this._dispatchEventWithDebounce=d().debounce(async function(e,t,l){return this._dispatchEvent(e,t,l)},500,{leading:!0}),this._rerunLastAutoRun=d().debounce(async()=>{if(this._lastAutoRunParams)try{let[e]=this._lastAutoRunParams;await this.dispatchEvent("beforeRender",e)}catch(e){console.error("FlowModel._rerunLastAutoRun: Error during rerun:",e)}},100),!e.flowEngine)throw Error("FlowModel must be initialized with a FlowEngine instance.");if(this.flowEngine=e.flowEngine,this.flowEngine.getModel(e.uid))return this.flowEngine.getModel(e.uid);e.uid||(e.uid=(0,c.L)()),this.uid=e.uid,this.props={...e.props},this.stepParams=e.stepParams||{},this.subModels={},this.sortIndex=j({sortIndex:e.sortIndex},-1),this._options=e,this._title="",this._extraTitle="",(0,a.define)(this,{hidden:a.observable,props:a.observable,subModels:a.observable.shallow,stepParams:a.observable,_title:a.observable,_extraTitle:a.observable,setProps:a.batch,setStepParams:a.batch}),this.flowRegistry=new m.R(this),this.flowRegistry.addFlows(e.flowRegistry),this.observerDispose=(0,a.observe)(this.stepParams,e=>{if("set"===e.type&&d().isEqual(e.value,e.oldValue))return;let t=!!this._lastAutoRunParams;this.flowEngine&&this.invalidateFlowCache("beforeRender"),t&&this._rerunLastAutoRun(),this.forks.forEach(e=>{e.rerender()})});try{this.setupReactiveRender()}catch(e){console.error(`Failed to setup reactive render for ${this.constructor.name}:`,e),"function"!=typeof this.render&&(this.render=()=>u.createElement("div",null,"Render method not available"))}this._cleanRun=!!e.cleanRun}}L.renderMode="reactElement";class _ extends L{setErrorMessage(e){this.errorMessage=e}render(){return(0,i.jsx)(g.A.Text,{type:"danger",children:this.errorMessage})}}function V(e){return e}l(63836);var z=l(16629),K=l(89013),U=l(42443),W=l(13415),H=l(18492),G=l(57084),Y=l(31102);function J(e){let{title:t}=e,{t:l}=(0,H.B)();return(0,i.jsx)(Y.eI,{label:t,showLabel:!0,children:(0,i.jsx)(z.A,{size:"small",styles:{body:{color:"rgba(0,0,0,0.45)"}},children:l("This field has been hidden and you cannot view it (this content is only visible when the UI Editor is activated).")})})}function X(){var e;let{t}=(0,H.B)(),l=(0,G.PZ)(),n=l.context.blockModel,o=null==(e=n.collection)?void 0:e.dataSource,r=n.collection,a=l.fieldPath,s=(0,u.useMemo)(()=>{let e=o?`${t(o.displayName||o.key)} > `:"",l=r?`${t(r.title)||r.name||r.tableName} > `:"";return`${e}${l}${a}`},[r,o,a,t]);return(0,i.jsx)(K.A.Item,{children:(0,i.jsx)("div",{style:{color:"rgba(0,0,0,0.45)"},children:t('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:t("Field"),name:s,blockType:t("Field")}).replaceAll("&gt;",">")})})}function Q(){var e,t;let{t:l}=(0,H.B)(),n=(0,G.PZ)(),o=n.context.blockModel,r=(null==(e=n.context.collectionField)?void 0:e.collection)||o.collection,a=r.dataSource,s=(null==(t=n.context.collectionField)?void 0:t.name)||n.fieldPath,c=(0,u.useMemo)(()=>{let e=`${l(a.displayName||a.key)} > `,t=r?`${l(r.title)||r.name||r.tableName} > `:"";return`${e}${t}${s}`},[r,a.displayName,a.key,s,l]),{actionName:p}=n.forbidden,m=(0,u.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:c,actionName:l(d().capitalize(p))}).replaceAll("&gt;",">"),[p,c,l]);return(0,i.jsx)(U.A,{title:m,children:(0,i.jsx)(Y.eI,{showLabel:!0,label:n.context.collectionField.title||s,style:{opacity:"0.4"},children:(0,i.jsx)(W.A,{})})})}let Z=()=>!0;class ee extends L{renderHiddenInConfig(){return this.forbidden?(0,i.jsx)(Q,{}):(0,i.jsx)(U.A,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,i.jsx)("div",{style:{opacity:.3},children:this.renderOriginal.call(this)})})}get title(){}onInit(e){this.context.defineProperty("collectionField",{get:()=>{let e=this.getFieldSettingsInitParams();return this.context.dataSourceManager.getCollectionField(`${e.dataSourceKey}.${e.collectionName}.${e.fieldPath}`)},cache:!1}),this.context.defineProperty("fieldPath",{get:()=>this.fieldPath}),this.context.blockModel&&(this.context.blockModel.addAppends(this.fieldPath),this.context.blockModel.addAppends(this.associationPathName))}getFieldSettingsInitParams(){return this.getStepParams("fieldSettings","init")||{}}get fieldPath(){return this.getFieldSettingsInitParams().fieldPath}get associationPathName(){return this.getFieldSettingsInitParams().associationPathName}get collectionField(){return this.context.collectionField}async afterAddAsSubModel(){this.context.resource&&await this.context.resource.refresh()}static getBindingsByField(e,t){if(!t)return;let l=t.interface;return this.bindings.has(l)?this.bindings.get(l).sort((e,t)=>e.order-t.order).filter(l=>e.engine.getModelClass(l.modelName)&&l.when(e,t)):[]}static getDefaultBindingByField(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return null;if(l.fallbackToTargetTitleField){let n=this.getDefaultBindingByField(e,t,{useStrict:!0});return!n&&(t.isAssociationField()&&(null==l?void 0:l.targetCollectionTitleField)||t.targetCollectionTitleField)?this.getDefaultBindingByField(e,(null==l?void 0:l.targetCollectionTitleField)||t.targetCollectionTitleField):n}let n=t.interface;if(!n||!this.bindings.has(n))return null;let o=this.bindings.get(n),r=o.filter(l=>l.isDefault&&e.engine.getModelClass(l.modelName)&&l.when(e,t));if(1===r.length)return r[0];if(r.length>0){let e=null;if((e=r.find(e=>e.when!==Z))||(e=r.find(e=>e.when===Z)))return e}return l.useStrict?null:o.find(l=>e.engine.getModelClass(l.modelName)&&l.when(e,t))}static bindModelToInterface(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(Array.isArray(t))return void t.forEach(t=>this.bindModelToInterface(e,t,l));this.currentBindings.has(t)||this.currentBindings.set(t,[]);let n=this.currentBindings.get(t);n.push({modelName:e,isDefault:l.isDefault||!1,defaultProps:l.defaultProps||null,when:l.when||Z,order:l.order}),this.currentBindings.set(t,n)}static get currentBindings(){return Object.prototype.hasOwnProperty.call(this,"_bindings")&&this._bindings||(this._bindings=new Map),this._bindings}static getAllParentClasses(){let e=[],t=this;for(;t&&t!==Object;)(null==(t=Object.getPrototypeOf(t))?void 0:t.currentBindings)&&e.push(t);return e}static get bindings(){let e=new Map;for(let t of this.getAllParentClasses())for(let[l,n]of t.currentBindings)e.has(l)||e.set(l,[]),e.get(l).unshift(...n);for(let[t,l]of this.currentBindings)e.has(t)||e.set(t,[]),e.get(t).unshift(...l);return e}renderItem(){return null}render(){return this.collectionField?this.renderItem():(0,i.jsx)(X,{})}}ee._bindings=new Map,ee.registerFlow({key:"fieldSettings",title:(0,f.MI)("Field settings"),steps:{init:{handler(e,t){let{dataSourceKey:l,collectionName:n,fieldPath:o}=t;if(!l)throw Error("dataSourceKey is a required parameter");if(!n)throw Error("collectionName is a required parameter");if(!o)throw Error("fieldPath is a required parameter")}}}});class et extends ee{}class el extends ee{}class en extends ee{}},20616(e,t,l){"use strict";l.d(t,{I6:()=>m,Db:()=>g,uf:()=>f,f7:()=>h}),l(89773),l(14324);var n=l(74848),o=l(88040),r=l(4888),i=l(35710),a=l(96540),s=l(52568),d=l(67778);let u=0;class c{getNextZIndex(){return this.zIndex+1}open(e){let{type:t,...l}=e;if(this.types[t]){u+=1;let e=l.onClose,n=!1,o=()=>{n||(n=!0,u-=1)},r=l.zIndex;return l.onClose=function(){for(var t=arguments.length,l=Array(t),n=0;n<t;n++)l[n]=arguments[n];null==e||e(...l),o()},"embed"===t&&(l.onOpenCancelled=o),"embed"!==t&&(l.zIndex=r??this.getNextZIndex()),this.types[t].open(l,this.ctx)}throw Error(`Unknown view type: ${t}`)}dialog(e){return this.open({type:"dialog",...e})}drawer(e){return this.open({type:"drawer",...e})}popover(e){return this.open({type:"popover",...e})}embed(e){return this.open({type:"embed",...e})}constructor(e,t){var l;this.ctx=e,this.types=t,this.zIndex=u+((null==(l=e.themeToken)?void 0:l.zIndexPopupBase)||1e3)}}let p=(0,a.createContext)(null),m=a.memo(e=>{let{engine:t,children:l}=e;if(!t)throw Error("FlowEngineProvider must be supplied with an engine.");return(0,n.jsx)(p.Provider,{value:t,children:(0,n.jsx)(s.Dv,{context:t.context,children:l})})});m.displayName="FlowEngineProvider";let h=e=>{var t;let{children:l}=e,{modal:s,message:u,notification:p}=o.A.useApp(),[m,h]=(0,d.bt)(),[g,v]=(0,d.N5)(),[y,x]=(0,d.fP)(),[b,w]=(0,d.sp)(),S=f(),C=(0,a.useContext)(r.Ay.ConfigContext),{token:F}=i.A.useToken(),k=a.useMemo(()=>{var e;let t=null==C||null==(e=C.theme)?void 0:e.algorithm;return Array.isArray(t)?t.includes(i.A.darkAlgorithm):t===i.A.darkAlgorithm},[C]);for(let e of(S.context.defineProperty("viewer",{cache:!1,get:e=>new c(e,{drawer:m,embed:g,popover:y,dialog:b})}),Object.entries({antdConfig:C,modal:s,message:u,notification:p}))){let[t,l]=e;l&&S.context.defineProperty(t,{value:l})}return S.context.defineProperty("themeToken",{get:()=>F,observable:!0,cache:!0}),S.context.defineProperty("isDarkTheme",{get:()=>k,observable:!0,cache:!0,info:{description:"Whether current theme algorithm is dark mode.",detail:"boolean"}}),(0,a.useEffect)(()=>{S.reactView.refresh()},[S,m,s,u,p,C,y,F,b,g,k]),(0,n.jsxs)(r.Ay,{...C,locale:null==(t=S.context.locales)?void 0:t.antd,popupMatchSelectWidth:!1,children:[l,h,x,v,w]})},f=function(){let{throwError:e=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,a.useContext)(p);return!t&&e?void console.warn("useFlowEngine must be used within a FlowEngineProvider, and FlowEngineProvider must be supplied with an engine."):t},g=()=>f().context},52847(e,t,l){"use strict";l.d(t,{vA:()=>n.batch,lB:()=>n.observe,po:()=>n.markObservable,dw:()=>n.DataNode,XI:()=>n.action,SL:()=>d,KP:()=>n.hasCollected,Jv:()=>n.setDataNode,r5:()=>n.DataChange,O8:()=>n.untracked,JD:()=>n.Tracker,H_:()=>n.buildDataTree,gR:()=>n.contains,E8:()=>n.define,Rq:()=>n.isSupportObservable,IG:()=>n.markRaw,PA:()=>s,D:()=>n.getDataNode,ge:()=>n.model,AT:()=>n.isObservable,fm:()=>n.autorun,sH:()=>n.observable,lS:()=>n.raw,Ir:()=>n.isAnnotation,mJ:()=>n.reaction,HO:()=>n.toJS});var n=l(95243),o=l(74848),r=l(69804),i=l(96540),a=l(52568);let s=(e,t)=>{let l=i.memo(l=>{let s=(0,a.$K)(),u=(0,i.useRef)(s);u.current=s;let c=(0,i.useRef)(null),p=(0,i.useRef)(null),m=()=>{c.current&&(c.current(),c.current=null)},h=()=>{p.current&&(clearTimeout(p.current),p.current=null)},f=()=>{var e,t;let l=d(u.current),n=null==(t=u.current)||null==(e=t.tabActive)?void 0:e.value;return!1!==l&&!1!==n};(0,i.useEffect)(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),c.current&&(c.current(),c.current=null)},[]);let g=(0,i.useMemo)(()=>(0,r.observer)(e,{scheduler(e){if(!f()){if(p.current||c.current)return;p.current=setTimeout(()=>{if(p.current=null,!c.current){if(f())return void e();c.current=(0,n.reaction)(()=>f(),t=>{t&&(m(),e())},{name:"FlowObserverPendingUpdate"})}});return}h(),m(),e()},...t}),[]);return(0,o.jsx)(g,{...l})});return l.displayName="ComponentWithDefaultScheduler",l};function d(e){var t,l,n;return"boolean"==typeof(null==e||null==(t=e.pageActive)?void 0:t.value)?null==e||null==(l=e.pageActive)?void 0:l.value:null==e||null==(n=e.view)?void 0:n.inputArgs.pageActive}},27667(e,t,l){"use strict";l.d(t,{tP:()=>x,sB:()=>v,I8:()=>m,qi:()=>p,Rn:()=>g,BS:()=>a,hR:()=>d,vB:()=>f,l2:()=>s,BH:()=>b}),l(89773);var n=l(9297);l(14324),l(5409),l(45336),l(79936),l(69861);var o=l(95243),r=l(29007);function i(e){var t,l,n,o,r,i,a,s,d,u,c;if("string"==typeof(null==e||null==(t=e.response)?void 0:t.data)){let t=document.createElement("div");t.innerHTML=null==e||null==(d=e.response)?void 0:d.data;let l=t.textContent||t.innerText;return l.includes("Error occurred while trying")||l.includes("502 Bad Gateway")?[{code:"APP_WARNING",message:l="The application may be starting up. Please try again later."}]:[{message:l}]}return(null==e||null==(n=e.response)||null==(l=n.data)?void 0:l.error)?[null==e||null==(c=e.response)||null==(u=c.data)?void 0:u.error]:(null==e||null==(r=e.response)||null==(o=r.data)?void 0:o.errors)||(null==e||null==(a=e.response)||null==(i=a.data)?void 0:i.messages)||(null==e||null==(s=e.response)?void 0:s.error)||[{message:e.message||"Server error"}]}class a extends Error{get code(){var e;return(null==(e=this.data)?void 0:e.code)||"UNKNOWN_ERROR"}get message(){var e;return(null==(e=this.data)?void 0:e.message)||"An unknown error occurred"}constructor(e){const t=i(e).shift();super(t.message),this.data=t,this.name="ResponseError"}}class s{getData(){return this._data.value}hasData(){let e=this.getData();return Array.isArray(e)?e.length>0:!!e&&"object"==typeof e&&Object.keys(e).length>0}setData(e){return this._data.value=e,this}getMeta(e){return e?this._meta.value[e]:this._meta.value}setMeta(e){return this._meta.value={...this._meta.value,...e},this}get error(){return this._error.value}getError(){return this._error.value}setError(e){return this._error.value=e,this}clearError(){return this._error.value=null,this}on(e,t){var l,n;((l=this.events)[n=e]||(l[n]=[])).push(t)}once(e,t){var l=this;let n=function(){for(var o=arguments.length,r=Array(o),i=0;i<o;i++)r[i]=arguments[i];t(...r),l.off(e,n)};this.on(e,n)}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.events[e]||[]).forEach(e=>e(...l))}constructor(e){this._data=o.observable.ref(null),this._meta=o.observable.ref({}),this._error=o.observable.ref(null),this.events={},this.context=new r.cB,this.context.addDelegate(e)}}class d extends s{setAPIClient(e){return this.api=(0,n.kx)(e,this.context),this}getURL(){return this.request.url}setURL(e){return this.request.url=e,this}get loading(){return this.getMeta("loading")||!1}set loading(e){this.setMeta({loading:e})}clearRequestParameters(){return this.request.params={},this}setRequestParameters(e){return this.request.params={...this.request.params,...e},this}setRequestMethod(e){return this.request.method=e,this}addRequestHeader(e,t){return this.request.headers||(this.request.headers={}),this.request.headers[e]=t,this}removeRequestHeader(e){return this.request.headers&&e in this.request.headers&&delete this.request.headers[e],this}addRequestParameter(e,t){return this.request.params||(this.request.params={}),this.request.params[e]=t,this}getRequestParameter(e){return this.request.params&&e in this.request.params?this.request.params[e]:null}removeRequestParameter(e){return this.request.params&&e in this.request.params&&delete this.request.params[e],this}setRequestBody(e){return this.request.data=e,this}setRequestOptions(e,t){return this.request[e]=t,this}getRequestOptions(){return this.request}async refresh(){if(!this.api)throw Error("API client not set");this.clearError();try{let{data:e}=await this.api.request({url:this.getURL(),...this.getRefreshRequestOptions()});this.setData(e),this.emit("refresh")}catch(t){let e=new a(t);throw this.setError(e),e}}getRefreshRequestOptions(){return{...this.request}}constructor(e){super(e),this.request={headers:{},params:{},method:"get",data:null},e&&(this.api=e.api)}}l(84560),l(23446),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var u=l(2543),c=l.n(u);class p{toJSON(){return this.options.operator?{[this.options.path]:{[this.options.operator]:this.options.value}}:{[this.options.path]:this.options.value}}constructor(e){if(this.options=e,e instanceof p)return e;this.options=e}}class m{toJSON(){return{[this.options.logic]:this.options.items.map(e=>e.toJSON())}}constructor(e){if(e instanceof m)return e;if("$and"!==e.logic&&"$or"!==e.logic)throw Error("Logic must be either $and or $or");if(!Array.isArray(e.items))throw Error("Items must be an array");this.options={logic:e.logic,items:e.items.map(e=>e.logic?new m(e):new p(e))}}}var h=l(44951);class f extends d{get supportsFilter(){return!0}setRefreshAction(e){this._refreshActionName=e}mergeRequestConfig(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let n={},o=(e,t,l,n,o,r)=>{let i=r.size;if(Array.isArray(t)||i>1)return t};return t.reduce((e,t)=>c().mergeWith(e,t,o),n)}setRunActionOptions(e,t){return this.runActionOptions[e]=t,this}splitValue(e){return"string"==typeof e?e.split(",").map(e=>e.trim()):Array.isArray(e)?e:[]}buildURL(e){let t="";if(this.resourceName)if(this.sourceId&&this.resourceName.includes(".")){let[l,n]=this.resourceName.split(".");t=`${l}/${this.sourceId}/${n}:${e||"get"}`}else t=`${this.resourceName}:${e||"get"}`;return t}async runAction(e,t){var l;let{rawResponse:n,...o}=t,r=this.mergeRequestConfig(c().omit(this.request,["params","data","method"]),{method:"post",url:this.buildURL(e)},null==(l=this.runActionOptions)?void 0:l[e],o);["create","update","firstOrCreate","updateOrCreate"].includes(e)&&(r.params=r.params||{},r.params.updateAssociationValues=this.getUpdateAssociationValues());try{let e=await this.api.request(r);if(n)return e;let{data:t}=e;if(!(null==t?void 0:t.data))return t;return{data:t.data,meta:t.meta}}catch(e){throw new a(e)}}setResourceName(e){return this.resourceName=e,this}getResourceName(){return this.resourceName}markDataSourceDirty(e){(0,h.BL)({engine:this.context.engine,dataSourceKey:this.getDataSourceKey(),resourceName:e||this.getResourceName(),includePreviousEngines:!0})}setSourceId(e){return this.sourceId=e,this}getSourceId(){return this.sourceId}setDataSourceKey(e){return this.addRequestHeader("X-Data-Source",e)}getDataSourceKey(){return this.request.headers["X-Data-Source"]}setFilter(e){return this.addRequestParameter("filter",JSON.stringify(e))}getFilter(){let e=[...this.filterGroups.values()].filter(Boolean);if(0!==e.length)return{$and:e}}resetFilter(){this.setFilter(this.getFilter())}addFilterGroup(e,t){t instanceof p&&(t=t.toJSON()),this.filterGroups.set(e,t),this.resetFilter()}removeFilterGroup(e){this.filterGroups.delete(e),this.resetFilter()}setAppends(e){return this.addRequestParameter("appends",e)}getAppends(){return this.request.params.appends||[]}addAppends(e){let t=this.getAppends();return this.splitValue(e).forEach(e=>{t.includes(e)||t.push(e)}),this.request.params.appends=t,this}removeAppends(e){if(!this.request.params.appends)return this;let t=this.getAppends(),l=this.splitValue(e);return this.request.params.appends=t.filter(e=>!l.includes(e)),this}getUpdateAssociationValues(){return this.updateAssociationValues||[]}addUpdateAssociationValues(e){let t=this.getUpdateAssociationValues();return this.splitValue(e).forEach(e=>{t.includes(e)||t.push(e)}),this.updateAssociationValues=t,this}jsonStringify(e){return null!==e&&"object"==typeof e?JSON.stringify(e):e}setFilterByTk(e){return this.addRequestParameter("filterByTk",this.jsonStringify(e))}getFilterByTk(){return this.request.params.filterByTk}setFields(e){return this.addRequestParameter("fields",this.splitValue(e))}getFields(){return this.request.params.fields||[]}setSort(e){return this.addRequestParameter("sort",this.splitValue(e))}getSort(){return this.request.params.sort||[]}setExcept(e){return this.addRequestParameter("except",this.splitValue(e))}getExcept(){return this.request.params.except||[]}setWhitelist(e){return this.addRequestParameter("whitelist",this.splitValue(e))}getWhitelist(){return this.request.params.whitelist||[]}setBlacklist(e){return this.addRequestParameter("blacklist",this.splitValue(e))}getBlacklist(){return this.request.params.blacklist||[]}constructor(...e){super(...e),this.sourceId=null,this.request={method:"get",params:{},headers:{}},this.updateAssociationValues=[],this.runActionOptions={},this.filterGroups=new Map,this._refreshActionName="list"}}class g extends f{get supportsFilter(){return!0}setCreateActionOptions(e){return this.createActionOptions=e,this}setUpdateActionOptions(e){return this.updateActionOptions=e,this}setSelectedRows(e){return this.setMeta({selectedRows:e}),this}getSelectedRows(){return this.getMeta("selectedRows")||[]}getCount(){return this.getMeta("count")}setPage(e){return this.addRequestParameter("page",e),this.setMeta({page:e})}getPage(){return this.getMeta("page")}setPageSize(e){return this.addRequestParameter("pageSize",e),this.setMeta({pageSize:e})}getPageSize(){return this.getMeta("pageSize")}getTotalPage(){return this.getMeta("totalPage")}getCell(e,t){var l;let n=this.getData();return null==n||null==(l=n[e])?void 0:l[t]}async next(){this.request.params.page+=1,await this.refresh()}async previous(){this.request.params.page>1&&(this.request.params.page-=1,await this.refresh())}async goto(e){e>0&&(this.request.params.page=e,await this.refresh())}async create(e,t){let l=this.mergeRequestConfig({data:e},this.createActionOptions,t),o=await this.runAction("create",{...l,[n.q3]:!0});return this.markDataSourceDirty(),this.emit("saved",e),(null==t?void 0:t.refresh)!==!1&&await this.refresh(),o}async get(e){let t={params:{filterByTk:e}},{data:l}=await this.runAction("get",{...t});return l}async update(e,t,l){let o=t,r=this.mergeRequestConfig({params:{filterByTk:e},data:o},this.updateActionOptions,l);await this.runAction("update",{...r,[n.q3]:!0}),this.markDataSourceDirty(),this.emit("saved",t),await this.refresh()}async destroySelectedRows(){let e=this.getSelectedRows();if(0===e.length)throw Error("No rows selected for deletion.");await this.destroy(e)}async destroy(e,t){let l=this.mergeRequestConfig({params:{filterByTk:this.jsonStringify(e)}},t);await this.runAction("destroy",{...l,[n.q3]:!0}),this.markDataSourceDirty();let o=this.getPage(),r=Math.ceil((this.getCount()-c().castArray(e).length)/this.getPageSize());o>r&&this.setPage(r||1),await this.refresh()}setItem(e,t){let l=this.getData().slice();l[e]={...t},this.setData(l)}async refresh(){return this.refreshTimer&&clearTimeout(this.refreshTimer),new Promise((e,t)=>{this.refreshWaiters.push({resolve:e,reject:t}),this.refreshTimer=setTimeout(async()=>{let e=this.refreshWaiters;this.refreshWaiters=[],this.refreshTimer=null;try{this.clearError(),this.loading=!0;let{data:t,meta:l}=await this.runAction(this._refreshActionName,{method:"get",...this.getRefreshRequestOptions()});this.setData(t).setMeta(l),(null==l?void 0:l.page)&&this.setPage(l.page),(null==l?void 0:l.pageSize)&&this.setPageSize(l.pageSize),this.emit("refresh"),e.forEach(e=>e.resolve())}catch(l){this.setError(l);let t=l instanceof Error?l:Error(String(l));e.forEach(e=>e.reject(t))}finally{this.loading=!1}})})}constructor(...e){super(...e),this._data=o.observable.ref([]),this._meta=o.observable.ref({}),this.refreshTimer=null,this.refreshWaiters=[],this.createActionOptions={},this.updateActionOptions={},this._refreshActionName="list",this.request={method:"get",params:{filter:{},filterByTk:null,appends:[],fields:[],sort:null,except:null,whitelist:null,blacklist:null,page:1,pageSize:20},headers:{}}}}class v extends f{get supportsFilter(){return!this.isNewRecord}setSaveActionOptions(e){return this.saveActionOptions=e,this}setFilterByTk(e){return this.isNewRecord=!1,super.setFilterByTk(e)}async save(e,t){let l=this.mergeRequestConfig(this.saveActionOptions,c().omit(t,["refresh"])),o="create",r=e;this.isNewRecord||(l.params=l.params||{},l.params.filterByTk=this.getFilterByTk(),o="update");let i=await this.runAction(o,{...l,data:r,[n.q3]:!0});return this.markDataSourceDirty(),this.emit("saved",e),(null==t?void 0:t.refresh)!==!1&&await this.refresh(),i}async destroy(e){let t=this.mergeRequestConfig({params:{filterByTk:this.jsonStringify(this.request.params.filterByTk)}},e);await this.runAction("destroy",{...t,[n.q3]:!0}),this.markDataSourceDirty(),this.setData(null)}async refresh(){if(this.clearError(),!this.isNewRecord)try{let{data:e,meta:t}=await this.runAction(this._refreshActionName,{method:"get",...this.getRefreshRequestOptions()});this.setData(e).setMeta(t),this.emit("refresh")}catch(e){throw this.setError(e),e}}constructor(...e){super(...e),this.isNewRecord=!1,this.saveActionOptions={},this._refreshActionName="get"}}var y=l(87710);class x{async run(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{sql:l,bind:n,liquidContext:o}=await (0,y.transformSQL)(e),r=await this.ctx.resolveJsonTemplate({bind:n,liquidContext:o}),i=await (0,y.parseLiquidContext)(l,r.liquidContext),{data:a}=await this.ctx.api.request({method:"POST",url:"flowSql:run",data:{sql:i,...t,bind:{...r.bind,...t.bind}}});return null==a?void 0:a.data}async save(e){await this.ctx.api.request({method:"POST",url:"flowSql:save",data:{...e}})}async runById(e,t){let l=await this.ctx.api.request({method:"GET",url:"flowSql:getBind",params:{uid:e}}),{bind:n,liquidContext:o}=await this.ctx.resolveJsonTemplate(l.data.data||{}),{data:r}=await this.ctx.api.request({method:"POST",url:"flowSql:runById",data:{uid:e,...t,bind:{...n,...null==t?void 0:t.bind},liquidContext:o}});return null==r?void 0:r.data}async destroy(e){await this.ctx.api.request({url:"flowSql:destroy",params:{filterByTk:e}})}constructor(e){this.ctx=new r.cB,this.ctx.addDelegate(e),this.ctx.defineProperty("offset",{get:()=>0,cache:!1}),this.ctx.defineProperty("limit",{get:()=>20,cache:!1})}}class b extends f{get refreshActionName(){return this._debugEnabled?"run":"runById"}get supportsFilter(){return!0}buildURL(e){return`flowSql:${e||this.refreshActionName}`}setPage(e){return this.addRequestParameter("page",e),this.setMeta({page:e})}getPage(){return this.getMeta("page")||1}setPageSize(e){return this.addRequestParameter("pageSize",e),this.setMeta({pageSize:e})}setDebug(e){return this._debugEnabled=e,this}getPageSize(){return this.getMeta("pageSize")||20}async next(){this.setPage(this.getPage()+1),await this.refresh()}async previous(){this.getPage()>1&&(this.setPage(this.getPage()-1),await this.refresh())}async goto(e){e>0&&(this.request.params.page=e,await this.refresh())}setDataSourceKey(e){return this.request.data.dataSourceKey=e,this}setSQLType(e){return this.request.data.type=e,this}setSQL(e){return this._sql=e,this}setFilterByTk(e){return this.request.data.uid=e,this}setFilter(e){return this.request.data.filter=e,this}setBind(e){return this.request.data.bind=e,this}setLiquidContext(e){return this.request.data.liquidContext=e,this}async run(){return this._debugEnabled?await this.runBySQL():await this.runById()}async runBySQL(){let e=this._sql,{sql:t,bind:l,liquidContext:n}=await (0,y.transformSQL)(e),o=await this.context.resolveJsonTemplate({bind:l,liquidContext:n}),r=c().cloneDeep({method:"post",...this.getRefreshRequestOptions()});return r.data.sql=await (0,y.parseLiquidContext)(t,o.liquidContext),r.data.bind=o.bind,await this.runAction("run",r)}async runById(){let{data:e}=await this.runAction("getBind",{method:"get",params:{uid:this.request.data.uid}}),{bind:t,liquidContext:l}=await this.context.resolveJsonTemplate(e);return this.setBind(t),this.setLiquidContext(l),await this.runAction("runById",{method:"post",...this.getRefreshRequestOptions()})}async refresh(){return this.refreshTimer&&clearTimeout(this.refreshTimer),new Promise((e,t)=>{this.refreshWaiters.push({resolve:e,reject:t}),this.refreshTimer=setTimeout(async()=>{let e=this.refreshWaiters;this.refreshWaiters=[],this.refreshTimer=null;try{this.clearError(),this.loading=!0,this.emit("loading");let{data:t,meta:l}=await this.run();this.setData(t).setMeta(l),this.loading=!1,this.emit("refresh"),e.forEach(e=>e.resolve())}catch(l){this.setError(l);let t=l instanceof Error?l:Error(String(l));e.forEach(e=>e.reject(t))}finally{this.loading=!1}})})}constructor(e){super(e),this._data=o.observable.ref(null),this._meta=o.observable.ref({}),this.refreshTimer=null,this.refreshWaiters=[],this._debugEnabled=!1,this.request={method:"post",params:{},data:{},headers:{}},e.defineProperty("limit",{get:()=>this.getPageSize(),cache:!1}),e.defineProperty("offset",{get:()=>(this.getPage()-1)*this.getPageSize(),cache:!1})}}},19258(e,t,l){"use strict";l.d(t,{JF:()=>d,Jq:()=>u,R5:()=>c}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(89773);var n=l(29007),o=l(37966);let r=new Set,i=new Map,a=new Set;async function s(e,t){let l=i.get(e)||new Set;if(i.set(e,l),!l.has(t)){l.add(t);try{await t({version:e,RunJSContextRegistry:o.F,FlowRunJSContext:n.uk})}catch(e){throw l.delete(t),e}}}function d(e){if("function"!=typeof e)throw Error("[flow-engine] registerRunJSContextContribution: contribution must be a function");if(!r.has(e))for(let t of(r.add(e),a))s(t,e).catch(e=>{try{console.error("[flow-engine] RunJS context contribution failed:",e)}catch(e){}})}async function u(e){for(let t of r)await s(e,t)}function c(e){a.add(e)}},37966(e,t,l){"use strict";l.d(t,{B:()=>o,F:()=>n}),l(45336),l(23446),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);class n{static register(e,t,l,n){this.map.set(`${e}:${t}`,{ctor:l,meta:n})}static resolve(e,t){var l,n;return(null==(l=this.map.get(`${e}:${t}`))?void 0:l.ctor)||(null==(n=this.map.get(`${e}:*`))?void 0:n.ctor)}static getMeta(e,t){var l,n;return(null==(l=this.map.get(`${e}:${t}`))?void 0:l.meta)||(null==(n=this.map.get(`${e}:*`))?void 0:n.meta)}}function o(e){var t,l;return(null==e||null==(l=e.model)||null==(t=l.constructor)?void 0:t.name)||"*"}n.map=new Map},88828(e,t,l){"use strict";l.r(t),l.d(t,{setupRunJSContexts:()=>s});var n=l(37966),o=l(29007);function r(){o.uk.define({label:"RunJS base",properties:{logger:{description:'Pino logger instance for structured logging. Example: `ctx.logger.info({ foo: 1 }, "message")`',detail:"Logger",properties:{info:{type:"function",description:"Write an info-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.info({ foo: 1 }, 'message')"}},warn:{type:"function",description:"Write a warn-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.warn({ foo: 1 }, 'message')"}},error:{type:"function",description:"Write an error-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.error({ err }, 'message')"}},debug:{type:"function",description:"Write a debug-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.debug({ foo: 1 }, 'message')"}},child:{type:"function",description:"Create a child logger with bindings.",detail:"(bindings: object) => Logger",completion:{insertText:"ctx.logger.child({ module: 'runjs' })"}}}},message:{description:"Ant Design global message API for displaying temporary messages.",detail:"MessageInstance",hidden:e=>!(null==e?void 0:e.message),examples:['ctx.message.success("Operation completed")'],properties:{info:{type:"function",description:"Show an info message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.info('Info')"}},success:{type:"function",description:"Show a success message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.success('Success')"}},error:{type:"function",description:"Show an error message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.error('Error')"}},warning:{type:"function",description:"Show a warning message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.warning('Warning')"}},loading:{type:"function",description:"Show a loading message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.loading('Loading...')"}},open:{type:"function",description:"Open a message with custom config.",detail:"(config: any) => void",completion:{insertText:"ctx.message.open({ type: 'info', content: 'Hello' })"}},destroy:{type:"function",description:"Destroy all messages.",detail:"() => void",completion:{insertText:"ctx.message.destroy()"}}}},notification:{description:"Ant Design notification API for displaying notification boxes.",detail:"NotificationInstance",hidden:e=>!(null==e?void 0:e.notification),examples:['ctx.notification.open({ message: "Title", description: "Content" })'],properties:{open:{type:"function",description:"Open a notification with config.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.open({ message: 'Title', description: 'Content' })"}},success:{type:"function",description:"Open a success notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.success({ message: 'Success' })"}},info:{type:"function",description:"Open an info notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.info({ message: 'Info' })"}},warning:{type:"function",description:"Open a warning notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.warning({ message: 'Warning' })"}},error:{type:"function",description:"Open an error notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.error({ message: 'Error' })"}},destroy:{type:"function",description:"Destroy all notifications.",detail:"(key?: string) => void",completion:{insertText:"ctx.notification.destroy()"}}}},modal:{description:"Ant Design modal API (HookAPI) for opening modal dialogs.",detail:"HookAPI",hidden:e=>!(null==e?void 0:e.modal),examples:["ctx.modal.confirm({ title: 'Confirm', content: 'Are you sure?' })"],properties:{info:{type:"function",description:"Open an info modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.info({ title: 'Info', content: '...' })"}},success:{type:"function",description:"Open a success modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.success({ title: 'Success', content: '...' })"}},error:{type:"function",description:"Open an error modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.error({ title: 'Error', content: '...' })"}},warning:{type:"function",description:"Open a warning modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.warning({ title: 'Warning', content: '...' })"}},confirm:{type:"function",description:"Open a confirm modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.confirm({ title: 'Confirm', content: '...' })"}}}},resource:{description:"The current FlowResource instance in this context, used to access and manipulate data. In most block/popup scenarios it is pre-bound by the runtime (no need to call ctx.initResource). In contexts like plain JS blocks where no resource is bound, you can call ctx.initResource(type) first and then use ctx.resource.",detail:"FlowResource",examples:["await ctx.resource.refresh();"],properties:{getData:{description:"Get current resource data.",detail:"() => any",completion:{insertText:"ctx.resource.getData()"}},setData:{description:"Set current resource data (client-side only).",detail:"(value: any) => this",completion:{insertText:"ctx.resource.setData(value)"}},refresh:{description:"Refresh data from server (available on API-backed resources).",detail:"() => Promise<any>",completion:{insertText:"await ctx.resource.refresh()"}},on:{description:"Subscribe resource events (e.g., refresh).",detail:"(event: string, callback: (...args) => void) => void",completion:{insertText:"ctx.resource.on('refresh', () => {})"}},off:{description:"Unsubscribe resource events.",detail:"(event: string, callback: (...args) => void) => void",completion:{insertText:"ctx.resource.off('refresh', handler)"}},setResourceName:{description:'Set resource name (e.g., "users" or "users.profile").',detail:"(resourceName: string) => this",completion:{insertText:"ctx.resource.setResourceName('users')"}},setFilterByTk:{description:"Set primary key or filterByTk for record resources.",detail:"(filterByTk: any) => this",completion:{insertText:"ctx.resource.setFilterByTk(filterByTk)"}},runAction:{description:"Run a resource action (create/update/destroy/custom actions).",detail:"(action: string, options: any) => Promise<any>",completion:{insertText:"await ctx.resource.runAction('create', { data: {} })"}},selectedRows:{description:"Selected rows in table resources (typically for collection/table actions). Availability depends on resource type.",detail:"any[]"},pagination:{description:"Pagination info in list resources. Availability depends on resource type (e.g., MultiRecordResource).",detail:"Record<string, any>"}}},urlSearchParams:"URLSearchParams object containing query parameters from the current URL",token:"API authentication token for the current session",role:"Current user role information",auth:{description:"Authentication context containing locale, role, user, and token information.",detail:"AuthContext",properties:{locale:'Current locale code (e.g., "en-US", "zh-CN").',roleName:"Current role name.",token:"Current API token.",user:"Current user info object (if available)."}},viewer:{description:"FlowViewer instance providing view helpers (drawer/dialog/popover/embed). ",detail:"FlowViewer",examples:["await ctx.viewer.drawer({ width: '56%', content: <div>Hello</div> });","await ctx.viewer.dialog({ content: <div>Confirm</div> });"],properties:{drawer:{description:"Open a drawer view. Parameters: (props: ViewProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.drawer({ width: '56%', content: <div /> })"}},dialog:{description:"Open a dialog/modal view. Parameters: (props: ViewProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.dialog({ content: <div /> })"}},popover:{description:"Open a popover view. Parameters: (props: PopoverProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.popover({ target: ctx.element?.__el, content: <div /> })",requires:["element"]}},embed:{description:"Open an embed view. Parameters: (props: ViewProps & TargetProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.embed({ target: ctx.element?.__el, content: <div /> })",requires:["element"]}}}},popup:{description:'Popup context when current view is opened as a popup/drawer. Recommended: `const popup = await ctx.getVar("ctx.popup")`.',detail:"Promise<PopupContext | undefined>",hidden:async e=>{try{let t=await (null==e?void 0:e.popup);return!(null==t?void 0:t.uid)}catch(e){return!1}},examples:['const popup = await ctx.getVar("ctx.popup");',"const id = popup?.record?.id;","const parentId = popup?.parent?.record?.id;"],properties:{uid:"Popup view uid (string).",record:"Current popup record (object).",sourceRecord:"Parent/source record inferred from sourceId/associationName (object).",resource:{description:"Data source info of the popup record.",detail:"PopupResourceInfo",properties:{dataSourceKey:'Data source key (e.g., "main").',collectionName:"Collection name.",associationName:"Association resource name (optional).",filterByTk:"Record primary key / filterByTk.",sourceId:"Source id (optional)."}},parent:"Parent popup info (object). You can access parent.parent... at runtime if available."}},i18n:{description:"An instance of i18next for managing internationalization.",detail:"i18next",properties:{language:"Current active language code."}},sql:{description:"SQL helper (FlowSQLRepository).",detail:"FlowSQLRepository",properties:{run:{type:"function",description:"Run ad-hoc SQL with optional bind/result options.",detail:"(sql: string, options?: SQLRunOptions) => Promise<any>",completion:{insertText:"await ctx.sql.run('SELECT 1', { type: 'selectRows' })"}},save:{type:"function",description:"Save a SQL template.",detail:"(data: { uid: string; sql: string; dataSourceKey?: string }) => Promise<void>",completion:{insertText:"await ctx.sql.save({ uid: 'sql-uid', sql: 'SELECT 1' })"}},runById:{type:"function",description:"Run a saved SQL template by uid.",detail:"(uid: string, options?: SQLRunOptions) => Promise<any>",completion:{insertText:"await ctx.sql.runById('sql-uid', { type: 'selectRows' })"}},destroy:{type:"function",description:"Delete a saved SQL template by uid.",detail:"(uid: string) => Promise<void>",completion:{insertText:"await ctx.sql.destroy('sql-uid')"}}}},libs:{properties:{React:{description:"React namespace (same as ctx.React).",properties:{createElement:{type:"function",description:"Create a React element.",detail:"React.createElement",completion:{insertText:"ctx.libs.React.createElement('div', null, 'Hello')"}},useState:{type:"function",description:"React state hook.",detail:"React.useState",completion:{insertText:"ctx.libs.React.useState(initialValue)"}},useEffect:{type:"function",description:"React effect hook.",detail:"React.useEffect",completion:{insertText:"ctx.libs.React.useEffect(() => {}, [])"}},useMemo:{type:"function",description:"React memo hook.",detail:"React.useMemo",completion:{insertText:"ctx.libs.React.useMemo(() => value, [])"}},useCallback:{type:"function",description:"React callback hook.",detail:"React.useCallback",completion:{insertText:"ctx.libs.React.useCallback(() => {}, [])"}}}},ReactDOM:{description:"ReactDOM client API (same as ctx.ReactDOM).",properties:{createRoot:{type:"function",description:"Create a React root.",detail:"ReactDOM.createRoot",completion:{insertText:"ctx.libs.ReactDOM.createRoot(ctx.element.__el)",requires:["element"]}}}},antd:{description:"Ant Design component library (same as ctx.antd).",properties:{Button:"Ant Design Button component.",Table:"Ant Design Table component.",Form:"Ant Design Form component.",Input:"Ant Design Input component.",Select:"Ant Design Select component.",Modal:"Ant Design Modal API/component."}},dayjs:{type:"function",description:"dayjs date-time utility library.",detail:"dayjs",completion:{insertText:"ctx.libs.dayjs()"}},antdIcons:"Ant Design icons library. Example: `ctx.libs.antdIcons.PlusOutlined`.",lodash:{description:'Lodash utility library. Example: `ctx.libs.lodash.get(obj, "a.b")`.',properties:{get:{type:"function",description:"Read a nested value by path.",detail:"lodash.get",completion:{insertText:"ctx.libs.lodash.get(obj, 'a.b')"}},set:{type:"function",description:"Set a nested value by path.",detail:"lodash.set",completion:{insertText:"ctx.libs.lodash.set(obj, 'a.b', value)"}},debounce:{type:"function",description:"Create a debounced function.",detail:"lodash.debounce",completion:{insertText:"ctx.libs.lodash.debounce(() => {}, 300)"}},cloneDeep:{type:"function",description:"Deep clone a value.",detail:"lodash.cloneDeep",completion:{insertText:"ctx.libs.lodash.cloneDeep(value)"}}}},formula:{description:"Formula.js library (spreadsheet-like functions). Example: `ctx.libs.formula.SUM(1, 2, 3)`.",properties:{SUM:{type:"function",description:"Sum values.",detail:"formula.SUM",completion:{insertText:"ctx.libs.formula.SUM(1, 2, 3)"}},AVERAGE:{type:"function",description:"Average values.",detail:"formula.AVERAGE",completion:{insertText:"ctx.libs.formula.AVERAGE(1, 2, 3)"}}}},math:{description:'mathjs library. Example: `ctx.libs.math.evaluate("2 + 3")`.',properties:{evaluate:{type:"function",description:"Evaluate a math expression.",detail:"math.evaluate",completion:{insertText:"ctx.libs.math.evaluate('2 + 3')"}},round:{type:"function",description:"Round a number.",detail:"math.round",completion:{insertText:"ctx.libs.math.round(value, 2)"}}}}}}},methods:{request:{description:"Make an HTTP request using the APIClient instance. Parameters: (options: RequestOptions) => Promise<any>.",detail:"(options: RequestOptions) => Promise<any>",completion:{insertText:"await ctx.request({ url: '', method: 'get', params: {} })"}},getModel:{description:"Get a model instance by uid. By default, it searches across the current view stack and returns the first matched model.",detail:"(uid: string, searchInPreviousEngines?: boolean) => FlowModel | undefined",completion:{insertText:"ctx.getModel('block-uid-xxx')"},params:[{name:"uid",type:"string",description:"Target model uid."},{name:"searchInPreviousEngines",type:"boolean",description:"Whether to search in parent engines (default: false)."}],returns:{type:"FlowModel | undefined"},examples:["const model = ctx.getModel('block-uid-xxx');"]},t:{description:"Internationalization function for translating text. Parameters: (key: string, variables?: object) => string.",detail:"(key: string, variables?: object) => string",completion:{insertText:"ctx.t('Hello')"},examples:['ctx.t("Hello {{name}}", { name: "World" })']},initResource:{description:'Initialize ctx.resource as a FlowResource instance by class name. Common values: "MultiRecordResource", "SingleRecordResource", "SQLResource".',detail:"(resourceType: ResourceType) => void",completion:{insertText:"ctx.initResource('MultiRecordResource')"},examples:["ctx.initResource('MultiRecordResource'); ctx.resource.setResourceName('users');"]},makeResource:{description:'Create a new resource instance without binding it to ctx.resource. Useful when you need multiple independent or temporary resources. Common values: "MultiRecordResource", "SingleRecordResource", "SQLResource".',detail:"(resourceType) => FlowResource",completion:{insertText:"const resource = ctx.makeResource('SingleRecordResource')"},examples:["const resource = ctx.makeResource('SingleRecordResource'); resource.setResourceName('users');"]},render:{description:'Render into container. Accepts ReactElement, DOM Node/Fragment, or HTML string. Parameters: (vnode: ReactElement | Node | DocumentFragment | string, container?: HTMLElement|ElementProxy) => Root|null. Example: `ctx.render(<div>Hello</div>)` or `ctx.render("<b>hi</b>")`',detail:"ReactDOM Root",completion:{insertText:"ctx.render(<div />)",requires:["element"]}},requireAsync:{description:'Load UMD/AMD/global scripts or CSS asynchronously from URL. Accepts shorthand like "echarts@5/dist/echarts.min.js" (resolved via ESM CDN with ?raw) or full URLs, and returns a Promise of the loaded library.',detail:"(url: string) => Promise<any>",completion:{insertText:"const lib = await ctx.requireAsync('https://cdn.example.com/lib.umd.js')"}},importAsync:{description:'Dynamically import ESM modules or CSS by URL. Accepts shorthand like "vue@3.4.0" or "dayjs@1/plugin/relativeTime.js" (resolved via configured ESM CDN) or full URLs, and returns a Promise of the module namespace.',detail:"(url: string) => Promise<any>",completion:{insertText:"const mod = await ctx.importAsync('lodash-es')"}},resolveJsonTemplate:{description:"Resolve a JSON template containing {{ }} variable expressions.",detail:"(template: any) => Promise<any>",params:[{name:"template",type:"any",description:"JSON-compatible value containing {{ ctx.* }} expressions."}],returns:{type:"Promise<any>"},completion:{insertText:"await ctx.resolveJsonTemplate({ value: '{{ctx.record.id}}' })"},examples:["const data = await ctx.resolveJsonTemplate({ id: '{{ctx.record.id}}' });"]},getVar:{description:'Resolve a ctx expression value by path string (expression starts with "ctx.").',detail:"(path: string) => Promise<any>",completion:{insertText:"await ctx.getVar('ctx.record.id')"},params:[{name:"path",type:"string",description:'Expression path starts with "ctx." (e.g. "ctx.record.id", "ctx.record.roles[0].id").'}],returns:{type:"Promise<any>"},examples:["const id = await ctx.getVar('ctx.record.id');"]},getApiInfos:{description:"All available APIs under context namespace",detail:"(options?: { version?: string }) => Promise<Record<string, any>>",completion:{insertText:"await ctx.getApiInfos()"},params:[{name:"options",type:"{ version?: string }",optional:!0,description:"Options (e.g. version)."}],returns:{type:"Promise<Record<string, any>>"},examples:["const apis = await ctx.getApiInfos();"]},getVarInfos:{description:"All available variables could be used to get deeper data.",detail:"(options?: { path?: string|string[]; maxDepth?: number }) => Promise<Record<string, any>>",completion:{insertText:"await ctx.getVarInfos({ path: 'record', maxDepth: 3 })"},params:[{name:"options",type:"{ path?: string|string[]; maxDepth?: number }",optional:!0,description:"Options for path trimming and maxDepth expansion."}],returns:{type:"Promise<Record<string, any>>"},examples:["const vars = await ctx.getVarInfos({ path: 'record', maxDepth: 3 });"]},getEnvInfos:{description:"current runtime environment",detail:"() => Promise<Record<string, any>>",completion:{insertText:"await ctx.getEnvInfos()"},returns:{type:"Promise<Record<string, any>>"},examples:["const envs = await ctx.getEnvInfos();"]},runAction:{description:'Execute a data action on the current resource. Parameters: (actionName: string, params: object) => Promise<any>. Example: `await ctx.runAction("create", { values: { name: "test" } })`',detail:"Promise<any>",completion:{insertText:"await ctx.runAction('create', { values: {} })"}},openView:{description:`Open a view component (page, modal, or drawer) by its unique identifier.
3685
3685
  Parameters: (viewId: string, options?: OpenViewOptions) => Promise<void>
3686
3686
  Options:
3687
3687
  - params: Record<string, any> - Parameters passed to the view component
@@ -3705,4 +3705,4 @@ ${i.join("\n")}`:""}function M(e,t){let l=Error(t);l.cause=e;try{let t="string"=
3705
3705
  await ctx.__ensureLibs(${JSON.stringify(t)});
3706
3706
  ${e}`:e}function ts(e,t,l){let n=e4(e,l);if(":"!==e[n])return!1;let o=e7(e,t-1),r=o>=0?e[o]:"";return"{"===r||","===r}function td(e,t,l,n){let o=Array.from(new Set(t));if(!o.length)return e;let r=e;for(let e of o){let t=l(e);r=`(${r}).split(${JSON.stringify(e)}).join(${n}(${t}, ${JSON.stringify(e)}))`}return r}function tu(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!eV.test(e))return e;let l=!1!==t.processBarePlaceholders,n=!1!==t.processStringLiterals;if(l&&n&&eH.test(e)||l&&!n&&eU.test(e)||!l&&n&&eW.test(e))return e;let o=new Map,r=[],i=!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})(eK),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),r.push(`const ${l} = await ctx.resolveJsonTemplate(${JSON.stringify(e)});`),l},p="",m=0,h=!1,f=0;for(;m<e.length;){let t=e[m],o=e[m+1];if("/"===t&&"/"===o){let t=e2(e,m);p+=e.slice(m,t),m=t;continue}if("/"===t&&"*"===o){let t=e8(e,m);p+=e.slice(m,t),m=t;continue}if("'"===t||'"'===t){let l=e6(e,m,t),o=e.slice(m,l);if(n&&0===f){let t=e5(o);if(t.length){i=!0;let n=td(o,t,c,s);p+=ts(e,m,l)?`[${n}]`:n}else p+=o}else p+=o;m=l;continue}if("`"===t){let t=e3(e,m),l=e.slice(m,t);if(n&&0===f){let n=e5(l);if(n.length){i=!0;let o=td(l,n,c,s);p+=ts(e,m,t)?`[${o}]`:o}else p+=l}else p+=l;m=t;continue}if(0===f&&!h&&e1(e,m)){p+=e_,m+=e_.length,h=!0;continue}if(h){if(/\s/.test(t)){p+=t,m+=1;continue}if("("===t){p+=t,m+=1,h=!1,f=1;continue}h=!1;continue}if(f>0){"("===t?f+=1:")"===t&&(f-=1),p+=t,m+=1;continue}if(l&&"{"===t&&"{"===o){let t=e.indexOf("}}",m+2);if(-1!==t){let l=e.slice(m,t+2);if(e0(l)){p+=c(l),m=t+2;continue}}}p+=t,m+=1}if(!r.length)return p;let g=[];return i&&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(...r),`${g.join("\n")}
3707
3707
  ${p}`}async function tc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l="string"==typeof e?e:String(e??""),n=!!t.preprocessTemplates,o=n?eJ.withTemplates:eJ.withoutTemplates,r=eX(o,l);if(r)return await r;let i=(async()=>{if(!n)return ta(await (0,eL.W)(l));let e=tu(l,{processStringLiterals:!1});return ta(tu(await (0,eL.W)(e),{processBarePlaceholders:!1}))})();eQ(o,l,i,eY);try{return await i}catch(e){throw o.delete(l),e}}var tp=l(62572);function tm(e){if(Array.isArray(e)){let t=e.map(e=>tm(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=tm(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 th=e=>"string"==typeof e.on?"beforeRender"===e.on:"object"==typeof e.on?"beforeRender"===e.on.eventName:!e.on&&!0!==e.manual;var tf=l(47684);let tg="0123456789abcdefghijklmnopqrstuvwxyz";function tv(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:11,l="";for(let e=0;e<t;e++)l+=tg[Math.random()*tg.length|0];return`${e}${l}`}},49773(e,t,l){"use strict";async function n(e){if(!/<[A-Za-z]|<\//.test(e))return e;try{var t;let n=await l.e("1339").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 r=o(e,{transforms:["jsx"],jsxPragma:"ctx.React.createElement",jsxFragmentPragma:"ctx.React.Fragment",disableESTransforms:!0,production:!0});return(r&&(r.code||(null==r?void 0:r.output)))??e}catch(t){return e}}l.d(t,{W:()=>n})},81982(e,t,l){"use strict";l.d(t,{M:()=>f,gG:()=>a,mv:()=>s,o4:()=>m,pk:()=>h}),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(45336),l(23446),l(5409),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(14324);var n=l(46629),o=l(87710),r=l(2543),i=l.n(r);async function a(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 s(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 d={queue:[],timer:null,inflightByRun:new Map},u=10;function c(e){if(Array.isArray(e))return e.map(c);if(i().isPlainObject(e)){let t=Object.entries(e).map(e=>{let[t,l]=e;return[t,c(l)]});return Object.fromEntries(i().sortBy(t,e=>{let[t]=e;return t}))}return e}function p(e){try{return JSON.stringify(c(e))}catch{try{return JSON.stringify(e)}catch{return String(e)}}}function m(e,t){let l,n,o=d,r=e.runId||"GLOBAL",i=p(t),a=o.inflightByRun.get(r);a||(a=new Map,o.inflightByRun.set(r,a));let s=a.get(i);if(s)return s;let c=new Promise((e,t)=>{l=e,n=t});a.set(i,c);let m={id:`${Date.now()}-${Math.random().toString(36).slice(2)}`,ctx:e,payload:t,resolve:l,reject:n,runId:r,dedupKey:i};o.queue.push(m);let h=async()=>{var t,l,n,r,i,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,contractRd:e.payload.contractRd,rd:e.payload.rd,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,r=l.data??l,i=null==r?void 0:r.results,a=Array.isArray(i)?i:Array.isArray(r)?r:[],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==(i=e.logger)||null==(r=i.warn)||r.call(i,{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(h,u)),c}function h(e,t){var l,n;return(0,o.generateFlowModelRdFromToken)(t,null==e||null==(n=e.api)||null==(l=n.auth)?void 0:l.token)}async function f(e,t){let l=async e=>{if("string"==typeof e&&/\{\{.*?\}\}/.test(e))return await y(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 g(e,t){let l=await v(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 v(e,t){let l,n=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*(?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g,o=[],r=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],i=t.substring(l.length);o.push({fullPath:e,firstKey:l,restPath:i}),r.add(l)}}if(0===o.length)return e;let i=new Map;for(let e of r)try{let l=await t[e],n=l&&!0===l.__isRecordProxy__;i.set(e,n)}catch(t){i.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=i.get(t)||!1;n=""===l?`await ctx.${t}`:o?`await (await ctx.${t})${l}`:`(await ctx.${t})${l}`;let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=RegExp(`\\b${r}\\b`,"g");a=a.replace(s,n)}return a}async function y(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 r=await t[o];return 0===l.length?r:(0,n.Dw)(r,l.join("."))},r=async e=>{let n=l(e);if(n){let l=await o(n);return void 0===l&&n.includes("-")?await g(e,t):l}return await g(e,t)},i=e.match(/^\s*\{\{\s*([^{}]+?)\s*\}\}\s*$/);if(i){let e=i[1];return await r(e)}let a=[...e.matchAll(/\{\{\s*(.+?)\s*\}\}/g)],s=e;for(let[e,t]of a){let l=await r(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){"use strict";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__||"",r=n.replace(/\/$/,""),i=l.replace(/^\//,"");if(null==t?void 0:t.raw){let e=i.includes("?")?"&":"?";return`${r}/${i}${e}raw`}return`${r}/${i}${o}`}function o(e){return!!e&&"string"==typeof e&&e.split("?")[0].split("#")[0].endsWith(".css")}l.d(t,{i:()=>n,y:()=>o}),l(89773),l(14324)},22928(e,t,l){"use strict";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,r,i,a;let s=null==(o=e.dataSourceManager)||null==(n=o.getDataSource)?void 0:n.call(o,t||"main"),d=null==s||null==(i=s.collectionManager)||null==(r=i.getCollection)?void 0:r.call(i,l);return(null==d||null==(a=d.getPrimaryKey)?void 0:a.call(d))||"id"}catch(e){return"id"}}function r(e,t){var l,r;if(!t)return;let i=t.dataSourceKey||"main",a=t.collection||(null==(l=t.record)?void 0:l.__collectionName);if(!a)return;let s=o(e,i,a)||"id",d=void 0!==t.filterByTk?t.filterByTk:void 0!==t.id?t.id:null==(r=t.record)?void 0:r[s];if(void 0!==d)return n({collection:a,filterByTk:d,dataSourceKey:i,associationName:t.associationName,sourceId:t.sourceId,fields:t.fields,appends:t.appends})}function i(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,i)=>{if(l(t)){let l=r(e,t);l&&(n[i.join(".")]=l);return}if(Array.isArray(t)){for(let e=0;e<t.length;e++)o(t[e],[...i,String(e)]);return}if(t&&"object"==typeof t){for(let[e,l]of Object.entries(t))o(l,[...i,e]);return}};return o(t,[]),Object.keys(n).length?n:void 0}l.d(t,{d:()=>i}),l(45336),l(69861)},88439(e,t,l){"use strict";function n(e,t,l,n){let o={},r={};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 i;let l=t;d[e]={type:l.type||"any",title:l.title||(null==(i=l["x-decorator-props"])?void 0:i.label)||e,interface:l["x-component"],uiSchema:l}}}let u=Object.keys(d).length>0;r[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})}l.d(t,{w:()=>n})},58619(e,t,l){"use strict";l.d(t,{$S:()=>h,Cg:()=>u,UX:()=>g,XU:()=>d,Xx:()=>p,ju:()=>x,nN:()=>y,pc:()=>f,vE:()=>c,vP:()=>v,xI:()=>m}),l(14324),l(45336),l(91625),l(34678);var n=l(46629),o=l(22928),r=l(35846),i=l(44476),a=l(2543),s=l.n(a);function d(e){var t,l,n,o;let r=e.resource,i=e.collection,a=e.record,s=(null==i?void 0:i.name)||(null==r||null==(t=r.getResourceName)?void 0:t.call(r)),d=(null==i?void 0:i.dataSourceKey)||(null==r||null==(l=r.getDataSourceKey)?void 0:l.call(r)),u=(null==r||null==(n=r.getFilterByTk)?void 0:n.call(r))??(null==i||null==(o=i.getFilterByTK)?void 0:o.call(i,a));if(!s||null==u)return;let c=String(s).split(".");return{collection:c[c.length-1],dataSourceKey:d,filterByTk:u}}function u(e){var t,l,n;let o=e.view;if(!o)return;let r=(null==o?void 0:o.inputArgs)||{},i=(null==r?void 0:r.collectionName)||(null==o||null==(t=o.record)?void 0:t.collection),a=(null==r?void 0:r.dataSourceKey)||(null==o||null==(l=o.record)?void 0:l.dataSourceKey)||"main",s=(null==r?void 0:r.filterByTk)||(null==o||null==(n=o.record)?void 0:n.filterByTk),d=null==r?void 0:r.associationName,u=null==r?void 0:r.sourceId;if(i&&null!=s)return{collection:i,dataSourceKey:a,filterByTk:s,sourceId:u,associationName:d}}function c(e,t){var l,n,o;let r=null==(l=e.inputArgs)?void 0:l.record,i=null==(n=e.collection)?void 0:n.filterTargetKey;if(!r||!i)return;let a=t.view,d=null==a||null==(o=a.inputArgs)?void 0:o.filterByTk,u=r[i];if(null!=d&&null!=u&&d===u)return s().cloneDeep(r)}function p(e,t){return l=>{var n,o,r,a;if(!("record"===l||l.startsWith("record.")))return!1;let s=t();if(!s)return!0;if("record"===l)return!1;let d=u(e),c=null==d?void 0:d.collection,p=(null==d?void 0:d.dataSourceKey)||"main";if(!c)return!0;let m=null==(o=e.dataSourceManager)||null==(n=o.getDataSource)?void 0:n.call(o,p),h=null==m||null==(a=m.collectionManager)||null==(r=a.getCollection)?void 0:r.call(a,c);if(!h)return!0;let f=(0,i.Hi)(()=>h,()=>s),g=l.startsWith("record.")?l.slice(7):"";return!!g&&f(g)}}function m(e,t){let l=(0,i.Hi)(e,()=>t());return n=>{let o=t();if(!o)return!0;if(!n)return!1;let r=e();if(!n.includes(".")){var i;let e,t=n;return r&&("function"==typeof r.getField&&(e=r.getField(t)),e||"function"!=typeof r.getFields||(e=(r.getFields()||[]).find(e=>(null==e?void 0:e.name)===t))),!!(null==e||null==(i=e.isAssociationField)?void 0:i.call(e))&&null==(null==o?void 0:o[t])}return l(n)}}async function h(e,t,l){let n=await (0,r.H)(e,t,!0)();return n?{...n,buildVariablesParams:e=>l?l(e):d(e)}:null}function f(e,t,l){let n=async()=>h(e,t,l);return n.title=t,n}function g(e,t,l){var n,o;return f(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=>d(e))}let v=n.vP,y=n.nN;async function x(e,t){let l=(0,n.nN)(t)||{},r=Object.keys(l);if(!r.length)return;let i={};for(let t of r){var a;let l,n=null==(a=e.getPropertyOptions)?void 0:a.call(e,t),o=null==n?void 0:n.meta;if(o){try{let t="function"==typeof o?await o():o,n=null==t?void 0:t.buildVariablesParams;"function"==typeof n&&(l=await n(e))}catch(e){continue}l&&(i[t]=l)}}let s=l.view||[];if(!i.view&&s.some(e=>"record"===e||e.startsWith("record.")||e.startsWith("record["))){let t=u(e);t&&(i.view={record:t})}return(0,o.d)(e,i)}},67778(e,t,l){"use strict";l.d(t,{sp:()=>j,bt:()=>E,U:()=>el,N5:()=>U,xB:()=>L,mW:()=>q,fP:()=>Y});var n=l(74848),o=l(96540),r=l(99418),i=l(11869),a=l(29007),s=l(52568);l(45336),l(23446),l(79936),l(72713),l(25779),l(69861),l(14324);var d=l(58619);function u(e){if((null==e?void 0:e.sourceId)==null||""===e.sourceId||"string"!=typeof e.associationName)return;let t=e.associationName.split(".")[0];if(t)return{collection:t,dataSourceKey:e.dataSourceKey||"main",filterByTk:e.sourceId}}function c(e){return null!=e}function p(e,t){if(e===t)return!0;if(!c(e)||!c(t))return!1;try{return JSON.stringify(e)===JSON.stringify(t)}catch(l){return String(e)===String(t)}}function m(e){var t;let l=null==e||null==(t=e.navigation)?void 0:t.viewStack;return Array.isArray(l)?l:[]}function h(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m(e);if(!l.length)return -1;let n=(null==e?void 0:e.inputArgs)||{},o=(null==e||null==(t=e.navigation)?void 0:t.viewParams)||{},r=n.viewUid??o.viewUid;if(!r)return l.length-1;let i=l.map((e,t)=>({item:e,index:t})).filter(e=>{let{item:t}=e;return(null==t?void 0:t.viewUid)===r});if(!i.length)return l.length-1;let a=["filterByTk","sourceId","tabUid"],s=i[i.length-1].index,d=-1;for(let{item:e,index:t}of i){let l=0,o=!0;for(let t of a)if(c(n[t])){if(!p(null==e?void 0:e[t],n[t])){o=!1;break}l+=1}o&&l>=d&&(s=t,d=l)}return s}function f(e,t){return t??e.view}function g(e){var t;if(!e)return!1;let l=m(e),n=null==e||null==(t=e.inputArgs)?void 0:t.openerUids,o=Array.isArray(n)&&n.length>0;return h(e,l)>=1||o}function v(e,t){let l=t=>e.t(t),n=function(){let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e;return g(f(l,t))},o=async e=>{let l=f(e,t);if(!l||!g(l))return;let n=await y(e,l),o=null==n?void 0:n.resource;return(null==o?void 0:o.collectionName)&&null!=o.filterByTk?{collection:o.collectionName,dataSourceKey:o.dataSourceKey||"main",filterByTk:o.filterByTk,associationName:o.associationName,sourceId:o.sourceId}:(0,d.Cg)(e)},r=async()=>{var t,l,n,r;let i=await o(e);if(!(null==i?void 0:i.collection))return null;let a=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,i.dataSourceKey||"main");return(null==a||null==(r=a.collectionManager)||null==(n=r.getCollection)?void 0:n.call(r,i.collection))||null},i=async(l,n)=>{var o,r,i,a,s,d;try{let s=n||e,d=f(s,t),u=m(d),c=h(d,u);if(c<1||l<1)return;let p=c-l;if(p<1)return;let g=u[p];if(!(null==g?void 0:g.viewUid))return;let v=null==(o=s.engine)?void 0:o.getModel(g.viewUid,!0);if(!v)try{v=await s.engine.loadModel({uid:g.viewUid})}catch(t){null==(a=s.logger||e.logger)||null==(i=a.warn)||i.call(a,{err:t},"[FlowEngine] popup.getParentRecordRef loadModel failed")}let y=(null==v||null==(r=v.getStepParams)?void 0:r.call(v,"popupSettings","openView"))||{},x=null==y?void 0:y.collectionName,b=(null==y?void 0:y.dataSourceKey)||"main",w=(null==g?void 0:g.filterByTk)??(null==g?void 0:g.sourceId);if(!x||null==w)return;return{collection:x,dataSourceKey:b,filterByTk:w,sourceId:null==g?void 0:g.sourceId,associationName:null==y?void 0:y.associationName}}catch(t){null==(d=(null==n?void 0:n.logger)||e.logger)||null==(s=d.warn)||s.call(d,{err:t},"[FlowEngine] popup.getParentRecordRef failed");return}},a=l=>{try{let n=f(e,t),o=m(n);return h(n,o)-l>=1}catch(e){return!1}},s=t=>{let n=()=>({type:"object",title:l("Parent popup"),disabled:()=>!a(t),disabledReason:()=>a(t)?void 0:l("No parent popup"),hidden:()=>!a(t),properties:async()=>{let n=await i(t),o={};if(o.uid={type:"string",title:l("Popup uid")},n){let t=(()=>{try{var t,l,o,r;let i=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,n.dataSourceKey||"main");return(null==i||null==(r=i.collectionManager)||null==(o=r.getCollection)?void 0:o.call(r,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},c=()=>({type:"object",title:l("Current popup"),disabled:()=>!n(),hidden:()=>!n(),buildVariablesParams:async e=>{var l,r,a,s;if(!n(e))return;let d=await o(e),c=f(e,t),p=null==c?void 0:c.inputArgs,g={};if(d){let e={...d};!e.associationName&&(null==p?void 0:p.associationName)&&(e.associationName=p.associationName),void 0===e.sourceId&&void 0!==(null==p?void 0:p.sourceId)&&(e.sourceId=null==p?void 0:p.sourceId),g.record=e}try{let t=m(c);if(h(c,t)>=2){let t=g,l=1,n=await i(l,e);for(;n;){let o={record:n},r=u(n);r&&(o.sourceRecord=r),t.parent=o,t=o,l+=1,n=await i(l,e)}}}catch(t){null==(r=e.logger)||null==(l=r.debug)||l.call(r,{err:t},"[FlowEngine] buildVariablesParams: build parent-chain failed")}try{let e=u({sourceId:null==p?void 0:p.sourceId,associationName:null==p?void 0:p.associationName,dataSourceKey:null==p?void 0:p.dataSourceKey});e&&(g.sourceRecord=e)}catch(t){null==(s=e.logger)||null==(a=s.debug)||a.call(s,{err:t},"[FlowEngine] buildVariablesParams: infer sourceRecord failed")}return g},properties:async()=>{var n,a,u,c;let p={};if(p.uid={type:"string",title:l("Popup uid")},await o(e)){let e=async()=>{let e=await r();return e?await (0,d.$S)(()=>e,l("Current popup record"),e=>o(e)):null};e.title=l("Current popup record"),e.hasChildren=!0,p.record=e}try{let o=f(e,t),r=null==o?void 0:o.inputArgs,i=null==r?void 0:r.sourceId,s=null==r?void 0:r.associationName,u=(null==r?void 0:r.dataSourceKey)||"main";if(!s||"string"!=typeof s||!s.includes(".")){let t=m(o),l=h(o,t),r=l>=0?null==t?void 0:t[l]:void 0;if(null==r?void 0:r.viewUid){let t=null==e||null==(n=e.engine)?void 0:n.getModel(r.viewUid,!0);t||(t=await e.engine.loadModel({uid:r.viewUid}));let l=(null==t||null==(a=t.getStepParams)?void 0:a.call(t,"popupSettings","openView"))||{};s=(null==l?void 0:l.associationName)||s,u=(null==l?void 0:l.dataSourceKey)||u}}if(null!=i&&""!==i&&s&&"string"==typeof s){let t=String(s).includes(".")?String(s).split(".")[0]:void 0;if(t){let n=()=>{try{var l,n,o,r;let i=null==(n=e.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u);return(null==i||null==(r=i.collectionManager)||null==(o=r.getCollection)?void 0:o.call(r,t))||null}catch(e){return null}},o=await (0,d.$S)(n,l("Current popup parent record"),()=>({collection:t,dataSourceKey:u,filterByTk:i}));o&&(p.sourceRecord=o)}}}catch(t){null==(c=e.logger)||null==(u=c.debug)||u.call(c,{err:t},"[FlowEngine] popup.properties: build sourceRecord failed")}return p.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 i(1)&&(p.parent=s(1)),p}});return c.title=l("Current popup"),c.sort=975,c}async function y(e,t){var l,n,o;let r=m(t),i=h(t,r),a=null==t||null==(n=t.inputArgs)||null==(l=n.parentItem)?void 0:l.value,s=null==t||null==(o=t.inputArgs)?void 0:o.openerUids,d=Array.isArray(s)&&s.length>0;if(!(i>=1||d))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},...void 0!==a?{sourceRecord:a}:{}}}let u=async t=>{var l,n,o,i,a,s;if(t<0||!(null==(l=r[t])?void 0:l.viewUid))return;let d=r[t].viewUid,c=null==(n=e.engine)?void 0:n.getModel(d,!0);c||(c=await (null==(s=e.engine)?void 0:s.loadModel({uid:d})));let p=(null==c||null==(o=c.getStepParams)?void 0:o.call(c,"popupSettings","openView"))||{},m=null==p?void 0:p.collectionName,h={uid:d,resource:{dataSourceKey:(null==p?void 0:p.dataSourceKey)||"main",collectionName:m,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 u(t-1);return f&&(h.parent=f),h},c=await u(i);return c&&void 0!==a&&(c.sourceRecord=a),c}function x(e,t){let l=/^(?:record|sourceRecord)(?:\.|$)|^parent(?:\.parent)*(?:\.(?:record|sourceRecord))(?:\.|$)/,n=e=>{var l,n;if("sourceRecord"!==e&&!e.startsWith("sourceRecord."))return!1;let o=null==t||null==(l=t.inputArgs)?void 0:l.parentItem;if(void 0===(null==o?void 0:o.value))return!0;let r="sourceRecord"===e?"":e.slice(13);if(!r)return!1;let i=null==t||null==(n=t.inputArgs)?void 0:n.parentItemResolver;if("function"==typeof i)return i(`value.${r}`);let a=r.split(".").filter(Boolean),s=o.value;for(let e of a){if(null===s||"object"!=typeof s||!(e in s))return!0;s=s[e]}return!1};e.defineProperty("popup",{get:async()=>y(e,t),meta:v(e,t),resolveOnServer:e=>{try{if("sourceRecord"===e||e.startsWith("sourceRecord."))return n(e);return!!e&&l.test(e)}catch(e){return!1}}})}var b=l(18182);let w=(0,o.forwardRef)((e,t)=>{let{afterClose:l,footer:r,header:i,hidden:a,...s}=e,[d,u]=(0,o.useState)(!0),[c,p]=(0,o.useState)(s),[m,h]=(0,o.useState)(()=>r),[f,g]=(0,o.useState)(i);(0,o.useImperativeHandle)(t,()=>({destroy:()=>{u(!1),null==l||l()},update:e=>p(t=>({...t,...e})),setFooter:e=>{h(e)},setHeader:e=>{0===Object.values(e||{}).length?g(null):g(e)}}));let v={...c,title:(null==f?void 0:f.title)||c.title,extra:null==f?void 0:f.extra,footer:void 0!==m?m:c.footer??null},y=o.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return(0,n.jsx)(b.A,{closable:!1,rootClassName:a?"nb-hidden":"",getContainer:y,...v,open:d,onCancel:c.onCancel,afterClose:()=>{null==l||l()},children:c.children})});function S(){let[e,t]=o.useState([]);return[e,o.useCallback(e=>(t(t=>[...t,e]),()=>{t(t=>t.filter(t=>t!==e))}),[])]}var C=l(16639),F=l(20616),k=l(47451);async function A(e,t){var l;return!!t.force||!1!==await (null==(l=e.beforeClose)?void 0:l.call(e,t))}function P(e,t){var l;let n=null==t?void 0:t.layoutContext,o=null==t||null==(l=t.engine)?void 0:l.context;n instanceof a.cB&&n!==t&&n!==o&&e.addDelegate(n)}let M=0;function j(){let e=o.useRef(null),t=(t,l)=>{var u,c,p;let m,h,f=null==l?void 0:l.engine;M+=1;let g=o.createRef(),v=new Promise(e=>{h=e}),y=null,b=null,S=e=>{let{children:t}=e;return o.useEffect(()=>{var e;return y=t,null==(e=g.current)||e.setFooter(t),()=>{var e;y=null,null==(e=g.current)||e.setFooter(null)}},[t]),null},j=e=>(o.useEffect(()=>{var t;return b=e,null==(t=g.current)||t.setHeader(e),()=>{var e;b=null,null==(e=g.current)||e.setHeader(null)}},[e]),null),I=new a.cB,T=(0,k._)(l.engine),R=(0,C.eX)(f,T);I.defineProperty("engine",{value:T}),I.addDelegate(T.context),!1!==t.inheritContext?I.addDelegate(l):(I.addDelegate(l.engine.context),P(I,l));let E=!1,N={type:"dialog",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,o,r;if(E)return;E=!0,null==(l=t.onClose)||l.call(t),null==(n=g.current)||n.destroy(),null==m||m(),null==h||h(e);let i=null==R?void 0:R.emitter;(0,C.Z8)(i),null==i||null==(r=i.emit)||r.call(i,C.B9,{type:"dialog",viewUid:null==N||null==(o=N.inputArgs)?void 0:o.viewUid}),T.unlinkFromStack()},update:e=>{var t;return null==(t=g.current)?void 0:t.update(e)},close:async(e,l)=>{var n,o;return(!t.preventClose||!!l)&&!!await A(N,{result:e,force:l})&&(t.triggerByRouter&&(null==(o=t.inputArgs)||null==(n=o.navigation)?void 0:n.back)?t.inputArgs.navigation.back():N.destroy(e),!0)},Footer:S,Header:j,setFooter:e=>{var t;y=e,null==(t=g.current)||t.setFooter(e)},setHeader:e=>{var t;b=e,null==(t=g.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,I)}};I.defineProperty("view",{get:()=>N,resolveOnServer:(0,d.Xx)(I,()=>(0,d.vE)(l,I))}),T.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),N.destroy()}),x(I,N);let D=(0,i.observer)(()=>{var e,l,i,a;let s=o.useRef(!1),d="function"==typeof t.content?t.content(N,I):t.content,u="string"==typeof d?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:r.A.sanitize(d)}}):d;return(o.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,N,I)},[]),(null==(l=t.inputArgs)||null==(e=l.hidden)?void 0:e.value)&&!s.current)?null:(s.current=!0,(0,n.jsx)(w,{className:"nb-dialog-overflow-hidden",ref:g,hidden:null==(a=t.inputArgs)||null==(i=a.hidden)?void 0:i.value,footer:y,header:b,...t,onCancel:()=>{N.close(t.result)},children:u}))},{displayName:"DialogWithContext"}),$=(null==t||null==(c=t.inputArgs)?void 0:c.viewUid)||`page-${M}`,B=(0,n.jsx)(F.I6,{engine:T,children:(0,n.jsx)(s.YQ,{context:I,children:(0,n.jsx)(D,{})})},$);return m=null==(p=e.current)?void 0:p.patchElement(B),Object.assign(v,N)},l=o.useMemo(()=>({open:t}),[]),u=o.memo(o.forwardRef((e,t)=>{let[l,r]=S();return o.useImperativeHandle(t,()=>({patchElement:r}),[r]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(u,{ref:e},"dialog-holder")]}var I=l(97134),T=l(61793);let R=o.forwardRef((e,t)=>{var l;let{children:r,footer:i,title:a,extra:s,hidden:d,isMobile:u,...c}=e,[p,m]=o.useState(!0),[h,f]=o.useState(()=>i),[g,v]=o.useState({title:a,extra:s,...c.header});o.useImperativeHandle(t,()=>({destroy:()=>{m(!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)(T.D,{className:d?"nb-hidden":"",visible:p,...c,footer:h,...g,onClose:c.onClose,children:r}):(0,n.jsx)(I.A,{rootClassName:d?"nb-hidden":"",closable:!1,getContainer:y,...c,open:p,footer:h,styles:{...c.styles,footer:{display:"flex",justifyContent:"flex-end",...null==(l=c.styles)?void 0:l.footer}},...g,onClose:c.onClose,children:r})});function E(){let e=o.useRef(null),t=o.useMemo(()=>i.observable.shallow({value:[]}),[]),l=o.memo(e=>{let{index:r}=e,[a,s]=o.useState(null);return(o.useEffect(()=>{(0,i.autorun)(()=>{let e=t.value;e[r]&&a!==e[r]&&s(e[r]),e[r]||s(null)})},[a,r]),a)?(0,n.jsx)(a,{children:(0,n.jsx)(l,{index:r+1})}):null});l.displayName="RenderNestedDrawer";let u=(t,l)=>{var u,c;let p,m,h=l.engine,f=o.createRef(),g=new Promise(e=>{m=e}),v=null,y=null,b=e=>{let{children:t}=e;return o.useEffect(()=>{var e;return v=t,null==(e=f.current)||e.setFooter(t),()=>{var e;v=null,null==(e=f.current)||e.setFooter(null)}},[t]),null},w=e=>(o.useEffect(()=>{var t;return y=e,null==(t=f.current)||t.setHeader(e),()=>{var e;y=null,null==(e=f.current)||e.setHeader(null)}},[e]),null),S=new a.cB,M=(0,k._)(l.engine),j=(0,C.eX)(h,M);S.defineProperty("engine",{value:M}),S.addDelegate(M.context),!1!==t.inheritContext?S.addDelegate(l):(S.addDelegate(l.engine.context),P(S,l));let I=!1,T={type:"drawer",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,o,r;if(I)return;I=!0,null==(l=t.onClose)||l.call(t),null==(n=f.current)||n.destroy(),null==p||p(),null==m||m(e);let i=null==j?void 0:j.emitter;(0,C.Z8)(i),null==i||null==(r=i.emit)||r.call(i,C.B9,{type:"drawer",viewUid:null==T||null==(o=T.inputArgs)?void 0:o.viewUid}),M.unlinkFromStack()},update:e=>{var t;return null==(t=f.current)?void 0:t.update(e)},close:async(e,l)=>{var n,o;return(!t.preventClose||!!l)&&!!await A(T,{result:e,force:l})&&(t.triggerByRouter&&(null==(o=t.inputArgs)||null==(n=o.navigation)?void 0:n.back)?t.inputArgs.navigation.back():T.destroy(e),!0)},Footer:b,Header:w,setFooter:e=>{var t;v=e,null==(t=f.current)||t.setFooter(e)},setHeader:e=>{var t;y=e,null==(t=f.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,S)}};S.defineProperty("view",{get:()=>T,resolveOnServer:(0,d.Xx)(S,()=>(0,d.vE)(l,S))}),M.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),T.destroy()}),x(S,T);let E=o.memo((0,i.observer)(e=>{var l,i,a,s;let d=o.useRef(!1),u="function"==typeof t.content?t.content(T,S):t.content,c="string"==typeof u?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:r.A.sanitize(u)}}):u;return(o.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,T,S)},[]),(null==(i=t.inputArgs)||null==(l=i.hidden)?void 0:l.value)&&!d.current)?(0,n.jsx)(n.Fragment,{children:e.children}):(d.current=!0,(0,n.jsxs)(R,{ref:f,...t,footer:v,header:t.header||y,hidden:null==(s=t.inputArgs)||null==(a=s.hidden)?void 0:a.value,onClose:()=>{T.close(t.result)},isMobile:S.isMobileLayout,children:[c,e.children]}))}));E.displayName="DrawerWithContext";let N=o.memo(e=>{let{children:t}=e;return(0,n.jsx)(F.I6,{engine:M,children:(0,n.jsx)(s.YQ,{context:S,children:(0,n.jsx)(E,{children:t})})})});return N.displayName="RenderDrawer",p=null==(c=e.current)?void 0:c.patchElement(N),Object.assign(g,T)},c=o.useMemo(()=>({open:u}),[]),p=o.memo(o.forwardRef((e,r)=>{let[i,a]=S();return o.useImperativeHandle(r,()=>({patchElement:a}),[a]),o.useEffect(()=>{t.value=i},[i]),(0,n.jsx)(l,{index:0})}));return[c,(0,n.jsx)(p,{ref:e},"drawer-holder")]}var N=l(40961),D=l(31333),$=l(71021);let B=(0,o.forwardRef)((e,t)=>{let[l,r]=o.useState({}),{visible:i=!0,footer:a=null,header:s=null,children:d,hidden:u,title:c,styles:p={},zIndex:m=4,onClose:h}={...e,...l},f=(0,o.useRef)(!1),g=(0,F.uf)(),[v,y]=(0,o.useState)(()=>a),[x,b]=(0,o.useState)(s);(0,o.useImperativeHandle)(t,()=>({destroy:()=>{f.current||(f.current=!0)},update:e=>{r(e)},setFooter:e=>{y(e)},setHeader:e=>{0===Object.values(e||{}).length?b(null):b(e)}}));let w=(0,o.useMemo)(()=>({display:u?"none":"flex",flexDirection:"column",height:"100%",zIndex:m}),[u,m]),S=(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)($.Ay,{type:"text",size:"small",icon:(0,n.jsx)(D.A,{}),onClick:async()=>{f.current||!1!==await (null==h?void 0:h())&&(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,h]),C=(0,o.useMemo)(()=>{if(!v)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:v})},[v,g.context.themeToken,p.footer]);return i?(0,n.jsxs)("div",{style:{...w,...p.content},children:[S,(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",...p.body},children:d}),C]}):null}),O=0,q="nocobase-embed-container",L="nocobaseEmbedReplacing";function _(e){return!!e&&"function"==typeof e.then}function V(e,t){e.dataset[L]="1";try{let l=t.close();if(_(l))return Promise.resolve(l).finally(()=>{delete e.dataset[L]});return delete e.dataset[L],l}catch(t){throw delete e.dataset[L],t}}function z(e,t,l){let n,o={},r=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(r.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)=>r.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 K=o.memo(o.forwardRef((e,t)=>{let[l,r]=S();return o.useImperativeHandle(t,()=>({patchElement:r}),[r]),(0,n.jsx)(n.Fragment,{children:l})}));function U(){let e=o.useRef(null),t=o.useRef(null),l=o.useRef(0),r=(r,u)=>{let{target:c,content:p,preventClose:m,inheritContext:h=!0,inputArgs:f={},onOpenCancelled:g,...v}=r,y=c instanceof HTMLElement&&c.id===q,b=()=>{var l,g,b;let w,S,M,j=null==u?void 0:u.engine;O+=1;let I=o.createRef(),T=new Promise(e=>{S=e}),R=e=>{let{children:t}=e;return o.useEffect(()=>{var e;return null==(e=I.current)||e.setFooter(t),()=>{var e;null==(e=I.current)||e.setFooter(null)}},[t]),null},E=e=>(o.useEffect(()=>{var t;return null==(t=I.current)||t.setHeader(e),()=>{var e;null==(e=I.current)||e.setHeader(null)}},[e]),null),D=new a.cB,$=(0,k._)(u.engine),q=(0,C.eX)(j,$);D.defineProperty("engine",{value:$}),D.addDelegate($.context),h?D.addDelegate(u):(D.addDelegate(u.engine.context),P(D,u));let _=!1,V={type:"embed",inputArgs:f,preventClose:!!r.preventClose,beforeClose:void 0,destroy:e=>{var l,n,o,i,a;if(!_){if(_=!0,null==(l=r.onClose)||l.call(r),null==S||S(e),null==(n=I.current)||n.destroy(),null==w||w(),y&&t.current===V&&(t.current=null),!(y&&c instanceof HTMLElement&&(null==(o=c.dataset)?void 0:o[L])==="1")){let e=null==q?void 0:q.emitter;(0,C.Z8)(e),null==e||null==(a=e.emit)||a.call(e,C.B9,{type:"embed",viewUid:null==V||null==(i=V.inputArgs)?void 0:i.viewUid})}$.unlinkFromStack()}},update:e=>{var t;return null==(t=I.current)?void 0:t.update(e)},close:(e,t)=>_?Promise.resolve(!0):M||(M=(async()=>{try{var l,n;if(m&&!t)return M=void 0,!1;let o=await A(V,{result:e,force:t});if(_)return!0;if(!o)return M=void 0,!1;if(r.triggerByRouter&&(null==(n=r.inputArgs)||null==(l=n.navigation)?void 0:l.back))return r.inputArgs.navigation.back(),!0;return V.destroy(e),!0}catch(e){throw _||(M=void 0),e}})()),Header:E,Footer:R,setFooter:e=>{var t;null==(t=I.current)||t.setFooter(e)},setHeader:e=>{var t;null==(t=I.current)||t.setHeader(e)},navigation:null==(l=r.inputArgs)?void 0:l.navigation,get record(){return(0,d.vE)(u,D)}};D.defineProperty("view",{get:()=>V,resolveOnServer:(0,d.Xx)(D,()=>(0,d.vE)(u,D))}),x(D,V);let z=(0,i.observer)(()=>{var e,t,l,i;let a=o.useRef(!1),s=o.useMemo(()=>"function"==typeof p?p(V,D):p,[]);return(D.themeToken,o.useEffect(()=>{var e;null==(e=r.onOpen)||e.call(r,V,D)},[]),(null==(t=r.inputArgs)||null==(e=t.hidden)?void 0:e.value)&&!a.current)?null:(a.current=!0,(0,n.jsx)(B,{ref:I,hidden:null==(i=r.inputArgs)||null==(l=i.hidden)?void 0:l.value,...v,onClose:()=>V.close(r.result),children:s}))},{displayName:"PageWithContext"}),K=(null==f?void 0:f.viewUid)||`page-${O}`,U=(0,n.jsx)(F.I6,{engine:$,children:(0,n.jsx)(s.YQ,{context:D,children:(0,n.jsx)(z,{})})},K);return w=c&&c instanceof HTMLElement?null==(g=e.current)?void 0:g.patchElement(N.createPortal(U,c,K)):null==(b=e.current)?void 0:b.patchElement(U),y&&(t.current=V),Object.assign(T,V)};if(y&&t.current){let e,n=l.current+=1,o=()=>null==g?void 0:g();try{e=V(c,t.current)}catch(e){throw o(),e}if(_(e))return z(Promise.resolve(e).then(e=>!1===e||n!==l.current?(o(),{page:null}):{page:b()},e=>{throw o(),e}),f,!!r.preventClose);if(!1===e)return o(),z(Promise.resolve({page:null}),f,!!r.preventClose)}return b()};return[o.useMemo(()=>({open:r}),[]),(0,n.jsx)(K,{ref:e},"page-holder")]}var W=l(28073);let H=0,G=o.forwardRef((e,t)=>{var l,r;let{afterClose:i,content:a,placement:s,rect:d,...u}=e,[c,p]=o.useState(!0),[m,h]=o.useState({content:a,placement:s,rect:d,...u});return o.useImperativeHandle(t,()=>({destroy:()=>p(!1),update:e=>h(t=>({...t,...e})),close:(e,t)=>p(!1)})),o.useEffect(()=>{c||null==i||i()},[c,i]),(0,n.jsx)(W.A,{arrow:!1,open:c,trigger:["click"],destroyTooltipOnHide:!0,content:m.content,placement:m.placement,getPopupContainer:()=>document.querySelector("#nocobase-app-container")||document.body,onOpenChange:e=>{(e||!m.preventClose)&&(p(e),e||null==i||i())},...m,children:(0,n.jsx)("span",{style:{position:"absolute",top:((null==(l=m.rect)?void 0:l.top)??0)+window.scrollY,left:((null==(r=m.rect)?void 0:r.left)??0)+window.scrollX,width:0,height:0}})})});function Y(){let e=o.useRef(null),t=t=>{var l,i;let a,s;H+=1;let{target:d,placement:u="rightTop",content:c,...p}=t,m=o.createRef(),h=(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=m.current)?void 0:e.destroy()},update:e=>{var t;return null==(t=m.current)?void 0:t.update(e)},close:e=>{var t;null==s||s(e),null==(t=m.current)||t.close(e)}},v="function"==typeof c?c(g):c,y="string"==typeof v?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:r.A.sanitize(v)}}):v,x=(0,n.jsx)(G,{ref:m,content:y,placement:u,rect:h,afterClose:()=>{var e;null==a||a(),null==(e=t.onClose)||e.call(t),null==s||s(t.result)},...p},`popover-${H}`);return a=null==(i=e.current)?void 0:i.patchElement(x),Object.assign(f,g)},l=o.useMemo(()=>({open:t}),[]),i=o.memo(o.forwardRef((e,t)=>{let[l,r]=S();return o.useImperativeHandle(t,()=>({patchElement:r}),[]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(i,{ref:e},"popover-holder")]}l(5409);var J=l(52847),X=l(60182);function Q(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 Z(e){return null!=e&&""!==String(e)}function ee(e){let t=e||"/admin";return`/${t.replace(/^\/+/,"").replace(/\/+$/,"")}`}function et(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=ee(t.basePath||t.prefix);if(!e||0===e.length)return l;let n=l.replace(/^\/+/,"").split("/").filter(Boolean);return e.forEach((e,t)=>{t>0&&n.push("view"),n.push(e.viewUid);let l=(0,X.Gu)(e.viewUid,e.openViewRouteState);if(l&&n.push("opts",l),e.tabUid&&n.push("tab",e.tabUid),null!=e.filterByTk){let t=Q(e.filterByTk);t&&n.push("filterbytk",t)}Z(e.sourceId)&&n.push("sourceid",String(e.sourceId))}),"/"+n.join("/")}class el{setViewStack(e){this.viewStack=Object.freeze([...e]),this.viewParams=this.viewStack[this.viewStack.length-1]||{}}changeTo(e){let t=et(this.viewStack.map((t,l)=>l===this.viewStack.length-1?{...t,...e}:{...t}),{basePath:this.getLayoutBasePath()});this.ctx.router.navigate(t,{replace:!0})}navigateTo(e,t){let l=et([...this.viewStack,e],{basePath:this.getLayoutBasePath()});this.ctx.router.navigate(l,t)}back(){let e=et(this.viewStack.slice(0,-1),{basePath:this.getLayoutBasePath()});this.ctx.router.navigate(e,{replace:!0})}getLayoutBasePath(){var e,t;let l=null==(e=this.ctx.layout)?void 0:e.routePath;return this.basePath||(null==(t=this.ctx.layoutRoute)?void 0:t.basePathname)||((null==l?void 0:l.startsWith("/"))?l:"/admin")}constructor(e,t,l={}){this.setViewStack(t),this.ctx=e,this.basePath=l.basePath||l.layoutBasePath,(0,J.E8)(this,{viewParams:J.sH})}}},16639(e,t,l){"use strict";l.d(t,{B9:()=>o,FH:()=>s,HK:()=>r,Z8:()=>d,cj:()=>a,eX:()=>p,i6:()=>i,tb:()=>n}),l(58149);let n=Symbol.for("__NOCOBASE_VIEW_ACTIVATED_VERSION__"),o="view:activated",r="dataSource:dirty",i="__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,i)===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}},12039(e,t,l){"use strict";l.r(t),l.d(t,{BaseStorage:()=>m,setRoleCookie:()=>a,getAuthCookieValue:()=>s,LocalStorage:()=>f,MemoryStorage:()=>h,SessionStorage:()=>g,APIClient:()=>v,Auth:()=>p,getSubAppName:()=>y,hasHeaderValue:()=>u}),l(14324),l(45336),l(79936);var n=l(88909),o=l(55373),r=l.n(o);l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(61874),l(1633),l(9700),l(23446),l(91625);var i=l(87710);function a(e,t){var l,n;if("u"<typeof document)return;let o=(0,i.getAuthCookieName)("role",e),r=t?"":"; Max-Age=0",a=t?encodeURIComponent(t):"",s=(null==(l=globalThis.location)?void 0:l.protocol)==="https:"?"; Secure":"",d=(null==(n=window.__nocobase_public_path__)?void 0:n.replace(/\/+$/g,""))||"/";document.cookie=`${o}=${a}; Path=${d||"/"}; SameSite=Lax${s}${r}`}function s(e,t){var l;if("u"<typeof document)return;let n=`${(0,i.getAuthCookieName)(e,t)}=`;return null==(l=document.cookie.split(";").map(e=>e.trim()).find(e=>e.startsWith(n)))?void 0:l.slice(n.length)}let d=(e,t)=>{if(!e)return;let l="function"==typeof e.toJSON?e.toJSON():e,n=Object.keys(l||{}).find(e=>e.toLowerCase()===t.toLowerCase());return n?l[n]:void 0},u=(e,t)=>{let l=d(e,t);return null!=l&&""!==l},c=new Set(["get","head","options"]);class p{get storagePrefix(){return this.api.storagePrefix}getCookieAppName(){var e;return"function"!=typeof this.api.options&&(null==(e=this.api.options)?void 0:e.appName)||this.api.appName||"main"}get locale(){return this.getLocale()}set locale(e){this.setLocale(e)}get role(){return this.getRole()}set role(e){this.setRole(e)}get token(){return this.getToken()}set token(e){this.setToken(e)}get authenticator(){return this.getAuthenticator()}set authenticator(e){this.setAuthenticator(e)}getOption(e){return this.api.storage.getItem(e)}setOption(e,t){return this.options[e]=t,this.api.storage.setItem(e,t||"")}getLocale(){return this.getOption("locale")}setLocale(e){this.setOption("locale",e)}getRole(){return this.getOption("role")}setRole(e){this.setOption("role",e),a(this.getCookieAppName(),e)}getToken(){return this.getOption("token")}setToken(e){this.setOption("token",e),this.api.app&&this.api.app.eventBus.dispatchEvent(new CustomEvent("auth:tokenChanged",{detail:{token:e,authenticator:this.authenticator}}))}getAuthenticator(){return this.getOption("auth")}setAuthenticator(e){this.setOption("auth",e)}middleware(e){this.locale&&e.headers&&(e.headers["X-Locale"]=this.locale),this.role&&e.headers&&(e.headers["X-Role"]=this.role),this.authenticator&&!u(e.headers,"X-Authenticator")&&e.headers&&(e.headers["X-Authenticator"]=this.authenticator),this.token&&!u(e.headers,"Authorization")&&e.headers&&(e.headers.Authorization=`Bearer ${this.token}`);let t=(e.method||"get").toLowerCase(),l=s("csrfToken",this.getCookieAppName());return!c.has(t)&&l&&!u(e.headers,"X-CSRF-Token")&&e.headers&&(e.headers["X-CSRF-Token"]=l),e}async signIn(e,t){var l;let n=await this.api.request({method:"post",url:"auth:signIn",data:e,headers:{"X-Authenticator":t}}),o=null==n||null==(l=n.data)?void 0:l.data;return this.setAuthenticator(t),this.setToken(null==o?void 0:o.token),n}async signUp(e,t){return await this.api.request({method:"post",url:"auth:signUp",data:e,headers:{"X-Authenticator":t}})}async syncCookies(){if(this.token)return await this.api.request({method:"post",url:"auth:syncCookies",skipNotify:!0})}async signOut(){let e=await this.api.request({method:"post",url:"auth:signOut"});return this.setToken(null),this.setRole(null),this.setAuthenticator(null),e}async lostPassword(e){let t=Object.fromEntries(new URLSearchParams(window.location.search).entries());return await this.api.request({method:"post",url:"auth:lostPassword",data:{...e,baseURL:window.location.href.split("/forgot-password")[0]},headers:{"X-Authenticator":t.name}})}async resetPassword(e){return await this.api.request({method:"post",url:"auth:resetPassword",data:e})}async checkResetToken(e){return await this.api.request({method:"post",url:"auth:checkResetToken",data:e})}constructor(e){this.options={locale:null,role:null,authenticator:null,token:null},this.api=e,this.api.axios.interceptors.request.use(this.middleware.bind(this))}}l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);class m{toUpperCase(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";for(var t=arguments.length,l=Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];return e.toUpperCase()+l.map(e=>e.toUpperCase()).join("_")}}class h extends m{clear(){this.items.clear()}getItem(e){return this.items.get(e)}setItem(e,t){return this.items.set(e,t)}removeItem(e){return this.items.delete(e)}constructor(...e){super(...e),this.items=new Map}}class f extends m{clear(){return this.items.clear()}getItem(e){return this.shareToken&&"token"===e&&this.baseStoragePrefix?this.items.getItem(this.toUpperCase(this.baseStoragePrefix,e)):this.items.getItem(this.toUpperCase(this.storagePrefix,e))}setItem(e,t){return this.shareToken&&"token"===e&&this.baseStoragePrefix?this.items.setItem(this.toUpperCase(this.baseStoragePrefix,e),t):this.items.setItem(this.toUpperCase(this.storagePrefix,e),t)}removeItem(e){return this.shareToken&&"token"===e&&this.baseStoragePrefix?this.items.removeItem(this.toUpperCase(this.baseStoragePrefix,e)):this.items.removeItem(this.toUpperCase(this.storagePrefix,e))}constructor(e,t="",l=!1){super(),this.storagePrefix=e,this.baseStoragePrefix=t,this.shareToken=l,this.items=window.localStorage}}class g extends f{constructor(e,t="",l=!1){super(e,t,l),this.storagePrefix=e,this.baseStoragePrefix=t,this.shareToken=l,this.items=window.sessionStorage}}class v{toErrMessages(e){var t,l,n,o,r,i,a,s,d,u,c;if("u">typeof document&&"string"==typeof(null==e||null==(t=e.response)?void 0:t.data)){let t=document.createElement("div");t.innerHTML=null==e||null==(d=e.response)?void 0:d.data;let l=t.textContent||t.innerText;return l.includes("Error occurred while trying")||l.includes("502 Bad Gateway")?[{code:"APP_WARNING",message:l="The application may be starting up. Please try again later."}]:[{message:l}]}return(null==e||null==(n=e.response)||null==(l=n.data)?void 0:l.error)?[null==e||null==(c=e.response)||null==(u=c.data)?void 0:u.error]:(null==e||null==(r=e.response)||null==(o=r.data)?void 0:o.errors)||(null==e||null==(a=e.response)||null==(i=a.data)?void 0:i.messages)||(null==e||null==(s=e.response)?void 0:s.error)||[{message:e.message||"Server error"}]}getHeaders(){let e={};return this.auth.locale&&(e["X-Locale"]=this.auth.locale),this.auth.role&&(e["X-Role"]=this.auth.role),this.auth.authenticator&&(e["X-Authenticator"]=this.auth.authenticator),this.auth.token&&(e.Authorization=`Bearer ${this.auth.token}`),e}createStorage(e){return"localStorage"===e&&"u">typeof localStorage?new f(this.storagePrefix,this.baseStoragePrefix,this.shareToken):"sessionStorage"===e&&"u">typeof sessionStorage?new g(this.storagePrefix,this.baseStoragePrefix,this.shareToken):new h}initStorage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"localStorage";if(e){this.storage=new e(this);return}this.storage=this.createStorage(t)}interceptors(){this.axios.interceptors.request.use(e=>(e.paramsSerializer=e=>r().stringify(e,{strictNullHandling:!0,arrayFormat:"brackets"}),e))}request(e){let{resource:t,resourceOf:l,action:n,params:o,headers:r}=e;return t?this.resource(t,l,r)[n](o):this.axios.request(e)}resource(e,t,l,n){return new Proxy({},{get:(o,r)=>{if(n)return;let i=e.split(".").join(`/${encodeURIComponent(t)||"_"}/`),a={url:i+=`:${r.toString()}`};return["get","list"].includes(r)?a.method="get":a.method="post",async(e,t)=>{let{values:n,filter:o,...r}=e||{};return a.params=r,o&&("string"==typeof o?a.params.filter=o:(o["*"]&&delete o["*"],a.params.filter=JSON.stringify(o))),"get"!==a.method&&(a.data=n||{}),await this.request({...a,...t,headers:l})}}})}constructor(e){if(this.storagePrefix="NOCOBASE_",this.baseStoragePrefix="NOCOBASE_",this.shareToken=!1,this.options=e,"function"==typeof e)this.axios=e;else{const{appName:t,authClass:l,storageType:o,storageClass:r,storagePrefix:i="NOCOBASE_",shareToken:a=!1,...s}=e||{};this.appName=t,this.shareToken=a,this.baseStoragePrefix=i,this.storagePrefix=t?`${i}${t.toUpperCase()}_`:i,this.axios=n.A.create(s),this.initStorage(r,o),l&&(this.auth=new l(this))}this.storage||this.initStorage(),this.auth||(this.auth=new p(this)),this.interceptors()}}let y=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";if("u"<typeof window||!window.location.pathname)return;let t=`${e}apps/`;if(window.location.pathname.startsWith(t))return window.location.pathname.substring(t.length).split("/",1)[0]||""}},46629(e,t,l){"use strict";l.d(t,{Wq:()=>p,vP:()=>R,Dw:()=>n,zK:()=>c,nN:()=>E,w_:()=>d,CL:()=>o,gA:()=>u}),l(5409),l(45336),l(79936);let n=(e,t,l)=>{if(!e)return l;let o=t.split("."),r=[],i=e,a=!1;for(let e=0;e<o.length;e++){let t=o[e];if(Array.isArray(i)){for(let t of(a=!0,i)){let i=n(t,o.slice(e).join("."),l);r=r.concat(i)}break}if((null==i?void 0:i[t])===void 0)break;i=i[t],e===o.length-1&&r.push(i)}return 0===(r=r.filter(e=>void 0!==e)).length?l:a?r.filter(e=>null!==e):r[0]};l(89773),l(42196),l(61874),l(1633),l(9700);let o="_operation_",r=1,i=8192;function a(e){if(!e||"object"!=typeof e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function s(e){return!!a(e)&&e.v===r&&"string"==typeof e.operationId&&!!e.operationId&&(void 0===e.params||a(e.params))}function d(e,t){if(!s(e))throw TypeError("Invalid UI operation.");let l=t.encode(JSON.stringify(e));if(l.length>i)throw RangeError(`UI operation exceeds the ${i}-byte encoded length limit.`);return l}function u(e,t){if(!(e.length>i))try{let l=t.decode(e);if(void 0===l)return;let n=JSON.parse(l);return s(n)?n:void 0}catch{return}}function c(e,t){try{let l=new URLSearchParams(e).getAll(o);if(1!==l.length)return;return u(l[0],t)}catch{return}}function p(e){let t=new URLSearchParams(e);t.delete(o);let l=t.toString();return l?`?${l}`:""}function m(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function h(e){return!!e&&/[a-zA-Z_$]/.test(e)}function f(e){return!!e&&/[a-zA-Z0-9_$]/.test(e)}function g(e,t){let l=t;for(;/\s/.test(e[l]||"");)l+=1;return l}function v(e,t){let l=g(e,t);for(;"!"===e[l];)l=g(e,l+1);return l}function y(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]||"");)l-=1;return l}function x(e,t){let l=y(e,t-1);if("("!==e[l])return!1;let n=y(e,l-1);if(n<0)return!0;let o=e[n];return!f(o)&&")"!==o&&"]"!==o}function b(e,t){let l=g(e,t);if(")"!==e[l])return!1;let n=g(e,l+1);return"."===e[n]||"["===e[n]||e.startsWith("?.",n)}function w(e,t){if(!h(e[t]))return null;let l=t+1;for(;f(e[l]);)l+=1;return{value:e.slice(t,l),next:l}}function S(e,t){let l=e.slice(t).match(/^\d+/);return l?{value:l[0],next:t+l[0].length}:null}function C(e,t){let l=e[t];if('"'!==l&&"'"!==l)return null;let n=t+1,o="";for(;n<e.length;){let t=e[n];if("\\"===t){o+=e.slice(n,n+2),n+=2;continue}if(t===l)return{value:o,next:n+1};o+=t,n+=1}return null}function F(e,t){let l=g(e,t+1),n=C(e,l);if(n)return(l=g(e,n.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"property",next:l+1,value:n.value};let o=S(e,l);return o?(l=g(e,o.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"index",next:l+1,value:o.value}:{dynamic:!0}}function k(e,t,l){if("property"===t)return void e.push(l);if(e.length){e[e.length-1]=`${e[e.length-1]}[${l}]`;return}e.push(`[${l}]`)}function A(e,t){let l=v(e,t);if("["===e[l])return F(e,l);if(e.startsWith("?.",l)){let t=g(e,l+2);if("["===e[t])return F(e,t);let n=w(e,t)||S(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}if("."===e[l]){let t=g(e,l+1),n=w(e,t)||S(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}return null}function P(e){let t=e.trim(),l="(?:[a-zA-Z_$][a-zA-Z0-9_$-]*|\\d+)",n=t.match(RegExp(`^ctx\\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\\.(${l}(?:\\.${l})*))?$`));return n?{methodCall:!1,path:n[2]||void 0,unsupportedDynamicPath:!1,varName:n[1]}:null}function M(e,t){if("ctx"!==e.slice(t,t+3)||f(e[t-1])||f(e[t+3]))return null;if(x(e,t))return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};let l=A(e,t+3);if(!l)return null;if(l.dynamic)return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};if("property"!==l.kind)return null;let n=[],o=l.next,r=!1,i=!1;for(;o<e.length;){let t=v(e,o);if(("("===e[t]||e.startsWith("?.(",t))&&!n.length){r=!0,o=t;break}let l=A(e,o);if(!l){o=t,("["===e[t]||"."===e[t]||e.startsWith("?.",t))&&(i=!0);break}if(l.dynamic){i=!0,o=t;break}k(n,l.kind,l.value),o=l.next}let a=n.join(".");return{next:Math.max(o,l.next),reference:{methodCall:r,path:a||void 0,unsupportedDynamicPath:i||b(e,o),varName:l.value}}}function j(e){let t=P(e);if(t)return[t];let l=[];for(let t=0;t<e.length;t+=1){if("ctx"!==e.slice(t,t+3))continue;let n=M(e,t);n&&(l.push(n.reference),t=Math.max(t,n.next-1))}return l}function I(e,t,l,n){e[t]=e[t]||[],l?e[t].push(l):n&&!e[t].includes("")&&e[t].push("")}function T(e){let t={},l=!1,n=e=>{for(let n of j(e)){if(n.unsupportedDynamicPath){l=!0;continue}n.varName&&I(t,n.varName,n.path,n.methodCall)}},o=e=>{if("string"==typeof e){let t,l=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(t=l.exec(e));)n(t[1]);return}Array.isArray(e)?e.forEach(o):m(e)&&Object.values(e).forEach(o)};return o(e),{unsupportedDynamicPath:l,usage:t}}function R(e){return new Set(Object.keys(T(e).usage))}function E(e){return T(e).usage}l(14324),l(69861),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182)},87710(e,t,l){"use strict";l.r(t),l.d(t,{getDayRange:()=>tf,isEmptyFilter:()=>ed,sleep:()=>es,getDateVars:()=>tb,sanitizeRichTextHtml:()=>t_,str2moment:()=>ey,sortTree:()=>ea,unflatten:()=>ts,generateFlowModelRdFromToken:()=>eq,forEach:()=>eM,utc2unit:()=>tv,extractUsedVariablePaths:()=>li,isArray:()=>et,getValuesByPath:()=>eL,moment2str:()=>ew,transformLiquidContext:()=>ls,isURL:()=>tU,isPortalInBody:()=>tT,extractUsedVariableNames:()=>lr,parseHTML:()=>tR,toGmt:()=>eh,isPlainObject:()=>en,lockdownSes:()=>tM,splitPathToTwoParts:()=>tw,transformFilter:()=>Y,parseSQLBindParams:()=>lc,getPickerFormat:()=>ek,nextTick:()=>er,removeNullCondition:()=>eu,CollectionsGraph:()=>V,isValidFilter:()=>eW,evaluateConditions:()=>Z,toUnit:()=>ty,removeInvalidFilterItems:()=>J,getFormatFromDateStr:()=>eP,BASE_BLOCKED_IDENTIFIERS:()=>tk,toLocal:()=>ef,getDayRangeByParams:()=>L,getDefaultFormat:()=>em,transformMultiColumnToSingleColumn:()=>tG,treeFind:()=>ei,transformSQL:()=>lp,parseFilter:()=>th,flatten:()=>ta,isEmpty:()=>el,getOffsetRangeByParams:()=>$,offsetFromString:()=>eS,getAuthCookieName:()=>ep,error:()=>e0,tval:()=>tj,extractVariableUsage:()=>lo,Registry:()=>tS,lodash:()=>o(),parse:()=>eJ,hasEmptyValue:()=>eo,toFixedByStep:()=>e9,getDateTimeFormat:()=>eA,showToast:()=>e5,Handlebars:()=>ez(),getLiquidContext:()=>ld,merge:()=>e6,dayjs:()=>i(),parseLiquidContext:()=>lu,uid:()=>tK,isString:()=>ee});var n=l(2543),o=l.n(n),r=l(74353),i=l.n(r),a=l(97375),s=l.n(a),d=l(90445),u=l.n(d),c=l(43522),p=l.n(c),m=l(37872),h=l.n(m),f=l(98867),g=l.n(f),v=l(8906),y=l.n(v),x=l(68313),b=l.n(x),w=l(21840),S=l.n(w),C=l(41816),F=l.n(C),k=l(88569),A=l.n(k),P=l(83826),M=l.n(P),j=l(8134),I=l.n(j),T=l(28623),R=l.n(T),E=l(46986),N=l.n(E);i().extend(N()),i().extend(S()),i().extend(A()),i().extend(M()),i().extend(F()),i().extend(b()),i().extend(h()),i().extend(g()),i().extend(y()),i().extend(I()),i().extend(R()),i().extend(u()),i().extend(s()),i().extend(p()),l(89773);let D=e=>{if(!e)return i()();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 i()().utcOffset(o)}return i()().tz(e)},$=e=>{let t,l,{type:n,unit:o="day",number:r=1,timezone:i}=e,a=D(i),s="week"===o?"isoWeek":o;if("past"===n){let e=a.startOf(s);t=e.subtract(r,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(r-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")]},B=(e,t,l)=>{let n="isoWeek"===t?"week":t;return D(l).add(e,n).startOf(t)},O=(e,t,l)=>{let n="isoWeek"===t?"week":t;return D(l).add(e,n).endOf(t)},q={today:e=>[B(0,"day",null==e?void 0:e.timezone),O(0,"day",null==e?void 0:e.timezone)],yesterday:e=>[B(-1,"day",null==e?void 0:e.timezone),O(-1,"day",null==e?void 0:e.timezone)],tomorrow:e=>[B(1,"day",null==e?void 0:e.timezone),O(1,"day",null==e?void 0:e.timezone)],thisWeek:e=>[B(0,"isoWeek",null==e?void 0:e.timezone),O(0,"isoWeek",null==e?void 0:e.timezone)],lastWeek:e=>[B(-1,"isoWeek",null==e?void 0:e.timezone),O(-1,"isoWeek",null==e?void 0:e.timezone)],nextWeek:e=>[B(1,"isoWeek",null==e?void 0:e.timezone),O(1,"isoWeek",null==e?void 0:e.timezone)],thisMonth:e=>[B(0,"month",null==e?void 0:e.timezone),O(0,"month",null==e?void 0:e.timezone)],lastMonth:e=>[B(-1,"month",null==e?void 0:e.timezone),O(-1,"month",null==e?void 0:e.timezone)],nextMonth:e=>[B(1,"month",null==e?void 0:e.timezone),O(1,"month",null==e?void 0:e.timezone)],thisQuarter:e=>[B(0,"quarter",null==e?void 0:e.timezone),O(0,"quarter",null==e?void 0:e.timezone)],lastQuarter:e=>[B(-1,"quarter",null==e?void 0:e.timezone),O(-1,"quarter",null==e?void 0:e.timezone)],nextQuarter:e=>[B(1,"quarter",null==e?void 0:e.timezone),O(1,"quarter",null==e?void 0:e.timezone)],thisYear:e=>[B(0,"year",null==e?void 0:e.timezone),O(0,"year",null==e?void 0:e.timezone)],lastYear:e=>[B(-1,"year",null==e?void 0:e.timezone),O(-1,"year",null==e?void 0:e.timezone)],nextYear:e=>[B(1,"year",null==e?void 0:e.timezone),O(1,"year",null==e?void 0:e.timezone)]},L=e=>{if("past"===e.type||"next"===e.type)return $(e);let t=q[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")]};l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(14324);var _=l(38362);class V{static graphlib(){return _}static connectedNodes(e){let t=(0,n.castArray)(e.nodes),l=(0,n.castArray)(e.excludes||[]),o=V.build(e),r=new Set;for(let e of t)for(let t of _.alg.preorder(o,e))l.includes(t)||r.add(t);return Array.from(r)}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 _.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}}l(45336),l(23446),l(79936);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)}l(38263),l(34678);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},er=e=>{setTimeout(e)};function ei(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=ei(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 r=t.unflatten(n);for(let e in r)Array.isArray(r[e])&&(r[e]=r[e].filter(e=>null!=e));return o().isEmpty(r)?void 0:r},ec={authToken:"nb_auth_token",authenticator:"nb_authenticator",role:"nb_role",csrfToken:"nb_csrf_token"};function ep(e,t){return`${ec[e]}_${t||"main"}`}let em=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",eh=e=>e&&i().isDayjs(e)?`${e.format("YYYY-MM-DD")}T${e.format("HH:mm:ss.SSS")}Z`:e,ef=e=>e?Array.isArray(e)?e.map(e=>e.startOf("second").toISOString()):i().isDayjs(e)?e.startOf("second").toISOString():void 0:e,eg=e=>{try{let t=parseInt(e.slice(0,4)),l=parseInt(e.slice(-1));return i()().quarter(l).year(t)}catch(e){return null}},ev=(e,t)=>{if(!e)return;let l=t.utcOffset,{gmt:n,picker:o,utc:r=!0,dateOnly:a}=t;if(!i()(e).isValid())return eg(e);if(a){let t=i()(e);if(!t.isValid())return e;let l=t.format("YYYY-MM-DD");return i().utc(l,"YYYY-MM-DD")}return r?i().isDayjs(e)?l?e.utcOffset(eS(l)):e:n?i()(e).utcOffset(0):l?i()(e).utcOffset(eS(l)):i()(e):i()(e)},ey=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)?e.map(e=>ev(e,t)):e?ev(e,t):e},ex=(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",eb=(e,t)=>e?Array.isArray(e)?e.map(e=>ex(e,t)):i().isDayjs(e)?ex(e,t):void 0:e,ew=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{showTime:l,gmt:n,picker:o}=t;return e?l?n?eh(e):ef(e):eb(e,o):e};function eS(e){if(!o().isString(e))return e;let t=/([+-]|\d\d)/gi,l=/Z|[+-]\d\d(?::?\d\d)?/gi,n=/[+-]?\d+(\.\d{1,3})?/,r=(e||"").match(l);if(null===r&&(r=(e||"").match(n)),null===r)return null;let i=((r[r.length-1]||[])+"").match(t)||["-",0,0],a=+(60*Number(i[1]))+eC(i[2]);return 0===a?0:"+"===i[0]?a:-a}function eC(e){let t=+e,l=0;return 0!==t&&isFinite(t)&&(l=eF(t)),l}function eF(e){return e<0?Math.ceil(e)||0:Math.floor(e)}let ek=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"}},eA=(e,t,l,n)=>"date"===e&&l?`${t} ${n||"HH:mm:ss"}`:t;function eP(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}l(69861);let eM=(e,t)=>{Array.isArray(e)?e.forEach(t):Object.keys(e).forEach(l=>{t(e[l],l)})};l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(16252),l(42196);var ej=l(48287).Buffer;let eI=new Map;function eT(e){return"function"==typeof btoa?btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,""):ej.from(e,"binary").toString("base64url")}function eR(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),l=t.padEnd(t.length+(4-t.length%4)%4,"=");return"function"==typeof atob?atob(l):ej.from(l,"base64").toString("binary")}function eE(e){let t=0x811c9dc5;for(let l=0;l<e.length;l+=1)t^=e.charCodeAt(l),t=Math.imul(t,0x1000193);return(t>>>0).toString(36)}function eN(e,t){if(!t)return"";let l="";for(let n=0;n<e.length;n+=1)l+=String.fromCharCode(e.charCodeAt(n)^t.charCodeAt(n%t.length));return l}function eD(e){if(!e||"string"!=typeof e)return null;let t=e.split(".");if(t.length<2)return null;try{return JSON.parse(eR(t[1]))}catch{return null}}function e$(e){let t=null==e?void 0:e.userId,l=(null==e?void 0:e.signInTime)||(null==e?void 0:e.jti);return"string"!=typeof t&&"number"!=typeof t||"string"!=typeof l&&"number"!=typeof l?"":`${t}:${l}`}function eB(e){return e$(eD(e))}function eO(e,t){if("string"!=typeof e&&"number"!=typeof e||!t)return;let l=String(e),n=`${t}
3708
- ${l}`,o=eI.get(n);if(o)return o;let r=eT(eN(l,eE(`mask:v1:${t}`))),i=eE(`check:v1:${t}:${l}`),a=`v1.${r}.${i}`;return eI.set(n,a),a}function eq(e,t){return eO(e,eB(t))}l(5409);let eL=(e,t,l)=>{if(!e)return l;let n=t.split("."),o=[],r=e,i=!1;for(let e=0;e<n.length;e++){let t=n[e];if(Array.isArray(r)){for(let t of(i=!0,r)){let r=eL(t,n.slice(e).join("."),l);o=o.concat(r)}break}if((null==r?void 0:r[t])===void 0)break;r=r[t],e===n.length-1&&o.push(r)}return 0===(o=o.filter(e=>void 0!==e)).length?l:i?o.filter(e=>null!==e):o[0]};var e_=l(88835),eV=l(60639),ez=l.n(eV),eK=l(79441);let eU=l.n(eK)()();function eW(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(eW);if(e.$and||e.$or)return eW(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 eH(e){let t=typeof e;return Array.isArray(e)?t="array":e instanceof Date?t="date":null===e&&(t="null"),t}function eG(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 eY(e,t){return e.parameters=Array.from(new Map(t.map(e=>[e.key,e])).values()),e}function eJ(e){switch(eH(e)){case"string":return eX(e);case"object":return eQ(e);case"array":return eZ(e);default:return eY(function(){return e},[])}}Object.keys(eU).forEach(function(e){ez().registerHelper(e,eU[e])}),ez().registerHelper("json",function(e){return JSON.stringify(e)}),ez().registerHelper("urlParse",function(e){try{return JSON.stringify(e_.parse(e))}catch(t){return`Invalid URL: ${e}`}}),ez().registerHelper("dateFormat",(e,t,l)=>"string"==typeof l?i()(e).tz(l).format(t):i()(e).format(t)),ez().registerHelper("isNull",e=>o().isNull(e)),l(84560);let eX=(()=>{let e=/{{(\w|:|[\s-+.,@/()?=*_$])+}}/g;return t=>{let l=[],o=e=>t,r=t.match(e);return r&&(l=r.map(eG),o=e=>(e=e||{},r.reduce((o,i,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===r.length&&t.startsWith("{{")&&t.endsWith("}}"))?d:(d instanceof Date&&(d=d.toISOString()),o.replace(i,null==d?"":d))},t))),eY(o,l)}})();function eQ(e){let t=Object.keys(e).map(t=>({keyTemplate:eX(t),valueTemplate:eJ(e[t])}));return eY(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 eZ(e){let t=e.map(eJ);return eY(e=>t.map(t=>t(e)),t.reduce((e,t)=>e.concat(t.parameters),[]))}let e0=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 e1=l(14744),e2=l.n(e1);let e8=(e,t,l)=>t;function e6(e,t,l){return e2()(e,t,{arrayMerge:e8,...l})}var e3=l(76511);let e5=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;e3.Ay[t]({message:e,duration:l})};var e4=l(5062),e7=l(85738);function e9(e,t){if(null==e||""===e)return"";let l=(0,e4.i5)(t);return(0,e7.Mg)(String(e),".",l)}var te=l(63560),tt=l.n(te),tl=l(95093),tn=l.n(tl);let to=/^\s*\{\{([\s\S]*)\}\}\s*$/;function tr(e){return e&&e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function ti(e){return e}function ta(e,t){let l=(t=t||{}).delimiter||".",n=t.maxDepth,r=t.transformKey||ti,i=t.transformValue||ti,a={};function s(e,d,u){u=u||1,o().isObjectLike(e)&&Object.keys(e).forEach(function(o){var c;let p=e[o],m=t.safe&&Array.isArray(p),h=Object.prototype.toString.call(p),f=tr(p),g="[object Object]"===h||"[object Array]"===h,v=d?d+l+r(o):r(o);if(null==(c=t.breakOn)?void 0:c.call(t,{key:o,value:p,path:v})){a[v]=i(p,v);return}if(!m&&!f&&g&&Object.keys(p).length&&(!t.maxDepth||u<n))return s(p,v,u+1);a[v]=i(p,v)})}return s(e),a}function ts(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l={},n=t.transformValue||ti;for(let t of Object.keys(e))tt()(l,t,n(e[t],t));return l}let td=e=>{let t=e.split(".").pop()||"";return t.startsWith("$")||(t=""),{operator:t}},tu=e=>["$dateOn","$dateNotOn","$dateBefore","$dateAfter","$dateNotBefore","$dateNotAfter","$dateBetween"].includes(e);function tc(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function tp(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 tm=(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:tc(e)?e.toISOString():void 0:null,th=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=new Set,n=t.vars||{},o=t.timezone,r=t.now,i=t.getField,a=ta(e,{breakOn(e){let{key:t}=e;return t.startsWith("$")&&"$and"!==t&&"$or"!==t},transformValue(e){if("string"!=typeof e)return e;let t=to.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 ts(a,{transformValue(e,t){let{operator:l}=td(t);if("string"==typeof e){let a=to.exec(e);if(a){let s=eL(n,a[1].trim(),null),d=null==i?void 0:i(t);e="function"==typeof s?null==s?void 0:s({field:d,operator:l,timezone:o,now:r}):s}}if(tu(l)){let l=null==i?void 0:i(t);return tp(l)?e.type?L({...e,timezone:(null==l?void 0:l.timezone)||o}):e:tm(e,(null==l?void 0:l.timezone)||o)}return e}})};function tf(e){let{now:t,timezone:l="+00:00",offset:n}=e,o=tg(t).utcOffset(eS(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 tg(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?i().isDayjs(e)?e:t?tn()(e):i()(e):t?tn()():i()()}function tv(e){var t;let{now:l,unit:n,timezone:o="+00:00",offset:r}=e,i=tg(l,"isoWeek"===n);i=(i=i.utcOffset(eS(o))).startOf(n),r>0?i=i.add(r,n):r<0&&(i=i.subtract(-1*r,n));let a={year:()=>i.format("YYYY"),quarter:()=>i.format("YYYY[Q]Q"),month:()=>i.format("YYYY-MM"),week:()=>i.format("gggg[w]ww"),isoWeek:()=>i.format("GGGG[W]WW"),day:()=>i.format("YYYY-MM-DD")},s=null==(t=a[n])?void 0:t.call(a);return o?s+o:s}let ty=(e,t)=>l=>{let{now:n,timezone:o,field:r}=l;return(null==r?void 0:r.timezone)&&(o=null==r?void 0:r.timezone),tv({now:n,timezone:o,unit:e,offset:t})},tx=e=>t=>{let{now:l,timezone:n,field:o}=t;return(null==o?void 0:o.timezone)&&(n=null==o?void 0:o.timezone),tf({now:l,timezone:n,offset:e})};function tb(){return{now:new Date().toISOString(),today:ty("day"),yesterday:ty("day",-1),tomorrow:ty("day",1),thisWeek:ty("week"),lastWeek:ty("week",-1),nextWeek:ty("week",1),thisIsoWeek:ty("isoWeek"),lastIsoWeek:ty("isoWeek",-1),nextIsoWeek:ty("isoWeek",1),thisMonth:ty("month"),lastMonth:ty("month",-1),nextMonth:ty("month",1),thisQuarter:ty("quarter"),lastQuarter:ty("quarter",-1),nextQuarter:ty("quarter",1),thisYear:ty("year"),lastYear:ty("year",-1),nextYear:ty("year",1),last7Days:tx(-7),next7Days:tx(7),last30Days:tx(-30),next30Days:tx(30),last90Days:tx(-90),next90Days:tx(90)}}function tw(e){let t=e.split(".");return[t.shift(),t.join(".")]}class tS{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}){this.map=new Map,this.options=e}}l(58149),l(67980);let tC=Symbol.for("nocobase.utils.sesLockdown"),tF=Symbol.for("nocobase.utils.bufferOverrides"),tk=["globalThis","global","self","Function","AsyncFunction","GeneratorFunction","eval","Compartment","lockdown","harden","assert"];function tA(e){return!!e&&"object"==typeof e&&(e.message||"").includes("(SES_ALREADY_LOCKED_DOWN)")}function tP(){let e=globalThis;if(e[tF])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},r=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:r})}e[tF]=!0}function tM(e){tP();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(!tA(e))throw e}t[tC]=!0}}function tj(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}var tI=l(65606);let tT=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!tI.env.__TEST__};function tR(e,t){return e.replace(/\{\{(\w+)\}\}/g,function(e,l){return void 0!==t[l]?t[l]:e})}var tE=l(74728),tN=l.n(tE);let tD=/^data:image\/(?:gif|jpe?g|png|webp);base64,[a-z\d+/=\s]+$/i,t$=/^(?:\d{1,4}(?:\.\d+)?(?:px)?|(?:100|[1-9]?\d)(?:\.\d+)?%)$/,tB=/^(?:\d{1,4}(?:\.\d+)?px|(?:100|[1-9]?\d)(?:\.\d+)?%)$/;function tO(e){let t={...e};return t.target&&!["_blank","_self"].includes(t.target)&&delete t.target,"_blank"===t.target?t.rel="noopener noreferrer":delete t.rel,t}function tq(e){var t;let l={...e};for(let e of((null==(t=l.src)?void 0:t.trim().toLowerCase().startsWith("data:"))&&!tD.test(l.src)&&delete l.src,["width","height"]))l[e]&&!t$.test(l[e])&&delete l[e];return l}let tL={allowedTags:["a","b","blockquote","br","em","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","s","span","strike","strong","u","ul"],allowedAttributes:{a:["href","target","rel"],img:["src","alt","title","width","height","style"],span:["style"]},allowedClasses:{blockquote:[/^ql-indent-[1-9]$/],h1:[/^ql-indent-[1-9]$/],h2:[/^ql-indent-[1-9]$/],h3:[/^ql-indent-[1-9]$/],h4:[/^ql-indent-[1-9]$/],h5:[/^ql-indent-[1-9]$/],h6:[/^ql-indent-[1-9]$/],li:[/^ql-indent-[1-9]$/],p:[/^ql-indent-[1-9]$/]},allowedStyles:{img:{height:[tB],width:[tB]},span:{"font-size":[/^(?:12|14|16|18|20|24|32|48)px$/]}},allowedSchemes:["http","https","mailto","tel"],allowedSchemesByTag:{img:["http","https","data"]},allowProtocolRelative:!1,transformTags:{a:(e,t)=>({tagName:e,attribs:tO(t)}),img:(e,t)=>({tagName:e,attribs:tq(t)})}};function t_(e){return tN()(e,tL)}let tV=36,tz="";for(;tV--;)tz+=tV.toString(36);function tK(e){let t="",l=e||11;for(;l--;)t+=tz[36*Math.random()|0];return t}function tU(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}l(61874),l(1633),l(9700);var tW=l(27153),tH="2.2.7";let tG=(e,t)=>{if(!e)return e;if("Grid"!==e["x-component"])return Object.keys(e.properties||{}).forEach(l=>{e.properties[l]=tG(e.properties[l],t)}),e;let l=e.parent;e=e.toJSON?e.toJSON():o().cloneDeep(e);let n={},{properties:r={}}=e,i=0;if(Object.keys(r).forEach((e,l)=>{let a=r[e];if("Grid.Row"!==a["x-component"]){a["x-index"]=++i,n[e]=a;return}if(a.properties){if(1===Object.keys(a.properties).length){a["x-index"]=++i,n[e]=a;return}Object.keys(a.properties).forEach((l,r)=>{let s=a.properties[l];if(o().set(s,"x-component-props.width",100),0===r){a["x-index"]=++i,n[e]=a;return}null!=t&&t(s)||(delete a.properties[l],n[`${tK()}_${l}`]=tY(s,l,++i))})}}),e.properties=n,l){let t=new tW.Schema(e,l);return l.properties&&Object.keys(l.properties).forEach(n=>{n===e.name&&(l.properties[n]=t)}),t}return e};function tY(e,t,l){return{type:"void",version:"2.0","x-component":"Grid.Row","x-app-version":tH,"x-uid":tK(),"x-async":!1,"x-index":l,_isJSONSchemaObject:!0,properties:{[t]:e}}}function tJ(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function tX(e){return!!e&&/[a-zA-Z_$]/.test(e)}function tQ(e){return!!e&&/[a-zA-Z0-9_$]/.test(e)}function tZ(e,t){let l=t;for(;/\s/.test(e[l]||"");)l+=1;return l}function t0(e,t){let l=tZ(e,t);for(;"!"===e[l];)l=tZ(e,l+1);return l}function t1(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]||"");)l-=1;return l}function t2(e,t){let l=t1(e,t-1);if("("!==e[l])return!1;let n=t1(e,l-1);if(n<0)return!0;let o=e[n];return!tQ(o)&&")"!==o&&"]"!==o}function t8(e,t){let l=tZ(e,t);if(")"!==e[l])return!1;let n=tZ(e,l+1);return"."===e[n]||"["===e[n]||e.startsWith("?.",n)}function t6(e,t){if(!tX(e[t]))return null;let l=t+1;for(;tQ(e[l]);)l+=1;return{value:e.slice(t,l),next:l}}function t3(e,t){let l=e.slice(t).match(/^\d+/);return l?{value:l[0],next:t+l[0].length}:null}function t5(e,t){let l=e[t];if('"'!==l&&"'"!==l)return null;let n=t+1,o="";for(;n<e.length;){let t=e[n];if("\\"===t){o+=e.slice(n,n+2),n+=2;continue}if(t===l)return{value:o,next:n+1};o+=t,n+=1}return null}function t4(e,t){let l=tZ(e,t+1),n=t5(e,l);if(n)return(l=tZ(e,n.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"property",next:l+1,value:n.value};let o=t3(e,l);return o?(l=tZ(e,o.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"index",next:l+1,value:o.value}:{dynamic:!0}}function t7(e,t,l){if("property"===t)return void e.push(l);if(e.length){e[e.length-1]=`${e[e.length-1]}[${l}]`;return}e.push(`[${l}]`)}function t9(e,t){let l=t0(e,t);if("["===e[l])return t4(e,l);if(e.startsWith("?.",l)){let t=tZ(e,l+2);if("["===e[t])return t4(e,t);let n=t6(e,t)||t3(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}if("."===e[l]){let t=tZ(e,l+1),n=t6(e,t)||t3(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}return null}function le(e){let t=e.trim(),l="(?:[a-zA-Z_$][a-zA-Z0-9_$-]*|\\d+)",n=t.match(RegExp(`^ctx\\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\\.(${l}(?:\\.${l})*))?$`));return n?{methodCall:!1,path:n[2]||void 0,unsupportedDynamicPath:!1,varName:n[1]}:null}function lt(e,t){if("ctx"!==e.slice(t,t+3)||tQ(e[t-1])||tQ(e[t+3]))return null;if(t2(e,t))return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};let l=t9(e,t+3);if(!l)return null;if(l.dynamic)return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};if("property"!==l.kind)return null;let n=[],o=l.next,r=!1,i=!1;for(;o<e.length;){let t=t0(e,o);if(("("===e[t]||e.startsWith("?.(",t))&&!n.length){r=!0,o=t;break}let l=t9(e,o);if(!l){o=t,("["===e[t]||"."===e[t]||e.startsWith("?.",t))&&(i=!0);break}if(l.dynamic){i=!0,o=t;break}t7(n,l.kind,l.value),o=l.next}let a=n.join(".");return{next:Math.max(o,l.next),reference:{methodCall:r,path:a||void 0,unsupportedDynamicPath:i||t8(e,o),varName:l.value}}}function ll(e){let t=le(e);if(t)return[t];let l=[];for(let t=0;t<e.length;t+=1){if("ctx"!==e.slice(t,t+3))continue;let n=lt(e,t);n&&(l.push(n.reference),t=Math.max(t,n.next-1))}return l}function ln(e,t,l,n){e[t]=e[t]||[],l?e[t].push(l):n&&!e[t].includes("")&&e[t].push("")}function lo(e){let t={},l=!1,n=e=>{for(let n of ll(e)){if(n.unsupportedDynamicPath){l=!0;continue}n.varName&&ln(t,n.varName,n.path,n.methodCall)}},o=e=>{if("string"==typeof e){let t,l=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(t=l.exec(e));)n(t[1]);return}Array.isArray(e)?e.forEach(o):tJ(e)&&Object.values(e).forEach(o)};return o(e),{unsupportedDynamicPath:l,usage:t}}function lr(e){return new Set(Object.keys(lo(e).usage))}function li(e){return lo(e).usage}let la=new(l(23155)).HX;function ls(){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 ld(e){return ls(await la.fullVariables(e))}async function lu(e,t){return await la.parseAndRender(e,{ctx:t})}function lc(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 lp(e){let{sql:t,bind:l}=lc(e),n=await ld(t);return{sql:t,bind:l,liquidContext:n}}},59598(){},23005(){},14892(){},2813(){},61511(){},92489(){},52453(){},72522(){},66883(){},9845(){}},function(e){var t=function(t){return e(e.s=t)};e.O(0,["1339","2174","268","3210","3338","3658","3782","404","8159","8732","8878","9200","9223","957","9817","9967"],function(){return t(91643)}),e.O()}]);
3708
+ ${l}`,o=eI.get(n);if(o)return o;let r=eT(eN(l,eE(`mask:v1:${t}`))),i=eE(`check:v1:${t}:${l}`),a=`v1.${r}.${i}`;return eI.set(n,a),a}function eq(e,t){return eO(e,eB(t))}l(5409);let eL=(e,t,l)=>{if(!e)return l;let n=t.split("."),o=[],r=e,i=!1;for(let e=0;e<n.length;e++){let t=n[e];if(Array.isArray(r)){for(let t of(i=!0,r)){let r=eL(t,n.slice(e).join("."),l);o=o.concat(r)}break}if((null==r?void 0:r[t])===void 0)break;r=r[t],e===n.length-1&&o.push(r)}return 0===(o=o.filter(e=>void 0!==e)).length?l:i?o.filter(e=>null!==e):o[0]};var e_=l(88835),eV=l(60639),ez=l.n(eV),eK=l(79441);let eU=l.n(eK)()();function eW(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(eW);if(e.$and||e.$or)return eW(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 eH(e){let t=typeof e;return Array.isArray(e)?t="array":e instanceof Date?t="date":null===e&&(t="null"),t}function eG(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 eY(e,t){return e.parameters=Array.from(new Map(t.map(e=>[e.key,e])).values()),e}function eJ(e){switch(eH(e)){case"string":return eX(e);case"object":return eQ(e);case"array":return eZ(e);default:return eY(function(){return e},[])}}Object.keys(eU).forEach(function(e){ez().registerHelper(e,eU[e])}),ez().registerHelper("json",function(e){return JSON.stringify(e)}),ez().registerHelper("urlParse",function(e){try{return JSON.stringify(e_.parse(e))}catch(t){return`Invalid URL: ${e}`}}),ez().registerHelper("dateFormat",(e,t,l)=>"string"==typeof l?i()(e).tz(l).format(t):i()(e).format(t)),ez().registerHelper("isNull",e=>o().isNull(e)),l(84560);let eX=(()=>{let e=/{{(\w|:|[\s-+.,@/()?=*_$])+}}/g;return t=>{let l=[],o=e=>t,r=t.match(e);return r&&(l=r.map(eG),o=e=>(e=e||{},r.reduce((o,i,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===r.length&&t.startsWith("{{")&&t.endsWith("}}"))?d:(d instanceof Date&&(d=d.toISOString()),o.replace(i,null==d?"":d))},t))),eY(o,l)}})();function eQ(e){let t=Object.keys(e).map(t=>({keyTemplate:eX(t),valueTemplate:eJ(e[t])}));return eY(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 eZ(e){let t=e.map(eJ);return eY(e=>t.map(t=>t(e)),t.reduce((e,t)=>e.concat(t.parameters),[]))}let e0=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 e1=l(14744),e2=l.n(e1);let e8=(e,t,l)=>t;function e6(e,t,l){return e2()(e,t,{arrayMerge:e8,...l})}var e3=l(76511);let e5=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;e3.Ay[t]({message:e,duration:l})};var e4=l(5062),e7=l(85738);function e9(e,t){if(null==e||""===e)return"";let l=(0,e4.i5)(t);return(0,e7.Mg)(String(e),".",l)}var te=l(63560),tt=l.n(te),tl=l(95093),tn=l.n(tl);let to=/^\s*\{\{([\s\S]*)\}\}\s*$/;function tr(e){return e&&e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function ti(e){return e}function ta(e,t){let l=(t=t||{}).delimiter||".",n=t.maxDepth,r=t.transformKey||ti,i=t.transformValue||ti,a={};function s(e,d,u){u=u||1,o().isObjectLike(e)&&Object.keys(e).forEach(function(o){var c;let p=e[o],m=t.safe&&Array.isArray(p),h=Object.prototype.toString.call(p),f=tr(p),g="[object Object]"===h||"[object Array]"===h,v=d?d+l+r(o):r(o);if(null==(c=t.breakOn)?void 0:c.call(t,{key:o,value:p,path:v})){a[v]=i(p,v);return}if(!m&&!f&&g&&Object.keys(p).length&&(!t.maxDepth||u<n))return s(p,v,u+1);a[v]=i(p,v)})}return s(e),a}function ts(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l={},n=t.transformValue||ti;for(let t of Object.keys(e))tt()(l,t,n(e[t],t));return l}let td=e=>{let t=e.split(".").pop()||"";return t.startsWith("$")||(t=""),{operator:t}},tu=e=>["$dateOn","$dateNotOn","$dateBefore","$dateAfter","$dateNotBefore","$dateNotAfter","$dateBetween"].includes(e);function tc(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function tp(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 tm=(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:tc(e)?e.toISOString():void 0:null,th=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=new Set,n=t.vars||{},o=t.timezone,r=t.now,i=t.getField,a=ta(e,{breakOn(e){let{key:t}=e;return t.startsWith("$")&&"$and"!==t&&"$or"!==t},transformValue(e){if("string"!=typeof e)return e;let t=to.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 ts(a,{transformValue(e,t){let{operator:l}=td(t);if("string"==typeof e){let a=to.exec(e);if(a){let s=eL(n,a[1].trim(),null),d=null==i?void 0:i(t);e="function"==typeof s?null==s?void 0:s({field:d,operator:l,timezone:o,now:r}):s}}if(tu(l)){let l=null==i?void 0:i(t);return tp(l)?e.type?L({...e,timezone:(null==l?void 0:l.timezone)||o}):e:tm(e,(null==l?void 0:l.timezone)||o)}return e}})};function tf(e){let{now:t,timezone:l="+00:00",offset:n}=e,o=tg(t).utcOffset(eS(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 tg(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?i().isDayjs(e)?e:t?tn()(e):i()(e):t?tn()():i()()}function tv(e){var t;let{now:l,unit:n,timezone:o="+00:00",offset:r}=e,i=tg(l,"isoWeek"===n);i=(i=i.utcOffset(eS(o))).startOf(n),r>0?i=i.add(r,n):r<0&&(i=i.subtract(-1*r,n));let a={year:()=>i.format("YYYY"),quarter:()=>i.format("YYYY[Q]Q"),month:()=>i.format("YYYY-MM"),week:()=>i.format("gggg[w]ww"),isoWeek:()=>i.format("GGGG[W]WW"),day:()=>i.format("YYYY-MM-DD")},s=null==(t=a[n])?void 0:t.call(a);return o?s+o:s}let ty=(e,t)=>l=>{let{now:n,timezone:o,field:r}=l;return(null==r?void 0:r.timezone)&&(o=null==r?void 0:r.timezone),tv({now:n,timezone:o,unit:e,offset:t})},tx=e=>t=>{let{now:l,timezone:n,field:o}=t;return(null==o?void 0:o.timezone)&&(n=null==o?void 0:o.timezone),tf({now:l,timezone:n,offset:e})};function tb(){return{now:new Date().toISOString(),today:ty("day"),yesterday:ty("day",-1),tomorrow:ty("day",1),thisWeek:ty("week"),lastWeek:ty("week",-1),nextWeek:ty("week",1),thisIsoWeek:ty("isoWeek"),lastIsoWeek:ty("isoWeek",-1),nextIsoWeek:ty("isoWeek",1),thisMonth:ty("month"),lastMonth:ty("month",-1),nextMonth:ty("month",1),thisQuarter:ty("quarter"),lastQuarter:ty("quarter",-1),nextQuarter:ty("quarter",1),thisYear:ty("year"),lastYear:ty("year",-1),nextYear:ty("year",1),last7Days:tx(-7),next7Days:tx(7),last30Days:tx(-30),next30Days:tx(30),last90Days:tx(-90),next90Days:tx(90)}}function tw(e){let t=e.split(".");return[t.shift(),t.join(".")]}class tS{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}){this.map=new Map,this.options=e}}l(58149),l(67980);let tC=Symbol.for("nocobase.utils.sesLockdown"),tF=Symbol.for("nocobase.utils.bufferOverrides"),tk=["globalThis","global","self","Function","AsyncFunction","GeneratorFunction","eval","Compartment","lockdown","harden","assert"];function tA(e){return!!e&&"object"==typeof e&&(e.message||"").includes("(SES_ALREADY_LOCKED_DOWN)")}function tP(){let e=globalThis;if(e[tF])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},r=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:r})}e[tF]=!0}function tM(e){tP();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(!tA(e))throw e}t[tC]=!0}}function tj(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}var tI=l(65606);let tT=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!tI.env.__TEST__};function tR(e,t){return e.replace(/\{\{(\w+)\}\}/g,function(e,l){return void 0!==t[l]?t[l]:e})}var tE=l(74728),tN=l.n(tE);let tD=/^data:image\/(?:gif|jpe?g|png|webp);base64,[a-z\d+/=\s]+$/i,t$=/^(?:\d{1,4}(?:\.\d+)?(?:px)?|(?:100|[1-9]?\d)(?:\.\d+)?%)$/,tB=/^(?:\d{1,4}(?:\.\d+)?px|(?:100|[1-9]?\d)(?:\.\d+)?%)$/;function tO(e){let t={...e};return t.target&&!["_blank","_self"].includes(t.target)&&delete t.target,"_blank"===t.target?t.rel="noopener noreferrer":delete t.rel,t}function tq(e){var t;let l={...e};for(let e of((null==(t=l.src)?void 0:t.trim().toLowerCase().startsWith("data:"))&&!tD.test(l.src)&&delete l.src,["width","height"]))l[e]&&!t$.test(l[e])&&delete l[e];return l}let tL={allowedTags:["a","b","blockquote","br","em","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","s","span","strike","strong","u","ul"],allowedAttributes:{a:["href","target","rel"],img:["src","alt","title","width","height","style"],span:["style"]},allowedClasses:{blockquote:[/^ql-indent-[1-9]$/],h1:[/^ql-indent-[1-9]$/],h2:[/^ql-indent-[1-9]$/],h3:[/^ql-indent-[1-9]$/],h4:[/^ql-indent-[1-9]$/],h5:[/^ql-indent-[1-9]$/],h6:[/^ql-indent-[1-9]$/],li:[/^ql-indent-[1-9]$/],p:[/^ql-indent-[1-9]$/]},allowedStyles:{img:{height:[tB],width:[tB]},span:{"font-size":[/^(?:12|14|16|18|20|24|32|48)px$/]}},allowedSchemes:["http","https","mailto","tel"],allowedSchemesByTag:{img:["http","https","data"]},allowProtocolRelative:!1,transformTags:{a:(e,t)=>({tagName:e,attribs:tO(t)}),img:(e,t)=>({tagName:e,attribs:tq(t)})}};function t_(e){return tN()(e,tL)}let tV=36,tz="";for(;tV--;)tz+=tV.toString(36);function tK(e){let t="",l=e||11;for(;l--;)t+=tz[36*Math.random()|0];return t}function tU(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}l(61874),l(1633),l(9700);var tW=l(27153),tH="2.2.9";let tG=(e,t)=>{if(!e)return e;if("Grid"!==e["x-component"])return Object.keys(e.properties||{}).forEach(l=>{e.properties[l]=tG(e.properties[l],t)}),e;let l=e.parent;e=e.toJSON?e.toJSON():o().cloneDeep(e);let n={},{properties:r={}}=e,i=0;if(Object.keys(r).forEach((e,l)=>{let a=r[e];if("Grid.Row"!==a["x-component"]){a["x-index"]=++i,n[e]=a;return}if(a.properties){if(1===Object.keys(a.properties).length){a["x-index"]=++i,n[e]=a;return}Object.keys(a.properties).forEach((l,r)=>{let s=a.properties[l];if(o().set(s,"x-component-props.width",100),0===r){a["x-index"]=++i,n[e]=a;return}null!=t&&t(s)||(delete a.properties[l],n[`${tK()}_${l}`]=tY(s,l,++i))})}}),e.properties=n,l){let t=new tW.Schema(e,l);return l.properties&&Object.keys(l.properties).forEach(n=>{n===e.name&&(l.properties[n]=t)}),t}return e};function tY(e,t,l){return{type:"void",version:"2.0","x-component":"Grid.Row","x-app-version":tH,"x-uid":tK(),"x-async":!1,"x-index":l,_isJSONSchemaObject:!0,properties:{[t]:e}}}function tJ(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function tX(e){return!!e&&/[a-zA-Z_$]/.test(e)}function tQ(e){return!!e&&/[a-zA-Z0-9_$]/.test(e)}function tZ(e,t){let l=t;for(;/\s/.test(e[l]||"");)l+=1;return l}function t0(e,t){let l=tZ(e,t);for(;"!"===e[l];)l=tZ(e,l+1);return l}function t1(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]||"");)l-=1;return l}function t2(e,t){let l=t1(e,t-1);if("("!==e[l])return!1;let n=t1(e,l-1);if(n<0)return!0;let o=e[n];return!tQ(o)&&")"!==o&&"]"!==o}function t8(e,t){let l=tZ(e,t);if(")"!==e[l])return!1;let n=tZ(e,l+1);return"."===e[n]||"["===e[n]||e.startsWith("?.",n)}function t6(e,t){if(!tX(e[t]))return null;let l=t+1;for(;tQ(e[l]);)l+=1;return{value:e.slice(t,l),next:l}}function t3(e,t){let l=e.slice(t).match(/^\d+/);return l?{value:l[0],next:t+l[0].length}:null}function t5(e,t){let l=e[t];if('"'!==l&&"'"!==l)return null;let n=t+1,o="";for(;n<e.length;){let t=e[n];if("\\"===t){o+=e.slice(n,n+2),n+=2;continue}if(t===l)return{value:o,next:n+1};o+=t,n+=1}return null}function t4(e,t){let l=tZ(e,t+1),n=t5(e,l);if(n)return(l=tZ(e,n.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"property",next:l+1,value:n.value};let o=t3(e,l);return o?(l=tZ(e,o.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"index",next:l+1,value:o.value}:{dynamic:!0}}function t7(e,t,l){if("property"===t)return void e.push(l);if(e.length){e[e.length-1]=`${e[e.length-1]}[${l}]`;return}e.push(`[${l}]`)}function t9(e,t){let l=t0(e,t);if("["===e[l])return t4(e,l);if(e.startsWith("?.",l)){let t=tZ(e,l+2);if("["===e[t])return t4(e,t);let n=t6(e,t)||t3(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}if("."===e[l]){let t=tZ(e,l+1),n=t6(e,t)||t3(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}return null}function le(e){let t=e.trim(),l="(?:[a-zA-Z_$][a-zA-Z0-9_$-]*|\\d+)",n=t.match(RegExp(`^ctx\\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\\.(${l}(?:\\.${l})*))?$`));return n?{methodCall:!1,path:n[2]||void 0,unsupportedDynamicPath:!1,varName:n[1]}:null}function lt(e,t){if("ctx"!==e.slice(t,t+3)||tQ(e[t-1])||tQ(e[t+3]))return null;if(t2(e,t))return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};let l=t9(e,t+3);if(!l)return null;if(l.dynamic)return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};if("property"!==l.kind)return null;let n=[],o=l.next,r=!1,i=!1;for(;o<e.length;){let t=t0(e,o);if(("("===e[t]||e.startsWith("?.(",t))&&!n.length){r=!0,o=t;break}let l=t9(e,o);if(!l){o=t,("["===e[t]||"."===e[t]||e.startsWith("?.",t))&&(i=!0);break}if(l.dynamic){i=!0,o=t;break}t7(n,l.kind,l.value),o=l.next}let a=n.join(".");return{next:Math.max(o,l.next),reference:{methodCall:r,path:a||void 0,unsupportedDynamicPath:i||t8(e,o),varName:l.value}}}function ll(e){let t=le(e);if(t)return[t];let l=[];for(let t=0;t<e.length;t+=1){if("ctx"!==e.slice(t,t+3))continue;let n=lt(e,t);n&&(l.push(n.reference),t=Math.max(t,n.next-1))}return l}function ln(e,t,l,n){e[t]=e[t]||[],l?e[t].push(l):n&&!e[t].includes("")&&e[t].push("")}function lo(e){let t={},l=!1,n=e=>{for(let n of ll(e)){if(n.unsupportedDynamicPath){l=!0;continue}n.varName&&ln(t,n.varName,n.path,n.methodCall)}},o=e=>{if("string"==typeof e){let t,l=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(t=l.exec(e));)n(t[1]);return}Array.isArray(e)?e.forEach(o):tJ(e)&&Object.values(e).forEach(o)};return o(e),{unsupportedDynamicPath:l,usage:t}}function lr(e){return new Set(Object.keys(lo(e).usage))}function li(e){return lo(e).usage}let la=new(l(23155)).HX;function ls(){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 ld(e){return ls(await la.fullVariables(e))}async function lu(e,t){return await la.parseAndRender(e,{ctx:t})}function lc(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 lp(e){let{sql:t,bind:l}=lc(e),n=await ld(t);return{sql:t,bind:l,liquidContext:n}}},59598(){},23005(){},14892(){},2813(){},61511(){},92489(){},52453(){},72522(){},66883(){},9845(){}},function(e){var t=function(t){return e(e.s=t)};e.O(0,["1339","2174","268","3210","3338","3658","3782","404","8159","8732","8878","9200","9223","957","9817","9967"],function(){return t(91643)}),e.O()}]);