@nocobase/app 2.1.19 → 2.1.21

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-584fadcb.js.LICENSE.txt */
1
+ /*! For license information please see index-6c96ba28.js.LICENSE.txt */
2
2
  export const __rspack_esm_id="8410";export const __rspack_esm_ids=["8410"];export const __webpack_modules__={65359(e,t,l){var n={"./en-nz":["35571","4096"],"./bi.js":["95944","5905"],"./id.js":["87420","557"],"./km":["36101","7318"],"./he.js":["92010","1463"],"./me":["80623","3028"],"./tk":["62544","9065"],"./ko.js":["88003","4784"],"./tet.js":["18928","1481"],"./es-do":["61219","448"],"./ku":["16605","9518"],"./hr":["15811","9248"],"./zh-tw.js":["31349","3526"],"./hy-am":["94309","1846"],"./am.js":["4736","192"],"./en-in":["60912","3977"],"./de-at":["32878","3283"],"./pt-br":["92218","1863"],"./ar-iq.js":["13309","3102"],"./en-sg":["12673","1434"],"./zh":["56007","828"],"./en-il.js":["97690","8087"],"./lo":["73860","7141"],"./tlh":["60321","3978"],"./mi.js":["32739","4672"],"./el":["54072","9217"],"./ur.js":["51750","5819"],"./sq":["95977","4930"],"./pa-in.js":["39252","8053"],"./ar-kw.js":["79865","242"],"./fr-ca.js":["86290","4223"],"./de-ch.js":["13672","1329"],"./ru":["62796","6093"],"./eo.js":["33713","7386"],"./nb":["7205","630"],"./br":["72745","1586"],"./fo":["17674","791"],"./zh.js":["56007","828"],"./vi":["96098","8269"],"./fr-ch.js":["73433","5122"],"./ms-my":["26400","8473"],"./es-pr":["3532","9021"],"./bo.js":["59294","5123"],"./ht.js":["8809","4594"],"./lo.js":["73860","7141"],"./my.js":["46803","8480"],"./et":["4288","5881"],"./br.js":["72745","1586"],"./gu":["57409","474"],"./it-ch":["19286","1179"],"./sv-fi":["9160","9953"],"./ne.js":["40880","553"],"./zh-cn.js":["16033"],"./gom-latn.js":["78660","7669"],"./bg.js":["39990","1979"],"./mr.js":["46462","5459"],"./cv.js":["4780","5933"],"./lt.js":["34485","406"],"./pt":["72369","9578"],"./th.js":["47081","2258"],"./cs.js":["9751","4076"],"./es.js":["47317","70"],"./bn.js":["92509","2110"],"./ar-tn":["54405","6870"],"./mi":["32739","4672"],"./sr.js":["45616","3641"],"./tr":["4895","5108"],"./bn-bd":["64608","6345"],"./fa.js":["90292","7413"],"./it":["33900","1469"],"./nl":["69423","8676"],"./zh-hk":["87741","2622"],"./fo.js":["17674","791"],"./bs.js":["25530","8295"],"./ja.js":["50952","4801"],"./my":["46803","8480"],"./es-do.js":["61219","448"],"./gl":["33562","7095"],"./nl-be.js":["60465","6346"],"./en-ca.js":["21995","4456"],"./tzm-latn.js":["58804","2613"],"./types.d.ts":["69224","929"],"./ru.js":["62796","6093"],"./sq.js":["95977","4930"],"./cv":["4780","5933"],"./km.js":["36101","7318"],"./fa":["90292","7413"],"./cs":["9751","4076"],"./ms":["79677","2446"],"./types.d":["69224","929"],"./ca":["25993","9170"],"./tr.js":["4895","5108"],"./x-pseudo":["5760","8217"],"./tzm-latn":["58804","2613"],"./kn":["6364","93"],"./jv":["77741","4686"],"./ms-my.js":["26400","8473"],"./ht":["8809","4594"],"./be":["51532","8349"],"./gd":["68418","3039"],"./en-au":["59881","5861"],"./ka":["46481","9274"],"./ka.js":["46481","9274"],"./ur":["51750","5819"],"./sv.js":["21340","3309"],"./zh-cn":["16033"],"./pl.js":["63225","6914"],"./hi":["52830","3859"],"./ug-cn":["79911","3260"],"./ar-kw":["79865","242"],"./dv.js":["82187","5640"],"./id":["87420","557"],"./dv":["82187","5640"],"./vi.js":["96098","8269"],"./de-ch":["13672","1329"],"./en-in.js":["60912","3977"],"./es-pr.js":["3532","9021"],"./es-us.js":["32498","335"],"./ar-iq":["13309","3102"],"./fi.js":["89964","9565"],"./ca.js":["25993","9170"],"./ms.js":["79677","2446"],"./zh-tw":["31349","3526"],"./bs":["25530","8295"],"./rw.js":["35414","9592"],"./fy":["59836","2301"],"./uz-latn":["80950","8635"],"./mt.js":["99464","6241"],"./fr.js":["813","6062"],"./hu":["38298","183"],"./lv.js":["76467","8624"],"./sr-cyrl.js":["27439","3396"],"./tzl":["3187","896"],"./mn":["12698","8631"],"./pa-in":["39252","8053"],"./nl-be":["60465","6346"],"./kk":["11335","300"],"./en-tt":["2619","7608"],"./ar-ly.js":["85592","2913"],"./hr.js":["15811","9248"],"./kk.js":["11335","300"],"./ar":["2338","5791"],"./ar-dz.js":["48361","2322"],"./ar-sa":["40539","1848"],"./nl.js":["69423","8676"],"./cy":["95681","5757"],"./en-ie":["17329","58"],"./lb.js":["88615","8252"],"./ar-ly":["85592","2913"],"./de.js":["50494","7507"],"./am":["4736","192"],"./lv":["76467","8624"],"./tg":["15012","2565"],"./de-at.js":["32878","3283"],"./sl":["39998","4195"],"./tg.js":["15012","2565"],"./ky.js":["34457","3458"],"./kn.js":["6364","93"],"./bo":["59294","5123"],"./da":["42706","4767"],"./ss.js":["52487","492"],"./uz":["54734","7555"],"./fr-ch":["73433","5122"],"./sk":["46847","6660"],"./hu.js":["38298","183"],"./sr":["45616","3641"],"./he":["92010","1463"],"./uk.js":["34173","2270"],"./es-mx":["64719","9204"],"./se.js":["55285","8294"],"./oc-lnc":["70225","5642"],"./pt-br.js":["92218","1863"],"./rw":["35414","9592"],"./ar-sa.js":["40539","1848"],"./nb.js":["7205","630"],"./fr-ca":["86290","4223"],"./hi.js":["52830","3859"],"./gl.js":["33562","7095"],"./en-ie.js":["17329","58"],"./me.js":["80623","3028"],"./fy.js":["59836","2301"],"./ar.js":["2338","5791"],"./az":["51130","9847"],"./lt":["34485","406"],"./en":["65826","5087"],"./ro.js":["24334","5139"],"./sw":["2979","9584"],"./te.js":["87406","4419"],"./tl-ph.js":["78142","1667"],"./es-mx.js":["64719","9204"],"./ky":["34457","3458"],"./it.js":["33900","1469"],"./zh-hk.js":["87741","2622"],"./da.js":["42706","4767"],"./te":["87406","4419"],"./mt":["99464","6241"],"./lb":["88615","8252"],"./uz-latn.js":["80950","8635"],"./ml.js":["75376","8729"],"./en-sg.js":["12673","1434"],"./uz.js":["54734","7555"],"./tzm.js":["95084","1101"],"./tet":["18928","1481"],"./oc-lnc.js":["70225","5642"],"./az.js":["51130","9847"],"./en-au.js":["59881","5861"],"./fr":["813","6062"],"./gd.js":["68418","3039"],"./yo.js":["87933","5870"],"./nn":["23473","5674"],"./bm":["71092","5701"],"./index.d.ts":["41213","9550"],"./sw.js":["2979","9584"],"./af":["65662","3523"],"./en-il":["97690","8087"],"./eu":["94007","1052"],"./et.js":["4288","5881"],"./rn":["34509","2606"],"./se":["55285","8294"],"./sv-fi.js":["9160","9953"],"./gu.js":["57409","474"],"./gom-latn":["78660","7669"],"./pl":["63225","6914"],"./ar-dz":["48361","2322"],"./ar-ma":["81289","1986"],"./eu.js":["94007","1052"],"./ss":["52487","492"],"./tk.js":["62544","9065"],"./es-us":["32498","335"],"./bi":["95944","5905"],"./ug-cn.js":["79911","3260"],"./mn.js":["12698","8631"],"./pt.js":["72369","9578"],"./cy.js":["95681","5757"],"./mr":["46462","5459"],"./ga.js":["54061","3646"],"./ko":["88003","4784"],"./ku.js":["16605","9518"],"./af.js":["65662","3523"],"./hy-am.js":["94309","1846"],"./es":["47317","70"],"./ml":["75376","8729"],"./en-ca":["21995","4456"],"./bn":["92509","2110"],"./ga":["54061","3646"],"./is.js":["15513","5506"],"./sd.js":["63222","1675"],"./sl.js":["39998","4195"],"./tlh.js":["60321","3978"],"./tl-ph":["78142","1667"],"./uk":["34173","2270"],"./x-pseudo.js":["5760","8217"],"./is":["15513","5506"],"./jv.js":["77741","4686"],"./el.js":["54072","9217"],"./fi":["89964","9565"],"./bn-bd.js":["64608","6345"],"./en-gb":["72026","8759"],"./en-gb.js":["72026","8759"],"./mk":["75877","4358"],"./ne":["40880","553"],"./ro":["24334","5139"],"./mk.js":["75877","4358"],"./si":["65665","3898"],"./tzm":["95084","1101"],"./be.js":["51532","8349"],"./de":["50494","7507"],"./rn.js":["34509","2606"],"./si.js":["65665","3898"],"./yo":["87933","5870"],"./bg":["39990","1979"],"./en.js":["65826","5087"],"./sv":["21340","3309"],"./th":["47081","2258"],"./bm.js":["71092","5701"],"./nn.js":["23473","5674"],"./ar-ma.js":["81289","1986"],"./index.d":["41213","9550"],"./ja":["50952","4801"],"./ta.js":["77250","1887"],"./ar-tn.js":["54405","6870"],"./sd":["63222","1675"],"./sk.js":["46847","6660"],"./tzl.js":["3187","896"],"./en-nz.js":["35571","4096"],"./eo":["33713","7386"],"./ta":["77250","1887"],"./en-tt.js":["2619","7608"],"./it-ch.js":["19286","1179"],"./sr-cyrl":["27439","3396"]};function r(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],r=t[0];return Promise.all(t.slice(1).map(l.e)).then(function(){return l.t(r,23)})}r.keys=()=>Object.keys(n),r.id=65359,e.exports=r},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 r(e){return l(i(e))}function i(e){if(!l.o(n,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}r.keys=function(){return Object.keys(n)},r.resolve=i,e.exports=r,r.id=35358},22414(e,t,l){let n,r,i;var o,a,s,d,u,c,p,h,m,f={};l.r(f),l.d(f,{default:()=>iW,evaluators:()=>iK,getOptions:()=>iU});var g={};l.r(g),l.d(g,{array:()=>on,bigField:()=>oh,boolean:()=>ou,collection:()=>op,datetime:()=>oi,enumType:()=>os,id:()=>oa,number:()=>oo,object:()=>or,string:()=>ol,tableoid:()=>oc,time:()=>od});var v={};l.r(v),l.d(v,{connectFields:()=>hP,customizeFilterRender:()=>h$,defaultOperator:()=>h_,operatorComponentProps:()=>hL});var y={};l.r(y),l.d(y,{ASSIGN_FIELD_VALUES_STEP_KEY:()=>us.zL,ActionGroupModel:()=>sL,ActionModel:()=>sz.S0,ActionSceneEnum:()=>sz.s5,ActionWithoutPermission:()=>sz._T,AddChildActionModel:()=>uO,AddNewActionModel:()=>dG,AssignFormGridModel:()=>uz,AssignFormItemModel:()=>cl,AssignFormModel:()=>uL,AssociateActionModel:()=>d4,AssociationFieldGroupModel:()=>sK,AssociationFieldModel:()=>cy,BasePageTabModel:()=>dL,BlockGridModel:()=>dw,BlockModel:()=>dS.z,BlockSceneEnum:()=>dS.P,BulkDeleteActionModel:()=>d8,CascadeSelectFieldModel:()=>gz,CascadeSelectInnerFieldModel:()=>gV,CascadeSelectListFieldModel:()=>gK,CheckboxFieldModel:()=>vs,CheckboxGroupFieldModel:()=>vd,ChildPageModel:()=>d_,ChildPageTabModel:()=>dq,ClickableFieldModel:()=>gP,CollectionActionGroupModel:()=>sV,CollectionActionModel:()=>dM.U,CollectionBlockModel:()=>dA.t,CollectionSelectorFieldModel:()=>vp,ColorFieldModel:()=>vf,CommonItemModel:()=>dF,CreateContent:()=>cV,CreateFormModel:()=>hq,CustomWidth:()=>mR,DataBlockModel:()=>dk.R,DateOnlyFieldModel:()=>vF,DateOnlyFilterFieldModel:()=>c2,DateOnlyPicker:()=>vA,DateTimeFilterFieldModel:()=>c0,DateTimeNoTzFieldModel:()=>vC,DateTimeNoTzFilterFieldModel:()=>c4,DateTimeNoTzPicker:()=>vk,DateTimeTzFieldModel:()=>vR,DateTimeTzFilterFieldModel:()=>c3,DateTimeTzPicker:()=>vE,DeleteActionModel:()=>d3,DetailsAssociationFieldGroupModel:()=>cn,DetailsBlockModel:()=>ca,DetailsCustomItemModel:()=>cd,DetailsGridModel:()=>cu,DetailsItemModel:()=>uQ,DetailsJSFieldItemModel:()=>cf,DisassociateActionModel:()=>d6,DisplayCheckboxFieldModel:()=>bf,DisplayColorFieldModel:()=>yG,DisplayDateTimeFieldModel:()=>yX,DisplayEnumFieldModel:()=>y1,DisplayHtmlFieldModel:()=>y5,DisplayIconFieldModel:()=>y4,DisplayJSONFieldModel:()=>y6,DisplayNumberFieldModel:()=>ba,DisplayPasswordFieldModel:()=>bd,DisplayPercentFieldModel:()=>bu,DisplaySubItemFieldModel:()=>yz,DisplaySubListFieldModel:()=>yH,DisplaySubTableFieldModel:()=>yq,DisplayTextFieldModel:()=>bc,DisplayTimeFieldModel:()=>bh,DisplayTitleFieldModel:()=>yO,DisplayURLFieldModel:()=>bp,DividerItemModel:()=>yj,EditActionModel:()=>d9,EditFormContent:()=>g1,EditFormModel:()=>uZ.EditFormModel,ExpandCollapseActionModel:()=>u_,FieldDeletePlaceholder:()=>mC,FieldModel:()=>aR.o,FieldModelSelect:()=>pd,FieldOperatorSelect:()=>pC,FilterActionModel:()=>ut,FilterBlockModel:()=>dC,FilterFormActionGroupModel:()=>pz,FilterFormActionModel:()=>pq,FilterFormBlockModel:()=>hl,FilterFormCollapseActionModel:()=>ha,FilterFormCustomFieldModel:()=>pT,FilterFormCustomItemModel:()=>pP,FilterFormCustomRecordSelectFieldModel:()=>pV,FilterFormFieldModel:()=>cg,FilterFormGridModel:()=>hw,FilterFormItemModel:()=>hx,FilterFormJSActionModel:()=>hS,FilterFormRecordSelectFieldModel:()=>cQ,FilterFormResetActionModel:()=>hM,FilterFormSubmitActionModel:()=>hA,FilterManager:()=>s7,FormActionGroupModel:()=>up,FormActionModel:()=>uu,FormAssociationFieldGroupModel:()=>hX,FormAssociationItemModel:()=>h5,FormBlockContent:()=>uB.JU,FormBlockModel:()=>uB.F4,FormComponent:()=>uB.s2,FormCustomItemModel:()=>hz,FormGridModel:()=>uV,FormItemModel:()=>u8,FormJSFieldItemModel:()=>hK,FormModel:()=>uB.mO,FormSubmitActionModel:()=>uc,GRID_FLOW_KEY:()=>dp,GRID_STEP:()=>dh,GridModel:()=>df,IconFieldModel:()=>vN,InputFieldModel:()=>vO.m,InputNumberField:()=>vW,JSActionModel:()=>uo,JSBlockModel:()=>mr,JSCollectionActionModel:()=>ua,JSColumnModel:()=>fh,JSEditableFieldModel:()=>yF,JSFieldModel:()=>yh,JSFormActionModel:()=>hU,JSItemActionModel:()=>uv,JSItemModel:()=>yD,JSRecordActionModel:()=>uy,JsonFieldModel:()=>n,JsonInput:()=>vq,LinkActionModel:()=>uT,MainPageModel:()=>dO,MarkdownItemModel:()=>y_,NBColorPicker:()=>vm,NumberFieldModel:()=>vH,ObjectNester:()=>gc,PageModel:()=>dI,PageTabModel:()=>dz,PasswordFieldModel:()=>vG,PercentFieldModel:()=>vQ,PercentInput:()=>vX,PluginSettingsTopbarActionModel:()=>nW,PopupActionModel:()=>dW,PopupCollectionActionModel:()=>ub,PopupSubTableActionGroupModel:()=>vt,PopupSubTableActionsColumnModel:()=>vr,PopupSubTableEditActionModel:()=>g5,PopupSubTableFieldModel:()=>g7,PopupSubTableFormActionGroupModel:()=>uf,PopupSubTableFormModel:()=>vi,PopupSubTableFormSubmitActionModel:()=>um,PopupSubTableRemoveActionModel:()=>ve,QUICK_EDIT_FORM_MAX_HEIGHT:()=>hH,QUICK_EDIT_MARKDOWN_HEIGHT:()=>hG,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>hW,QuickEditFormModel:()=>hJ,RadioGroupFieldModel:()=>vZ,RecordActionGroupModel:()=>sq,RecordActionModel:()=>dH.L,RecordPickerContent:()=>fL,RecordPickerFieldModel:()=>fq,RecordSelectFieldModel:()=>cW,RefreshActionModel:()=>ux,RichTextField:()=>v9,RichTextFieldModel:()=>r,RootPageModel:()=>dK,RootPageTabModel:()=>dV,RouteModel:()=>eF,SelectFieldModel:()=>yl,SourceCascader:()=>pE,SubFormFieldModel:()=>gp,SubFormListFieldModel:()=>gm,SubPageModel:()=>dU,SubTableColumnModel:()=>f7,SubTableFieldModel:()=>gs,SubTableRecordAction:()=>g2,TABLE_COLUMN_MIN_WIDTH:()=>mj,TableActionsColumnModel:()=>mL,TableAssociationFieldGroupModel:()=>mV,TableBlockModel:()=>fn,TableColumnModel:()=>mT,TableCustomColumnModel:()=>m_,TableJSFieldItemModel:()=>fc,TableSelectModel:()=>fu,TextareaFieldModel:()=>i,TimeFieldModel:()=>yu,TopbarActionModel:()=>nL,UIEditorTopbarActionModel:()=>nU,USER_CENTER_ACTION_ID:()=>nH,UnitConversion:()=>bs,UpdateRecordActionModel:()=>uk,UserCenterActionItemModel:()=>n2,UserCenterItemModel:()=>n0,UserCenterSelectItemModel:()=>n5,UserCenterTextItemModel:()=>n1,UserCenterTopbarActionModel:()=>n7,VariableFieldFormModel:()=>yc,ViewActionModel:()=>uC,applyAssociateAction:()=>d1,applyClickToOpenProps:()=>gF,applyClickToOpenSetting:()=>gC,applyDisassociateAction:()=>d0,buildDisplayPathFromValue:()=>gD,buildRecordPickerParentItemContext:()=>fN,buildRecordPickerPopupContextInputArgs:()=>f$,canRecordPickerSelectMultiple:()=>fj,collectAssociationHydrationCandidates:()=>cN,collectCascadeHydrationCandidate:()=>gT,connectFields:()=>hP,createAssignFieldValuesStep:()=>us.KW,createAssignFormSubModelOptions:()=>us.nF,customizeFilterRender:()=>h$,defaultOperator:()=>h_,findOptionPathByTk:()=>gN,formatNumber:()=>bi,getAllDataModels:()=>s5,getAssignFieldValuesDefaultParams:()=>us.Z1,getAssociationBlockResourceSettings:()=>dY,getAssociationHydrationNamePath:()=>cO,getAssociationHydrationSetterContext:()=>c$,getAssociationSelectAssociatedRecordsFilter:()=>fd,getAssociationSelectForeignKeyFilter:()=>fs,getAssociationSelectorContextInputArgs:()=>dQ,getAssociationTargetResourceSettings:()=>dX,getDefaultOperator:()=>s1,getDetailsItemValue:()=>uJ,getDisplayNumber:()=>bo,getFilterFormOperatorList:()=>sZ,getFilterFormOperatorMeta:()=>s0,getQuickEditFieldProps:()=>hY,getRecordPickerClearedValue:()=>fT,getRecordPickerEmptyValue:()=>fI,getTopbarPluginSettingsItems:()=>nB,getValueWithIndex:()=>uY,injectRecordPickerPopupContext:()=>fO,isAssociationBlockContext:()=>dJ,isFilterValueEmpty:()=>s2,joinUrlSearch:()=>uj,markCascadeHydrationDone:()=>g_,mergeAssignFieldValues:()=>us.GO,normalizeRecordPickerSelectedRows:()=>fR,normalizeRecordPickerValue:()=>f_,normalizeTableColumnWidth:()=>mE,operatorComponentProps:()=>hL,recalculateGridSizes:()=>dv,refreshClickToOpenRuntime:()=>gk,resolveAssignFieldValues:()=>us.eu,resolveCustomFieldOperatorList:()=>pA,resolveDefaultCustomFieldOperator:()=>pF,shouldClearRecordPickerValueOnMultipleChange:()=>fE,tableRowActionsClassName:()=>mO,toOperatorSelectOptions:()=>pk,transformNestedData:()=>gw,transformRowsToSingleColumn:()=>dg});var b={};l.r(b),l.d(b,{aclCheck:()=>xr,aclCheckRefresh:()=>xd,actionLinkageRules:()=>w7,afterSuccess:()=>aP,blockHeight:()=>x9,blockLinkageRules:()=>w9,confirm:()=>aj,customVariable:()=>bN,dataLoadingMode:()=>b3,dataScope:()=>sO,dateRangeLimit:()=>b5,dateTimeFormat:()=>b0,detailsFieldLinkageRules:()=>Sn,displayFieldComponent:()=>xt,fieldComponent:()=>xl,fieldLinkageRules:()=>St,filterFormDefaultValues:()=>x5,fixed:()=>xg,formAssignRules:()=>x1,layout:()=>b9,linkageAssignField:()=>w1,linkageRulesRefresh:()=>x4,linkageRunjs:()=>w5,linkageSetActionProps:()=>wq,linkageSetBlockProps:()=>wV,linkageSetDetailsFieldProps:()=>wW,linkageSetFieldProps:()=>wK,linkageSetMenuItemProps:()=>wz,menuLinkageRules:()=>Se,navigateToURL:()=>b_,numberFormat:()=>Sa,openView:()=>bk,overflowMode:()=>Si,pattern:()=>xh,refreshTargetBlocks:()=>bV,renderMode:()=>b6,required:()=>b7,runjs:()=>bC,setTargetDataScope:()=>bH,showMessage:()=>bE,showNotification:()=>bT,sortingRule:()=>b8,subFormFieldLinkageRules:()=>Sl,subFormLinkageAssignField:()=>w2,subFormLinkageSetFieldProps:()=>wU,titleField:()=>bX,validation:()=>xf});var x={};l.r(x),l.d(x,{ACLContext:()=>nd.w0,ACLRolesCheckProvider:()=>nd.rR,ADMIN_LAYOUT_MODEL_UID:()=>tR,ADMIN_SETTINGS_KEY:()=>at.w$,ADMIN_SETTINGS_LAYOUT_MODEL_UID:()=>nI.O,ADMIN_SETTINGS_PATH:()=>at.wq,AIManager:()=>eg,APIClient:()=>O,ASSIGN_FIELD_VALUES_STEP_KEY:()=>us.zL,ActionGroupModel:()=>sL,ActionModel:()=>sz.S0,ActionSceneEnum:()=>sz.s5,ActionWithoutPermission:()=>sz._T,AddChildActionModel:()=>uO,AddNewActionModel:()=>dG,AdminLayoutComponent:()=>rN,AdminLayoutContent:()=>nn,AdminLayoutMenuItemModel:()=>lJ,AdminLayoutMenuItemRenderer:()=>lb,AdminLayoutMenuModelRenderer:()=>lS,AdminLayoutModel:()=>rG,AdminLayoutRouteCoordinator:()=>tE,AdminSettingsLayout:()=>S4.AdminSettingsLayout,AdminSettingsLayoutModel:()=>S8.C,AntdAppProvider:()=>en,AppError:()=>ey.uV,AppMaintaining:()=>ey.be,AppMaintainingDialog:()=>ey.tp,AppNotFound:()=>ey.bM,AppSpin:()=>ey.gv,Application:()=>ac,ApplicationContext:()=>ap,ApplicationModel:()=>oe,AssignFormGridModel:()=>uz,AssignFormItemModel:()=>cl,AssignFormModel:()=>uL,AssociateActionModel:()=>d4,AssociationFieldGroupModel:()=>sK,AssociationFieldModel:()=>cy,BaseApplication:()=>i6,BaseLayoutModel:()=>eJ,BaseLayoutRouteCoordinator:()=>e_,BasePageTabModel:()=>dL,BlankComponent:()=>ey.ct,BlockGridModel:()=>dw,BlockModel:()=>dS.z,BlockSceneEnum:()=>dS.P,BulkDeleteActionModel:()=>d8,CascadeSelectFieldModel:()=>gz,CascadeSelectInnerFieldModel:()=>gV,CascadeSelectListFieldModel:()=>gK,CheckboxFieldInterface:()=>M_,CheckboxFieldModel:()=>vs,CheckboxGroupFieldInterface:()=>MD,CheckboxGroupFieldModel:()=>vd,ChildPageModel:()=>d_,ChildPageTabModel:()=>dq,ClickableFieldModel:()=>gP,CodeEditor:()=>ur.BY,CodeEditorExtension:()=>ur.o8,CodeScanner:()=>ey.O5,CollectionActionGroupModel:()=>sV,CollectionActionModel:()=>dM.U,CollectionBlockModel:()=>dA.t,CollectionFieldInterface:()=>MT,CollectionFieldInterfaceManager:()=>oX,CollectionFilter:()=>ey.px,CollectionFilterPanel:()=>ey.XO,CollectionSelect:()=>oM,CollectionSelectFieldInterface:()=>MN,CollectionSelectorFieldModel:()=>vp,ColorFieldInterface:()=>MO,ColorFieldModel:()=>vf,CommonItemModel:()=>dF,CreateContent:()=>cV,CreateFormModel:()=>hq,CreatedAtFieldInterface:()=>M$,CreatedByFieldInterface:()=>MB,CurrentUserContext:()=>Mh,CustomWidth:()=>mR,DEFAULT_DATA_SOURCE_KEY:()=>eZ.Ze,DEFAULT_PAGE_SIZE:()=>ey.yQ,DataBlockModel:()=>dk.R,DateFieldInterface:()=>Ad,DateOnlyFieldModel:()=>vF,DateOnlyFilterFieldModel:()=>c2,DateOnlyPicker:()=>vA,DateTimeFilterFieldModel:()=>c0,DateTimeNoTzFieldModel:()=>vC,DateTimeNoTzFilterFieldModel:()=>c4,DateTimeNoTzPicker:()=>vk,DateTimeTzFieldModel:()=>vR,DateTimeTzFilterFieldModel:()=>c3,DateTimeTzPicker:()=>vE,DatetimeFieldInterface:()=>ML,DatetimeNoTzFieldInterface:()=>Au,DefaultToolsManager:()=>ef,DeleteActionModel:()=>d3,DetailsAssociationFieldGroupModel:()=>cn,DetailsBlockModel:()=>ca,DetailsCustomItemModel:()=>cd,DetailsGridModel:()=>cu,DetailsItemModel:()=>uQ,DetailsJSFieldItemModel:()=>cf,DialogFormLayout:()=>ey.xg,DisassociateActionModel:()=>d6,DisplayCheckboxFieldModel:()=>bf,DisplayColorFieldModel:()=>yG,DisplayDateTimeFieldModel:()=>yX,DisplayEnumFieldModel:()=>y1,DisplayHtmlFieldModel:()=>y5,DisplayIconFieldModel:()=>y4,DisplayJSONFieldModel:()=>y6,DisplayNumberFieldModel:()=>ba,DisplayPasswordFieldModel:()=>bd,DisplayPercentFieldModel:()=>bu,DisplaySubItemFieldModel:()=>yz,DisplaySubListFieldModel:()=>yH,DisplaySubTableFieldModel:()=>yq,DisplayTextFieldModel:()=>bc,DisplayTimeFieldModel:()=>bh,DisplayTitleFieldModel:()=>yO,DisplayURLFieldModel:()=>bp,DividerItemModel:()=>yj,DragSortRowContext:()=>ey.c5,DrawerFormLayout:()=>ey.gh,EditActionModel:()=>d9,EditFormContent:()=>g1,EditFormModel:()=>uZ.EditFormModel,EmailFieldInterface:()=>MV,EnvVariableInput:()=>ey.s9,ExpandCollapseActionModel:()=>u_,ExtendCollectionsProvider:()=>Am,FieldDeletePlaceholder:()=>mC,FieldFilterOperatorRegistry:()=>om,FieldModel:()=>aR.o,FieldModelSelect:()=>pd,FieldOperatorSelect:()=>pC,FieldValidationConfigureRegistry:()=>oW,FileSizeInput:()=>ey.c,FilterActionModel:()=>ut,FilterBlockModel:()=>dC,FilterContent:()=>aE.oJ,FilterFormActionGroupModel:()=>pz,FilterFormActionModel:()=>pq,FilterFormBlockModel:()=>hl,FilterFormCollapseActionModel:()=>ha,FilterFormCustomFieldModel:()=>pT,FilterFormCustomItemModel:()=>pP,FilterFormCustomRecordSelectFieldModel:()=>pV,FilterFormFieldModel:()=>cg,FilterFormGridModel:()=>hw,FilterFormItemModel:()=>hx,FilterFormJSActionModel:()=>hS,FilterFormRecordSelectFieldModel:()=>cQ,FilterFormResetActionModel:()=>hM,FilterFormSubmitActionModel:()=>hA,FilterGroup:()=>aE.I8,FilterItem:()=>aE.qi,FilterManager:()=>s7,FlowModelRepository:()=>Sp,FlowPage:()=>bb,FlowRoute:()=>r5,FormActionGroupModel:()=>up,FormActionModel:()=>uu,FormAssociationFieldGroupModel:()=>hX,FormAssociationItemModel:()=>h5,FormBlockContent:()=>uB.JU,FormBlockModel:()=>uB.F4,FormComponent:()=>uB.s2,FormCustomItemModel:()=>hz,FormGridModel:()=>uV,FormItemModel:()=>u8,FormJSFieldItemModel:()=>hK,FormModel:()=>uB.mO,FormSubmitActionModel:()=>uc,GRID_FLOW_KEY:()=>dp,GRID_STEP:()=>dh,GlobalThemeProvider:()=>eh,GridModel:()=>df,HeaderContext:()=>ld,Icon:()=>ey.In,IconFieldInterface:()=>Mq,IconFieldModel:()=>vN,IdFieldInterface:()=>Mz,InputFieldInterface:()=>MW,InputFieldModel:()=>vO.m,InputNumberField:()=>vW,IntegerFieldInterface:()=>MH,InternalAdminSettingsLayout:()=>S4.InternalAdminSettingsLayout,JSActionModel:()=>uo,JSBlockModel:()=>mr,JSCollectionActionModel:()=>ua,JSColumnModel:()=>fh,JSEditableFieldModel:()=>yF,JSFieldModel:()=>yh,JSFormActionModel:()=>hU,JSItemActionModel:()=>uv,JSItemModel:()=>yD,JSRecordActionModel:()=>uy,JsonFieldInterface:()=>MG,JsonFieldModel:()=>n,JsonInput:()=>vq,JsonTextArea:()=>ey.V4,LayoutContent:()=>nr,LayoutContentRoute:()=>r8,LayoutManager:()=>im,LayoutRoute:()=>ir,LinkActionModel:()=>uT,LinkageFilterItem:()=>aE.Ru,M2MFieldInterface:()=>MY,M2OFieldInterface:()=>MJ,MAX_MESSAGE_CHARS:()=>ur.hP,MENU_TYPE_OPTIONS:()=>lN,MainPageModel:()=>dO,MarkdownFieldInterface:()=>MX,MarkdownItemModel:()=>y_,MobileMenuControlContext:()=>ls,MockFlowModelRepository:()=>Sc,MultipleSelectFieldInterface:()=>MQ,NBColorPicker:()=>vm,NanoidFieldInterface:()=>Aa,NocoBaseBuildInPlugin:()=>Mb,NocoBaseBuildInPluginV2:()=>Mb,NumberFieldInterface:()=>MZ,NumberFieldModel:()=>vH,O2MFieldInterface:()=>M1,OBOFieldInterface:()=>M0,OHOFieldInterface:()=>M2,ObjectNester:()=>gc,OptionsEditor:()=>oz,PAGE_SIZE_OPTIONS:()=>ey.xp,PLUGIN_MANAGER_SETTING_NAME:()=>nI.Bm,PageModel:()=>dI,PageTabModel:()=>dz,PasswordFieldInterface:()=>M5,PasswordFieldModel:()=>vG,PasswordInput:()=>ey.yA,PercentFieldInterface:()=>M4,PercentFieldModel:()=>vQ,PercentInput:()=>vX,PhoneFieldInterface:()=>M8,PinnedPluginListContext:()=>nc,PinnedPluginListLite:()=>rl,Plugin:()=>ay,PluginFlowEngine:()=>S9,PluginManager:()=>ae,PluginManagerPage:()=>S3.PluginManagerPage,PluginSettingsManager:()=>at.mz,PluginSettingsTopbarActionModel:()=>nW,PopupActionModel:()=>dW,PopupCollectionActionModel:()=>ub,PopupSubTableActionGroupModel:()=>vt,PopupSubTableActionsColumnModel:()=>vr,PopupSubTableEditActionModel:()=>g5,PopupSubTableFieldModel:()=>g7,PopupSubTableFormActionGroupModel:()=>uf,PopupSubTableFormModel:()=>vi,PopupSubTableFormSubmitActionModel:()=>um,PopupSubTableRemoveActionModel:()=>ve,PoweredBy:()=>ey.G5,QUICK_EDIT_FORM_MAX_HEIGHT:()=>hH,QUICK_EDIT_MARKDOWN_HEIGHT:()=>hG,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>hW,QuickEditFormModel:()=>hJ,RadioGroupFieldInterface:()=>M3,RadioGroupFieldModel:()=>vZ,RangeValidationItems:()=>oU,RecordActionGroupModel:()=>sq,RecordActionModel:()=>dH.L,RecordPickerContent:()=>fL,RecordPickerFieldModel:()=>fq,RecordSelectFieldModel:()=>cW,RefreshActionModel:()=>ux,RemoteFlowModelRenderer:()=>bx,RemoteSelect:()=>ey.lT,ResetThemeTokenAndKeepAlgorithm:()=>tO,RichTextField:()=>v9,RichTextFieldInterface:()=>M6,RichTextFieldModel:()=>r,RootPageModel:()=>dK,RootPageTabModel:()=>dV,RouteModel:()=>eF,RouteRepository:()=>ig,RouterContextCleaner:()=>ey.PK,RouterManager:()=>aa,SNIPPET_PREFIX:()=>at.tJ,SYSTEM_SETTINGS_SETTING_NAME:()=>nI.jm,ScanInput:()=>ey.E5,SelectFieldInterface:()=>M9,SelectFieldModel:()=>yl,SkeletonFallback:()=>r9,SnowflakeIdFieldInterface:()=>M7,SortHandle:()=>ey.vm,SortableRow:()=>ey.B7,SourceCascader:()=>pE,SubFormFieldModel:()=>gp,SubFormListFieldModel:()=>gm,SubPageModel:()=>dU,SubTableColumnModel:()=>f7,SubTableFieldModel:()=>gs,SubTableRecordAction:()=>g2,SwitchLanguage:()=>ey.rw,SystemSettingsPage:()=>S6.SystemSettingsPage,SystemSettingsSource:()=>eb.o,TABLE_COLUMN_MIN_WIDTH:()=>mj,Table:()=>ey.XI,TableActionsColumnModel:()=>mL,TableAssociationFieldGroupModel:()=>mV,TableBlockModel:()=>fn,TableColumnModel:()=>mT,TableCustomColumnModel:()=>m_,TableJSFieldItemModel:()=>fc,TableSelectModel:()=>fu,TableoidFieldInterface:()=>Ae,TextAreaWithContextSelector:()=>ax.n,TextareaFieldInterface:()=>At,TextareaFieldModel:()=>i,TimeFieldInterface:()=>Al,TimeFieldModel:()=>yu,TopbarActionModel:()=>nL,TypedVariableInput:()=>ey.Pb,UIEditorTopbarActionModel:()=>nU,USER_CENTER_ACTION_ID:()=>nH,UUIDFieldInterface:()=>Ao,UnitConversion:()=>bs,UnixTimestampFieldInterface:()=>As,UpdateRecordActionModel:()=>uk,UpdatedAtFieldInterface:()=>An,UpdatedByFieldInterface:()=>Ar,UrlFieldInterface:()=>Ai,UserCenterActionItemModel:()=>n2,UserCenterItemModel:()=>n0,UserCenterSelectItemModel:()=>n5,UserCenterTextItemModel:()=>n1,UserCenterTopbarActionModel:()=>n7,VariableFieldFormModel:()=>yc,VariableFilterItem:()=>aE.Et,VariableInput:()=>ey.P8,VariableJSON:()=>ey.hJ,VariableJsonTextArea:()=>ey.jr,VariableTextArea:()=>ey.hp,ViewActionModel:()=>uC,WebSocketClient:()=>iv,aclCheck:()=>xr,aclCheckRefresh:()=>xd,actionLinkageRules:()=>w7,addCustomAlgorithmToTheme:()=>ed,addFieldValidationConfiguresToGroup:()=>oJ,afterSuccess:()=>aP,applyAssociateAction:()=>d1,applyClickToOpenProps:()=>gF,applyClickToOpenSetting:()=>gC,applyDisassociateAction:()=>d0,applyMobilePaginationProps:()=>uw.hO,array:()=>on,bigField:()=>oh,blockHeight:()=>x9,blockLinkageRules:()=>w9,boolean:()=>ou,buildDisplayPathFromValue:()=>gD,buildInsertRouteSchema:()=>lH,buildLinkSettingSchema:()=>lT,buildMenuBasicSchema:()=>lO,buildMenuTitleWithIcon:()=>lA,buildRecordPickerParentItemContext:()=>fN,buildRecordPickerPopupContextInputArgs:()=>f$,buildV2SigninHref:()=>tc,canRecordPickerSelectMultiple:()=>fj,collectAssociationHydrationCandidates:()=>cN,collectCascadeHydrationCandidate:()=>gT,collection:()=>op,compatOldTheme:()=>ea,configurePropertiesToItems:()=>oI,confirm:()=>aj,connectFields:()=>hP,createAclSnippetAllow:()=>nd.rN,createAssignFieldValuesStep:()=>us.KW,createAssignFormSubModelOptions:()=>us.nF,createCompactSimpleItemRender:()=>uw.hH,createDefaultCollectionBlockTitle:()=>uw.lr,createFilterable:()=>ow,createFormRegistry:()=>ey.oV,createInsertMenuStep:()=>lq,createMockClient:()=>av,createSettingsPathMap:()=>nI.nC,createTypedFilterable:()=>oS,customAlgorithm:()=>es,customVariable:()=>bN,customizeFilterRender:()=>h$,dataLoadingMode:()=>b3,dataScope:()=>sO,dateRangeLimit:()=>b5,dateTimeFormat:()=>b0,dateTimeFormatConfigureItems:()=>oL,datetime:()=>oi,defaultOperator:()=>h_,defaultTheme:()=>eo,detailsFieldLinkageRules:()=>Sn,diagnoseRunJS:()=>ur.fL,dispatchEventDeep:()=>uw.Xi,displayFieldComponent:()=>xt,editMarkdownFlow:()=>yI,enumType:()=>os,escapeHTML:()=>nv.Z,evaluateFieldConfigureExpression:()=>oC,fieldComponent:()=>xl,fieldFilterOperatorPresets:()=>ov,fieldFilterOperators:()=>og,fieldLinkageRules:()=>St,fieldValidationConfigureRegistry:()=>oH,filterFormDefaultValues:()=>x5,filterOperatorRegistry:()=>of,filterRenderableSettings:()=>nI.Ui,filterVisibleSettings:()=>nI.eD,findFirstAccessiblePageRoute:()=>tC,findFirstInternalSettingsPage:()=>nI.X2,findFirstV2LandingRoute:()=>tk,findNextSiblingRoute:()=>lU,findOptionPathByTk:()=>gN,findPrevSiblingRoute:()=>lK,findSettingsByName:()=>nI.R0,fixed:()=>xg,formAssignRules:()=>x1,formatEnvPath:()=>ey.EM,formatNumber:()=>bi,formatRunJSPreviewMessage:()=>ur.by,formatVariablePath:()=>ey.X5,getAdminLayoutMenuInitializerButton:()=>lM,getAdminLayoutMenuMovePositionOptions:()=>lu,getAdminLayoutMenuVirtualPath:()=>t5,getAdminLayoutModel:()=>rY,getAllDataModels:()=>s5,getAppVersionHTML:()=>nv.p,getAssignFieldValuesDefaultParams:()=>us.Z1,getAssociationBlockResourceSettings:()=>dY,getAssociationHydrationNamePath:()=>cO,getAssociationHydrationSetterContext:()=>c$,getAssociationSelectAssociatedRecordsFilter:()=>fd,getAssociationSelectForeignKeyFilter:()=>fs,getAssociationSelectorContextInputArgs:()=>dQ,getAssociationTargetResourceSettings:()=>dX,getCoreFieldConfigureState:()=>oO,getCurrentV2RedirectPath:()=>tu,getDefaultOperator:()=>s1,getDefaultSettingsPath:()=>nI.C9,getDefaultV2AdminRedirectPath:()=>td,getDetailsItemValue:()=>uJ,getDisplayNumber:()=>bo,getFilterFormOperatorList:()=>sZ,getFilterFormOperatorMeta:()=>s0,getLayoutContentRouteNames:()=>eL,getLayoutModel:()=>eX,getLayoutPageRouteName:()=>eN,getLayoutPageTabRouteName:()=>eO,getLayoutPageTabViewRouteName:()=>eB,getLayoutPageViewRouteName:()=>e$,getMenuCreationDefaultParams:()=>lD,getMenuCreationUiSchema:()=>lL,getMenuEditDefaultParams:()=>lB,getMenuItems:()=>nI.gL,getMobileCompactPaginationClassName:()=>uw.NY,getModernClientPrefix:()=>tn,getPinnedPluginListKeys:()=>nu,getQuickEditFieldProps:()=>hY,getRecordPickerClearedValue:()=>fT,getRecordPickerEmptyValue:()=>fI,getSimpleModePaginationClassName:()=>uw.HZ,getTopbarPluginSettingsItems:()=>nB,getUniqueKeyFromCollection:()=>Ac,getUnknownCountPaginationTotal:()=>uw.SM,getV2EffectiveBasePath:()=>ti,getValueWithIndex:()=>uY,hasIcon:()=>ey.cE,hasOwnSettingsPage:()=>nI.lv,icons:()=>ey.Pt,id:()=>oa,indexConfigureItems:()=>oB,injectRecordPickerPopupContext:()=>fO,insertRouteSchema:()=>l_,isAssociationBlockContext:()=>dJ,isFilterValueEmpty:()=>s2,isLayoutContentRouteName:()=>eV,isTitleField:()=>eZ.ji,isTitleFieldInterface:()=>eZ.w,isV2AdminRuntime:()=>ty,isV2MenuRoute:()=>tF,joinUrlSearch:()=>uj,languageCodes:()=>ab.A,layout:()=>b9,linkageAssignField:()=>w1,linkageRulesRefresh:()=>x4,linkageRunjs:()=>w5,linkageSetActionProps:()=>wq,linkageSetBlockProps:()=>wV,linkageSetDetailsFieldProps:()=>wW,linkageSetFieldProps:()=>wK,linkageSetMenuItemProps:()=>wz,makeFormatVariablePath:()=>ey.nW,makeParseVariablePath:()=>ey.Dx,makeVariableRegExp:()=>ey.at,markCascadeHydrationDone:()=>g_,matchSettingsRoute:()=>nI.CM,matchesRoutePath:()=>lW,menuLinkageRules:()=>Se,mergeAssignFieldValues:()=>us.GO,mergePaginationClassName:()=>uw.M6,navigateToURL:()=>b_,normalizeAdminLayoutMenuLegacyVariables:()=>t6,normalizeCollectionTemplateField:()=>Ap,normalizeCollectionTemplateFields:()=>Ah,normalizeFilterableOperators:()=>ob,normalizeLayoutRoutePath:()=>ip,normalizeRecordPickerSelectedRows:()=>fR,normalizeRecordPickerValue:()=>f_,normalizeTableColumnWidth:()=>mE,number:()=>oo,numberFormat:()=>Sa,object:()=>or,openAdminLayoutMenuLink:()=>t7,openView:()=>bk,openViewFlow:()=>eM,operatorComponentProps:()=>hL,overflowMode:()=>Si,parseEnvPath:()=>ey.uO,parseVariablePath:()=>ey.h7,pattern:()=>xh,previewRunJS:()=>ur.zA,recalculateGridSizes:()=>dv,reconcileAdminLayoutMenuItems:()=>lp,redirectToV2Signin:()=>tp,refreshClickToOpenRuntime:()=>gk,refreshTargetBlocks:()=>bV,registerFieldValidationConfigure:()=>oG,registerFieldValidationConfigureGroup:()=>oY,registerIcon:()=>ey.pU,registerIcons:()=>ey.K1,removeMarkdownIframes:()=>S$.VC,renderMode:()=>b6,replaceRouteParams:()=>nI.uT,required:()=>b7,resolveAdminLayoutMenuDragMoveOptions:()=>lh,resolveAdminLayoutMenuDragMoveOptionsFromEvent:()=>lm,resolveAdminLayoutMenuLink:()=>t9,resolveAdminRouteRuntimeTarget:()=>tj,resolveAssignFieldValues:()=>us.eu,resolveCustomFieldOperatorList:()=>pA,resolveDefaultCustomFieldOperator:()=>pF,resolveDynamicNamePath:()=>aV.IJ,resolveFilterOperators:()=>oy,resolveV2SigninRedirect:()=>th,reverseFieldConfigureItem:()=>oq,reverseFieldConfigureItems:()=>oV,runCoreFieldConfigureEffects:()=>o$,runjs:()=>bC,setTargetDataScope:()=>bH,shouldClearRecordPickerValueOnMultipleChange:()=>fE,shouldRenderIconInTitle:()=>lx,showMessage:()=>bE,showNotification:()=>bT,sortTopLevelSettings:()=>nI.p$,sortingRule:()=>b8,string:()=>ol,stripMarkdownIframeTags:()=>S$.jR,stripMarkdownIframes:()=>S$.$P,stripModernClientPrefix:()=>tr,subFormFieldLinkageRules:()=>Sl,subFormLinkageAssignField:()=>w2,subFormLinkageSetFieldProps:()=>wU,tableRowActionsClassName:()=>mO,tableoid:()=>oc,time:()=>od,titleField:()=>bX,toOperatorSelectOptions:()=>pk,toRouterNavigationPath:()=>tb,toToolsMap:()=>ev,toTreeSelectItems:()=>lz,toViewStack:()=>eD,transformNestedData:()=>gw,transformRowsToSingleColumn:()=>dg,useACLContext:()=>nd.bq,useACLRoleContext:()=>nd.v6,useAclSnippets:()=>nd.K3,useAdminLayoutRoutePage:()=>S5,useApp:()=>Z.n,useAppListRender:()=>ra,useApplications:()=>rn,useCurrentAppInfo:()=>nm.g,useCurrentRoleMode:()=>nd.GL,useCurrentRoles:()=>Mf,useCurrentUserContext:()=>Mm,useFilterOptions:()=>aE.uw,useFilteredMetaTree:()=>ey.a7,useGlobalTheme:()=>ep,useLayoutRoutePage:()=>rJ,useMobileLayout:()=>S2,usePlugin:()=>nf.n,useRoleRecheck:()=>nd.N5,useRouter:()=>ng,useSystemSettings:()=>eb.e,useUIConfigurationPermissions:()=>nd.uM,validation:()=>xf}),l(70571);var w=l(50467),S=l(88909),M=l(55373),A=l.n(M);let F=(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},k=(e,t)=>{let l=F(e,t);return null!=l&&""!==l};class C{get storagePrefix(){return this.api.storagePrefix}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)}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){return this.locale&&e.headers&&(e.headers["X-Locale"]=this.locale),this.role&&e.headers&&(e.headers["X-Role"]=this.role),this.authenticator&&!k(e.headers,"X-Authenticator")&&e.headers&&(e.headers["X-Authenticator"]=this.authenticator),this.token&&!k(e.headers,"Authorization")&&e.headers&&(e.headers.Authorization=`Bearer ${this.token}`),e}async signIn(e,t){var l;let n=await this.api.request({method:"post",url:"auth:signIn",data:e,headers:{"X-Authenticator":t}}),r=null==n||null==(l=n.data)?void 0:l.data;return this.setAuthenticator(t),this.setToken(null==r?void 0:r.token),n}async signUp(e,t){return await this.api.request({method:"post",url:"auth:signUp",data:e,headers:{"X-Authenticator":t}})}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){(0,w._)(this,"api",void 0),(0,w._)(this,"options",{locale:null,role:null,authenticator:null,token:null}),this.api=e,this.api.axios.interceptors.request.use(this.middleware.bind(this))}}class P{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("_")}constructor(){(0,w._)(this,"storagePrefix",void 0)}}class j extends P{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),(0,w._)(this,"items",new Map)}}class E extends P{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(),(0,w._)(this,"storagePrefix",void 0),(0,w._)(this,"baseStoragePrefix",void 0),(0,w._)(this,"shareToken",void 0),(0,w._)(this,"items",void 0),this.storagePrefix=e,this.baseStoragePrefix=t,this.shareToken=l,this.items=window.localStorage}}class R extends E{constructor(e,t="",l=!1){super(e,t,l),(0,w._)(this,"storagePrefix",void 0),(0,w._)(this,"baseStoragePrefix",void 0),(0,w._)(this,"shareToken",void 0),this.storagePrefix=e,this.baseStoragePrefix=t,this.shareToken=l,this.items=window.sessionStorage}}class I{toErrMessages(e){var t,l,n,r,i,o,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==(i=e.response)||null==(r=i.data)?void 0:r.errors)||(null==e||null==(a=e.response)||null==(o=a.data)?void 0:o.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 E(this.storagePrefix,this.baseStoragePrefix,this.shareToken):"sessionStorage"===e&&"u">typeof sessionStorage?new R(this.storagePrefix,this.baseStoragePrefix,this.shareToken):new j}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=>A().stringify(e,{strictNullHandling:!0,arrayFormat:"brackets"}),e))}request(e){let{resource:t,resourceOf:l,action:n,params:r,headers:i}=e;return t?this.resource(t,l,i)[n](r):this.axios.request(e)}resource(e,t,l,n){return new Proxy({},{get:(r,i)=>{if(n)return;let o=e.split(".").join(`/${encodeURIComponent(t)||"_"}/`),a={url:o+=`:${i.toString()}`};return["get","list"].includes(i)?a.method="get":a.method="post",async(e,t)=>{let{values:n,filter:r,...i}=e||{};return a.params=i,r&&("string"==typeof r?a.params.filter=r:(r["*"]&&delete r["*"],a.params.filter=JSON.stringify(r))),"get"!==a.method&&(a.data=n||{}),await this.request({...a,...t,headers:l})}}})}constructor(e){if((0,w._)(this,"options",void 0),(0,w._)(this,"axios",void 0),(0,w._)(this,"auth",void 0),(0,w._)(this,"storage",void 0),(0,w._)(this,"storagePrefix","NOCOBASE_"),(0,w._)(this,"baseStoragePrefix","NOCOBASE_"),(0,w._)(this,"shareToken",!1),this.options=e,"function"==typeof e)this.axios=e;else{let{appName:t,authClass:l,storageType:n,storageClass:r,storagePrefix:i="NOCOBASE_",shareToken:o=!1,...a}=e||{};this.shareToken=o,this.baseStoragePrefix=i,this.storagePrefix=t?`${i}${t.toUpperCase()}_`:i,this.axios=S.A.create(a),this.initStorage(r,n),l&&(this.auth=new l(this))}this.storage||this.initStorage(),this.auth||(this.auth=new C(this)),this.interceptors()}}let T=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]||""};var _=l(65606);function D(e){let t=Math.floor(Math.abs(e)),l=Math.abs(e%1*60),n=String(t).padStart(2,"0"),r=String(l).padStart(2,"0"),i=e>=0?"+":"-";return`${i}${n}:${r}`}function N(){return D(-(new Date().getTimezoneOffset()/60))}class O extends I{getHostname(){var e,t;if(_.env.API_BASE_URL)try{return new URL(_.env.API_BASE_URL).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"]=N(),e["X-Hostname"]=this.getHostname(),e}interceptors(){this.axios.interceptors.request.use(e=>{let t=this.getHeaders();return Object.keys(t).forEach(l=>{k(e.headers,l)||(e.headers[l]=t[l])}),e}),super.interceptors()}constructor(e){super(e),(0,w._)(this,"appName",void 0),e&&"function"!=typeof e&&(this.appName=e.appName)}}var $=l(58587),B=l(18150),L=l(68238),V=l(74848),q=l(95243),z=l(11869),K=l(40098),U=l.n(K),W=l(96540),H=l(5338),G=l(52230),Y=l(47665),J=l(84976),X=l(47767),Q=l(44363),Z=l(36098),ee=l(88040);let et=(0,W.memo)(e=>{let{children:t}=e,l=(0,Z.n)(),{notification:n}=ee.A.useApp();return(0,W.useLayoutEffect)(()=>{l.context.defineProperty("notification",{value:n})},[l,n]),(0,V.jsx)(V.Fragment,{children:t})});et.displayName="AppInner";let el=e=>{let{children:t,className:l,style:n}=e;return(0,V.jsx)(ee.A,{className:l,style:{height:"100%",...n},children:(0,V.jsx)(et,{children:t})})};el.displayName="AntdAppProvider";let en=el;var er=l(35710),ei=l(4888);let eo={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}},ea=function(e){var t;return(null==(t=e.token)?void 0:t.colorSettings)||(e.token={...e.token,...eo.token}),e},es=(e,t)=>{var l,n,r,i,o,a,s,d,u,c,p,h;let m=t||er.A.defaultAlgorithm(e);return(l=m).paddingPageHorizontal??(l.paddingPageHorizontal=m.sizeLG),(n=m).paddingPageVertical??(n.paddingPageVertical=m.sizeLG),(r=m).paddingPopupHorizontal??(r.paddingPopupHorizontal=m.sizeLG),(i=m).paddingPopupVertical??(i.paddingPopupVertical=m.size),(o=m).marginBlock??(o.marginBlock=m.sizeLG),(a=m).borderRadiusBlock??(a.borderRadiusBlock=m.borderRadiusLG),(s=m).colorBgSider??(s.colorBgSider=m.colorBgElevated),(d=m).colorBgSiderMenuHover??(d.colorBgSiderMenuHover=m.colorBgTextHover||m.colorFillSecondary),(u=m).colorBgSiderMenuActive??(u.colorBgSiderMenuActive=m.colorPrimaryBg),(c=m).colorTextSiderMenu??(c.colorTextSiderMenu=m.colorText),(p=m).colorTextSiderMenuHover??(p.colorTextSiderMenuHover=m.colorText),(h=m).colorTextSiderMenuActive??(h.colorTextSiderMenuActive=m.colorPrimary),m},ed=e=>(Array.isArray(e.algorithm)?e.algorithm.includes(es)||e.algorithm.push(es):e.algorithm=[e.algorithm,es].filter(Boolean),e.algorithm=e.algorithm.filter(Boolean),e);var eu=l(22803);(0,eu.injectGlobal)`
3
3
  .ant-form-item-label > label {
4
4
  font-weight: 600;
@@ -436,7 +436,7 @@ export const __rspack_esm_id="8410";export const __rspack_esm_ids=["8410"];expor
436
436
  padding: 0;
437
437
  overflow: hidden;
438
438
  }
439
- `,rL={token:{colorSplit:"rgba(255, 255, 255, 0.1)"}};function rV(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 rq=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)"}),rz=()=>null,rK=e=>"function"==typeof(null==e?void 0:e.getActionId)?e.getActionId():(null==e?void 0:e.actionId)||(null==e?void 0:e.uid)||"",rU=W.memo(e=>{let{allow:t}=(0,rO.K)(),{token:l}=er.A.useToken(),n=l,r=(0,W.useMemo)(()=>rV(e.actions,t),[t,e.actions]),i=r.filter(e=>rK(e)!==nH),o=r.find(e=>rK(e)===nH);return(0,V.jsxs)("div",{className:r$,style:rq(n),children:[(0,V.jsx)("div",{className:"nb-topbar-actions-list",onClick:e.onActionClick,children:i.map(e=>(0,V.jsx)(Y.tH,{FallbackComponent:rz,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,V.jsx)(z.FlowModelRenderer,{model:e})},e.uid))}),(0,V.jsx)(ei.Ay,{theme:rL,children:(0,V.jsx)(no.A,{type:"vertical"})}),(0,V.jsx)(nS,{}),o?(0,V.jsx)(Y.tH,{FallbackComponent:rz,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,V.jsx)(z.FlowModelRenderer,{model:o})},o.uid):null]})});rU.displayName="TopbarActionsContent";let rW=W.memo(e=>{let{token:t}=er.A.useToken(),l=t,[n,r]=(0,W.useState)(!1),i=(0,W.useCallback)(()=>{r(!1)},[]);return e.isMobile?(0,V.jsx)(lj.A,{rootClassName:rB,content:(0,V.jsx)(rU,{actions:e.actions,onActionClick:i}),color:l.colorBgHeader,trigger:"click",open:n,onOpenChange:r,children:(0,V.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,V.jsx)(lP.A,{style:{color:l.colorTextHeaderMenu,fontSize:20}})})}):(0,V.jsx)(rU,{actions:e.actions})});rW.displayName="TopbarActionsBar";let rH=e=>{let{children:t}=e,l=(0,z.useFlowEngine)(),n=(0,Z.n)(),r=(0,X.useNavigate)(),i=(0,X.useLocation)(),o=(0,X.useMatches)(),[a,s]=(0,W.useState)(!1),d=(0,W.useRef)(!1),u=l.context.routeRepository,c=(0,W.useMemo)(()=>"/admin"===tb(i.pathname,n.router.getBasename()),[n,i.pathname]),p=(0,W.useMemo)(()=>{var e,t;let l=o[o.length-1];if(!eV("admin",null==l?void 0:l.id))return"";let n=o.find(e=>"admin"===e.id);return(null==(e=l.params)?void 0:e.name)||(null==(t=(0,z.parsePathnameToViewParams)(i.pathname,{basePath:(null==n?void 0:n.pathname)||"/admin"})[0])?void 0:t.viewUid)||""},[i.pathname,o]);return((0,W.useEffect)(()=>{d.current=!1},[i.pathname,i.search,i.hash,p]),(0,W.useEffect)(()=>{let e=!0;return(async()=>{var t,l,i,o;if(s(!1),!c&&!p){e&&s(!0);return}if(!(null==u||null==(t=u.isAccessibleLoaded)?void 0:t.call(u)))try{await (null==u||null==(i=u.ensureAccessibleLoaded)?void 0:i.call(u))}catch(t){e&&s(!0);return}if(!e||d.current)return;if(p){let t=null==u||null==(o=u.getRouteBySchemaUid)?void 0:o.call(u,p);if((null==t?void 0:t.type)==="page"){let e=tj({app:n,route:t,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===e.navigationMode&&e.runtimePath){d.current=!0,window.location.replace(e.runtimePath);return}}e&&s(!0);return}let a=tk((null==u||null==(l=u.listAccessible)?void 0:l.call(u))||[]);if(!a){e&&s(!0);return}let h=tj({app:n,route:a});if(!h.runtimePath){e&&s(!0);return}(d.current=!0,"document"===h.navigationMode)?window.location.replace(h.runtimePath):r(tb(h.runtimePath,n.router.getBasename()),{replace:!0})})(),()=>{e=!1}},[n,l,c,i.hash,i.pathname,i.search,r,p,u]),a)?(0,V.jsx)(V.Fragment,{children:t}):null};class rG extends eJ{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(lM("schema-initializer-Menu-header",this)):t.unshift(lM("schema-initializer-Menu-header",this))),{path:"/",children:t}}createRouteCoordinator(){return new tE(this.flowEngine,this.getRouteCoordinatorOptions())}render(){return(0,V.jsx)(rH,{children:(0,V.jsx)(rN,{...this.props,model:this})})}constructor(e){super(e),(0,w._)(this,"menuRouteRefreshVersion",0),(0,q.define)(this,{menuRouteRefreshVersion:q.observable.ref})}}function rY(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eX(e,tR,{...t,use:t.use||rG});if(!l&&t.required)throw Error("[NocoBase] FlowRoute requires admin-layout-model. Please render FlowRoute under AdminLayout.");return l}function rJ(e){let{flowEngine:t,pageUid:l,active:n,refreshDesktopRoutes:r,layoutContentRef:i,getLayoutModel:o}=e,a=o(t),s=(0,W.useRef)(n),d=(0,W.useRef)(r);if(!a)throw Error("[NocoBase] FlowRoute requires layout model. Please render FlowRoute under Layout.");return s.current=n,d.current=r,(0,W.useEffect)(()=>(a.registerRoutePage(l,{active:s.current??!1,refreshDesktopRoutes:d.current,layoutContentElement:i.current}),()=>{a.unregisterRoutePage(l)}),[a,l,i]),(0,W.useEffect)(()=>{a.updateRoutePage(l,{active:n,refreshDesktopRoutes:r,layoutContentElement:i.current})},[n,a,l,r,i]),a}rG.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,V.jsx)(rW,{actions:l,isMobile:null==e?void 0:e.isMobile},"topbar-actions")]}}}});let rX=e=>rY(e,{required:!0}),rQ=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.uid)?eX(e,l.uid,{required:!0}):rX(e)},rZ=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.routeName)&&"admin"!==l.routeName?"notFound":"redirect"},r0=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 r=await e.loadModel({uid:t}).catch(()=>null);return r&&e.getModel(t)===r&&e.removeModelWithSubModels(t),!!r},r1=e=>{let{pageUid:t,active:l,getLayoutModel:n}=e,r=(0,z.useFlowEngine)(),{active:i}=l2(),o=r.context.routeRepository,a=W.useMemo(()=>null==o?void 0:o.refreshAccessible.bind(o),[o]),s=(0,W.useRef)(null);return(0,W.useEffect)(()=>{r.context.defineProperty("deviceType",{get:()=>"browser"===eQ.deviceType?"computer":eQ.deviceType,cache:!1,meta:{type:"string",title:r.translate("Current device type"),interface:"select",uiSchema:{enum:[{label:r.translate("Computer"),value:"computer"},{label:r.translate("Mobile"),value:"mobile"},{label:r.translate("Tablet"),value:"tablet"},{label:r.translate("SmartTv"),value:"smarttv"},{label:r.translate("Console"),value:"console"},{label:r.translate("Wearable"),value:"wearable"},{label:r.translate("Embedded"),value:"embedded"}],"x-component":"Select"}},info:{description:"Current device type (computer/mobile/tablet/...).",detail:"string"}})},[r]),rJ({flowEngine:r,pageUid:t,active:l??i,refreshDesktopRoutes:a,layoutContentRef:s,getLayoutModel:n}),(0,V.jsx)("div",{ref:s})},r2=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,z.useFlowEngine)(),l=(0,z.useFlowContext)(),n=null==l?void 0:l.layout,r=(0,W.useMemo)(()=>e.getLayoutModel||(e=>rQ(e,n)),[n,e.getLayoutModel]),i=e.legacyPageBehavior||rZ(t,n),o=(0,Z.n)(),a=t.context.routeRepository,s=(0,X.useParams)(),d=e.pageUid||(null==s?void 0:s.name),u=!a,[c,p]=(0,W.useState)({pending:!0,allowBridge:!1,notFound:!1}),h=(0,W.useRef)(!1),m=(0,W.useRef)(0);if(!d)throw Error("[NocoBase] FlowRoute requires pageUid or route.params.name.");return(0,W.useEffect)(()=>{let e=!0,l=++m.current;return(async()=>{var n,r,s;if(p({pending:!0,allowBridge:!1,notFound:!1}),!u&&!(null==a||null==(n=a.isAccessibleLoaded)?void 0:n.call(a)))try{await (null==a||null==(s=a.ensureAccessibleLoaded)?void 0:s.call(a))}catch(t){e&&l===m.current&&p({pending:!1,allowBridge:!0,notFound:!1});return}if(!e||l!==m.current)return;let c=u||null==a||null==(r=a.getRouteBySchemaUid)?void 0:r.call(a,d);if(!c&&"notFound"===i){let n=await r0(t,d);e&&l===m.current&&p({pending:!1,allowBridge:n,notFound:!n});return}if((null==c?void 0:c.type)==="page"){if("notFound"===i)return p({pending:!1,allowBridge:!1,notFound:!0});if("bridge"===i)return p({pending:!1,allowBridge:!0,notFound:!1});let t=tj({app:o,route:c,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===t.navigationMode&&t.runtimePath&&!h.current){h.current=!0,window.location.replace(t.runtimePath);return}if("unsupportedV2Runtime"===t.reason){e&&l===m.current&&p({pending:!1,allowBridge:!1,notFound:!0});return}}e&&l===m.current&&p({pending:!1,allowBridge:!0,notFound:!1})})(),()=>{e=!1}},[o,t,i,d,a,u]),(0,W.useMemo)(()=>c.pending?null:c.notFound?(0,V.jsx)(ey.bM,{}):c.allowBridge?(0,V.jsx)(r1,{pageUid:d,active:e.active,getLayoutModel:r}):null,[r,c.allowBridge,c.notFound,c.pending,d,e.active])};r2.displayName="FlowRoute";let r5=r2,r4=e=>e.current,r8=e=>{let{layoutRouteName:t}=e,l=(0,Z.n)(),n=(0,z.useFlowEngine)(),r=l.layoutManager.getLayout(t),i=(0,X.useLocation)(),o=(0,X.useMatches)(),a=eX(n,r.uid,{required:!0}),s="admin"===r.routeName?"redirect":"notFound",d=(0,W.useRef)(0),u=(0,W.useMemo)(()=>{let e=o[o.length-1],t=o.find(e=>e.id===r.routeName);return{id:null==e?void 0:e.id,name:null==e?void 0:e.id,pathname:i.pathname,params:(null==e?void 0:e.params)||{},layoutRouteName:r.routeName,layoutBasePathname:null==t?void 0:t.pathname}},[r.routeName,i.pathname,o]);if(!a)throw Error(`[NocoBase] Layout '${r.routeName}' model '${r.uid}' is not mounted.`);let c=a.resolveLayoutRoute(u),p=(0,W.useMemo)(()=>e=>eX(e,r.uid,{required:!0}),[r.uid]);return((0,W.useEffect)(()=>{let e=++d.current;return a.syncLayoutRoute(u),()=>{Promise.resolve().then(()=>{r4(d)===e&&a.clearLayoutRoute(u)}).catch(()=>{})}},[a,u]),"root"===c.type)?null:"notFound"===c.type?(0,V.jsx)(ey.bM,{}):(0,V.jsx)(r5,{pageUid:c.pageUid,getLayoutModel:p,legacyPageBehavior:s})};var r3=l(66466),r6=l(42441);function r9(e){return(0,V.jsx)(rr.A,{...e,children:(0,V.jsx)(r6.A,{paragraph:{rows:3}})})}let r7=e=>e.current;function ie(e){return e===eJ||(0,z.isInheritedFrom)(e,eJ)}function it(e,t){if(!(e instanceof eJ))throw Error(`[NocoBase] Layout '${t.routeName}' requires model '${t.uid}' to be an instance of BaseLayoutModel.`)}async function il(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(!ie(l))throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' must extend BaseLayoutModel.`)}let ir=e=>{let{layoutRouteName:t}=e,l=(0,Z.n)(),n=(0,z.useFlowEngine)(),r=l.layoutManager.getLayout(t),i=(0,X.useLocation)(),o=(0,X.useMatches)(),a=o[o.length-1],s=o.find(e=>e.id===r.routeName),d=JSON.stringify((null==a?void 0:a.params)||{}),u=(0,W.useMemo)(()=>JSON.parse(d),[d]),c=(0,W.useRef)(0),p=(0,W.useMemo)(()=>({id:null==a?void 0:a.id,name:null==a?void 0:a.id,pathname:i.pathname,params:u,layoutRouteName:r.routeName,layoutBasePathname:null==s?void 0:s.pathname}),[null==a?void 0:a.id,u,r.routeName,null==s?void 0:s.pathname,i.pathname]),{loading:h,data:m,error:f}=(0,r3.A)(async()=>{let e=n.getModel(r.uid);if(e)return it(e,r),e.setProps({layout:r}),e;await il(n,r);let t=await n.createModelAsync({uid:r.uid,use:r.layoutModelClass,props:{layout:r}});return it(t,r),t},{refreshDeps:[n,r]});if((0,W.useEffect)(()=>{if(!m)return;let e=++c.current;return m.syncLayoutRoute(p),()=>{Promise.resolve().then(()=>{r7(c)===e&&m.clearLayoutRoute(p)}).catch(()=>{})}},[m,p]),f)throw f;return h||!m?(0,V.jsx)(r9,{style:{margin:16}}):(0,V.jsx)(z.FlowModelRenderer,{model:m})},ii="RootPageModel",io="ChildPageModel",ia=(e,t)=>{if("string"!=typeof e||""===e.trim())throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a non-empty string.`)},is=(e,t)=>{if("string"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a string.`)},id=(e,t)=>{void 0!==e&&ia(e,t)},iu=(e,t)=>{if(void 0!==e&&"boolean"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a boolean.`)};function ic(e){if(e.includes("..")||e.startsWith(".")||e.endsWith("."))throw Error(`[NocoBase] layoutManager.registerLayout() received invalid routeName '${e}'.`)}function ip(e,t){let l=t.trim(),n=e.includes(".");if(n&&l.startsWith("/"))throw Error(`[NocoBase] nested layout routePath '${t}' must be relative.`);let r=n?l.replace(/^\/+/,"").replace(/\/+$/,""):`/${l.replace(/^\/+/,"").replace(/\/+$/,"")}`;if(!n&&(!r||"/"===r))throw Error("[NocoBase] layoutManager.registerLayout() does not support root routePath '/'.");if(r.includes("*"))throw Error(`[NocoBase] layoutManager.registerLayout() does not support wildcard routePath '${t}'.`);return r}function ih(e){ia(e.routeName,"routeName"),is(e.routePath,"routePath"),ia(e.uid,"uid"),ia(e.layoutModelClass,"layoutModelClass"),id(e.rootPageModelClass,"rootPageModelClass"),id(e.childPageModelClass,"childPageModelClass"),iu(e.authCheck,"authCheck"),ic(e.routeName);let t=ip(e.routeName,e.routePath);return{routeName:e.routeName,rootRouteName:e.routeName.split(".")[0],routePath:t,uid:e.uid,layoutModelClass:e.layoutModelClass,rootPageModelClass:e.rootPageModelClass||ii,childPageModelClass:e.childPageModelClass||io,authCheck:e.authCheck??!0}}class im{registerLayout(e){let t=ih(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,V.jsx)(ir,{layoutRouteName:e.routeName})}),this.app.router.add(eN(t),{path:":name",authCheck:l,skipAuthCheck:n,element:(0,V.jsx)(r8,{layoutRouteName:e.routeName})}),this.app.router.add(eO(t),{path:":name/tab/:tabUid",authCheck:l,skipAuthCheck:n,element:(0,V.jsx)(r8,{layoutRouteName:e.routeName})}),this.app.router.add(e$(t),{path:":name/view/*",authCheck:l,skipAuthCheck:n,element:(0,V.jsx)(r8,{layoutRouteName:e.routeName})}),this.app.router.add(eB(t),{path:":name/tab/:tabUid/view/*",authCheck:l,skipAuthCheck:n,element:(0,V.jsx)(r8,{layoutRouteName:e.routeName})})}constructor(e){(0,w._)(this,"app",void 0),(0,w._)(this,"layouts",new Map),(0,w._)(this,"uidIndex",new Map),this.app=e}}class ig{setRoutes(e){this.routes=e,this.accessibleLoaded=!0,this.emitChange()}listAccessible(){return this.routes}isAccessibleLoaded(){return this.accessibleLoaded}async refreshAccessible(){var e;let t=await this.getAPIClient().request({url:"/desktopRoutes:listAccessible",params:{tree:!0,sort:"sort"}}),l=(null==t||null==(e=t.data)?void 0:e.data)||[];return this.setRoutes(l),l}async ensureAccessibleLoaded(){return this.accessibleLoaded?this.routes:(this.accessibleLoadingPromise||(this.accessibleLoadingPromise=this.refreshAccessible().finally(()=>{this.accessibleLoadingPromise=null})),this.accessibleLoadingPromise)}subscribe(e){return this.subscribers.add(e),()=>{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});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,r=await this.getResource("desktopRoutes").update(Array.isArray(e)?{filter:{id:{$in:e}},values:t}:{filterByTk:e,values:t});return n&&await this.refreshAccessible(),r}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.routes,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(){this.subscribers.forEach(e=>{e()})}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}}}constructor(e){(0,w._)(this,"ctx",void 0),(0,w._)(this,"routes",void 0),(0,w._)(this,"subscribers",void 0),(0,w._)(this,"accessibleLoaded",void 0),(0,w._)(this,"accessibleLoadingPromise",void 0),this.ctx=e,this.routes=[],this.subscribers=new Set,this.accessibleLoaded=!1,this.accessibleLoadingPromise=null}}class iv{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=T(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((0,w._)(this,"_ws",void 0),(0,w._)(this,"_reconnectTimes",0),(0,w._)(this,"events",[]),(0,w._)(this,"options",void 0),(0,w._)(this,"app",void 0),(0,w._)(this,"enabled",void 0),(0,w._)(this,"connected",!1),(0,w._)(this,"serverDown",!1),(0,w._)(this,"lastMessage",{}),(0,w._)(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 iy(){"use strict";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,em.getDayRangeByParams)(t)),Array.isArray(t))return n.$dateBetween(e,t);let l=iM(e),r=iM(t);return!!l&&!!r&&l.getTime()===r.getTime()},$dateBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,em.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=iM(e),n=iM(t);return!!l&&!!n&&l.getTime()<n.getTime()},$dateNotBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,em.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=iM(e),n=iM(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,em.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=iM(e),n=iM(t);return l.getTime()>n.getTime()},$dateNotAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,em.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=iM(e),n=iM(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,em.getDayRangeByParams)(t));let l=iM(e),n=ib(t[0]),r=ib(t[1]);if(!l||!n||!r)throw Error("Invalid date format");return l.getTime()>=n.getTime()&&l.getTime()<=r.getTime()},$dateNotOn:function(e,t){if(!e||!t)return!1;if(t.type&&(t=(0,em.getDayRangeByParams)(t)),Array.isArray(t))return!n.$dateBetween(e,t);let l=iM(e),r=iM(t);return l.getTime()!==r.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 r=String(e).split("."),i=0;i<r.length;i++)if(null==n||void 0===(n=n[r[i]]))return l;return n},missing:function(){for(var e=[],t=Array.isArray(arguments[0])?arguments[0]:arguments,n=0;n<t.length;n++){var r=t[n],i=l.apply({var:r},this);(null===i||""===i)&&e.push(r)}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 r,i,o,a,s,d=l.getOperator(e),u=e[d];if(Array.isArray(u)||(u=[u]),"if"===d||"?:"==d){for(r=0;r<u.length-1;r+=2)if(l.truthy(l.apply(u[r],t)))return l.apply(u[r+1],t);return u.length===r+1?l.apply(u[r],t):null}if("$and"===d){for(r=0;r<u.length&&(i=l.apply(u[r],t),l.truthy(i));r+=1);return i}if("or"===d){for(r=0;r<u.length&&(i=l.apply(u[r],t),!l.truthy(i));r+=1);return i}if("filter"===d)return(a=l.apply(u[0],t),o=u[1],Array.isArray(a))?a.filter(function(e){return l.truthy(l.apply(o,e))}):[];if("map"===d)return(a=l.apply(u[0],t),o=u[1],Array.isArray(a))?a.map(function(e){return l.apply(o,e)}):[];else if("reduce"===d)return(a=l.apply(u[0],t),o=u[1],s=void 0!==u[2]?u[2]:null,Array.isArray(a))?a.reduce(function(e,t){return l.apply(o,{current:t,accumulator:e})},s):s;else if("all"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!1;for(r=0;r<a.length;r+=1)if(!l.truthy(l.apply(o,a[r])))return!1;return!0}else if("none"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!0;for(r=0;r<a.length;r+=1)if(l.truthy(l.apply(o,a[r])))return!1;return!0}else if("some"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!1;for(r=0;r<a.length;r+=1)if(l.truthy(l.apply(o,a[r])))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(r=0;r<c.length;r++){if(!Object.prototype.hasOwnProperty.call(p,c[r]))throw Error("Unrecognized operation "+d+" (failed at "+c.slice(0,r+1).join(".")+")");p=p[c[r]]}return p.apply(t,u)}throw Error("Unrecognized operation "+d)},l.uses_data=function(t){var n=[];if(l.is_logic(t)){var r=l.getOperator(t),i=t[r];Array.isArray(i)||(i=[i]),"var"===r?n.push(i[0]):i.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),r=l.getOperator(e);if("@"===n||n===r)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 i=0;i<t.length;i+=1)if(!l.rule_like(e[i],t[i]))return!1;return!0}return!1},l}function ib(e){return new Date(e.includes("T")&&e.endsWith("Z")?e:e.includes(" ")?e.replace(" ","T"):`${e}T00:00:00`)}function ix(e){let[t,l]=e.split("-").map(Number);return new Date(t,l-1)}function iw(e){return new Date(parseInt(e.slice(0,4)),(parseInt(e.slice(5,6))-1)*3)}function iS(e){return new Date(parseInt(e),0)}function iM(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 ib(t);if(/^\d{4}-\d{2}$/.test(t))return ix(t);if(/^\d{4}Q[1-4]$/.test(t))return iw(t);else if(/^\d{4}$/.test(t))return iS(t);return null}var iA=l(42524),iF=l(89286),ik=l(36194),iC=l(52582),iP=l(20419),ij=l(78880),iE=l(27253),iR=l(43886),iI=l(5900),iT=l(2543);function i_(e,t){let l=t.split("."),n=e;for(let e=0;e<l.length&&null!=n;e++){let t=l[e],r=t.match(/^\d+$/);!Array.isArray(n)||r||n[t]||(n[t]=n.map(e=>e[t]).flat()),n=null==n?void 0:n[t]}}function iD(){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,iT.cloneDeep)(l),r={},i={},o=0;return this(t.trim().replace(/{{\s*([\w$.-]+)\s*}}/g,(t,l)=>{if(l.startsWith("this."))return`{{${l}}}`;i_(n,l);let a=(0,iT.get)(n,l)??null;"function"==typeof a&&(a=a());let s=i[l];return s||(s=`$$${o++}`,i[l]=s,r[s]=a),e.replaceValue?`${null==a||"number"==typeof a&&(Number.isNaN(a)||!Number.isFinite(a))?"":a}`:s}),r)}let iN={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:iD.bind(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=iR._3(e,t);return"number"==typeof l?Number.isNaN(l)||!Number.isFinite(l)?null:iI.LIG(l,9):l instanceof iI.uqu?l.toArray():l},{replaceKey:!0})};var iO=l(8558);l(67980);let i$=Object.keys(iO).filter(e=>"default"!==e);function iB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=Object.create(null);for(let e of i$)l[e]=iO[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 iL(e,t,l){return new Compartment(iB(t,l.blockedIdentifiers)).evaluate(e)}function iV(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={blockedIdentifiers:e.blockedIdentifiers};return iD.bind(function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=iL(e,l,t);return"number"==typeof n?Number.isNaN(n)||!Number.isFinite(n)?null:(0,iI.LIG)(n,9):n},{})}iV();let iq={label:"Formula.js",tooltip:'{{t("Formula.js supports most Microsoft Excel formula functions.")}}',link:"FORMULAJS_DOC_URL",evaluate:iV({blockedIdentifiers:[...em.BASE_BLOCKED_IDENTIFIERS,"window","document","parent","top","frames","navigator","location","localStorage","sessionStorage"]})},iz={label:"{{t('String template')}}",tooltip:"{{t('Simple string replacement, can be used to interpolate variables in a string.')}}",evaluate:iD.bind(function(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1],e},{replaceValue:!0})},iK=new em.Registry;function iU(){return Array.from(iK.getEntities()).reduce((e,t)=>{let[l,n]=t;return e.concat({value:l,...n})},[])}iK.register("formula.js",iq),iK.register("math.js",iN),iK.register("string",iz);let iW=iK;var iH=l(67377),iG=l(14264),iY=l(4213),iJ=l(72635),iX=l(68984),iQ=l(43627);function iZ(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 i0(e){iZ(e,"react",W),iZ(e,"react-dom",lR),iZ(e,"react/jsx-runtime",V),iZ(e,"react-router",X),iZ(e,"react-router-dom",J),iZ(e,"antd",iG),iZ(e,"@ant-design/icons",iF),iZ(e,"@ant-design/cssinjs",iA),iZ(e,"antd-style",ik),iZ(e,"i18next",iJ),iZ(e,"react-i18next",iX),iZ(e,"@formily/antd-v5",iP),iZ(e,"@formily/core",ij),iZ(e,"@formily/react",ni),iZ(e,"@formily/reactive",q),iZ(e,"@formily/shared",iE),iZ(e,"@nocobase/utils",em),iZ(e,"@nocobase/utils/client",em),iZ(e,"@nocobase/client-v2",x),iZ(e,"@nocobase/client-v2/client-v2",x),iZ(e,"@nocobase/flow-engine",z),iZ(e,"@nocobase/evaluators",f),iZ(e,"@nocobase/evaluators/client",f),iZ(e,"@dnd-kit/core",lC),iZ(e,"@dnd-kit/sortable",iQ),iZ(e,"@ctrl/tinycolor",iC),iZ(e,"ahooks",iH),iZ(e,"axios",S.A),iZ(e,"dayjs",em.dayjs),iZ(e,"lodash",U()),iZ(e,"@emotion/css",eu),iZ(e,"file-saver",iY)}var i1=l(40407);let i2=/^\/+/,i5=/\/+$/,i4=e=>{let t=i2.exec(e);return t?e.slice(t[0].length):e},i8=e=>{let t=i5.exec(e);return t?e.slice(0,-t[0].length):e},i3=e=>(0,Q.isValidElementType)(e);class i6{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 eb.o(this.apiClient)}afterManagersInitialized(){this.aiManager=new eg(this),this.jsonLogic=iy()}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,i1.b)(),i0(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 ig(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(G.x,{i18n:this.i18n}),this.use(z.FlowEngineProvider,{engine:this.flowEngine}),this.use(eh),this.use(en)}addFinalProviders(){this.use(z.FlowEngineGlobalsContextProvider)}addReactRouterComponents(){this.addComponents({Link:J.Link,Navigate:X.Navigate,NavLink:J.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||"/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 T(this.getPublicPath())||null}getPublicPath(){let e=this.options.publicPath||"/";return e.endsWith("/")||(e+="/"),e}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`${i8(t)}/${i4(e)}`}getRouteUrl(e){return this.getPublicPath()+i4(e)}getHref(e){let t=this.name;return t&&"main"!==t?`${this.getPublicPath()}apps/${t}/${i4(e)}`:this.getPublicPath()+i4(e)}getComposeProviders(){let e=nb(...this.providers)(ey.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,K.get)(this.components,e);return t||void l(`Component ${e} not found`)}if(i3(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?W.createElement(n,t,l):null}addComponent(e,t){let l=e,n=t||l.displayName||l.name;n?(0,K.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:r}=n;return(0,W.useLayoutEffect)(()=>{e.setProps({children:r})},[r]),(0,V.jsx)(z.FlowEngineProvider,{engine:t,children:(0,V.jsx)(z.FlowModelRenderer,{fallback:l(),model:e})})}}mount(e){let t=ny(e);if(t){let e=this.getRootComponent(),l=(0,H.createRoot)(t);return l.render((0,V.jsx)(e,{})),l}}createLayoutManager(e){return new im(this)}createWebSocketClient(e){return new iv(e.ws??!1)}getDefaultComponents(){return{AppNotFound:ey.bM,AppError:ey.uV,AppSpin:ey.gv,AppMaintaining:ey.be,AppMaintainingDialog:ey.tp}}constructor(e={}){(0,w._)(this,"options",void 0),(0,w._)(this,"eventBus",void 0),(0,w._)(this,"providers",void 0),(0,w._)(this,"router",void 0),(0,w._)(this,"scopes",void 0),(0,w._)(this,"i18n",void 0),(0,w._)(this,"ws",void 0),(0,w._)(this,"apiClient",void 0),(0,w._)(this,"components",void 0),(0,w._)(this,"pluginManager",void 0),(0,w._)(this,"pluginSettingsManager",void 0),(0,w._)(this,"layoutManager",void 0),(0,w._)(this,"aiManager",void 0),(0,w._)(this,"devDynamicImport",void 0),(0,w._)(this,"requirejs",void 0),(0,w._)(this,"name",void 0),(0,w._)(this,"favicon",void 0),(0,w._)(this,"flowEngine",void 0),(0,w._)(this,"dataSourceManager",void 0),(0,w._)(this,"jsonLogic",void 0),(0,w._)(this,"context",void 0),(0,w._)(this,"systemSettings",void 0),(0,w._)(this,"maintained",void 0),(0,w._)(this,"maintaining",void 0),(0,w._)(this,"error",void 0),(0,w._)(this,"model",void 0),(0,w._)(this,"wsAuthorized",void 0),(0,w._)(this,"apps",void 0),this.options=e,this.eventBus=new EventTarget,this.providers=[],this.scopes={},this.components={},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,K.merge)(this.scopes,e.scopes),this.components=(0,K.merge)(this.getDefaultComponents(),e.components),this.name=this.options.name||T(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 z.FlowEngine,this.flowEngine.registerModels({ApplicationModel:oe}),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 i9=new WeakMap,i7=new WeakMap;class oe extends z.FlowModel{get app(){return this.context.app}getProviders(){return(0,L._)(this,i9,(0,$._)(this,i9)||this.app.getComposeProviders()),(0,$._)(this,i9)}getRouter(){return(0,L._)(this,i7,(0,$._)(this,i7)||this.app.router.getRouterComponent()),(0,$._)(this,i7)}render(){return this.app.maintaining&&!this.app.maintained?(0,V.jsx)(V.Fragment,{children:this.renderMaintaining()}):this.app.error&&!this.app.maintaining?(0,V.jsx)(V.Fragment,{children:this.renderError()}):(0,V.jsxs)(V.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,V.jsx)(t,{BaseLayout:l});if(!e)return n;let r=(e,t)=>{var l;console.error(e);let n=null==(l=t.componentStack)?void 0:l.trim();if(!n)return;let r=Error("React component stack");r.stack=n,console.error(r)};return(0,V.jsx)(Y.tH,{FallbackComponent:t=>(0,V.jsx)(e,{app:this.app,...t}),onError:r,children:n})}constructor(...e){super(...e),(0,B._)(this,i9,{writable:!0,value:void 0}),(0,B._)(this,i7,{writable:!0,value:void 0})}}oe.registerFlow({key:"appFlow",steps:{init:{async handler(e){try{await e.app.load()}catch(t){e.model.app.error=t,console.error(t)}}}}});var ot=l(16350);let ol=[{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}],on=[{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}],or=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"}],oi=[{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}],oo=[{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}],oa=[{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}],os=[{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}],od=[{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}],ou=[{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}],oc=[{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"}}}],op=[{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}],oh=[{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 om{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={}){(0,w._)(this,"operators",{}),(0,w._)(this,"groups",{}),Object.entries(e).forEach(e=>{let[t,l]=e;this.registerGroup(t,l)})}}let of=new om(g),og=of.getGroups(),ov=og;function oy(e){return of.resolveOperators(e)}function ob(e){if(!e)return e;let t=Array.isArray(e.operatorOverrides)?e.operatorOverrides:[];e.operatorGroup&&(e.operators=ox(oy(e.operatorGroup),t));let l=e.operators;return"string"==typeof l?(e.operatorGroup=l,e.operators=ox(oy(l),t)):Array.isArray(l)?e.operators=ox(l,t):t.length>0&&(e.operators=[...t]),Array.isArray(e.children)&&e.children.forEach(e=>{e&&"object"==typeof e&&ob(e)}),e}function ox(){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 ow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...t,operatorGroup:e,operators:oy(e)}}function oS(e,t){return{operators:e.flatMap(e=>{let{types:l,operators:n}=e;return oy(n).map(e=>({...e,visible:n=>{let r=l.includes(t(n));return"function"==typeof e.visible?e.visible(n)&&r:r}}))})}}let oM="CollectionSelect",oA=new Set(["name","uiSchema.title"]),oF=new Set(["Grid","Grid.Row","Grid.Col","div"]);function ok(e){return{...e.context,...e.values}}function oC(e,t){if("boolean"==typeof e)return e;if("string"!=typeof e)return!1;let l=e.replace(/^\s*\{\{\s*/,"").replace(/\s*\}\}\s*$/,""),n=ok(t),r=e=>{let t=e.trim().replace(/^\$/,"");if(!t)return!1;if(t.startsWith("!"))return!r(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,r=(0,K.get)(n,e);return"function"==typeof r&&!!r(...t.split(",").map(e=>e.trim()).filter(Boolean).map(e=>e.replace(/^['"]|['"]$/g,"")))}return!!(0,K.get)(n,t)};return l.split("||").some(e=>e.split("&&").every(e=>r(e)))}function oP(e){return"string"==typeof e?t=>oC(e,t):e}function oj(e){return(null==e?void 0:e["x-hidden"])!==void 0?oP(e["x-hidden"]):(null==e?void 0:e["x-visible"])!==void 0?t=>!oC(e["x-visible"],t):void 0}function oE(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,r]=e,i=t?`${t}.${n}`:n,o=null==r?void 0:r.properties,a=null==r?void 0:r["x-component"];if(o&&"Grid.Row"===a){let e=Object.entries(o).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[r,o]=e;return oE((null==o?void 0:o.properties)||{},t,{row:i,column:r,columnIndex:n,span:l})})}return o&&(!a||oF.has(a))?oE(o,t,l):[{name:i,schema:r,layout:l}]})}function oR(e,t){return!oA.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 oI(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return oE(e).filter(e=>{let{name:t,schema:l}=e;return oR(t,l)}).map(e=>{var l;let{name:n,schema:r,layout:i}=e,o=null==r?void 0:r["x-component"];return{name:n,title:(null==r?void 0:r.title)||(null==r?void 0:r["x-content"]),component:o,Component:o?null==(l=t.components)?void 0:l[o]:void 0,componentProps:null==r?void 0:r["x-component-props"],defaultValue:null==r?void 0:r.default,description:null==r?void 0:r.description,hidden:oj(r),disabled:oP(null==r?void 0:r["x-disabled"]),options:Array.isArray(null==r?void 0:r.enum)?r.enum:void 0,required:null==r?void 0:r.required,schema:r,layout:i}})}let oT=[{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"}],o_=[{label:'{{t("12 hour")}}',value:"hh:mm:ss a"},{label:'{{t("24 hour")}}',value:"HH:mm:ss"}];function oD(e){return(0,K.get)(e,"uiSchema.x-component-props.picker")||"date"}function oN(e){return(0,K.get)(e,"uiSchema.x-component-props.showTime")}function oO(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,K.get)(t,"reverseField.key"))return{disabled:!0};if("uiSchema.x-component-props.dateFormat"===e)return{componentProps:{picker:oD(t)}};if("uiSchema.x-component-props.showTime"===e)return{hidden:"date"!==oD(t)};if("uiSchema.x-component-props.timeFormat"===e)return{hidden:"date"!==oD(t)||!1===oN(t)};if("defaultValue"===e){let e=!!(0,K.get)(t,"primaryKey")||!!(0,K.get)(t,"unique")||!!(0,K.get)(t,"autoIncrement")||!!(0,K.get)(t,"defaultToCurrentTime");return{hidden:e,...e?{value:null,hasValue:!0}:null,componentProps:{gmt:(0,K.get)(t,"uiSchema.x-component-props.gmt"),showTime:(0,K.get)(t,"uiSchema.x-component-props.showTime"),dateFormat:(0,K.get)(t,"uiSchema.x-component-props.dateFormat"),timeFormat:(0,K.get)(t,"uiSchema.x-component-props.timeFormat"),picker:(0,K.get)(t,"uiSchema.x-component-props.picker"),format:(0,K.get)(t,"uiSchema.x-component-props.format")},dataSource:(0,K.get)(t,"uiSchema.enum")}}return("precision"===e||"scale"===e)&&"decimal"!==(0,K.get)(t,"type")?{hidden:!0}:{}}function o$(e){let{context:t,getValue:l,setValue:n,values:r}=e,i=!!l("primaryKey"),o=!!l("unique");if(t.createMainOnly&&i&&(!e.changedName||"primaryKey"===e.changedName)&&(!1!==l("unique")&&n("unique",!1),(0,K.has)(r,"autoIncrement")&&!0!==l("autoIncrement")&&n("autoIncrement",!0)),t.createMainOnly&&o&&i&&"unique"===e.changedName&&n("primaryKey",!1),(0,K.get)(r,"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,K.has)(r,"uiSchema.x-component-props.picker")||(0,K.has)(r,"uiSchema.x-component-props.dateFormat")||(0,K.has)(r,"uiSchema.x-component-props.showTime")||(0,K.has)(r,"uiSchema.x-component-props.timeFormat")))return;let a=oD(r);"uiSchema.x-component-props.picker"===e.changedName&&(0,K.has)(r,"uiSchema.x-component-props.dateFormat")&&(0,K.get)(r,"uiSchema.x-component-props.dateFormat")!==(0,em.getPickerFormat)(a)&&n("uiSchema.x-component-props.dateFormat",(0,em.getPickerFormat)(a)),(0,K.has)(r,"uiSchema.x-component-props.showTime")&&"date"!==a&&!1!==oN(r)&&n("uiSchema.x-component-props.showTime",!1),(0,K.has)(r,"uiSchema.x-component-props.timeFormat")&&oN(r)&&!(0,K.get)(r,"uiSchema.x-component-props.timeFormat")&&n("uiSchema.x-component-props.timeFormat","HH:mm:ss")}function oB(){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 oL(){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:oT,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:o_,hidden:t=>!!("function"==typeof e.hidden&&e.hidden(t))||("boolean"==typeof e.hidden?e.hidden:!1===oN(t.values))}),t}function oV(){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,K.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,K.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,K.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}}]}let oq=oV;function oz(){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 oK={key:"required",label:"Required",hasValue:!1,params:[]};function oU(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 oW{register(e){this.items.set(e.key,(0,K.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,K.cloneDeep)(this.items.get(e))}getGroup(e){return(this.groups.get(e)||[]).map(e=>"string"==typeof e?this.get(e):(0,K.cloneDeep)(e)).filter(Boolean)}constructor(){(0,w._)(this,"items",new Map),(0,w._)(this,"groups",new Map)}}let oH=new oW;function oG(e){oH.register(e)}function oY(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oH.registerGroup(e,t)}function oJ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oH.addToGroup(e,t)}oH.registerMany([oK,{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",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"}]}]),oH.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"]),oH.registerGroup("number",["required",...oU("number"),"multiple","integer","precision","unsafe"]),oH.registerGroup("date",["required",...oU("date"),"timestamp"]),oH.registerGroup("object",["required"]);class oX{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)&&(ob(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){of.register(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];of.registerGroup(e,t),this.normalizeFieldInterfaceFilterables()}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];of.addToGroup(e,t),this.normalizeFieldInterfaceFilterables()}registerFieldValidationConfigure(e){oG(e)}registerFieldValidationConfigureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oY(e,t)}addFieldValidationConfiguresToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oJ(e,t)}getFieldValidationConfigureGroup(e){return oH.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,r;let i=this.getFieldInterface(e);if(!i)return;let o=(null==(l=i.getConfigureFormProperties)?void 0:l.call(i,t))||i.properties||{},a={name:i.name,title:i.title,group:i.group,order:i.order,default:i.default,titleUsable:i.titleUsable,isAssociation:i.isAssociation,supportDataSourceType:i.supportDataSourceType,notSupportDataSourceType:i.notSupportDataSourceType,properties:o,items:oI(o,{components:null==(n=i.configure)?void 0:n.components}),getConfigureFormProperties:null==(r=i.getConfigureFormProperties)?void 0:r.bind(i)};return this.mergeFieldInterfaceConfigure(a,i.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=>{ob(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){(0,w._)(this,"dataSourceManager",void 0),(0,w._)(this,"collectionFieldInterfaceInstances",void 0),(0,w._)(this,"collectionFieldGroups",void 0),(0,w._)(this,"actionList",void 0),this.dataSourceManager=e,this.collectionFieldInterfaceInstances={},this.collectionFieldGroups={},this.actionList={}}}function oQ(e){return`${e}/client-v2`}function oZ(e){return("default"in e?e.default:void 0)||e}function o0(e,t){window.__nocobase_app_dev_plugins__=window.__nocobase_app_dev_plugins__||{},window.__nocobase_app_dev_plugins__[e]=t}function o1(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=oQ(t);window.define(n,()=>l),o0(n,l)})}function o2(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=oQ(t);window.define(n,()=>l),o0(n,l)})}function o5(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((e,t)=>(e[oQ(t.packageName)]=t.url,e),{})})}function o4(e,t){return function(){for(var l=arguments.length,n=Array(l),r=0;r<l;r++)n[r]=arguments[r];n.forEach((t,l)=>{t&&o0(oQ(e[l].packageName),t)}),t(n.map((t,l)=>[e[l].name,(null==t?void 0:t.default)||t]).filter(e=>e[1]));let i=n.map((e,t)=>e?null:t).filter(e=>null!==e).map(t=>e[t].packageName);i.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",i.join(", \r\n"))}}function o8(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];o5(e,t);let l=t.map(e=>oQ(e.packageName));return new Promise((n,r)=>{e.requirejs(l,o4(t,n),r)})}async function o3(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(let l of o6(e)){let e=await import(l.url),n=oZ(e);n&&(t.push([l.name,n]),o2({[l.packageName]:e}))}return t}function o6(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Map(e.map(e=>[e.packageName,e])),l=[],n=new Set,r=new Set,i=e=>{if(!r.has(e.packageName)&&!n.has(e.packageName)){for(let l of(n.add(e.packageName),e.appDevDependencies||[])){let e=t.get(l);e&&i(e)}n.delete(e.packageName),r.add(e.packageName),l.push(e)}};return e.forEach(i),l}async function o9(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=[],n=[],r=async()=>{if(0===n.length)return;let t=await o8(e,n);l.push(...t),n=[]};for(let e of o6(t)){if("esm"===e.devMode){await r();let t=await o3([e]);l.push(...t);continue}n.push(e)}return await r(),l}async function o7(e){let{requirejs:t,pluginData:l,devDynamicImport:n}=e;if(0===l.length)return[];let r=[],i={},o={};if(n){for await(let e of l){let t=await n(e.packageName);if(t){let l=oZ(t);r.push([e.name,l]),i[e.packageName]=l,o[e.packageName]=t}}o1(o)}let a=l.filter(e=>!i[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 r;let e=await o8(t,d);return r.push(...e),r}let u=await o9(t,a);return r.push(...u),r}class ae{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 o7({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){(0,w._)(this,"_plugins",void 0),(0,w._)(this,"loadRemotePlugins",void 0),(0,w._)(this,"app",void 0),(0,w._)(this,"pluginInstances",void 0),(0,w._)(this,"pluginsAliases",void 0),(0,w._)(this,"initPlugins",void 0),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 at=l(96204),al=l(45588);function an(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=new Set(e.map(e=>e.routeName));for(let e=t.length-1;e>=0;e-=1){let n=t[e];if(l.has(n.id))return n}return null}function ar(e){let t=(0,X.useParams)(),l=(0,X.useLocation)(),n=(0,X.useMatches)(),r=e.flowEngine;(0,W.useEffect)(()=>{var l,i,o;let a=n[n.length-1];if(!a)return;let s=an(null==(i=e.layoutManager)||null==(l=i.listLayouts)?void 0:l.call(i),n);r.context._observableCache.route={name:a.id,pathname:a.pathname,path:(null==(o=a.handle)?void 0:o.path)||null,params:t,layoutRouteName:null==s?void 0:s.id,layoutBasePathname:null==s?void 0:s.pathname}},[e,r.context,t,n]),(0,W.useEffect)(()=>{r.context._observableCache.location=l},[r.context,l])}function ai(e){let{app:t}=e;return ar(t),null}function ao(e,t){if(!t||"/"===t)return e;let l=t.replace(/\/$/,"");return e===l?"/":e.startsWith(`${l}/`)?e.slice(l.length)||"/":e}class aa{get basename(){return this.router.basename}get state(){return this.router.state}get navigate(){return this.router.navigate}resolveLoadedComponent(e){if(e)return"function"==typeof e||"string"==typeof e?e:e.default||e.Component}createRouteLazyComponent(e){let t=W.lazy(()=>e().then(e=>{let t=this.resolveLoadedComponent(e);if(!t)throw Error("componentLoader must resolve to a React component or component module.");return"string"==typeof t?{default:e=>this.app.renderComponent(t,e)}:{default:t}}));return function(e){return(0,V.jsx)(W.Suspense,{fallback:null,children:(0,V.jsx)(t,{...e})})}}getRoutesTree(){let e={};for(let[t,l]of Object.entries(this.routes))(0,K.set)(e,t.split(".").join(".children."),{...(0,K.get)(e,t.split(".").join(".children.")),...l});let t=e=>Object.values(e).reduce((e,l)=>{if(1===Object.keys(l).length&&l.children)e.push(...t(l.children));else{let{Component:n,componentLoader:r,element:i,children:o,...a}=l,s=i;r?s=W.createElement(this.createRouteLazyComponent(r)):n&&(s="string"==typeof n?this.app.renderComponent(n):W.createElement(n));let d={...a,element:s,children:o?t(o):void 0};e.push(d)}return e},[]);return t(e)}getRoutes(){return this.routes}setType(e){this.options.type=e}getBasename(){return this.options.basename}setBasename(e){this.options.basename=e}matchRoutes(e){var t;let l=this.getRoutesTree(),n=(null==(t=this.router)?void 0:t.basename)||this.getBasename();return(0,al.ue)(l,ao(e,n))}isSkippedAuthCheckRoute(e){return(this.matchRoutes(e)||[]).some(e=>{var t;return(null==e||null==(t=e.route)?void 0:t.skipAuthCheck)===!0})}getRouterComponent(e){let{type:t="browser",...l}=this.options,n={hash:J.createHashRouter,browser:J.createBrowserRouter,memory:X.createMemoryRouter},r=this.getRoutesTree(),i=(0,W.createContext)(e=>e.children),o=()=>{let t=(0,W.useContext)(i);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(ai,{app:this.app}),(0,V.jsxs)(t,{children:[(0,V.jsx)(X.Outlet,{}),e]})]})},a=()=>{throw(0,X.useRouteError)()};return this.router=n[t]([{element:(0,V.jsx)(o,{}),errorElement:(0,V.jsx)(a,{}),children:r}],l),e=>{let{BaseLayout:t=ey.ct}=e;return(0,V.jsx)(i.Provider,{value:t,children:(0,V.jsx)(ey.PK,{children:(0,V.jsx)(J.RouterProvider,{future:{v7_startTransition:!0},router:this.router})})})}}add(e,t){this.routes[e]={id:e,...t,handle:{path:t.path}}}get(e){return this.routes[e]}has(e){return!!this.get(e)}remove(e){delete this.routes[e]}constructor(e={},t){(0,w._)(this,"routes",{}),(0,w._)(this,"options",void 0),(0,w._)(this,"app",void 0),(0,w._)(this,"router",void 0),this.options=e,this.app=t,this.routes=e.routes||{}}}var as=l(24978);let ad=e=>{let{children:t}=e,{token:l}=er.A.useToken(),n=l.colorFillTertiary,r=new as.q(l.colorFill).onBackground(l.colorFillSecondary).toHexShortString(),i=new as.q(l.colorFill).onBackground(l.colorFill).toHexShortString(),o=new as.q(l.colorFill).onBackground(l.colorFill).onBackground(l.colorFill).toHexShortString();return(0,W.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",r),document.body.style.setProperty("--colorBgScrollBarHover",i),document.body.style.setProperty("--colorBgScrollBarActive",o),document.body.style.setProperty("--colorSettings",l.colorSettings||eo.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)},[r,o,i,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};ad.displayName="CSSVariableProvider";let au=ad;class ac extends i6{createApiClient(e){return new O({...e.apiClient,appName:e.name||T(e.publicPath)})}configureRuntimeAdapters(){this.dataSourceManager=this.flowEngine.context.dataSourceManager,this.dataSourceManager.setRequester(this.apiClient.request.bind(this.apiClient)),this.dataSourceManager.collectionFieldInterfaceManager||this.dataSourceManager.setCollectionFieldInterfaceManager(new oX(this.dataSourceManager))}createI18n(e){if(e.i18n)return e.i18n;let t=(0,iJ.createInstance)();return t.use(ot.r9).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1}),t}createRouterManager(e){var t;let l=new aa(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 ae(e.plugins||[],!!e.loadRemotePlugins,this)}createPluginSettingsManager(e){return new at.mz(this)}async load(){try{this.hasLoadError=!1,await this.loadWebSocket(),await this.pm.load(),await this.flowEngine.flowSettings.load()}catch(i){var e,t,l,n,r;this.hasLoadError=!0,(null==i||null==(n=i.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==(r=this.apiClient.toErrMessages(i))?void 0:r[0]},console.error(i,this.error)}this.updateFavicon()}async loadWebSocket(){this.eventBus.addEventListener("ws:message:authorized",()=>{this.setWsAuthorized(!0)}),this.ws.on("message",e=>{var t,l,n,r;if(!e.data)return;let i=JSON.parse(e.data);if(null==i||null==(t=i.payload)?void 0:t.refresh)return void globalThis.window.location.reload();if("notification"===i.type){let e=this.context.notification;null==(n=e[(null==(r=i.payload)?void 0:r.type)||"info"])||n.call(e,{message:null==(l=i.payload)?void 0:l.message});return}if("maintaining"===i.type&&"APP_RUNNING"!==i.payload.code)this.setMaintaining(!0),this.error=i.payload;else{this.hasLoadError&&globalThis.window.location.reload(),this.setMaintaining(!1),this.maintained=!0,this.error=null;let e=i.type;if(!e)return;let t=`ws:message:${e}`;this.eventBus.dispatchEvent(new CustomEvent(t,{detail:i.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(au)}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),(0,w._)(this,"hasLoadError",!1)}}let ap=(0,W.createContext)(null);ap.displayName="ApplicationContext";var ah=l(36093),am=l.n(ah);class af extends ac{constructor(e={}){super({router:{type:"memory",initialEntries:["/"]},...e}),(0,w._)(this,"apiMock",void 0),this.apiMock=new(am())(this.apiClient.axios),this.ws=new ag(e.ws||{})}}class ag extends iv{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),(0,w._)(this,"eventBus",new EventTarget)}}function av(e){return new af(e)}class ay{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){(0,w._)(this,"options",void 0),(0,w._)(this,"app",void 0),this.options=e,this.app=t,this.options=e,this.app=t}}var ab=l(84256),ax=l(47785);function aw(e){return"steps"in e&&e.steps||{}}function aS(e){let t=aw(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 aM(e){if(!aA(e))return;let t=aF(e);if(t())return(0,z.createRecordMetaFactory)(t,e.t("Response record"),()=>{let l=t(),n=aS(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 aA(e){var t;if(Object.prototype.hasOwnProperty.call(aw(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 aF(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 ak(e){let t=aM(e);if(!t){var l;return(null==(l=e.getPropertyMetaTree)?void 0:l.call(e))||[]}let n=new z.FlowContext;return n.addDelegate(e),n.defineProperty("responseRecord",{get:()=>aS(e),cache:!1,resolveOnServer:(0,z.createRecordResolveOnServerWithLocal)(aF(e),()=>aS(e)),meta:t}),n.getPropertyMetaTree()}function aC(e){let t=(0,z.useFlowSettingsContext)(),l=(0,W.useMemo)(()=>()=>ak(t),[t]);return(0,V.jsx)(ax.n,{...e,metaTree:l})}let aP=(0,z.defineAction)({name:"afterSuccess",title:(0,z.tExpr)("After successful submission"),defineProperties(e){let t=aM(e);return{responseRecord:{get:()=>aS(e),cache:!1,resolveOnServer:(0,z.createRecordResolveOnServerWithLocal)(aF(e),()=>aS(e)),...t?{meta:t}:{}}}},uiSchema:{successMessage:{type:"string",title:(0,z.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,z.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,z.tExpr)("Automatic close"),value:!1},{label:(0,z.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,z.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,z.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,z.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,z.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,z.tExpr)("Link"),"x-decorator":"FormItem","x-component":aC,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,z.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:n=!1,actionAfterSuccess:r="previous",redirectTo:i}=t;"previous"===r&&e.view&&e.view.close();let o=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,em.isURL)(e)){window.location.href=e;return}o(e)};if(l){let t=e.t(l);if(n)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===r&&i&&a(i)}});e.message.success(t)}"redirect"===r&&i&&a(i)}}),aj=(0,z.defineAction)({name:"confirm",title:(0,z.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,z.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,z.tExpr)("Title"),"x-decorator":"FormItem","x-component":ax.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,z.tExpr)("Content"),"x-decorator":"FormItem","x-component":ax.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,z.tExpr)("Please Confirm"),content:(0,z.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 aE=l(58528),aR=l(81486);let aI={__nocobaseDataScopeNull__:!0},aT="{{$nRole}}",a_=/^\s*\{\{\s*ctx\.role\s*\}\}\s*$/;function aD(e){return"string"==typeof e&&a_.test(e)}function aN(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function aO(e){return aN(e)?null:Array.isArray(e)?e.map(e=>aO(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=aO(e[l]),t),{}):e}function a$(e){var t;return!!(0,z.isVariableExpression)(e)&&(null==(t=(0,z.extractPropertyPath)(e))?void 0:t[0])==="urlSearchParams"}function aB(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){if(aD(e.value)){t.value=aT;return}(0,z.isVariableExpression)(e.value)&&!a$(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=aI);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{aB(e,t.items[l])})}}function aL(e,t){let l=U().cloneDeep(t);return aB(e,l),aO((0,z.pruneFilter)((0,em.transformFilter)(l)))}var aV=l(12197),aq=l(47632);function az(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function aK(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function aU(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,aV.Qc)(l),l);return Array.from(t.values())}function aW(e){let t=aU(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&aK(e,t)))}function aH(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,n]=e.split(":"),r=Number(n);!t||Number.isNaN(r)||l.push({name:t,index:r})}return l}function aG(e){var t;let l=null==e?void 0:e.model;return aH((null==l||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function aY(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 aJ(e,t){let l=aY(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function aX(e){return(0,aV.EA)(e).filter(e=>"object"!=typeof e)}function aQ(e){return(0,aV.c1)(e)}function aZ(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:[],r=[];for(let e of n){if(Array.isArray(e)){if(1===e.length&&"string"==typeof e[0]){let t=(0,aV.c1)(e[0]);t.length&&r.push(t);continue}let t=e.filter(e=>"string"==typeof e||"number"==typeof e);t.length&&r.push(t);continue}"string"==typeof e&&e&&r.push((0,aV.c1)(e))}if(r.length)return r;let i=null==l?void 0:l.changedValues;if(i&&"object"==typeof i&&(t.includeArrayChangedValues||!Array.isArray(i)))for(let e of Object.keys(i)){let t=(0,aV.c1)(e);t.length&&r.push(t)}return r}function a0(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 a1(e){var t;let l=[],n=e=>{e&&!l.includes(e)&&l.push(e)},r=e.model;n(null==r||null==(t=r.context)?void 0:t.blockModel),n(e.model);let i=null==r?void 0:r.parent;for(;i;)n(i),i=null==i?void 0:i.parent;return l.find(a0)||null}var a2=l(26866);function a5(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 a4(e){var t,l;return a5((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 a8(e){var t,l,n,r,i,o,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==(o=c.context)||null==(i=o.formBlock)||null==(r=i.context)?void 0:r.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 a3(e){var t,l,n,r,i,o,a,s,d,u,c,p;let h=e.model;return a5((null==h||null==(l=h.context)||null==(t=l.collection)?void 0:t.filterTargetKey)??(null==h||null==(r=h.context)||null==(n=r.collection)?void 0:n.filterByTk)??(null==h||null==(a=h.context)||null==(o=a.collectionField)||null==(i=o.targetCollection)?void 0:i.filterTargetKey)??(null==h||null==(u=h.context)||null==(d=u.collectionField)||null==(s=d.targetCollection)?void 0:s.filterByTk)??(null==h||null==(p=h.context)||null==(c=p.collectionField)?void 0:c.targetKey))}function a6(e,t){let l=a8(e),n=a3(e);return t.map(e=>{let t=n;if(null==l?void 0:l.getField){var r;let n=l.getField(e.name);((null==n||null==(r=n.isAssociationField)?void 0:r.call(n))||(null==n?void 0:n.targetCollection)||(null==n?void 0:n.targetKey))&&(t=a4(n),l=null==n?void 0:n.targetCollection)}return{...e,filterTargetKey:t}})}function a9(e,t,l){let n=e.length-1-t;if(n<0)return;let r=e[n],i=null==r?void 0:r.filterTargetKey,o=Array.isArray(i)?i.map(e=>[e]):"string"==typeof i&&i?[[i]]:[];return{entries:e.slice(0,n+1).map(e=>({...e})),tailPath:l,identityTailPaths:o}}function a7(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 se(e,t){let l=e;for(let e of t){if(!a7(l,e))return{found:!1};l=l[e]}return{found:!0,value:l}}function st(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,a2.r5)(e,t):null}function sn(e){let t=[];for(let l of e.entries)t.push(l.name,l.index);return t}function sr(e,t,l,n){if(null==l?void 0:l.rowDetached)return!1;let r=sn(t);if(!r.length||!t.identityTailPaths.length)return!1;let i=t.identityTailPaths.map(e=>[...r,...e]);return(n??aZ(e)).some(e=>i.some(t=>aK(t,e)))}function si(e,t,l){return Array.isArray(e)&&t?e.findIndex(e=>sl(e,l)===t):-1}function so(e,t,l,n){let r=[],i=-1,o=[];for(let a=0;a<t.entries.length;a++){let s=t.entries[a],d=[...r,s.name],u=se(e,d);if(!u.found||!Array.isArray(u.value))return{found:!1};let c=null==l?void 0:l[a],p=si(u.value,c,s.filterTargetKey),h=p>=0?p:s.index;if(h<0||h>=u.value.length)return c?{found:!1,rowMissing:!0}:{found:!1};let m=u.value[h];if(c&&p<0&&!n)return{found:!1,rowMissing:!0};o.push(sl(m,s.filterTargetKey)),i=h,r=[...d,h]}return{found:!0,path:[...r,...t.tailPath],rowIndex:i,rowIdentities:o}}function sa(e,t,l){var n,r;let i=se(st(t),l);if(i.found)return i;let o=null==e||null==(n=e.context)?void 0:n.form;return"function"==typeof(null==o?void 0:o.getFieldValue)?{found:!0,value:o.getFieldValue(l)}:se(null==e||null==(r=e.context)?void 0:r.formValues,l)}function ss(e,t,l,n,r){var i,o;let a=l.rowScope;if(!a)return sa(e,t,l.path);if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let s=sr(t,a,n,r);for(let l of[st(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=so(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=se(l,e.path);if(t.found)return{found:!0,value:t.value,rowIdentities:e.rowIdentities}}let d=null==e||null==(o=e.context)?void 0:o.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 sd(e){return Array.isArray(e)?e.length:e}function su(e,t,l){var n,r;if(!Array.isArray(e))return{found:!0,value:e};let i=null==l||null==(n=l.rowIdentities)?void 0:n[l.rowIdentities.length-1],o=null==(r=t.rowScope)?void 0:r.entries[t.rowScope.entries.length-1],a=si(e,i,null==o?void 0:o.filterTargetKey);return a>=0?{found:!0,value:a,rowIdentities:null==l?void 0:l.rowIdentities}:i?{found:!1,rowMissing:!0}:!o||o.index<0||o.index>=e.length?{found:!1}:{found:!0,value:o.index,rowIdentities:[sl(e[o.index],o.filterTargetKey)]}}function sc(e,t,l,n,r){var i,o;if("length"===l.kind){if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let o=null==n?void 0:n.rowIdentities,a=l.rowScope;if(a){let l=sr(t,a,n,r);for(let r of[st(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=so(r,a,null==n?void 0:n.rowIdentities,l);if(e.rowMissing)return{found:!1,rowMissing:!0};if(e.found){o=e.rowIdentities;break}}}let s=sa(e,t,l.path);return s.found?{found:!0,value:sd(s.value),rowIdentities:o}:s}if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let a=l.rowScope;if(a){let l=sr(t,a,n,r);for(let r of[st(t),null==e||null==(o=e.context)?void 0:o.formValues]){let e=so(r,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=sa(e,t,l.path);return s.found?su(s.value,l,n):s}function sp(e,t,l){if(e.wildcard)return null;let n={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let r of e.valuePaths){let e=(0,aV.Qc)(r.path),i=ss(t,l,r);if(i.rowMissing){n.rowMissing=!0,n.complete=!1;continue}if(!i.found){n.complete=!1;continue}n.values.set(e,{value:(0,K.cloneDeep)(i.value),rowIdentities:i.rowIdentities,rowDetached:!1})}for(let r of e.structuralPaths){let e=sc(t,l,r);if(e.rowMissing){n.rowMissing=!0,n.complete=!1;continue}if(!e.found){n.complete=!1;continue}n.structures.set(`${r.kind}:${(0,aV.Qc)(r.path)}`,{value:(0,K.cloneDeep)(e.value),rowIdentities:e.rowIdentities,rowDetached:!1})}return n}function sh(e,t,l,n,r){if(e.wildcard)return null;let i={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let o of e.valuePaths){let e=(0,aV.Qc)(o.path),a=n.values.get(e),s=ss(t,l,o,a,r);if(s.rowMissing){i.rowMissing=!0,i.rowDetached=!0,a?i.values.set(e,{...a,rowDetached:!0}):i.complete=!1;continue}if(!s.found){i.complete=!1;continue}i.values.set(e,{value:(0,K.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}for(let o of e.structuralPaths){let e=`${o.kind}:${(0,aV.Qc)(o.path)}`,a=n.structures.get(e),s=sc(t,l,o,a,r);if(s.rowMissing){i.rowMissing=!0,i.rowDetached=!0,a?i.structures.set(e,{...a,rowDetached:!0}):i.complete=!1;continue}if(!s.found){i.complete=!1;continue}i.structures.set(e,{value:(0,K.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}return i}function sm(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e.entries()){var l;if(!t.has(n)||!(0,K.isEqual)(r.value,null==(l=t.get(n))?void 0:l.value))return!1}return!0}function sf(e,t,l,n){if(e.wildcard||!(null==n?void 0:n.complete))return{status:"unknown",snapshot:sp(e,t,l)};let r=sh(e,t,l,n,aZ(l));return(null==r?void 0:r.rowMissing)?{status:"unchanged",snapshot:{...r,rowMissing:!1}}:(null==r?void 0:r.complete)?{status:sm(n.values,r.values)&&sm(n.structures,r.structures)?"unchanged":"changed",snapshot:r}:{status:"unknown",snapshot:r}}let sg="formValuesChange",sv="__formValueDrivenDataScopeClearBindings";function sy(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,aV.Qc)(n.path),n)}return Array.from(t.values())}function sb(e){let t=sy(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&aK(e.path,t.path)))}function sx(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,aV.Qc)(n.path)}`,n)}return Array.from(t.values())}function sw(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,aV.Qc)(n.path)}`,n)}return Array.from(t.values())}function sS(){return{wildcard:!1,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function sM(){return{wildcard:!0,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function sA(e){let t=e[0];if("value"===t){let t=e.slice(1);return t.length?{wildcard:!1,valuePaths:[{path:t}],structuralPaths:[],triggerPaths:[]}:sM()}return"__is_new__"===t||"__is_stored__"===t?{wildcard:!1,valuePaths:[{path:[t]}],structuralPaths:[],triggerPaths:[]}:sS()}function sF(e,t){var l,n;let r=a6(e,aH((null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex)));if(!r.length)return sM();let i=0,o=[...t];for(;"parentItem"===o[0];)i+=1,o=o.slice(1);let a=o[0];if(!a)return sM();if(i===r.length)return sA(o);if(i>r.length)return sM();if("value"===a){let e=aY(r,i);if(!e)return sM();let t=aJ(r,i),l=o.slice(1);return{wildcard:!1,valuePaths:[{path:[...e,...l],rowScope:a9(r,i,l)}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0},...t?[{path:t,includeChildren:!1}]:[]]}}if("index"===a||"length"===a){let e=aJ(r,i);return e?{wildcard:!1,valuePaths:[],structuralPaths:[{path:e,kind:a,rowScope:a9(r,i,[])}],triggerPaths:[{path:e,includeChildren:!1}]}:sM()}if("__is_new__"===a||"__is_stored__"===a){let e=aY(r,i);return e?{wildcard:!1,valuePaths:[{path:[...e,a],rowScope:a9(r,i,[a])}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0}]}:sM()}return sM()}function sk(e,t){let l={deps:new Set,wildcard:!1};(0,aq.G)(t,l);let n=[],r=[],i=[],o=l.wildcard;for(let t of l.deps){if("fv:*"===t){o=!0;continue}if(!t.startsWith("fv:")){if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),a=sF(e,l?aQ(l):[]);o||(o=a.wildcard),n.push(...a.valuePaths),r.push(...a.structuralPaths),i.push(...a.triggerPaths)}continue}let l=t.slice(3);if(!l){o=!0;continue}n.push({path:aQ(l)})}return{wildcard:o,valuePaths:sb(n),structuralPaths:sx(r),triggerPaths:sw(i)}}function sC(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0||e.triggerPaths.length>0}function sP(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 sj(e,t){if(!sC(e))return!1;if(e.wildcard)return!0;let l=aZ(t);if(!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(aK(l.path,t)||aK(t,l.path))return!0;for(let l of e.structuralPaths)if(az(l.path,t)||aK(t,l.path))return!0;for(let l of e.triggerPaths)if(l.includeChildren&&(aK(l.path,t)||aK(t,l.path))||!l.includeChildren&&az(l.path,t))return!0}return!1}function sE(e,t){let l=e=>e.map(e=>(0,aV.Qc)(e.path)).sort(),n=e=>e.map(e=>`${e.kind}:${(0,aV.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,aV.Qc)(e.path)}`).sort()})}function sR(e){var t,l;return(t=e)[l=sv]||(t[l]=new Map)}function sI(e){return a1(e)}function sT(e){var t,l;if(!sP(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 s_(e){var t;return!!e&&"object"==typeof e&&"function"==typeof(null==e||null==(t=e.props)?void 0:t.onChange)}function sD(e,t){let l=sR(e).get(t);l&&l.dispose()}function sN(e,t){var l,n,r,i,o,a;let s=e.model,d=null==e?void 0:e.flowKey;if(!s_(s)||!d)return;let u="dataScope",c=`${d}:${u}`,p=sk(e,t);if(!sC(p))return void sD(s,c);let h=sI(e);if(!h)return void sD(s,c);let m=sE(p,h),f=sR(s),g=f.get(c);if((null==g?void 0:g.signature)===m)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==(i=s.context)||null==(r=i.engine)?void 0:r.emitter),y={signature:m,snapshot:sp(p,h),dispose:()=>{}},b=()=>{var e,t,l,n;null==(t=h.emitter)||null==(e=t.off)||e.call(t,sg,x),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)},x=e=>{var t;if(s.disposed||h.disposed)return void b();if(!sj(p,e))return;let l=sf(p,h,e,y.snapshot);(null==(t=l.snapshot)?void 0:t.complete)&&(y.snapshot=l.snapshot),"unchanged"===l.status||sP(s)&&sT(s)},w=e=>{let{model:t}=e;(t===h||t===s&&s.disposed)&&b()},S=e=>{let{model:t}=e;(t===s||t===h)&&b()};y.dispose=b,f.set(c,y),h.emitter.on(sg,x),null==v||null==(o=v.on)||o.call(v,"model:unmounted",w),null==v||null==(a=v.on)||a.call(v,"model:destroyed",S)}let sO=(0,z.defineAction)({name:"dataScope",title:(0,z.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,z.useFlowSettingsContext)();return(0,V.jsx)(aE.I8,{value:e.value,FilterItem:e=>(0,V.jsx)(aE.Et,{...e,model:t.model,rightAsVariable:!0,maxAssociationFieldDepth:t.model instanceof aR.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 r=await e.resolveJsonTemplate(t.filter),i=aL(t.filter,r);sN(e,t.filter),(0,em.isEmptyFilter)(i)?n.removeFilterGroup(e.model.uid):n.addFilterGroup(e.model.uid,i)}});var s$=l(52717),sB=l(94130);class sL extends z.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),r=(0,sB.GX)(e);return(0,sB.F3)(n,r)}static async defineChildren(e){let t=this.baseClass?await (0,z.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,r]of this.models){if(!this.isActionModelVisible(r,e)||n.find(e=>e.useModel===r.name))continue;let t=await (0,z.buildSubModelItem)(r,e);t&&l.push(t)}return U().sortBy([...n,...l],"sort")}}(0,w._)(sL,"baseClass",void 0),(0,w._)(sL,"scene",void 0),(0,w._)(sL,"_models",void 0);class sV extends sL{}(0,w._)(sV,"baseClass",s$.S0),(0,w._)(sV,"scene",s$.s5.collection);class sq extends sL{}(0,w._)(sq,"baseClass",s$.S0),(0,w._)(sq,"scene",s$.s5.record);var sz=l(14252);class sK extends z.FlowModel{static defineChildren(e){let t=this.itemModelName,l=this.maxAssociationFieldDepth??2,n=function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return o>=l?[]:r.getToOneAssociationFields().map(r=>{let a=i?`${i}.${r.name}`:r.name,s=o+1;return r.targetCollection?{key:`${a}-assocationField`,label:r.title,children:()=>[{key:`${a}-children-collectionField`,label:e.t("Display fields"),type:"group",children:r.targetCollection.getFields().map(n=>{var r;if(s>=l&&((null==(r=n.isAssociationField)?void 0:r.call(n))||n.target||n.targetCollection))return;let i=`${a}.${n.name}`,o=z.DisplayItemModel.getDefaultBindingByField(e,n,{fallbackToTargetTitleField:!0});if(!o)return;let d=o.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)===i},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:i,associationPathName:a}}},subModels:{field:{use:d}}}}}).filter(Boolean)},{key:`${a}-children-associationField`,label:"Display association fields",type:"group",children:(n(r.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 ${r.target} not found for field ${r.name}`)}).filter(Boolean)};return n(e.collection,e.prefixFieldPath)}}function sU(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function sW(e){return e.context}function sH(e,t){var l;let n=e[t]||(null==(l=sW(e))?void 0:l[t]);return n&&"object"==typeof n?n:void 0}function sG(e){var t,l,n;let r=null==(t=sW(e))?void 0:t.dataSourceManager;return r||(null==(n=e.flowEngine)||null==(l=n.context)?void 0:l.dataSourceManager)}function sY(e){return{operatorGroup:e.operatorGroup,operators:Array.isArray(e.operators)?[...e.operators]:e.operators,operatorOverrides:Array.isArray(e.operatorOverrides)?[...e.operatorOverrides]:e.operatorOverrides}}function sJ(e){if(!1===e)return[];if(!e||"object"!=typeof e)return;let t=ob(sY(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 sX(e,t){var l;let n="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;if(!n)return;let r=sG(e),i=null==r?void 0:r.collectionFieldInterfaceManager,o=null==i||null==(l=i.getFieldInterface)?void 0:l.call(i,n);return null==o?void 0:o.filterable}function sQ(e){let t=[null==e?void 0:e.interface,null==e?void 0:e.type].filter(e=>"string"==typeof e),l=eZ.II;for(let e of t){let t=l[e];if(null==t?void 0:t.length)return t}return[]}function sZ(e){let t=sH(e,"collectionField"),l=sH(e,"filterField"),n=t||l;if((null==n?void 0:n.filterable)===!1)return[];let r=sJ(null==n?void 0:n.filterable);if(null==r?void 0:r.length)return r;let i=sX(e,n);if(!1===i)return[];let o=sJ(i);return(null==o?void 0:o.length)?o:sQ(n)}function s0(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s1(e);if(!t)return null;let l=sH(e,"collectionField")||sH(e,"filterField");return sZ(e).find(e=>e.value===t&&(!e.visible||e.visible(l)))||null}function s1(e){var t,l,n,r,i,o;let a=sZ(e);return e.operator||(null==(l=e.getStepParams)||null==(t=l.call(e,"filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(r=e.subModels)||null==(n=r.field)?void 0:n.operator)||(null==(i=a.find(e=>e.selected))?void 0:i.value)||(null==(o=a[0])?void 0:o.value)||"$includes"}function s2(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 s5(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}(0,w._)(sK,"itemModelName","DetailsItemModel"),(0,w._)(sK,"maxAssociationFieldDepth",2),sK.define({label:'{{t("Display fields")}}'});let s4={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function s8(e,t){var l,n,r;let i=null==e||null==(l=e.context)?void 0:l.dataSourceManager,o=null==e?void 0:e.collection;if(!i||!(null==o?void 0:o.dataSourceKey)||!(null==o?void 0:o.name)||!t)return;let a=o.name,s=t.split(".").filter(Boolean);for(let e=0;e<s.length;e+=1){let t=null==(n=i.getCollectionField)?void 0:n.call(i,`${o.dataSourceKey}.${a}.${s[e]}`);if(!t||e===s.length-1)return t;if(!(a=t.target||(null==(r=t.targetCollection)?void 0:r.name)))return}}function s3(e,t,l){let n=s4[e];if(!n)return e;let r=s8(t,l);return!r||sU(r)?e:n}async function s6(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function s9(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class s7{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),r=null==e||null==(n=e.context)?void 0:n.blockModel;if(!r||"function"!=typeof r.prepareInitialFilterValues)return;let i=await r.prepareInitialFilterValues();!1!==i&&l.add(r)}catch(t){console.error(`Failed to prepare filter defaults for target "${e}": ${s9(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 r=this.filterConfigs.length;this.filterConfigs=this.filterConfigs.filter(e=>t&&l?e.filterId!==t||e.targetId!==l:t?e.filterId!==t:!l||e.targetId!==l);let i=r-this.filterConfigs.length;return i>0&&n&&await this.saveFilterConfigs(),i}bindToTarget(e){if(!e||"string"!=typeof e)return void console.error("[NocoBase]: targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`[NocoBase]: Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.addFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with addFilterGroup method`);if("function"!=typeof t.resource.removeFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let n=t;l.forEach(e=>{let l=this.gridModel.flowEngine.getModel(e.filterId);if(!l)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" not found`);if(!l.getFilterValue)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" does not have getFilterValue method`);let r=l.getFilterValue();if(s2(r)){try{t.resource.removeFilterGroup(e.filterId),n.setFilterActive(e.filterId,!1)}catch(e){console.error(`[NocoBase]: Failed to remove filter configuration from target model: ${e.message}`)}return}n.setFilterActive(e.filterId,!0);let i=e.filterPaths.map(n=>({path:n,operator:s3(e.operator||s1(l),t,n),value:r}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new z.FilterItem({path:i[0].path,operator:i[0].operator,value:i[0].value}));else if(i.length>1){let l={logic:"$or",items:i};t.resource.addFilterGroup(e.filterId,new z.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 r=(null==t?void 0:t.excludeTargetIds)?new Set(t.excludeTargetIds):void 0,i=[...new Set(n.map(e=>e.targetId))].filter(e=>!(null==r?void 0:r.has(e))).map(async e=>{try{this.bindToTarget(e);let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let l=t,n=t.resource,r=l.getDataLoadingMode();if("manual"===r&&!l.hasActiveFilters()){n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1;return}await s6(n),"function"==typeof n.setPage&&n.setPage(1),await n.refresh()}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(i)}constructor(e,t){(0,w._)(this,"filterConfigs",void 0),(0,w._)(this,"gridModel",void 0),this.gridModel=e,this.filterConfigs=t||[]}}var de=l(84626),dt=l(47152),dl=l(16370);function dn(e){let{rows:t={},sizes:l={},layout:n,renderItem:r,rowGap:i=16,colGap:o=16,dragOverlayRect:a}=e,s=n||(0,z.normalizeGridLayout)({rows:t,sizes:l});return s.rows.length?(0,V.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:i},"data-grid-root":!0,children:[a&&(0,V.jsx)(da,{rect:a}),(0,V.jsx)(dr,{rows:s.rows,renderItem:r,rowGap:i,colGap:o,parentPath:[]})]}):(0,V.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:a&&(0,V.jsx)(da,{rect:a})})}function dr(e){let{rows:t,renderItem:l,rowGap:n,colGap:r,parentPath:i}=e;return(0,V.jsx)(V.Fragment,{children:t.map(e=>{let t=e.cells.length,o=e.sizes||[],a=o.some(e=>null!=e&&void 0!==e),s=[...i,{rowId:e.id}],d=e.cells.map((e,l)=>{if(!a)return 24/t;{let e=o.reduce((e,t)=>e+(t||0),0),n=t-o.filter(Boolean).length,r=n>0?(24-e)/n:0;return o[l]??r}});return(0,V.jsx)(dt.A,{gutter:r,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,i)=>(0,V.jsx)(di,{rowKey:e.id,columnIndex:i,span:d[i],rowGap:n,colGap:r,cell:t,path:[...s.slice(0,-1),{rowId:e.id,cellId:t.id}],renderItem:l},t.id))},e.id)})})}let di=W.memo(function(e){var t;let{rowKey:l,columnIndex:n,span:r,rowGap:i,colGap:o,cell:a,path:s,renderItem:d}=e,u=a.items||[];return(0,V.jsx)(dl.A,{span:r,"data-grid-column-row-id":l,"data-grid-column-index":n,"data-grid-path":JSON.stringify(s),children:(0,V.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:i},children:[u.map((e,t)=>e===z.EMPTY_COLUMN_UID?null:(0,V.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,V.jsx)(dr,{rows:a.rows,renderItem:d,rowGap:i,colGap:o,parentPath:s}):null]})})});function da(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,V.jsx)("div",{style:{...l,...n[t.type]}})}di.displayName="GridColumn";var ds=l(95725),dd=l(40919);let du=e=>{let{value:t,onChange:l,rows:n=10,...r}=e,[i,o]=(0,W.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,W.useState)(null);(0,W.useEffect)(()=>{o(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;o(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,V.jsxs)("div",{children:[(0,V.jsx)(ds.A.TextArea,{value:i,autoSize:{minRows:n,maxRows:n+10},onChange:d,...r}),a&&(0,V.jsx)(dd.A,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},dc=(0,ni.connect)(du),dp="gridSettings",dh="grid",dm=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 df extends z.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},r=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==r||r.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==r||r.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(dp,dh)||{};return(0,z.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=U().omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,z.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(dp,{[dh]:{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],r=l.find(e=>e.id===n.rowId);if(!r)break;if(e===t.length-1)return r;let i=r.cells.find(e=>e.id===n.cellId);l=(null==i?void 0:i.rows)||[]}return null}collectCellItemsForResize(e){return Array.isArray(e.items)?[...e.items]:(e.rows||[]).flatMap(e=>e.cells.flatMap(e=>this.collectCellItemsForResize(e)))}buildResizedCells(e,t){let l=new Set;return t.map((t,n)=>{let r=e.cells.findIndex((e,n)=>!l.has(n)&&U().isEqual(this.collectCellItemsForResize(e),t));if(-1!==r){l.add(r);let n=e.cells[r];return n.rows&&!n.items?U().cloneDeep(n):{id:n.id,items:[...t]}}return{id:`${e.id}:cell:${n}:${(0,iE.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 r=this.getResizeRowPath(e),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0;if(!r.length)return i;let o=Array.from((null==(l=this.gridContainerRef.current)?void 0:l.querySelectorAll("[data-grid-row-id]"))||[]).find(e=>{try{return U().isEqual(JSON.parse(e.dataset.gridPath||"[]"),r)}catch{return!1}});return(null==o||null==(n=o.parentElement)?void 0:n.clientWidth)||i}prunePlaceholderOnlyRows(e){let t=e=>e.map(e=>{let l=e.cells.map((l,n)=>{var r,i;let o=(null==(r=e.sizes)?void 0:r[n])??1;if(null==(i=l.rows)?void 0:i.length){let e=t(l.rows);return e.length?{cell:{...l,rows:e},size:o,hasRealItem:!0}:null}let a=l.items||[],s=a.some(e=>e!==z.EMPTY_COLUMN_UID),d=a.includes(z.EMPTY_COLUMN_UID);return s||d?{cell:l,size:o,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,z.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:r}=e,i=this.getGridLayout(),o=(0,z.findModelUidLayoutPosition)(i,r.uid);if(!o)return null;let a=this.findLayoutRowByPath(i,o.path);if(!a)return null;let s=this.getResizeContainerWidth(o.path),d=a.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:u,newSizes:c,moveDistance:p}=dv({position:{rowId:a.id,columnIndex:o.cellIndex,itemIndex:o.itemIndex},direction:l,resizeDistance:n,prevMoveDistance:this.prevMoveDistance,oldRows:{[a.id]:d},oldSizes:{[a.id]:a.sizes||[]},gutter:(null==(t=this.context.themeToken)?void 0:t.marginBlock)??16,gridContainerWidth:s}),h=U().cloneDeep(i),m=this.findLayoutRowByPath(h,o.path);return m?(m.cells=this.buildResizedCells(a,u[a.id]||[]),m.sizes=c[a.id]||[],{layout:(0,z.normalizeGridLayout)({layout:h,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}),moveDistance:p}):null}onMount(){super.onMount(),this.emitter.on("onSubModelAdded",e=>{e.isNew&&(this.resetRows(!0),this.setGridStepLayout(this.props.layout))}),this.emitter.on("onSubModelDestroyed",e=>{var t,l;let n=e.uid;this.resetRows(!0);let r=this.prunePlaceholderOnlyRows(this.props.layout);this.setGridStepLayout(r),this.syncLayoutProps(r),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,z.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(z.EMPTY_COLUMN_UID);let n=new Set,r={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>U().castArray(e).filter(e=>l.has(e))).filter(e=>e.length>0);e.length>0&&(r[t]=e,e.forEach(e=>e.forEach(e=>n.add(e))))}let i=new Set;for(let e of(Object.values(r).forEach(e=>e.forEach(e=>e.forEach(e=>i.add(e)))),t))i.has(e.uid)||(r[(0,iE.uid)()]=[[e.uid]]);return r}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(dp,dh)||{},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=dm(e.activatorEvent);if(n)return this.dragState.pointerOrigin=n,{x:n.x+e.delta.x,y:n.y+e.delta.y};let r=null==(t=e.over)?void 0:t.rect;return r?{x:r.left+r.width/2,y:r.top+r.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,z.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=e.slots,this.dragState.containerRect=e.containerRect}scheduleSnapshotRefresh(){!this.dragState||this.dragState.refreshTimer||(this.dragState.refreshTimer=setTimeout(()=>{this.dragState&&(this.dragState.refreshTimer=null,this.updateLayoutSnapshot(),this.refreshPreviewFromPointer())},16))}refreshPreviewFromPointer(){if(!this.dragState)return;let e=this.dragState.pointerPosition||this.dragState.pointerOrigin;if(!e)return;let t=this.resolveDragSlot(e);this.applyPreview(t)}computeOverlayRect(e){var t,l,n,r;let i=this.dragOverlayConfig,o=e.rect;switch(e.type){case"column":{let l=null==i||null==(t=i.columnInsert)?void 0:t[e.position],n=(null==l?void 0:l.height)??o.height,r=(null==l?void 0:l.offsetTop)??0;return{top:o.top+r,left:o.left,width:o.width,height:n}}case"column-edge":{let t=null==i||null==(l=i.columnEdge)?void 0:l[e.direction],n=(null==t?void 0:t.width)??o.width,r=(null==t?void 0:t.offsetLeft)??0;return{top:o.top,left:o.left+r,width:n,height:o.height}}case"item-edge":{let t=null==i||null==(n=i.columnEdge)?void 0:n[e.direction],l=(null==t?void 0:t.width)??o.width,r=(null==t?void 0:t.offsetLeft)??0;return{top:o.top,left:o.left+r,width:l,height:o.height}}case"row-gap":{let t=null==i||null==(r=i.rowGap)?void 0:r[e.position],l=(null==t?void 0:t.height)??o.height,n=(null==t?void 0:t.offsetTop)??0;return{top:o.top+n,left:o.left,width:o.width,height:l}}default:return{top:o.top,left:o.left,width:o.width,height:o.height}}}getHitTestSlot(e){return{...e,rect:this.computeOverlayRect(e)}}resolveDragSlot(e){var t;return(null==(t=this.dragState)?void 0:t.slots.length)?(0,z.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,z.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,z.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:iE.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,iE.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,z.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:U().cloneDeep(l.rows),sizes:U().cloneDeep(l.sizes),rowOrder:U().cloneDeep(l.rowOrder),layout:U().cloneDeep(l.layout)};let n=this.computeOverlayRect(e),r={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",r),this.dragState.activeSlotKey=t}handleDragStart(e){let t=e.active.id,l=this.normalizeLayoutFromSource(),n=(0,z.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:U().cloneDeep(n.rows),sizes:U().cloneDeep(n.sizes),rowOrder:U().cloneDeep(n.rowOrder),layout:U().cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:dm(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(U().cloneDeep(l.layout)):(this.setProps("rows",U().cloneDeep(l.rows)),this.setProps("sizes",U().cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",U().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,z.normalizeGridLayout)({rows:dg((0,z.projectLayoutToLegacyRows)(t).rows),itemUids:this.getItemUids()}):t,n=(0,z.projectLayoutToLegacyRows)(l),{rows:r,rowOrder:i}=this.normalizeRowsWithOrder(n.rows,n.rowOrder),o=this.orderSizesByRowOrder(n.sizes,i);if(this.context.flowSettingsEnabled)return{layout:l,rows:r,sizes:o};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 r=null==(n=e.sizes)?void 0:n[l],i=Number.isFinite(r)&&r>0?r:1;if(t.rows){let e=s(t.rows);return e.length?{cell:{...t,rows:e},size:i,hasVisibleContent:!0}:null}let o=(t.items||[]).filter(e=>{var t;return e===z.EMPTY_COLUMN_UID||(null==(t=a.get(e))?void 0:t.hidden)!==!0}),d=o.some(e=>{if(e===z.EMPTY_COLUMN_UID)return!1;let t=a.get(e);return!t||!t.hidden}),u=o.includes(z.EMPTY_COLUMN_UID);return d||u?{cell:{...t,items:o},size:i,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,z.normalizeGridLayout)({layout:{version:2,rows:s(l.rows)}}),u=(0,z.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,V.jsxs)(V.Fragment,{children:[n&&(0,V.jsx)(de.A,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap,display:"flex"},size:this.props.rowGap,children:(0,V.jsx)(z.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,V.jsx)(dn,{rowGap:this.props.rowGap,colGap:this.props.colGap,layout:e,rows:t,sizes:l,dragOverlayRect:this.props.dragOverlayRect,renderItem:e=>{var t,l,n,r,i;let o=this.flowEngine.getModel(e);if(!o)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=(r=this.context).getPropertyOptions)?void 0:n.call(r,"currentObject"),p=null==s?o:(()=>{let t=o.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,V.jsx)(z.Droppable,{model:p,children:(0,V.jsx)(z.MemoFlowModelRenderer,{model:p,fallback:o.skeleton||this.itemFallback,showFlowSettings:!!this.context.flowSettingsEnabled&&this.getItemFlowSettings(),showErrorFallback:!0,settingsMenuLevel:(null==p?void 0:p.settingsMenuLevel)??this.itemSettingsMenuLevel,showTitle:!0,extraToolbarItems:this.itemExtraToolbarItems},`${p.uid}:${a}:${(null==p?void 0:p.use)||(null==p||null==(i=p.constructor)?void 0:i.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,V.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),(0,w._)(this,"subModelBaseClass","BlockModel"),(0,w._)(this,"gridContainerRef",W.createRef()),(0,w._)(this,"prevMoveDistance",0),(0,w._)(this,"itemSettingsMenuLevel",1),(0,w._)(this,"itemFlowSettings",{}),(0,w._)(this,"dragOverlayConfig",void 0),(0,w._)(this,"itemFallback",(0,V.jsx)(r9,{})),(0,w._)(this,"itemExtraToolbarItems",[{key:"drag-handler",component:z.DragHandler,sort:1}]),(0,w._)(this,"dragState",void 0),(0,w._)(this,"_memoItemFlowSettings",void 0),(0,w._)(this,"updateDragPointerPosition",e=>{if(!this.dragState)return;let t=dm(e);t&&(this.dragState.pointerPosition=t)}),(0,w._)(this,"handleDragScroll",()=>{this.dragState&&this.scheduleSnapshotRefresh()})}}function dg(e,t){let l=(null==t?void 0:t.emptyColumnUid)??z.EMPTY_COLUMN_UID,n={};return Object.keys(e).forEach(t=>{e[t].forEach(e=>{let t=e.filter(e=>e!==l);t.length>0&&(n[(0,iE.uid)()]=[t])})}),n}function dv(e){var t,l;let{position:n,direction:r,resizeDistance:i,prevMoveDistance:o,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=U().cloneDeep(s),h=U().cloneDeep(a),m=Math.floor(i/(d-u*((h[n.rowId]||[]).length-1))*c);if(m===o)return{newRows:p,newSizes:h,moveDistance:m};(t=h)[l=n.rowId]??(t[l]=[c]);let f=h[n.rowId],g=m-o,v="left"===r&&n.columnIndex>0,y="right"===r&&n.columnIndex<f.length-1;if(!v&&!y&&g>0){let e=c-f.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:h,moveDistance:o};g>e&&(m=o+e,g=e)}if(h[n.rowId][n.columnIndex]+=g,"left"===r&&n.columnIndex>0&&(h[n.rowId][n.columnIndex-1]-=g,0===h[n.rowId][n.columnIndex-1]&&db({rows:p,sizes:h,position:n,direction:"left"})),"left"===r&&0===n.columnIndex){let e=h[n.rowId].slice(1).reduce((e,t)=>e+t,0);h[n.rowId][0]<c-e&&dy({rows:p,sizes:h,position:n,direction:"left"})}if("right"===r&&n.columnIndex<h[n.rowId].length-1&&(h[n.rowId][n.columnIndex+1]-=g,0===h[n.rowId][n.columnIndex+1]&&db({rows:p,sizes:h,position:n,direction:"right"})),"right"===r&&n.columnIndex===h[n.rowId].length-1){let e=h[n.rowId].slice(0,-1).reduce((e,t)=>e+t,0);h[n.rowId][n.columnIndex]<c-e&&dy({rows:p,sizes:h,position:n,direction:"right"})}return{newRows:p,newSizes:h,moveDistance:m}}function dy(e){let{rows:t,sizes:l,position:n,direction:r}=e,i=t[n.rowId]||[],o=l[n.rowId]||[];if("left"===r){let e=i[n.columnIndex-1];if(null==e?void 0:e.includes(z.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex,0,[z.EMPTY_COLUMN_UID]),o.splice(n.columnIndex,0,1)}if("right"===r){let e=i[n.columnIndex+1];if(null==e?void 0:e.includes(z.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex+1,0,[z.EMPTY_COLUMN_UID]),o.splice(n.columnIndex+1,0,1)}}function db(e){let{rows:t,sizes:l,position:n,direction:r}=e,i=t[n.rowId]||[],o=l[n.rowId]||[];if("left"===r){let e=i[n.columnIndex-1];if(!(null==e?void 0:e.includes(z.EMPTY_COLUMN_UID)))return;i.splice(n.columnIndex-1,1),o.splice(n.columnIndex-1,1)}if("right"===r){let e=i[n.columnIndex+1];if(!(null==e?void 0:e.includes(z.EMPTY_COLUMN_UID)))return;i.splice(n.columnIndex+1,1),o.splice(n.columnIndex+1,1)}}df.registerFlow({key:dp,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,z.tExpr)("Layout"),"x-decorator":"FormItem","x-component":dc,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,z.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,n=(0,z.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 dx=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class dw extends df{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new s7(this,e.filterManager)})}get subModelBaseClasses(){var e;let t=(null==(e=this.context.view)?void 0:e.inputArgs)??{};return t.collectionName&&!t.filterByTk,["DataBlockModel","FilterBlockModel","BlockModel"]}get filterManager(){return this.context.filterManager}get addBlockItems(){var e,t;if((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)==="select")return async e=>{let t=await (0,z.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=dx.filter(t=>!!e.engine.getModelClass(t)),n=(await Promise.all(l.map(t=>(0,z.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,V.jsx)(z.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,V.jsx)(z.FlowSettingsButton,{icon:(0,V.jsx)(tI.A,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,V.jsx)("div",{className:"nb-block-grid",style:this.context.disableBlockGridPadding?null:{padding:this.context.isMobileLayout?8:this.context.themeToken.marginBlock,paddingBottom:0},children:super.render()})}constructor(...e){super(...e),(0,w._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}})}}dw.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 dS=l(15892),dM=l(72380),dA=l(52175);class dF extends z.FlowModel{}var dk=l(5679);class dC extends dS.z{}dC.define({hide:!0,label:"Filter blocks"});var dP=l(44279),dj=l(21637),dE=l(2117);async function dR(e){var t,l,n,r,i;(null==(l=e.inputArgs)||null==(t=l.dirty)?void 0:t.hasDirtyForms)&&(await e.modal.confirm({title:e.t("Unsaved changes"),content:e.t("Are you sure you don't want to save?"),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||(null==(i=e.inputArgs)||null==(r=i.controller)||null==(n=r.prevent)||n.call(r),e.exitAll()))}class dI extends z.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}getActiveTabKey(){var e,t,l,n;let r=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return r?r.tabUid||(null==(n=this.getFirstTab())?void 0:n.uid):this.props.tabActiveKey||(null==(l=this.getFirstTab())?void 0:l.uid)}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{this.dirtyRefreshScheduled=!1,this.unmounted||!1!==(0,z.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(){var e;let t=this.props.tabActiveKey||(null==(e=this.getFirstTab())?void 0:e.uid);t&&this.invokeTabModelLifecycleMethod(t,"onInactive")}onMount(){var e,t,l,n,r,i,o,a,s;super.onMount(),this.unmounted=!1,this.setProps("tabActiveKey",null==(e=this.context.view.inputArgs)?void 0:e.tabUid),(null==(t=this.context)?void 0:t.pageInfo)&&(this.context.pageInfo.version="v2"),this.updateDocumentTitle(),this.viewActivatedListener||(this.viewActivatedListener=e=>{this.activateCurrentTab()},null==(i=this.flowEngine)||null==(r=i.emitter)||null==(n=r.on)||n.call(r,z.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let d=(0,z.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),u=d>0&&d!==this.lastSeenEmitterViewActivatedVersion;this.lastSeenEmitterViewActivatedVersion=d,u&&!1!==(0,z.getPageActive)(this.context)&&this.activateCurrentTab(),this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(s=this.flowEngine)||null==(a=s.emitter)||null==(o=a.on)||o.call(a,z.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,n,r,i;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,z.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(i=this.flowEngine)||null==(r=i.emitter)||null==(n=r.off)||n.call(r,z.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener),this.dataSourceDirtyListener=void 0),super.onUnmount()}invokeTabModelLifecycleMethod(e,t){var l,n;let r=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 i=this.findSubModel("tabs",t=>t.uid===e)||this.flowEngine.getModel(e);if(i){if(i.context.tabActive){let e=!1!==(0,z.getPageActive)(i.context);i.context.tabActive.value=e&&"onActive"===t}null==(n=i.subModels.grid)||n.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,r)})}"onActive"===t&&this.updateDocumentTitle(e)}async updateDocumentTitle(e){var t,l,n,r,i,o,a,s,d,u,c,p,h,m,f,g,v,y,b,x;let w=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,z.getPageActive)(this.context))return;let S=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),M=null==(i=this.context)||null==(r=i.view)||null==(n=r.inputArgs)?void 0:n.viewUid,A=null==(s=this.flowEngine)||null==(a=s.context)||null==(o=a.route)?void 0:o.pathname;if(S&&M&&"string"==typeof A){let e=null==(u=this.context)||null==(d=u.layout)?void 0:d.routePath,t=null==(c=(0,z.parsePathnameToViewParams)(A,{basePath:(null==(h=this.context)||null==(p=h.layoutRoute)?void 0:p.basePathname)||((null==e?void 0:e.startsWith("/"))?e:"")}).at(-1))?void 0:c.viewUid;if(t&&t!==M)return}let F=++this.documentTitleUpdateVersion,k=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}},C="";if(this.getEnableTabs()){let t=e||this.getActiveTabKey(),l=t?this.flowEngine.getModel(t):this.getFirstTab();if(!l&&w<5)return void window.setTimeout(()=>{this.unmounted||F===this.documentTitleUpdateVersion&&this.updateDocumentTitle(t,w+1)},0);C=await k(null==l||null==(g=l.stepParams)||null==(f=g.pageTabSettings)||null==(m=f.tab)?void 0:m.documentTitle)||(null==l||null==(v=l.getTabTitle)?void 0:v.call(l))||""}else C=await k(null==(x=this.stepParams)||null==(b=x.pageSettings)||null==(y=b.general)?void 0:y.documentTitle)||this.props.title||"";F===this.documentTitleUpdateVersion&&"string"==typeof C&&""!==C&&(document.title=C)}mapTabs(){return this.mapSubModels("tabs",e=>!this.context.flowSettingsEnabled&&e.hidden?null:{key:e.uid,label:(0,V.jsx)(z.Droppable,{model:e,children:(0,V.jsx)(z.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:z.DragHandler,sort:1}]})}),children:e.renderChildren()}).filter(Boolean)}getFirstTab(){var e;return null==(e=this.subModels.tabs)?void 0:e[0]}renderFirstTab(){var e;let t=this.getFirstTab();return null==t||null==(e=t.renderChildren)?void 0:e.call(t)}async handleDragEnd(e){throw Error("Method not implemented.")}renderTabs(){var e,t,l,n;let r=(null==(e=this.context.themeToken)?void 0:e.paddingLG)??16,i=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,V.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:r,height:1}}),o=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,V.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:r},children:(0,V.jsx)(z.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,V.jsx)(z.FlowSettingsButton,{icon:(0,V.jsx)(tI.A,{}),children:this.context.t("Add tab")})})});return(0,V.jsx)(z.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:(0,V.jsx)(dj.A,{activeKey:(null==(l=this.context.view)||null==(t=l.navigation)?void 0:t.viewParams)?this.context.view.navigation.viewParams.tabUid||(null==(n=this.getFirstTab())?void 0:n.uid):this.props.tabActiveKey,tabBarStyle:this.props.tabBarStyle,items:this.mapTabs(),onChange:e=>{var t,l;let n=this.props.tabActiveKey||this.getActiveTabKey();null==(l=this.context.view.navigation)||null==(t=l.changeTo)||t.call(l,{tabUid:e}),this.invokeTabModelLifecycleMethod(e,"onActive"),n&&n!==e&&this.invokeTabModelLifecycleMethod(n,"onInactive"),this.setProps("tabActiveKey",e)},tabBarExtraContent:{left:i,right:o}})})}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,V.jsxs)(V.Fragment,{children:[this.props.displayTitle&&(0,V.jsx)(dP.z,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),(0,w._)(this,"tabBarExtraContent",{}),(0,w._)(this,"viewActivatedListener",void 0),(0,w._)(this,"dataSourceDirtyListener",void 0),(0,w._)(this,"lastSeenEmitterViewActivatedVersion",0),(0,w._)(this,"dirtyRefreshScheduled",!1),(0,w._)(this,"unmounted",!1),(0,w._)(this,"documentTitleUpdateVersion",0),(0,w._)(this,"createPageTabModelOptions",()=>{let e=(0,iE.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,iE.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}})}}dI.registerEvents({close:{title:(0,z.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,z.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":dE.H}},handler:dE.b}}),dI.registerFlow({key:"closeGuard",title:(0,z.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,z.tExpr)("Unsaved changes confirmation"),handler:dR}}}),dI.registerFlow({key:"pageSettings",title:(0,z.tExpr)("Page settings"),steps:{general:{title:(0,z.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,z.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,z.tExpr)("Document title"),description:(0,z.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":ax.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,z.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,z.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 r=null==(n=e.model.context)||null==(l=n.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||r,{ns:"lm-desktop-routes"}))}e.model.setProps("enableTabs",t.enableTabs),"embed"===e.view.type?(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgContainer)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgContainer)",marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgLayout)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgLayout)",marginBottom:0})),e.model.updateDocumentTitle()}}}});var dT=l(68904);class d_ extends dI{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,r={...this.props.tabBarStyle,paddingBlock:(null==n?void 0:n.paddingXS)??8};return(0,V.jsx)("div",{style:r,children:(0,V.jsx)(dD,{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,V.jsxs)(V.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,V.jsx)(dP.z,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,V.jsxs)(V.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),(0,w._)(this,"tabBarExtraContent",{left:(0,V.jsx)(dD,{})}),(0,w._)(this,"createPageTabModelOptions",()=>({use:"ChildPageTabModel"}))}}let dD=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,z.useFlowContext)(),n=l.themeToken,r=32,i=(null==n?void 0:n.paddingLG)??16,o=(0,W.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:n.paddingXS,marginLeft:n.paddingLG,marginRight:r-n.paddingXS}),[n.paddingLG,n.paddingXS]);return"embed"!==l.view.type?t?(0,V.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,V.jsx)(nE.Ay,{"aria-label":"back-button",type:"text",icon:(0,V.jsx)(dT.A,{}),style:o,onClick:l.view.close})};class dN extends z.FlowModel{}dN.registerFlow({key:"pageSettings",title:(0,z.tExpr)("Page settings"),steps:{general:{title:(0,z.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,z.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,z.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 r=null==(n=e.model.context)||null==(l=n.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||r))}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 dO extends dN{renderFirstTab(){var e;return(0,V.jsx)(z.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,V.jsxs)(V.Fragment,{children:[this.props.displayTitle&&(0,V.jsx)(dP.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function d$(e){let{ctx:t,options:l}=e,{data:n,loading:r}=(0,r3.A)(async()=>{let e=await t.engine.loadOrCreateModel(l,{skipSave:!t.flowSettingsEnabled});return e.context.addDelegate(t),e},{refreshDeps:[t.model.uid]}),i=(null==t?void 0:t.isMobileLayout)?8:null==t?void 0:t.themeToken.marginBlock;return!r&&(null==n?void 0:n.uid)?(0,V.jsx)(z.FlowModelRenderer,{model:n,fallback:(0,V.jsx)(r9,{style:{margin:i}})}):(0,V.jsx)(r9,{style:{margin:i}})}function dB(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}class dL extends z.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:z.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,V.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,V.jsx)(eZ.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,V.jsxs)("span",{style:{display:"inline-block"},children:[(0,V.jsx)(eZ.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}dL.registerFlow({key:"pageTabSettings",title:(0,z.tExpr)("Tab settings"),steps:{tab:{title:(0,z.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,z.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,z.tExpr)("Document title"),description:(0,z.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":ax.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,z.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 r=e.engine.getModel(e.model.parentId);null==r||null==(l=r.updateDocumentTitle)||l.call(r)}}}});class dV extends dL{renderChildren(){return(0,V.jsx)(d$,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){return this.save()}async save(){var e,t,l,n,r;let i=this.serialize(),o=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,a=await this.context.api.request({method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:{...this.props.route,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{flowRegistry:i.flowRegistry,documentTitle:o}}}),s=dB(null==a||null==(n=a.data)?void 0:n.data);s&&this.setProps("route",{...this.props.route,...s,options:{...null==(r=this.props.route)?void 0:r.options,...s.options}})}async destroy(){return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid),await this.context.api.request({method:"post",url:"desktopRoutes:destroy",params:{filter:{schemaUid:this.uid}},data:this.props.route}),!0}}class dq extends dL{renderChildren(){return(0,V.jsx)(d$,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class dz extends z.FlowModel{render(){return(0,V.jsx)(d$,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class dK extends dI{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,r;let i=null==e||null==(l=e.props)||null==(t=l.route)?void 0:t.id;return null!=i?i:("function"==typeof(null==e?void 0:e.save)&&await e.save(),null==e||null==(r=e.props)||null==(n=r.route)?void 0:n.id)}onMount(){super.onMount(),(0,z.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),r=this.flowEngine.getModel(null==(l=e.over)?void 0:l.id);if(!n||!r||n.uid===r.uid)return;let[i,o]=await Promise.all([this.ensurePersistedRouteId(n),this.ensurePersistedRouteId(r)]);null!=i&&null!=o&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:i,targetId:o,sortField:"sort"}}),this.flowEngine.moveModel(n.uid,r.uid,{persist:!1}))}constructor(...e){super(...e),(0,w._)(this,"mounted",!1)}}dK.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),U().castArray(null==l?void 0:l.children).filter(Boolean).sort((e,t)=>(e.sort||0)-(t.sort||0)))){var n,r;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==(r=t.options)?void 0:r.documentTitle}}}});e.model.addSubModel("tabs",l)}}}}});class dU extends dN{renderFirstTab(){var e;return(0,V.jsx)(z.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,V.jsxs)(V.Fragment,{children:[this.props.displayTitle&&(0,V.jsx)(dP.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}class dW extends sz.S0{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Popup"),icon:"ExportOutlined"})}}dW.define({label:(0,z.tExpr)("Popup")}),dW.registerFlow(eM);var dH=l(33297);class dG extends dW{getAclActionName(){return"create"}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,z.tExpr)("Add new")),(0,w._)(this,"defaultProps",{type:"primary",title:(0,z.tExpr)("Add new"),icon:"PlusOutlined"})}}(0,w._)(dG,"scene",sz.s5.collection),dG.define({label:(0,z.tExpr)("Add new"),sort:10});let dY=e=>{var t,l,n,r,i,o;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==(r=a.getStepParams)?void 0:r.call(a,"resourceSettings","init"))||(null==e||null==(o=e.model)||null==(i=o.getStepParams)?void 0:i.call(o,"resourceSettings","init"))},dJ=e=>{var t;return!!(null==(t=dY(e))?void 0:t.associationName)},dX=e=>{var t,l,n,r;let i=dY(e),o=(null==e||null==(t=e.blockModel)?void 0:t.association)||(null==e||null==(r=e.model)||null==(n=r.context)||null==(l=n.blockModel)?void 0:l.association),a=null==o?void 0:o.targetCollection;return{dataSourceKey:(null==a?void 0:a.dataSourceKey)||(null==i?void 0:i.dataSourceKey),collectionName:(null==a?void 0:a.name)||(null==o?void 0:o.target)||(null==i?void 0:i.collectionName)}},dQ=e=>{var t,l,n,r,i,o;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=dY(e);return{collectionField:s,sourceId:(null==a||null==(r=a.resource)||null==(n=r.getSourceId)?void 0:n.call(r))??(null==d?void 0:d.sourceId),associatedRecords:(null==a||null==(o=a.resource)||null==(i=o.getData)?void 0:i.call(o))||[]}},dZ=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}))},d0=async e=>{var t,l,n,r,i,o,a,s,d,u,c,p;let h=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),m=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!dJ(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for disassociation"));return}if(!e.record){null==(p=e.message)||null==(c=p.error)||c.call(p,e.t("No record selected for disassociation"));return}let f=null==m||null==(n=m.getFilterByTK)?void 0:n.call(m,e.record);await dZ(h,"remove",[f]),await (null==(r=h.refresh)?void 0:r.call(h)),null==(o=e.message)||null==(i=o.success)||i.call(o,e.t("Record disassociated successfully"))},d1=async(e,t)=>{var l,n,r,i,o,a,s,d,u,c,p;let h=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),m=(null==e||null==(n=e.blockModel)?void 0:n.collection)||(null==e?void 0:e.collection);if(!dJ(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for association"));return}if(!(null==t?void 0:t.length)){null==(p=e.message)||null==(c=p.warning)||c.call(p,e.t("Please select at least one record"));return}let f=t.map(e=>{var t;return(null==m||null==(t=m.getFilterByTK)?void 0:t.call(m,e))??e}).filter(e=>null!=e);await dZ(h,"add",f),await (null==(r=h.refresh)?void 0:r.call(h)),null==(o=e.message)||null==(i=o.success)||i.call(o,e.t("Record associated successfully"))};function d2(e){let{options:t}=e,l=(0,z.useFlowViewContext)(),{data:n,loading:r}=(0,r3.A)(async()=>await l.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:l,skipSave:!l.flowSettingsEnabled}),{refreshDeps:[l,t]});return!r&&(null==n?void 0:n.uid)?(0,V.jsx)(z.FlowModelRenderer,{model:n,fallback:(0,V.jsx)(r9,{style:{margin:16}})}):(0,V.jsx)(r9,{style:{margin:16}})}function d5(e){let{model:t}=e,l=(0,z.useFlowViewContext)(),{Header:n,Footer:r,type:i}=l.view;return(0,V.jsxs)("div",{children:[(0,V.jsx)(n,{title:"dialog"===i?(0,V.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,V.jsx)(d2,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,V.jsx)(r,{children:"dialog"===i?(0,V.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,V.jsx)(nE.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,V.jsx)(nE.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class d4 extends sz.S0{getAclActionName(){return"update"}async associateSelectedRows(){await d1(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,z.tExpr)("Select record")),(0,w._)(this,"selectedRows",[]),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Associate"),icon:"LinkOutlined"})}}(0,w._)(d4,"scene",sz.s5.collection),(0,w._)(d4,"capabilityActionName","update"),d4.define({label:(0,z.tExpr)("Associate"),sort:15,hide:e=>!dJ(e)}),d4.registerFlow({key:"associateSettings",title:(0,z.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,n,r;let i=dX(e),o=(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==(r=e.inputArgs)?void 0:r.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:o,width:s[o][a],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:i.dataSourceKey,collectionName:i.collectionName,...dQ(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,V.jsx)(d5,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===o?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});class d8 extends sz.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,w._)(d8,"scene",sz.s5.collection),(0,w._)(d8,"capabilityActionName","destroyMany"),d8.define({label:(0,z.tExpr)("Delete")}),d8.registerFlow({key:"deleteSettings",title:(0,z.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,z.tExpr)("Delete record"),content:(0,z.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 d3 extends sz.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link",title:(0,z.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,w._)(d3,"scene",sz.s5.record),d3.define({label:(0,z.tExpr)("Delete"),sort:60}),d3.registerFlow({key:"deleteSettings",title:(0,z.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,z.tExpr)("Delete record"),content:(0,z.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 d6 extends sz.S0{getAclActionName(){return"update"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link",title:(0,z.tExpr)("Disassociate"),icon:"DisconnectOutlined"})}}(0,w._)(d6,"scene",sz.s5.record),(0,w._)(d6,"capabilityActionName","update"),d6.define({label:(0,z.tExpr)("Disassociate"),sort:65,hide:e=>!dJ(e)}),d6.registerFlow({key:"disassociateSettings",title:(0,z.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,z.tExpr)("Disassociate record"),content:(0,z.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await d0(e)}}}});class d9 extends dW{getAclActionName(){return"update"}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,z.tExpr)("Edit")),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Edit"),icon:"EditOutlined"})}}(0,w._)(d9,"scene",sz.s5.record),d9.define({label:(0,z.tExpr)("Edit"),sort:20});var d7=l(94384),ue=l(68669);class ut extends sz.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=un(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(z.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,V.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,V.jsx)(ue.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,V.jsx)(aE.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),(0,V.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,V.jsx)(lj.A,{open:this.props.open,content:(0,V.jsx)(ue.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,V.jsx)(aE.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),(0,w._)(this,"map",new WeakMap),(0,w._)(this,"defaultProps",{type:"default",title:(0,z.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}})}}function ul(e){for(var t,l=arguments.length,n=Array(l>1?l-1:0),r=1;r<l;r++)n[r-1]=arguments[r];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,eZ.w6)(e.interface,...n);return!!(null==t?void 0:t.filterable)})}function un(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}(0,w._)(ut,"scene","collection"),ut.define({label:(0,z.tExpr)("Filter"),toggleable:!0,sort:5}),ut.registerFlow({key:"filterSettings",title:(0,z.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,z.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,z.useFlowSettingsContext)(),n=ul(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,V.jsx)(d7.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,r,i;return{filterableFieldNames:ul(e.blockModel.collection,null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager,null==(i=e.model)||null==(r=i.context)||null==(n=r.app)?void 0:n.dataSourceManager).map(e=>e.name)||[]}},handler(e,t){e.model.setProps("filterableFieldNames",t.filterableFieldNames)}},defaultFilter:{title:(0,z.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,z.useFlowSettingsContext)();return(0,V.jsx)(aE.I8,{value:e.value||{},FilterItem:e=>(0,V.jsx)(aE.Et,{...e,model:t,maxAssociationFieldDepth:2})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",U().cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",U().cloneDeep(t.defaultFilter))}}}}),ut.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 r=(0,em.transformFilter)(e.model.props.filterValue),i=!(0,em.isEmptyFilter)(r);l.setFilterActive(e.model.uid,i),i?(n.addFilterGroup(e.model.uid,r),n.setPage(1)):n.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||i||l.hasActiveFilters()?n.refresh():(n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1),e.model.setProps("open",!1)}}}}),ut.registerFlow({key:"resetSettings",title:(0,z.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 r=l.getDataLoadingMode(),i=e.model.props.defaultFilterValue,o=!(0,em.isEmptyFilter)((0,em.transformFilter)(i));"manual"!==r||o||l.hasActiveFilters()?(o&&(n.addFilterGroup(e.model.uid,(0,em.transformFilter)(i)),l.setFilterActive(e.model.uid,!0),n.setPage(1)),n.refresh()):(n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1),e.model.setProps("open",!1),e.model.setProps("filterValue",U().cloneDeep(i))}}}}),ut.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var ur=l(95266);function ui(e,t){var l;let n=(null==(l=e.inputArgs)?void 0:l.preview)||{},r=(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:r}}class uo extends sz.S0{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"default",title:(0,z.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}uo.define({label:(0,z.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),uo.registerFlow({key:"clickSettings",on:"click",title:(0,z.tExpr)("Click settings"),steps:{runJs:{title:(0,z.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":ur.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:`
439
+ `,rL={token:{colorSplit:"rgba(255, 255, 255, 0.1)"}};function rV(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 rq=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)"}),rz=()=>null,rK=e=>"function"==typeof(null==e?void 0:e.getActionId)?e.getActionId():(null==e?void 0:e.actionId)||(null==e?void 0:e.uid)||"",rU=W.memo(e=>{let{allow:t}=(0,rO.K)(),{token:l}=er.A.useToken(),n=l,r=(0,W.useMemo)(()=>rV(e.actions,t),[t,e.actions]),i=r.filter(e=>rK(e)!==nH),o=r.find(e=>rK(e)===nH);return(0,V.jsxs)("div",{className:r$,style:rq(n),children:[(0,V.jsx)("div",{className:"nb-topbar-actions-list",onClick:e.onActionClick,children:i.map(e=>(0,V.jsx)(Y.tH,{FallbackComponent:rz,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,V.jsx)(z.FlowModelRenderer,{model:e})},e.uid))}),(0,V.jsx)(ei.Ay,{theme:rL,children:(0,V.jsx)(no.A,{type:"vertical"})}),(0,V.jsx)(nS,{}),o?(0,V.jsx)(Y.tH,{FallbackComponent:rz,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,V.jsx)(z.FlowModelRenderer,{model:o})},o.uid):null]})});rU.displayName="TopbarActionsContent";let rW=W.memo(e=>{let{token:t}=er.A.useToken(),l=t,[n,r]=(0,W.useState)(!1),i=(0,W.useCallback)(()=>{r(!1)},[]);return e.isMobile?(0,V.jsx)(lj.A,{rootClassName:rB,content:(0,V.jsx)(rU,{actions:e.actions,onActionClick:i}),color:l.colorBgHeader,trigger:"click",open:n,onOpenChange:r,children:(0,V.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,V.jsx)(lP.A,{style:{color:l.colorTextHeaderMenu,fontSize:20}})})}):(0,V.jsx)(rU,{actions:e.actions})});rW.displayName="TopbarActionsBar";let rH=e=>{let{children:t}=e,l=(0,z.useFlowEngine)(),n=(0,Z.n)(),r=(0,X.useNavigate)(),i=(0,X.useLocation)(),o=(0,X.useMatches)(),[a,s]=(0,W.useState)(!1),d=(0,W.useRef)(!1),u=l.context.routeRepository,c=(0,W.useMemo)(()=>"/admin"===tb(i.pathname,n.router.getBasename()),[n,i.pathname]),p=(0,W.useMemo)(()=>{var e,t;let l=o[o.length-1];if(!eV("admin",null==l?void 0:l.id))return"";let n=o.find(e=>"admin"===e.id);return(null==(e=l.params)?void 0:e.name)||(null==(t=(0,z.parsePathnameToViewParams)(i.pathname,{basePath:(null==n?void 0:n.pathname)||"/admin"})[0])?void 0:t.viewUid)||""},[i.pathname,o]);return((0,W.useEffect)(()=>{d.current=!1},[i.pathname,i.search,i.hash,p]),(0,W.useEffect)(()=>{let e=!0;return(async()=>{var t,l,i,o;if(s(!1),!c&&!p){e&&s(!0);return}if(!(null==u||null==(t=u.isAccessibleLoaded)?void 0:t.call(u)))try{await (null==u||null==(i=u.ensureAccessibleLoaded)?void 0:i.call(u))}catch(t){e&&s(!0);return}if(!e||d.current)return;if(p){let t=null==u||null==(o=u.getRouteBySchemaUid)?void 0:o.call(u,p);if((null==t?void 0:t.type)==="page"){let e=tj({app:n,route:t,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===e.navigationMode&&e.runtimePath){d.current=!0,window.location.replace(e.runtimePath);return}}e&&s(!0);return}let a=tk((null==u||null==(l=u.listAccessible)?void 0:l.call(u))||[]);if(!a){e&&s(!0);return}let h=tj({app:n,route:a});if(!h.runtimePath){e&&s(!0);return}(d.current=!0,"document"===h.navigationMode)?window.location.replace(h.runtimePath):r(tb(h.runtimePath,n.router.getBasename()),{replace:!0})})(),()=>{e=!1}},[n,l,c,i.hash,i.pathname,i.search,r,p,u]),a)?(0,V.jsx)(V.Fragment,{children:t}):null};class rG extends eJ{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(lM("schema-initializer-Menu-header",this)):t.unshift(lM("schema-initializer-Menu-header",this))),{path:"/",children:t}}createRouteCoordinator(){return new tE(this.flowEngine,this.getRouteCoordinatorOptions())}render(){return(0,V.jsx)(rH,{children:(0,V.jsx)(rN,{...this.props,model:this})})}constructor(e){super(e),(0,w._)(this,"menuRouteRefreshVersion",0),(0,q.define)(this,{menuRouteRefreshVersion:q.observable.ref})}}function rY(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eX(e,tR,{...t,use:t.use||rG});if(!l&&t.required)throw Error("[NocoBase] FlowRoute requires admin-layout-model. Please render FlowRoute under AdminLayout.");return l}function rJ(e){let{flowEngine:t,pageUid:l,active:n,refreshDesktopRoutes:r,layoutContentRef:i,getLayoutModel:o}=e,a=o(t),s=(0,W.useRef)(n),d=(0,W.useRef)(r);if(!a)throw Error("[NocoBase] FlowRoute requires layout model. Please render FlowRoute under Layout.");return s.current=n,d.current=r,(0,W.useEffect)(()=>(a.registerRoutePage(l,{active:s.current??!1,refreshDesktopRoutes:d.current,layoutContentElement:i.current}),()=>{a.unregisterRoutePage(l)}),[a,l,i]),(0,W.useEffect)(()=>{a.updateRoutePage(l,{active:n,refreshDesktopRoutes:r,layoutContentElement:i.current})},[n,a,l,r,i]),a}rG.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,V.jsx)(rW,{actions:l,isMobile:null==e?void 0:e.isMobile},"topbar-actions")]}}}});let rX=e=>rY(e,{required:!0}),rQ=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.uid)?eX(e,l.uid,{required:!0}):rX(e)},rZ=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.routeName)&&"admin"!==l.routeName?"notFound":"redirect"},r0=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 r=await e.loadModel({uid:t}).catch(()=>null);return r&&e.getModel(t)===r&&e.removeModelWithSubModels(t),!!r},r1=e=>{let{pageUid:t,active:l,getLayoutModel:n}=e,r=(0,z.useFlowEngine)(),{active:i}=l2(),o=r.context.routeRepository,a=W.useMemo(()=>null==o?void 0:o.refreshAccessible.bind(o),[o]),s=(0,W.useRef)(null);return(0,W.useEffect)(()=>{r.context.defineProperty("deviceType",{get:()=>"browser"===eQ.deviceType?"computer":eQ.deviceType,cache:!1,meta:{type:"string",title:r.translate("Current device type"),interface:"select",uiSchema:{enum:[{label:r.translate("Computer"),value:"computer"},{label:r.translate("Mobile"),value:"mobile"},{label:r.translate("Tablet"),value:"tablet"},{label:r.translate("SmartTv"),value:"smarttv"},{label:r.translate("Console"),value:"console"},{label:r.translate("Wearable"),value:"wearable"},{label:r.translate("Embedded"),value:"embedded"}],"x-component":"Select"}},info:{description:"Current device type (computer/mobile/tablet/...).",detail:"string"}})},[r]),rJ({flowEngine:r,pageUid:t,active:l??i,refreshDesktopRoutes:a,layoutContentRef:s,getLayoutModel:n}),(0,V.jsx)("div",{ref:s})},r2=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,z.useFlowEngine)(),l=(0,z.useFlowContext)(),n=null==l?void 0:l.layout,r=(0,W.useMemo)(()=>e.getLayoutModel||(e=>rQ(e,n)),[n,e.getLayoutModel]),i=e.legacyPageBehavior||rZ(t,n),o=(0,Z.n)(),a=t.context.routeRepository,s=(0,X.useParams)(),d=e.pageUid||(null==s?void 0:s.name),u=!a,[c,p]=(0,W.useState)({pending:!0,allowBridge:!1,notFound:!1}),h=(0,W.useRef)(!1),m=(0,W.useRef)(0);if(!d)throw Error("[NocoBase] FlowRoute requires pageUid or route.params.name.");return(0,W.useEffect)(()=>{let e=!0,l=++m.current;return(async()=>{var n,r,s;if(p({pending:!0,allowBridge:!1,notFound:!1}),!u&&!(null==a||null==(n=a.isAccessibleLoaded)?void 0:n.call(a)))try{await (null==a||null==(s=a.ensureAccessibleLoaded)?void 0:s.call(a))}catch(t){e&&l===m.current&&p({pending:!1,allowBridge:!0,notFound:!1});return}if(!e||l!==m.current)return;let c=u||null==a||null==(r=a.getRouteBySchemaUid)?void 0:r.call(a,d);if(!c&&"notFound"===i){let n=await r0(t,d);e&&l===m.current&&p({pending:!1,allowBridge:n,notFound:!n});return}if((null==c?void 0:c.type)==="page"){if("notFound"===i)return p({pending:!1,allowBridge:!1,notFound:!0});if("bridge"===i)return p({pending:!1,allowBridge:!0,notFound:!1});let t=tj({app:o,route:c,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===t.navigationMode&&t.runtimePath&&!h.current){h.current=!0,window.location.replace(t.runtimePath);return}if("unsupportedV2Runtime"===t.reason){e&&l===m.current&&p({pending:!1,allowBridge:!1,notFound:!0});return}}e&&l===m.current&&p({pending:!1,allowBridge:!0,notFound:!1})})(),()=>{e=!1}},[o,t,i,d,a,u]),(0,W.useMemo)(()=>c.pending?null:c.notFound?(0,V.jsx)(ey.bM,{}):c.allowBridge?(0,V.jsx)(r1,{pageUid:d,active:e.active,getLayoutModel:r}):null,[r,c.allowBridge,c.notFound,c.pending,d,e.active])};r2.displayName="FlowRoute";let r5=r2,r4=e=>e.current,r8=e=>{let{layoutRouteName:t}=e,l=(0,Z.n)(),n=(0,z.useFlowEngine)(),r=l.layoutManager.getLayout(t),i=(0,X.useLocation)(),o=(0,X.useMatches)(),a=eX(n,r.uid,{required:!0}),s="admin"===r.routeName?"redirect":"notFound",d=(0,W.useRef)(0),u=(0,W.useMemo)(()=>{let e=o[o.length-1],t=o.find(e=>e.id===r.routeName);return{id:null==e?void 0:e.id,name:null==e?void 0:e.id,pathname:i.pathname,params:(null==e?void 0:e.params)||{},layoutRouteName:r.routeName,layoutBasePathname:null==t?void 0:t.pathname}},[r.routeName,i.pathname,o]);if(!a)throw Error(`[NocoBase] Layout '${r.routeName}' model '${r.uid}' is not mounted.`);let c=a.resolveLayoutRoute(u),p=(0,W.useMemo)(()=>e=>eX(e,r.uid,{required:!0}),[r.uid]);return((0,W.useEffect)(()=>{let e=++d.current;return a.syncLayoutRoute(u),()=>{Promise.resolve().then(()=>{r4(d)===e&&a.clearLayoutRoute(u)}).catch(()=>{})}},[a,u]),"root"===c.type)?null:"notFound"===c.type?(0,V.jsx)(ey.bM,{}):(0,V.jsx)(r5,{pageUid:c.pageUid,getLayoutModel:p,legacyPageBehavior:s})};var r3=l(66466),r6=l(42441);function r9(e){return(0,V.jsx)(rr.A,{...e,children:(0,V.jsx)(r6.A,{paragraph:{rows:3}})})}let r7=e=>e.current;function ie(e){return e===eJ||(0,z.isInheritedFrom)(e,eJ)}function it(e,t){if(!(e instanceof eJ))throw Error(`[NocoBase] Layout '${t.routeName}' requires model '${t.uid}' to be an instance of BaseLayoutModel.`)}async function il(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(!ie(l))throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' must extend BaseLayoutModel.`)}let ir=e=>{let{layoutRouteName:t}=e,l=(0,Z.n)(),n=(0,z.useFlowEngine)(),r=l.layoutManager.getLayout(t),i=(0,X.useLocation)(),o=(0,X.useMatches)(),a=o[o.length-1],s=o.find(e=>e.id===r.routeName),d=JSON.stringify((null==a?void 0:a.params)||{}),u=(0,W.useMemo)(()=>JSON.parse(d),[d]),c=(0,W.useRef)(0),p=(0,W.useMemo)(()=>({id:null==a?void 0:a.id,name:null==a?void 0:a.id,pathname:i.pathname,params:u,layoutRouteName:r.routeName,layoutBasePathname:null==s?void 0:s.pathname}),[null==a?void 0:a.id,u,r.routeName,null==s?void 0:s.pathname,i.pathname]),{loading:h,data:m,error:f}=(0,r3.A)(async()=>{let e=n.getModel(r.uid);if(e)return it(e,r),e.setProps({layout:r}),e;await il(n,r);let t=await n.createModelAsync({uid:r.uid,use:r.layoutModelClass,props:{layout:r}});return it(t,r),t},{refreshDeps:[n,r]});if((0,W.useEffect)(()=>{if(!m)return;let e=++c.current;return m.syncLayoutRoute(p),()=>{Promise.resolve().then(()=>{r7(c)===e&&m.clearLayoutRoute(p)}).catch(()=>{})}},[m,p]),f)throw f;return h||!m?(0,V.jsx)(r9,{style:{margin:16}}):(0,V.jsx)(z.FlowModelRenderer,{model:m})},ii="RootPageModel",io="ChildPageModel",ia=(e,t)=>{if("string"!=typeof e||""===e.trim())throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a non-empty string.`)},is=(e,t)=>{if("string"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a string.`)},id=(e,t)=>{void 0!==e&&ia(e,t)},iu=(e,t)=>{if(void 0!==e&&"boolean"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a boolean.`)};function ic(e){if(e.includes("..")||e.startsWith(".")||e.endsWith("."))throw Error(`[NocoBase] layoutManager.registerLayout() received invalid routeName '${e}'.`)}function ip(e,t){let l=t.trim(),n=e.includes(".");if(n&&l.startsWith("/"))throw Error(`[NocoBase] nested layout routePath '${t}' must be relative.`);let r=n?l.replace(/^\/+/,"").replace(/\/+$/,""):`/${l.replace(/^\/+/,"").replace(/\/+$/,"")}`;if(!n&&(!r||"/"===r))throw Error("[NocoBase] layoutManager.registerLayout() does not support root routePath '/'.");if(r.includes("*"))throw Error(`[NocoBase] layoutManager.registerLayout() does not support wildcard routePath '${t}'.`);return r}function ih(e){ia(e.routeName,"routeName"),is(e.routePath,"routePath"),ia(e.uid,"uid"),ia(e.layoutModelClass,"layoutModelClass"),id(e.rootPageModelClass,"rootPageModelClass"),id(e.childPageModelClass,"childPageModelClass"),iu(e.authCheck,"authCheck"),ic(e.routeName);let t=ip(e.routeName,e.routePath);return{routeName:e.routeName,rootRouteName:e.routeName.split(".")[0],routePath:t,uid:e.uid,layoutModelClass:e.layoutModelClass,rootPageModelClass:e.rootPageModelClass||ii,childPageModelClass:e.childPageModelClass||io,authCheck:e.authCheck??!0}}class im{registerLayout(e){let t=ih(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,V.jsx)(ir,{layoutRouteName:e.routeName})}),this.app.router.add(eN(t),{path:":name",authCheck:l,skipAuthCheck:n,element:(0,V.jsx)(r8,{layoutRouteName:e.routeName})}),this.app.router.add(eO(t),{path:":name/tab/:tabUid",authCheck:l,skipAuthCheck:n,element:(0,V.jsx)(r8,{layoutRouteName:e.routeName})}),this.app.router.add(e$(t),{path:":name/view/*",authCheck:l,skipAuthCheck:n,element:(0,V.jsx)(r8,{layoutRouteName:e.routeName})}),this.app.router.add(eB(t),{path:":name/tab/:tabUid/view/*",authCheck:l,skipAuthCheck:n,element:(0,V.jsx)(r8,{layoutRouteName:e.routeName})})}constructor(e){(0,w._)(this,"app",void 0),(0,w._)(this,"layouts",new Map),(0,w._)(this,"uidIndex",new Map),this.app=e}}class ig{setRoutes(e){this.routes=e,this.accessibleLoaded=!0,this.emitChange()}listAccessible(){return this.routes}isAccessibleLoaded(){return this.accessibleLoaded}async refreshAccessible(){var e;let t=await this.getAPIClient().request({url:"/desktopRoutes:listAccessible",params:{tree:!0,sort:"sort"}}),l=(null==t||null==(e=t.data)?void 0:e.data)||[];return this.setRoutes(l),l}async ensureAccessibleLoaded(){return this.accessibleLoaded?this.routes:(this.accessibleLoadingPromise||(this.accessibleLoadingPromise=this.refreshAccessible().finally(()=>{this.accessibleLoadingPromise=null})),this.accessibleLoadingPromise)}subscribe(e){return this.subscribers.add(e),()=>{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});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,r=await this.getResource("desktopRoutes").update(Array.isArray(e)?{filter:{id:{$in:e}},values:t}:{filterByTk:e,values:t});return n&&await this.refreshAccessible(),r}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.routes,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(){this.subscribers.forEach(e=>{e()})}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}}}constructor(e){(0,w._)(this,"ctx",void 0),(0,w._)(this,"routes",void 0),(0,w._)(this,"subscribers",void 0),(0,w._)(this,"accessibleLoaded",void 0),(0,w._)(this,"accessibleLoadingPromise",void 0),this.ctx=e,this.routes=[],this.subscribers=new Set,this.accessibleLoaded=!1,this.accessibleLoadingPromise=null}}class iv{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=T(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((0,w._)(this,"_ws",void 0),(0,w._)(this,"_reconnectTimes",0),(0,w._)(this,"events",[]),(0,w._)(this,"options",void 0),(0,w._)(this,"app",void 0),(0,w._)(this,"enabled",void 0),(0,w._)(this,"connected",!1),(0,w._)(this,"serverDown",!1),(0,w._)(this,"lastMessage",{}),(0,w._)(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 iy(){"use strict";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,em.getDayRangeByParams)(t)),Array.isArray(t))return n.$dateBetween(e,t);let l=iM(e),r=iM(t);return!!l&&!!r&&l.getTime()===r.getTime()},$dateBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,em.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=iM(e),n=iM(t);return!!l&&!!n&&l.getTime()<n.getTime()},$dateNotBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,em.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=iM(e),n=iM(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,em.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=iM(e),n=iM(t);return l.getTime()>n.getTime()},$dateNotAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,em.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=iM(e),n=iM(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,em.getDayRangeByParams)(t));let l=iM(e),n=ib(t[0]),r=ib(t[1]);if(!l||!n||!r)throw Error("Invalid date format");return l.getTime()>=n.getTime()&&l.getTime()<=r.getTime()},$dateNotOn:function(e,t){if(!e||!t)return!1;if(t.type&&(t=(0,em.getDayRangeByParams)(t)),Array.isArray(t))return!n.$dateBetween(e,t);let l=iM(e),r=iM(t);return l.getTime()!==r.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 r=String(e).split("."),i=0;i<r.length;i++)if(null==n||void 0===(n=n[r[i]]))return l;return n},missing:function(){for(var e=[],t=Array.isArray(arguments[0])?arguments[0]:arguments,n=0;n<t.length;n++){var r=t[n],i=l.apply({var:r},this);(null===i||""===i)&&e.push(r)}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 r,i,o,a,s,d=l.getOperator(e),u=e[d];if(Array.isArray(u)||(u=[u]),"if"===d||"?:"==d){for(r=0;r<u.length-1;r+=2)if(l.truthy(l.apply(u[r],t)))return l.apply(u[r+1],t);return u.length===r+1?l.apply(u[r],t):null}if("$and"===d){for(r=0;r<u.length&&(i=l.apply(u[r],t),l.truthy(i));r+=1);return i}if("or"===d){for(r=0;r<u.length&&(i=l.apply(u[r],t),!l.truthy(i));r+=1);return i}if("filter"===d)return(a=l.apply(u[0],t),o=u[1],Array.isArray(a))?a.filter(function(e){return l.truthy(l.apply(o,e))}):[];if("map"===d)return(a=l.apply(u[0],t),o=u[1],Array.isArray(a))?a.map(function(e){return l.apply(o,e)}):[];else if("reduce"===d)return(a=l.apply(u[0],t),o=u[1],s=void 0!==u[2]?u[2]:null,Array.isArray(a))?a.reduce(function(e,t){return l.apply(o,{current:t,accumulator:e})},s):s;else if("all"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!1;for(r=0;r<a.length;r+=1)if(!l.truthy(l.apply(o,a[r])))return!1;return!0}else if("none"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!0;for(r=0;r<a.length;r+=1)if(l.truthy(l.apply(o,a[r])))return!1;return!0}else if("some"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!1;for(r=0;r<a.length;r+=1)if(l.truthy(l.apply(o,a[r])))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(r=0;r<c.length;r++){if(!Object.prototype.hasOwnProperty.call(p,c[r]))throw Error("Unrecognized operation "+d+" (failed at "+c.slice(0,r+1).join(".")+")");p=p[c[r]]}return p.apply(t,u)}throw Error("Unrecognized operation "+d)},l.uses_data=function(t){var n=[];if(l.is_logic(t)){var r=l.getOperator(t),i=t[r];Array.isArray(i)||(i=[i]),"var"===r?n.push(i[0]):i.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),r=l.getOperator(e);if("@"===n||n===r)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 i=0;i<t.length;i+=1)if(!l.rule_like(e[i],t[i]))return!1;return!0}return!1},l}function ib(e){return new Date(e.includes("T")&&e.endsWith("Z")?e:e.includes(" ")?e.replace(" ","T"):`${e}T00:00:00`)}function ix(e){let[t,l]=e.split("-").map(Number);return new Date(t,l-1)}function iw(e){return new Date(parseInt(e.slice(0,4)),(parseInt(e.slice(5,6))-1)*3)}function iS(e){return new Date(parseInt(e),0)}function iM(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 ib(t);if(/^\d{4}-\d{2}$/.test(t))return ix(t);if(/^\d{4}Q[1-4]$/.test(t))return iw(t);else if(/^\d{4}$/.test(t))return iS(t);return null}var iA=l(42524),iF=l(89286),ik=l(36194),iC=l(52582),iP=l(20419),ij=l(78880),iE=l(27253),iR=l(43886),iI=l(5900),iT=l(2543);function i_(e,t){let l=t.split("."),n=e;for(let e=0;e<l.length&&null!=n;e++){let t=l[e],r=t.match(/^\d+$/);!Array.isArray(n)||r||n[t]||(n[t]=n.map(e=>e[t]).flat()),n=null==n?void 0:n[t]}}function iD(){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,iT.cloneDeep)(l),r={},i={},o=0;return this(t.trim().replace(/{{\s*([\w$.-]+)\s*}}/g,(t,l)=>{if(l.startsWith("this."))return`{{${l}}}`;i_(n,l);let a=(0,iT.get)(n,l)??null;"function"==typeof a&&(a=a());let s=i[l];return s||(s=`$$${o++}`,i[l]=s,r[s]=a),e.replaceValue?`${null==a||"number"==typeof a&&(Number.isNaN(a)||!Number.isFinite(a))?"":a}`:s}),r)}let iN={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:iD.bind(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=iR._3(e,t);return"number"==typeof l?Number.isNaN(l)||!Number.isFinite(l)?null:iI.LIG(l,9):l instanceof iI.uqu?l.toArray():l},{replaceKey:!0})};var iO=l(8558);l(67980);let i$=Object.keys(iO).filter(e=>"default"!==e);function iB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=Object.create(null);for(let e of i$)l[e]=iO[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 iL(e,t,l){return new Compartment(iB(t,l.blockedIdentifiers)).evaluate(e)}function iV(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={blockedIdentifiers:e.blockedIdentifiers};return iD.bind(function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=iL(e,l,t);return"number"==typeof n?Number.isNaN(n)||!Number.isFinite(n)?null:(0,iI.LIG)(n,9):n},{})}iV();let iq={label:"Formula.js",tooltip:'{{t("Formula.js supports most Microsoft Excel formula functions.")}}',link:"FORMULAJS_DOC_URL",evaluate:iV({blockedIdentifiers:[...em.BASE_BLOCKED_IDENTIFIERS,"window","document","parent","top","frames","navigator","location","localStorage","sessionStorage"]})},iz={label:"{{t('String template')}}",tooltip:"{{t('Simple string replacement, can be used to interpolate variables in a string.')}}",evaluate:iD.bind(function(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1],e},{replaceValue:!0})},iK=new em.Registry;function iU(){return Array.from(iK.getEntities()).reduce((e,t)=>{let[l,n]=t;return e.concat({value:l,...n})},[])}iK.register("formula.js",iq),iK.register("math.js",iN),iK.register("string",iz);let iW=iK;var iH=l(67377),iG=l(14264),iY=l(4213),iJ=l(72635),iX=l(68984),iQ=l(43627);function iZ(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 i0(e){iZ(e,"react",W),iZ(e,"react-dom",lR),iZ(e,"react/jsx-runtime",V),iZ(e,"react-router",X),iZ(e,"react-router-dom",J),iZ(e,"antd",iG),iZ(e,"@ant-design/icons",iF),iZ(e,"@ant-design/cssinjs",iA),iZ(e,"antd-style",ik),iZ(e,"i18next",iJ),iZ(e,"react-i18next",iX),iZ(e,"@formily/antd-v5",iP),iZ(e,"@formily/core",ij),iZ(e,"@formily/react",ni),iZ(e,"@formily/reactive",q),iZ(e,"@formily/shared",iE),iZ(e,"@nocobase/utils",em),iZ(e,"@nocobase/utils/client",em),iZ(e,"@nocobase/client-v2",x),iZ(e,"@nocobase/client-v2/client-v2",x),iZ(e,"@nocobase/flow-engine",z),iZ(e,"@nocobase/evaluators",f),iZ(e,"@nocobase/evaluators/client",f),iZ(e,"@dnd-kit/core",lC),iZ(e,"@dnd-kit/sortable",iQ),iZ(e,"@ctrl/tinycolor",iC),iZ(e,"ahooks",iH),iZ(e,"axios",S.A),iZ(e,"dayjs",em.dayjs),iZ(e,"lodash",U()),iZ(e,"@emotion/css",eu),iZ(e,"file-saver",iY)}var i1=l(40407);let i2=/^\/+/,i5=/\/+$/,i4=e=>{let t=i2.exec(e);return t?e.slice(t[0].length):e},i8=e=>{let t=i5.exec(e);return t?e.slice(0,-t[0].length):e},i3=e=>(0,Q.isValidElementType)(e);class i6{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 eb.o(this.apiClient)}afterManagersInitialized(){this.aiManager=new eg(this),this.jsonLogic=iy()}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,i1.b)(),i0(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 ig(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(G.x,{i18n:this.i18n}),this.use(z.FlowEngineProvider,{engine:this.flowEngine}),this.use(eh),this.use(en)}addFinalProviders(){this.use(z.FlowEngineGlobalsContextProvider)}addReactRouterComponents(){this.addComponents({Link:J.Link,Navigate:X.Navigate,NavLink:J.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||"/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 T(this.getPublicPath())||null}getCdnUrl(){return window.__webpack_public_path__||this.getPublicPath()}getPublicPath(){let e=this.options.publicPath||"/";return e.endsWith("/")||(e+="/"),e}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`${i8(t)}/${i4(e)}`}getRouteUrl(e){return this.getPublicPath()+i4(e)}getHref(e){let t=this.name;return t&&"main"!==t?`${this.getPublicPath()}apps/${t}/${i4(e)}`:this.getPublicPath()+i4(e)}getComposeProviders(){let e=nb(...this.providers)(ey.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,K.get)(this.components,e);return t||void l(`Component ${e} not found`)}if(i3(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?W.createElement(n,t,l):null}addComponent(e,t){let l=e,n=t||l.displayName||l.name;n?(0,K.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:r}=n;return(0,W.useLayoutEffect)(()=>{e.setProps({children:r})},[r]),(0,V.jsx)(z.FlowEngineProvider,{engine:t,children:(0,V.jsx)(z.FlowModelRenderer,{fallback:l(),model:e})})}}mount(e){let t=ny(e);if(t){let e=this.getRootComponent(),l=(0,H.createRoot)(t);return l.render((0,V.jsx)(e,{})),l}}createLayoutManager(e){return new im(this)}createWebSocketClient(e){return new iv(e.ws??!1)}getDefaultComponents(){return{AppNotFound:ey.bM,AppError:ey.uV,AppSpin:ey.gv,AppMaintaining:ey.be,AppMaintainingDialog:ey.tp}}constructor(e={}){(0,w._)(this,"options",void 0),(0,w._)(this,"eventBus",void 0),(0,w._)(this,"providers",void 0),(0,w._)(this,"router",void 0),(0,w._)(this,"scopes",void 0),(0,w._)(this,"i18n",void 0),(0,w._)(this,"ws",void 0),(0,w._)(this,"apiClient",void 0),(0,w._)(this,"components",void 0),(0,w._)(this,"pluginManager",void 0),(0,w._)(this,"pluginSettingsManager",void 0),(0,w._)(this,"layoutManager",void 0),(0,w._)(this,"aiManager",void 0),(0,w._)(this,"devDynamicImport",void 0),(0,w._)(this,"requirejs",void 0),(0,w._)(this,"name",void 0),(0,w._)(this,"favicon",void 0),(0,w._)(this,"flowEngine",void 0),(0,w._)(this,"dataSourceManager",void 0),(0,w._)(this,"jsonLogic",void 0),(0,w._)(this,"context",void 0),(0,w._)(this,"systemSettings",void 0),(0,w._)(this,"maintained",void 0),(0,w._)(this,"maintaining",void 0),(0,w._)(this,"error",void 0),(0,w._)(this,"model",void 0),(0,w._)(this,"wsAuthorized",void 0),(0,w._)(this,"apps",void 0),this.options=e,this.eventBus=new EventTarget,this.providers=[],this.scopes={},this.components={},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,K.merge)(this.scopes,e.scopes),this.components=(0,K.merge)(this.getDefaultComponents(),e.components),this.name=this.options.name||T(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 z.FlowEngine,this.flowEngine.registerModels({ApplicationModel:oe}),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 i9=new WeakMap,i7=new WeakMap;class oe extends z.FlowModel{get app(){return this.context.app}getProviders(){return(0,L._)(this,i9,(0,$._)(this,i9)||this.app.getComposeProviders()),(0,$._)(this,i9)}getRouter(){return(0,L._)(this,i7,(0,$._)(this,i7)||this.app.router.getRouterComponent()),(0,$._)(this,i7)}render(){return this.app.maintaining&&!this.app.maintained?(0,V.jsx)(V.Fragment,{children:this.renderMaintaining()}):this.app.error&&!this.app.maintaining?(0,V.jsx)(V.Fragment,{children:this.renderError()}):(0,V.jsxs)(V.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,V.jsx)(t,{BaseLayout:l});if(!e)return n;let r=(e,t)=>{var l;console.error(e);let n=null==(l=t.componentStack)?void 0:l.trim();if(!n)return;let r=Error("React component stack");r.stack=n,console.error(r)};return(0,V.jsx)(Y.tH,{FallbackComponent:t=>(0,V.jsx)(e,{app:this.app,...t}),onError:r,children:n})}constructor(...e){super(...e),(0,B._)(this,i9,{writable:!0,value:void 0}),(0,B._)(this,i7,{writable:!0,value:void 0})}}oe.registerFlow({key:"appFlow",steps:{init:{async handler(e){try{await e.app.load()}catch(t){e.model.app.error=t,console.error(t)}}}}});var ot=l(16350);let ol=[{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}],on=[{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}],or=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"}],oi=[{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}],oo=[{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}],oa=[{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}],os=[{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}],od=[{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}],ou=[{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}],oc=[{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"}}}],op=[{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}],oh=[{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 om{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={}){(0,w._)(this,"operators",{}),(0,w._)(this,"groups",{}),Object.entries(e).forEach(e=>{let[t,l]=e;this.registerGroup(t,l)})}}let of=new om(g),og=of.getGroups(),ov=og;function oy(e){return of.resolveOperators(e)}function ob(e){if(!e)return e;let t=Array.isArray(e.operatorOverrides)?e.operatorOverrides:[];e.operatorGroup&&(e.operators=ox(oy(e.operatorGroup),t));let l=e.operators;return"string"==typeof l?(e.operatorGroup=l,e.operators=ox(oy(l),t)):Array.isArray(l)?e.operators=ox(l,t):t.length>0&&(e.operators=[...t]),Array.isArray(e.children)&&e.children.forEach(e=>{e&&"object"==typeof e&&ob(e)}),e}function ox(){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 ow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...t,operatorGroup:e,operators:oy(e)}}function oS(e,t){return{operators:e.flatMap(e=>{let{types:l,operators:n}=e;return oy(n).map(e=>({...e,visible:n=>{let r=l.includes(t(n));return"function"==typeof e.visible?e.visible(n)&&r:r}}))})}}let oM="CollectionSelect",oA=new Set(["name","uiSchema.title"]),oF=new Set(["Grid","Grid.Row","Grid.Col","div"]);function ok(e){return{...e.context,...e.values}}function oC(e,t){if("boolean"==typeof e)return e;if("string"!=typeof e)return!1;let l=e.replace(/^\s*\{\{\s*/,"").replace(/\s*\}\}\s*$/,""),n=ok(t),r=e=>{let t=e.trim().replace(/^\$/,"");if(!t)return!1;if(t.startsWith("!"))return!r(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,r=(0,K.get)(n,e);return"function"==typeof r&&!!r(...t.split(",").map(e=>e.trim()).filter(Boolean).map(e=>e.replace(/^['"]|['"]$/g,"")))}return!!(0,K.get)(n,t)};return l.split("||").some(e=>e.split("&&").every(e=>r(e)))}function oP(e){return"string"==typeof e?t=>oC(e,t):e}function oj(e){return(null==e?void 0:e["x-hidden"])!==void 0?oP(e["x-hidden"]):(null==e?void 0:e["x-visible"])!==void 0?t=>!oC(e["x-visible"],t):void 0}function oE(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,r]=e,i=t?`${t}.${n}`:n,o=null==r?void 0:r.properties,a=null==r?void 0:r["x-component"];if(o&&"Grid.Row"===a){let e=Object.entries(o).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[r,o]=e;return oE((null==o?void 0:o.properties)||{},t,{row:i,column:r,columnIndex:n,span:l})})}return o&&(!a||oF.has(a))?oE(o,t,l):[{name:i,schema:r,layout:l}]})}function oR(e,t){return!oA.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 oI(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return oE(e).filter(e=>{let{name:t,schema:l}=e;return oR(t,l)}).map(e=>{var l;let{name:n,schema:r,layout:i}=e,o=null==r?void 0:r["x-component"];return{name:n,title:(null==r?void 0:r.title)||(null==r?void 0:r["x-content"]),component:o,Component:o?null==(l=t.components)?void 0:l[o]:void 0,componentProps:null==r?void 0:r["x-component-props"],defaultValue:null==r?void 0:r.default,description:null==r?void 0:r.description,hidden:oj(r),disabled:oP(null==r?void 0:r["x-disabled"]),options:Array.isArray(null==r?void 0:r.enum)?r.enum:void 0,required:null==r?void 0:r.required,schema:r,layout:i}})}let oT=[{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"}],o_=[{label:'{{t("12 hour")}}',value:"hh:mm:ss a"},{label:'{{t("24 hour")}}',value:"HH:mm:ss"}];function oD(e){return(0,K.get)(e,"uiSchema.x-component-props.picker")||"date"}function oN(e){return(0,K.get)(e,"uiSchema.x-component-props.showTime")}function oO(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,K.get)(t,"reverseField.key"))return{disabled:!0};if("uiSchema.x-component-props.dateFormat"===e)return{componentProps:{picker:oD(t)}};if("uiSchema.x-component-props.showTime"===e)return{hidden:"date"!==oD(t)};if("uiSchema.x-component-props.timeFormat"===e)return{hidden:"date"!==oD(t)||!1===oN(t)};if("defaultValue"===e){let e=!!(0,K.get)(t,"primaryKey")||!!(0,K.get)(t,"unique")||!!(0,K.get)(t,"autoIncrement")||!!(0,K.get)(t,"defaultToCurrentTime");return{hidden:e,...e?{value:null,hasValue:!0}:null,componentProps:{gmt:(0,K.get)(t,"uiSchema.x-component-props.gmt"),showTime:(0,K.get)(t,"uiSchema.x-component-props.showTime"),dateFormat:(0,K.get)(t,"uiSchema.x-component-props.dateFormat"),timeFormat:(0,K.get)(t,"uiSchema.x-component-props.timeFormat"),picker:(0,K.get)(t,"uiSchema.x-component-props.picker"),format:(0,K.get)(t,"uiSchema.x-component-props.format")},dataSource:(0,K.get)(t,"uiSchema.enum")}}return("precision"===e||"scale"===e)&&"decimal"!==(0,K.get)(t,"type")?{hidden:!0}:{}}function o$(e){let{context:t,getValue:l,setValue:n,values:r}=e,i=!!l("primaryKey"),o=!!l("unique");if(t.createMainOnly&&i&&(!e.changedName||"primaryKey"===e.changedName)&&(!1!==l("unique")&&n("unique",!1),(0,K.has)(r,"autoIncrement")&&!0!==l("autoIncrement")&&n("autoIncrement",!0)),t.createMainOnly&&o&&i&&"unique"===e.changedName&&n("primaryKey",!1),(0,K.get)(r,"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,K.has)(r,"uiSchema.x-component-props.picker")||(0,K.has)(r,"uiSchema.x-component-props.dateFormat")||(0,K.has)(r,"uiSchema.x-component-props.showTime")||(0,K.has)(r,"uiSchema.x-component-props.timeFormat")))return;let a=oD(r);"uiSchema.x-component-props.picker"===e.changedName&&(0,K.has)(r,"uiSchema.x-component-props.dateFormat")&&(0,K.get)(r,"uiSchema.x-component-props.dateFormat")!==(0,em.getPickerFormat)(a)&&n("uiSchema.x-component-props.dateFormat",(0,em.getPickerFormat)(a)),(0,K.has)(r,"uiSchema.x-component-props.showTime")&&"date"!==a&&!1!==oN(r)&&n("uiSchema.x-component-props.showTime",!1),(0,K.has)(r,"uiSchema.x-component-props.timeFormat")&&oN(r)&&!(0,K.get)(r,"uiSchema.x-component-props.timeFormat")&&n("uiSchema.x-component-props.timeFormat","HH:mm:ss")}function oB(){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 oL(){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:oT,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:o_,hidden:t=>!!("function"==typeof e.hidden&&e.hidden(t))||("boolean"==typeof e.hidden?e.hidden:!1===oN(t.values))}),t}function oV(){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,K.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,K.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,K.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}}]}let oq=oV;function oz(){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 oK={key:"required",label:"Required",hasValue:!1,params:[]};function oU(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 oW{register(e){this.items.set(e.key,(0,K.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,K.cloneDeep)(this.items.get(e))}getGroup(e){return(this.groups.get(e)||[]).map(e=>"string"==typeof e?this.get(e):(0,K.cloneDeep)(e)).filter(Boolean)}constructor(){(0,w._)(this,"items",new Map),(0,w._)(this,"groups",new Map)}}let oH=new oW;function oG(e){oH.register(e)}function oY(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oH.registerGroup(e,t)}function oJ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oH.addToGroup(e,t)}oH.registerMany([oK,{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",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"}]}]),oH.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"]),oH.registerGroup("number",["required",...oU("number"),"multiple","integer","precision","unsafe"]),oH.registerGroup("date",["required",...oU("date"),"timestamp"]),oH.registerGroup("object",["required"]);class oX{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)&&(ob(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){of.register(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];of.registerGroup(e,t),this.normalizeFieldInterfaceFilterables()}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];of.addToGroup(e,t),this.normalizeFieldInterfaceFilterables()}registerFieldValidationConfigure(e){oG(e)}registerFieldValidationConfigureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oY(e,t)}addFieldValidationConfiguresToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oJ(e,t)}getFieldValidationConfigureGroup(e){return oH.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,r;let i=this.getFieldInterface(e);if(!i)return;let o=(null==(l=i.getConfigureFormProperties)?void 0:l.call(i,t))||i.properties||{},a={name:i.name,title:i.title,group:i.group,order:i.order,default:i.default,titleUsable:i.titleUsable,isAssociation:i.isAssociation,supportDataSourceType:i.supportDataSourceType,notSupportDataSourceType:i.notSupportDataSourceType,properties:o,items:oI(o,{components:null==(n=i.configure)?void 0:n.components}),getConfigureFormProperties:null==(r=i.getConfigureFormProperties)?void 0:r.bind(i)};return this.mergeFieldInterfaceConfigure(a,i.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=>{ob(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){(0,w._)(this,"dataSourceManager",void 0),(0,w._)(this,"collectionFieldInterfaceInstances",void 0),(0,w._)(this,"collectionFieldGroups",void 0),(0,w._)(this,"actionList",void 0),this.dataSourceManager=e,this.collectionFieldInterfaceInstances={},this.collectionFieldGroups={},this.actionList={}}}function oQ(e){return`${e}/client-v2`}function oZ(e){return("default"in e?e.default:void 0)||e}function o0(e,t){window.__nocobase_app_dev_plugins__=window.__nocobase_app_dev_plugins__||{},window.__nocobase_app_dev_plugins__[e]=t}function o1(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=oQ(t);window.define(n,()=>l),o0(n,l)})}function o2(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=oQ(t);window.define(n,()=>l),o0(n,l)})}function o5(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((e,t)=>(e[oQ(t.packageName)]=t.url,e),{})})}function o4(e,t){return function(){for(var l=arguments.length,n=Array(l),r=0;r<l;r++)n[r]=arguments[r];n.forEach((t,l)=>{t&&o0(oQ(e[l].packageName),t)}),t(n.map((t,l)=>[e[l].name,(null==t?void 0:t.default)||t]).filter(e=>e[1]));let i=n.map((e,t)=>e?null:t).filter(e=>null!==e).map(t=>e[t].packageName);i.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",i.join(", \r\n"))}}function o8(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];o5(e,t);let l=t.map(e=>oQ(e.packageName));return new Promise((n,r)=>{e.requirejs(l,o4(t,n),r)})}async function o3(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(let l of o6(e)){let e=await import(l.url),n=oZ(e);n&&(t.push([l.name,n]),o2({[l.packageName]:e}))}return t}function o6(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Map(e.map(e=>[e.packageName,e])),l=[],n=new Set,r=new Set,i=e=>{if(!r.has(e.packageName)&&!n.has(e.packageName)){for(let l of(n.add(e.packageName),e.appDevDependencies||[])){let e=t.get(l);e&&i(e)}n.delete(e.packageName),r.add(e.packageName),l.push(e)}};return e.forEach(i),l}async function o9(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=[],n=[],r=async()=>{if(0===n.length)return;let t=await o8(e,n);l.push(...t),n=[]};for(let e of o6(t)){if("esm"===e.devMode){await r();let t=await o3([e]);l.push(...t);continue}n.push(e)}return await r(),l}async function o7(e){let{requirejs:t,pluginData:l,devDynamicImport:n}=e;if(0===l.length)return[];let r=[],i={},o={};if(n){for await(let e of l){let t=await n(e.packageName);if(t){let l=oZ(t);r.push([e.name,l]),i[e.packageName]=l,o[e.packageName]=t}}o1(o)}let a=l.filter(e=>!i[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 r;let e=await o8(t,d);return r.push(...e),r}let u=await o9(t,a);return r.push(...u),r}class ae{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 o7({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){(0,w._)(this,"_plugins",void 0),(0,w._)(this,"loadRemotePlugins",void 0),(0,w._)(this,"app",void 0),(0,w._)(this,"pluginInstances",void 0),(0,w._)(this,"pluginsAliases",void 0),(0,w._)(this,"initPlugins",void 0),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 at=l(96204),al=l(45588);function an(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=new Set(e.map(e=>e.routeName));for(let e=t.length-1;e>=0;e-=1){let n=t[e];if(l.has(n.id))return n}return null}function ar(e){let t=(0,X.useParams)(),l=(0,X.useLocation)(),n=(0,X.useMatches)(),r=e.flowEngine;(0,W.useEffect)(()=>{var l,i,o;let a=n[n.length-1];if(!a)return;let s=an(null==(i=e.layoutManager)||null==(l=i.listLayouts)?void 0:l.call(i),n);r.context._observableCache.route={name:a.id,pathname:a.pathname,path:(null==(o=a.handle)?void 0:o.path)||null,params:t,layoutRouteName:null==s?void 0:s.id,layoutBasePathname:null==s?void 0:s.pathname}},[e,r.context,t,n]),(0,W.useEffect)(()=>{r.context._observableCache.location=l},[r.context,l])}function ai(e){let{app:t}=e;return ar(t),null}function ao(e,t){if(!t||"/"===t)return e;let l=t.replace(/\/$/,"");return e===l?"/":e.startsWith(`${l}/`)?e.slice(l.length)||"/":e}class aa{get basename(){return this.router.basename}get state(){return this.router.state}get navigate(){return this.router.navigate}resolveLoadedComponent(e){if(e)return"function"==typeof e||"string"==typeof e?e:e.default||e.Component}createRouteLazyComponent(e){let t=W.lazy(()=>e().then(e=>{let t=this.resolveLoadedComponent(e);if(!t)throw Error("componentLoader must resolve to a React component or component module.");return"string"==typeof t?{default:e=>this.app.renderComponent(t,e)}:{default:t}}));return function(e){return(0,V.jsx)(W.Suspense,{fallback:null,children:(0,V.jsx)(t,{...e})})}}getRoutesTree(){let e={};for(let[t,l]of Object.entries(this.routes))(0,K.set)(e,t.split(".").join(".children."),{...(0,K.get)(e,t.split(".").join(".children.")),...l});let t=e=>Object.values(e).reduce((e,l)=>{if(1===Object.keys(l).length&&l.children)e.push(...t(l.children));else{let{Component:n,componentLoader:r,element:i,children:o,...a}=l,s=i;r?s=W.createElement(this.createRouteLazyComponent(r)):n&&(s="string"==typeof n?this.app.renderComponent(n):W.createElement(n));let d={...a,element:s,children:o?t(o):void 0};e.push(d)}return e},[]);return t(e)}getRoutes(){return this.routes}setType(e){this.options.type=e}getBasename(){return this.options.basename}setBasename(e){this.options.basename=e}matchRoutes(e){var t;let l=this.getRoutesTree(),n=(null==(t=this.router)?void 0:t.basename)||this.getBasename();return(0,al.ue)(l,ao(e,n))}isSkippedAuthCheckRoute(e){return(this.matchRoutes(e)||[]).some(e=>{var t;return(null==e||null==(t=e.route)?void 0:t.skipAuthCheck)===!0})}getRouterComponent(e){let{type:t="browser",...l}=this.options,n={hash:J.createHashRouter,browser:J.createBrowserRouter,memory:X.createMemoryRouter},r=this.getRoutesTree(),i=(0,W.createContext)(e=>e.children),o=()=>{let t=(0,W.useContext)(i);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(ai,{app:this.app}),(0,V.jsxs)(t,{children:[(0,V.jsx)(X.Outlet,{}),e]})]})},a=()=>{throw(0,X.useRouteError)()};return this.router=n[t]([{element:(0,V.jsx)(o,{}),errorElement:(0,V.jsx)(a,{}),children:r}],l),e=>{let{BaseLayout:t=ey.ct}=e;return(0,V.jsx)(i.Provider,{value:t,children:(0,V.jsx)(ey.PK,{children:(0,V.jsx)(J.RouterProvider,{future:{v7_startTransition:!0},router:this.router})})})}}add(e,t){this.routes[e]={id:e,...t,handle:{path:t.path}}}get(e){return this.routes[e]}has(e){return!!this.get(e)}remove(e){delete this.routes[e]}constructor(e={},t){(0,w._)(this,"routes",{}),(0,w._)(this,"options",void 0),(0,w._)(this,"app",void 0),(0,w._)(this,"router",void 0),this.options=e,this.app=t,this.routes=e.routes||{}}}var as=l(24978);let ad=e=>{let{children:t}=e,{token:l}=er.A.useToken(),n=l.colorFillTertiary,r=new as.q(l.colorFill).onBackground(l.colorFillSecondary).toHexShortString(),i=new as.q(l.colorFill).onBackground(l.colorFill).toHexShortString(),o=new as.q(l.colorFill).onBackground(l.colorFill).onBackground(l.colorFill).toHexShortString();return(0,W.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",r),document.body.style.setProperty("--colorBgScrollBarHover",i),document.body.style.setProperty("--colorBgScrollBarActive",o),document.body.style.setProperty("--colorSettings",l.colorSettings||eo.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)},[r,o,i,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};ad.displayName="CSSVariableProvider";let au=ad;class ac extends i6{createApiClient(e){return new O({...e.apiClient,appName:e.name||T(e.publicPath)})}configureRuntimeAdapters(){this.dataSourceManager=this.flowEngine.context.dataSourceManager,this.dataSourceManager.setRequester(this.apiClient.request.bind(this.apiClient)),this.dataSourceManager.collectionFieldInterfaceManager||this.dataSourceManager.setCollectionFieldInterfaceManager(new oX(this.dataSourceManager))}createI18n(e){if(e.i18n)return e.i18n;let t=(0,iJ.createInstance)();return t.use(ot.r9).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1}),t}createRouterManager(e){var t;let l=new aa(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 ae(e.plugins||[],!!e.loadRemotePlugins,this)}createPluginSettingsManager(e){return new at.mz(this)}async load(){try{this.hasLoadError=!1,await this.loadWebSocket(),await this.pm.load(),await this.flowEngine.flowSettings.load()}catch(i){var e,t,l,n,r;this.hasLoadError=!0,(null==i||null==(n=i.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==(r=this.apiClient.toErrMessages(i))?void 0:r[0]},console.error(i,this.error)}this.updateFavicon()}async loadWebSocket(){this.eventBus.addEventListener("ws:message:authorized",()=>{this.setWsAuthorized(!0)}),this.ws.on("message",e=>{var t,l,n,r;if(!e.data)return;let i=JSON.parse(e.data);if(null==i||null==(t=i.payload)?void 0:t.refresh)return void globalThis.window.location.reload();if("notification"===i.type){let e=this.context.notification;null==(n=e[(null==(r=i.payload)?void 0:r.type)||"info"])||n.call(e,{message:null==(l=i.payload)?void 0:l.message});return}if("maintaining"===i.type&&"APP_RUNNING"!==i.payload.code)this.setMaintaining(!0),this.error=i.payload;else{this.hasLoadError&&globalThis.window.location.reload(),this.setMaintaining(!1),this.maintained=!0,this.error=null;let e=i.type;if(!e)return;let t=`ws:message:${e}`;this.eventBus.dispatchEvent(new CustomEvent(t,{detail:i.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(au)}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),(0,w._)(this,"hasLoadError",!1)}}let ap=(0,W.createContext)(null);ap.displayName="ApplicationContext";var ah=l(36093),am=l.n(ah);class af extends ac{constructor(e={}){super({router:{type:"memory",initialEntries:["/"]},...e}),(0,w._)(this,"apiMock",void 0),this.apiMock=new(am())(this.apiClient.axios),this.ws=new ag(e.ws||{})}}class ag extends iv{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),(0,w._)(this,"eventBus",new EventTarget)}}function av(e){return new af(e)}class ay{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){(0,w._)(this,"options",void 0),(0,w._)(this,"app",void 0),this.options=e,this.app=t,this.options=e,this.app=t}}var ab=l(84256),ax=l(47785);function aw(e){return"steps"in e&&e.steps||{}}function aS(e){let t=aw(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 aM(e){if(!aA(e))return;let t=aF(e);if(t())return(0,z.createRecordMetaFactory)(t,e.t("Response record"),()=>{let l=t(),n=aS(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 aA(e){var t;if(Object.prototype.hasOwnProperty.call(aw(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 aF(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 ak(e){let t=aM(e);if(!t){var l;return(null==(l=e.getPropertyMetaTree)?void 0:l.call(e))||[]}let n=new z.FlowContext;return n.addDelegate(e),n.defineProperty("responseRecord",{get:()=>aS(e),cache:!1,resolveOnServer:(0,z.createRecordResolveOnServerWithLocal)(aF(e),()=>aS(e)),meta:t}),n.getPropertyMetaTree()}function aC(e){let t=(0,z.useFlowSettingsContext)(),l=(0,W.useMemo)(()=>()=>ak(t),[t]);return(0,V.jsx)(ax.n,{...e,metaTree:l})}let aP=(0,z.defineAction)({name:"afterSuccess",title:(0,z.tExpr)("After successful submission"),defineProperties(e){let t=aM(e);return{responseRecord:{get:()=>aS(e),cache:!1,resolveOnServer:(0,z.createRecordResolveOnServerWithLocal)(aF(e),()=>aS(e)),...t?{meta:t}:{}}}},uiSchema:{successMessage:{type:"string",title:(0,z.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,z.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,z.tExpr)("Automatic close"),value:!1},{label:(0,z.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,z.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,z.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,z.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,z.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,z.tExpr)("Link"),"x-decorator":"FormItem","x-component":aC,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,z.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:n=!1,actionAfterSuccess:r="previous",redirectTo:i}=t;"previous"===r&&e.view&&e.view.close();let o=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,em.isURL)(e)){window.location.href=e;return}o(e)};if(l){let t=e.t(l);if(n)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===r&&i&&a(i)}});e.message.success(t)}"redirect"===r&&i&&a(i)}}),aj=(0,z.defineAction)({name:"confirm",title:(0,z.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,z.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,z.tExpr)("Title"),"x-decorator":"FormItem","x-component":ax.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,z.tExpr)("Content"),"x-decorator":"FormItem","x-component":ax.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,z.tExpr)("Please Confirm"),content:(0,z.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 aE=l(58528),aR=l(81486);let aI={__nocobaseDataScopeNull__:!0},aT="{{$nRole}}",a_=/^\s*\{\{\s*ctx\.role\s*\}\}\s*$/;function aD(e){return"string"==typeof e&&a_.test(e)}function aN(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function aO(e){return aN(e)?null:Array.isArray(e)?e.map(e=>aO(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=aO(e[l]),t),{}):e}function a$(e){var t;return!!(0,z.isVariableExpression)(e)&&(null==(t=(0,z.extractPropertyPath)(e))?void 0:t[0])==="urlSearchParams"}function aB(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){if(aD(e.value)){t.value=aT;return}(0,z.isVariableExpression)(e.value)&&!a$(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=aI);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{aB(e,t.items[l])})}}function aL(e,t){let l=U().cloneDeep(t);return aB(e,l),aO((0,z.pruneFilter)((0,em.transformFilter)(l)))}var aV=l(12197),aq=l(47632);function az(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function aK(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function aU(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,aV.Qc)(l),l);return Array.from(t.values())}function aW(e){let t=aU(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&aK(e,t)))}function aH(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,n]=e.split(":"),r=Number(n);!t||Number.isNaN(r)||l.push({name:t,index:r})}return l}function aG(e){var t;let l=null==e?void 0:e.model;return aH((null==l||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function aY(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 aJ(e,t){let l=aY(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function aX(e){return(0,aV.EA)(e).filter(e=>"object"!=typeof e)}function aQ(e){return(0,aV.c1)(e)}function aZ(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:[],r=[];for(let e of n){if(Array.isArray(e)){if(1===e.length&&"string"==typeof e[0]){let t=(0,aV.c1)(e[0]);t.length&&r.push(t);continue}let t=e.filter(e=>"string"==typeof e||"number"==typeof e);t.length&&r.push(t);continue}"string"==typeof e&&e&&r.push((0,aV.c1)(e))}if(r.length)return r;let i=null==l?void 0:l.changedValues;if(i&&"object"==typeof i&&(t.includeArrayChangedValues||!Array.isArray(i)))for(let e of Object.keys(i)){let t=(0,aV.c1)(e);t.length&&r.push(t)}return r}function a0(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 a1(e){var t;let l=[],n=e=>{e&&!l.includes(e)&&l.push(e)},r=e.model;n(null==r||null==(t=r.context)?void 0:t.blockModel),n(e.model);let i=null==r?void 0:r.parent;for(;i;)n(i),i=null==i?void 0:i.parent;return l.find(a0)||null}var a2=l(26866);function a5(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 a4(e){var t,l;return a5((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 a8(e){var t,l,n,r,i,o,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==(o=c.context)||null==(i=o.formBlock)||null==(r=i.context)?void 0:r.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 a3(e){var t,l,n,r,i,o,a,s,d,u,c,p;let h=e.model;return a5((null==h||null==(l=h.context)||null==(t=l.collection)?void 0:t.filterTargetKey)??(null==h||null==(r=h.context)||null==(n=r.collection)?void 0:n.filterByTk)??(null==h||null==(a=h.context)||null==(o=a.collectionField)||null==(i=o.targetCollection)?void 0:i.filterTargetKey)??(null==h||null==(u=h.context)||null==(d=u.collectionField)||null==(s=d.targetCollection)?void 0:s.filterByTk)??(null==h||null==(p=h.context)||null==(c=p.collectionField)?void 0:c.targetKey))}function a6(e,t){let l=a8(e),n=a3(e);return t.map(e=>{let t=n;if(null==l?void 0:l.getField){var r;let n=l.getField(e.name);((null==n||null==(r=n.isAssociationField)?void 0:r.call(n))||(null==n?void 0:n.targetCollection)||(null==n?void 0:n.targetKey))&&(t=a4(n),l=null==n?void 0:n.targetCollection)}return{...e,filterTargetKey:t}})}function a9(e,t,l){let n=e.length-1-t;if(n<0)return;let r=e[n],i=null==r?void 0:r.filterTargetKey,o=Array.isArray(i)?i.map(e=>[e]):"string"==typeof i&&i?[[i]]:[];return{entries:e.slice(0,n+1).map(e=>({...e})),tailPath:l,identityTailPaths:o}}function a7(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 se(e,t){let l=e;for(let e of t){if(!a7(l,e))return{found:!1};l=l[e]}return{found:!0,value:l}}function st(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,a2.r5)(e,t):null}function sn(e){let t=[];for(let l of e.entries)t.push(l.name,l.index);return t}function sr(e,t,l,n){if(null==l?void 0:l.rowDetached)return!1;let r=sn(t);if(!r.length||!t.identityTailPaths.length)return!1;let i=t.identityTailPaths.map(e=>[...r,...e]);return(n??aZ(e)).some(e=>i.some(t=>aK(t,e)))}function si(e,t,l){return Array.isArray(e)&&t?e.findIndex(e=>sl(e,l)===t):-1}function so(e,t,l,n){let r=[],i=-1,o=[];for(let a=0;a<t.entries.length;a++){let s=t.entries[a],d=[...r,s.name],u=se(e,d);if(!u.found||!Array.isArray(u.value))return{found:!1};let c=null==l?void 0:l[a],p=si(u.value,c,s.filterTargetKey),h=p>=0?p:s.index;if(h<0||h>=u.value.length)return c?{found:!1,rowMissing:!0}:{found:!1};let m=u.value[h];if(c&&p<0&&!n)return{found:!1,rowMissing:!0};o.push(sl(m,s.filterTargetKey)),i=h,r=[...d,h]}return{found:!0,path:[...r,...t.tailPath],rowIndex:i,rowIdentities:o}}function sa(e,t,l){var n,r;let i=se(st(t),l);if(i.found)return i;let o=null==e||null==(n=e.context)?void 0:n.form;return"function"==typeof(null==o?void 0:o.getFieldValue)?{found:!0,value:o.getFieldValue(l)}:se(null==e||null==(r=e.context)?void 0:r.formValues,l)}function ss(e,t,l,n,r){var i,o;let a=l.rowScope;if(!a)return sa(e,t,l.path);if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let s=sr(t,a,n,r);for(let l of[st(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=so(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=se(l,e.path);if(t.found)return{found:!0,value:t.value,rowIdentities:e.rowIdentities}}let d=null==e||null==(o=e.context)?void 0:o.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 sd(e){return Array.isArray(e)?e.length:e}function su(e,t,l){var n,r;if(!Array.isArray(e))return{found:!0,value:e};let i=null==l||null==(n=l.rowIdentities)?void 0:n[l.rowIdentities.length-1],o=null==(r=t.rowScope)?void 0:r.entries[t.rowScope.entries.length-1],a=si(e,i,null==o?void 0:o.filterTargetKey);return a>=0?{found:!0,value:a,rowIdentities:null==l?void 0:l.rowIdentities}:i?{found:!1,rowMissing:!0}:!o||o.index<0||o.index>=e.length?{found:!1}:{found:!0,value:o.index,rowIdentities:[sl(e[o.index],o.filterTargetKey)]}}function sc(e,t,l,n,r){var i,o;if("length"===l.kind){if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let o=null==n?void 0:n.rowIdentities,a=l.rowScope;if(a){let l=sr(t,a,n,r);for(let r of[st(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=so(r,a,null==n?void 0:n.rowIdentities,l);if(e.rowMissing)return{found:!1,rowMissing:!0};if(e.found){o=e.rowIdentities;break}}}let s=sa(e,t,l.path);return s.found?{found:!0,value:sd(s.value),rowIdentities:o}:s}if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let a=l.rowScope;if(a){let l=sr(t,a,n,r);for(let r of[st(t),null==e||null==(o=e.context)?void 0:o.formValues]){let e=so(r,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=sa(e,t,l.path);return s.found?su(s.value,l,n):s}function sp(e,t,l){if(e.wildcard)return null;let n={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let r of e.valuePaths){let e=(0,aV.Qc)(r.path),i=ss(t,l,r);if(i.rowMissing){n.rowMissing=!0,n.complete=!1;continue}if(!i.found){n.complete=!1;continue}n.values.set(e,{value:(0,K.cloneDeep)(i.value),rowIdentities:i.rowIdentities,rowDetached:!1})}for(let r of e.structuralPaths){let e=sc(t,l,r);if(e.rowMissing){n.rowMissing=!0,n.complete=!1;continue}if(!e.found){n.complete=!1;continue}n.structures.set(`${r.kind}:${(0,aV.Qc)(r.path)}`,{value:(0,K.cloneDeep)(e.value),rowIdentities:e.rowIdentities,rowDetached:!1})}return n}function sh(e,t,l,n,r){if(e.wildcard)return null;let i={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let o of e.valuePaths){let e=(0,aV.Qc)(o.path),a=n.values.get(e),s=ss(t,l,o,a,r);if(s.rowMissing){i.rowMissing=!0,i.rowDetached=!0,a?i.values.set(e,{...a,rowDetached:!0}):i.complete=!1;continue}if(!s.found){i.complete=!1;continue}i.values.set(e,{value:(0,K.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}for(let o of e.structuralPaths){let e=`${o.kind}:${(0,aV.Qc)(o.path)}`,a=n.structures.get(e),s=sc(t,l,o,a,r);if(s.rowMissing){i.rowMissing=!0,i.rowDetached=!0,a?i.structures.set(e,{...a,rowDetached:!0}):i.complete=!1;continue}if(!s.found){i.complete=!1;continue}i.structures.set(e,{value:(0,K.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}return i}function sm(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e.entries()){var l;if(!t.has(n)||!(0,K.isEqual)(r.value,null==(l=t.get(n))?void 0:l.value))return!1}return!0}function sf(e,t,l,n){if(e.wildcard||!(null==n?void 0:n.complete))return{status:"unknown",snapshot:sp(e,t,l)};let r=sh(e,t,l,n,aZ(l));return(null==r?void 0:r.rowMissing)?{status:"unchanged",snapshot:{...r,rowMissing:!1}}:(null==r?void 0:r.complete)?{status:sm(n.values,r.values)&&sm(n.structures,r.structures)?"unchanged":"changed",snapshot:r}:{status:"unknown",snapshot:r}}let sg="formValuesChange",sv="__formValueDrivenDataScopeClearBindings";function sy(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,aV.Qc)(n.path),n)}return Array.from(t.values())}function sb(e){let t=sy(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&aK(e.path,t.path)))}function sx(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,aV.Qc)(n.path)}`,n)}return Array.from(t.values())}function sw(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,aV.Qc)(n.path)}`,n)}return Array.from(t.values())}function sS(){return{wildcard:!1,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function sM(){return{wildcard:!0,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function sA(e){let t=e[0];if("value"===t){let t=e.slice(1);return t.length?{wildcard:!1,valuePaths:[{path:t}],structuralPaths:[],triggerPaths:[]}:sM()}return"__is_new__"===t||"__is_stored__"===t?{wildcard:!1,valuePaths:[{path:[t]}],structuralPaths:[],triggerPaths:[]}:sS()}function sF(e,t){var l,n;let r=a6(e,aH((null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex)));if(!r.length)return sM();let i=0,o=[...t];for(;"parentItem"===o[0];)i+=1,o=o.slice(1);let a=o[0];if(!a)return sM();if(i===r.length)return sA(o);if(i>r.length)return sM();if("value"===a){let e=aY(r,i);if(!e)return sM();let t=aJ(r,i),l=o.slice(1);return{wildcard:!1,valuePaths:[{path:[...e,...l],rowScope:a9(r,i,l)}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0},...t?[{path:t,includeChildren:!1}]:[]]}}if("index"===a||"length"===a){let e=aJ(r,i);return e?{wildcard:!1,valuePaths:[],structuralPaths:[{path:e,kind:a,rowScope:a9(r,i,[])}],triggerPaths:[{path:e,includeChildren:!1}]}:sM()}if("__is_new__"===a||"__is_stored__"===a){let e=aY(r,i);return e?{wildcard:!1,valuePaths:[{path:[...e,a],rowScope:a9(r,i,[a])}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0}]}:sM()}return sM()}function sk(e,t){let l={deps:new Set,wildcard:!1};(0,aq.G)(t,l);let n=[],r=[],i=[],o=l.wildcard;for(let t of l.deps){if("fv:*"===t){o=!0;continue}if(!t.startsWith("fv:")){if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),a=sF(e,l?aQ(l):[]);o||(o=a.wildcard),n.push(...a.valuePaths),r.push(...a.structuralPaths),i.push(...a.triggerPaths)}continue}let l=t.slice(3);if(!l){o=!0;continue}n.push({path:aQ(l)})}return{wildcard:o,valuePaths:sb(n),structuralPaths:sx(r),triggerPaths:sw(i)}}function sC(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0||e.triggerPaths.length>0}function sP(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 sj(e,t){if(!sC(e))return!1;if(e.wildcard)return!0;let l=aZ(t);if(!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(aK(l.path,t)||aK(t,l.path))return!0;for(let l of e.structuralPaths)if(az(l.path,t)||aK(t,l.path))return!0;for(let l of e.triggerPaths)if(l.includeChildren&&(aK(l.path,t)||aK(t,l.path))||!l.includeChildren&&az(l.path,t))return!0}return!1}function sE(e,t){let l=e=>e.map(e=>(0,aV.Qc)(e.path)).sort(),n=e=>e.map(e=>`${e.kind}:${(0,aV.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,aV.Qc)(e.path)}`).sort()})}function sR(e){var t,l;return(t=e)[l=sv]||(t[l]=new Map)}function sI(e){return a1(e)}function sT(e){var t,l;if(!sP(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 s_(e){var t;return!!e&&"object"==typeof e&&"function"==typeof(null==e||null==(t=e.props)?void 0:t.onChange)}function sD(e,t){let l=sR(e).get(t);l&&l.dispose()}function sN(e,t){var l,n,r,i,o,a;let s=e.model,d=null==e?void 0:e.flowKey;if(!s_(s)||!d)return;let u="dataScope",c=`${d}:${u}`,p=sk(e,t);if(!sC(p))return void sD(s,c);let h=sI(e);if(!h)return void sD(s,c);let m=sE(p,h),f=sR(s),g=f.get(c);if((null==g?void 0:g.signature)===m)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==(i=s.context)||null==(r=i.engine)?void 0:r.emitter),y={signature:m,snapshot:sp(p,h),dispose:()=>{}},b=()=>{var e,t,l,n;null==(t=h.emitter)||null==(e=t.off)||e.call(t,sg,x),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)},x=e=>{var t;if(s.disposed||h.disposed)return void b();if(!sj(p,e))return;let l=sf(p,h,e,y.snapshot);(null==(t=l.snapshot)?void 0:t.complete)&&(y.snapshot=l.snapshot),"unchanged"===l.status||sP(s)&&sT(s)},w=e=>{let{model:t}=e;(t===h||t===s&&s.disposed)&&b()},S=e=>{let{model:t}=e;(t===s||t===h)&&b()};y.dispose=b,f.set(c,y),h.emitter.on(sg,x),null==v||null==(o=v.on)||o.call(v,"model:unmounted",w),null==v||null==(a=v.on)||a.call(v,"model:destroyed",S)}let sO=(0,z.defineAction)({name:"dataScope",title:(0,z.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,z.useFlowSettingsContext)();return(0,V.jsx)(aE.I8,{value:e.value,FilterItem:e=>(0,V.jsx)(aE.Et,{...e,model:t.model,rightAsVariable:!0,maxAssociationFieldDepth:t.model instanceof aR.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 r=await e.resolveJsonTemplate(t.filter),i=aL(t.filter,r);sN(e,t.filter),(0,em.isEmptyFilter)(i)?n.removeFilterGroup(e.model.uid):n.addFilterGroup(e.model.uid,i)}});var s$=l(52717),sB=l(94130);class sL extends z.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),r=(0,sB.GX)(e);return(0,sB.F3)(n,r)}static async defineChildren(e){let t=this.baseClass?await (0,z.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,r]of this.models){if(!this.isActionModelVisible(r,e)||n.find(e=>e.useModel===r.name))continue;let t=await (0,z.buildSubModelItem)(r,e);t&&l.push(t)}return U().sortBy([...n,...l],"sort")}}(0,w._)(sL,"baseClass",void 0),(0,w._)(sL,"scene",void 0),(0,w._)(sL,"_models",void 0);class sV extends sL{}(0,w._)(sV,"baseClass",s$.S0),(0,w._)(sV,"scene",s$.s5.collection);class sq extends sL{}(0,w._)(sq,"baseClass",s$.S0),(0,w._)(sq,"scene",s$.s5.record);var sz=l(14252);class sK extends z.FlowModel{static defineChildren(e){let t=this.itemModelName,l=this.maxAssociationFieldDepth??2,n=function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return o>=l?[]:r.getToOneAssociationFields().map(r=>{let a=i?`${i}.${r.name}`:r.name,s=o+1;return r.targetCollection?{key:`${a}-assocationField`,label:r.title,children:()=>[{key:`${a}-children-collectionField`,label:e.t("Display fields"),type:"group",children:r.targetCollection.getFields().map(n=>{var r;if(s>=l&&((null==(r=n.isAssociationField)?void 0:r.call(n))||n.target||n.targetCollection))return;let i=`${a}.${n.name}`,o=z.DisplayItemModel.getDefaultBindingByField(e,n,{fallbackToTargetTitleField:!0});if(!o)return;let d=o.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)===i},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:i,associationPathName:a}}},subModels:{field:{use:d}}}}}).filter(Boolean)},{key:`${a}-children-associationField`,label:"Display association fields",type:"group",children:(n(r.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 ${r.target} not found for field ${r.name}`)}).filter(Boolean)};return n(e.collection,e.prefixFieldPath)}}function sU(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function sW(e){return e.context}function sH(e,t){var l;let n=e[t]||(null==(l=sW(e))?void 0:l[t]);return n&&"object"==typeof n?n:void 0}function sG(e){var t,l,n;let r=null==(t=sW(e))?void 0:t.dataSourceManager;return r||(null==(n=e.flowEngine)||null==(l=n.context)?void 0:l.dataSourceManager)}function sY(e){return{operatorGroup:e.operatorGroup,operators:Array.isArray(e.operators)?[...e.operators]:e.operators,operatorOverrides:Array.isArray(e.operatorOverrides)?[...e.operatorOverrides]:e.operatorOverrides}}function sJ(e){if(!1===e)return[];if(!e||"object"!=typeof e)return;let t=ob(sY(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 sX(e,t){var l;let n="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;if(!n)return;let r=sG(e),i=null==r?void 0:r.collectionFieldInterfaceManager,o=null==i||null==(l=i.getFieldInterface)?void 0:l.call(i,n);return null==o?void 0:o.filterable}function sQ(e){let t=[null==e?void 0:e.interface,null==e?void 0:e.type].filter(e=>"string"==typeof e),l=eZ.II;for(let e of t){let t=l[e];if(null==t?void 0:t.length)return t}return[]}function sZ(e){let t=sH(e,"collectionField"),l=sH(e,"filterField"),n=t||l;if((null==n?void 0:n.filterable)===!1)return[];let r=sJ(null==n?void 0:n.filterable);if(null==r?void 0:r.length)return r;let i=sX(e,n);if(!1===i)return[];let o=sJ(i);return(null==o?void 0:o.length)?o:sQ(n)}function s0(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s1(e);if(!t)return null;let l=sH(e,"collectionField")||sH(e,"filterField");return sZ(e).find(e=>e.value===t&&(!e.visible||e.visible(l)))||null}function s1(e){var t,l,n,r,i,o;let a=sZ(e);return e.operator||(null==(l=e.getStepParams)||null==(t=l.call(e,"filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(r=e.subModels)||null==(n=r.field)?void 0:n.operator)||(null==(i=a.find(e=>e.selected))?void 0:i.value)||(null==(o=a[0])?void 0:o.value)||"$includes"}function s2(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 s5(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}(0,w._)(sK,"itemModelName","DetailsItemModel"),(0,w._)(sK,"maxAssociationFieldDepth",2),sK.define({label:'{{t("Display fields")}}'});let s4={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function s8(e,t){var l,n,r;let i=null==e||null==(l=e.context)?void 0:l.dataSourceManager,o=null==e?void 0:e.collection;if(!i||!(null==o?void 0:o.dataSourceKey)||!(null==o?void 0:o.name)||!t)return;let a=o.name,s=t.split(".").filter(Boolean);for(let e=0;e<s.length;e+=1){let t=null==(n=i.getCollectionField)?void 0:n.call(i,`${o.dataSourceKey}.${a}.${s[e]}`);if(!t||e===s.length-1)return t;if(!(a=t.target||(null==(r=t.targetCollection)?void 0:r.name)))return}}function s3(e,t,l){let n=s4[e];if(!n)return e;let r=s8(t,l);return!r||sU(r)?e:n}async function s6(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function s9(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class s7{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),r=null==e||null==(n=e.context)?void 0:n.blockModel;if(!r||"function"!=typeof r.prepareInitialFilterValues)return;let i=await r.prepareInitialFilterValues();!1!==i&&l.add(r)}catch(t){console.error(`Failed to prepare filter defaults for target "${e}": ${s9(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 r=this.filterConfigs.length;this.filterConfigs=this.filterConfigs.filter(e=>t&&l?e.filterId!==t||e.targetId!==l:t?e.filterId!==t:!l||e.targetId!==l);let i=r-this.filterConfigs.length;return i>0&&n&&await this.saveFilterConfigs(),i}bindToTarget(e){if(!e||"string"!=typeof e)return void console.error("[NocoBase]: targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`[NocoBase]: Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.addFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with addFilterGroup method`);if("function"!=typeof t.resource.removeFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let n=t;l.forEach(e=>{let l=this.gridModel.flowEngine.getModel(e.filterId);if(!l)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" not found`);if(!l.getFilterValue)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" does not have getFilterValue method`);let r=l.getFilterValue();if(s2(r)){try{t.resource.removeFilterGroup(e.filterId),n.setFilterActive(e.filterId,!1)}catch(e){console.error(`[NocoBase]: Failed to remove filter configuration from target model: ${e.message}`)}return}n.setFilterActive(e.filterId,!0);let i=e.filterPaths.map(n=>({path:n,operator:s3(e.operator||s1(l),t,n),value:r}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new z.FilterItem({path:i[0].path,operator:i[0].operator,value:i[0].value}));else if(i.length>1){let l={logic:"$or",items:i};t.resource.addFilterGroup(e.filterId,new z.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 r=(null==t?void 0:t.excludeTargetIds)?new Set(t.excludeTargetIds):void 0,i=[...new Set(n.map(e=>e.targetId))].filter(e=>!(null==r?void 0:r.has(e))).map(async e=>{try{this.bindToTarget(e);let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let l=t,n=t.resource,r=l.getDataLoadingMode();if("manual"===r&&!l.hasActiveFilters()){n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1;return}await s6(n),"function"==typeof n.setPage&&n.setPage(1),await n.refresh()}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(i)}constructor(e,t){(0,w._)(this,"filterConfigs",void 0),(0,w._)(this,"gridModel",void 0),this.gridModel=e,this.filterConfigs=t||[]}}var de=l(84626),dt=l(47152),dl=l(16370);function dn(e){let{rows:t={},sizes:l={},layout:n,renderItem:r,rowGap:i=16,colGap:o=16,dragOverlayRect:a}=e,s=n||(0,z.normalizeGridLayout)({rows:t,sizes:l});return s.rows.length?(0,V.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:i},"data-grid-root":!0,children:[a&&(0,V.jsx)(da,{rect:a}),(0,V.jsx)(dr,{rows:s.rows,renderItem:r,rowGap:i,colGap:o,parentPath:[]})]}):(0,V.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:a&&(0,V.jsx)(da,{rect:a})})}function dr(e){let{rows:t,renderItem:l,rowGap:n,colGap:r,parentPath:i}=e;return(0,V.jsx)(V.Fragment,{children:t.map(e=>{let t=e.cells.length,o=e.sizes||[],a=o.some(e=>null!=e&&void 0!==e),s=[...i,{rowId:e.id}],d=e.cells.map((e,l)=>{if(!a)return 24/t;{let e=o.reduce((e,t)=>e+(t||0),0),n=t-o.filter(Boolean).length,r=n>0?(24-e)/n:0;return o[l]??r}});return(0,V.jsx)(dt.A,{gutter:r,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,i)=>(0,V.jsx)(di,{rowKey:e.id,columnIndex:i,span:d[i],rowGap:n,colGap:r,cell:t,path:[...s.slice(0,-1),{rowId:e.id,cellId:t.id}],renderItem:l},t.id))},e.id)})})}let di=W.memo(function(e){var t;let{rowKey:l,columnIndex:n,span:r,rowGap:i,colGap:o,cell:a,path:s,renderItem:d}=e,u=a.items||[];return(0,V.jsx)(dl.A,{span:r,"data-grid-column-row-id":l,"data-grid-column-index":n,"data-grid-path":JSON.stringify(s),children:(0,V.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:i},children:[u.map((e,t)=>e===z.EMPTY_COLUMN_UID?null:(0,V.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,V.jsx)(dr,{rows:a.rows,renderItem:d,rowGap:i,colGap:o,parentPath:s}):null]})})});function da(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,V.jsx)("div",{style:{...l,...n[t.type]}})}di.displayName="GridColumn";var ds=l(95725),dd=l(40919);let du=e=>{let{value:t,onChange:l,rows:n=10,...r}=e,[i,o]=(0,W.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,W.useState)(null);(0,W.useEffect)(()=>{o(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;o(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,V.jsxs)("div",{children:[(0,V.jsx)(ds.A.TextArea,{value:i,autoSize:{minRows:n,maxRows:n+10},onChange:d,...r}),a&&(0,V.jsx)(dd.A,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},dc=(0,ni.connect)(du),dp="gridSettings",dh="grid",dm=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 df extends z.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},r=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==r||r.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==r||r.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(dp,dh)||{};return(0,z.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=U().omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,z.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(dp,{[dh]:{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],r=l.find(e=>e.id===n.rowId);if(!r)break;if(e===t.length-1)return r;let i=r.cells.find(e=>e.id===n.cellId);l=(null==i?void 0:i.rows)||[]}return null}collectCellItemsForResize(e){return Array.isArray(e.items)?[...e.items]:(e.rows||[]).flatMap(e=>e.cells.flatMap(e=>this.collectCellItemsForResize(e)))}buildResizedCells(e,t){let l=new Set;return t.map((t,n)=>{let r=e.cells.findIndex((e,n)=>!l.has(n)&&U().isEqual(this.collectCellItemsForResize(e),t));if(-1!==r){l.add(r);let n=e.cells[r];return n.rows&&!n.items?U().cloneDeep(n):{id:n.id,items:[...t]}}return{id:`${e.id}:cell:${n}:${(0,iE.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 r=this.getResizeRowPath(e),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0;if(!r.length)return i;let o=Array.from((null==(l=this.gridContainerRef.current)?void 0:l.querySelectorAll("[data-grid-row-id]"))||[]).find(e=>{try{return U().isEqual(JSON.parse(e.dataset.gridPath||"[]"),r)}catch{return!1}});return(null==o||null==(n=o.parentElement)?void 0:n.clientWidth)||i}prunePlaceholderOnlyRows(e){let t=e=>e.map(e=>{let l=e.cells.map((l,n)=>{var r,i;let o=(null==(r=e.sizes)?void 0:r[n])??1;if(null==(i=l.rows)?void 0:i.length){let e=t(l.rows);return e.length?{cell:{...l,rows:e},size:o,hasRealItem:!0}:null}let a=l.items||[],s=a.some(e=>e!==z.EMPTY_COLUMN_UID),d=a.includes(z.EMPTY_COLUMN_UID);return s||d?{cell:l,size:o,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,z.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:r}=e,i=this.getGridLayout(),o=(0,z.findModelUidLayoutPosition)(i,r.uid);if(!o)return null;let a=this.findLayoutRowByPath(i,o.path);if(!a)return null;let s=this.getResizeContainerWidth(o.path),d=a.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:u,newSizes:c,moveDistance:p}=dv({position:{rowId:a.id,columnIndex:o.cellIndex,itemIndex:o.itemIndex},direction:l,resizeDistance:n,prevMoveDistance:this.prevMoveDistance,oldRows:{[a.id]:d},oldSizes:{[a.id]:a.sizes||[]},gutter:(null==(t=this.context.themeToken)?void 0:t.marginBlock)??16,gridContainerWidth:s}),h=U().cloneDeep(i),m=this.findLayoutRowByPath(h,o.path);return m?(m.cells=this.buildResizedCells(a,u[a.id]||[]),m.sizes=c[a.id]||[],{layout:(0,z.normalizeGridLayout)({layout:h,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}),moveDistance:p}):null}onMount(){super.onMount(),this.emitter.on("onSubModelAdded",e=>{e.isNew&&(this.resetRows(!0),this.setGridStepLayout(this.props.layout))}),this.emitter.on("onSubModelDestroyed",e=>{var t,l;let n=e.uid;this.resetRows(!0);let r=this.prunePlaceholderOnlyRows(this.props.layout);this.setGridStepLayout(r),this.syncLayoutProps(r),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,z.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(z.EMPTY_COLUMN_UID);let n=new Set,r={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>U().castArray(e).filter(e=>l.has(e))).filter(e=>e.length>0);e.length>0&&(r[t]=e,e.forEach(e=>e.forEach(e=>n.add(e))))}let i=new Set;for(let e of(Object.values(r).forEach(e=>e.forEach(e=>e.forEach(e=>i.add(e)))),t))i.has(e.uid)||(r[(0,iE.uid)()]=[[e.uid]]);return r}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(dp,dh)||{},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=dm(e.activatorEvent);if(n)return this.dragState.pointerOrigin=n,{x:n.x+e.delta.x,y:n.y+e.delta.y};let r=null==(t=e.over)?void 0:t.rect;return r?{x:r.left+r.width/2,y:r.top+r.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,z.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=e.slots,this.dragState.containerRect=e.containerRect}scheduleSnapshotRefresh(){!this.dragState||this.dragState.refreshTimer||(this.dragState.refreshTimer=setTimeout(()=>{this.dragState&&(this.dragState.refreshTimer=null,this.updateLayoutSnapshot(),this.refreshPreviewFromPointer())},16))}refreshPreviewFromPointer(){if(!this.dragState)return;let e=this.dragState.pointerPosition||this.dragState.pointerOrigin;if(!e)return;let t=this.resolveDragSlot(e);this.applyPreview(t)}computeOverlayRect(e){var t,l,n,r;let i=this.dragOverlayConfig,o=e.rect;switch(e.type){case"column":{let l=null==i||null==(t=i.columnInsert)?void 0:t[e.position],n=(null==l?void 0:l.height)??o.height,r=(null==l?void 0:l.offsetTop)??0;return{top:o.top+r,left:o.left,width:o.width,height:n}}case"column-edge":{let t=null==i||null==(l=i.columnEdge)?void 0:l[e.direction],n=(null==t?void 0:t.width)??o.width,r=(null==t?void 0:t.offsetLeft)??0;return{top:o.top,left:o.left+r,width:n,height:o.height}}case"item-edge":{let t=null==i||null==(n=i.columnEdge)?void 0:n[e.direction],l=(null==t?void 0:t.width)??o.width,r=(null==t?void 0:t.offsetLeft)??0;return{top:o.top,left:o.left+r,width:l,height:o.height}}case"row-gap":{let t=null==i||null==(r=i.rowGap)?void 0:r[e.position],l=(null==t?void 0:t.height)??o.height,n=(null==t?void 0:t.offsetTop)??0;return{top:o.top+n,left:o.left,width:o.width,height:l}}default:return{top:o.top,left:o.left,width:o.width,height:o.height}}}getHitTestSlot(e){return{...e,rect:this.computeOverlayRect(e)}}resolveDragSlot(e){var t;return(null==(t=this.dragState)?void 0:t.slots.length)?(0,z.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,z.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,z.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:iE.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,iE.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,z.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:U().cloneDeep(l.rows),sizes:U().cloneDeep(l.sizes),rowOrder:U().cloneDeep(l.rowOrder),layout:U().cloneDeep(l.layout)};let n=this.computeOverlayRect(e),r={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",r),this.dragState.activeSlotKey=t}handleDragStart(e){let t=e.active.id,l=this.normalizeLayoutFromSource(),n=(0,z.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:U().cloneDeep(n.rows),sizes:U().cloneDeep(n.sizes),rowOrder:U().cloneDeep(n.rowOrder),layout:U().cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:dm(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(U().cloneDeep(l.layout)):(this.setProps("rows",U().cloneDeep(l.rows)),this.setProps("sizes",U().cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",U().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,z.normalizeGridLayout)({rows:dg((0,z.projectLayoutToLegacyRows)(t).rows),itemUids:this.getItemUids()}):t,n=(0,z.projectLayoutToLegacyRows)(l),{rows:r,rowOrder:i}=this.normalizeRowsWithOrder(n.rows,n.rowOrder),o=this.orderSizesByRowOrder(n.sizes,i);if(this.context.flowSettingsEnabled)return{layout:l,rows:r,sizes:o};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 r=null==(n=e.sizes)?void 0:n[l],i=Number.isFinite(r)&&r>0?r:1;if(t.rows){let e=s(t.rows);return e.length?{cell:{...t,rows:e},size:i,hasVisibleContent:!0}:null}let o=(t.items||[]).filter(e=>{var t;return e===z.EMPTY_COLUMN_UID||(null==(t=a.get(e))?void 0:t.hidden)!==!0}),d=o.some(e=>{if(e===z.EMPTY_COLUMN_UID)return!1;let t=a.get(e);return!t||!t.hidden}),u=o.includes(z.EMPTY_COLUMN_UID);return d||u?{cell:{...t,items:o},size:i,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,z.normalizeGridLayout)({layout:{version:2,rows:s(l.rows)}}),u=(0,z.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,V.jsxs)(V.Fragment,{children:[n&&(0,V.jsx)(de.A,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap,display:"flex"},size:this.props.rowGap,children:(0,V.jsx)(z.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,V.jsx)(dn,{rowGap:this.props.rowGap,colGap:this.props.colGap,layout:e,rows:t,sizes:l,dragOverlayRect:this.props.dragOverlayRect,renderItem:e=>{var t,l,n,r,i;let o=this.flowEngine.getModel(e);if(!o)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=(r=this.context).getPropertyOptions)?void 0:n.call(r,"currentObject"),p=null==s?o:(()=>{let t=o.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,V.jsx)(z.Droppable,{model:p,children:(0,V.jsx)(z.MemoFlowModelRenderer,{model:p,fallback:o.skeleton||this.itemFallback,showFlowSettings:!!this.context.flowSettingsEnabled&&this.getItemFlowSettings(),showErrorFallback:!0,settingsMenuLevel:(null==p?void 0:p.settingsMenuLevel)??this.itemSettingsMenuLevel,showTitle:!0,extraToolbarItems:this.itemExtraToolbarItems},`${p.uid}:${a}:${(null==p?void 0:p.use)||(null==p||null==(i=p.constructor)?void 0:i.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,V.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),(0,w._)(this,"subModelBaseClass","BlockModel"),(0,w._)(this,"gridContainerRef",W.createRef()),(0,w._)(this,"prevMoveDistance",0),(0,w._)(this,"itemSettingsMenuLevel",1),(0,w._)(this,"itemFlowSettings",{}),(0,w._)(this,"dragOverlayConfig",void 0),(0,w._)(this,"itemFallback",(0,V.jsx)(r9,{})),(0,w._)(this,"itemExtraToolbarItems",[{key:"drag-handler",component:z.DragHandler,sort:1}]),(0,w._)(this,"dragState",void 0),(0,w._)(this,"_memoItemFlowSettings",void 0),(0,w._)(this,"updateDragPointerPosition",e=>{if(!this.dragState)return;let t=dm(e);t&&(this.dragState.pointerPosition=t)}),(0,w._)(this,"handleDragScroll",()=>{this.dragState&&this.scheduleSnapshotRefresh()})}}function dg(e,t){let l=(null==t?void 0:t.emptyColumnUid)??z.EMPTY_COLUMN_UID,n={};return Object.keys(e).forEach(t=>{e[t].forEach(e=>{let t=e.filter(e=>e!==l);t.length>0&&(n[(0,iE.uid)()]=[t])})}),n}function dv(e){var t,l;let{position:n,direction:r,resizeDistance:i,prevMoveDistance:o,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=U().cloneDeep(s),h=U().cloneDeep(a),m=Math.floor(i/(d-u*((h[n.rowId]||[]).length-1))*c);if(m===o)return{newRows:p,newSizes:h,moveDistance:m};(t=h)[l=n.rowId]??(t[l]=[c]);let f=h[n.rowId],g=m-o,v="left"===r&&n.columnIndex>0,y="right"===r&&n.columnIndex<f.length-1;if(!v&&!y&&g>0){let e=c-f.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:h,moveDistance:o};g>e&&(m=o+e,g=e)}if(h[n.rowId][n.columnIndex]+=g,"left"===r&&n.columnIndex>0&&(h[n.rowId][n.columnIndex-1]-=g,0===h[n.rowId][n.columnIndex-1]&&db({rows:p,sizes:h,position:n,direction:"left"})),"left"===r&&0===n.columnIndex){let e=h[n.rowId].slice(1).reduce((e,t)=>e+t,0);h[n.rowId][0]<c-e&&dy({rows:p,sizes:h,position:n,direction:"left"})}if("right"===r&&n.columnIndex<h[n.rowId].length-1&&(h[n.rowId][n.columnIndex+1]-=g,0===h[n.rowId][n.columnIndex+1]&&db({rows:p,sizes:h,position:n,direction:"right"})),"right"===r&&n.columnIndex===h[n.rowId].length-1){let e=h[n.rowId].slice(0,-1).reduce((e,t)=>e+t,0);h[n.rowId][n.columnIndex]<c-e&&dy({rows:p,sizes:h,position:n,direction:"right"})}return{newRows:p,newSizes:h,moveDistance:m}}function dy(e){let{rows:t,sizes:l,position:n,direction:r}=e,i=t[n.rowId]||[],o=l[n.rowId]||[];if("left"===r){let e=i[n.columnIndex-1];if(null==e?void 0:e.includes(z.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex,0,[z.EMPTY_COLUMN_UID]),o.splice(n.columnIndex,0,1)}if("right"===r){let e=i[n.columnIndex+1];if(null==e?void 0:e.includes(z.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex+1,0,[z.EMPTY_COLUMN_UID]),o.splice(n.columnIndex+1,0,1)}}function db(e){let{rows:t,sizes:l,position:n,direction:r}=e,i=t[n.rowId]||[],o=l[n.rowId]||[];if("left"===r){let e=i[n.columnIndex-1];if(!(null==e?void 0:e.includes(z.EMPTY_COLUMN_UID)))return;i.splice(n.columnIndex-1,1),o.splice(n.columnIndex-1,1)}if("right"===r){let e=i[n.columnIndex+1];if(!(null==e?void 0:e.includes(z.EMPTY_COLUMN_UID)))return;i.splice(n.columnIndex+1,1),o.splice(n.columnIndex+1,1)}}df.registerFlow({key:dp,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,z.tExpr)("Layout"),"x-decorator":"FormItem","x-component":dc,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,z.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,n=(0,z.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 dx=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class dw extends df{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new s7(this,e.filterManager)})}get subModelBaseClasses(){var e;let t=(null==(e=this.context.view)?void 0:e.inputArgs)??{};return t.collectionName&&!t.filterByTk,["DataBlockModel","FilterBlockModel","BlockModel"]}get filterManager(){return this.context.filterManager}get addBlockItems(){var e,t;if((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)==="select")return async e=>{let t=await (0,z.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=dx.filter(t=>!!e.engine.getModelClass(t)),n=(await Promise.all(l.map(t=>(0,z.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,V.jsx)(z.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,V.jsx)(z.FlowSettingsButton,{icon:(0,V.jsx)(tI.A,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,V.jsx)("div",{className:"nb-block-grid",style:this.context.disableBlockGridPadding?null:{padding:this.context.isMobileLayout?8:this.context.themeToken.marginBlock,paddingBottom:0},children:super.render()})}constructor(...e){super(...e),(0,w._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}})}}dw.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 dS=l(15892),dM=l(72380),dA=l(52175);class dF extends z.FlowModel{}var dk=l(5679);class dC extends dS.z{}dC.define({hide:!0,label:"Filter blocks"});var dP=l(44279),dj=l(21637),dE=l(2117);async function dR(e){var t,l,n,r,i;(null==(l=e.inputArgs)||null==(t=l.dirty)?void 0:t.hasDirtyForms)&&(await e.modal.confirm({title:e.t("Unsaved changes"),content:e.t("Are you sure you don't want to save?"),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||(null==(i=e.inputArgs)||null==(r=i.controller)||null==(n=r.prevent)||n.call(r),e.exitAll()))}class dI extends z.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}getActiveTabKey(){var e,t,l,n;let r=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return r?r.tabUid||(null==(n=this.getFirstTab())?void 0:n.uid):this.props.tabActiveKey||(null==(l=this.getFirstTab())?void 0:l.uid)}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{this.dirtyRefreshScheduled=!1,this.unmounted||!1!==(0,z.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(){var e;let t=this.props.tabActiveKey||(null==(e=this.getFirstTab())?void 0:e.uid);t&&this.invokeTabModelLifecycleMethod(t,"onInactive")}onMount(){var e,t,l,n,r,i,o,a,s;super.onMount(),this.unmounted=!1,this.setProps("tabActiveKey",null==(e=this.context.view.inputArgs)?void 0:e.tabUid),(null==(t=this.context)?void 0:t.pageInfo)&&(this.context.pageInfo.version="v2"),this.updateDocumentTitle(),this.viewActivatedListener||(this.viewActivatedListener=e=>{this.activateCurrentTab()},null==(i=this.flowEngine)||null==(r=i.emitter)||null==(n=r.on)||n.call(r,z.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let d=(0,z.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),u=d>0&&d!==this.lastSeenEmitterViewActivatedVersion;this.lastSeenEmitterViewActivatedVersion=d,u&&!1!==(0,z.getPageActive)(this.context)&&this.activateCurrentTab(),this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(s=this.flowEngine)||null==(a=s.emitter)||null==(o=a.on)||o.call(a,z.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,n,r,i;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,z.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(i=this.flowEngine)||null==(r=i.emitter)||null==(n=r.off)||n.call(r,z.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener),this.dataSourceDirtyListener=void 0),super.onUnmount()}invokeTabModelLifecycleMethod(e,t){var l,n;let r=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 i=this.findSubModel("tabs",t=>t.uid===e)||this.flowEngine.getModel(e);if(i){if(i.context.tabActive){let e=!1!==(0,z.getPageActive)(i.context);i.context.tabActive.value=e&&"onActive"===t}null==(n=i.subModels.grid)||n.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,r)})}"onActive"===t&&this.updateDocumentTitle(e)}async updateDocumentTitle(e){var t,l,n,r,i,o,a,s,d,u,c,p,h,m,f,g,v,y,b,x;let w=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,z.getPageActive)(this.context))return;let S=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),M=null==(i=this.context)||null==(r=i.view)||null==(n=r.inputArgs)?void 0:n.viewUid,A=null==(s=this.flowEngine)||null==(a=s.context)||null==(o=a.route)?void 0:o.pathname;if(S&&M&&"string"==typeof A){let e=null==(u=this.context)||null==(d=u.layout)?void 0:d.routePath,t=null==(c=(0,z.parsePathnameToViewParams)(A,{basePath:(null==(h=this.context)||null==(p=h.layoutRoute)?void 0:p.basePathname)||((null==e?void 0:e.startsWith("/"))?e:"")}).at(-1))?void 0:c.viewUid;if(t&&t!==M)return}let F=++this.documentTitleUpdateVersion,k=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}},C="";if(this.getEnableTabs()){let t=e||this.getActiveTabKey(),l=t?this.flowEngine.getModel(t):this.getFirstTab();if(!l&&w<5)return void window.setTimeout(()=>{this.unmounted||F===this.documentTitleUpdateVersion&&this.updateDocumentTitle(t,w+1)},0);C=await k(null==l||null==(g=l.stepParams)||null==(f=g.pageTabSettings)||null==(m=f.tab)?void 0:m.documentTitle)||(null==l||null==(v=l.getTabTitle)?void 0:v.call(l))||""}else C=await k(null==(x=this.stepParams)||null==(b=x.pageSettings)||null==(y=b.general)?void 0:y.documentTitle)||this.props.title||"";F===this.documentTitleUpdateVersion&&"string"==typeof C&&""!==C&&(document.title=C)}mapTabs(){return this.mapSubModels("tabs",e=>!this.context.flowSettingsEnabled&&e.hidden?null:{key:e.uid,label:(0,V.jsx)(z.Droppable,{model:e,children:(0,V.jsx)(z.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:z.DragHandler,sort:1}]})}),children:e.renderChildren()}).filter(Boolean)}getFirstTab(){var e;return null==(e=this.subModels.tabs)?void 0:e[0]}renderFirstTab(){var e;let t=this.getFirstTab();return null==t||null==(e=t.renderChildren)?void 0:e.call(t)}async handleDragEnd(e){throw Error("Method not implemented.")}renderTabs(){var e,t,l,n;let r=(null==(e=this.context.themeToken)?void 0:e.paddingLG)??16,i=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,V.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:r,height:1}}),o=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,V.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:r},children:(0,V.jsx)(z.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,V.jsx)(z.FlowSettingsButton,{icon:(0,V.jsx)(tI.A,{}),children:this.context.t("Add tab")})})});return(0,V.jsx)(z.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:(0,V.jsx)(dj.A,{activeKey:(null==(l=this.context.view)||null==(t=l.navigation)?void 0:t.viewParams)?this.context.view.navigation.viewParams.tabUid||(null==(n=this.getFirstTab())?void 0:n.uid):this.props.tabActiveKey,tabBarStyle:this.props.tabBarStyle,items:this.mapTabs(),onChange:e=>{var t,l;let n=this.props.tabActiveKey||this.getActiveTabKey();null==(l=this.context.view.navigation)||null==(t=l.changeTo)||t.call(l,{tabUid:e}),this.invokeTabModelLifecycleMethod(e,"onActive"),n&&n!==e&&this.invokeTabModelLifecycleMethod(n,"onInactive"),this.setProps("tabActiveKey",e)},tabBarExtraContent:{left:i,right:o}})})}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,V.jsxs)(V.Fragment,{children:[this.props.displayTitle&&(0,V.jsx)(dP.z,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),(0,w._)(this,"tabBarExtraContent",{}),(0,w._)(this,"viewActivatedListener",void 0),(0,w._)(this,"dataSourceDirtyListener",void 0),(0,w._)(this,"lastSeenEmitterViewActivatedVersion",0),(0,w._)(this,"dirtyRefreshScheduled",!1),(0,w._)(this,"unmounted",!1),(0,w._)(this,"documentTitleUpdateVersion",0),(0,w._)(this,"createPageTabModelOptions",()=>{let e=(0,iE.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,iE.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}})}}dI.registerEvents({close:{title:(0,z.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,z.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":dE.H}},handler:dE.b}}),dI.registerFlow({key:"closeGuard",title:(0,z.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,z.tExpr)("Unsaved changes confirmation"),handler:dR}}}),dI.registerFlow({key:"pageSettings",title:(0,z.tExpr)("Page settings"),steps:{general:{title:(0,z.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,z.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,z.tExpr)("Document title"),description:(0,z.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":ax.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,z.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,z.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 r=null==(n=e.model.context)||null==(l=n.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||r,{ns:"lm-desktop-routes"}))}e.model.setProps("enableTabs",t.enableTabs),"embed"===e.view.type?(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgContainer)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgContainer)",marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgLayout)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgLayout)",marginBottom:0})),e.model.updateDocumentTitle()}}}});var dT=l(68904);class d_ extends dI{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,r={...this.props.tabBarStyle,paddingBlock:(null==n?void 0:n.paddingXS)??8};return(0,V.jsx)("div",{style:r,children:(0,V.jsx)(dD,{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,V.jsxs)(V.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,V.jsx)(dP.z,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,V.jsxs)(V.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),(0,w._)(this,"tabBarExtraContent",{left:(0,V.jsx)(dD,{})}),(0,w._)(this,"createPageTabModelOptions",()=>({use:"ChildPageTabModel"}))}}let dD=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,z.useFlowContext)(),n=l.themeToken,r=32,i=(null==n?void 0:n.paddingLG)??16,o=(0,W.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:n.paddingXS,marginLeft:n.paddingLG,marginRight:r-n.paddingXS}),[n.paddingLG,n.paddingXS]);return"embed"!==l.view.type?t?(0,V.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,V.jsx)(nE.Ay,{"aria-label":"back-button",type:"text",icon:(0,V.jsx)(dT.A,{}),style:o,onClick:l.view.close})};class dN extends z.FlowModel{}dN.registerFlow({key:"pageSettings",title:(0,z.tExpr)("Page settings"),steps:{general:{title:(0,z.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,z.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,z.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 r=null==(n=e.model.context)||null==(l=n.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||r))}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 dO extends dN{renderFirstTab(){var e;return(0,V.jsx)(z.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,V.jsxs)(V.Fragment,{children:[this.props.displayTitle&&(0,V.jsx)(dP.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function d$(e){let{ctx:t,options:l}=e,{data:n,loading:r}=(0,r3.A)(async()=>{let e=await t.engine.loadOrCreateModel(l,{skipSave:!t.flowSettingsEnabled});return e.context.addDelegate(t),e},{refreshDeps:[t.model.uid]}),i=(null==t?void 0:t.isMobileLayout)?8:null==t?void 0:t.themeToken.marginBlock;return!r&&(null==n?void 0:n.uid)?(0,V.jsx)(z.FlowModelRenderer,{model:n,fallback:(0,V.jsx)(r9,{style:{margin:i}})}):(0,V.jsx)(r9,{style:{margin:i}})}function dB(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}class dL extends z.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:z.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,V.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,V.jsx)(eZ.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,V.jsxs)("span",{style:{display:"inline-block"},children:[(0,V.jsx)(eZ.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}dL.registerFlow({key:"pageTabSettings",title:(0,z.tExpr)("Tab settings"),steps:{tab:{title:(0,z.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,z.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,z.tExpr)("Document title"),description:(0,z.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":ax.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,z.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 r=e.engine.getModel(e.model.parentId);null==r||null==(l=r.updateDocumentTitle)||l.call(r)}}}});class dV extends dL{renderChildren(){return(0,V.jsx)(d$,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){return this.save()}async save(){var e,t,l,n,r;let i=this.serialize(),o=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,a=await this.context.api.request({method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:{...this.props.route,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{flowRegistry:i.flowRegistry,documentTitle:o}}}),s=dB(null==a||null==(n=a.data)?void 0:n.data);s&&this.setProps("route",{...this.props.route,...s,options:{...null==(r=this.props.route)?void 0:r.options,...s.options}})}async destroy(){return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid),await this.context.api.request({method:"post",url:"desktopRoutes:destroy",params:{filter:{schemaUid:this.uid}},data:this.props.route}),!0}}class dq extends dL{renderChildren(){return(0,V.jsx)(d$,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class dz extends z.FlowModel{render(){return(0,V.jsx)(d$,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class dK extends dI{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,r;let i=null==e||null==(l=e.props)||null==(t=l.route)?void 0:t.id;return null!=i?i:("function"==typeof(null==e?void 0:e.save)&&await e.save(),null==e||null==(r=e.props)||null==(n=r.route)?void 0:n.id)}onMount(){super.onMount(),(0,z.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),r=this.flowEngine.getModel(null==(l=e.over)?void 0:l.id);if(!n||!r||n.uid===r.uid)return;let[i,o]=await Promise.all([this.ensurePersistedRouteId(n),this.ensurePersistedRouteId(r)]);null!=i&&null!=o&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:i,targetId:o,sortField:"sort"}}),this.flowEngine.moveModel(n.uid,r.uid,{persist:!1}))}constructor(...e){super(...e),(0,w._)(this,"mounted",!1)}}dK.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),U().castArray(null==l?void 0:l.children).filter(Boolean).sort((e,t)=>(e.sort||0)-(t.sort||0)))){var n,r;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==(r=t.options)?void 0:r.documentTitle}}}});e.model.addSubModel("tabs",l)}}}}});class dU extends dN{renderFirstTab(){var e;return(0,V.jsx)(z.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,V.jsxs)(V.Fragment,{children:[this.props.displayTitle&&(0,V.jsx)(dP.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}class dW extends sz.S0{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Popup"),icon:"ExportOutlined"})}}dW.define({label:(0,z.tExpr)("Popup")}),dW.registerFlow(eM);var dH=l(33297);class dG extends dW{getAclActionName(){return"create"}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,z.tExpr)("Add new")),(0,w._)(this,"defaultProps",{type:"primary",title:(0,z.tExpr)("Add new"),icon:"PlusOutlined"})}}(0,w._)(dG,"scene",sz.s5.collection),dG.define({label:(0,z.tExpr)("Add new"),sort:10});let dY=e=>{var t,l,n,r,i,o;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==(r=a.getStepParams)?void 0:r.call(a,"resourceSettings","init"))||(null==e||null==(o=e.model)||null==(i=o.getStepParams)?void 0:i.call(o,"resourceSettings","init"))},dJ=e=>{var t;return!!(null==(t=dY(e))?void 0:t.associationName)},dX=e=>{var t,l,n,r;let i=dY(e),o=(null==e||null==(t=e.blockModel)?void 0:t.association)||(null==e||null==(r=e.model)||null==(n=r.context)||null==(l=n.blockModel)?void 0:l.association),a=null==o?void 0:o.targetCollection;return{dataSourceKey:(null==a?void 0:a.dataSourceKey)||(null==i?void 0:i.dataSourceKey),collectionName:(null==a?void 0:a.name)||(null==o?void 0:o.target)||(null==i?void 0:i.collectionName)}},dQ=e=>{var t,l,n,r,i,o;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=dY(e);return{collectionField:s,sourceId:(null==a||null==(r=a.resource)||null==(n=r.getSourceId)?void 0:n.call(r))??(null==d?void 0:d.sourceId),associatedRecords:(null==a||null==(o=a.resource)||null==(i=o.getData)?void 0:i.call(o))||[]}},dZ=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}))},d0=async e=>{var t,l,n,r,i,o,a,s,d,u,c,p;let h=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),m=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!dJ(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for disassociation"));return}if(!e.record){null==(p=e.message)||null==(c=p.error)||c.call(p,e.t("No record selected for disassociation"));return}let f=null==m||null==(n=m.getFilterByTK)?void 0:n.call(m,e.record);await dZ(h,"remove",[f]),await (null==(r=h.refresh)?void 0:r.call(h)),null==(o=e.message)||null==(i=o.success)||i.call(o,e.t("Record disassociated successfully"))},d1=async(e,t)=>{var l,n,r,i,o,a,s,d,u,c,p;let h=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),m=(null==e||null==(n=e.blockModel)?void 0:n.collection)||(null==e?void 0:e.collection);if(!dJ(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for association"));return}if(!(null==t?void 0:t.length)){null==(p=e.message)||null==(c=p.warning)||c.call(p,e.t("Please select at least one record"));return}let f=t.map(e=>{var t;return(null==m||null==(t=m.getFilterByTK)?void 0:t.call(m,e))??e}).filter(e=>null!=e);await dZ(h,"add",f),await (null==(r=h.refresh)?void 0:r.call(h)),null==(o=e.message)||null==(i=o.success)||i.call(o,e.t("Record associated successfully"))};function d2(e){let{options:t}=e,l=(0,z.useFlowViewContext)(),{data:n,loading:r}=(0,r3.A)(async()=>await l.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:l,skipSave:!l.flowSettingsEnabled}),{refreshDeps:[l,t]});return!r&&(null==n?void 0:n.uid)?(0,V.jsx)(z.FlowModelRenderer,{model:n,fallback:(0,V.jsx)(r9,{style:{margin:16}})}):(0,V.jsx)(r9,{style:{margin:16}})}function d5(e){let{model:t}=e,l=(0,z.useFlowViewContext)(),{Header:n,Footer:r,type:i}=l.view;return(0,V.jsxs)("div",{children:[(0,V.jsx)(n,{title:"dialog"===i?(0,V.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,V.jsx)(d2,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,V.jsx)(r,{children:"dialog"===i?(0,V.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,V.jsx)(nE.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,V.jsx)(nE.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class d4 extends sz.S0{getAclActionName(){return"update"}async associateSelectedRows(){await d1(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,z.tExpr)("Select record")),(0,w._)(this,"selectedRows",[]),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Associate"),icon:"LinkOutlined"})}}(0,w._)(d4,"scene",sz.s5.collection),(0,w._)(d4,"capabilityActionName","update"),d4.define({label:(0,z.tExpr)("Associate"),sort:15,hide:e=>!dJ(e)}),d4.registerFlow({key:"associateSettings",title:(0,z.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,n,r;let i=dX(e),o=(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==(r=e.inputArgs)?void 0:r.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:o,width:s[o][a],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:i.dataSourceKey,collectionName:i.collectionName,...dQ(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,V.jsx)(d5,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===o?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});class d8 extends sz.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,w._)(d8,"scene",sz.s5.collection),(0,w._)(d8,"capabilityActionName","destroyMany"),d8.define({label:(0,z.tExpr)("Delete")}),d8.registerFlow({key:"deleteSettings",title:(0,z.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,z.tExpr)("Delete record"),content:(0,z.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 d3 extends sz.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link",title:(0,z.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,w._)(d3,"scene",sz.s5.record),d3.define({label:(0,z.tExpr)("Delete"),sort:60}),d3.registerFlow({key:"deleteSettings",title:(0,z.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,z.tExpr)("Delete record"),content:(0,z.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 d6 extends sz.S0{getAclActionName(){return"update"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link",title:(0,z.tExpr)("Disassociate"),icon:"DisconnectOutlined"})}}(0,w._)(d6,"scene",sz.s5.record),(0,w._)(d6,"capabilityActionName","update"),d6.define({label:(0,z.tExpr)("Disassociate"),sort:65,hide:e=>!dJ(e)}),d6.registerFlow({key:"disassociateSettings",title:(0,z.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,z.tExpr)("Disassociate record"),content:(0,z.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await d0(e)}}}});class d9 extends dW{getAclActionName(){return"update"}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,z.tExpr)("Edit")),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Edit"),icon:"EditOutlined"})}}(0,w._)(d9,"scene",sz.s5.record),d9.define({label:(0,z.tExpr)("Edit"),sort:20});var d7=l(94384),ue=l(68669);class ut extends sz.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=un(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(z.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,V.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,V.jsx)(ue.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,V.jsx)(aE.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),(0,V.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,V.jsx)(lj.A,{open:this.props.open,content:(0,V.jsx)(ue.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,V.jsx)(aE.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),(0,w._)(this,"map",new WeakMap),(0,w._)(this,"defaultProps",{type:"default",title:(0,z.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}})}}function ul(e){for(var t,l=arguments.length,n=Array(l>1?l-1:0),r=1;r<l;r++)n[r-1]=arguments[r];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,eZ.w6)(e.interface,...n);return!!(null==t?void 0:t.filterable)})}function un(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}(0,w._)(ut,"scene","collection"),ut.define({label:(0,z.tExpr)("Filter"),toggleable:!0,sort:5}),ut.registerFlow({key:"filterSettings",title:(0,z.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,z.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,z.useFlowSettingsContext)(),n=ul(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,V.jsx)(d7.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,r,i;return{filterableFieldNames:ul(e.blockModel.collection,null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager,null==(i=e.model)||null==(r=i.context)||null==(n=r.app)?void 0:n.dataSourceManager).map(e=>e.name)||[]}},handler(e,t){e.model.setProps("filterableFieldNames",t.filterableFieldNames)}},defaultFilter:{title:(0,z.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,z.useFlowSettingsContext)();return(0,V.jsx)(aE.I8,{value:e.value||{},FilterItem:e=>(0,V.jsx)(aE.Et,{...e,model:t,maxAssociationFieldDepth:2})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",U().cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",U().cloneDeep(t.defaultFilter))}}}}),ut.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 r=(0,em.transformFilter)(e.model.props.filterValue),i=!(0,em.isEmptyFilter)(r);l.setFilterActive(e.model.uid,i),i?(n.addFilterGroup(e.model.uid,r),n.setPage(1)):n.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||i||l.hasActiveFilters()?n.refresh():(n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1),e.model.setProps("open",!1)}}}}),ut.registerFlow({key:"resetSettings",title:(0,z.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 r=l.getDataLoadingMode(),i=e.model.props.defaultFilterValue,o=!(0,em.isEmptyFilter)((0,em.transformFilter)(i));"manual"!==r||o||l.hasActiveFilters()?(o&&(n.addFilterGroup(e.model.uid,(0,em.transformFilter)(i)),l.setFilterActive(e.model.uid,!0),n.setPage(1)),n.refresh()):(n.setData([]),n.setMeta({count:0,hasNext:!1}),"function"==typeof n.setPage&&n.setPage(1),n.loading=!1),e.model.setProps("open",!1),e.model.setProps("filterValue",U().cloneDeep(i))}}}}),ut.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var ur=l(95266);function ui(e,t){var l;let n=(null==(l=e.inputArgs)?void 0:l.preview)||{},r=(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:r}}class uo extends sz.S0{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"default",title:(0,z.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}uo.define({label:(0,z.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),uo.registerFlow({key:"clickSettings",on:"click",title:(0,z.tExpr)("Click settings"),steps:{runJs:{title:(0,z.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":ur.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:`
440
440
  ctx.message.info('Hello JS action.');
441
441
  `}),async handler(e,t){let{code:l,version:n}=ui(e,t),r=(0,z.createSafeNavigator)();await e.runjs(l,{window:(0,z.createSafeWindow)({navigator:r}),document:(0,z.createSafeDocument)(),navigator:r},{version:n})}}}});class ua extends sz.S0{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}(0,w._)(ua,"scene",sz.s5.collection),ua.define({label:(0,z.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSCollectionActionModel"}}),ua.registerFlow({key:"clickSettings",on:"click",title:(0,z.tExpr)("Click settings"),steps:{runJs:{title:(0,z.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":ur.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:`
442
442
  const rows = ctx.resource?.getSelectedRows?.() || [];
@@ -528,14 +528,14 @@ if (!ctx.record) {
528
528
  overflow: hidden;
529
529
  text-overflow: ellipsis;
530
530
  }
531
- `,children:e.label}),dropdownRender:e=>{let t=m.some(e=>e[l.label]===p.searchText);return(0,V.jsx)(V.Fragment,{children:"quickAdd"===a&&d&&u&&p.searchText?(0,V.jsxs)(V.Fragment,{children:[!(0===m.length&&p.searchText)&&e,m.length>0&&p.searchText&&!t&&(0,V.jsx)(no.A,{style:{margin:0}}),!t&&(0,V.jsx)(y,{searchText:p.searchText})]}):e})}}),"modalAdd"===a&&(d&&u||g)&&(d&&u?(0,V.jsx)(nE.Ay,{onClick:p.onModalAddClick,children:v("Add new")}):(0,V.jsx)(sz._T,{forbidden:{actionName:"create"},collection:null==f||null==(t=f.collectionField)?void 0:t.targetCollection,message:b,children:(0,V.jsx)(nE.Ay,{onClick:p.onModalAddClick,disabled:!u,style:{opacity:"0.3"},children:v("Add new")})}))]})};class pV extends cW{buildValueOptionsSyncKey(){var e,t,l,n,r,i,o,a,s,d,u,c,p;if("value"!==((null==(e=this.props)?void 0:e.valueMode)||"record"))return null;let h=(null==(t=this.props)?void 0:t.fieldNames)||{},m=(null==(n=this.context.collectionField)||null==(l=n.targetCollection)?void 0:l.filterTargetKey)||"id",f=(null==h?void 0:h.value)||"id",g=!!((null==(r=this.props)?void 0:r.multiple)&&(null==(i=this.props)?void 0:i.allowMultiple)),v=cC(null==(o=this.props)?void 0:o.options,null==(a=this.props)?void 0:a.value,g),y=null==(c=this.context.collectionField)||null==(u=c.targetCollection)||null==(d=u.getField)||null==(s=d.call(u,m))?void 0:s.type,b=pO(null==(p=this.props)?void 0:p.value,v,m,f,g,y);if(!b.length)return null;let x=new Set(v.map(e=>null==e?void 0:e[m]).filter(e=>null!=e)),w=b.filter(e=>!x.has(e));return w.length?`${m}::${w.slice().sort().join(",")}`:null}ensureValueOptionsSynced(){let e=this.buildValueOptionsSyncKey();!e||e===this.valueOptionsSyncedKey||this.valueOptionsSyncTask&&this.valueOptionsSyncKey===e||(this.valueOptionsSyncKey=e,this.valueOptionsSyncTask=this.applyFlow("syncValueOptions").then(()=>{this.valueOptionsSyncedKey=e}).finally(()=>{this.valueOptionsSyncKey===e&&(this.valueOptionsSyncTask=null)}))}async onDispatchEventStart(e){"beforeRender"===e&&this.ensureValueOptionsSynced()}getFilterValue(){if("value"===(this.props.valueMode||"record")){var e,t;let l=(null==(t=this.props)||null==(e=t.fieldNames)?void 0:e.value)||"id",n=e=>null==e?e:"object"==typeof e?(null==e?void 0:e[l])??(null==e?void 0:e.value):e;return Array.isArray(this.props.value)?this.props.value.map(e=>n(e)).filter(e=>null!=e&&""!==e):n(this.props.value)}return super.getFilterValue()}render(){return this.context.isMobileLayout?(0,V.jsx)(cT,{...this.props,loading:this.resource.loading}):(0,V.jsx)(pL,{...this.props})}constructor(...e){super(...e),(0,w._)(this,"valueOptionsSyncKey",null),(0,w._)(this,"valueOptionsSyncedKey",null),(0,w._)(this,"valueOptionsSyncTask",null)}}pV.registerFlow({key:"syncValueOptions",sort:780,steps:{syncByValue:{async handler(e){var t,l,n,r,i,o,a,s,d,u,c,p,h,m,f;if("value"!==((null==(t=e.model.props)?void 0:t.valueMode)||"record"))return;let g=(null==(l=e.model.props)?void 0:l.fieldNames)||{},v=(null==(r=e.model.context.collectionField)||null==(n=r.targetCollection)?void 0:n.filterTargetKey)||"id",y=(null==g?void 0:g.value)||"id",b=!!((null==(i=e.model.props)?void 0:i.multiple)&&(null==(o=e.model.props)?void 0:o.allowMultiple)),x=cC(null==(a=e.model.props)?void 0:a.options,null==(s=e.model.props)?void 0:s.value,b),w=null==(p=e.model.context.collectionField)||null==(c=p.targetCollection)||null==(u=c.getField)||null==(d=u.call(c,v))?void 0:d.type,S=pO(null==(h=e.model.props)?void 0:h.value,x,v,y,b,w);if(!S.length)return;let M=new Set(x.map(e=>null==e?void 0:e[v]).filter(e=>null!=e)),A=S.filter(e=>!M.has(e));if(!A.length)return;let F=e.model.resource;if(!F||"function"!=typeof(null==F?void 0:F.addFilterGroup)||"function"!=typeof(null==F?void 0:F.refresh))return;let k=1===A.length?{[`${v}.$eq`]:A[0]}:{[`${v}.$in`]:A};try{F.addFilterGroup(p_,k),await F.refresh();let t=(null==(m=F.getData)?void 0:m.call(F))||[];if(!Array.isArray(t)||!t.length)return;let l=p$(x,t,v);if(!(l.length!==x.length||l.some((e,t)=>{var l;return(null==e?void 0:e[v])!==(null==x||null==(l=x[t])?void 0:l[v])})))return;e.model.setDataSource(l)}finally{null==(f=F.removeFilterGroup)||f.call(F,p_)}}}}}),pV.registerFlow({key:"selectSettings",title:(0,z.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},valueFieldOverride:{handler(e){let t=e.model.props.recordSelectValueField;if(!t)return;let l={...e.model.props.fieldNames||{},value:t};e.model.setProps({fieldNames:l})}},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,z.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type),defaultParams:e=>"boolean"==typeof e.model.props.allowMultiple?{allowMultiple:e.model.props.allowMultiple}:{allowMultiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)},handler(e,t){var l,n;let r=(null==e||null==(n=e.blockModel)||null==(l=n.constructor)?void 0:l.scene)===dS.P.filter,i="boolean"==typeof e.model.props.allowMultiple?e.model.props.allowMultiple:null==t?void 0:t.allowMultiple;r&&"boolean"==typeof i?e.model.setProps({allowMultiple:i,multiple:i}):e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple,multiple:null==t?void 0:t.allowMultiple})}},quickCreate:{title:(0,z.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)===dS.P.filter},defaultParams:{quickCreate:"none"},handler(e,t){e.model.setProps({quickCreate:t.quickCreate})}}}});class pq extends sz.S0{}class pz extends sL{}(0,w._)(pz,"baseClass",pq);var pK=l(25359),pU=l(29676),pW=l(65421),pH=l(50314);let pG=["filterFormItemSettings"],pY=(0,pH.li)(pG),pJ=(0,pH.u4)(pG);function pX(e){return(0,pH.TE)(e,pY)}function pQ(e){return(0,pH.Co)(e,pY,pJ)}let pZ=["belongsTo","hasOne","hasMany","belongsToMany","belongsToArray"],p0=["integer","float","double","decimal"];function p1(e){if(pZ.includes(e.type))return"object";if(p0.includes(e.type))return"number";switch(e.type){case"boolean":return"boolean";case"json":return"object";case"array":return"array";default:return"string"}}function p2(e){return!!(null==e?void 0:e.interface)}function p5(e){var t;let l={title:e.title||e.name,interface:e.interface,options:e.options,uiSchema:e.uiSchema||{}};if(!(null==(t=e.isAssociationField)?void 0:t.call(e)))return{type:p1(e),...l};let n=e.targetCollection;return n?{type:"object",...l,properties:async()=>{let e={};return n.fields.forEach(t=>{p2(t)&&(e[t.name]=p5(t))}),e}}:{type:"object",...l}}function p4(e){var t;let l=null==e||null==(t=e.props)?void 0:t.name;return"string"==typeof l&&l?l:(null==e?void 0:e.fieldPath)&&(null==e?void 0:e.uid)?`${e.fieldPath}_${e.uid}`:void 0}function p8(e,t){if(null==e)return;if(Array.isArray(t)){if("object"!=typeof e)return;let l={};for(let n of t){let t=null==e?void 0:e[n];if(null==t)return;l[n]=t}return l}if("object"!=typeof e)return e;let l=Array.isArray(t)?t[0]:t;return l?null==e?void 0:e[l]:null==e?void 0:e.id}function p3(e,t,l){let n=t.split(".").filter(Boolean);if(!n.length)return;let r=e;n.forEach((e,t)=>{if(t===n.length-1){r[e]=l;return}(!r[e]||"object"!=typeof r[e]||Array.isArray(r[e]))&&(r[e]={}),r=r[e]})}function p6(e,t,l){let n=t.split(".").filter(Boolean);if(!n.length)return;let r=e;n.forEach((e,t)=>{if(t===n.length-1){r[e]=l;return}let i=r[e];i&&"object"==typeof i||(r[e]={type:"object",title:e,properties:{}});let o=r[e].properties;o&&"function"!=typeof o||(r[e].properties={}),r=r[e].properties})}function p9(e,t){var l;let n=(null==e||null==(l=e.getFieldsValue)?void 0:l.call(e))||{},r={...n};for(let e of t){let t=p4(e);t&&t.includes(".")&&t in n&&p3(r,t,n[t])}return r}function p7(e,t){return t===e||t.startsWith(`${e}.`)||t.startsWith(`${e}[`)}function he(e,t){return t.startsWith(`${e}.`)||t.startsWith(`${e}[`)}function ht(e,t){return t&&e.find(e=>{let l=p4(e);return l&&p7(l,t)})||null}class hl extends dC{get form(){return this.context.form}get title(){return"Filter form"}createFormValuesMetaFactory(){let e=async()=>({type:"object",title:this.translate("Current form"),properties:async()=>{var e,t,l,n,r,i;let o={};for(let a of(null==(l=this.subModels)||null==(t=l.grid)||null==(e=t.subModels)?void 0:e.items)||[]){let e=p4(a),t=(null==a||null==(i=a.subModels)||null==(r=i.field)||null==(n=r.context)?void 0:n.collectionField)||(null==a?void 0:a.collectionField);e&&t&&p2(t)&&p6(o,e,p5(t))}return o},buildVariablesParams:()=>{var e,t,l,n,r,i,o,a,s;let d=(null==(t=this.form)||null==(e=t.getFieldsValue)?void 0:e.call(t))||{},u=(null==(r=this.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items)||[],c={};for(let e of u){let t=p4(e),l=(null==e||null==(a=e.subModels)||null==(o=a.field)||null==(i=o.context)?void 0:i.collectionField)||(null==e?void 0:e.collectionField);if(!t||!(null==l||null==(s=l.isAssociationField)?void 0:s.call(l)))continue;let n=l.targetCollection,r=l.target;if(!n||!r)continue;let u=d[t],p=n.filterTargetKey;if(Array.isArray(u)){let e=u.map(e=>p8(e,p)).filter(e=>null!=e);e.length&&p3(c,t,{collection:r,dataSourceKey:n.dataSourceKey,filterByTk:e});continue}let h=p8(u,p);null!=h&&p3(c,t,{collection:r,dataSourceKey:n.dataSourceKey,filterByTk:h})}return c}});return e.title=this.translate("Current form"),e}useHooksBeforeRender(){let[e]=u$.A.useForm();this.context.defineProperty("form",{get:()=>e,cache:!1}),this.context.defineProperty("formValues",{get:()=>{var e,t,l;return p9(this.form,(null==(l=this.subModels)||null==(t=l.grid)||null==(e=t.subModels)?void 0:e.items)||[])},cache:!1,meta:this.createFormValuesMetaFactory(),resolveOnServer:e=>{var t,l,n,r,i,o,a;let s=ht((null==(n=this.subModels)||null==(l=n.grid)||null==(t=l.subModels)?void 0:t.items)||[],e);if(!s)return!1;let d=p4(s),u=(null==s||null==(o=s.subModels)||null==(i=o.field)||null==(r=i.context)?void 0:r.collectionField)||(null==s?void 0:s.collectionField);return!!(d&&he(d,e)&&(null==u||null==(a=u.isAssociationField)?void 0:a.call(u))&&(null==u?void 0:u.targetCollection))},serverOnlyWhenContextParams:!0})}async saveStepParams(){return await (0,pK.ON)(this,async()=>await super.saveStepParams())}addAppends(){}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineMethod("refreshTargets",async e=>{let t=this.subModels.grid.subModels.items,l=null==t?void 0:t.map(e=>null==e?void 0:e.uid).filter(Boolean);if(null==l?void 0:l.length){let t=this.context.filterManager;await t.refreshTargetsByFilter(l,e)}})}onMount(){super.onMount(),this.context.defineProperty("filterFormGridModel",{value:this.subModels.grid}),this.applyDefaultsAndInitialFilter();let e=this.context.blockGridModel;if(null==e?void 0:e.emitter){let t=e=>{(null==e?void 0:e.uid)&&e.uid!==this.uid&&this.handleTargetBlockRemoved(e.uid).catch(e=>{console.error("Failed to handle destroyed target block in FilterFormBlockModel:",e)})};e.emitter.on("onSubModelDestroyed",t),this.removeTargetBlockListener=()=>e.emitter.off("onSubModelDestroyed",t)}}onUnmount(){var e,t;null==(e=(t=this).removeTargetBlockListener)||e.call(t),super.onUnmount()}async applyDefaultsAndInitialFilter(){if(await this.prepareInitialFilterValues()){var e,t;await (null==(e=(t=this.context).refreshTargets)?void 0:e.call(t,{excludeTargetIds:this.initialRefreshHandledTargetIds}))}}async prepareInitialFilterValues(){return!!this.form&&(this.initialDefaultsPromise||(this.initialDefaultsPromise=(async()=>{await this.ensureFilterItemsBeforeRender(),await this.applyFormDefaultValues()})()),await this.initialDefaultsPromise,!0)}markInitialTargetRefreshHandled(e){e&&this.initialRefreshHandledTargetIds.add(e)}async ensureFilterItemsBeforeRender(){var e,t;let l=null==(e=this.subModels)?void 0:e.grid,n=(null==l||null==(t=l.subModels)?void 0:t.items)||[];if(Array.isArray(n)&&0!==n.length)for(let e of n)"function"==typeof(null==e?void 0:e.dispatchEvent)&&await e.dispatchEvent("beforeRender")}canApplyFormDefaultValue(e,t,l){return!!(l||(0,pW.Po)(t))||!!this.lastDefaultValueByFieldName.has(e)&&(0,K.isEqual)(t,this.lastDefaultValueByFieldName.get(e))}canApplyFormOverrideValue(e,t){return!!t||!this.userEditedFieldNames.has(e)}normalizeFieldValueMode(e){return"assign"===e?"assign":"override"===e?"override":"default"}markFilterFormUserEditedFields(e){if(!(!e||"object"!=typeof e||Array.isArray(e)))for(let t of Object.keys(e))this.userEditedFieldNames.add(String(t))}resetFilterFormUserEditedFields(){this.userEditedFieldNames.clear()}async matchDefaultValueCondition(e){if(!e)return!0;let t=e;try{var l,n;let r=await (null==(l=(n=this.context).resolveJsonTemplate)?void 0:l.call(n,e));void 0!==r&&(t=r)}catch{t=e}return(0,pU.F)(this.context,t)}async applyFormDefaultValues(e){var t,l,n,r,i,o,a;let s={},d=this.form;if(!d)return s;let u=(null==e?void 0:e.force)===!0;u&&this.resetFilterFormUserEditedFields();let c=null==(t=(l=this).getStepParams)?void 0:t.call(l,"formFilterBlockModelSettings","defaultValues"),p=(null==c?void 0:c.value)||[];if(!Array.isArray(p)||0===p.length)return s;let h=async e=>{var t,l;if((0,z.isRunJSValue)(e)){let{code:t,version:l}=(0,z.normalizeRunJSValue)(e),n=await (0,z.runjsWithSafeGlobals)(this.context,t,{version:l});return(null==n?void 0:n.success)?n.value:void 0}return await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e))};for(let t of p){if(!t||"object"!=typeof t||!1===t.enable||!await this.matchDefaultValueCondition(t.condition))continue;if((null==e?void 0:e.refreshSeq)&&e.refreshSeq!==this.defaultValuesRefreshSeq)break;let l=t.targetPath?String(t.targetPath).trim():"",c=t.field?String(t.field).trim():"",p=(l?(0,uG.eo)(this,l):null)??(c?null==(i=this.context)||null==(r=i.engine)||null==(n=r.getModel)?void 0:n.call(r,c):null);if(!p)continue;let m="function"==typeof p.getProps?p.getProps():p.props,f=(null==m?void 0:m.name)??(p.fieldPath?`${p.fieldPath}_${p.uid}`:void 0);if(!f)continue;let g=null==(o=d.getFieldValue)?void 0:o.call(d,f),v=await h(t.value);if((null==e?void 0:e.refreshSeq)&&e.refreshSeq!==this.defaultValuesRefreshSeq)break;if(void 0===v)continue;let y=s1(p),b=(0,pR.S)(y,v),x=this.normalizeFieldValueMode(t.mode);if(("default"!==x||this.canApplyFormDefaultValue(String(f),g,u))&&("override"!==x||this.canApplyFormOverrideValue(String(f),u))){if((0,K.isEqual)(g,b)){"default"===x?this.lastDefaultValueByFieldName.set(String(f),b):this.lastDefaultValueByFieldName.delete(String(f));continue}"function"==typeof d.setFieldValue?d.setFieldValue(f,b):null==(a=d.setFieldsValue)||a.call(d,{[String(f)]:b}),"default"===x?this.lastDefaultValueByFieldName.set(String(f),b):this.lastDefaultValueByFieldName.delete(String(f)),s[String(f)]=b}}return s}handleFilterFormValuesChange(e,t){this.markFilterFormUserEditedFields(e);let l=++this.defaultValuesRefreshSeq;(async()=>{var n,r;let i=await this.applyFormDefaultValues({refreshSeq:l});if(l!==this.defaultValuesRefreshSeq)return;let o={changedValues:{...e||{},...i||{}},allValues:(null==(r=this.form)||null==(n=r.getFieldsValue)?void 0:n.call(r))||t};this.dispatchEvent("formValuesChange",o,{debounce:!0}),this.emitter.emit("formValuesChange",o)})().catch(e=>{console.error("Failed to refresh filter form default values:",e)})}async handleTargetBlockRemoved(e){let t=this.context.filterManager;for(let l of[...this.subModels.grid.subModels.items||[]]){let n=t.getConnectFieldsConfig(l.uid),r=(null==n?void 0:n.targets)||[],i=r.some(t=>t.targetId===e),o=l.defaultTargetUid===e;if(!i&&!o)continue;let a=r.filter(t=>t.targetId!==e);if(a.length>0){await t.saveConnectFieldsConfig(l.uid,{targets:a});continue}await t.removeFilterConfig({filterId:l.uid}),await l.destroy()}}async destroy(){var e;let t=this.context.filterManager;return null==(e=this.subModels.grid.subModels.items)||e.map(e=>{t.removeFilterConfig({filterId:e.uid,persist:!1})}),await super.destroy()}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:n,layout:r}=this.props,i=!!this.context.flowSettingsEnabled;return(0,V.jsxs)(uB.s2,{model:this,onFinish:()=>{this.context.refreshTargets()},onValuesChange:(e,t)=>this.handleFilterFormValuesChange(e,t),layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:n,layout:r},children:[(0,V.jsx)(z.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),(0,V.jsx)(z.DndProvider,{children:(0,V.jsxs)(iP.FormButtonGroup,{align:"right",children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,V.jsx)(z.Droppable,{model:e,children:(0,V.jsx)(z.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:z.DragHandler,sort:1}]},e.uid)},e.uid)}),(0,V.jsx)(z.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:"FilterFormActionGroupModel",children:(0,V.jsx)(z.FlowSettingsButton,{icon:(0,V.jsx)(nj.A,{}),children:this.translate("Actions")})},"filter-form-actions-add")]})})]})}constructor(...e){super(...e),(0,w._)(this,"autoTriggerFilter",!0),(0,w._)(this,"removeTargetBlockListener",void 0),(0,w._)(this,"initialDefaultsPromise",void 0),(0,w._)(this,"initialRefreshHandledTargetIds",new Set),(0,w._)(this,"lastDefaultValueByFieldName",new Map),(0,w._)(this,"userEditedFieldNames",new Set),(0,w._)(this,"defaultValuesRefreshSeq",0)}}(0,w._)(hl,"scene",dS.P.filter),hl.define({label:(0,z.tExpr)("Form"),createModelOptions:{use:"FilterFormBlockModel",subModels:{grid:{use:"FilterFormGridModel"}}}}),hl.registerFlow({key:"formFilterBlockModelSettings",title:(0,z.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,z.tExpr)("Layout")},defaultValues:{use:"filterFormDefaultValues",title:(0,z.tExpr)("Field values"),beforeParamsSave(e){let t=pQ(e.model);Array.isArray(t)&&t.length&&(0,pK.jI)(e.model)},afterParamsSave(e){var t,l;null==(l=e.model)||null==(t=l.applyFormDefaultValues)||t.call(l,{force:!0}).then(()=>{var t,l,n;return null==(n=e.model)||null==(l=n.context)||null==(t=l.refreshTargets)?void 0:t.call(l)})}}}}),hl.registerEvents({formValuesChange:{title:(0,z.tExpr)("Form values change"),name:"formValuesChange",uiSchema:{condition:{type:"object",title:(0,z.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":dE.H}},handler:dE.b}});var hn=l(32731),hr=l(63718);let hi=(0,q.observable)({collapsed:!1}),ho=(0,z.observer)(()=>{let e=(0,z.useFlowModel)(),t={...e.defaultProps,...e.props},l=()=>{e.dispatchEvent("collapseToggle")};return(0,V.jsx)(nE.Ay,{...t,onClick:l,icon:(0,V.jsx)(hn.A,{rotate:180*!hi.collapsed}),iconPosition:"end",children:hi.collapsed?e.translate("Expand button"):e.translate("Collapse button")})});class ha extends pq{onMount(){var e,t;super.onMount();let l=(null==(e=this.getStepParams("collapseSettings","defaultCollapsed"))?void 0:e.value)||!1,n=(null==(t=this.getStepParams("collapseSettings","toggle"))?void 0:t.collapsedRows)||1;hi.collapsed=l,this.context.filterFormGridModel.toggleFormFieldsCollapse(hi.collapsed,n)}render(){return(0,V.jsx)(ho,{})}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link"}),(0,w._)(this,"enableEditTitle",!1),(0,w._)(this,"enableEditIcon",!1)}}ha.registerFlow({key:"collapseSettings",title:(0,z.tExpr)("Collapse settings"),on:"collapseToggle",steps:{toggle:{title:(0,z.tExpr)("Collapsed rows"),uiSchema:{collapsedRows:{type:"number","x-decorator":"FormItem","x-component":hr.A,"x-component-props":{min:1,max:10,placeholder:(0,z.tExpr)("Enter number of rows to display")},default:1}},async handler(e,t){let l=t.collapsedRows||1;hi.collapsed=!hi.collapsed,e.model.context.filterFormGridModel.toggleFormFieldsCollapse(hi.collapsed,l)}},defaultCollapsed:{title:(0,z.tExpr)("Default collapsed"),uiSchema:{value:{type:"boolean","x-decorator":"FormItem","x-component":"Switch"}},beforeParamsSave(e,t){var l;hi.collapsed=t.value||!1;let n=(null==(l=e.model.getStepParams("collapseSettings","toggle"))?void 0:l.collapsedRows)||1;e.model.context.filterFormGridModel.toggleFormFieldsCollapse(hi.collapsed,n)},handler(e,t){}}}}),ha.define({label:(0,z.tExpr)("Collapse button"),toggleable:!0,sort:300}),ha.registerEvents({collapseToggle:{title:(0,z.tExpr)("Collapse / Expand toggle"),name:"collapseToggle",uiSchema:{condition:{type:"object",title:(0,z.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":dE.H}},handler:dE.b}});let hs=(e,t,l)=>{var n,r,i;if(null==e?void 0:e.targetCollection)return e.targetCollection;let o=null==e?void 0:e.target;if(!o)return;if(null==t||null==(n=t.dataSource)?void 0:n.getCollection)return t.dataSource.getCollection(o);let a=null==t?void 0:t.dataSourceKey;if(a&&(null==l||null==(i=l.context)||null==(r=i.dataSourceManager)?void 0:r.getCollection))return l.context.dataSourceManager.getCollection(a,o)},hd=(e,t,l)=>{let n=hs(e,t,l);return(null==n?void 0:n.getFields)?(n.getFields()||[]).filter(e=>null==e?void 0:e.filterable):[]},hu=2;function hc(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}let hp=(e,t)=>{var l,n,r;let i=null==t||null==(l=t.context)?void 0:l.collectionField;if(!(null==i||null==(n=i.isAssociationField)?void 0:n.call(i)))return e;let o=cS((null==t||null==(r=t.props)?void 0:r.fieldNames)||(null==i?void 0:i.fieldNames),null==i?void 0:i.targetCollection).value,a=e=>{let t=e&&"object"==typeof e&&void 0!==(null==e?void 0:e.data)?e.data:e;return t&&"object"==typeof t?void 0!==(null==t?void 0:t[o])?t[o]:void 0!==(null==t?void 0:t.id)?t.id:void 0!==(null==t?void 0:t.value)?t.value:t:t};return Array.isArray(e)?e.map(a):a(e)},hh=e=>{let t=e=>{let t=e&&"object"==typeof e&&void 0!==(null==e?void 0:e.data)?e.data:e;return!!t&&"object"==typeof t};return Array.isArray(e)?e.some(t):t(e)},hm=e=>["belongsTo","hasOne"].includes(null==e?void 0:e.type)||["m2o","o2o","oho","obo","updatedBy","createdBy"].includes(null==e?void 0:e.interface),hf=(e,t)=>{var l,n;return(null==e||null==(l=e.props)?void 0:l.allowMultiple)===!0||(null==e||null==(n=e.props)?void 0:n.multiple)===!0||!hm(t)},hg=(e,t)=>{var l,n,r;if(!t)return;let i=(null==t?void 0:t.title)||(null==t?void 0:t.name),o=null==t?void 0:t.interface,a=o?null==e||null==(r=e.dataSourceManager)||null==(n=r.collectionFieldInterfaceManager)||null==(l=n.getFieldInterface)?void 0:l.call(n,o):void 0;return{...t,title:i,uiSchema:{...(null==t?void 0:t.uiSchema)||{},title:i},filterable:(null==t?void 0:t.filterable)||(null==a?void 0:a.filterable),isAssociationField:"function"==typeof(null==t?void 0:t.isAssociationField)?t.isAssociationField:()=>!!(null==t?void 0:t.target),getComponentProps:"function"==typeof(null==t?void 0:t.getComponentProps)?t.getComponentProps:()=>({})}},hv=e=>{var t,l;let{model:n,collection:r,ctxWithFlags:i,field:o,fieldPath:a,labelPrefix:s}=e,d=z.FilterableItemModel.getDefaultBindingByField(i,o);if(!d)return;let u=("function"==typeof(null==o?void 0:o.isAssociationField)?o.isAssociationField():!!(null==o?void 0:o.target))&&(null==(l=i.engine)||null==(t=l.getModelClass)?void 0:t.call(l,"FilterFormRecordSelectFieldModel"))?"FilterFormRecordSelectFieldModel":d.modelName,c=o.title||o.name;return{key:a,label:s?`${s} / ${c}`:c,useModel:"FilterFormItemModel",refreshTargets:["FilterFormCustomItemModel"],createModelOptions:()=>({use:"FilterFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==r?void 0:r.dataSourceKey,collectionName:null==r?void 0:r.name,fieldPath:a}},filterFormItemSettings:{init:{filterField:U().pick(o,["name","title","interface","type"]),defaultTargetUid:n.uid}}},subModels:{field:{use:u,props:"function"==typeof d.defaultProps?d.defaultProps(n.context,o):d.defaultProps}}})}},hy=e=>{var t;let{model:l,collection:n,ctxWithFlags:r,field:i,fieldPath:o,depth:a}=e;if(!hs(i,n,l)||a>hu)return;let s=i.title||i.name,d=(null==(t=l.context)?void 0:t.t)||(null==r?void 0:r.t)||(e=>e);return{key:`${o}-associationField`,label:s,children:async()=>{let e=hd(i,n,l),t=[],s=[];e.forEach(e=>{let i=`${o}.${e.name}`;if(null==e?void 0:e.targetCollection){let t=hy({model:l,collection:n,ctxWithFlags:r,field:e,fieldPath:i,depth:a+1});t&&s.push(t);return}let d=hv({model:l,collection:n,ctxWithFlags:r,field:e,fieldPath:i});d&&t.push(d)});let u=[];return(t.length&&u.push({key:`${o}-fields`,label:d("Fields"),type:"group",searchable:!0,searchPlaceholder:d("Search fields"),children:t}),s.length&&u.push({key:`${o}-relation-fields`,label:d("Association fields"),type:"group",searchable:!0,searchPlaceholder:d("Search association fields"),children:s}),u.length)?u:[{key:`${o}-empty`,label:(0,V.jsx)(nk.A,{style:{width:140},description:d("No data"),image:nk.A.PRESENTED_IMAGE_SIMPLE}),disabled:!0}]}}},hb=async e=>{var t,l;let n=e.collection||e.context.collection,r=await (null==e||null==(t=e.getFilterFields)?void 0:t.call(e))||[],i=new z.FlowModelContext(e);i.addDelegate(e.context),i.defineProperty("flags",{value:{...null==(l=e.context)?void 0:l.flags,isInFilterFormBlock:!0}});let o=[],a=[];return r.forEach(t=>{let l=t.name,r=hv({model:e,collection:n,ctxWithFlags:i,field:t,fieldPath:l});if(r&&o.push(r),null==t?void 0:t.targetCollection){let r=hy({model:e,collection:n,ctxWithFlags:i,field:t,fieldPath:l,depth:1});r&&a.push(r)}}),{baseItems:o.filter(Boolean),relationItems:a.filter(Boolean)}};class hx extends z.FilterableItemModel{static defineChildren(e){let t=e.blockGridModel;if(!t)return[];let l=s5(t);return 0===l.length?[{key:"no-data-blocks",label:(0,V.jsx)(nk.A,{style:{width:140},description:e.t("Please add a data block on the page first"),image:nk.A.PRESENTED_IMAGE_SIMPLE}),disabled:!0}]:l.map(t=>({key:t.uid,label:(0,V.jsx)("span",{style:{margin:"-5px -24px -5px -12px",padding:"5px 24px 5px 12px"},onMouseEnter:()=>{var e;let l=null==(e=t.context.ref)?void 0:e.current;l instanceof HTMLElement&&(l.style.outline=`2px solid ${t.context.themeToken.colorPrimaryBorder}`)},onMouseLeave:()=>{var e;let l=null==(e=t.context.ref)?void 0:e.current;l instanceof HTMLElement&&(l.style.outline="none")},children:`${t.title} #${t.uid.substring(0,4)}`}),children:async()=>{let{baseItems:l,relationItems:n}=await hb(t),r=[{key:"fields",label:e.t("Fields"),type:"group",searchable:!0,searchPlaceholder:e.t("Search fields"),children:l}];return n.length&&r.push({key:"relation-fields",label:e.t("Association fields"),type:"group",searchable:!0,searchPlaceholder:e.t("Search association fields"),children:n}),[...r]}}))}get defaultTargetUid(){return this.getStepParams("filterFormItemSettings","init").defaultTargetUid}getCurrentOperatorMeta(){return s0(this,s1(this))}onInit(e){var t;super.onInit(e),this.debouncedDoFilter=(0,K.debounce)(this.doFilter.bind(this),300);let l=null==(t=this.getStepParams("filterFormItemSettings","init"))?void 0:t.filterField;l&&this.context.defineProperty("filterField",{value:{...l,title:(null==l?void 0:l.title)||(null==l?void 0:l.name)}})}onMount(){super.onMount(),this.mounted=!0}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 r=this.subModels.field,i=null==(e=this.context.form)?void 0:e.getFieldValue(this.props.name),o=r.getFilterValue?r.getFilterValue():i,a=null==r||null==(t=r.context)?void 0:t.collectionField,s=("function"==typeof(null==a?void 0:a.isAssociationField)?a.isAssociationField():!!(null==a?void 0:a.target))&&!this.mounted&&!s2(i)&&hh(i)&&!hh(o),d=s2(o)&&!s2(i),u=s||d?i:o,c=u;this.mounted||(c=hp(U().isEmpty(u)?this.getDefaultValue():u,null==(l=this.subModels)?void 0:l.field));let p=s1(this);c=this.normalizeAssociationFilterValue(c,r);let h=this.getCurrentOperatorMeta();if(null==h?void 0:h.noValue){let e=null==h||null==(n=h.schema)?void 0:n["x-component-props"];return!Array.isArray(hc(e)?e.options:void 0)||c}return(0,pR.S)(p,c)}normalizeAssociationFilterValue(e,t){var l,n;if(null==e)return e;let r=null==t||null==(l=t.context)?void 0:l.collectionField;if(!("function"==typeof(null==r?void 0:r.isAssociationField)?r.isAssociationField():!!(null==r?void 0:r.target)))return e;let i=cS((null==t||null==(n=t.props)?void 0:n.fieldNames)||(null==r?void 0:r.fieldNames),null==r?void 0:r.targetCollection).value;if(Array.isArray(e)){if(0===e.length)return e;let l=e.map(e=>e&&"object"==typeof e?e[i]:e);return hf(t,r)?l:l[0]}return"object"==typeof e?null==e?void 0:e[i]:e}getDefaultValue(){var e;return null==(e=this.getStepParams("filterFormItemSettings","initialValue"))?void 0:e.defaultValue}getValueProps(e){return this.context.blockModel.autoTriggerFilter&&(this.autoTriggerInitialized?(0,K.isEqual)(this.lastAutoTriggerValue,e)||(this.lastAutoTriggerValue=(0,K.cloneDeep)(e),this.debouncedDoFilter()):(this.autoTriggerInitialized=!0,this.lastAutoTriggerValue=(0,K.cloneDeep)(e))),{value:e,onKeyDown:this.handleEnterPress.bind(this),isRange:"$dateBetween"===this.operator}}renderItem(){let e=this.subModels.field;return(0,V.jsx)(z.FormItem,{...this.props,getValueProps:this.getValueProps.bind(this),children:(0,V.jsx)(z.FieldModelRenderer,{model:e})})}constructor(...e){super(...e),(0,w._)(this,"operator",void 0),(0,w._)(this,"mounted",!1),(0,w._)(this,"debouncedDoFilter",void 0),(0,w._)(this,"lastAutoTriggerValue",void 0),(0,w._)(this,"autoTriggerInitialized",!1),(0,w._)(this,"handleEnterPress",e=>{("Enter"===e.key||13===e.keyCode)&&(e.preventDefault(),this.doFilter())})}}hx.define({label:(0,z.tExpr)("Block list")}),hx.registerFlow({key:"filterFormItemSettings",sort:300,title:(0,z.tExpr)("Form item settings"),steps:{label:{title:(0,z.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l,n,r;let i=e.model,o=(null==(l=i.collectionField)?void 0:l.title)||(null==(n=e.filterField)?void 0:n.title)||(null==(r=e.filterField)?void 0:r.name)||i.fieldPath;t.decoratorProps={...t.decoratorProps,extra:i.context.t("Original field title: ")+o}}}}),defaultParams:e=>{var t,l,n;return{label:(null==(t=e.collectionField)?void 0:t.title)||(null==(l=e.filterField)?void 0:l.title)||(null==(n=e.filterField)?void 0:n.name)}},handler(e,t){var l,n,r;let i=(null==(l=e.collectionField)?void 0:l.title)||(null==(n=e.filterField)?void 0:n.title)||(null==(r=e.filterField)?void 0:r.name);t.label&&t.label===i?e.model.setProps({label:t.label}):e.model.setProps({label:e.t(t.label,{ns:"lm-flow-engine"})})}},init:{async handler(e,t){var l,n,r,i;let o=e.model,a=t.filterField?{...t.filterField,title:(null==(l=t.filterField)?void 0:l.title)||(null==(n=t.filterField)?void 0:n.name)}:t.filterField;e.model.context.defineProperty("filterField",{value:a}),e.model.setProps({name:`${o.fieldPath}_${e.model.uid}`});let s=o.collectionField,d=(null==(r=o.getFieldSettingsInitParams)?void 0:r.call(o))||{};if(!((null==d?void 0:d.dataSourceKey)&&(null==d?void 0:d.collectionName))&&!s&&a){let t=hg(e,a);t&&(e.model.context.defineProperty("collectionField",{value:t}),s=t)}if(null==s?void 0:s.getComponentProps){let t=s.getComponentProps(),l=(null==(i=e.model.subModels)?void 0:i.field)instanceof cW,{rules:n,required:r,multiple:o,allowMultiple:a,maxCount:d,...u}=t||{};e.model.setProps({...l?u:{...u,multiple:o,allowMultiple:a,maxCount:d},rules:void 0,required:void 0})}}},showLabel:{title:(0,z.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},tooltip:{title:(0,z.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,z.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"})})}},initialValue:{title:(0,z.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;return{defaultValue:{"x-component":"DefaultValue","x-decorator":"FormItem","x-component-props":{flags:{...(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.flags)||{},isInSetDefaultValueDialog:!0}}}}},handler(e,t){e.model.setProps({initialValue:t.defaultValue})}},model:{use:"fieldComponent",title:(0,z.tExpr)("Field component"),uiMode(e){let t=z.FilterableItemModel.getBindingsByField(e,e.collectionField),l=e.t;return{type:"select",key:"use",props:{options:t.map(e=>({label:l(e.modelName),value:e.modelName}))}}},hideInSettings(e){if(1===z.FilterableItemModel.getBindingsByField(e,e.collectionField).length)return!0}},connectFields:{use:"connectFields"},defaultOperator:{use:"defaultOperator"},operatorComponentProps:{use:"operatorComponentProps"},customizeFilterRender:{use:"customizeFilterRender"}}}),hx.registerFlow({key:"fieldSettings",title:(0,z.tExpr)("Field settings"),steps:{init:{handler(e,t){}}}});class hw extends df{getAssociationFilterTargetKey(e){var t;let l=null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey;return Array.isArray(l)?l[0]||"id":l||"id"}normalizeFilterFormLayout(e,t){let l=this.getStepParams(dp,dh)||{},n=(null==t?void 0:t.useVisibleItemUids)!==!1;return(0,z.normalizeGridLayout)({layout:(null==e?void 0:e.layout)??this.props.layout??l.layout,rows:(null==e?void 0:e.rows)??this.props.rows??l.rows,sizes:(null==e?void 0:e.sizes)??this.props.sizes??l.sizes,rowOrder:(null==e?void 0:e.rowOrder)??this.props.rowOrder??l.rowOrder,itemUids:n?this.normalizedItemUidsOverride??this.getItemUids():this.getItemUids(),gridUid:this.uid,logger:console})}normalizeStoredFullLayout(){let e=this.getStepParams(dp,dh)||{};return(0,z.normalizeGridLayout)({layout:this.fullLayoutBeforeCollapse??e.layout??this.props.layout,rows:e.rows??this.props.rows,sizes:e.sizes??this.props.sizes,rowOrder:e.rowOrder??this.props.rowOrder,itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}normalizeLayoutFromSource(e){return!e&&this.readingFullLayoutForSettingsInteraction?this.normalizeStoredFullLayout():this.normalizeFilterFormLayout(e,{useVisibleItemUids:!e&&!this.readingFullLayoutForSettingsInteraction})}getGridLayout(){return this.context.flowSettingsEnabled&&this.normalizedItemUidsOverride?this.normalizeStoredFullLayout():super.getGridLayout()}saveGridLayout(e){if(super.saveGridLayout(e),this.context.flowSettingsEnabled&&this.normalizedItemUidsOverride){let e=this.getStepParams(dp,dh)||{};this.fullLayoutBeforeCollapse=(0,z.normalizeGridLayout)({layout:e.layout??this.props.layout,rows:e.rows??this.props.rows,sizes:e.sizes??this.props.sizes,rowOrder:e.rowOrder??this.props.rowOrder,itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}}handleDragStart(e){this.readingFullLayoutForSettingsInteraction=!!(this.context.flowSettingsEnabled&&this.normalizedItemUidsOverride);try{super.handleDragStart(e)}finally{this.readingFullLayoutForSettingsInteraction=!1}}collectLayoutItemUids(e){let t=new Set,l=e=>{e.forEach(e=>{e.cells.forEach(e=>{var n,r;null==(n=e.items)||n.forEach(e=>{e&&this.flowEngine.getModel(e)&&t.add(e)}),(null==(r=e.rows)?void 0:r.length)&&l(e.rows)})})};return l(e),Array.from(t)}getCellVisibleRowCount(e){var t,l;return(null==(t=e.rows)?void 0:t.length)?e.rows.reduce((e,t)=>e+this.getRowVisibleRowCount(t),0):(null==(l=e.items)?void 0:l.length)||0}getRowVisibleRowCount(e){return e.cells.reduce((e,t)=>Math.max(e,this.getCellVisibleRowCount(t)),0)}limitCellByVisibleCount(e,t){var l;if(t<=0)return null;if(null==(l=e.rows)?void 0:l.length){let l=this.limitLayoutRowsByVisibleCount(e.rows,t);return l.length?{id:e.id,rows:l}:null}if(e.items){let l=e.items.slice(0,t);return l.length?{id:e.id,items:l}:null}return null}limitRowByVisibleCount(e,t){let l=e.cells.map((l,n)=>{var r;let i=this.limitCellByVisibleCount(l,t);return i?{cell:i,size:null==(r=e.sizes)?void 0:r[n]}:null}).filter(Boolean);return l.length?{id:e.id,cells:l.map(e=>e.cell),sizes:l.map(e=>e.size??1)}:null}limitLayoutRowsByVisibleCount(e,t){let l=[],n=t;return e.forEach(e=>{if(n<=0)return;let t=this.getRowVisibleRowCount(e),r=this.limitRowByVisibleCount(e,Math.min(t,n));r&&(l.push(r),n-=Math.min(t,n))}),l}getFullLayout(){let e=this.getStepParams(dp,dh)||{},t=this.props.layout?this.normalizeFilterFormLayout(void 0,{useVisibleItemUids:!1}):void 0,l=e.layout?this.normalizeFilterFormLayout(e,{useVisibleItemUids:!1}):void 0,n=t?(0,z.projectLayoutToLegacyRows)(t):{rows:this.props.rows||{},rowOrder:this.props.rowOrder},r=l?(0,z.projectLayoutToLegacyRows)(l):{rows:e.rows||{},rowOrder:e.rowOrder},i=n.rows,o=r.rows||{},a=Object.keys(i).length,s=Object.keys(o).length,d=e=>Object.values(e).reduce((e,t)=>e+t.reduce((e,t)=>e+t.length,0),0),u=d(i),c=d(o),p=a>s||a===s&&u>=c,h=this.mergeRowsWithItems(p?i:o),m=p?n.rowOrder||this.props.rowOrder||e.rowOrder:r.rowOrder||e.rowOrder||this.props.rowOrder;return{...this.normalizeRowsWithOrder(h,m),layout:p?t:l}}toggleFormFieldsCollapse(e,t){let{rows:l,rowOrder:n,layout:r}=this.getFullLayout();if(!e){this.normalizedItemUidsOverride=void 0;let e=this.fullLayoutBeforeCollapse||r;e?this.syncLayoutProps(e):(this.setProps("rows",l),this.setProps("rowOrder",n)),this.fullLayoutBeforeCollapse=void 0;return}this.fullLayoutBeforeCollapse||(this.fullLayoutBeforeCollapse=r||(0,z.normalizeGridLayout)({rows:l,rowOrder:n,itemUids:this.getItemUids()}));let i=r||(0,z.normalizeGridLayout)({rows:l,rowOrder:n,itemUids:this.getItemUids()}),o=(0,z.normalizeGridLayout)({layout:{version:2,rows:this.limitLayoutRowsByVisibleCount(i.rows,t)}});this.normalizedItemUidsOverride=this.collectLayoutItemUids(o.rows),this.syncLayoutProps(o),this.setProps("rowOrder",n)}async onModelCreated(e){if(!(e instanceof hx))return;let{fieldPath:t}=e.getFieldSettingsInitParams(),l=s5(e.context.blockGridModel).filter(t=>{var l;return!!(null==(l=t.resource)?void 0:l.supportsFilter)&&t.uid===e.defaultTargetUid});if(l.length>0){let n=l.map(e=>{let l=e.collection||e.context.collection;if(l){var n,r,i;let o;if(null==t?void 0:t.includes(".")){let i=`${l.dataSourceKey}.${l.name}.${t}`;o=null==(r=e.context.dataSourceManager)||null==(n=r.getCollectionField)?void 0:n.call(r,i)}if(o||(o=null==(i=l.getField)?void 0:i.call(l,t)),null==o?void 0:o.target)return{targetId:e.uid,filterPaths:[`${t}.${this.getAssociationFilterTargetKey(o)}`]}}return{targetId:e.uid,filterPaths:[t]}});await this.context.filterManager.saveConnectFieldsConfig(e.uid,{targets:n})}}renderAddSubModelButton(){var e,t,l;return this.loading.value?null:(0,V.jsx)(z.AddSubModelButton,{subModelKey:"items",model:this,afterSubModelInit:this.onModelCreated.bind(this),keepDropdownOpen:!0,subModelBaseClasses:["FilterFormItemModel","FilterFormCustomItemModel"],children:(0,V.jsx)(z.FlowSettingsButton,{icon:(0,V.jsx)(nj.A,{}),children:this.translate("Fields")})},null==(l=this.context.blockGridModel)||null==(t=l.subModels)||null==(e=t.items)?void 0:e.length)}constructor(...e){super(...e),(0,w._)(this,"fullLayoutBeforeCollapse",void 0),(0,w._)(this,"normalizedItemUidsOverride",void 0),(0,w._)(this,"readingFullLayoutForSettingsInteraction",!1),(0,w._)(this,"itemSettingsMenuLevel",2),(0,w._)(this,"itemFlowSettings",{showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}}),(0,w._)(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}}}),(0,w._)(this,"loading",z.observable.ref(!1))}}hw.registerFlow({key:"filterFormGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class hS extends pq{}hS.define({label:(0,z.tExpr)("JS action"),sort:9999}),hS.registerFlow({key:"clickSettings",on:"click",title:(0,z.tExpr)("Click settings"),steps:{runJs:{title:(0,z.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":ur.BY,"x-component-props":{minHeight:"400px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:""}),async handler(e,t){let{code:l,version:n}=ui(e,t),r=(0,z.createSafeNavigator)();await e.runjs(l,{window:(0,z.createSafeWindow)({navigator:r}),document:(0,z.createSafeDocument)(),navigator:r},{version:n})}}}});class hM extends pq{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Reset")})}}hM.registerFlow({key:"resetSettings",on:{eventName:"click"},steps:{doReset:{async handler(e,t){let l=e.model.context.blockModel,n=l.subModels.grid.subModels.items;e.form.resetFields(),setTimeout(()=>{var e;null==(e=l.applyFormDefaultValues)||e.call(l,{force:!0}).finally(()=>{n.forEach(e=>{e.doReset()})})})}}}}),hM.define({label:(0,z.tExpr)("Reset"),toggleable:!0,sort:200});class hA extends pq{onInit(e){super.onInit(e),this.context.blockModel.autoTriggerFilter=!1}onUnmount(){super.onUnmount(),this.context.blockModel.autoTriggerFilter=!0}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Filter"),type:"primary"})}}hA.registerFlow({key:"submitSettings",on:{eventName:"click"},steps:{doFilter:{async handler(e,t){e.form.submit()}}}}),hA.define({label:(0,z.tExpr)("Filter"),toggleable:!0,sort:100});var hF=l(53138),hk=l(94313),hC=l(54490);let hP=(0,z.defineAction)({name:"connectFields",title:(0,z.tExpr)("Connect fields"),uiSchema:e=>({value:{type:"object","x-component":hI}}),beforeParamsSave(e,t){U().isEmpty(t.value)||e.model.context.filterManager.saveConnectFieldsConfig(e.model.uid,t.value),e.exit()},handler(e,t){}}),hj=2,hE=e=>!!((null==e?void 0:e.target)||(null==e?void 0:e.targetCollection)),hR=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=n.filter(Boolean);return t.map(t=>{let a=l?`${l}.${t.name}`:t.name,s=t.title||t.name,d=r?`${r} / ${s}`:s,u=hE(t),c=i+ +!!u;if(u&&c>hj)return null;let p=!u,h={label:s,value:t.name,isLeaf:p,disableCheckbox:!p,meta:{field:t,fullPath:a,fullLabel:d,associationDepth:c}};if(!p&&o.some(e=>e&&e.startsWith(a+"."))){var m,f,g;if(null==(f=t.filterable)||null==(m=f.children)?void 0:m.length)h.children=hR(e,t.filterable.children,a,n,d,c);else{let l=t.targetCollection;l&&(h.children=hR(e,(null==(g=l.getFields)?void 0:g.call(l))||[],a,n,d,c))}}return h}).filter(Boolean).sort((e,t)=>e.isLeaf&&!t.isLeaf?-1:!e.isLeaf&&t.isLeaf?1:0)};function hI(e){let t=(0,z.useFlowSettingsContext)(),l=(0,W.useMemo)(()=>s5(t.blockGridModel),[t.blockGridModel]),[n,r]=(0,W.useState)(()=>t.model.context.filterManager.getConnectFieldsConfig(t.model.uid)),[i,o]=(0,W.useState)({}),[a,s]=(0,W.useState)({});W.useEffect(()=>{(async()=>{let e={},t=((null==n?void 0:n.targets)||[]).map(e=>e.targetId);for(let n of l.filter(e=>t.includes(e.uid))){var r;let t=await (null==(r=n.getFilterFields)?void 0:r.call(n))||[];e[n.uid]=t}o(e)})()},[null==n?void 0:n.targets,l]);let d=(e,t)=>{s(l=>({...l,[e]:t}))},u=e=>a[e]||"field-select",c=(t,l)=>{var i;let o={};((null==n?void 0:n.targets)||[]).forEach(e=>{o[e.targetId]=e}),o[t]={targetId:t,filterPaths:l};let a=Object.values(o);null==(i=e.onChange)||i.call(e,{targets:a}),r({targets:a})},p=(t,l)=>{var i;let o={};((null==n?void 0:n.targets)||[]).forEach(e=>{o[e.targetId]=e}),l?o[t]={targetId:t,filterPaths:[]}:delete o[t];let a=Object.values(o);null==(i=e.onChange)||i.call(e,{targets:a}),r({targets:a})},h=t=>{var l;let i={};((null==n?void 0:n.targets)||[]).forEach(e=>{e.targetId!==t&&(i[e.targetId]=e)});let o=Object.values(i);null==(l=e.onChange)||l.call(e,{targets:o}),r({targets:o})},m=((null==n?void 0:n.targets)||[]).map(e=>e.targetId),f=l.filter(e=>{var t;return null==(t=e.resource)?void 0:t.supportsFilter}).map(e=>{let t=m.includes(e.uid);return{key:e.uid,label:(0,V.jsxs)("button",{type:"button",style:{display:"flex",justifyContent:"space-between",alignItems:"center",minWidth:"200px",border:"none",background:"none",padding:"0",width:"100%",cursor:"pointer"},onClick:l=>{l.stopPropagation(),p(e.uid,!t)},children:[(0,V.jsxs)("span",{style:{marginRight:"16px"},children:[e.title," #",e.uid.substring(0,4)]}),(0,V.jsx)(hk.A,{size:"small",checked:t})]})}});return(0,V.jsxs)("div",{children:[(0,V.jsxs)("div",{style:{marginBottom:"16px",padding:"12px",backgroundColor:"#f0f9ff",border:"1px solid #bae6fd",borderRadius:"6px",fontSize:"14px",color:"#0369a1"},children:[(0,V.jsx)("div",{style:{fontWeight:500,marginBottom:"8px"},children:t.t("Configuration:")}),(0,V.jsxs)("ul",{style:{margin:0,paddingLeft:"16px"},children:[(0,V.jsx)("li",{children:t.t('Available "target blocks" are all data blocks on the current page')}),(0,V.jsx)("li",{children:t.t("Support filtering multiple blocks simultaneously, support selection of relationship fields up to two levels (e.g.: User/Department/Name)")})]})]}),l.filter(e=>m.includes(e.uid)&&i[e.uid]).sort((e,t)=>((null==n?void 0:n.targets)||[]).findIndex(t=>t.targetId===e.uid)-((null==n?void 0:n.targets)||[]).findIndex(e=>e.targetId===t.uid)).map(e=>{var l,r;let o=i[e.uid]||[],a=(null==n||null==(r=n.targets)||null==(l=r.find(t=>t.targetId===e.uid))?void 0:l.filterPaths)||[],s=hR(t,o,"",a,""),p=a.map(e=>e.split(".")),m=u(e.uid);return(0,V.jsx)(iP.FormItem,{label:`${e.title} #${e.uid.substring(0,4)}`,children:(0,V.jsxs)("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[(0,V.jsx)("div",{style:{flex:1},children:"field-select"===m?(0,V.jsx)(hT,{options:s,value:p,onChange:t=>{let l=(t||[]).map(e=>e.join("."));c(e.uid,l)},multiple:!0,allowClear:!0,placeholder:t.t("Please select fields to filter"),style:{width:"100%"},showSearch:{filter:(e,t)=>t.some(t=>(t.label||"").toString().toLowerCase().includes(e.toLowerCase()))}}):(0,V.jsx)(nF.A,{mode:"tags",value:a,onChange:t=>c(e.uid,t),placeholder:t.t("Separate multiple values with comma or Enter"),style:{width:"100%"},allowClear:!0,tokenSeparators:[","],open:!1,suffixIcon:null})}),(0,V.jsx)(hC.A,{value:m,onChange:t=>d(e.uid,t),options:[{label:t.t("Dropdown select"),value:"field-select"},{label:t.t("Text input"),value:"text-input"}]}),(0,V.jsx)(nE.Ay,{type:"text",icon:(0,V.jsx)(hF.A,{}),onClick:()=>h(e.uid),style:{color:"#8c8c8c"},title:t.t("Delete this target block")})]})},e.uid)}),(0,V.jsx)("div",{style:{marginTop:"16px"},children:(0,V.jsx)(nh.A,{menu:{items:f},trigger:["hover"],autoFocus:!1,children:(0,V.jsx)(nE.Ay,{type:"dashed",icon:(0,V.jsx)(tI.A,{}),style:{width:"100%"},children:t.t("Add target block")})})})]})}function hT(e){let t=(0,z.useFlowSettingsContext)(),[l,n]=W.useState(e.options||[]),r=W.useMemo(()=>(e.options||[]).map(e=>{var t;return(null==e||null==(t=e.meta)?void 0:t.fullPath)||(null==e?void 0:e.value)}).filter(Boolean).join("|"),[e.options]),i=(0,eu.cx)(e.popupClassName,(0,eu.css)`
531
+ `,children:e.label}),dropdownRender:e=>{let t=m.some(e=>e[l.label]===p.searchText);return(0,V.jsx)(V.Fragment,{children:"quickAdd"===a&&d&&u&&p.searchText?(0,V.jsxs)(V.Fragment,{children:[!(0===m.length&&p.searchText)&&e,m.length>0&&p.searchText&&!t&&(0,V.jsx)(no.A,{style:{margin:0}}),!t&&(0,V.jsx)(y,{searchText:p.searchText})]}):e})}}),"modalAdd"===a&&(d&&u||g)&&(d&&u?(0,V.jsx)(nE.Ay,{onClick:p.onModalAddClick,children:v("Add new")}):(0,V.jsx)(sz._T,{forbidden:{actionName:"create"},collection:null==f||null==(t=f.collectionField)?void 0:t.targetCollection,message:b,children:(0,V.jsx)(nE.Ay,{onClick:p.onModalAddClick,disabled:!u,style:{opacity:"0.3"},children:v("Add new")})}))]})};class pV extends cW{buildValueOptionsSyncKey(){var e,t,l,n,r,i,o,a,s,d,u,c,p;if("value"!==((null==(e=this.props)?void 0:e.valueMode)||"record"))return null;let h=(null==(t=this.props)?void 0:t.fieldNames)||{},m=(null==(n=this.context.collectionField)||null==(l=n.targetCollection)?void 0:l.filterTargetKey)||"id",f=(null==h?void 0:h.value)||"id",g=!!((null==(r=this.props)?void 0:r.multiple)&&(null==(i=this.props)?void 0:i.allowMultiple)),v=cC(null==(o=this.props)?void 0:o.options,null==(a=this.props)?void 0:a.value,g),y=null==(c=this.context.collectionField)||null==(u=c.targetCollection)||null==(d=u.getField)||null==(s=d.call(u,m))?void 0:s.type,b=pO(null==(p=this.props)?void 0:p.value,v,m,f,g,y);if(!b.length)return null;let x=new Set(v.map(e=>null==e?void 0:e[m]).filter(e=>null!=e)),w=b.filter(e=>!x.has(e));return w.length?`${m}::${w.slice().sort().join(",")}`:null}ensureValueOptionsSynced(){let e=this.buildValueOptionsSyncKey();!e||e===this.valueOptionsSyncedKey||this.valueOptionsSyncTask&&this.valueOptionsSyncKey===e||(this.valueOptionsSyncKey=e,this.valueOptionsSyncTask=this.applyFlow("syncValueOptions").then(()=>{this.valueOptionsSyncedKey=e}).finally(()=>{this.valueOptionsSyncKey===e&&(this.valueOptionsSyncTask=null)}))}async onDispatchEventStart(e){"beforeRender"===e&&this.ensureValueOptionsSynced()}getFilterValue(){if("value"===(this.props.valueMode||"record")){var e,t;let l=(null==(t=this.props)||null==(e=t.fieldNames)?void 0:e.value)||"id",n=e=>null==e?e:"object"==typeof e?(null==e?void 0:e[l])??(null==e?void 0:e.value):e;return Array.isArray(this.props.value)?this.props.value.map(e=>n(e)).filter(e=>null!=e&&""!==e):n(this.props.value)}return super.getFilterValue()}render(){return this.context.isMobileLayout?(0,V.jsx)(cT,{...this.props,loading:this.resource.loading}):(0,V.jsx)(pL,{...this.props})}constructor(...e){super(...e),(0,w._)(this,"valueOptionsSyncKey",null),(0,w._)(this,"valueOptionsSyncedKey",null),(0,w._)(this,"valueOptionsSyncTask",null)}}pV.registerFlow({key:"syncValueOptions",sort:780,steps:{syncByValue:{async handler(e){var t,l,n,r,i,o,a,s,d,u,c,p,h,m,f;if("value"!==((null==(t=e.model.props)?void 0:t.valueMode)||"record"))return;let g=(null==(l=e.model.props)?void 0:l.fieldNames)||{},v=(null==(r=e.model.context.collectionField)||null==(n=r.targetCollection)?void 0:n.filterTargetKey)||"id",y=(null==g?void 0:g.value)||"id",b=!!((null==(i=e.model.props)?void 0:i.multiple)&&(null==(o=e.model.props)?void 0:o.allowMultiple)),x=cC(null==(a=e.model.props)?void 0:a.options,null==(s=e.model.props)?void 0:s.value,b),w=null==(p=e.model.context.collectionField)||null==(c=p.targetCollection)||null==(u=c.getField)||null==(d=u.call(c,v))?void 0:d.type,S=pO(null==(h=e.model.props)?void 0:h.value,x,v,y,b,w);if(!S.length)return;let M=new Set(x.map(e=>null==e?void 0:e[v]).filter(e=>null!=e)),A=S.filter(e=>!M.has(e));if(!A.length)return;let F=e.model.resource;if(!F||"function"!=typeof(null==F?void 0:F.addFilterGroup)||"function"!=typeof(null==F?void 0:F.refresh))return;let k=1===A.length?{[`${v}.$eq`]:A[0]}:{[`${v}.$in`]:A};try{F.addFilterGroup(p_,k),await F.refresh();let t=(null==(m=F.getData)?void 0:m.call(F))||[];if(!Array.isArray(t)||!t.length)return;let l=p$(x,t,v);if(!(l.length!==x.length||l.some((e,t)=>{var l;return(null==e?void 0:e[v])!==(null==x||null==(l=x[t])?void 0:l[v])})))return;e.model.setDataSource(l)}finally{null==(f=F.removeFilterGroup)||f.call(F,p_)}}}}}),pV.registerFlow({key:"selectSettings",title:(0,z.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},valueFieldOverride:{handler(e){let t=e.model.props.recordSelectValueField;if(!t)return;let l={...e.model.props.fieldNames||{},value:t};e.model.setProps({fieldNames:l})}},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,z.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type),defaultParams:e=>"boolean"==typeof e.model.props.allowMultiple?{allowMultiple:e.model.props.allowMultiple}:{allowMultiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)},handler(e,t){var l,n;let r=(null==e||null==(n=e.blockModel)||null==(l=n.constructor)?void 0:l.scene)===dS.P.filter,i="boolean"==typeof e.model.props.allowMultiple?e.model.props.allowMultiple:null==t?void 0:t.allowMultiple;r&&"boolean"==typeof i?e.model.setProps({allowMultiple:i,multiple:i}):e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple,multiple:null==t?void 0:t.allowMultiple})}},quickCreate:{title:(0,z.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)===dS.P.filter},defaultParams:{quickCreate:"none"},handler(e,t){e.model.setProps({quickCreate:t.quickCreate})}}}});class pq extends sz.S0{}class pz extends sL{}(0,w._)(pz,"baseClass",pq);var pK=l(25359),pU=l(29676),pW=l(65421),pH=l(50314);let pG=["filterFormItemSettings"],pY=(0,pH.li)(pG),pJ=(0,pH.u4)(pG);function pX(e){return(0,pH.TE)(e,pY)}function pQ(e){return(0,pH.Co)(e,pY,pJ)}let pZ=["belongsTo","hasOne","hasMany","belongsToMany","belongsToArray"],p0=["integer","float","double","decimal"];function p1(e){if(pZ.includes(e.type))return"object";if(p0.includes(e.type))return"number";switch(e.type){case"boolean":return"boolean";case"json":return"object";case"array":return"array";default:return"string"}}function p2(e){return!!(null==e?void 0:e.interface)}function p5(e){var t;let l={title:e.title||e.name,interface:e.interface,options:e.options,uiSchema:e.uiSchema||{}};if(!(null==(t=e.isAssociationField)?void 0:t.call(e)))return{type:p1(e),...l};let n=e.targetCollection;return n?{type:"object",...l,properties:async()=>{let e={};return n.fields.forEach(t=>{p2(t)&&(e[t.name]=p5(t))}),e}}:{type:"object",...l}}function p4(e){var t;let l=null==e||null==(t=e.props)?void 0:t.name;return"string"==typeof l&&l?l:(null==e?void 0:e.fieldPath)&&(null==e?void 0:e.uid)?`${e.fieldPath}_${e.uid}`:void 0}function p8(e,t){if(null==e)return;if(Array.isArray(t)){if("object"!=typeof e)return;let l={};for(let n of t){let t=null==e?void 0:e[n];if(null==t)return;l[n]=t}return l}if("object"!=typeof e)return e;let l=Array.isArray(t)?t[0]:t;return l?null==e?void 0:e[l]:null==e?void 0:e.id}function p3(e,t,l){let n=t.split(".").filter(Boolean);if(!n.length)return;let r=e;n.forEach((e,t)=>{if(t===n.length-1){r[e]=l;return}(!r[e]||"object"!=typeof r[e]||Array.isArray(r[e]))&&(r[e]={}),r=r[e]})}function p6(e,t,l){let n=t.split(".").filter(Boolean);if(!n.length)return;let r=e;n.forEach((e,t)=>{if(t===n.length-1){r[e]=l;return}let i=r[e];i&&"object"==typeof i||(r[e]={type:"object",title:e,properties:{}});let o=r[e].properties;o&&"function"!=typeof o||(r[e].properties={}),r=r[e].properties})}function p9(e,t){var l;let n=(null==e||null==(l=e.getFieldsValue)?void 0:l.call(e))||{},r={...n};for(let e of t){let t=p4(e);t&&t.includes(".")&&t in n&&p3(r,t,n[t])}return r}function p7(e,t){return t===e||t.startsWith(`${e}.`)||t.startsWith(`${e}[`)}function he(e,t){return t.startsWith(`${e}.`)||t.startsWith(`${e}[`)}function ht(e,t){return t&&e.find(e=>{let l=p4(e);return l&&p7(l,t)})||null}class hl extends dC{get form(){return this.context.form}get title(){return"Filter form"}createFormValuesMetaFactory(){let e=async()=>({type:"object",title:this.translate("Current form"),properties:async()=>{var e,t,l,n,r,i;let o={};for(let a of(null==(l=this.subModels)||null==(t=l.grid)||null==(e=t.subModels)?void 0:e.items)||[]){let e=p4(a),t=(null==a||null==(i=a.subModels)||null==(r=i.field)||null==(n=r.context)?void 0:n.collectionField)||(null==a?void 0:a.collectionField);e&&t&&p2(t)&&p6(o,e,p5(t))}return o},buildVariablesParams:()=>{var e,t,l,n,r,i,o,a,s;let d=(null==(t=this.form)||null==(e=t.getFieldsValue)?void 0:e.call(t))||{},u=(null==(r=this.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items)||[],c={};for(let e of u){let t=p4(e),l=(null==e||null==(a=e.subModels)||null==(o=a.field)||null==(i=o.context)?void 0:i.collectionField)||(null==e?void 0:e.collectionField);if(!t||!(null==l||null==(s=l.isAssociationField)?void 0:s.call(l)))continue;let n=l.targetCollection,r=l.target;if(!n||!r)continue;let u=d[t],p=n.filterTargetKey;if(Array.isArray(u)){let e=u.map(e=>p8(e,p)).filter(e=>null!=e);e.length&&p3(c,t,{collection:r,dataSourceKey:n.dataSourceKey,filterByTk:e});continue}let h=p8(u,p);null!=h&&p3(c,t,{collection:r,dataSourceKey:n.dataSourceKey,filterByTk:h})}return c}});return e.title=this.translate("Current form"),e}useHooksBeforeRender(){let[e]=u$.A.useForm();this.context.defineProperty("form",{get:()=>e,cache:!1}),this.context.defineProperty("formValues",{get:()=>{var e,t,l;return p9(this.form,(null==(l=this.subModels)||null==(t=l.grid)||null==(e=t.subModels)?void 0:e.items)||[])},cache:!1,meta:this.createFormValuesMetaFactory(),resolveOnServer:e=>{var t,l,n,r,i,o,a;let s=ht((null==(n=this.subModels)||null==(l=n.grid)||null==(t=l.subModels)?void 0:t.items)||[],e);if(!s)return!1;let d=p4(s),u=(null==s||null==(o=s.subModels)||null==(i=o.field)||null==(r=i.context)?void 0:r.collectionField)||(null==s?void 0:s.collectionField);return!!(d&&he(d,e)&&(null==u||null==(a=u.isAssociationField)?void 0:a.call(u))&&(null==u?void 0:u.targetCollection))},serverOnlyWhenContextParams:!0})}async saveStepParams(){return await (0,pK.ON)(this,async()=>await super.saveStepParams())}addAppends(){}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineMethod("refreshTargets",async e=>{let t=this.subModels.grid.subModels.items,l=null==t?void 0:t.map(e=>null==e?void 0:e.uid).filter(Boolean);if(null==l?void 0:l.length){let t=this.context.filterManager;await t.refreshTargetsByFilter(l,e)}})}onMount(){super.onMount(),this.context.defineProperty("filterFormGridModel",{value:this.subModels.grid}),this.applyDefaultsAndInitialFilter();let e=this.context.blockGridModel;if(null==e?void 0:e.emitter){let t=e=>{(null==e?void 0:e.uid)&&e.uid!==this.uid&&this.handleTargetBlockRemoved(e.uid).catch(e=>{console.error("Failed to handle destroyed target block in FilterFormBlockModel:",e)})};e.emitter.on("onSubModelDestroyed",t),this.removeTargetBlockListener=()=>e.emitter.off("onSubModelDestroyed",t)}}onUnmount(){var e,t;null==(e=(t=this).removeTargetBlockListener)||e.call(t),super.onUnmount()}async applyDefaultsAndInitialFilter(){if(await this.prepareInitialFilterValues()){var e,t;await (null==(e=(t=this.context).refreshTargets)?void 0:e.call(t,{excludeTargetIds:this.initialRefreshHandledTargetIds}))}}async prepareInitialFilterValues(){return!!this.form&&(this.initialDefaultsPromise||(this.initialDefaultsPromise=(async()=>{await this.ensureFilterItemsBeforeRender(),await this.applyFormDefaultValues()})()),await this.initialDefaultsPromise,!0)}markInitialTargetRefreshHandled(e){e&&this.initialRefreshHandledTargetIds.add(e)}async ensureFilterItemsBeforeRender(){var e,t;let l=null==(e=this.subModels)?void 0:e.grid,n=(null==l||null==(t=l.subModels)?void 0:t.items)||[];if(Array.isArray(n)&&0!==n.length)for(let e of n)"function"==typeof(null==e?void 0:e.dispatchEvent)&&await e.dispatchEvent("beforeRender")}canApplyFormDefaultValue(e,t,l){return!!l||!this.userEditedFieldNames.has(e)&&(!!(0,pW.Po)(t)||!!this.lastDefaultValueByFieldName.has(e)&&(0,K.isEqual)(t,this.lastDefaultValueByFieldName.get(e)))}canApplyFormOverrideValue(e,t){return!!t||!this.userEditedFieldNames.has(e)}normalizeFieldValueMode(e){return"assign"===e?"assign":"override"===e?"override":"default"}markFilterFormUserEditedFields(e){if(!(!e||"object"!=typeof e||Array.isArray(e)))for(let t of Object.keys(e))this.userEditedFieldNames.add(String(t))}resetFilterFormUserEditedFields(){this.userEditedFieldNames.clear()}async matchDefaultValueCondition(e){if(!e)return!0;let t=e;try{var l,n;let r=await (null==(l=(n=this.context).resolveJsonTemplate)?void 0:l.call(n,e));void 0!==r&&(t=r)}catch{t=e}return(0,pU.F)(this.context,t)}async applyFormDefaultValues(e){var t,l,n,r,i,o,a;let s={},d=this.form;if(!d)return s;let u=(null==e?void 0:e.force)===!0;u&&this.resetFilterFormUserEditedFields();let c=null==(t=(l=this).getStepParams)?void 0:t.call(l,"formFilterBlockModelSettings","defaultValues"),p=(null==c?void 0:c.value)||[];if(!Array.isArray(p)||0===p.length)return s;let h=async e=>{var t,l;if((0,z.isRunJSValue)(e)){let{code:t,version:l}=(0,z.normalizeRunJSValue)(e),n=await (0,z.runjsWithSafeGlobals)(this.context,t,{version:l});return(null==n?void 0:n.success)?n.value:void 0}return await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e))};for(let t of p){if(!t||"object"!=typeof t||!1===t.enable||!await this.matchDefaultValueCondition(t.condition))continue;if((null==e?void 0:e.refreshSeq)&&e.refreshSeq!==this.defaultValuesRefreshSeq)break;let l=t.targetPath?String(t.targetPath).trim():"",c=t.field?String(t.field).trim():"",p=(l?(0,uG.eo)(this,l):null)??(c?null==(i=this.context)||null==(r=i.engine)||null==(n=r.getModel)?void 0:n.call(r,c):null);if(!p)continue;let m="function"==typeof p.getProps?p.getProps():p.props,f=(null==m?void 0:m.name)??(p.fieldPath?`${p.fieldPath}_${p.uid}`:void 0);if(!f)continue;let g=null==(o=d.getFieldValue)?void 0:o.call(d,f),v=await h(t.value);if((null==e?void 0:e.refreshSeq)&&e.refreshSeq!==this.defaultValuesRefreshSeq)break;if(void 0===v)continue;let y=s1(p),b=(0,pR.S)(y,v),x=this.normalizeFieldValueMode(t.mode);if(("default"!==x||this.canApplyFormDefaultValue(String(f),g,u))&&("override"!==x||this.canApplyFormOverrideValue(String(f),u))){if((0,K.isEqual)(g,b)){"default"===x?this.lastDefaultValueByFieldName.set(String(f),b):this.lastDefaultValueByFieldName.delete(String(f));continue}"function"==typeof d.setFieldValue?d.setFieldValue(f,b):null==(a=d.setFieldsValue)||a.call(d,{[String(f)]:b}),"default"===x?this.lastDefaultValueByFieldName.set(String(f),b):this.lastDefaultValueByFieldName.delete(String(f)),s[String(f)]=b}}return s}handleFilterFormValuesChange(e,t){this.markFilterFormUserEditedFields(e);let l=++this.defaultValuesRefreshSeq;(async()=>{var n,r;let i=await this.applyFormDefaultValues({refreshSeq:l});if(l!==this.defaultValuesRefreshSeq)return;let o={changedValues:{...e||{},...i||{}},allValues:(null==(r=this.form)||null==(n=r.getFieldsValue)?void 0:n.call(r))||t};this.dispatchEvent("formValuesChange",o,{debounce:!0}),this.emitter.emit("formValuesChange",o)})().catch(e=>{console.error("Failed to refresh filter form default values:",e)})}async handleTargetBlockRemoved(e){let t=this.context.filterManager;for(let l of[...this.subModels.grid.subModels.items||[]]){let n=t.getConnectFieldsConfig(l.uid),r=(null==n?void 0:n.targets)||[],i=r.some(t=>t.targetId===e),o=l.defaultTargetUid===e;if(!i&&!o)continue;let a=r.filter(t=>t.targetId!==e);if(a.length>0){await t.saveConnectFieldsConfig(l.uid,{targets:a});continue}await t.removeFilterConfig({filterId:l.uid}),await l.destroy()}}async destroy(){var e;let t=this.context.filterManager;return null==(e=this.subModels.grid.subModels.items)||e.map(e=>{t.removeFilterConfig({filterId:e.uid,persist:!1})}),await super.destroy()}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:n,layout:r}=this.props,i=!!this.context.flowSettingsEnabled;return(0,V.jsxs)(uB.s2,{model:this,onFinish:()=>{this.context.refreshTargets()},onValuesChange:(e,t)=>this.handleFilterFormValuesChange(e,t),layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:n,layout:r},children:[(0,V.jsx)(z.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),(0,V.jsx)(z.DndProvider,{children:(0,V.jsxs)(iP.FormButtonGroup,{align:"right",children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,V.jsx)(z.Droppable,{model:e,children:(0,V.jsx)(z.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:z.DragHandler,sort:1}]},e.uid)},e.uid)}),(0,V.jsx)(z.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:"FilterFormActionGroupModel",children:(0,V.jsx)(z.FlowSettingsButton,{icon:(0,V.jsx)(nj.A,{}),children:this.translate("Actions")})},"filter-form-actions-add")]})})]})}constructor(...e){super(...e),(0,w._)(this,"autoTriggerFilter",!0),(0,w._)(this,"removeTargetBlockListener",void 0),(0,w._)(this,"initialDefaultsPromise",void 0),(0,w._)(this,"initialRefreshHandledTargetIds",new Set),(0,w._)(this,"lastDefaultValueByFieldName",new Map),(0,w._)(this,"userEditedFieldNames",new Set),(0,w._)(this,"defaultValuesRefreshSeq",0)}}(0,w._)(hl,"scene",dS.P.filter),hl.define({label:(0,z.tExpr)("Form"),createModelOptions:{use:"FilterFormBlockModel",subModels:{grid:{use:"FilterFormGridModel"}}}}),hl.registerFlow({key:"formFilterBlockModelSettings",title:(0,z.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,z.tExpr)("Layout")},defaultValues:{use:"filterFormDefaultValues",title:(0,z.tExpr)("Field values"),beforeParamsSave(e){let t=pQ(e.model);Array.isArray(t)&&t.length&&(0,pK.jI)(e.model)},afterParamsSave(e){var t,l;null==(l=e.model)||null==(t=l.applyFormDefaultValues)||t.call(l,{force:!0}).then(()=>{var t,l,n;return null==(n=e.model)||null==(l=n.context)||null==(t=l.refreshTargets)?void 0:t.call(l)})}}}}),hl.registerEvents({formValuesChange:{title:(0,z.tExpr)("Form values change"),name:"formValuesChange",uiSchema:{condition:{type:"object",title:(0,z.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":dE.H}},handler:dE.b}});var hn=l(32731),hr=l(63718);let hi=(0,q.observable)({collapsed:!1}),ho=(0,z.observer)(()=>{let e=(0,z.useFlowModel)(),t={...e.defaultProps,...e.props},l=()=>{e.dispatchEvent("collapseToggle")};return(0,V.jsx)(nE.Ay,{...t,onClick:l,icon:(0,V.jsx)(hn.A,{rotate:180*!hi.collapsed}),iconPosition:"end",children:hi.collapsed?e.translate("Expand button"):e.translate("Collapse button")})});class ha extends pq{onMount(){var e,t;super.onMount();let l=(null==(e=this.getStepParams("collapseSettings","defaultCollapsed"))?void 0:e.value)||!1,n=(null==(t=this.getStepParams("collapseSettings","toggle"))?void 0:t.collapsedRows)||1;hi.collapsed=l,this.context.filterFormGridModel.toggleFormFieldsCollapse(hi.collapsed,n)}render(){return(0,V.jsx)(ho,{})}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link"}),(0,w._)(this,"enableEditTitle",!1),(0,w._)(this,"enableEditIcon",!1)}}ha.registerFlow({key:"collapseSettings",title:(0,z.tExpr)("Collapse settings"),on:"collapseToggle",steps:{toggle:{title:(0,z.tExpr)("Collapsed rows"),uiSchema:{collapsedRows:{type:"number","x-decorator":"FormItem","x-component":hr.A,"x-component-props":{min:1,max:10,placeholder:(0,z.tExpr)("Enter number of rows to display")},default:1}},async handler(e,t){let l=t.collapsedRows||1;hi.collapsed=!hi.collapsed,e.model.context.filterFormGridModel.toggleFormFieldsCollapse(hi.collapsed,l)}},defaultCollapsed:{title:(0,z.tExpr)("Default collapsed"),uiSchema:{value:{type:"boolean","x-decorator":"FormItem","x-component":"Switch"}},beforeParamsSave(e,t){var l;hi.collapsed=t.value||!1;let n=(null==(l=e.model.getStepParams("collapseSettings","toggle"))?void 0:l.collapsedRows)||1;e.model.context.filterFormGridModel.toggleFormFieldsCollapse(hi.collapsed,n)},handler(e,t){}}}}),ha.define({label:(0,z.tExpr)("Collapse button"),toggleable:!0,sort:300}),ha.registerEvents({collapseToggle:{title:(0,z.tExpr)("Collapse / Expand toggle"),name:"collapseToggle",uiSchema:{condition:{type:"object",title:(0,z.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":dE.H}},handler:dE.b}});let hs=(e,t,l)=>{var n,r,i;if(null==e?void 0:e.targetCollection)return e.targetCollection;let o=null==e?void 0:e.target;if(!o)return;if(null==t||null==(n=t.dataSource)?void 0:n.getCollection)return t.dataSource.getCollection(o);let a=null==t?void 0:t.dataSourceKey;if(a&&(null==l||null==(i=l.context)||null==(r=i.dataSourceManager)?void 0:r.getCollection))return l.context.dataSourceManager.getCollection(a,o)},hd=(e,t,l)=>{let n=hs(e,t,l);return(null==n?void 0:n.getFields)?(n.getFields()||[]).filter(e=>null==e?void 0:e.filterable):[]},hu=2;function hc(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}let hp=(e,t)=>{var l,n,r;let i=null==t||null==(l=t.context)?void 0:l.collectionField;if(!(null==i||null==(n=i.isAssociationField)?void 0:n.call(i)))return e;let o=cS((null==t||null==(r=t.props)?void 0:r.fieldNames)||(null==i?void 0:i.fieldNames),null==i?void 0:i.targetCollection).value,a=e=>{let t=e&&"object"==typeof e&&void 0!==(null==e?void 0:e.data)?e.data:e;return t&&"object"==typeof t?void 0!==(null==t?void 0:t[o])?t[o]:void 0!==(null==t?void 0:t.id)?t.id:void 0!==(null==t?void 0:t.value)?t.value:t:t};return Array.isArray(e)?e.map(a):a(e)},hh=e=>{let t=e=>{let t=e&&"object"==typeof e&&void 0!==(null==e?void 0:e.data)?e.data:e;return!!t&&"object"==typeof t};return Array.isArray(e)?e.some(t):t(e)},hm=e=>["belongsTo","hasOne"].includes(null==e?void 0:e.type)||["m2o","o2o","oho","obo","updatedBy","createdBy"].includes(null==e?void 0:e.interface),hf=(e,t)=>{var l,n;return(null==e||null==(l=e.props)?void 0:l.allowMultiple)===!0||(null==e||null==(n=e.props)?void 0:n.multiple)===!0||!hm(t)},hg=(e,t)=>{var l,n,r;if(!t)return;let i=(null==t?void 0:t.title)||(null==t?void 0:t.name),o=null==t?void 0:t.interface,a=o?null==e||null==(r=e.dataSourceManager)||null==(n=r.collectionFieldInterfaceManager)||null==(l=n.getFieldInterface)?void 0:l.call(n,o):void 0;return{...t,title:i,uiSchema:{...(null==t?void 0:t.uiSchema)||{},title:i},filterable:(null==t?void 0:t.filterable)||(null==a?void 0:a.filterable),isAssociationField:"function"==typeof(null==t?void 0:t.isAssociationField)?t.isAssociationField:()=>!!(null==t?void 0:t.target),getComponentProps:"function"==typeof(null==t?void 0:t.getComponentProps)?t.getComponentProps:()=>({})}},hv=e=>{var t,l;let{model:n,collection:r,ctxWithFlags:i,field:o,fieldPath:a,labelPrefix:s}=e,d=z.FilterableItemModel.getDefaultBindingByField(i,o);if(!d)return;let u=("function"==typeof(null==o?void 0:o.isAssociationField)?o.isAssociationField():!!(null==o?void 0:o.target))&&(null==(l=i.engine)||null==(t=l.getModelClass)?void 0:t.call(l,"FilterFormRecordSelectFieldModel"))?"FilterFormRecordSelectFieldModel":d.modelName,c=o.title||o.name;return{key:a,label:s?`${s} / ${c}`:c,useModel:"FilterFormItemModel",refreshTargets:["FilterFormCustomItemModel"],createModelOptions:()=>({use:"FilterFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==r?void 0:r.dataSourceKey,collectionName:null==r?void 0:r.name,fieldPath:a}},filterFormItemSettings:{init:{filterField:U().pick(o,["name","title","interface","type"]),defaultTargetUid:n.uid}}},subModels:{field:{use:u,props:"function"==typeof d.defaultProps?d.defaultProps(n.context,o):d.defaultProps}}})}},hy=e=>{var t;let{model:l,collection:n,ctxWithFlags:r,field:i,fieldPath:o,depth:a}=e;if(!hs(i,n,l)||a>hu)return;let s=i.title||i.name,d=(null==(t=l.context)?void 0:t.t)||(null==r?void 0:r.t)||(e=>e);return{key:`${o}-associationField`,label:s,children:async()=>{let e=hd(i,n,l),t=[],s=[];e.forEach(e=>{let i=`${o}.${e.name}`;if(null==e?void 0:e.targetCollection){let t=hy({model:l,collection:n,ctxWithFlags:r,field:e,fieldPath:i,depth:a+1});t&&s.push(t);return}let d=hv({model:l,collection:n,ctxWithFlags:r,field:e,fieldPath:i});d&&t.push(d)});let u=[];return(t.length&&u.push({key:`${o}-fields`,label:d("Fields"),type:"group",searchable:!0,searchPlaceholder:d("Search fields"),children:t}),s.length&&u.push({key:`${o}-relation-fields`,label:d("Association fields"),type:"group",searchable:!0,searchPlaceholder:d("Search association fields"),children:s}),u.length)?u:[{key:`${o}-empty`,label:(0,V.jsx)(nk.A,{style:{width:140},description:d("No data"),image:nk.A.PRESENTED_IMAGE_SIMPLE}),disabled:!0}]}}},hb=async e=>{var t,l;let n=e.collection||e.context.collection,r=await (null==e||null==(t=e.getFilterFields)?void 0:t.call(e))||[],i=new z.FlowModelContext(e);i.addDelegate(e.context),i.defineProperty("flags",{value:{...null==(l=e.context)?void 0:l.flags,isInFilterFormBlock:!0}});let o=[],a=[];return r.forEach(t=>{let l=t.name,r=hv({model:e,collection:n,ctxWithFlags:i,field:t,fieldPath:l});if(r&&o.push(r),null==t?void 0:t.targetCollection){let r=hy({model:e,collection:n,ctxWithFlags:i,field:t,fieldPath:l,depth:1});r&&a.push(r)}}),{baseItems:o.filter(Boolean),relationItems:a.filter(Boolean)}};class hx extends z.FilterableItemModel{static defineChildren(e){let t=e.blockGridModel;if(!t)return[];let l=s5(t);return 0===l.length?[{key:"no-data-blocks",label:(0,V.jsx)(nk.A,{style:{width:140},description:e.t("Please add a data block on the page first"),image:nk.A.PRESENTED_IMAGE_SIMPLE}),disabled:!0}]:l.map(t=>({key:t.uid,label:(0,V.jsx)("span",{style:{margin:"-5px -24px -5px -12px",padding:"5px 24px 5px 12px"},onMouseEnter:()=>{var e;let l=null==(e=t.context.ref)?void 0:e.current;l instanceof HTMLElement&&(l.style.outline=`2px solid ${t.context.themeToken.colorPrimaryBorder}`)},onMouseLeave:()=>{var e;let l=null==(e=t.context.ref)?void 0:e.current;l instanceof HTMLElement&&(l.style.outline="none")},children:`${t.title} #${t.uid.substring(0,4)}`}),children:async()=>{let{baseItems:l,relationItems:n}=await hb(t),r=[{key:"fields",label:e.t("Fields"),type:"group",searchable:!0,searchPlaceholder:e.t("Search fields"),children:l}];return n.length&&r.push({key:"relation-fields",label:e.t("Association fields"),type:"group",searchable:!0,searchPlaceholder:e.t("Search association fields"),children:n}),[...r]}}))}get defaultTargetUid(){return this.getStepParams("filterFormItemSettings","init").defaultTargetUid}getCurrentOperatorMeta(){return s0(this,s1(this))}onInit(e){var t;super.onInit(e),this.debouncedDoFilter=(0,K.debounce)(this.doFilter.bind(this),300);let l=null==(t=this.getStepParams("filterFormItemSettings","init"))?void 0:t.filterField;l&&this.context.defineProperty("filterField",{value:{...l,title:(null==l?void 0:l.title)||(null==l?void 0:l.name)}})}onMount(){super.onMount(),this.mounted=!0}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 r=this.subModels.field,i=null==(e=this.context.form)?void 0:e.getFieldValue(this.props.name),o=r.getFilterValue?r.getFilterValue():i,a=null==r||null==(t=r.context)?void 0:t.collectionField,s=("function"==typeof(null==a?void 0:a.isAssociationField)?a.isAssociationField():!!(null==a?void 0:a.target))&&!this.mounted&&!s2(i)&&hh(i)&&!hh(o),d=s2(o)&&!s2(i),u=s||d?i:o,c=u;this.mounted||(c=hp(U().isEmpty(u)?this.getDefaultValue():u,null==(l=this.subModels)?void 0:l.field));let p=s1(this);c=this.normalizeAssociationFilterValue(c,r);let h=this.getCurrentOperatorMeta();if(null==h?void 0:h.noValue){let e=null==h||null==(n=h.schema)?void 0:n["x-component-props"];return!Array.isArray(hc(e)?e.options:void 0)||c}return(0,pR.S)(p,c)}normalizeAssociationFilterValue(e,t){var l,n;if(null==e)return e;let r=null==t||null==(l=t.context)?void 0:l.collectionField;if(!("function"==typeof(null==r?void 0:r.isAssociationField)?r.isAssociationField():!!(null==r?void 0:r.target)))return e;let i=cS((null==t||null==(n=t.props)?void 0:n.fieldNames)||(null==r?void 0:r.fieldNames),null==r?void 0:r.targetCollection).value;if(Array.isArray(e)){if(0===e.length)return e;let l=e.map(e=>e&&"object"==typeof e?e[i]:e);return hf(t,r)?l:l[0]}return"object"==typeof e?null==e?void 0:e[i]:e}getDefaultValue(){var e;return null==(e=this.getStepParams("filterFormItemSettings","initialValue"))?void 0:e.defaultValue}getValueProps(e){return this.context.blockModel.autoTriggerFilter&&(this.autoTriggerInitialized?(0,K.isEqual)(this.lastAutoTriggerValue,e)||(this.lastAutoTriggerValue=(0,K.cloneDeep)(e),this.debouncedDoFilter()):(this.autoTriggerInitialized=!0,this.lastAutoTriggerValue=(0,K.cloneDeep)(e))),{value:e,onKeyDown:this.handleEnterPress.bind(this),isRange:"$dateBetween"===this.operator}}renderItem(){let e=this.subModels.field;return(0,V.jsx)(z.FormItem,{...this.props,getValueProps:this.getValueProps.bind(this),children:(0,V.jsx)(z.FieldModelRenderer,{model:e})})}constructor(...e){super(...e),(0,w._)(this,"operator",void 0),(0,w._)(this,"mounted",!1),(0,w._)(this,"debouncedDoFilter",void 0),(0,w._)(this,"lastAutoTriggerValue",void 0),(0,w._)(this,"autoTriggerInitialized",!1),(0,w._)(this,"handleEnterPress",e=>{("Enter"===e.key||13===e.keyCode)&&(e.preventDefault(),this.doFilter())})}}hx.define({label:(0,z.tExpr)("Block list")}),hx.registerFlow({key:"filterFormItemSettings",sort:300,title:(0,z.tExpr)("Form item settings"),steps:{label:{title:(0,z.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l,n,r;let i=e.model,o=(null==(l=i.collectionField)?void 0:l.title)||(null==(n=e.filterField)?void 0:n.title)||(null==(r=e.filterField)?void 0:r.name)||i.fieldPath;t.decoratorProps={...t.decoratorProps,extra:i.context.t("Original field title: ")+o}}}}),defaultParams:e=>{var t,l,n;return{label:(null==(t=e.collectionField)?void 0:t.title)||(null==(l=e.filterField)?void 0:l.title)||(null==(n=e.filterField)?void 0:n.name)}},handler(e,t){var l,n,r;let i=(null==(l=e.collectionField)?void 0:l.title)||(null==(n=e.filterField)?void 0:n.title)||(null==(r=e.filterField)?void 0:r.name);t.label&&t.label===i?e.model.setProps({label:t.label}):e.model.setProps({label:e.t(t.label,{ns:"lm-flow-engine"})})}},init:{async handler(e,t){var l,n,r,i;let o=e.model,a=t.filterField?{...t.filterField,title:(null==(l=t.filterField)?void 0:l.title)||(null==(n=t.filterField)?void 0:n.name)}:t.filterField;e.model.context.defineProperty("filterField",{value:a}),e.model.setProps({name:`${o.fieldPath}_${e.model.uid}`});let s=o.collectionField,d=(null==(r=o.getFieldSettingsInitParams)?void 0:r.call(o))||{};if(!((null==d?void 0:d.dataSourceKey)&&(null==d?void 0:d.collectionName))&&!s&&a){let t=hg(e,a);t&&(e.model.context.defineProperty("collectionField",{value:t}),s=t)}if(null==s?void 0:s.getComponentProps){let t=s.getComponentProps(),l=(null==(i=e.model.subModels)?void 0:i.field)instanceof cW,{rules:n,required:r,multiple:o,allowMultiple:a,maxCount:d,...u}=t||{};e.model.setProps({...l?u:{...u,multiple:o,allowMultiple:a,maxCount:d},rules:void 0,required:void 0})}}},showLabel:{title:(0,z.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},tooltip:{title:(0,z.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,z.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"})})}},initialValue:{title:(0,z.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;return{defaultValue:{"x-component":"DefaultValue","x-decorator":"FormItem","x-component-props":{flags:{...(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.flags)||{},isInSetDefaultValueDialog:!0}}}}},handler(e,t){e.model.setProps({initialValue:t.defaultValue})}},model:{use:"fieldComponent",title:(0,z.tExpr)("Field component"),uiMode(e){let t=z.FilterableItemModel.getBindingsByField(e,e.collectionField),l=e.t;return{type:"select",key:"use",props:{options:t.map(e=>({label:l(e.modelName),value:e.modelName}))}}},hideInSettings(e){if(1===z.FilterableItemModel.getBindingsByField(e,e.collectionField).length)return!0}},connectFields:{use:"connectFields"},defaultOperator:{use:"defaultOperator"},operatorComponentProps:{use:"operatorComponentProps"},customizeFilterRender:{use:"customizeFilterRender"}}}),hx.registerFlow({key:"fieldSettings",title:(0,z.tExpr)("Field settings"),steps:{init:{handler(e,t){}}}});class hw extends df{getAssociationFilterTargetKey(e){var t;let l=null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey;return Array.isArray(l)?l[0]||"id":l||"id"}normalizeFilterFormLayout(e,t){let l=this.getStepParams(dp,dh)||{},n=(null==t?void 0:t.useVisibleItemUids)!==!1;return(0,z.normalizeGridLayout)({layout:(null==e?void 0:e.layout)??this.props.layout??l.layout,rows:(null==e?void 0:e.rows)??this.props.rows??l.rows,sizes:(null==e?void 0:e.sizes)??this.props.sizes??l.sizes,rowOrder:(null==e?void 0:e.rowOrder)??this.props.rowOrder??l.rowOrder,itemUids:n?this.normalizedItemUidsOverride??this.getItemUids():this.getItemUids(),gridUid:this.uid,logger:console})}normalizeStoredFullLayout(){let e=this.getStepParams(dp,dh)||{};return(0,z.normalizeGridLayout)({layout:this.fullLayoutBeforeCollapse??e.layout??this.props.layout,rows:e.rows??this.props.rows,sizes:e.sizes??this.props.sizes,rowOrder:e.rowOrder??this.props.rowOrder,itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}normalizeLayoutFromSource(e){return!e&&this.readingFullLayoutForSettingsInteraction?this.normalizeStoredFullLayout():this.normalizeFilterFormLayout(e,{useVisibleItemUids:!e&&!this.readingFullLayoutForSettingsInteraction})}getGridLayout(){return this.context.flowSettingsEnabled&&this.normalizedItemUidsOverride?this.normalizeStoredFullLayout():super.getGridLayout()}saveGridLayout(e){if(super.saveGridLayout(e),this.context.flowSettingsEnabled&&this.normalizedItemUidsOverride){let e=this.getStepParams(dp,dh)||{};this.fullLayoutBeforeCollapse=(0,z.normalizeGridLayout)({layout:e.layout??this.props.layout,rows:e.rows??this.props.rows,sizes:e.sizes??this.props.sizes,rowOrder:e.rowOrder??this.props.rowOrder,itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}}handleDragStart(e){this.readingFullLayoutForSettingsInteraction=!!(this.context.flowSettingsEnabled&&this.normalizedItemUidsOverride);try{super.handleDragStart(e)}finally{this.readingFullLayoutForSettingsInteraction=!1}}collectLayoutItemUids(e){let t=new Set,l=e=>{e.forEach(e=>{e.cells.forEach(e=>{var n,r;null==(n=e.items)||n.forEach(e=>{e&&this.flowEngine.getModel(e)&&t.add(e)}),(null==(r=e.rows)?void 0:r.length)&&l(e.rows)})})};return l(e),Array.from(t)}getCellVisibleRowCount(e){var t,l;return(null==(t=e.rows)?void 0:t.length)?e.rows.reduce((e,t)=>e+this.getRowVisibleRowCount(t),0):(null==(l=e.items)?void 0:l.length)||0}getRowVisibleRowCount(e){return e.cells.reduce((e,t)=>Math.max(e,this.getCellVisibleRowCount(t)),0)}limitCellByVisibleCount(e,t){var l;if(t<=0)return null;if(null==(l=e.rows)?void 0:l.length){let l=this.limitLayoutRowsByVisibleCount(e.rows,t);return l.length?{id:e.id,rows:l}:null}if(e.items){let l=e.items.slice(0,t);return l.length?{id:e.id,items:l}:null}return null}limitRowByVisibleCount(e,t){let l=e.cells.map((l,n)=>{var r;let i=this.limitCellByVisibleCount(l,t);return i?{cell:i,size:null==(r=e.sizes)?void 0:r[n]}:null}).filter(Boolean);return l.length?{id:e.id,cells:l.map(e=>e.cell),sizes:l.map(e=>e.size??1)}:null}limitLayoutRowsByVisibleCount(e,t){let l=[],n=t;return e.forEach(e=>{if(n<=0)return;let t=this.getRowVisibleRowCount(e),r=this.limitRowByVisibleCount(e,Math.min(t,n));r&&(l.push(r),n-=Math.min(t,n))}),l}getFullLayout(){let e=this.getStepParams(dp,dh)||{},t=this.props.layout?this.normalizeFilterFormLayout(void 0,{useVisibleItemUids:!1}):void 0,l=e.layout?this.normalizeFilterFormLayout(e,{useVisibleItemUids:!1}):void 0,n=t?(0,z.projectLayoutToLegacyRows)(t):{rows:this.props.rows||{},rowOrder:this.props.rowOrder},r=l?(0,z.projectLayoutToLegacyRows)(l):{rows:e.rows||{},rowOrder:e.rowOrder},i=n.rows,o=r.rows||{},a=Object.keys(i).length,s=Object.keys(o).length,d=e=>Object.values(e).reduce((e,t)=>e+t.reduce((e,t)=>e+t.length,0),0),u=d(i),c=d(o),p=a>s||a===s&&u>=c,h=this.mergeRowsWithItems(p?i:o),m=p?n.rowOrder||this.props.rowOrder||e.rowOrder:r.rowOrder||e.rowOrder||this.props.rowOrder;return{...this.normalizeRowsWithOrder(h,m),layout:p?t:l}}toggleFormFieldsCollapse(e,t){let{rows:l,rowOrder:n,layout:r}=this.getFullLayout();if(!e){this.normalizedItemUidsOverride=void 0;let e=this.fullLayoutBeforeCollapse||r;e?this.syncLayoutProps(e):(this.setProps("rows",l),this.setProps("rowOrder",n)),this.fullLayoutBeforeCollapse=void 0;return}this.fullLayoutBeforeCollapse||(this.fullLayoutBeforeCollapse=r||(0,z.normalizeGridLayout)({rows:l,rowOrder:n,itemUids:this.getItemUids()}));let i=r||(0,z.normalizeGridLayout)({rows:l,rowOrder:n,itemUids:this.getItemUids()}),o=(0,z.normalizeGridLayout)({layout:{version:2,rows:this.limitLayoutRowsByVisibleCount(i.rows,t)}});this.normalizedItemUidsOverride=this.collectLayoutItemUids(o.rows),this.syncLayoutProps(o),this.setProps("rowOrder",n)}async onModelCreated(e){if(!(e instanceof hx))return;let{fieldPath:t}=e.getFieldSettingsInitParams(),l=s5(e.context.blockGridModel).filter(t=>{var l;return!!(null==(l=t.resource)?void 0:l.supportsFilter)&&t.uid===e.defaultTargetUid});if(l.length>0){let n=l.map(e=>{let l=e.collection||e.context.collection;if(l){var n,r,i;let o;if(null==t?void 0:t.includes(".")){let i=`${l.dataSourceKey}.${l.name}.${t}`;o=null==(r=e.context.dataSourceManager)||null==(n=r.getCollectionField)?void 0:n.call(r,i)}if(o||(o=null==(i=l.getField)?void 0:i.call(l,t)),null==o?void 0:o.target)return{targetId:e.uid,filterPaths:[`${t}.${this.getAssociationFilterTargetKey(o)}`]}}return{targetId:e.uid,filterPaths:[t]}});await this.context.filterManager.saveConnectFieldsConfig(e.uid,{targets:n})}}renderAddSubModelButton(){var e,t,l;return this.loading.value?null:(0,V.jsx)(z.AddSubModelButton,{subModelKey:"items",model:this,afterSubModelInit:this.onModelCreated.bind(this),keepDropdownOpen:!0,subModelBaseClasses:["FilterFormItemModel","FilterFormCustomItemModel"],children:(0,V.jsx)(z.FlowSettingsButton,{icon:(0,V.jsx)(nj.A,{}),children:this.translate("Fields")})},null==(l=this.context.blockGridModel)||null==(t=l.subModels)||null==(e=t.items)?void 0:e.length)}constructor(...e){super(...e),(0,w._)(this,"fullLayoutBeforeCollapse",void 0),(0,w._)(this,"normalizedItemUidsOverride",void 0),(0,w._)(this,"readingFullLayoutForSettingsInteraction",!1),(0,w._)(this,"itemSettingsMenuLevel",2),(0,w._)(this,"itemFlowSettings",{showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}}),(0,w._)(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}}}),(0,w._)(this,"loading",z.observable.ref(!1))}}hw.registerFlow({key:"filterFormGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class hS extends pq{}hS.define({label:(0,z.tExpr)("JS action"),sort:9999}),hS.registerFlow({key:"clickSettings",on:"click",title:(0,z.tExpr)("Click settings"),steps:{runJs:{title:(0,z.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":ur.BY,"x-component-props":{minHeight:"400px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:""}),async handler(e,t){let{code:l,version:n}=ui(e,t),r=(0,z.createSafeNavigator)();await e.runjs(l,{window:(0,z.createSafeWindow)({navigator:r}),document:(0,z.createSafeDocument)(),navigator:r},{version:n})}}}});class hM extends pq{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Reset")})}}hM.registerFlow({key:"resetSettings",on:{eventName:"click"},steps:{doReset:{async handler(e,t){let l=e.model.context.blockModel,n=l.subModels.grid.subModels.items;e.form.resetFields(),setTimeout(()=>{var e;null==(e=l.applyFormDefaultValues)||e.call(l,{force:!0}).finally(()=>{n.forEach(e=>{e.doReset()})})})}}}}),hM.define({label:(0,z.tExpr)("Reset"),toggleable:!0,sort:200});class hA extends pq{onInit(e){super.onInit(e),this.context.blockModel.autoTriggerFilter=!1}onUnmount(){super.onUnmount(),this.context.blockModel.autoTriggerFilter=!0}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,z.tExpr)("Filter"),type:"primary"})}}hA.registerFlow({key:"submitSettings",on:{eventName:"click"},steps:{doFilter:{async handler(e,t){e.form.submit()}}}}),hA.define({label:(0,z.tExpr)("Filter"),toggleable:!0,sort:100});var hF=l(53138),hk=l(94313),hC=l(54490);let hP=(0,z.defineAction)({name:"connectFields",title:(0,z.tExpr)("Connect fields"),uiSchema:e=>({value:{type:"object","x-component":hI}}),beforeParamsSave(e,t){U().isEmpty(t.value)||e.model.context.filterManager.saveConnectFieldsConfig(e.model.uid,t.value),e.exit()},handler(e,t){}}),hj=2,hE=e=>!!((null==e?void 0:e.target)||(null==e?void 0:e.targetCollection)),hR=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=n.filter(Boolean);return t.map(t=>{let a=l?`${l}.${t.name}`:t.name,s=t.title||t.name,d=r?`${r} / ${s}`:s,u=hE(t),c=i+ +!!u;if(u&&c>hj)return null;let p=!u,h={label:s,value:t.name,isLeaf:p,disableCheckbox:!p,meta:{field:t,fullPath:a,fullLabel:d,associationDepth:c}};if(!p&&o.some(e=>e&&e.startsWith(a+"."))){var m,f,g;if(null==(f=t.filterable)||null==(m=f.children)?void 0:m.length)h.children=hR(e,t.filterable.children,a,n,d,c);else{let l=t.targetCollection;l&&(h.children=hR(e,(null==(g=l.getFields)?void 0:g.call(l))||[],a,n,d,c))}}return h}).filter(Boolean).sort((e,t)=>e.isLeaf&&!t.isLeaf?-1:!e.isLeaf&&t.isLeaf?1:0)};function hI(e){let t=(0,z.useFlowSettingsContext)(),l=(0,W.useMemo)(()=>s5(t.blockGridModel),[t.blockGridModel]),[n,r]=(0,W.useState)(()=>t.model.context.filterManager.getConnectFieldsConfig(t.model.uid)),[i,o]=(0,W.useState)({}),[a,s]=(0,W.useState)({});W.useEffect(()=>{(async()=>{let e={},t=((null==n?void 0:n.targets)||[]).map(e=>e.targetId);for(let n of l.filter(e=>t.includes(e.uid))){var r;let t=await (null==(r=n.getFilterFields)?void 0:r.call(n))||[];e[n.uid]=t}o(e)})()},[null==n?void 0:n.targets,l]);let d=(e,t)=>{s(l=>({...l,[e]:t}))},u=e=>a[e]||"field-select",c=(t,l)=>{var i;let o={};((null==n?void 0:n.targets)||[]).forEach(e=>{o[e.targetId]=e}),o[t]={targetId:t,filterPaths:l};let a=Object.values(o);null==(i=e.onChange)||i.call(e,{targets:a}),r({targets:a})},p=(t,l)=>{var i;let o={};((null==n?void 0:n.targets)||[]).forEach(e=>{o[e.targetId]=e}),l?o[t]={targetId:t,filterPaths:[]}:delete o[t];let a=Object.values(o);null==(i=e.onChange)||i.call(e,{targets:a}),r({targets:a})},h=t=>{var l;let i={};((null==n?void 0:n.targets)||[]).forEach(e=>{e.targetId!==t&&(i[e.targetId]=e)});let o=Object.values(i);null==(l=e.onChange)||l.call(e,{targets:o}),r({targets:o})},m=((null==n?void 0:n.targets)||[]).map(e=>e.targetId),f=l.filter(e=>{var t;return null==(t=e.resource)?void 0:t.supportsFilter}).map(e=>{let t=m.includes(e.uid);return{key:e.uid,label:(0,V.jsxs)("button",{type:"button",style:{display:"flex",justifyContent:"space-between",alignItems:"center",minWidth:"200px",border:"none",background:"none",padding:"0",width:"100%",cursor:"pointer"},onClick:l=>{l.stopPropagation(),p(e.uid,!t)},children:[(0,V.jsxs)("span",{style:{marginRight:"16px"},children:[e.title," #",e.uid.substring(0,4)]}),(0,V.jsx)(hk.A,{size:"small",checked:t})]})}});return(0,V.jsxs)("div",{children:[(0,V.jsxs)("div",{style:{marginBottom:"16px",padding:"12px",backgroundColor:"#f0f9ff",border:"1px solid #bae6fd",borderRadius:"6px",fontSize:"14px",color:"#0369a1"},children:[(0,V.jsx)("div",{style:{fontWeight:500,marginBottom:"8px"},children:t.t("Configuration:")}),(0,V.jsxs)("ul",{style:{margin:0,paddingLeft:"16px"},children:[(0,V.jsx)("li",{children:t.t('Available "target blocks" are all data blocks on the current page')}),(0,V.jsx)("li",{children:t.t("Support filtering multiple blocks simultaneously, support selection of relationship fields up to two levels (e.g.: User/Department/Name)")})]})]}),l.filter(e=>m.includes(e.uid)&&i[e.uid]).sort((e,t)=>((null==n?void 0:n.targets)||[]).findIndex(t=>t.targetId===e.uid)-((null==n?void 0:n.targets)||[]).findIndex(e=>e.targetId===t.uid)).map(e=>{var l,r;let o=i[e.uid]||[],a=(null==n||null==(r=n.targets)||null==(l=r.find(t=>t.targetId===e.uid))?void 0:l.filterPaths)||[],s=hR(t,o,"",a,""),p=a.map(e=>e.split(".")),m=u(e.uid);return(0,V.jsx)(iP.FormItem,{label:`${e.title} #${e.uid.substring(0,4)}`,children:(0,V.jsxs)("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[(0,V.jsx)("div",{style:{flex:1},children:"field-select"===m?(0,V.jsx)(hT,{options:s,value:p,onChange:t=>{let l=(t||[]).map(e=>e.join("."));c(e.uid,l)},multiple:!0,allowClear:!0,placeholder:t.t("Please select fields to filter"),style:{width:"100%"},showSearch:{filter:(e,t)=>t.some(t=>(t.label||"").toString().toLowerCase().includes(e.toLowerCase()))}}):(0,V.jsx)(nF.A,{mode:"tags",value:a,onChange:t=>c(e.uid,t),placeholder:t.t("Separate multiple values with comma or Enter"),style:{width:"100%"},allowClear:!0,tokenSeparators:[","],open:!1,suffixIcon:null})}),(0,V.jsx)(hC.A,{value:m,onChange:t=>d(e.uid,t),options:[{label:t.t("Dropdown select"),value:"field-select"},{label:t.t("Text input"),value:"text-input"}]}),(0,V.jsx)(nE.Ay,{type:"text",icon:(0,V.jsx)(hF.A,{}),onClick:()=>h(e.uid),style:{color:"#8c8c8c"},title:t.t("Delete this target block")})]})},e.uid)}),(0,V.jsx)("div",{style:{marginTop:"16px"},children:(0,V.jsx)(nh.A,{menu:{items:f},trigger:["hover"],autoFocus:!1,children:(0,V.jsx)(nE.Ay,{type:"dashed",icon:(0,V.jsx)(tI.A,{}),style:{width:"100%"},children:t.t("Add target block")})})})]})}function hT(e){let t=(0,z.useFlowSettingsContext)(),[l,n]=W.useState(e.options||[]),r=W.useMemo(()=>(e.options||[]).map(e=>{var t;return(null==e||null==(t=e.meta)?void 0:t.fullPath)||(null==e?void 0:e.value)}).filter(Boolean).join("|"),[e.options]),i=(0,eu.cx)(e.popupClassName,(0,eu.css)`
532
532
  .ant-cascader-checkbox {
533
533
  display: none;
534
534
  }
535
535
  `);W.useEffect(()=>{n(e.options||[])},[r]);let o=W.useMemo(()=>new Set((Array.isArray(e.value)?e.value:[]).map(e=>e.join("."))),[e.value]),a=(t,l)=>{var n,r;let i=null==t||null==(n=t.meta)?void 0:n.fullPath;if(!i)return;let a=new Set(o);l?a.add(i):a.delete(i);let s=Array.from(a).map(e=>e.split("."));null==(r=e.onChange)||r.call(e,s)},s=e=>{var t;let l=null==e||null==(t=e.meta)?void 0:t.fullPath,n=!!(null==e?void 0:e.isLeaf),r=!!l&&o.has(l);return(0,V.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"},children:[(0,V.jsx)("span",{children:e.label}),n?(0,V.jsx)(hk.A,{size:"small",checked:r,onClick:(e,t)=>{var l;return null==t||null==(l=t.stopPropagation)?void 0:l.call(t)},onChange:(t,l)=>{var n;null==l||null==(n=l.stopPropagation)||n.call(l),a(e,t)}}):null]})},d=e.displayRender||((e,t)=>{var l;let n=null==t?void 0:t[t.length-1],r=null==n||null==(l=n.meta)?void 0:l.fullLabel;return r||e.join(" / ")}),u=async e=>{var l,r,i,o;let a=e[e.length-1];if(!a||(null==(l=a.children)?void 0:l.length))return;let s=a.meta||{},d=s.field,u=s.fullPath;if(!d||!u){a.isLeaf=!0,n(e=>[...e]);return}let c=(null==(r=d.filterable)?void 0:r.children)||[],p=[];if(c.length?p=c:d.targetCollection&&(p=(null==(i=(o=d.targetCollection).getFields)?void 0:i.call(o))||[]),!p.length){a.isLeaf=!0,n(e=>[...e]);return}a.children=hR(t,p,u,[],s.fullLabel||a.label,s.associationDepth||0),n(e=>[...e])};return(0,V.jsx)(pj.A,{allowClear:!0,...e,options:l,loadData:u,displayRender:d,optionRender:s,popupClassName:i})}let h_=(0,z.defineAction)({name:"defaultOperator",title:(0,z.tExpr)("Default operator"),uiMode:e=>({type:"select",key:"value",props:{options:hD(e.model)}}),defaultParams(e){let t=hD(e.model);return{value:t.length>0?t[0].value:""}},handler(e,t){e.model.operator=t.value}});function hD(e){let t=e.context.collectionField||e.context.filterField;return sZ(e).filter(e=>!e.visible||e.visible(t)).map(t=>({...t,label:"string"==typeof t.label?e.translate(t.label):t.label}))}var hN=l(53869);function hO(e){var t;let l=e.operator,n=null==(t=e.subModels)?void 0:t.field;if(!n)return;if(e.setProps({key:`${e.uid}-${l||""}`}),!l)return void(0,hN.i2)(n);let r=sZ(e);(0,hN.sI)({app:e.context.app,fieldModel:n,operator:l,operators:r,propsPriority:"field"})}let h$=(0,z.defineAction)({name:"customizeFilterRender",handler(e){hO(e.model)}});function hB(e){var t,l;let n=s0(e,e.operator);if(!n)return;let r=null==n||null==(t=n.schema)?void 0:t["x-component-props"];if(!r)return;let i=null==(l=e.subModels)?void 0:l.field;(null==i?void 0:i.setProps)&&i.setProps(r)}let hL=(0,z.defineAction)({name:"operatorComponentProps",handler(e){hB(e.model)}});var hV=l(53831);class hq extends uB.F4{createResource(e,t){let l=this.context.createResource(z.SingleRecordResource);return l.isNewRecord=!0,l}getAclActionName(){return"create"}async submitHandler(e,t,l){await (0,hV.submitHandler)(e,t,l)}async submit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;await (0,hV.submitHandler)(this.context,e,t)}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:n,layout:r}=this.props,i=!!this.context.flowSettingsEnabled,{heightMode:o,height:a}=this.decoratorProps;return(0,V.jsx)(uB.JU,{model:this,gridModel:this.subModels.grid,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:n,layout:r},heightMode:o,height:a,grid:(0,V.jsx)(z.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),actions:(0,V.jsx)(z.DndProvider,{children:(0,V.jsxs)(de.A,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,V.jsx)(z.Droppable,{model:e,children:(0,V.jsx)(z.MemoFlowModelRenderer,{model:e,showFlowSettings:!!this.context.flowSettingsEnabled&&this.actionFlowSettings,extraToolbarItems:this.actionExtraToolbarItems},e.uid)},e.uid)}),this.renderConfigureActions()]})})})}constructor(...e){super(...e),(0,w._)(this,"actionFlowSettings",{showBackground:!1,showBorder:!1,toolbarPosition:"above"}),(0,w._)(this,"actionExtraToolbarItems",[{key:"drag-handler",component:z.DragHandler,sort:1}])}}(0,w._)(hq,"scene",dS.P.new),(0,w._)(hq,"blockCapabilityActionName","create"),hq.registerFlow({key:"formSettings",title:(0,z.tExpr)("Form settings"),steps:{init:{async handler(e){if(!e.resource)throw Error("Resource is not initialized")}},refresh:{}}}),hq.define({label:(0,z.tExpr)("Form (Add new)"),searchable:!0,searchPlaceholder:(0,z.tExpr)("Search"),createModelOptions:{use:"CreateFormModel",subModels:{grid:{use:"FormGridModel"}}},sort:350});class hz extends z.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("FormCustomItemModel"),n=t=>Array.from(t.entries()).map(t=>{var l,n,r,i,o;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==(r=s.meta)?void 0:r.searchPlaceholder,hide:null==(i=s.meta)?void 0:i.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==(o=s.meta)?void 0:o.createModelOptions)||{use:a},u});return U().sortBy([...n(t),...n(l)],"sort")}}(0,w._)(hz,"renderMode",z.ModelRenderMode.RenderFunction),hz.define({hide:!0,label:(0,z.tExpr)("Others")});class hK extends z.FlowModel{static defineChildren(e){return cm(e,{useModel:"FormItemModel",fieldUseModel:"JSEditableFieldModel",associationPathName:e.prefixFieldPath,refreshTargets:["FormItemModel","FilterFormItemModel"]})}}hK.define({label:(0,z.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,z.tExpr)("Search fields"),menuType:"submenu",sort:110});class hU extends uu{}hU.define({label:(0,z.tExpr)("JS action"),sort:9999}),hU.registerFlow({key:"clickSettings",on:"click",title:(0,z.tExpr)("Click settings"),steps:{runJs:{title:(0,z.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":ur.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:`
536
536
  const values = ctx.form?.getFieldsValue?.() || {};
537
537
  ctx.message.success('Current form values: ' + JSON.stringify(values));
538
- `}),async handler(e,t){let{code:l,version:n}=ui(e,t);e.defineMethod("refresh",async()=>{var t,l,n;(null==(l=e.blockModel)||null==(t=l.resource)?void 0:t.refresh)?await e.blockModel.resource.refresh():(null==(n=e.resource)?void 0:n.refresh)&&await e.resource.refresh()});let r=(0,z.createSafeNavigator)();await e.runjs(l,{window:(0,z.createSafeWindow)({navigator:r}),document:(0,z.createSafeDocument)(),navigator:r},{version:n})}}}});let hW="calc(100vh - 96px)",hH="calc(100vh - 160px)",hG="min(480px, calc(100vh - 320px))";function hY(e,t){let l={...e.getComponentProps(),...t||{}};return["markdown","vditor"].includes(e.interface)&&null==l.height&&(l.height=hG),l}class hJ extends z.FlowModel{get form(){return this.context.form}useHooksBeforeRender(){let[e]=u$.A.useForm();this.context.defineProperty("form",{get:()=>e})}static async open(e){let{flowEngine:t,target:l,dataSourceKey:n,collectionName:r,fieldPath:i,filterByTk:o,record:a,onSuccess:s,fieldProps:d,onOk:u,sourceFieldModelUid:c}=e,p=t.createModel({use:"QuickEditFormModel",stepParams:{quickEditFormSettings:{init:{dataSourceKey:n,collectionName:r,fieldPath:i}}}});console.log("QuickEditFormModel.open2",Date.now()-p.now),p.now=Date.now(),await t.context.viewer.open({type:"popover",target:l,placement:"rightTop",styles:{body:{width:420,maxHeight:hW,overflowY:"auto",overscrollBehavior:"contain"}},content:e=>(p.viewContainer=e,p.__onSubmitSuccess=s,p._fieldProps=d,p._onOk=u,console.log("QuickEditFormModel.open3",Date.now()-p.now),(0,V.jsx)(z.FlowModelRenderer,{fallback:(0,V.jsx)(r6.A.Input,{size:"small"}),model:p,inputArgs:{filterByTk:o,record:a,sourceFieldModelUid:c}}))})}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this});let t=(0,z.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.resource.getData(),cache:!1,resolveOnServer:(0,z.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.resource.getData()),meta:t}),this.context.defineProperty("collection",{get:()=>this.collection})}addAppends(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${e}`);!l||l.isAssociationField()&&(this.resource.addAppends(e),t&&this.resource.refresh())}render(){return console.log("QuickEditFormModel.open4",Date.now()-this.now),(0,V.jsxs)(uB.s2,{model:this,children:[(0,V.jsx)("div",{style:{minHeight:0,overflowY:"auto",maxHeight:hH},children:this.mapSubModels("fields",e=>{var t;return(0,V.jsx)(z.FormItem,{showLabel:!1,name:this.fieldPath,initialValue:null==(t=this.context.record)?void 0:t[this.fieldPath],...this.props,children:(0,V.jsx)(z.FieldModelRenderer,{model:e,fallback:(0,V.jsx)(r6.A.Input,{size:"small"})})},e.uid)})}),(0,V.jsxs)(de.A,{style:{display:"flex",justifyContent:"flex-end",flexShrink:0},children:[(0,V.jsx)(nE.Ay,{onClick:()=>{this.viewContainer.close()},children:this.context.t("Cancel")}),(0,V.jsx)(nE.Ay,{type:"primary",htmlType:"submit",onClick:async()=>{var e,t,l,n,r;let i=this.form.getFieldsValue();await this.form.submit();let o={...i},a={[this.fieldPath]:null==(e=this.resource.getData())?void 0:e[this.fieldPath]};if(this._onOk)this._onOk(o),this.viewContainer.close();else try{await this.resource.save(o,{refresh:!1}),null==(t=(l=this).__onSubmitSuccess)||t.call(l,o),this.viewContainer.close(),this.context.message.success(this.context.t("Saved successfully"))}catch(e){console.error("Failed to save form data:",e),this.context.message.error(this.context.t("Failed to save form data")),null==(n=(r=this).__onSubmitSuccess)||n.call(r,a)}},children:this.context.t("Submit")})]})]})}constructor(...e){super(...e),(0,w._)(this,"fieldPath",void 0),(0,w._)(this,"now",Date.now()),(0,w._)(this,"viewContainer",void 0),(0,w._)(this,"__onSubmitSuccess",void 0),(0,w._)(this,"_fieldProps",void 0),(0,w._)(this,"_onOk",void 0)}}hJ.registerFlow({key:"quickEditFormSettings",sort:100,steps:{init:{async handler(e,t){let{dataSourceKey:l,collectionName:n,fieldPath:r}=t;if(!l||!n||!r)throw Error("dataSourceKey, collectionName and fieldPath are required parameters");e.model.fieldPath=r,e.model.collection=e.dataSourceManager.getCollection(l,n);let i=e.createResource(z.SingleRecordResource);i.setDataSourceKey(l),i.setResourceName(n),e.model.resource=i;let o=e.model.collection.getField(r);if(o){let t=u8.getDefaultBindingByField(e,o);if(!t)return;let i=t.modelName,a=e.model.addSubModel("fields",{use:i,props:"function"==typeof t.defaultProps?t.defaultProps(e,o):t.defaultProps,stepParams:{fieldSettings:{init:{dataSourceKey:l,collectionName:n,fieldPath:r}}}});a.setProps(hY(o,e.model._fieldProps)),a.setProps({sourceFieldModelUid:e.inputArgs.sourceFieldModelUid}),e.model.context.defineProperty("collectionField",{get:()=>o}),e.model.addAppends(r),await a.dispatchEvent("beforeRender")}if(e.inputArgs.filterByTk||e.inputArgs.record){var a;i.setFilterByTk(e.inputArgs.filterByTk),i.setData(e.inputArgs.record),null==(a=e.model.form)||a.setFieldsValue(i.getData())}}}}}),hJ.define({hide:!0});class hX extends sK{}(0,w._)(hX,"itemModelName","FormAssociationItemModel"),hX.define({label:'{{t("Display association fields")}}'});let hQ=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=(0,z.useFlowContext)();return(0,r3.A)(async()=>await l.resolveJsonTemplate(e),{refreshDeps:t})},hZ=2;function h0(e,t){if(!t)return e;let l=[...e];return t.forEach(e=>{let[t,n]=e.split(":");if(l.includes(t)){let e=l.indexOf(t),r=Number(n);l.splice(e+1,0,Number.isFinite(r)?r:n)}}),l}function h1(e,t){if(null==e)return e;let l=typeof e;if("string"===l||"number"===l||"boolean"===l)return e;if("bigint"===l)return String(e);if(Array.isArray(e))return e.map(e=>{let l=h1(e,t);return null==l?"":String(l)}).join(",");if("object"===l){let l=(0,K.castArray)(t).filter(Boolean);if(1===l.length){let t=h1((0,K.get)(e,l[0]));if(void 0!==t)return t}if(l.length>1)return JSON.stringify(l.map(t=>h1((0,K.get)(e,t))??null));let n=e.id??e.value??e.key;if("string"==typeof n||"number"==typeof n)return n;if("bigint"==typeof n)return String(n)}}let h2=e=>{let t=e.underSubForm?"ctx.item.value":"ctx.formValues",l=`{{${t}.${e.fieldPath}}}`,{data:n,loading:r,error:i}=hQ(l,[l,e.refreshKey]);return r?(0,V.jsx)("div",{children:"Loading..."}):i?(0,V.jsxs)("div",{children:["Error: ",i.message]}):(0,V.jsx)(z.FieldModelRenderer,{...e.mergedProps,model:e.modelForRender,value:n||e.value})};class h5 extends z.DisplayItemModel{static defineChildren(e){let t=e.collection,l=e.prefixFieldPath?e.prefixFieldPath.split(".").filter(Boolean).length:0;return t.getFields().map(n=>{var r;if(l>=hZ&&((null==(r=n.isAssociationField)?void 0:r.call(n))||n.target||n.targetCollection))return null;let i=this.getDefaultBindingByField(e,n,{fallbackToTargetTitleField:!0});if(!i)return null;let o=i.modelName,a=e.prefixFieldPath?`${e.prefixFieldPath}.${n.name}`:n.name;return{key:a,label:n.title,refreshTargets:["DetailsCustomItemModel/DetailsJSFieldItemModel"],toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===a},useModel:"FormAssociationItemModel",createModelOptions:()=>({use:"FormAssociationItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:a}}},subModels:{field:{use:o,props:"function"==typeof i.defaultProps?i.defaultProps(e,n):i.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,r=null!=t?(()=>{let r=e.createFork({},`${t}`);return r.context.defineProperty("fieldIndex",{get:()=>t}),r.context.defineProperty("record",{get:()=>l,cache:!1}),r.context.defineProperty("currentObject",{get:()=>n,cache:!1}),this.context.pattern&&r.context.defineProperty("pattern",{get:()=>this.context.pattern}),r})():e,i=this.collectionField.name,o=this.fieldPath.replace(RegExp(`\\.${i}$`),""),a=h0((0,K.castArray)(o.split(".")),t),s=this.context.prefixFieldPath;return(0,V.jsx)(z.FormItem,{...this.props,shouldUpdate:(e,t)=>{let l=a.length>1&&!(0,K.get)(e,[...a])?a.slice(0,-1):a;return JSON.stringify((0,K.get)(e,[...l]))!==JSON.stringify((0,K.get)(t,[...l]))},children:()=>{var e,t,l,n;let i=h1(null==(t=this.context.form)||null==(e=t.getFieldValue)?void 0:e.call(t,a),null==(n=this.collectionField)||null==(l=n.collection)?void 0:l.filterTargetKey)||(0,iE.uid)();return(0,V.jsx)(h2,{modelForRender:r,fieldPath:this.fieldPath.replace(RegExp(`^${s}\\.`),""),refreshKey:i,mergedProps:this.props,underSubForm:!!s})}})}}h5.define({label:(0,z.tExpr)("Display fields"),sort:100}),h5.registerFlow({key:"detailItemSettings",sort:300,title:(0,z.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,z.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,z.tExpr)("Label"),uiSchema:e=>({title:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let n=e.model,r=null==(l=n.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:n.context.t("Original field title: ")+(n.context.t(r)??"")}}}}),defaultParams:e=>{var t;return{title:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){e.model.setProps({label:e.t(t.title,{ns:"lm-flow-engine"})})}},aclCheck:{use:"aclCheck"},init:{async handler(e){let{collectionField:t}=e.model;t&&e.model.setProps(t.getComponentProps())}},tooltip:{title:(0,z.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,z.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,z.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,z.tExpr)("Title field"),beforeParamsSave:async(e,t,l)=>{if(!e.collectionField||!e.collectionField.isAssociationField())return null;if(t.label!==l.label){var n,r;e.model.setProps({titleField:t.label,...null==(r=e.collectionField.targetCollection)||null==(n=r.getField(t.label))?void 0:n.getComponentProps()});let l=e.collectionField.targetCollection.getField(t.label),i=z.DisplayItemModel.getDefaultBindingByField(e,l),o=i.modelName;await uH({parentModel:e.model,targetUse:o,defaultProps:"function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,e.collectionField):null==i?void 0:i.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 r=e.collectionField.targetCollection;if(r){let l=r.getField(t.label),n=z.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}}}),h5.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"}}});var h4=l(39580);let h8="client",h3=e=>e&&(e.closest(".nb-block-grid")||e.closest(".nb-page-wrapper")||e.closest(".nb-page"))||document.documentElement,h6=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),n=parseFloat(l.marginTop)||0,r=parseFloat(l.marginBottom)||0;return t.height+n+r},h9=e=>{if(!e||e===document.documentElement)return{top:0,bottom:0};let t=window.getComputedStyle(e);return{top:parseFloat(t.paddingTop)||0,bottom:parseFloat(t.paddingBottom)||0}},h7=e=>{let t=e.closest(".nb-page");return t?t.querySelector(".ant-page-header")||t.querySelector(".pageHeaderCss"):null},me=e=>{let t=e.querySelector("[data-flow-add-block]");return t?t.parentElement||t:null};function mt(e,t){let l=t>0;return e>0?e:l?t:0}let ml=e=>{let{height:t,heightMode:l,hostRef:n,marginBlock:r}=e,[i,o]=W.useState(),a=W.useCallback(()=>{if("fullHeight"!==l||"u"<typeof window)return void o(e=>void 0===e?e:void 0);let e=n.current;if(!e)return;let t=h3(e),i=e.getBoundingClientRect(),a=t===document.documentElement?{top:0}:t.getBoundingClientRect(),s=h9(t),d=me(t),u=a.top+s.top,c=Math.max(0,i.top-u),p=s.bottom+r;d&&(p=r+h6(d)+s.bottom);let h=Math.max(0,Math.floor(window.innerHeight-mt(u,110)-c-p-1));o(e=>e===h?e:h)},[l,n,r]);return(W.useLayoutEffect(()=>{a()},[a]),W.useEffect(()=>{if("fullHeight"!==l||"u"<typeof window)return;let e=n.current;if(!e||"u"<typeof ResizeObserver)return;let t=h3(e),r=h7(t),i=me(t),o=new ResizeObserver(()=>a());return o.observe(e),t instanceof HTMLElement&&o.observe(t),r&&o.observe(r),i&&o.observe(i),window.addEventListener("resize",a),()=>{o.disconnect(),window.removeEventListener("resize",a)}},[l,n,a]),"specifyValue"===l)?t:"fullHeight"===l?i:null},mn=e=>{let{uid:t,className:l,heightMode:n,height:r,style:i,beforeContent:o,afterContent:a,contentRef:s,marginBlock:d,...u}=e,c=W.useRef(null),p=ml({height:r,heightMode:n,hostRef:c,marginBlock:d});return(0,V.jsxs)("div",{...u,ref:c,id:`model-${t}`,className:l,style:{display:"flex",flexDirection:"column",height:p??void 0,minHeight:0,overflow:"auto",...i||{}},children:[o,(0,V.jsx)("div",{ref:s}),a]})};class mr extends dS.z{get showBlockCard(){var e;return(null==(e=this.getStepParams("jsSettings","showBlockCard"))?void 0:e.showBlockCard)!==!1}renderComponent(){return(0,V.jsx)("div",{ref:this.context.ref})}render(){let{className:e,id:t,title:l,description:n,showCard:r,heightMode:i,height:o,style:a,beforeContent:s,afterContent:d,...u}=this.decoratorProps||{},c=["code-block",e].filter(Boolean).join(" ");if(!this.showBlockCard){var p;return(0,V.jsx)(mn,{...u,uid:this.uid,className:c,heightMode:i,height:o,style:a,beforeContent:s,afterContent:d,contentRef:this.context.ref,marginBlock:(null==(p=this.context.themeToken)?void 0:p.marginBlock)??0})}let h={...u,height:o,style:a,...void 0===s?{}:{beforeContent:s},...void 0===d?{}:{afterContent:d}};return(0,V.jsx)(h4.tn,{id:`model-${this.uid}`,className:c,title:l,description:n,heightMode:i,...h,children:(0,V.jsx)("div",{ref:this.context.ref})})}onMount(){this._mountedOnce&&this.context.ref.current&&this.rerender(),this._mountedOnce=!0}constructor(...e){super(...e),(0,w._)(this,"_mountedOnce",!1)}}mr.define({label:(0,z.tExpr)("JS block"),createModelOptions:{use:"JSBlockModel"}}),mr.registerFlow({key:"jsSettings",title:"JavaScript settings",steps:{showBlockCard:{title:(0,z.tExpr)("Show block card"),uiMode:{type:"switch",key:"showBlockCard"},defaultParams:{showBlockCard:!0}},runJs:{title:(0,z.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":ur.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:`// Welcome to the JS block
538
+ `}),async handler(e,t){let{code:l,version:n}=ui(e,t);e.defineMethod("refresh",async()=>{var t,l,n;(null==(l=e.blockModel)||null==(t=l.resource)?void 0:t.refresh)?await e.blockModel.resource.refresh():(null==(n=e.resource)?void 0:n.refresh)&&await e.resource.refresh()});let r=(0,z.createSafeNavigator)();await e.runjs(l,{window:(0,z.createSafeWindow)({navigator:r}),document:(0,z.createSafeDocument)(),navigator:r},{version:n})}}}});let hW="calc(100vh - 96px)",hH="calc(100vh - 160px)",hG="min(480px, calc(100vh - 320px))";function hY(e,t){let l={...e.getComponentProps(),...t||{}};return["markdown","vditor"].includes(e.interface)&&null==l.height&&(l.height=hG),l}class hJ extends z.FlowModel{get form(){return this.context.form}useHooksBeforeRender(){let[e]=u$.A.useForm();this.context.defineProperty("form",{get:()=>e})}static async open(e){let{flowEngine:t,target:l,dataSourceKey:n,collectionName:r,fieldPath:i,filterByTk:o,record:a,onSuccess:s,fieldProps:d,onOk:u,sourceFieldModelUid:c}=e,p=c?t.getModel(c):void 0,h=t.createModel({use:"QuickEditFormModel",stepParams:{quickEditFormSettings:{init:{dataSourceKey:n,collectionName:r,fieldPath:i}}}},p?{delegate:p.context}:void 0);await t.context.viewer.open({type:"popover",target:l,placement:"rightTop",styles:{body:{width:420,maxHeight:hW,overflowY:"auto",overscrollBehavior:"contain"}},content:e=>(h.viewContainer=e,h.__onSubmitSuccess=s,h._fieldProps=d,h._onOk=u,(0,V.jsx)(z.FlowModelRenderer,{fallback:(0,V.jsx)(r6.A.Input,{size:"small"}),model:h,inputArgs:{filterByTk:o,record:a,sourceFieldModelUid:c}}))})}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this});let t=(0,z.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.resource.getData(),cache:!1,resolveOnServer:(0,z.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.resource.getData()),meta:t}),this.context.defineProperty("collection",{get:()=>this.collection})}addAppends(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${e}`);!l||l.isAssociationField()&&(this.resource.addAppends(e),t&&this.resource.refresh())}render(){return(0,V.jsxs)(uB.s2,{model:this,children:[(0,V.jsx)("div",{style:{minHeight:0,overflowY:"auto",maxHeight:hH},children:this.mapSubModels("fields",e=>{var t;return(0,V.jsx)(z.FormItem,{showLabel:!1,name:this.fieldPath,initialValue:null==(t=this.context.record)?void 0:t[this.fieldPath],...this.props,children:(0,V.jsx)(z.FieldModelRenderer,{model:e,fallback:(0,V.jsx)(r6.A.Input,{size:"small"})})},e.uid)})}),(0,V.jsxs)(de.A,{style:{display:"flex",justifyContent:"flex-end",flexShrink:0},children:[(0,V.jsx)(nE.Ay,{onClick:()=>{this.viewContainer.close()},children:this.context.t("Cancel")}),(0,V.jsx)(nE.Ay,{type:"primary",htmlType:"submit",onClick:async()=>{var e,t,l,n,r;let i=this.form.getFieldsValue();await this.form.submit();let o={...i},a={[this.fieldPath]:null==(e=this.resource.getData())?void 0:e[this.fieldPath]};if(this._onOk)this._onOk(o),this.viewContainer.close();else try{await this.resource.save(o,{refresh:!1}),null==(t=(l=this).__onSubmitSuccess)||t.call(l,o),this.viewContainer.close(),this.context.message.success(this.context.t("Saved successfully"))}catch(e){console.error("Failed to save form data:",e),this.context.message.error(this.context.t("Failed to save form data")),null==(n=(r=this).__onSubmitSuccess)||n.call(r,a)}},children:this.context.t("Submit")})]})]})}constructor(...e){super(...e),(0,w._)(this,"fieldPath",void 0),(0,w._)(this,"viewContainer",void 0),(0,w._)(this,"__onSubmitSuccess",void 0),(0,w._)(this,"_fieldProps",void 0),(0,w._)(this,"_onOk",void 0)}}hJ.registerFlow({key:"quickEditFormSettings",sort:100,steps:{init:{async handler(e,t){let{dataSourceKey:l,collectionName:n,fieldPath:r}=t;if(!l||!n||!r)throw Error("dataSourceKey, collectionName and fieldPath are required parameters");e.model.fieldPath=r,e.model.collection=e.dataSourceManager.getCollection(l,n);let i=e.createResource(z.SingleRecordResource);i.setDataSourceKey(l),i.setResourceName(n),e.model.resource=i;let o=e.model.collection.getField(r);if(o){let t=u8.getDefaultBindingByField(e,o);if(!t)return;let i=t.modelName,a=e.model.addSubModel("fields",{use:i,props:"function"==typeof t.defaultProps?t.defaultProps(e,o):t.defaultProps,stepParams:{fieldSettings:{init:{dataSourceKey:l,collectionName:n,fieldPath:r}}}});a.setProps(hY(o,e.model._fieldProps)),a.setProps({sourceFieldModelUid:e.inputArgs.sourceFieldModelUid}),e.model.context.defineProperty("collectionField",{get:()=>o}),e.model.addAppends(r),await a.dispatchEvent("beforeRender")}if(e.inputArgs.filterByTk||e.inputArgs.record){var a;i.setFilterByTk(e.inputArgs.filterByTk),i.setData(e.inputArgs.record),null==(a=e.model.form)||a.setFieldsValue(i.getData())}}}}}),hJ.define({hide:!0});class hX extends sK{}(0,w._)(hX,"itemModelName","FormAssociationItemModel"),hX.define({label:'{{t("Display association fields")}}'});let hQ=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=(0,z.useFlowContext)();return(0,r3.A)(async()=>await l.resolveJsonTemplate(e),{refreshDeps:t})},hZ=2;function h0(e,t){if(!t)return e;let l=[...e];return t.forEach(e=>{let[t,n]=e.split(":");if(l.includes(t)){let e=l.indexOf(t),r=Number(n);l.splice(e+1,0,Number.isFinite(r)?r:n)}}),l}function h1(e,t){if(null==e)return e;let l=typeof e;if("string"===l||"number"===l||"boolean"===l)return e;if("bigint"===l)return String(e);if(Array.isArray(e))return e.map(e=>{let l=h1(e,t);return null==l?"":String(l)}).join(",");if("object"===l){let l=(0,K.castArray)(t).filter(Boolean);if(1===l.length){let t=h1((0,K.get)(e,l[0]));if(void 0!==t)return t}if(l.length>1)return JSON.stringify(l.map(t=>h1((0,K.get)(e,t))??null));let n=e.id??e.value??e.key;if("string"==typeof n||"number"==typeof n)return n;if("bigint"==typeof n)return String(n)}}let h2=e=>{let t=e.underSubForm?"ctx.item.value":"ctx.formValues",l=`{{${t}.${e.fieldPath}}}`,{data:n,loading:r,error:i}=hQ(l,[l,e.refreshKey]);return r?(0,V.jsx)("div",{children:"Loading..."}):i?(0,V.jsxs)("div",{children:["Error: ",i.message]}):(0,V.jsx)(z.FieldModelRenderer,{...e.mergedProps,model:e.modelForRender,value:n||e.value})};class h5 extends z.DisplayItemModel{static defineChildren(e){let t=e.collection,l=e.prefixFieldPath?e.prefixFieldPath.split(".").filter(Boolean).length:0;return t.getFields().map(n=>{var r;if(l>=hZ&&((null==(r=n.isAssociationField)?void 0:r.call(n))||n.target||n.targetCollection))return null;let i=this.getDefaultBindingByField(e,n,{fallbackToTargetTitleField:!0});if(!i)return null;let o=i.modelName,a=e.prefixFieldPath?`${e.prefixFieldPath}.${n.name}`:n.name;return{key:a,label:n.title,refreshTargets:["DetailsCustomItemModel/DetailsJSFieldItemModel"],toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===a},useModel:"FormAssociationItemModel",createModelOptions:()=>({use:"FormAssociationItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:a}}},subModels:{field:{use:o,props:"function"==typeof i.defaultProps?i.defaultProps(e,n):i.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,r=null!=t?(()=>{let r=e.createFork({},`${t}`);return r.context.defineProperty("fieldIndex",{get:()=>t}),r.context.defineProperty("record",{get:()=>l,cache:!1}),r.context.defineProperty("currentObject",{get:()=>n,cache:!1}),this.context.pattern&&r.context.defineProperty("pattern",{get:()=>this.context.pattern}),r})():e,i=this.collectionField.name,o=this.fieldPath.replace(RegExp(`\\.${i}$`),""),a=h0((0,K.castArray)(o.split(".")),t),s=this.context.prefixFieldPath;return(0,V.jsx)(z.FormItem,{...this.props,shouldUpdate:(e,t)=>{let l=a.length>1&&!(0,K.get)(e,[...a])?a.slice(0,-1):a;return JSON.stringify((0,K.get)(e,[...l]))!==JSON.stringify((0,K.get)(t,[...l]))},children:()=>{var e,t,l,n;let i=h1(null==(t=this.context.form)||null==(e=t.getFieldValue)?void 0:e.call(t,a),null==(n=this.collectionField)||null==(l=n.collection)?void 0:l.filterTargetKey)||(0,iE.uid)();return(0,V.jsx)(h2,{modelForRender:r,fieldPath:this.fieldPath.replace(RegExp(`^${s}\\.`),""),refreshKey:i,mergedProps:this.props,underSubForm:!!s})}})}}h5.define({label:(0,z.tExpr)("Display fields"),sort:100}),h5.registerFlow({key:"detailItemSettings",sort:300,title:(0,z.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,z.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,z.tExpr)("Label"),uiSchema:e=>({title:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let n=e.model,r=null==(l=n.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:n.context.t("Original field title: ")+(n.context.t(r)??"")}}}}),defaultParams:e=>{var t;return{title:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){e.model.setProps({label:e.t(t.title,{ns:"lm-flow-engine"})})}},aclCheck:{use:"aclCheck"},init:{async handler(e){let{collectionField:t}=e.model;t&&e.model.setProps(t.getComponentProps())}},tooltip:{title:(0,z.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,z.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,z.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,z.tExpr)("Title field"),beforeParamsSave:async(e,t,l)=>{if(!e.collectionField||!e.collectionField.isAssociationField())return null;if(t.label!==l.label){var n,r;e.model.setProps({titleField:t.label,...null==(r=e.collectionField.targetCollection)||null==(n=r.getField(t.label))?void 0:n.getComponentProps()});let l=e.collectionField.targetCollection.getField(t.label),i=z.DisplayItemModel.getDefaultBindingByField(e,l),o=i.modelName;await uH({parentModel:e.model,targetUse:o,defaultProps:"function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,e.collectionField):null==i?void 0:i.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 r=e.collectionField.targetCollection;if(r){let l=r.getField(t.label),n=z.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}}}),h5.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"}}});var h4=l(39580);let h8="client",h3=e=>e&&(e.closest(".nb-block-grid")||e.closest(".nb-page-wrapper")||e.closest(".nb-page"))||document.documentElement,h6=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),n=parseFloat(l.marginTop)||0,r=parseFloat(l.marginBottom)||0;return t.height+n+r},h9=e=>{if(!e||e===document.documentElement)return{top:0,bottom:0};let t=window.getComputedStyle(e);return{top:parseFloat(t.paddingTop)||0,bottom:parseFloat(t.paddingBottom)||0}},h7=e=>{let t=e.closest(".nb-page");return t?t.querySelector(".ant-page-header")||t.querySelector(".pageHeaderCss"):null},me=e=>{let t=e.querySelector("[data-flow-add-block]");return t?t.parentElement||t:null};function mt(e,t){let l=t>0;return e>0?e:l?t:0}let ml=e=>{let{height:t,heightMode:l,hostRef:n,marginBlock:r}=e,[i,o]=W.useState(),a=W.useCallback(()=>{if("fullHeight"!==l||"u"<typeof window)return void o(e=>void 0===e?e:void 0);let e=n.current;if(!e)return;let t=h3(e),i=e.getBoundingClientRect(),a=t===document.documentElement?{top:0}:t.getBoundingClientRect(),s=h9(t),d=me(t),u=a.top+s.top,c=Math.max(0,i.top-u),p=s.bottom+r;d&&(p=r+h6(d)+s.bottom);let h=Math.max(0,Math.floor(window.innerHeight-mt(u,110)-c-p-1));o(e=>e===h?e:h)},[l,n,r]);return(W.useLayoutEffect(()=>{a()},[a]),W.useEffect(()=>{if("fullHeight"!==l||"u"<typeof window)return;let e=n.current;if(!e||"u"<typeof ResizeObserver)return;let t=h3(e),r=h7(t),i=me(t),o=new ResizeObserver(()=>a());return o.observe(e),t instanceof HTMLElement&&o.observe(t),r&&o.observe(r),i&&o.observe(i),window.addEventListener("resize",a),()=>{o.disconnect(),window.removeEventListener("resize",a)}},[l,n,a]),"specifyValue"===l)?t:"fullHeight"===l?i:null},mn=e=>{let{uid:t,className:l,heightMode:n,height:r,style:i,beforeContent:o,afterContent:a,contentRef:s,marginBlock:d,...u}=e,c=W.useRef(null),p=ml({height:r,heightMode:n,hostRef:c,marginBlock:d});return(0,V.jsxs)("div",{...u,ref:c,id:`model-${t}`,className:l,style:{display:"flex",flexDirection:"column",height:p??void 0,minHeight:0,overflow:"auto",...i||{}},children:[o,(0,V.jsx)("div",{ref:s}),a]})};class mr extends dS.z{get showBlockCard(){var e;return(null==(e=this.getStepParams("jsSettings","showBlockCard"))?void 0:e.showBlockCard)!==!1}renderComponent(){return(0,V.jsx)("div",{ref:this.context.ref})}render(){let{className:e,id:t,title:l,description:n,showCard:r,heightMode:i,height:o,style:a,beforeContent:s,afterContent:d,...u}=this.decoratorProps||{},c=["code-block",e].filter(Boolean).join(" ");if(!this.showBlockCard){var p;return(0,V.jsx)(mn,{...u,uid:this.uid,className:c,heightMode:i,height:o,style:a,beforeContent:s,afterContent:d,contentRef:this.context.ref,marginBlock:(null==(p=this.context.themeToken)?void 0:p.marginBlock)??0})}let h={...u,height:o,style:a,...void 0===s?{}:{beforeContent:s},...void 0===d?{}:{afterContent:d}};return(0,V.jsx)(h4.tn,{id:`model-${this.uid}`,className:c,title:l,description:n,heightMode:i,...h,children:(0,V.jsx)("div",{ref:this.context.ref})})}onMount(){this._mountedOnce&&this.context.ref.current&&this.rerender(),this._mountedOnce=!0}constructor(...e){super(...e),(0,w._)(this,"_mountedOnce",!1)}}mr.define({label:(0,z.tExpr)("JS block"),createModelOptions:{use:"JSBlockModel"}}),mr.registerFlow({key:"jsSettings",title:"JavaScript settings",steps:{showBlockCard:{title:(0,z.tExpr)("Show block card"),uiMode:{type:"switch",key:"showBlockCard"},defaultParams:{showBlockCard:!0}},runJs:{title:(0,z.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":ur.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:`// Welcome to the JS block
539
539
  // Create powerful interactive components with JavaScript
540
540
  ctx.render(\`
541
541
  <div style="padding: 24px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; max-width: 600px;">
@@ -810,7 +810,7 @@ ctx.render(\`
810
810
  &:hover .edit-icon {
811
811
  display: inline-flex;
812
812
  }
813
- `),children:[(0,V.jsx)(mq.A,{className:"edit-icon",onClick:async e=>{e.preventDefault(),e.stopPropagation();try{await hJ.open({flowEngine:p.flowEngine,target:c.current,dataSourceKey:p.collection.dataSourceKey,collectionName:p.collection.name,fieldPath:a,record:i,fieldProps:{...d.props,...d.subModels.field.props},onOk:e=>{i[a]=e[a];let t=p.subModels.field.createFork({},`${o}`),l=(0,z.createCurrentRecordMetaFactory)(t.context,()=>t.context.collection);t.context.defineProperty("record",{get:()=>i,cache:!1,meta:l}),t.setProps({...p.props,value:e[a]}),t.context.defineProperty("recordIndex",{get:()=>o}),p.rerender()}})}catch(e){console.log(e)}}}),(0,V.jsx)("div",{ref:c,className:(0,eu.css)`
813
+ `),children:[(0,V.jsx)(mq.A,{className:"edit-icon",onClick:async e=>{e.preventDefault(),e.stopPropagation();try{await hJ.open({flowEngine:p.flowEngine,target:c.current,dataSourceKey:p.collection.dataSourceKey,collectionName:p.collection.name,fieldPath:a,record:i,fieldProps:{...d.props,...d.subModels.field.props},sourceFieldModelUid:d.subModels.field.uid,onOk:e=>{i[a]=e[a];let t=p.subModels.field.createFork({},`${o}`),l=(0,z.createCurrentRecordMetaFactory)(t.context,()=>t.context.collection);t.context.defineProperty("record",{get:()=>i,cache:!1,meta:l}),t.setProps({...p.props,value:e[a]}),t.context.defineProperty("recordIndex",{get:()=>o}),p.rerender()}})}catch(e){console.log(e)}}}),(0,V.jsx)("div",{ref:c,className:(0,eu.css)`
814
814
  overflow: hidden;
815
815
  text-overflow: ellipsis;
816
816
  white-space: nowrap;
@@ -952,7 +952,7 @@ ctx.render(<JsItem />);
952
952
  font-size: 90%;
953
953
  background: none !important;
954
954
  border: none !important;
955
- `,y3=e=>{let{content:t,style:l,className:n}=e,r=(0,W.useRef)(null),[i,o]=(0,W.useState)(!1);(0,W.useEffect)(()=>{let e=r.current;e&&o(e.scrollWidth>e.clientWidth)},[t]);let a=(0,V.jsx)("div",{ref:r,style:{...l,whiteSpace:"nowrap",fontFamily:"Consolas, Monaco, monospace",overflow:"hidden",textOverflow:"ellipsis"},children:t});return i?(0,V.jsx)(t_.A,{title:(0,V.jsx)("pre",{style:{margin:0,maxHeight:400},className:n,children:t}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",maxWidth:500},color:"#fff",overlayStyle:{maxWidth:500,whiteSpace:"pre-wrap"},children:a}):a};class y6 extends yO{renderComponent(e){let{space:t,style:l,className:n,overflowMode:r}=this.props,i="";if(null!=e)try{i=JSON.stringify(e,null,t??2)}catch(e){i=this.flowEngine.translate("Invalid JSON format")}return"ellipsis"===r?(0,V.jsx)(y3,{content:i,style:l,className:(0,eu.cx)(n,y8)}):(0,V.jsx)("pre",{className:(0,eu.cx)(n,y8),style:l,children:i})}render(){return this.renderComponent(this.props.value)}}z.DisplayItemModel.bindModelToInterface("DisplayJSONFieldModel",["json"],{isDefault:!0});var y9=l(47275);function y7(e){let t=(0,K.toString)(e);return t.includes(".")?t.split(".")[1].replace(/0+$/,"").length:0}let be={"0,0.00":{thousands:",",decimal:"."},"0.0,00":{thousands:".",decimal:","},"0 0,00":{thousands:" ",decimal:"."},"0.00":{thousands:"",decimal:"."}};function bt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3?arguments[3]:void 0;if(e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER)return bl(e,t,l,n);let r=e;n&&(r=Number(e));let i="";if(be[t]){let{thousands:e,decimal:n}=be[t];i=r.toLocaleString("en-US",{style:"decimal",minimumFractionDigits:l,maximumFractionDigits:l}).replace(/,/g,"comma_placeholder").replace(/\./g,"dot_placeholder").replace(/comma_placeholder/g,e).replace(/dot_placeholder/g,n)}else i=r.toString();return i}function bl(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3?arguments[3]:void 0,r=e;n&&(r=new vK.A(e).toString());let i="";if(be[t]){let{thousands:e,decimal:n}=be[t],[o,a]=r.toString().split("."),s=a,d=o.replace(/\B(?=(\d{3})+(?!\d))/g,e);s&&l?(s=s.substring(0,l),i=`${d}${n}${s}`):i=d}else i=r.toString();return i}function bn(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*",n=arguments.length>2?arguments[2]:void 0;if(!n)return e;if("*"===l)t=e*n;else{if("/"!==l)return console.error("Error: Invalid operator. Use '*' for multiplication or '/' for division."),null;if(0===n)return console.error("Error: Division by zero."),null;t=e/n}return iI.LIG(t,9)}function br(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";return(0,y9.GP)(`.${t}e`)(e).replace(".",l).replace(/e([+-]?\d+)/,(e,t)=>t.startsWith("+")?`\xd710<sup>${t.slice(1)}</sup>`:`\xd710<sup>-${t.slice(1)}</sup>`)}function bi(e){let t,{step:l,formatStyle:n="normal",value:r,unitConversion:i,unitConversionType:o,separator:a="0,0.00"}=e;if(!(0,iE.isValid)(r))return null;let s=bn(r,o,i);if(t=bt((0,em.toFixedByStep)(s,l),a,y7(l),n),"scientifix"===n){var d;t=br(Number(s),y7(l),null==be||null==(d=be[a])?void 0:d.decimal)}return"NaN"===t&&(t=r),t}let bo=e=>{let{numberStep:t,formatStyle:l,value:n,unitConversion:r,unitConversionType:i,separator:o}=e;return bi({step:t,formatStyle:l,value:n,unitConversion:r,unitConversionType:i,separator:o})};class ba extends gP{renderComponent(e){let{addonBefore:t,addonAfter:l,style:n,className:r}=this.props,i=bo({...this.props,value:e});return i?(0,V.jsxs)("span",{className:r,style:n,children:[t,(0,V.jsx)("span",{dangerouslySetInnerHTML:{__html:i}}),l]}):null}}ba.define({label:(0,z.tExpr)("Number")});let bs=()=>{let e=(0,ni.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,lI.B)();return(0,V.jsxs)(nF.A,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,V.jsx)(nF.A.Option,{value:"*",children:l("Multiply by")}),(0,V.jsx)(nF.A.Option,{value:"/",children:l("Divide by")})]})};ba.registerFlow({key:"numberSettings",sort:500,title:(0,z.tExpr)("Number settings"),steps:{format:{title:(0,z.tExpr)("Number format"),use:"numberFormat"}}}),z.DisplayItemModel.bindModelToInterface("DisplayNumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0});class bd extends aR.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,V.jsx)("div",{className:l,style:t,children:"********"}):(0,V.jsx)("div",{className:l,style:t})}}z.DisplayItemModel.bindModelToInterface("DisplayPasswordFieldModel",["password"],{isDefault:!0});class bu extends gP{renderComponent(e){let{addonBefore:t="",addonAfter:l="%",numberStep:n,style:r,className:i}=this.props,o=iI.LIG(100*e,9);if(null==e)return;let a=bo({...this.props,value:o,numberStep:n});return a?(0,V.jsxs)("div",{className:i,style:r,children:[t,(0,V.jsx)("span",{dangerouslySetInnerHTML:{__html:a}}),l]}):null}}bu.registerFlow({key:"numberSettings",sort:500,title:(0,z.tExpr)("Number settings"),steps:{format:{title:(0,z.tExpr)("Number format"),uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,z.tExpr)("Normal")},{value:"scientifix",label:(0,z.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,V.jsx)(bs,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem","x-disabled":!0}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:n,separator:r,step:i,addonBefore:o,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:n,separator:r||"0,0.00",numberStep:i||"1",addonBefore:o,addonAfter:a||"%"}},handler(e,t){let{formatStyle:l,unitConversion:n,unitConversionType:r,separator:i,numberStep:o,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:n,unitConversionType:r,separator:i,numberStep:o,addonBefore:a,addonAfter:s})}}}}),bu.define({label:(0,z.tExpr)("Percent")}),z.DisplayItemModel.bindModelToInterface("DisplayPercentFieldModel",["percent"],{isDefault:!0});class bc extends gP{t(e){return"string"!=typeof e?e:e.startsWith("{{")&&e.endsWith("}}")?this.translate(e):e}renderComponent(e,t){let{prefix:l,suffix:n,overflowMode:r,style:i,className:o}=this.props;return(0,V.jsxs)("span",{className:o,style:{...i||{},whiteSpace:"wrap"===r||t?"pre-line":"nowrap"},children:[l,this.t(e),n]})}}bc.define({label:(0,z.tExpr)("Text")}),z.DisplayItemModel.bindModelToInterface("DisplayTextFieldModel",["input","email","phone","uuid","textarea","nanoid"],{isDefault:!0});class bp extends yO{renderComponent(e){let{style:t,className:l}=this.props,n=e&&(0,V.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:e,className:l,style:{...t||{},overflowWrap:"anywhere"},children:e});return(0,V.jsx)(V.Fragment,{children:n})}}bp.define({label:(0,z.tExpr)("URL")}),z.DisplayItemModel.bindModelToInterface("DisplayURLFieldModel",["url"],{isDefault:!0,when:e=>!0});class bh extends gP{renderComponent(e){let{prefix:t,suffix:l,style:n,className:r}=this.props,i=this.props.timeFormat||this.props.format||"HH:mm:ss",o=e&&vy()(e,"HH:mm:ss").format(i);return(0,V.jsxs)("span",{className:r,style:n,children:[t,o,l]})}}bh.registerFlow({key:"timeSettings",sort:1e3,title:(0,z.tExpr)("Time settings"),steps:{dateFormat:{title:(0,z.tExpr)("Time format"),use:"dateDisplayFormat"}}}),bh.define({label:(0,z.tExpr)("Time")}),z.DisplayItemModel.bindModelToInterface("DisplayTimeFieldModel",["time"],{isDefault:!0});var bm=l(49901);class bf extends aR.o{render(){let{value:e,showUnchecked:t,style:l,className:n}=this.props;return e?(0,V.jsx)(bm.A,{className:n,style:{color:"#52c41a",...l||{}}}):t?(0,V.jsx)(c7.A,{className:n,style:{color:"#ff4d4f",...l||{}}}):(0,V.jsx)(c9.A,{className:n,style:l,disabled:!0})}}bf.define({label:(0,z.tExpr)("Checkbox")}),z.DisplayItemModel.bindModelToInterface("DisplayCheckboxFieldModel",["checkbox"],{isDefault:!0});let bg={showBackground:!1,showBorder:!1};function bv(e){var t;let{uid:l,showFlowSettings:n,...r}=e,i=(0,z.useFlowModelById)(l),o=n??(null==i||null==(t=i.props)?void 0:t.showFlowSettings)??bg;return(0,V.jsx)(z.FlowModelRenderer,{model:i,fallback:(0,V.jsx)(r9,{style:{margin:(null==i?void 0:i.context.isMobileLayout)?8:null==i?void 0:i.context.themeToken.marginBlock}}),hideRemoveInSettings:!0,showFlowSettings:o,...r})}let by=(e,t)=>{var l,n;let r="boolean"==typeof(null==t||null==(n=t.view)||null==(l=n.inputArgs)?void 0:l.isMobileLayout),i="boolean"==typeof(null==t?void 0:t.isMobileLayout);(r||i)&&e.context.defineProperty("isMobileLayout",{get:()=>{var e,l;return"boolean"==typeof(null==t?void 0:t.isMobileLayout)?t.isMobileLayout:!!(null==t||null==(l=t.view)||null==(e=l.inputArgs)?void 0:e.isMobileLayout)},cache:!1})},bb=W.memo(e=>{let{pageModelClass:t="ChildPageModel",parentId:l,onModelLoaded:n,defaultTabTitle:r,...i}=e,o=(0,z.useFlowEngine)(),a=(0,z.useFlowViewContext)(),{loading:s,data:d,error:u}=(0,r3.A)(async()=>{let e=await o.getModelClassAsync(t);if(!e)throw Error(`[NocoBase] Page model class '${t}' is not registered.`);let i=e===d_||(0,z.isInheritedFrom)(e,d_),s={async:!0,parentId:l,subKey:"page",subType:"object",use:t};if(i){var d;s.subModels={tabs:[{use:"ChildPageTabModel",stepParams:{pageTabSettings:{tab:{title:r||(null==(d=o.translate)?void 0:d.call(o,"Details"))}}}}]},s.stepParams={pageSettings:{general:{displayTitle:!1,enableTabs:!0}}}}let u=await o.loadOrCreateModel(s,{skipSave:!o.context.flowSettingsEnabled});return(null==u?void 0:u.uid)&&n&&(u.context.addDelegate(a),by(u,a),u.removeParentDelegate(),n(u.uid,u)),u},{refreshDeps:[l,t,r]});if(u)throw u;return!s&&(null==d?void 0:d.uid)?(0,V.jsx)(bv,{uid:d.uid,...i}):(0,V.jsx)(r9,{style:{margin:(null==a?void 0:a.isMobileLayout)?8:null==a?void 0:a.themeToken.marginBlock}})});bb.displayName="FlowPage";let bx=e=>{let{uid:t,parentId:l,subKey:n,...r}=e,i=(0,z.useFlowEngine)(),{loading:o,data:a}=(0,r3.A)(async()=>await i.loadModel({uid:t,parentId:l,subKey:n}),{refreshDeps:[t,l,n]});return!o&&(null==a?void 0:a.uid)?(0,V.jsx)(bv,{uid:a.uid,...r}):(0,V.jsx)(r9,{style:{margin:16}})},bw=e=>U().pickBy({formData:e.formData},e=>void 0!==e);function bS(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];let l=new Set,n=[],r=t.length?new Set(t):null,i=e=>{var t;if(!(null==e?void 0:e.uid)||l.has(e.uid))return;l.add(e.uid);let o=null==(t=e.getUserModifiedFields)?void 0:t.call(e);(null==o?void 0:o.size)&&!(null==r?void 0:r.has(e.uid))&&n.push(e.uid),Object.values(e.subModels||{}).forEach(e=>{U().castArray(e).forEach(e=>{e&&"object"==typeof e&&i(e)})})};return i(e),n}function bM(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=bS(e,t);return{hasDirtyForms:l.length>0,formModelUids:l}}function bA(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||!t.length)return;let l=new Set,n=new Set(t),r=e=>{if(!(!(null==e?void 0:e.uid)||l.has(e.uid))){if(l.add(e.uid),n.has(e.uid)){var t;null==(t=e.resetUserModifiedFields)||t.call(e)}Object.values(e.subModels||{}).forEach(e=>{U().castArray(e).forEach(e=>{e&&"object"==typeof e&&r(e)})})}};r(e)}function bF(e){return async t=>{let{result:l,force:n,ignoredDirtyFormModelUids:r}=t;if(n)return!0;let i=bM(e,r),o=!1,a=await e.dispatchEvent("close",{result:l,force:!1,dirty:i,controller:{prevent(){o=!0}}}),s=(null==a?void 0:a.__abortedByExitAll)===!0||!!Array.isArray(a)&&a.some(e=>e instanceof z.FlowExitAllException),d=!o&&!s;return d&&i.hasDirtyForms&&bA(e,i.formModelUids),d}}let bk=(0,z.defineAction)({name:"openView",title:(0,z.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,z.tExpr)("Open mode"),enum:[{label:(0,z.tExpr)("Drawer"),value:"drawer"},{label:(0,z.tExpr)("Dialog"),value:"dialog"},{label:(0,z.tExpr)("Page"),value:"embed"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,z.tExpr)("Popup size"),enum:[{label:(0,z.tExpr)("Small"),value:"small"},{label:(0,z.tExpr)("Medium"),value:"medium"},{label:(0,z.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "embed"}}'}}}}},hideInSettings:async e=>{var t,l,n,r;if(!e.model.getFlow("displayFieldSettings"))return!1;let i=null==(l=(n=e.model).getStepParams)||null==(t=l.call(n,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return void 0===i?!(null==(r=e.collectionField)?void 0:r.isAssociationField()):!1===i},defaultParams:async e=>{var t,l,n,r,i,o,a,s,d,u,c;let p,h=e.getPropertyMetaTree()||[],m=Array.isArray(h)&&h.some(e=>"record"===String(null==e?void 0:e.name)),f=(null==(t=e.collection)?void 0:t.filterTargetKey)||"id";if(null==(n=e.blockModel)||null==(l=n.resource)?void 0:l.resourceName){let t=e.collection.dataSource.collectionManager.getAssociation(null==(d=e.blockModel)||null==(s=d.resource)?void 0:s.resourceName);(null==t?void 0:t.interface)!=="m2m"&&(f=(null==t?void 0:t.targetKey)||f)}let g=m?`{{ ctx.record.${f} }}`:void 0;try{let t=null==(c=e.resource)||null==(u=c.getSourceId)?void 0:u.call(c);null!=t&&""!==String(t)&&(p="{{ ctx.resource.sourceId }}")}catch(e){}let v=null==(r=e.collection)?void 0:r.dataSourceKey,y=null==(i=e.collection)?void 0:i.name;return{mode:"drawer",size:"medium",pageModelClass:(null==(o=e.layout)?void 0:o.childPageModelClass)||"ChildPageModel",uid:null==(a=e.model)?void 0:a.uid,...g?{filterByTk:g}:{},...p?{sourceId:p}:{},...v?{dataSourceKey:v}:{},...y?{collectionName:y}:{}}},async beforeParamsSave(e,t){if(null==t?void 0:t.uid){let l=e.engine;if(!(l.getModel(t.uid)||await l.loadModel({uid:t.uid})))throw Error(e.t("Popup UID not exists"))}},async handler(e,t){var l,n,r,i,o,a,s,d,u,c,p,h,m,f,g,v,y,b,x,w,S;let M=e.inputArgs||{},A=M.defineProperties??(null==(n=e.model.context)||null==(l=n.inputArgs)?void 0:l.defineProperties)??void 0,F=M.defineMethods??(null==(i=e.model.context)||null==(r=i.inputArgs)?void 0:r.defineMethods)??void 0,k=(null==(a=e.model)||null==(o=a.getInputArgs)?void 0:o.call(a))||{},C=(null==M?void 0:M.defaultInputKeys)||[],P=e=>{let l=void 0!==(null==M?void 0:M[e]),n=C.includes(e);return l&&!n?M[e]:void 0!==(null==t?void 0:t[e])?t[e]:l?M[e]:null==k?void 0:k[e]},j=(()=>{var t,l;let n=P("filterByTk");return(null==(t=e.collection)?void 0:t.template)==="sql"&&Array.isArray(null==(l=e.collection)?void 0:l.filterTargetKey)&&1===e.collection.filterTargetKey.length&&null!=n&&"object"!=typeof n?{[e.collection.filterTargetKey[0]]:n}:n})(),E=P("sourceId"),R=void 0!==(null==M?void 0:M.dataSourceKey)?M.dataSourceKey:null==t?void 0:t.dataSourceKey,I=void 0!==(null==M?void 0:M.collectionName)?M.collectionName:null==t?void 0:t.collectionName,T=void 0!==(null==M?void 0:M.associationName)?M.associationName:null==t?void 0:t.associationName,_=void 0!==M.tabUid?M.tabUid:t.tabUid,D=Object.prototype.hasOwnProperty.call(M,z.RUNJS_OPEN_VIEW_ROUTE_STATE),N=M[z.RUNJS_OPEN_VIEW_ROUTE_STATE],O=D?(0,z.createOpenViewRouteState)(N&&"object"==typeof N?N:{mode:M.mode,size:M.size}):void 0,$=M.openViewRouteState,B=$&&"object"==typeof $?(0,z.createOpenViewRouteState)($):void 0,L=O||B,q=(null==(s=e.inputArgs)?void 0:s.isMobileLayout)?"embed":(null==L?void 0:L.mode)||(null==(d=e.inputArgs)?void 0:d.mode)||t.mode||"drawer",K=O&&(null==(u=e.inputArgs)?void 0:u.isMobileLayout)?(0,z.createOpenViewRouteState)({...O,mode:q}):O,W=void 0!==M.navigation?M.navigation:t.navigation;if((A||F)&&(W=!1),!1!==W&&!1!==e.isNavigationEnabled&&!e.inputArgs.navigation&&(null==(v=e.view)?void 0:v.navigation)){let l={type:q,inputArgs:{...e.inputArgs,dataSourceKey:R,collectionName:I,associationName:T,filterByTk:j,sourceId:E,tabUid:_,viewUid:(null==(b=e.model.context)||null==(y=b.inputArgs)?void 0:y.viewUid)||e.model.uid,...K?{openViewRouteState:K}:{}},navigation:null==(x=e.view)?void 0:x.navigation,preventClose:!!(null==t?void 0:t.preventClose),engineCtx:e.engine.context};e.model.context.defineProperty("view",{value:l});let n={viewUid:(null==(S=e.model.context)||null==(w=S.inputArgs)?void 0:w.viewUid)||e.model.uid,filterByTk:j,sourceId:E,tabUid:_,...K?{openViewRouteState:K}:{}},r=bw(M),i=Object.keys(r).length?{state:{[ej]:{[n.viewUid]:r}}}:void 0;e.view.navigation.navigateTo(n,i);return}if((null==t?void 0:t.uid)&&t.uid!==e.model.uid)return void await e.openView(t.uid,{...M,...t||{},navigation:W,target:e.inputArgs.target||e.layoutContentElement,dataSourceKey:R??k.dataSourceKey,collectionName:I??k.collectionName,associationName:void 0!==T?T:k.associationName,filterByTk:j,sourceId:E,tabUid:_,...A?{defineProperties:A}:{},...F?{defineMethods:F}:{}});let H={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},G=e.inputArgs.pageModelClass||t.pageModelClass||(null==(c=e.layout)?void 0:c.childPageModelClass)||"ChildPageModel",Y=(null==L?void 0:L.size)||e.inputArgs.size||t.size||"medium",J=null,X=null,Q=e.model.uid;if(t.subModelKey){let l=await e.engine.loadOrCreateModel({async:!0,parentId:e.model.uid,subKey:t.subModelKey,subType:"object",use:"FlowModel"},{skipSave:!e.flowSettingsEnabled});(null==l?void 0:l.uid)&&(Q=l.uid)}let Z=!!(null==(p=e.inputArgs)?void 0:p.navigation),ee=(null==(m=e.view)||null==(h=m.inputArgs)?void 0:h.openerUids)||M.openerUids||[],et=Z?M.openerUids||ee:[...ee,(null==(g=e.model.context)||null==(f=g.inputArgs)?void 0:f.viewUid)||e.model.uid],el=void 0!==M.preventClose?!!M.preventClose:!!t.preventClose,en={viewUid:e.model.uid,...e.inputArgs,...M,dataSourceKey:R,collectionName:I,associationName:T,tabUid:_,openerUids:et,pageActive:"boolean"==typeof M.pageActive?M.pageActive:"boolean"!=typeof e.inputArgs.pageActive||e.inputArgs.pageActive};en.filterByTk=j,en.sourceId=E,await e.viewer.open({type:q,triggerByRouter:en.triggerByRouter,inputArgs:U().omit(en,"triggerByRouter"),preventClose:el,destroyOnClose:!0,inheritContext:!1,target:e.inputArgs.target||e.layoutContentElement,width:H[q][Y],content:t=>(e.inputArgs.destroyRef&&(e.inputArgs.destroyRef.current=t.destroy),e.inputArgs.updateRef&&(e.inputArgs.updateRef.current=t.update),(0,V.jsx)(bb,{parentId:Q,pageModelClass:G,onModelLoaded:(l,n)=>{var r,i,o,a;J=l;let s=n||e.engine.getModel(J);if(X=s||null,!s)return;t.beforeClose=bF(s);let d=M.defineProperties??(null==(i=e.model.context)||null==(r=i.inputArgs)?void 0:r.defineProperties)??{},u=M.defineMethods??(null==(a=e.model.context)||null==(o=a.inputArgs)?void 0:o.defineMethods)??{};s.context.defineProperty("currentView",{get:()=>t}),s.context.defineProperty("flowSettingsEnabled",{get:()=>e.flowSettingsEnabled,cache:!1}),s.context.defineProperty("view",{get:()=>t}),s.context.defineProperty("closable",{get:()=>"embed"!==q}),s instanceof dK&&s.context.defineProperty("pageActive",{get:()=>e.pageActive}),e.inputArgs.activateRef&&(e.inputArgs.activateRef.current=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t.inputArgs.pageActive=!0,s instanceof dI&&s.activateCurrentTab(e)}),e.inputArgs.deactivateRef&&(e.inputArgs.deactivateRef.current=()=>{t.inputArgs.pageActive=!1,s instanceof dI&&s.deactivateCurrentTab()}),Object.entries(d).forEach(e=>{let[t,l]=e;s.context.defineProperty(t,l)}),Object.entries(u).forEach(e=>{let[t,l]=e;s.context.defineMethod(t,l)}),s.invalidateFlowCache("beforeRender",!0),s._rerunLastAutoRun()},defaultTabTitle:e.model.defaultPopupTitle})),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===q?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}},onClose:()=>{if(J){let t=X||e.model.flowEngine.getModel(J);null==t||t.invalidateFlowCache("beforeRender",!0)}},onOpen:e.inputArgs.onOpen})}}),bC=(0,z.defineAction)({name:"runjs",title:(0,z.tExpr)("Execute JavaScript"),scene:[z.ActionScene.DYNAMIC_EVENT_FLOW],sort:1e4,useRawParams:!0,uiSchema:{code:{type:"string","x-component":ur.BY,"x-component-props":{enableLinter:!0,height:"200px",scene:"eventFlow"}}},async handler(e,t){var l;if(null==(l=e.inputArgs)?void 0:l.navigation)return;let n=(0,z.createSafeNavigator)();return e.runjs(t.code,{window:(0,z.createSafeWindow)({navigator:n}),document:(0,z.createSafeDocument)(),navigator:n})}}),bP=3;function bj(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:bP;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let bE=(0,z.defineAction)({name:"showMessage",title:(0,z.tExpr)("Show message"),scene:z.ActionScene.DYNAMIC_EVENT_FLOW,sort:500,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,n=(0,z.useFlowContext)(),r=n.model.translate.bind(n.model),i={type:t.type??"info",content:t.content||"",duration:bj(t.duration)},o=e=>{l({...i,...e})},a=e=>{o({type:e.target.value})},s=e=>{o({content:e.target.value})},d=e=>{o({duration:bj(e)})},u=e=>(0,V.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,V.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,V.jsxs)("div",{children:[u(r("Message type")),(0,V.jsxs)(c6.Ay.Group,{value:i.type,onChange:a,children:[(0,V.jsx)(c6.Ay,{value:"success",children:r("Success")}),(0,V.jsx)(c6.Ay,{value:"error",children:r("Error")}),(0,V.jsx)(c6.Ay,{value:"info",children:r("Info")}),(0,V.jsx)(c6.Ay,{value:"warning",children:r("Warning")}),(0,V.jsx)(c6.Ay,{value:"loading",children:r("Loading")})]})]}),(0,V.jsxs)("div",{children:[u(r("Message content")),(0,V.jsx)(ds.A.TextArea,{value:i.content,onChange:s,placeholder:r("Please input message content"),rows:3,style:{width:"100%"}})]}),(0,V.jsxs)("div",{children:[u(r("Duration (seconds, 0 = no auto close)")),(0,V.jsx)(hr.A,{value:i.duration,onChange:d,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:n="info",content:r,duration:i=bP}=l||{type:"info",content:"",duration:bP},o=bj(i);if(!r)return;let a=`flow-message-${(0,em.uid)()}`,s=0===o?(0,V.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[(0,V.jsx)("span",{children:r}),(0,V.jsx)(c7.A,{role:"button","aria-label":"close message",style:{color:"rgba(0, 0, 0, 0.45)",cursor:"pointer",fontSize:"12px"},onClick:()=>{var t,l;return null==(t=(l=e.message).destroy)?void 0:t.call(l,a)}})]}):r,d={key:a,type:n,content:s,duration:o};e.message.open(d)}}),bR=5;function bI(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:bR;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let bT=(0,z.defineAction)({name:"showNotification",title:(0,z.tExpr)("Show notification"),scene:z.ActionScene.DYNAMIC_EVENT_FLOW,sort:600,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,n=(0,z.useFlowContext)(),r=n.model.translate.bind(n.model),i={type:t.type??"info",title:t.title||"",description:t.description||"",duration:bI(t.duration),placement:t.placement??"topRight"},o=e=>{l({...i,...e})},a=e=>{o({type:e.target.value})},s=e=>{o({title:e.target.value})},d=e=>{o({description:e.target.value})},u=e=>{o({duration:bI(e)})},c=e=>{o({placement:e})},p=[{label:r("Top left"),value:"topLeft"},{label:r("Top right"),value:"topRight"},{label:r("Bottom left"),value:"bottomLeft"},{label:r("Bottom right"),value:"bottomRight"}],h=e=>(0,V.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,V.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,V.jsxs)("div",{children:[h(r("Notification type")),(0,V.jsxs)(c6.Ay.Group,{value:i.type,onChange:a,children:[(0,V.jsx)(c6.Ay,{value:"success",children:r("Success")}),(0,V.jsx)(c6.Ay,{value:"error",children:r("Error")}),(0,V.jsx)(c6.Ay,{value:"info",children:r("Info")}),(0,V.jsx)(c6.Ay,{value:"warning",children:r("Warning")})]})]}),(0,V.jsxs)("div",{children:[h(r("Notification title")),(0,V.jsx)(ds.A,{value:i.title,onChange:s,placeholder:r("Please input notification title"),style:{width:"100%"}})]}),(0,V.jsxs)("div",{children:[h(r("Notification description")),(0,V.jsx)(ds.A.TextArea,{value:i.description,onChange:d,placeholder:r("Please input notification description"),rows:3,style:{width:"100%"}})]}),(0,V.jsxs)("div",{children:[h(r("Placement")),(0,V.jsx)(nF.A,{value:i.placement,onChange:c,options:p,style:{width:"100%"}})]}),(0,V.jsxs)("div",{children:[h(r("Duration (seconds, 0 = no auto close)")),(0,V.jsx)(hr.A,{value:i.duration,onChange:u,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:n="info",title:r,description:i,duration:o=bR,placement:a="topRight"}=l||{type:"info",title:"",description:"",duration:bR,placement:"topRight"},s=bI(o);(r||i)&&e.notification.open({type:n,message:r,description:i,duration:s,placement:a})}}),b_=(0,z.defineAction)({name:"navigateToURL",title:(0,z.tExpr)("Navigate to URL"),scene:z.ActionScene.DYNAMIC_EVENT_FLOW,sort:400,uiSchema:{value:{type:"object",properties:{url:{title:(0,z.tExpr)("URL"),type:"string","x-decorator":"FormItem","x-component":ax.n,description:'{{t("Do not concatenate search params in the URL")}}',required:!0},searchParams:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{t("Search parameters")}}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,eu.css)`
955
+ `,y3=e=>{let{content:t,style:l,className:n}=e,r=(0,W.useRef)(null),[i,o]=(0,W.useState)(!1);(0,W.useEffect)(()=>{let e=r.current;e&&o(e.scrollWidth>e.clientWidth)},[t]);let a=(0,V.jsx)("div",{ref:r,style:{...l,whiteSpace:"nowrap",fontFamily:"Consolas, Monaco, monospace",overflow:"hidden",textOverflow:"ellipsis"},children:t});return i?(0,V.jsx)(t_.A,{title:(0,V.jsx)("pre",{style:{margin:0,maxHeight:400},className:n,children:t}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",maxWidth:500},color:"#fff",overlayStyle:{maxWidth:500,whiteSpace:"pre-wrap"},children:a}):a};class y6 extends yO{renderComponent(e){let{space:t,style:l,className:n,overflowMode:r}=this.props,i="";if(null!=e)try{i=JSON.stringify(e,null,t??2)}catch(e){i=this.flowEngine.translate("Invalid JSON format")}return"ellipsis"===r?(0,V.jsx)(y3,{content:i,style:l,className:(0,eu.cx)(n,y8)}):(0,V.jsx)("pre",{className:(0,eu.cx)(n,y8),style:l,children:i})}render(){return this.renderComponent(this.props.value)}}z.DisplayItemModel.bindModelToInterface("DisplayJSONFieldModel",["json"],{isDefault:!0});var y9=l(47275);function y7(e){let t=(0,K.toString)(e);return t.includes(".")?t.split(".")[1].replace(/0+$/,"").length:0}let be={"0,0.00":{thousands:",",decimal:"."},"0.0,00":{thousands:".",decimal:","},"0 0,00":{thousands:" ",decimal:"."},"0.00":{thousands:"",decimal:"."}};function bt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3?arguments[3]:void 0;if(e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER)return bl(e,t,l,n);let r=e;n&&(r=Number(e));let i="";if(be[t]){let{thousands:e,decimal:n}=be[t];i=r.toLocaleString("en-US",{style:"decimal",minimumFractionDigits:l,maximumFractionDigits:l}).replace(/,/g,"comma_placeholder").replace(/\./g,"dot_placeholder").replace(/comma_placeholder/g,e).replace(/dot_placeholder/g,n)}else i=r.toString();return i}function bl(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3?arguments[3]:void 0,r=e;n&&(r=new vK.A(e).toString());let i="";if(be[t]){let{thousands:e,decimal:n}=be[t],[o,a]=r.toString().split("."),s=a,d=o.replace(/\B(?=(\d{3})+(?!\d))/g,e);s&&l?(s=s.substring(0,l),i=`${d}${n}${s}`):i=d}else i=r.toString();return i}function bn(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*",n=arguments.length>2?arguments[2]:void 0;if(!n)return e;if("*"===l)t=e*n;else{if("/"!==l)return console.error("Error: Invalid operator. Use '*' for multiplication or '/' for division."),null;if(0===n)return console.error("Error: Division by zero."),null;t=e/n}return iI.LIG(t,9)}function br(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";return(0,y9.GP)(`.${t}e`)(e).replace(".",l).replace(/e([+-]?\d+)/,(e,t)=>t.startsWith("+")?`\xd710<sup>${t.slice(1)}</sup>`:`\xd710<sup>-${t.slice(1)}</sup>`)}function bi(e){let t,{step:l,formatStyle:n="normal",value:r,unitConversion:i,unitConversionType:o,separator:a="0,0.00"}=e;if(!(0,iE.isValid)(r))return null;let s=bn(r,o,i);if(t=bt((0,em.toFixedByStep)(s,l),a,y7(l),n),"scientifix"===n){var d;t=br(Number(s),y7(l),null==be||null==(d=be[a])?void 0:d.decimal)}return"NaN"===t&&(t=r),t}let bo=e=>{let{numberStep:t,formatStyle:l,value:n,unitConversion:r,unitConversionType:i,separator:o}=e;return bi({step:t,formatStyle:l,value:n,unitConversion:r,unitConversionType:i,separator:o})};class ba extends gP{renderComponent(e){let{addonBefore:t,addonAfter:l,style:n,className:r}=this.props,i=bo({...this.props,value:e});return i?(0,V.jsxs)("span",{className:r,style:n,children:[t,(0,V.jsx)("span",{dangerouslySetInnerHTML:{__html:i}}),l]}):null}}ba.define({label:(0,z.tExpr)("Number")});let bs=()=>{let e=(0,ni.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,lI.B)();return(0,V.jsxs)(nF.A,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,V.jsx)(nF.A.Option,{value:"*",children:l("Multiply by")}),(0,V.jsx)(nF.A.Option,{value:"/",children:l("Divide by")})]})};ba.registerFlow({key:"numberSettings",sort:500,title:(0,z.tExpr)("Number settings"),steps:{format:{title:(0,z.tExpr)("Number format"),use:"numberFormat"}}}),z.DisplayItemModel.bindModelToInterface("DisplayNumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0});class bd extends aR.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,V.jsx)("div",{className:l,style:t,children:"********"}):(0,V.jsx)("div",{className:l,style:t})}}z.DisplayItemModel.bindModelToInterface("DisplayPasswordFieldModel",["password"],{isDefault:!0});class bu extends gP{renderComponent(e){let{addonBefore:t="",addonAfter:l="%",numberStep:n,style:r,className:i}=this.props,o=iI.LIG(100*e,9);if(null==e)return;let a=bo({...this.props,value:o,numberStep:n});return a?(0,V.jsxs)("div",{className:i,style:r,children:[t,(0,V.jsx)("span",{dangerouslySetInnerHTML:{__html:a}}),l]}):null}}bu.registerFlow({key:"numberSettings",sort:500,title:(0,z.tExpr)("Number settings"),steps:{format:{title:(0,z.tExpr)("Number format"),uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,z.tExpr)("Normal")},{value:"scientifix",label:(0,z.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,V.jsx)(bs,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem","x-disabled":!0}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:n,separator:r,step:i,addonBefore:o,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:n,separator:r||"0,0.00",numberStep:i||"1",addonBefore:o,addonAfter:a||"%"}},handler(e,t){let{formatStyle:l,unitConversion:n,unitConversionType:r,separator:i,numberStep:o,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:n,unitConversionType:r,separator:i,numberStep:o,addonBefore:a,addonAfter:s})}}}}),bu.define({label:(0,z.tExpr)("Percent")}),z.DisplayItemModel.bindModelToInterface("DisplayPercentFieldModel",["percent"],{isDefault:!0});class bc extends gP{t(e){return"string"!=typeof e?e:e.startsWith("{{")&&e.endsWith("}}")?this.translate(e):e}renderComponent(e,t){let{prefix:l,suffix:n,overflowMode:r,style:i,className:o}=this.props;return(0,V.jsxs)("span",{className:o,style:{...i||{},whiteSpace:"wrap"===r||t?"pre-line":"nowrap"},children:[l,this.t(e),n]})}}bc.define({label:(0,z.tExpr)("Text")}),z.DisplayItemModel.bindModelToInterface("DisplayTextFieldModel",["input","email","phone","uuid","textarea","nanoid"],{isDefault:!0});class bp extends yO{renderComponent(e){let{style:t,className:l}=this.props,n=e&&(0,V.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:e,className:l,style:{...t||{},overflowWrap:"anywhere"},children:e});return(0,V.jsx)(V.Fragment,{children:n})}}bp.define({label:(0,z.tExpr)("URL")}),z.DisplayItemModel.bindModelToInterface("DisplayURLFieldModel",["url"],{isDefault:!0,when:e=>!0});class bh extends gP{renderComponent(e){let{prefix:t,suffix:l,style:n,className:r}=this.props,i=this.props.timeFormat||this.props.format||"HH:mm:ss",o=e&&vy()(e,"HH:mm:ss").format(i);return(0,V.jsxs)("span",{className:r,style:n,children:[t,o,l]})}}bh.registerFlow({key:"timeSettings",sort:1e3,title:(0,z.tExpr)("Time settings"),steps:{dateFormat:{title:(0,z.tExpr)("Time format"),use:"dateDisplayFormat"}}}),bh.define({label:(0,z.tExpr)("Time")}),z.DisplayItemModel.bindModelToInterface("DisplayTimeFieldModel",["time"],{isDefault:!0});var bm=l(49901);class bf extends aR.o{render(){let{value:e,showUnchecked:t,style:l,className:n}=this.props;return e?(0,V.jsx)(bm.A,{className:n,style:{color:"#52c41a",...l||{}}}):t?(0,V.jsx)(c7.A,{className:n,style:{color:"#ff4d4f",...l||{}}}):(0,V.jsx)(c9.A,{className:n,style:l,disabled:!0})}}bf.define({label:(0,z.tExpr)("Checkbox")}),z.DisplayItemModel.bindModelToInterface("DisplayCheckboxFieldModel",["checkbox"],{isDefault:!0});let bg={showBackground:!1,showBorder:!1};function bv(e){var t;let{uid:l,showFlowSettings:n,...r}=e,i=(0,z.useFlowModelById)(l),o=n??(null==i||null==(t=i.props)?void 0:t.showFlowSettings)??bg;return(0,V.jsx)(z.FlowModelRenderer,{model:i,fallback:(0,V.jsx)(r9,{style:{margin:(null==i?void 0:i.context.isMobileLayout)?8:null==i?void 0:i.context.themeToken.marginBlock}}),hideRemoveInSettings:!0,showFlowSettings:o,...r})}let by=(e,t)=>{var l,n;let r="boolean"==typeof(null==t||null==(n=t.view)||null==(l=n.inputArgs)?void 0:l.isMobileLayout),i="boolean"==typeof(null==t?void 0:t.isMobileLayout);(r||i)&&e.context.defineProperty("isMobileLayout",{get:()=>{var e,l;return"boolean"==typeof(null==t?void 0:t.isMobileLayout)?t.isMobileLayout:!!(null==t||null==(l=t.view)||null==(e=l.inputArgs)?void 0:e.isMobileLayout)},cache:!1})},bb=W.memo(e=>{let{pageModelClass:t="ChildPageModel",parentId:l,onModelLoaded:n,defaultTabTitle:r,...i}=e,o=(0,z.useFlowEngine)(),a=(0,z.useFlowViewContext)(),{loading:s,data:d,error:u}=(0,r3.A)(async()=>{var e,i,s,d,u;let c=await o.getModelClassAsync(t);if(!c)throw Error(`[NocoBase] Page model class '${t}' is not registered.`);let p=c===d_||(0,z.isInheritedFrom)(c,d_),h={async:!0,parentId:l,subKey:"page",subType:"object",use:t},m=!o.context.flowSettingsEnabled&&(void 0!==(null==a||null==(i=a.view)||null==(e=i.inputArgs)?void 0:e.filterByTk)||void 0!==(null==a||null==(d=a.view)||null==(s=d.inputArgs)?void 0:s.sourceId));p&&(h.subModels={tabs:[{use:"ChildPageTabModel",stepParams:{pageTabSettings:{tab:{title:r||(null==(u=o.translate)?void 0:u.call(o,"Details"))}}}}]},h.stepParams={pageSettings:{general:{displayTitle:!1,enableTabs:!0}}});let f=m&&await o.loadModel({...h,refresh:!0})||await o.loadOrCreateModel(h,{skipSave:!o.context.flowSettingsEnabled});return(null==f?void 0:f.uid)&&n&&(f.context.addDelegate(a),by(f,a),f.removeParentDelegate(),n(f.uid,f)),f},{refreshDeps:[l,t,r]});if(u)throw u;return!s&&(null==d?void 0:d.uid)?(0,V.jsx)(bv,{uid:d.uid,...i}):(0,V.jsx)(r9,{style:{margin:(null==a?void 0:a.isMobileLayout)?8:null==a?void 0:a.themeToken.marginBlock}})});bb.displayName="FlowPage";let bx=e=>{let{uid:t,parentId:l,subKey:n,...r}=e,i=(0,z.useFlowEngine)(),{loading:o,data:a}=(0,r3.A)(async()=>await i.loadModel({uid:t,parentId:l,subKey:n}),{refreshDeps:[t,l,n]});return!o&&(null==a?void 0:a.uid)?(0,V.jsx)(bv,{uid:a.uid,...r}):(0,V.jsx)(r9,{style:{margin:16}})},bw=e=>U().pickBy({formData:e.formData},e=>void 0!==e);function bS(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];let l=new Set,n=[],r=t.length?new Set(t):null,i=e=>{var t;if(!(null==e?void 0:e.uid)||l.has(e.uid))return;l.add(e.uid);let o=null==(t=e.getUserModifiedFields)?void 0:t.call(e);(null==o?void 0:o.size)&&!(null==r?void 0:r.has(e.uid))&&n.push(e.uid),Object.values(e.subModels||{}).forEach(e=>{U().castArray(e).forEach(e=>{e&&"object"==typeof e&&i(e)})})};return i(e),n}function bM(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=bS(e,t);return{hasDirtyForms:l.length>0,formModelUids:l}}function bA(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||!t.length)return;let l=new Set,n=new Set(t),r=e=>{if(!(!(null==e?void 0:e.uid)||l.has(e.uid))){if(l.add(e.uid),n.has(e.uid)){var t;null==(t=e.resetUserModifiedFields)||t.call(e)}Object.values(e.subModels||{}).forEach(e=>{U().castArray(e).forEach(e=>{e&&"object"==typeof e&&r(e)})})}};r(e)}function bF(e){return async t=>{let{result:l,force:n,ignoredDirtyFormModelUids:r}=t;if(n)return!0;let i=bM(e,r),o=!1,a=await e.dispatchEvent("close",{result:l,force:!1,dirty:i,controller:{prevent(){o=!0}}}),s=(null==a?void 0:a.__abortedByExitAll)===!0||!!Array.isArray(a)&&a.some(e=>e instanceof z.FlowExitAllException),d=!o&&!s;return d&&i.hasDirtyForms&&bA(e,i.formModelUids),d}}let bk=(0,z.defineAction)({name:"openView",title:(0,z.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,z.tExpr)("Open mode"),enum:[{label:(0,z.tExpr)("Drawer"),value:"drawer"},{label:(0,z.tExpr)("Dialog"),value:"dialog"},{label:(0,z.tExpr)("Page"),value:"embed"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,z.tExpr)("Popup size"),enum:[{label:(0,z.tExpr)("Small"),value:"small"},{label:(0,z.tExpr)("Medium"),value:"medium"},{label:(0,z.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "embed"}}'}}}}},hideInSettings:async e=>{var t,l,n,r;if(!e.model.getFlow("displayFieldSettings"))return!1;let i=null==(l=(n=e.model).getStepParams)||null==(t=l.call(n,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return void 0===i?!(null==(r=e.collectionField)?void 0:r.isAssociationField()):!1===i},defaultParams:async e=>{var t,l,n,r,i,o,a,s,d,u,c;let p,h=e.getPropertyMetaTree()||[],m=Array.isArray(h)&&h.some(e=>"record"===String(null==e?void 0:e.name)),f=(null==(t=e.collection)?void 0:t.filterTargetKey)||"id";if(null==(n=e.blockModel)||null==(l=n.resource)?void 0:l.resourceName){let t=e.collection.dataSource.collectionManager.getAssociation(null==(d=e.blockModel)||null==(s=d.resource)?void 0:s.resourceName);(null==t?void 0:t.interface)!=="m2m"&&(f=(null==t?void 0:t.targetKey)||f)}let g=m?`{{ ctx.record.${f} }}`:void 0;try{let t=null==(c=e.resource)||null==(u=c.getSourceId)?void 0:u.call(c);null!=t&&""!==String(t)&&(p="{{ ctx.resource.sourceId }}")}catch(e){}let v=null==(r=e.collection)?void 0:r.dataSourceKey,y=null==(i=e.collection)?void 0:i.name;return{mode:"drawer",size:"medium",pageModelClass:(null==(o=e.layout)?void 0:o.childPageModelClass)||"ChildPageModel",uid:null==(a=e.model)?void 0:a.uid,...g?{filterByTk:g}:{},...p?{sourceId:p}:{},...v?{dataSourceKey:v}:{},...y?{collectionName:y}:{}}},async beforeParamsSave(e,t){if(null==t?void 0:t.uid){let l=e.engine;if(!(l.getModel(t.uid)||await l.loadModel({uid:t.uid})))throw Error(e.t("Popup UID not exists"))}},async handler(e,t){var l,n,r,i,o,a,s,d,u,c,p,h,m,f,g,v,y,b,x,w,S;let M=e.inputArgs||{},A=M.defineProperties??(null==(n=e.model.context)||null==(l=n.inputArgs)?void 0:l.defineProperties)??void 0,F=M.defineMethods??(null==(i=e.model.context)||null==(r=i.inputArgs)?void 0:r.defineMethods)??void 0,k=(null==(a=e.model)||null==(o=a.getInputArgs)?void 0:o.call(a))||{},C=(null==M?void 0:M.defaultInputKeys)||[],P=e=>{let l=void 0!==(null==M?void 0:M[e]),n=C.includes(e);return l&&!n?M[e]:void 0!==(null==t?void 0:t[e])?t[e]:l?M[e]:null==k?void 0:k[e]},j=(()=>{var t,l;let n=P("filterByTk");return(null==(t=e.collection)?void 0:t.template)==="sql"&&Array.isArray(null==(l=e.collection)?void 0:l.filterTargetKey)&&1===e.collection.filterTargetKey.length&&null!=n&&"object"!=typeof n?{[e.collection.filterTargetKey[0]]:n}:n})(),E=P("sourceId"),R=void 0!==(null==M?void 0:M.dataSourceKey)?M.dataSourceKey:null==t?void 0:t.dataSourceKey,I=void 0!==(null==M?void 0:M.collectionName)?M.collectionName:null==t?void 0:t.collectionName,T=void 0!==(null==M?void 0:M.associationName)?M.associationName:null==t?void 0:t.associationName,_=void 0!==M.tabUid?M.tabUid:t.tabUid,D=Object.prototype.hasOwnProperty.call(M,z.RUNJS_OPEN_VIEW_ROUTE_STATE),N=M[z.RUNJS_OPEN_VIEW_ROUTE_STATE],O=D?(0,z.createOpenViewRouteState)(N&&"object"==typeof N?N:{mode:M.mode,size:M.size}):void 0,$=M.openViewRouteState,B=$&&"object"==typeof $?(0,z.createOpenViewRouteState)($):void 0,L=O||B,q=(null==(s=e.inputArgs)?void 0:s.isMobileLayout)?"embed":(null==L?void 0:L.mode)||(null==(d=e.inputArgs)?void 0:d.mode)||t.mode||"drawer",K=O&&(null==(u=e.inputArgs)?void 0:u.isMobileLayout)?(0,z.createOpenViewRouteState)({...O,mode:q}):O,W=void 0!==M.navigation?M.navigation:t.navigation;if((A||F)&&(W=!1),!1!==W&&!1!==e.isNavigationEnabled&&!e.inputArgs.navigation&&(null==(v=e.view)?void 0:v.navigation)){let l={type:q,inputArgs:{...e.inputArgs,dataSourceKey:R,collectionName:I,associationName:T,filterByTk:j,sourceId:E,tabUid:_,viewUid:(null==(b=e.model.context)||null==(y=b.inputArgs)?void 0:y.viewUid)||e.model.uid,...K?{openViewRouteState:K}:{}},navigation:null==(x=e.view)?void 0:x.navigation,preventClose:!!(null==t?void 0:t.preventClose),engineCtx:e.engine.context};e.model.context.defineProperty("view",{value:l});let n={viewUid:(null==(S=e.model.context)||null==(w=S.inputArgs)?void 0:w.viewUid)||e.model.uid,filterByTk:j,sourceId:E,tabUid:_,...K?{openViewRouteState:K}:{}},r=bw(M),i=Object.keys(r).length?{state:{[ej]:{[n.viewUid]:r}}}:void 0;e.view.navigation.navigateTo(n,i);return}if((null==t?void 0:t.uid)&&t.uid!==e.model.uid)return void await e.openView(t.uid,{...M,...t||{},navigation:W,target:e.inputArgs.target||e.layoutContentElement,dataSourceKey:R??k.dataSourceKey,collectionName:I??k.collectionName,associationName:void 0!==T?T:k.associationName,filterByTk:j,sourceId:E,tabUid:_,...A?{defineProperties:A}:{},...F?{defineMethods:F}:{}});let H={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},G=e.inputArgs.pageModelClass||t.pageModelClass||(null==(c=e.layout)?void 0:c.childPageModelClass)||"ChildPageModel",Y=(null==L?void 0:L.size)||e.inputArgs.size||t.size||"medium",J=null,X=null,Q=e.model.uid;if(t.subModelKey){let l=await e.engine.loadOrCreateModel({async:!0,parentId:e.model.uid,subKey:t.subModelKey,subType:"object",use:"FlowModel"},{skipSave:!e.flowSettingsEnabled});(null==l?void 0:l.uid)&&(Q=l.uid)}let Z=!!(null==(p=e.inputArgs)?void 0:p.navigation),ee=(null==(m=e.view)||null==(h=m.inputArgs)?void 0:h.openerUids)||M.openerUids||[],et=Z?M.openerUids||ee:[...ee,(null==(g=e.model.context)||null==(f=g.inputArgs)?void 0:f.viewUid)||e.model.uid],el=void 0!==M.preventClose?!!M.preventClose:!!t.preventClose,en={viewUid:e.model.uid,...e.inputArgs,...M,dataSourceKey:R,collectionName:I,associationName:T,tabUid:_,openerUids:et,pageActive:"boolean"==typeof M.pageActive?M.pageActive:"boolean"!=typeof e.inputArgs.pageActive||e.inputArgs.pageActive};en.filterByTk=j,en.sourceId=E,await e.viewer.open({type:q,triggerByRouter:en.triggerByRouter,inputArgs:U().omit(en,"triggerByRouter"),preventClose:el,destroyOnClose:!0,inheritContext:!1,target:e.inputArgs.target||e.layoutContentElement,width:H[q][Y],content:t=>(e.inputArgs.destroyRef&&(e.inputArgs.destroyRef.current=t.destroy),e.inputArgs.updateRef&&(e.inputArgs.updateRef.current=t.update),(0,V.jsx)(bb,{parentId:Q,pageModelClass:G,onModelLoaded:(l,n)=>{var r,i,o,a;J=l;let s=n||e.engine.getModel(J);if(X=s||null,!s)return;t.beforeClose=bF(s);let d=M.defineProperties??(null==(i=e.model.context)||null==(r=i.inputArgs)?void 0:r.defineProperties)??{},u=M.defineMethods??(null==(a=e.model.context)||null==(o=a.inputArgs)?void 0:o.defineMethods)??{};s.context.defineProperty("currentView",{get:()=>t}),s.context.defineProperty("flowSettingsEnabled",{get:()=>e.flowSettingsEnabled,cache:!1}),s.context.defineProperty("view",{get:()=>t}),s.context.defineProperty("closable",{get:()=>"embed"!==q}),s instanceof dK&&s.context.defineProperty("pageActive",{get:()=>e.pageActive}),e.inputArgs.activateRef&&(e.inputArgs.activateRef.current=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t.inputArgs.pageActive=!0,s instanceof dI&&s.activateCurrentTab(e)}),e.inputArgs.deactivateRef&&(e.inputArgs.deactivateRef.current=()=>{t.inputArgs.pageActive=!1,s instanceof dI&&s.deactivateCurrentTab()}),Object.entries(d).forEach(e=>{let[t,l]=e;s.context.defineProperty(t,l)}),Object.entries(u).forEach(e=>{let[t,l]=e;s.context.defineMethod(t,l)}),s.invalidateFlowCache("beforeRender",!0),s._rerunLastAutoRun()},defaultTabTitle:e.model.defaultPopupTitle})),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===q?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}},onClose:()=>{if(J){let t=X||e.model.flowEngine.getModel(J);null==t||t.invalidateFlowCache("beforeRender",!0)}},onOpen:e.inputArgs.onOpen})}}),bC=(0,z.defineAction)({name:"runjs",title:(0,z.tExpr)("Execute JavaScript"),scene:[z.ActionScene.DYNAMIC_EVENT_FLOW],sort:1e4,useRawParams:!0,uiSchema:{code:{type:"string","x-component":ur.BY,"x-component-props":{enableLinter:!0,height:"200px",scene:"eventFlow"}}},async handler(e,t){var l;if(null==(l=e.inputArgs)?void 0:l.navigation)return;let n=(0,z.createSafeNavigator)();return e.runjs(t.code,{window:(0,z.createSafeWindow)({navigator:n}),document:(0,z.createSafeDocument)(),navigator:n})}}),bP=3;function bj(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:bP;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let bE=(0,z.defineAction)({name:"showMessage",title:(0,z.tExpr)("Show message"),scene:z.ActionScene.DYNAMIC_EVENT_FLOW,sort:500,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,n=(0,z.useFlowContext)(),r=n.model.translate.bind(n.model),i={type:t.type??"info",content:t.content||"",duration:bj(t.duration)},o=e=>{l({...i,...e})},a=e=>{o({type:e.target.value})},s=e=>{o({content:e.target.value})},d=e=>{o({duration:bj(e)})},u=e=>(0,V.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,V.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,V.jsxs)("div",{children:[u(r("Message type")),(0,V.jsxs)(c6.Ay.Group,{value:i.type,onChange:a,children:[(0,V.jsx)(c6.Ay,{value:"success",children:r("Success")}),(0,V.jsx)(c6.Ay,{value:"error",children:r("Error")}),(0,V.jsx)(c6.Ay,{value:"info",children:r("Info")}),(0,V.jsx)(c6.Ay,{value:"warning",children:r("Warning")}),(0,V.jsx)(c6.Ay,{value:"loading",children:r("Loading")})]})]}),(0,V.jsxs)("div",{children:[u(r("Message content")),(0,V.jsx)(ds.A.TextArea,{value:i.content,onChange:s,placeholder:r("Please input message content"),rows:3,style:{width:"100%"}})]}),(0,V.jsxs)("div",{children:[u(r("Duration (seconds, 0 = no auto close)")),(0,V.jsx)(hr.A,{value:i.duration,onChange:d,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:n="info",content:r,duration:i=bP}=l||{type:"info",content:"",duration:bP},o=bj(i);if(!r)return;let a=`flow-message-${(0,em.uid)()}`,s=0===o?(0,V.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[(0,V.jsx)("span",{children:r}),(0,V.jsx)(c7.A,{role:"button","aria-label":"close message",style:{color:"rgba(0, 0, 0, 0.45)",cursor:"pointer",fontSize:"12px"},onClick:()=>{var t,l;return null==(t=(l=e.message).destroy)?void 0:t.call(l,a)}})]}):r,d={key:a,type:n,content:s,duration:o};e.message.open(d)}}),bR=5;function bI(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:bR;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let bT=(0,z.defineAction)({name:"showNotification",title:(0,z.tExpr)("Show notification"),scene:z.ActionScene.DYNAMIC_EVENT_FLOW,sort:600,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,n=(0,z.useFlowContext)(),r=n.model.translate.bind(n.model),i={type:t.type??"info",title:t.title||"",description:t.description||"",duration:bI(t.duration),placement:t.placement??"topRight"},o=e=>{l({...i,...e})},a=e=>{o({type:e.target.value})},s=e=>{o({title:e.target.value})},d=e=>{o({description:e.target.value})},u=e=>{o({duration:bI(e)})},c=e=>{o({placement:e})},p=[{label:r("Top left"),value:"topLeft"},{label:r("Top right"),value:"topRight"},{label:r("Bottom left"),value:"bottomLeft"},{label:r("Bottom right"),value:"bottomRight"}],h=e=>(0,V.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,V.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,V.jsxs)("div",{children:[h(r("Notification type")),(0,V.jsxs)(c6.Ay.Group,{value:i.type,onChange:a,children:[(0,V.jsx)(c6.Ay,{value:"success",children:r("Success")}),(0,V.jsx)(c6.Ay,{value:"error",children:r("Error")}),(0,V.jsx)(c6.Ay,{value:"info",children:r("Info")}),(0,V.jsx)(c6.Ay,{value:"warning",children:r("Warning")})]})]}),(0,V.jsxs)("div",{children:[h(r("Notification title")),(0,V.jsx)(ds.A,{value:i.title,onChange:s,placeholder:r("Please input notification title"),style:{width:"100%"}})]}),(0,V.jsxs)("div",{children:[h(r("Notification description")),(0,V.jsx)(ds.A.TextArea,{value:i.description,onChange:d,placeholder:r("Please input notification description"),rows:3,style:{width:"100%"}})]}),(0,V.jsxs)("div",{children:[h(r("Placement")),(0,V.jsx)(nF.A,{value:i.placement,onChange:c,options:p,style:{width:"100%"}})]}),(0,V.jsxs)("div",{children:[h(r("Duration (seconds, 0 = no auto close)")),(0,V.jsx)(hr.A,{value:i.duration,onChange:u,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:n="info",title:r,description:i,duration:o=bR,placement:a="topRight"}=l||{type:"info",title:"",description:"",duration:bR,placement:"topRight"},s=bI(o);(r||i)&&e.notification.open({type:n,message:r,description:i,duration:s,placement:a})}}),b_=(0,z.defineAction)({name:"navigateToURL",title:(0,z.tExpr)("Navigate to URL"),scene:z.ActionScene.DYNAMIC_EVENT_FLOW,sort:400,uiSchema:{value:{type:"object",properties:{url:{title:(0,z.tExpr)("URL"),type:"string","x-decorator":"FormItem","x-component":ax.n,description:'{{t("Do not concatenate search params in the URL")}}',required:!0},searchParams:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{t("Search parameters")}}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,eu.css)`
956
956
  & > .ant-space-item:first-child {
957
957
  flex: 3;
958
958
  }
@@ -1024,7 +1024,7 @@ ctx.render(<JsItem />);
1024
1024
  display: flex;
1025
1025
  margin: 5px 0px;
1026
1026
  }
1027
- `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:"HH:mm:ss",enum:[{label:(0,Mx.b)({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:(0,Mx.b)({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}},ME={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')}}"}}},MR={"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.')}}"}},MI={type:"string",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},enum:"{{collections}}"};class MT{addComponentOption(e){if(!this.componentOptions){var t,l,n,r,i,o;this.componentOptions=[];let e=null==(l=this.default)||null==(t=l.uiSchema)?void 0:t["x-component"],a=null==(r=this.default)||null==(n=r.uiSchema)?void 0:n["x-component-props"];if(e){let t=(null==(o=this.default)||null==(i=o.uiSchema)?void 0:i.type)||"string",l=(0,em.tval)(e.startsWith("Input")?(0,K.capitalize)(t):e.split(".").pop());this.componentOptions=[{label:l,value:e,useProps:()=>a||{}}]}}this.componentOptions.push(e)}getConfigureFormProperties(e){var t,l,n,r;let i=(null==(l=this.configure)||null==(t=l.getConfigureFormProperties)?void 0:t.call(l,e))||(null==(n=this.configure)?void 0:n.properties)||{},o=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,K.cloneDeep)({...MR,...null==(r=this)?void 0:r.properties,...i}),...o,...u}}getDefaultValueProperty(){var e,t,l,n;return{defaultValue:{...(0,K.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,K.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,K.set)(this,"filterable.operatorOverrides",t),ob(this.filterable)}constructor(e){(0,w._)(this,"collectionFieldInterfaceManager",void 0),(0,w._)(this,"name",void 0),(0,w._)(this,"group",void 0),(0,w._)(this,"title",void 0),(0,w._)(this,"description",void 0),(0,w._)(this,"primaryKeyDescription",void 0),(0,w._)(this,"order",void 0),(0,w._)(this,"default",void 0),(0,w._)(this,"sortable",void 0),(0,w._)(this,"availableTypes",void 0),(0,w._)(this,"type",void 0),(0,w._)(this,"supportDataSourceType",void 0),(0,w._)(this,"notSupportDataSourceType",void 0),(0,w._)(this,"hasDefaultValue",void 0),(0,w._)(this,"componentOptions",void 0),(0,w._)(this,"isAssociation",void 0),(0,w._)(this,"operators",void 0),(0,w._)(this,"properties",void 0),(0,w._)(this,"validationType",void 0),(0,w._)(this,"availableValidationOptions",void 0),(0,w._)(this,"configure",void 0),(0,w._)(this,"excludeValidationOptions",void 0),(0,w._)(this,"filterable",void 0),(0,w._)(this,"titleUsable",void 0),(0,w._)(this,"hidden",void 0),this.collectionFieldInterfaceManager=e,this.availableValidationOptions=[]}}class M_ extends MT{constructor(...e){super(...e),(0,w._)(this,"name","checkbox"),(0,w._)(this,"type","object"),(0,w._)(this,"group","choices"),(0,w._)(this,"order",1),(0,w._)(this,"title",'{{t("Checkbox")}}'),(0,w._)(this,"default",{type:"boolean",uiSchema:{type:"boolean","x-component":"Checkbox"}}),(0,w._)(this,"availableTypes",["boolean","integer","bigInt","bit"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{operators:"boolean"})}}class MD extends MT{constructor(...e){super(...e),(0,w._)(this,"name","checkboxGroup"),(0,w._)(this,"type","object"),(0,w._)(this,"group","choices"),(0,w._)(this,"order",5),(0,w._)(this,"title",'{{t("Checkbox group")}}'),(0,w._)(this,"default",{interface:"checkboxGroup",type:"array",defaultValue:[],uiSchema:{type:"string","x-component":"Checkbox.Group"}}),(0,w._)(this,"availableTypes",["array","json"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,"uiSchema.enum":ME}),(0,w._)(this,"filterable",{operators:"array"})}}class MN extends MT{constructor(...e){super(...e),(0,w._)(this,"name","collection"),(0,w._)(this,"type","string"),(0,w._)(this,"group","advanced"),(0,w._)(this,"order",5),(0,w._)(this,"title",'{{t("Collection selector")}}'),(0,w._)(this,"description",'{{t("Providing certain collections as options for users, typically used in polymorphic or inheritance scenarios")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"CollectionSelect"}}),(0,w._)(this,"availableTypes",["string"]),(0,w._)(this,"hasDefaultValue",!1),(0,w._)(this,"properties",{...MR,"uiSchema.enum":MI}),(0,w._)(this,"filterable",{operators:"collection"})}}class MO extends MT{constructor(...e){super(...e),(0,w._)(this,"name","color"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",10),(0,w._)(this,"title",'{{t("Color")}}'),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"ColorPicker"}}),(0,w._)(this,"availableTypes",["string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{operators:"string"})}}class M$ extends MT{constructor(...e){super(...e),(0,w._)(this,"name","createdAt"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",1),(0,w._)(this,"title",'{{t("Created at")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}),(0,w._)(this,"description",'{{t("Store the creation time of each record")}}'),(0,w._)(this,"availableTypes",[]),(0,w._)(this,"properties",{...MR,...MP}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}class MB extends MT{constructor(...e){super(...e),(0,w._)(this,"name","createdBy"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",3),(0,w._)(this,"title",'{{t("Created by")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(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}}),(0,w._)(this,"availableTypes",["belongsTo"]),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{nested:!0,children:[]}),(0,w._)(this,"description",'{{t("Store the creation user of each record")}}')}}class ML extends MT{constructor(...e){super(...e),(0,w._)(this,"name","datetime"),(0,w._)(this,"type","object"),(0,w._)(this,"group","datetime"),(0,w._)(this,"order",1),(0,w._)(this,"title",'{{t("Datetime (with time zone)")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"date",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!0,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!0}}}),(0,w._)(this,"availableTypes",["date","string","datetime","datetimeTz"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","date"),(0,w._)(this,"properties",{...MR,...MP,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}}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}class MV extends MT{constructor(...e){super(...e),(0,w._)(this,"name","email"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("Email")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"Input","x-validator":"email"}}),(0,w._)(this,"availableTypes",["string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["min","max","length","email","pattern"]),(0,w._)(this,"properties",{...MR,unique:Mw}),(0,w._)(this,"filterable",{operators:"string"}),(0,w._)(this,"titleUsable",!0)}}class Mq extends MT{constructor(...e){super(...e),(0,w._)(this,"name","icon"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",10),(0,w._)(this,"title",'{{t("Icon")}}'),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"IconPicker"}}),(0,w._)(this,"availableTypes",["string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR})}}class Mz extends MT{constructor(...e){super(...e),(0,w._)(this,"name","id"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",0),(0,w._)(this,"title",'{{t("ID")}}'),(0,w._)(this,"hidden",!0),(0,w._)(this,"sortable",!0),(0,w._)(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}}),(0,w._)(this,"availableTypes",["bigInt","integer"]),(0,w._)(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.')}}"}}),(0,w._)(this,"filterable",{operators:"id"}),(0,w._)(this,"description",'{{t("Primary key, unique identifier, self growth") }}'),(0,w._)(this,"titleUsable",!0)}}let MK=e=>e,MU=e=>{if((0,iE.isArr)(e)){for(let t=0;t<e.length;t++)if((0,iE.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,iE.isEmpty)(e)};(0,S7.D1)({username:e=>/^[^@<>"'/]{1,50}$/.test(e)||MK("Must be 1-50 characters in length (excluding @<>\"'/)"),required:(e,t)=>!1===t.required?"":("string"==typeof e&&(e=e.trim()),MU(e)?t.message:"")});class MW extends MT{constructor(...e){super(...e),(0,w._)(this,"name","input"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",1),(0,w._)(this,"title",'{{t("Single line text")}}'),(0,w._)(this,"primaryKeyDescription",'{{t("Primary key, unique identifier")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{interface:"input",type:"string",uiSchema:{type:"string","x-component":"Input"}}),(0,w._)(this,"availableTypes",["string","uid"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["min","max","length","pattern"]),(0,w._)(this,"properties",{...MR,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:MS,unique:Mw}}}),(0,w._)(this,"filterable",{operators:"string"}),(0,w._)(this,"titleUsable",!0)}}(0,ij.registerValidateFormats)({odd:/^-?\d*[13579]$/,even:/^-?\d*[02468]$/});class MH extends MT{constructor(...e){super(...e),(0,w._)(this,"name","integer"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",6),(0,w._)(this,"title",'{{t("Integer")}}'),(0,w._)(this,"primaryKeyDescription",'{{t("Primary key, unique identifier, self growth")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"bigInt",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,step:"1"},"x-validator":"integer"}}),(0,w._)(this,"availableTypes",["bigInt","integer","sort","snowflakeId"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","number"),(0,w._)(this,"excludeValidationOptions",["precision"]),(0,w._)(this,"properties",{...MR,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:MS,unique:Mw}},autoIncrement:MM}),(0,w._)(this,"filterable",{operators:"number"}),(0,w._)(this,"titleUsable",!0)}}(0,ij.registerValidateRules)({json(e){try{return JSON.parse(e),!0}catch(e){return{type:"error",message:e.message}}}});class MG extends MT{constructor(...e){super(...e),(0,w._)(this,"name","json"),(0,w._)(this,"type","object"),(0,w._)(this,"group","advanced"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("JSON")}}'),(0,w._)(this,"sortable",!1),(0,w._)(this,"default",{type:"json",uiSchema:{type:"object","x-component":"Input.JSON","x-component-props":{autoSize:{minRows:5}},default:null}}),(0,w._)(this,"availableTypes",["json","array","set","jsonb","text","circle","lineString","point","polygon"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,jsonb:{title:"JSONB","x-component":"Checkbox"}}),(0,w._)(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 MY extends MT{initialize(e){"belongsToMany"===e.type&&(e.through||(e.through=`t_${(0,iE.uid)()}`),e.foreignKey||(e.foreignKey=`f_${(0,iE.uid)()}`),e.otherKey||(e.otherKey=`f_${(0,iE.uid)()}`),e.sourceKey||(e.sourceKey="id"),e.targetKey||(e.targetKey="id"))}constructor(...e){super(...e),(0,w._)(this,"name","m2m"),(0,w._)(this,"type","object"),(0,w._)(this,"group","relation"),(0,w._)(this,"order",6),(0,w._)(this,"title",'{{t("Many to many")}}'),(0,w._)(this,"description",'{{t("Many to many description")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(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}}}}),(0,w._)(this,"availableTypes",["belongsToMany"]),(0,w._)(this,"validationType","object"),(0,w._)(this,"properties",{...MR,type:MF,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.')}}"}}}}}}},...MC}),(0,w._)(this,"filterable",{nested:!0,children:[]})}}class MJ extends MT{constructor(...e){super(...e),(0,w._)(this,"name","m2o"),(0,w._)(this,"type","object"),(0,w._)(this,"group","relation"),(0,w._)(this,"order",5),(0,w._)(this,"title",'{{t("Many to one")}}'),(0,w._)(this,"description",'{{t("Many to one description")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(this,"validationType","object"),(0,w._)(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}}}}),(0,w._)(this,"availableTypes",["belongsTo"]),(0,w._)(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:MF,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 }}"}}}}}}},...Mk,...MC}),(0,w._)(this,"filterable",{nested:!0,children:[]})}}class MX extends MT{constructor(...e){super(...e),(0,w._)(this,"name","markdown"),(0,w._)(this,"type","object"),(0,w._)(this,"title",'{{t("Markdown")}}'),(0,w._)(this,"group","media"),(0,w._)(this,"default",{type:"text",uiSchema:{type:"string","x-component":"Markdown"}}),(0,w._)(this,"availableTypes",["text","json","string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{operators:"bigField"})}}class MQ extends MT{constructor(...e){super(...e),(0,w._)(this,"name","multipleSelect"),(0,w._)(this,"type","object"),(0,w._)(this,"group","choices"),(0,w._)(this,"order",3),(0,w._)(this,"title",'{{t("Multiple select")}}'),(0,w._)(this,"default",{type:"array",defaultValue:[],uiSchema:{type:"array","x-component":"Select","x-component-props":{mode:"multiple"},enum:[]}}),(0,w._)(this,"availableTypes",["array","json"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,"uiSchema.enum":ME}),(0,w._)(this,"filterable",{operators:"array"})}}class MZ extends MT{constructor(...e){super(...e),(0,w._)(this,"name","number"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",7),(0,w._)(this,"title",'{{t("Number")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"double",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,step:"1"}}}),(0,w._)(this,"availableTypes",["double","float","decimal"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","number"),(0,w._)(this,"excludeValidationOptions",["integer"]),(0,w._)(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"}]},...MR,unique:Mw,"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}}),(0,w._)(this,"filterable",{operators:"number"}),(0,w._)(this,"titleUsable",!0)}}class M0 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","obo"),(0,w._)(this,"type","object"),(0,w._)(this,"group","relation"),(0,w._)(this,"order",3.1),(0,w._)(this,"title",'{{t("One to one (belongs to)")}}'),(0,w._)(this,"description",'{{t("One to one description")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(this,"validationType","object"),(0,w._)(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}}}}),(0,w._)(this,"availableTypes",["belongsTo"]),(0,w._)(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:MF,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 }}"}}}}}}},...Mk,...MC}),(0,w._)(this,"filterable",{nested:!0,children:[]})}}class M1 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","o2m"),(0,w._)(this,"type","object"),(0,w._)(this,"group","relation"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("One to many")}}'),(0,w._)(this,"description",'{{t("One to many description")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(this,"validationType","object"),(0,w._)(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}}}}),(0,w._)(this,"availableTypes",["hasMany"]),(0,w._)(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:MF,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.')}}"}}}}}}},...Mk,...MC}),(0,w._)(this,"filterable",{nested:!0,children:[]})}}class M2 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","oho"),(0,w._)(this,"type","object"),(0,w._)(this,"group","relation"),(0,w._)(this,"order",3),(0,w._)(this,"title",'{{t("One to one (has one)")}}'),(0,w._)(this,"description",'{{t("One to one description")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(this,"validationType","object"),(0,w._)(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}}}}),(0,w._)(this,"availableTypes",["hasOne"]),(0,w._)(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:MF,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 }}"}}}}}}},...Mk,...MC}),(0,w._)(this,"filterable",{nested:!0,children:[]})}}class M5 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","password"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",9),(0,w._)(this,"title",'{{t("Password")}}'),(0,w._)(this,"default",{type:"password",hidden:!0,uiSchema:{type:"string","x-component":"Password"}}),(0,w._)(this,"availableTypes",["password","string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["min","max","length","pattern"]),(0,w._)(this,"properties",{...MR,unique:Mw}),(0,w._)(this,"filterable",{operators:"string"})}}(0,ij.registerValidateRules)({percentMode(e,t){let{maxValue:l,minValue:n}=t;return l&&e>l?{type:"error",message:`${MK("The field value cannot be greater than ")}${100*l}%`}:!n||!(e<n)||{type:"error",message:`${MK("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:`${MK("The field value is not an integer number")}`}}});class M4 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","percent"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",8),(0,w._)(this,"title",'{{t("Percent")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"float",uiSchema:{type:"string","x-component":"Percent","x-component-props":{stringMode:!0,step:"1",addonAfter:"%"}}}),(0,w._)(this,"availableTypes",["float","double","decimal"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","number"),(0,w._)(this,"excludeValidationOptions",["integer"]),(0,w._)(this,"properties",{...MR,unique:Mw,"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%"}]}}),(0,w._)(this,"filterable",{operators:"number"}),(0,w._)(this,"titleUsable",!0)}}class M8 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","phone"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",3),(0,w._)(this,"title",'{{t("Phone")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"Input","x-component-props":{type:"tel"}}}),(0,w._)(this,"availableTypes",["string"]),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["min","max","length","pattern"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,unique:Mw}),(0,w._)(this,"filterable",{operators:"string"}),(0,w._)(this,"titleUsable",!0)}}class M3 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","radioGroup"),(0,w._)(this,"type","object"),(0,w._)(this,"group","choices"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("Radio group")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"Radio.Group"}}),(0,w._)(this,"availableTypes",["string","integer","boolean","integer"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,"uiSchema.enum":ME}),(0,w._)(this,"filterable",{operators:"enumType"}),(0,w._)(this,"titleUsable",!0)}}class M6 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","richText"),(0,w._)(this,"type","object"),(0,w._)(this,"group","media"),(0,w._)(this,"order",2),(0,w._)(this,"title",'{{t("Rich Text")}}'),(0,w._)(this,"default",{interface:"richText",type:"text",uiSchema:{type:"string","x-component":"RichText"}}),(0,w._)(this,"availableTypes",["text","json","string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{operators:"bigField"})}}class M9 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","select"),(0,w._)(this,"type","object"),(0,w._)(this,"group","choices"),(0,w._)(this,"order",2),(0,w._)(this,"title",'{{t("Single select")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"Select",enum:[]}}),(0,w._)(this,"availableTypes",["string","bigInt","boolean"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,"uiSchema.enum":ME}),(0,w._)(this,"filterable",{operators:"enumType"}),(0,w._)(this,"titleUsable",!0)}}class M7 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","snowflakeId"),(0,w._)(this,"type","object"),(0,w._)(this,"group","advanced"),(0,w._)(this,"order",0),(0,w._)(this,"title",'{{t("Snowflake ID (53-bit)")}}'),(0,w._)(this,"primaryKeyDescription",'{{t("Primary key, distributed uniqueness, time-ordering")}}'),(0,w._)(this,"hidden",!1),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"snowflakeId",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,separator:"0.00",step:"1"},"x-validator":"integer"}}),(0,w._)(this,"availableTypes",["snowflakeId"]),(0,w._)(this,"properties",{...MR,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:MS,unique:Mw}}}),(0,w._)(this,"filterable",{operators:"number"}),(0,w._)(this,"description",'{{t("A 53-bit Snowflake ID designed to be compatible with JavaScript’s safe integer range, providing both time-ordering and uniqueness.") }}'),(0,w._)(this,"titleUsable",!0)}}class Ae extends MT{constructor(...e){super(...e),(0,w._)(this,"name","tableoid"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",0),(0,w._)(this,"title",'{{t("Table OID")}}'),(0,w._)(this,"sortable",!0),(0,w._)(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}}),(0,w._)(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"}}),(0,w._)(this,"filterable",{operators:"tableoid"})}}class At extends MT{constructor(...e){super(...e),(0,w._)(this,"name","textarea"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",2),(0,w._)(this,"title",'{{t("Long text")}}'),(0,w._)(this,"default",{interface:"textarea",type:"text",uiSchema:{type:"string","x-component":"Input.TextArea"}}),(0,w._)(this,"availableTypes",["text","json","string"]),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["min","max","length","case","pattern"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"titleUsable",!0),(0,w._)(this,"properties",{...MR,trim:{type:"boolean","x-content":'{{t("Automatically remove heading and tailing spaces")}}',"x-decorator":"FormItem","x-component":"Checkbox"}}),(0,w._)(this,"filterable",{operators:"string"})}}class Al extends MT{constructor(...e){super(...e),(0,w._)(this,"name","time"),(0,w._)(this,"type","object"),(0,w._)(this,"group","datetime"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("Time")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"time",uiSchema:{type:"string","x-component":"TimePicker"}}),(0,w._)(this,"availableTypes",["time"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,...Mj}),(0,w._)(this,"filterable",{operators:"time"}),(0,w._)(this,"titleUsable",!0)}}class An extends MT{constructor(...e){super(...e),(0,w._)(this,"name","updatedAt"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",2),(0,w._)(this,"title",'{{t("Last updated at")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"date",field:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}),(0,w._)(this,"description",'{{t("Store the last update time of each record")}}'),(0,w._)(this,"availableTypes",[]),(0,w._)(this,"properties",{...MR,...MP}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}class Ar extends MT{constructor(...e){super(...e),(0,w._)(this,"name","updatedBy"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("Last updated by")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(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}}),(0,w._)(this,"availableTypes",["belongsTo"]),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{nested:!0,children:[]}),(0,w._)(this,"description",'{{t("Store the last update user of each record")}}')}}class Ai extends MT{constructor(...e){super(...e),(0,w._)(this,"name","url"),(0,w._)(this,"type","string"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",5),(0,w._)(this,"title",'{{t("URL")}}'),(0,w._)(this,"default",{type:"text",uiSchema:{type:"string","x-component":"Input.URL"}}),(0,w._)(this,"componentOptions",[{label:"URL",value:"Input.URL"},{label:"Preview",value:"Input.Preview"}]),(0,w._)(this,"availableTypes",["string","text"]),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["uri","pattern"]),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"titleUsable",!0),(0,w._)(this,"filterable",{operators:"string"})}}class Ao extends MT{constructor(...e){super(...e),(0,w._)(this,"name","uuid"),(0,w._)(this,"type","object"),(0,w._)(this,"group","advanced"),(0,w._)(this,"order",0),(0,w._)(this,"title",'{{t("UUID")}}'),(0,w._)(this,"primaryKeyDescription",'{{t("Primary key, unique identifier")}}'),(0,w._)(this,"hidden",!1),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"uuid",uiSchema:{type:"string","x-component":"Input","x-validator":"uuid"}}),(0,w._)(this,"availableTypes",["uid","uuid"]),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["uuid","pattern"]),(0,w._)(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:MA,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:MS,unique:Mw}}}),(0,w._)(this,"filterable",{operators:"string"}),(0,w._)(this,"titleUsable",!0)}}class Aa extends MT{constructor(...e){super(...e),(0,w._)(this,"name","nanoid"),(0,w._)(this,"type","object"),(0,w._)(this,"group","advanced"),(0,w._)(this,"order",0),(0,w._)(this,"title",'{{t("Nano ID")}}'),(0,w._)(this,"primaryKeyDescription",'{{t("Primary key, unique identifier")}}'),(0,w._)(this,"hidden",!1),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"nanoid",uiSchema:{type:"string","x-component":"NanoIDInput"}}),(0,w._)(this,"availableTypes",["nanoid"]),(0,w._)(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:MA,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:MS,unique:Mw}}}),(0,w._)(this,"filterable",{operators:"string"}),(0,w._)(this,"titleUsable",!0)}}class As extends MT{constructor(...e){super(...e),(0,w._)(this,"name","unixTimestamp"),(0,w._)(this,"type","object"),(0,w._)(this,"group","datetime"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("Unix Timestamp")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"unixTimestamp",accuracy:"second",timezone:!0,defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,uiSchema:{type:"number","x-component":"UnixTimestamp","x-component-props":{showTime:!0}}}),(0,w._)(this,"availableTypes",["unixTimestamp"]),(0,w._)(this,"hasDefaultValue",!1),(0,w._)(this,"validationType","date"),(0,w._)(this,"availableValidationOptions",["timestamp"]),(0,w._)(this,"properties",{...MR,...MP,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")}}'}}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}class Ad extends MT{constructor(...e){super(...e),(0,w._)(this,"name","date"),(0,w._)(this,"type","object"),(0,w._)(this,"group","datetime"),(0,w._)(this,"order",3),(0,w._)(this,"title",'{{t("DateOnly")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"dateOnly",uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{dateOnly:!0,showTime:!1}}}),(0,w._)(this,"availableTypes",["dateOnly"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","date"),(0,w._)(this,"properties",{...MR,...MP,"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}}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}class Au extends MT{constructor(...e){super(...e),(0,w._)(this,"name","datetimeNoTz"),(0,w._)(this,"type","object"),(0,w._)(this,"group","datetime"),(0,w._)(this,"order",2),(0,w._)(this,"title",'{{t("Datetime (without time zone)")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"datetimeNoTz",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!1,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!1}}}),(0,w._)(this,"availableTypes",["string","datetimeNoTz"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","date"),(0,w._)(this,"properties",{...MR,...MP,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}}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}function Ac(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 Ap(e,t){var l,n,r,i,o;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==(i=t.getFieldInterface)||null==(r=i.call(t,s))?void 0:r.default):void 0,u=(0,K.merge)({},(0,K.cloneDeep)(d||{}),(0,K.cloneDeep)(e)),c=(0,K.merge)({},(0,K.cloneDeep)((null==d?void 0:d.uiSchema)||{}),(0,K.cloneDeep)(e.uiSchema||{}));return void 0!==e.title&&(c.title=e.title),void 0!==e.options&&(c.enum=(0,K.cloneDeep)(e.options)),void 0!==e.component&&(c["x-component"]=e.component),void 0!==e.componentProps&&(c["x-component-props"]=(0,K.merge)({},(0,K.cloneDeep)((null==d||null==(o=d.uiSchema)?void 0:o["x-component-props"])||{}),(0,K.cloneDeep)(e.componentProps))),delete u.title,delete u.options,delete u.component,delete u.componentProps,Object.keys(c).length&&(u.uiSchema=c),u}function Ah(){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=>Ap(e,t,l))}let Am=e=>{var t,l,n,r,i,o,a,s,d;let{dataSource:u="main",collections:c,syncOnChange:p=!1,children:h}=e,m=(0,Z.n)(),f=(0,W.useRef)(null),g=(0,W.useRef)(null);if(null===f.current){let e=null==(l=m.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,u),i=[];if(e)for(let t of c)null!=(n=e.getCollection)&&n.call(e,t.name)||(null==(r=e.addCollection)||r.call(e,t),i.push(t));f.current=i,g.current=c}else if(p&&g.current!==c){let e=null==(o=m.dataSourceManager)||null==(i=o.getDataSource)?void 0:i.call(o,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 r=l.get(t.name);if(r){n.push(r);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,W.useEffect)(()=>{var e;let t=e=>{var t,l,n,r,i;let o=null==(t=e.detail)?void 0:t.dataSourceKey;if(o!==u&&"*"!==o)return;let a=null==(n=m.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u);if(a&&f.current)for(let e of f.current)null!=(r=a.getCollection)&&r.call(a,e.name)||null==(i=a.addCollection)||i.call(a,e)};return null==(e=m.eventBus)||e.addEventListener("dataSource:loaded",t),()=>{var e,l,n,r;null==(e=m.eventBus)||e.removeEventListener("dataSource:loaded",t);let i=null==(n=m.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u),o=f.current??[];if(f.current=null,g.current=null,i)for(let e of o)null==(r=i.removeCollection)||r.call(i,e.name)}},[m,u]),(0,V.jsx)(V.Fragment,{children:h})};function Af(e){return Promise.resolve(null)}let Ag="main",Av='{{t("Main")}}',Ay={basic:{label:'{{t("Basic")}}',order:1},choices:{label:'{{t("Choices")}}',order:20},media:{label:'{{t("Media")}}',order:40},datetime:{label:'{{t("Date & Time")}}',order:80},relation:{label:'{{t("Relation")}}',order:100},advanced:{label:'{{t("Advanced type")}}',order:200},systemInfo:{label:'{{t("System info")}}',order:400},others:{label:'{{t("Others")}}',order:800}},Ab=[M_,MD,MN,MO,M$,MB,ML,MV,Mq,Mz,MW,MH,MG,MY,MJ,MX,MQ,MZ,M2,M0,M1,M5,M4,M8,M3,M6,M9,M7,Ae,At,Al,An,Ar,Ai,Ao,Aa,As,Ad,Au];class Ax extends ay{async beforeLoad(){this.app.dataSourceManager.upsertDataSource({key:Ag,displayName:Av}),this.app.dataSourceManager.addFieldInterfaces(Ab),this.app.dataSourceManager.addFieldInterfaceGroups(Ay),this.app.dataSourceManager.registerLoader(Ag,async e=>{var t;let{manager:l}=e,n=l.requester||this.app.apiClient.request.bind(this.app.apiClient),r=await n({resource:"collections",action:"listMeta"});return{collections:(null==r||null==(t=r.data)?void 0:t.data)||[]}})}}var Aw=l(65606);function AS(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 AM=()=>AS(-(new Date().getTimezoneOffset()/60));function AA(e){let t=e.getPublicPath(),l=`^${t}apps/([^/]*)/`,n=location.pathname.match(new RegExp(l));return null==n?void 0:n[0]}function AF(e){let t=e.getPublicPath(),l=`^${t}_app/([^/]*)/`,n=location.pathname.match(new RegExp(l));return null==n?void 0:n[0]}class Ak extends ay{getHostname(){var e,t;if(Aw.env.API_BASE_URL)try{return new URL(Aw.env.API_BASE_URL).hostname}catch(e){}return null==(t=window)||null==(e=t.location)?void 0:e.hostname}async afterAdd(){this.router.setType("browser"),this.router.setBasename(AA(this.app)||AF(this.app)||this.app.getPublicPath()),this.app.apiClient.axios.interceptors.request.use(e=>(e.headers["X-Hostname"]=this.getHostname(),e.headers["X-Timezone"]=AM(),e)),await this.app.pm.add(Ax,{name:"builtin-collection-v2"}),await this.app.pm.add(Mb)}}function AC(e,t){if(!e)return t;let l=e.trim();return l.startsWith("/")||(l=`/${l}`),l.endsWith("/")||(l=`${l}/`),l}function AP(){return`/${tn()}/`}function Aj(e){let t=AP();return e.endsWith(t)?AC(e.slice(0,e.length-t.length),"/"):AC(e,"/")}function AE(){let e=AP(),t=window.location.pathname,l=t.indexOf(e);return l>=0?AC(t.slice(0,l),"/"):"/"}function AR(){let e=window.__nocobase_public_path__;if(e)return Aj(AC(e,"/"));let t="/v/";return t?Aj(AC(t,"/")):AE()}function AI(){let e=AP();return AC(`${AR().replace(/\/$/,"")}${e}`,e)}function AT(e){return"boolean"==typeof e?e:"true"===String(e||"").toLowerCase()}function A_(e){return"sessionStorage"===e||"memory"===e||"localStorage"===e?e:"localStorage"}AR();let AD=AI();function AN(){return"/v/".replace(/\/+$/,"").split("/").pop()||"v"}let AO=window.__webpack_public_path__;l.p=AO?AC(`${AO.replace(/\/$/,"")}/${AN()}/`,"/"):AD;let A$=new ac({publicPath:AD,apiClient:{shareToken:AT(window.__nocobase_api_client_share_token__||"false"),storageType:A_(window.__nocobase_api_client_storage_type__||"localStorage"),storagePrefix:window.__nocobase_api_client_storage_prefix__||"NOCOBASE_",baseURL:window.__nocobase_api_base_url__||"/api/"},ws:{url:window.__nocobase_ws_url__||"",basename:window.__nocobase_ws_path__||"/ws"},loadRemotePlugins:!0,devDynamicImport:Af,plugins:[Ak]});window.__nocobase_v2_app__=A$,A$.mount("#root")},96204(e,t,l){l.d(t,{mz:()=>u,tJ:()=>d,w$:()=>a,wq:()=>s});var n=l(50467),r=l(96540),i=l(47767),o=l(2930);let a="admin.settings.",s="/admin/settings/",d="pm.";class u{clearCache(){this.cachedList={}}setAclSnippets(e){this.aclSnippets=e,this.clearCache()}getAclSnippet(e){let t=this.menus[e]||this.pages[e];return(null==t?void 0:t.aclSnippet)??`${d}${e}`}getRouteName(e){return`${a}${e}`}getRoutePath(e){let{menuName:t,pageName:l}=this.parseName(e),n=`${s}${t}`;return l&&"index"!==l?`${n}/${l}`:n}addMenuItem(e){this.assertMenuKey(e.key,"key");let t=e.key,l={...this.menus[t],...e,key:e.key,name:t,Component:i.Outlet};this.assertPathConflict(t,this.getRoutePath(t)),this.menus[t]=l,this.syncMenuRoute(l),this.clearCache()}addPageTabItem(e){if(this.assertMenuKey(e.menuKey,"menuKey"),!this.menus[e.menuKey])throw Error(`Plugin settings menuKey does not exist: menuKey=${e.menuKey}`);let t=this.getPageName(e.menuKey,e.key),l={...this.pages[t],...e,menuKey:e.menuKey,key:e.key,name:t};this.assertIndexConflict(l),this.assertPathConflict(t,this.getRoutePath(t)),this.pages[t]=l,this.syncPageRoute(l),this.clearCache()}remove(e){let t=this.menus[e],l=this.pages[e];if(!t&&!l)return;let n=[];if(t){let t=this.getPageNamesByMenu(e);delete this.menus[e],n.push(this.getRouteName(e)),t.forEach(e=>{delete this.pages[e],n.push(this.getRouteName(e))})}else l&&(delete this.pages[e],n.push(this.getRouteName(e)));n.forEach(e=>{this.app.router.remove(e)}),this.clearCache()}hasAuth(e){let t=this.getAclSnippet("*");if(t&&this.aclSnippets.includes(`!${t}`))return!1;let l=this.getAclSnippet(e);return!l||!1===this.aclSnippets.includes(`!${l}`)}has(e){return!!(this.menus[e]||this.pages[e])}get(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],l=this.buildSnapshot(e,{filterAuth:t,includeHidden:!0});return l?this.cloneSnapshot(l):null}getList(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=JSON.stringify({filterAuth:e,includeHidden:!0});return this.cachedList[t]||(this.cachedList[t]=this.sortMenuNames().map(t=>this.buildSnapshot(t,{filterAuth:e,includeHidden:!0})).filter(Boolean)),this.cachedList[t].map(e=>this.cloneSnapshot(e))}getAclSnippets(){return[...this.sortMenuNames(),...this.sortPageNames(Object.keys(this.pages))].map(e=>this.getAclSnippet(e)).filter(Boolean)}renderIcon(e){return e?"string"==typeof e?(0,r.createElement)(o.In,{type:e}):e:null}buildSnapshot(e,t){let l=this.menus[e];if(l)return this.buildMenuSnapshot(l,t);let n=this.pages[e];return n?this.buildPageSnapshot(n,t):null}buildMenuSnapshot(e,t){let l=this.hasAuth(e.name),n=this.sortPageNames(this.getPageNamesByMenu(e.key)).map(e=>this.buildPageSnapshot(this.pages[e],t)).filter(Boolean),r=l||n.some(e=>e.isAllow);if(t.filterAuth&&0===n.length||!t.includeHidden&&e.hidden)return null;let{title:i,icon:o,aclSnippet:a,key:s,name:d,Component:u,...c}=e;return{...c,key:d,menuKey:s,pluginKey:d,name:d,title:i,label:i,icon:this.renderIcon(o),path:this.getRoutePath(d),sort:e.sort,isAllow:r,isTopLevel:!0,topLevelName:d,aclSnippet:this.getAclSnippet(d),Component:u,children:n.length?n:void 0}}buildPageSnapshot(e,t){let l=this.hasAuth(e.name);if(t.filterAuth&&!l||!t.includeHidden&&e.hidden)return null;let{title:n,aclSnippet:r,key:i,menuKey:o,name:a,icon:s,...d}=e;return{...d,key:a,menuKey:o,pageKey:i,pluginKey:o,name:a,title:n,label:n,icon:this.renderIcon(s),path:this.getRoutePath(a),sort:e.sort,isAllow:l,isTopLevel:!1,topLevelName:o,aclSnippet:this.getAclSnippet(a),children:void 0}}cloneSnapshot(e){var t;return{...e,children:null==(t=e.children)?void 0:t.map(e=>this.cloneSnapshot(e))}}sortMenuNames(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Object.keys(this.menus);return[...e].sort((e,t)=>{let l=this.menus[e],n=this.menus[t],r=(null==l?void 0:l.sort)||0,i=(null==n?void 0:n.sort)||0;return r!==i?r-i:e.localeCompare(t)})}sortPageNames(e){return[...e].sort((e,t)=>{let l=this.pages[e],n=this.pages[t],r=(null==l?void 0:l.sort)||0,i=(null==n?void 0:n.sort)||0;return r!==i?r-i:e.localeCompare(t)})}getPageNamesByMenu(e){return Object.keys(this.pages).filter(t=>this.pages[t].menuKey===e)}getPageName(e,t){return`${e}.${t}`}parseName(e){let t=e.indexOf(".");return t<0?{menuName:e,pageName:void 0}:{menuName:e.slice(0,t),pageName:e.slice(t+1)}}syncMenuRoute(e){this.app.router.add(this.getRouteName(e.name),{path:e.key,Component:i.Outlet})}syncPageRoute(e){let t=e.Component||i.Outlet;"index"===e.key?this.app.router.add(this.getRouteName(e.name),{path:"",Component:t,componentLoader:e.componentLoader}):this.app.router.add(this.getRouteName(e.name),{path:e.key,Component:t,componentLoader:e.componentLoader})}assertIndexConflict(e){if("index"!==e.key)return;let t=this.getPageNamesByMenu(e.menuKey).find(e=>"index"===this.pages[e].key);if(t&&t!==e.name)throw Error(`Plugin settings page index conflict: menuKey=${e.menuKey}, key=${e.key}, existed=${t}`)}assertPathConflict(e,t){let l=[...this.sortMenuNames().map(e=>({name:e,path:this.getRoutePath(e)})),...this.sortPageNames(Object.keys(this.pages)).map(e=>({name:e,path:this.getRoutePath(e)}))].find(l=>l.path===t&&l.name!==e&&!this.isMenuIndexPair(l.name,e));if(l)throw Error(`Plugin settings path conflict: name=${e}, path=${t}, conflict=${l.name}`)}isMenuIndexPair(e,t){let l=new Set([`${e}.index`,`${t}.index`]);return l.has(t)||l.has(e)}assertMenuKey(e,t){if(e.includes("."))throw Error(`Plugin settings menu key cannot contain ".": ${t}=${e}`)}constructor(e){(0,n._)(this,"menus",{}),(0,n._)(this,"pages",{}),(0,n._)(this,"aclSnippets",[]),(0,n._)(this,"app",void 0),(0,n._)(this,"cachedList",{}),this.app=e}}},88101(e,t,l){l.d(t,{GL:()=>f,N5:()=>m,bq:()=>h,rR:()=>p,uM:()=>y,v6:()=>v,w0:()=>d});var n=l(74848),r=l(95243),i=l(96540),o=l(47767),a=l(36098),s=l(39220);let d=(0,i.createContext)(null);function u(){return(0,r.observable)({data:{},meta:{},setData(e){this.data=e||{}},setMeta(e){this.meta=e||{}}})}function c(e){return e.context.acl||e.context.defineProperty("acl",{value:u()}),e.context.acl}d.displayName="ACLContext";let p=e=>{let{children:t}=e,l=(0,a.n)(),r=(0,o.useLocation)(),u=c(l),[p,h]=(0,i.useState)(!1),m=(0,i.useRef)(r.pathname);m.current=r.pathname;let f=(0,i.useCallback)(async()=>{var e,t,n,r,i,o;if(l.router.isSkippedAuthCheckRoute(m.current))return void h(!1);(null==(e=u.data)?void 0:e.role)||(null==(n=u.data)||null==(t=n.snippets)?void 0:t.length)||h(!0);try{let e=await l.apiClient.request({url:"roles:check",skipNotify:!0,skipAuth:!0}),t=(null==e||null==(r=e.data)?void 0:r.data)||{},n=(null==e||null==(i=e.data)?void 0:i.meta)||{};u.setData(t),u.setMeta(n),l.pluginSettingsManager.setAclSnippets((null==t?void 0:t.snippets)||[]),(null==t?void 0:t.role)!==l.apiClient.auth.role&&l.apiClient.auth.setRole(null==t?void 0:t.role),(0,s.r)((null==t?void 0:t.snippets)||[],!!(null==t?void 0:t.allowAll))("ui.*")||await l.flowEngine.flowSettings.disable()}catch(e){if(401===((null==e||null==(o=e.response)?void 0:o.status)||(null==e?void 0:e.status))){u.setData({}),u.setMeta({}),l.pluginSettingsManager.setAclSnippets([]),l.apiClient.auth.setRole(null);return}console.error(e)}finally{h(!1)}},[u,l]);(0,i.useEffect)(()=>{f()},[f]);let g=(0,i.useMemo)(()=>({loading:p,data:{data:u.data||{},meta:u.meta||{}},refresh:f}),[u.data,u.meta,p,f]);return p?l.renderComponent("AppSpin"):(0,n.jsx)(d.Provider,{value:g,children:t})},h=()=>(0,i.useContext)(d),m=()=>{let e=h(),{allowAll:t}=v();return(0,i.useCallback)(()=>!e||t?Promise.resolve():e.refresh(),[t,e])},f=()=>{var e,t;let l=h();return null==l||null==(t=l.data)||null==(e=t.data)?void 0:e.roleMode},g=()=>{var e,t;let l=h(),n=(null==l||null==(e=l.data)?void 0:e.data)||{},r=(0,i.useCallback)(e=>{var t;let l=e.split(":").pop();return(null==n||null==(t=n.actionAlias)?void 0:t[l||""])||l},[null==n?void 0:n.actionAlias]),o=(0,i.useCallback)(e=>{var t,l;return null==n||null==(l=n.resources)||null==(t=l.includes)?void 0:t.call(l,e)},[null==n?void 0:n.resources]),a=(0,i.useCallback)(e=>{var t,l;let[i]=e.split(":"),o=r(e);return(null==n||null==(t=n.actions)?void 0:t[`${i}:${o}`])||(null==n||null==(l=n.actions)?void 0:l[e])},[null==n?void 0:n.actions,r]),s=(0,i.useCallback)(e=>{var t,l;let i=r(e);return(null==n||null==(l=n.strategy)||null==(t=l.actions)?void 0:t.find(e=>{let[t]=e.split(":");return t===i}))?{}:null},[null==n||null==(t=n.strategy)?void 0:t.actions,r]);return{data:n,getActionAlias:r,inResources:o,getResourceActionParams:a,getStrategyActionParams:s}};function v(){let{data:e,inResources:t,getResourceActionParams:l,getStrategyActionParams:n}=g();return{...e,snippets:(null==e?void 0:e.snippets)||[],parseAction:(0,i.useCallback)(r=>{if(!r)return null;let[i]=r.split(":");return(null==e?void 0:e.allowAll)?{}:t(i)?l(r):n(r)},[null==e?void 0:e.allowAll,l,n,t])}}function y(){let{allowAll:e,snippets:t}=v();return{allowConfigUI:(0,i.useMemo)(()=>(0,s.r)(t||[],!!e),[e,t])("ui.*")}}},39220(e,t,l){l.d(t,{r:()=>i});var n=l(82535),r=l.n(n);let i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=r()().add(e||[]);return e=>!e||"*"===e||!!t||l.ignores(e)}},966(e,t,l){l.d(t,{GL:()=>n.GL,K3:()=>i.K,N5:()=>n.N5,bq:()=>n.bq,rN:()=>r.r,rR:()=>n.rR,uM:()=>n.uM,v6:()=>n.v6,w0:()=>n.w0});var n=l(88101),r=l(39220),i=l(94471)},94471(e,t,l){l.d(t,{K:()=>o});var n=l(96540),r=l(88101),i=l(39220);let o=()=>{let{allowAll:e,snippets:t=[]}=(0,r.v6)();return{allow:(0,n.useMemo)(()=>(0,i.r)(t,!!e),[e,t])}}},39431(e,t,l){let n;l.d(t,{In:()=>p,K1:()=>c,Pt:()=>s,cE:()=>u,pU:()=>d});var r=l(74848),i=l(89286),o=l(16933),a=l(60152);l(96540);let s=new Map;function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n;s.set(e.toLowerCase(),t)}function u(e){return!!e&&s.has(e.toLowerCase())}function c(e){Object.keys(e).forEach(t=>{d(t,e[t])})}Object.keys(i).forEach(e=>{d(e,i[e])});let p=e=>{let{type:t="",component:l,...i}=e;if(l)return(0,r.jsx)(o.A,{component:l,...i});if(t&&s.has(t.toLowerCase())){let e=s.get(t.toLowerCase());return(0,r.jsx)(e,{...i})}return t&&n?(0,r.jsx)(n,{type:t}):null};p.createFromIconfontCN=e=>{n=(0,a.A)(e)},p.register=e=>{c(e)}},16860(e,t,l){l.d(t,{E:()=>k,O:()=>w});var n=l(74848),r=l(85502),i=l(67451),o=l(22803),a=l(35710),s=l(87959),d=l(71021),u=l(3013),c=l(96540),p=l(40961),h=l(18492);function m(e){let{style:t={}}=e,l={position:"absolute",backgroundColor:"rgb(255, 255, 255)"};return(0,n.jsxs)("div",{id:"code-scan-box",style:{boxSizing:"border-box",inset:"0px",...t},children:[(0,n.jsx)("div",{style:{width:"40px",height:"5px",top:"-5px",left:"0px",...l}}),(0,n.jsx)("div",{style:{width:"40px",height:"5px",top:"-5px",right:"0px",...l}}),(0,n.jsx)("div",{style:{width:"40px",height:"5px",bottom:"-5px",left:"0px",...l}}),(0,n.jsx)("div",{style:{width:"40px",height:"5px",bottom:"-5px",right:"0px",...l}}),(0,n.jsx)("div",{style:{width:"5px",height:"45px",top:"-5px",left:"-5px",...l}}),(0,n.jsx)("div",{style:{width:"5px",height:"45px",bottom:"-5px",left:"-5px",...l}}),(0,n.jsx)("div",{style:{width:"5px",height:"45px",top:"-5px",right:"-5px",...l}}),(0,n.jsx)("div",{style:{width:"5px",height:"45px",bottom:"-5px",right:"-5px",...l}})]})}let f=[u.Jl.QR_CODE,u.Jl.CODE_128,u.Jl.CODE_39,u.Jl.CODE_93,u.Jl.CODABAR,u.Jl.EAN_13,u.Jl.EAN_8,u.Jl.ITF,u.Jl.UPC_A,u.Jl.UPC_E,u.Jl.DATA_MATRIX,u.Jl.PDF_417];function g(e,t){return{width:Math.floor(Math.min(.82*e,520)),height:Math.floor(Math.min(.32*t,240))}}async function v(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return;let l=e.getState();[u.Qq.SCANNING,u.Qq.PAUSED].includes(l)&&await e.stop(),t.clear&&e.clear()}function y(e){let{enabled:t,elementId:l,formatsToSupport:n,scanBoxSize:r,onScannerSizeChanged:i,onScanSuccess:o,onScanFailure:a}=e,[s,d]=(0,c.useState)(),p=(0,c.useCallback)(async e=>{await e.start({facingMode:"environment"},{fps:10,qrbox:(e,t)=>(null==i||i({width:e,height:t}),r??g(e,t))},e=>{o(e)},void 0)},[o,i,r]),h=(0,c.useCallback)(async e=>{if(s){await v(s);try{let t=await s.scanFileV2(e,!1);o(t.decodedText)}catch(e){null==a||a(),await p(s)}}},[a,o,s,p]);return(0,c.useEffect)(()=>{if(!t)return;let e=new u.j9(l,{formatsToSupport:(null==n?void 0:n.length)?n:f,verbose:!1});return d(e),p(e).catch(()=>{null==a||a()}),()=>{v(e,{clear:!0}).catch(()=>void 0)}},[l,t,n,a,p]),{startScanFile:h}}let b=0xa00000;function x(e){let{visible:t,formatsToSupport:l,onClose:p,onScanSuccess:f}=e,{t:v}=(0,h.B)(),{token:x}=a.A.useToken(),w=(0,c.useId)().replace(/:/g,""),S=`code-scanner-${w}`,M=(0,c.useRef)(null),[A,F]=(0,c.useState)(!1),k=(0,c.useMemo)(()=>({width:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),height:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}),[]),C=(0,c.useMemo)(()=>g(k.width,k.height),[k.height,k.width]),P=(0,c.useCallback)(()=>{s.Ay.error(v("Code recognition failed, please scan again"))},[v]),{startScanFile:j}=y({enabled:t&&A,elementId:S,formatsToSupport:l,scanBoxSize:C,onScanSuccess:(0,c.useCallback)(e=>{f(e),p()},[p,f]),onScanFailure:P});if((0,c.useEffect)(()=>{if(!t)return;let e=!1;return u.j9.getCameras().then(t=>{if(!e){if(t.length>0)return void F(!0);s.Ay.error(v("No camera device detected")),p()}}).catch(t=>{if(e)return;let l={NotFoundError:v("No camera device detected"),NotAllowedError:v("You have not granted permission to use the camera")};s.Ay.error(l[t.name]??t.message),p()}),()=>{e=!0}},[p,v,t]),!t)return null;let E=()=>{var e;null==(e=M.current)||e.click()},R=e=>{var t;let l=null==(t=e.target.files)?void 0:t[0];if(l){if(l.size>b)return void s.Ay.error(v("The image size is too large. Please compress it to below 10MB before uploading"));j(l).catch(P),e.target.value=""}},I=(0,o.css)`
1027
+ `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:"HH:mm:ss",enum:[{label:(0,Mx.b)({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:(0,Mx.b)({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}},ME={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')}}"}}},MR={"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.')}}"}},MI={type:"string",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},enum:"{{collections}}"};class MT{addComponentOption(e){if(!this.componentOptions){var t,l,n,r,i,o;this.componentOptions=[];let e=null==(l=this.default)||null==(t=l.uiSchema)?void 0:t["x-component"],a=null==(r=this.default)||null==(n=r.uiSchema)?void 0:n["x-component-props"];if(e){let t=(null==(o=this.default)||null==(i=o.uiSchema)?void 0:i.type)||"string",l=(0,em.tval)(e.startsWith("Input")?(0,K.capitalize)(t):e.split(".").pop());this.componentOptions=[{label:l,value:e,useProps:()=>a||{}}]}}this.componentOptions.push(e)}getConfigureFormProperties(e){var t,l,n,r;let i=(null==(l=this.configure)||null==(t=l.getConfigureFormProperties)?void 0:t.call(l,e))||(null==(n=this.configure)?void 0:n.properties)||{},o=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,K.cloneDeep)({...MR,...null==(r=this)?void 0:r.properties,...i}),...o,...u}}getDefaultValueProperty(){var e,t,l,n;return{defaultValue:{...(0,K.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,K.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,K.set)(this,"filterable.operatorOverrides",t),ob(this.filterable)}constructor(e){(0,w._)(this,"collectionFieldInterfaceManager",void 0),(0,w._)(this,"name",void 0),(0,w._)(this,"group",void 0),(0,w._)(this,"title",void 0),(0,w._)(this,"description",void 0),(0,w._)(this,"primaryKeyDescription",void 0),(0,w._)(this,"order",void 0),(0,w._)(this,"default",void 0),(0,w._)(this,"sortable",void 0),(0,w._)(this,"availableTypes",void 0),(0,w._)(this,"type",void 0),(0,w._)(this,"supportDataSourceType",void 0),(0,w._)(this,"notSupportDataSourceType",void 0),(0,w._)(this,"hasDefaultValue",void 0),(0,w._)(this,"componentOptions",void 0),(0,w._)(this,"isAssociation",void 0),(0,w._)(this,"operators",void 0),(0,w._)(this,"properties",void 0),(0,w._)(this,"validationType",void 0),(0,w._)(this,"availableValidationOptions",void 0),(0,w._)(this,"configure",void 0),(0,w._)(this,"excludeValidationOptions",void 0),(0,w._)(this,"filterable",void 0),(0,w._)(this,"titleUsable",void 0),(0,w._)(this,"hidden",void 0),(0,w._)(this,"creatable",void 0),this.collectionFieldInterfaceManager=e,this.availableValidationOptions=[]}}class M_ extends MT{constructor(...e){super(...e),(0,w._)(this,"name","checkbox"),(0,w._)(this,"type","object"),(0,w._)(this,"group","choices"),(0,w._)(this,"order",1),(0,w._)(this,"title",'{{t("Checkbox")}}'),(0,w._)(this,"default",{type:"boolean",uiSchema:{type:"boolean","x-component":"Checkbox"}}),(0,w._)(this,"availableTypes",["boolean","integer","bigInt","bit"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{operators:"boolean"})}}class MD extends MT{constructor(...e){super(...e),(0,w._)(this,"name","checkboxGroup"),(0,w._)(this,"type","object"),(0,w._)(this,"group","choices"),(0,w._)(this,"order",5),(0,w._)(this,"title",'{{t("Checkbox group")}}'),(0,w._)(this,"default",{interface:"checkboxGroup",type:"array",defaultValue:[],uiSchema:{type:"string","x-component":"Checkbox.Group"}}),(0,w._)(this,"availableTypes",["array","json"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,"uiSchema.enum":ME}),(0,w._)(this,"filterable",{operators:"array"})}}class MN extends MT{constructor(...e){super(...e),(0,w._)(this,"name","collection"),(0,w._)(this,"type","string"),(0,w._)(this,"group","advanced"),(0,w._)(this,"order",5),(0,w._)(this,"title",'{{t("Collection selector")}}'),(0,w._)(this,"description",'{{t("Providing certain collections as options for users, typically used in polymorphic or inheritance scenarios")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"CollectionSelect"}}),(0,w._)(this,"availableTypes",["string"]),(0,w._)(this,"hasDefaultValue",!1),(0,w._)(this,"properties",{...MR,"uiSchema.enum":MI}),(0,w._)(this,"filterable",{operators:"collection"})}}class MO extends MT{constructor(...e){super(...e),(0,w._)(this,"name","color"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",10),(0,w._)(this,"title",'{{t("Color")}}'),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"ColorPicker"}}),(0,w._)(this,"availableTypes",["string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{operators:"string"})}}class M$ extends MT{constructor(...e){super(...e),(0,w._)(this,"name","createdAt"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",1),(0,w._)(this,"title",'{{t("Created at")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}),(0,w._)(this,"description",'{{t("Store the creation time of each record")}}'),(0,w._)(this,"availableTypes",[]),(0,w._)(this,"properties",{...MR,...MP}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}class MB extends MT{constructor(...e){super(...e),(0,w._)(this,"name","createdBy"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",3),(0,w._)(this,"title",'{{t("Created by")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(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}}),(0,w._)(this,"availableTypes",["belongsTo"]),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{nested:!0,children:[]}),(0,w._)(this,"description",'{{t("Store the creation user of each record")}}')}}class ML extends MT{constructor(...e){super(...e),(0,w._)(this,"name","datetime"),(0,w._)(this,"type","object"),(0,w._)(this,"group","datetime"),(0,w._)(this,"order",1),(0,w._)(this,"title",'{{t("Datetime (with time zone)")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"date",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!0,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!0}}}),(0,w._)(this,"availableTypes",["date","string","datetime","datetimeTz"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","date"),(0,w._)(this,"properties",{...MR,...MP,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}}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}class MV extends MT{constructor(...e){super(...e),(0,w._)(this,"name","email"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("Email")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"Input","x-validator":"email"}}),(0,w._)(this,"availableTypes",["string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["min","max","length","email","pattern"]),(0,w._)(this,"properties",{...MR,unique:Mw}),(0,w._)(this,"filterable",{operators:"string"}),(0,w._)(this,"titleUsable",!0)}}class Mq extends MT{constructor(...e){super(...e),(0,w._)(this,"name","icon"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",10),(0,w._)(this,"title",'{{t("Icon")}}'),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"IconPicker"}}),(0,w._)(this,"availableTypes",["string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR})}}class Mz extends MT{constructor(...e){super(...e),(0,w._)(this,"name","id"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",0),(0,w._)(this,"title",'{{t("ID")}}'),(0,w._)(this,"hidden",!0),(0,w._)(this,"sortable",!0),(0,w._)(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}}),(0,w._)(this,"availableTypes",["bigInt","integer"]),(0,w._)(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.')}}"}}),(0,w._)(this,"filterable",{operators:"id"}),(0,w._)(this,"description",'{{t("Primary key, unique identifier, self growth") }}'),(0,w._)(this,"titleUsable",!0)}}let MK=e=>e,MU=e=>{if((0,iE.isArr)(e)){for(let t=0;t<e.length;t++)if((0,iE.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,iE.isEmpty)(e)};(0,S7.D1)({username:e=>/^[^@<>"'/]{1,50}$/.test(e)||MK("Must be 1-50 characters in length (excluding @<>\"'/)"),required:(e,t)=>!1===t.required?"":("string"==typeof e&&(e=e.trim()),MU(e)?t.message:"")});class MW extends MT{constructor(...e){super(...e),(0,w._)(this,"name","input"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",1),(0,w._)(this,"title",'{{t("Single line text")}}'),(0,w._)(this,"primaryKeyDescription",'{{t("Primary key, unique identifier")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{interface:"input",type:"string",uiSchema:{type:"string","x-component":"Input"}}),(0,w._)(this,"availableTypes",["string","uid"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["min","max","length","pattern"]),(0,w._)(this,"properties",{...MR,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:MS,unique:Mw}}}),(0,w._)(this,"filterable",{operators:"string"}),(0,w._)(this,"titleUsable",!0)}}(0,ij.registerValidateFormats)({odd:/^-?\d*[13579]$/,even:/^-?\d*[02468]$/});class MH extends MT{constructor(...e){super(...e),(0,w._)(this,"name","integer"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",6),(0,w._)(this,"title",'{{t("Integer")}}'),(0,w._)(this,"primaryKeyDescription",'{{t("Primary key, unique identifier, self growth")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"bigInt",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,step:"1"},"x-validator":"integer"}}),(0,w._)(this,"availableTypes",["bigInt","integer","sort","snowflakeId"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","number"),(0,w._)(this,"excludeValidationOptions",["precision"]),(0,w._)(this,"properties",{...MR,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:MS,unique:Mw}},autoIncrement:MM}),(0,w._)(this,"filterable",{operators:"number"}),(0,w._)(this,"titleUsable",!0)}}(0,ij.registerValidateRules)({json(e){try{return JSON.parse(e),!0}catch(e){return{type:"error",message:e.message}}}});class MG extends MT{constructor(...e){super(...e),(0,w._)(this,"name","json"),(0,w._)(this,"type","object"),(0,w._)(this,"group","advanced"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("JSON")}}'),(0,w._)(this,"sortable",!1),(0,w._)(this,"default",{type:"json",uiSchema:{type:"object","x-component":"Input.JSON","x-component-props":{autoSize:{minRows:5}},default:null}}),(0,w._)(this,"availableTypes",["json","array","set","jsonb","text","circle","lineString","point","polygon"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,jsonb:{title:"JSONB","x-component":"Checkbox"}}),(0,w._)(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 MY extends MT{initialize(e){"belongsToMany"===e.type&&(e.through||(e.through=`t_${(0,iE.uid)()}`),e.foreignKey||(e.foreignKey=`f_${(0,iE.uid)()}`),e.otherKey||(e.otherKey=`f_${(0,iE.uid)()}`),e.sourceKey||(e.sourceKey="id"),e.targetKey||(e.targetKey="id"))}constructor(...e){super(...e),(0,w._)(this,"name","m2m"),(0,w._)(this,"type","object"),(0,w._)(this,"group","relation"),(0,w._)(this,"order",6),(0,w._)(this,"title",'{{t("Many to many")}}'),(0,w._)(this,"description",'{{t("Many to many description")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(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}}}}),(0,w._)(this,"availableTypes",["belongsToMany"]),(0,w._)(this,"validationType","object"),(0,w._)(this,"properties",{...MR,type:MF,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.')}}"}}}}}}},...MC}),(0,w._)(this,"filterable",{nested:!0,children:[]})}}class MJ extends MT{constructor(...e){super(...e),(0,w._)(this,"name","m2o"),(0,w._)(this,"type","object"),(0,w._)(this,"group","relation"),(0,w._)(this,"order",5),(0,w._)(this,"title",'{{t("Many to one")}}'),(0,w._)(this,"description",'{{t("Many to one description")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(this,"validationType","object"),(0,w._)(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}}}}),(0,w._)(this,"availableTypes",["belongsTo"]),(0,w._)(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:MF,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 }}"}}}}}}},...Mk,...MC}),(0,w._)(this,"filterable",{nested:!0,children:[]})}}class MX extends MT{constructor(...e){super(...e),(0,w._)(this,"name","markdown"),(0,w._)(this,"type","object"),(0,w._)(this,"title",'{{t("Markdown")}}'),(0,w._)(this,"group","media"),(0,w._)(this,"default",{type:"text",uiSchema:{type:"string","x-component":"Markdown"}}),(0,w._)(this,"availableTypes",["text","json","string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{operators:"bigField"})}}class MQ extends MT{constructor(...e){super(...e),(0,w._)(this,"name","multipleSelect"),(0,w._)(this,"type","object"),(0,w._)(this,"group","choices"),(0,w._)(this,"order",3),(0,w._)(this,"title",'{{t("Multiple select")}}'),(0,w._)(this,"default",{type:"array",defaultValue:[],uiSchema:{type:"array","x-component":"Select","x-component-props":{mode:"multiple"},enum:[]}}),(0,w._)(this,"availableTypes",["array","json"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,"uiSchema.enum":ME}),(0,w._)(this,"filterable",{operators:"array"})}}class MZ extends MT{constructor(...e){super(...e),(0,w._)(this,"name","number"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",7),(0,w._)(this,"title",'{{t("Number")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"double",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,step:"1"}}}),(0,w._)(this,"availableTypes",["double","float","decimal"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","number"),(0,w._)(this,"excludeValidationOptions",["integer"]),(0,w._)(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"}]},...MR,unique:Mw,"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}}),(0,w._)(this,"filterable",{operators:"number"}),(0,w._)(this,"titleUsable",!0)}}class M0 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","obo"),(0,w._)(this,"type","object"),(0,w._)(this,"group","relation"),(0,w._)(this,"order",3.1),(0,w._)(this,"title",'{{t("One to one (belongs to)")}}'),(0,w._)(this,"description",'{{t("One to one description")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(this,"validationType","object"),(0,w._)(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}}}}),(0,w._)(this,"availableTypes",["belongsTo"]),(0,w._)(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:MF,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 }}"}}}}}}},...Mk,...MC}),(0,w._)(this,"filterable",{nested:!0,children:[]})}}class M1 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","o2m"),(0,w._)(this,"type","object"),(0,w._)(this,"group","relation"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("One to many")}}'),(0,w._)(this,"description",'{{t("One to many description")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(this,"validationType","object"),(0,w._)(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}}}}),(0,w._)(this,"availableTypes",["hasMany"]),(0,w._)(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:MF,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.')}}"}}}}}}},...Mk,...MC}),(0,w._)(this,"filterable",{nested:!0,children:[]})}}class M2 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","oho"),(0,w._)(this,"type","object"),(0,w._)(this,"group","relation"),(0,w._)(this,"order",3),(0,w._)(this,"title",'{{t("One to one (has one)")}}'),(0,w._)(this,"description",'{{t("One to one description")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(this,"validationType","object"),(0,w._)(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}}}}),(0,w._)(this,"availableTypes",["hasOne"]),(0,w._)(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:MF,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 }}"}}}}}}},...Mk,...MC}),(0,w._)(this,"filterable",{nested:!0,children:[]})}}class M5 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","password"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",9),(0,w._)(this,"title",'{{t("Password")}}'),(0,w._)(this,"default",{type:"password",hidden:!0,uiSchema:{type:"string","x-component":"Password"}}),(0,w._)(this,"availableTypes",["password","string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["min","max","length","pattern"]),(0,w._)(this,"properties",{...MR,unique:Mw}),(0,w._)(this,"filterable",{operators:"string"})}}(0,ij.registerValidateRules)({percentMode(e,t){let{maxValue:l,minValue:n}=t;return l&&e>l?{type:"error",message:`${MK("The field value cannot be greater than ")}${100*l}%`}:!n||!(e<n)||{type:"error",message:`${MK("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:`${MK("The field value is not an integer number")}`}}});class M4 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","percent"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",8),(0,w._)(this,"title",'{{t("Percent")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"float",uiSchema:{type:"string","x-component":"Percent","x-component-props":{stringMode:!0,step:"1",addonAfter:"%"}}}),(0,w._)(this,"availableTypes",["float","double","decimal"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","number"),(0,w._)(this,"excludeValidationOptions",["integer"]),(0,w._)(this,"properties",{...MR,unique:Mw,"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%"}]}}),(0,w._)(this,"filterable",{operators:"number"}),(0,w._)(this,"titleUsable",!0)}}class M8 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","phone"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",3),(0,w._)(this,"title",'{{t("Phone")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"Input","x-component-props":{type:"tel"}}}),(0,w._)(this,"availableTypes",["string"]),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["min","max","length","pattern"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,unique:Mw}),(0,w._)(this,"filterable",{operators:"string"}),(0,w._)(this,"titleUsable",!0)}}class M3 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","radioGroup"),(0,w._)(this,"type","object"),(0,w._)(this,"group","choices"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("Radio group")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"Radio.Group"}}),(0,w._)(this,"availableTypes",["string","integer","boolean","integer"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,"uiSchema.enum":ME}),(0,w._)(this,"filterable",{operators:"enumType"}),(0,w._)(this,"titleUsable",!0)}}class M6 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","richText"),(0,w._)(this,"type","object"),(0,w._)(this,"group","media"),(0,w._)(this,"order",2),(0,w._)(this,"title",'{{t("Rich Text")}}'),(0,w._)(this,"default",{interface:"richText",type:"text",uiSchema:{type:"string","x-component":"RichText"}}),(0,w._)(this,"availableTypes",["text","json","string"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{operators:"bigField"})}}class M9 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","select"),(0,w._)(this,"type","object"),(0,w._)(this,"group","choices"),(0,w._)(this,"order",2),(0,w._)(this,"title",'{{t("Single select")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"string",uiSchema:{type:"string","x-component":"Select",enum:[]}}),(0,w._)(this,"availableTypes",["string","bigInt","boolean"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,"uiSchema.enum":ME}),(0,w._)(this,"filterable",{operators:"enumType"}),(0,w._)(this,"titleUsable",!0)}}class M7 extends MT{constructor(...e){super(...e),(0,w._)(this,"name","snowflakeId"),(0,w._)(this,"type","object"),(0,w._)(this,"group","advanced"),(0,w._)(this,"order",0),(0,w._)(this,"title",'{{t("Snowflake ID (53-bit)")}}'),(0,w._)(this,"primaryKeyDescription",'{{t("Primary key, distributed uniqueness, time-ordering")}}'),(0,w._)(this,"hidden",!1),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"snowflakeId",uiSchema:{type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,separator:"0.00",step:"1"},"x-validator":"integer"}}),(0,w._)(this,"availableTypes",["snowflakeId"]),(0,w._)(this,"properties",{...MR,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:MS,unique:Mw}}}),(0,w._)(this,"filterable",{operators:"number"}),(0,w._)(this,"description",'{{t("A 53-bit Snowflake ID designed to be compatible with JavaScript’s safe integer range, providing both time-ordering and uniqueness.") }}'),(0,w._)(this,"titleUsable",!0)}}class Ae extends MT{constructor(...e){super(...e),(0,w._)(this,"name","tableoid"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",0),(0,w._)(this,"title",'{{t("Table OID")}}'),(0,w._)(this,"sortable",!0),(0,w._)(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}}),(0,w._)(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"}}),(0,w._)(this,"filterable",{operators:"tableoid"})}}class At extends MT{constructor(...e){super(...e),(0,w._)(this,"name","textarea"),(0,w._)(this,"type","object"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",2),(0,w._)(this,"title",'{{t("Long text")}}'),(0,w._)(this,"default",{interface:"textarea",type:"text",uiSchema:{type:"string","x-component":"Input.TextArea"}}),(0,w._)(this,"availableTypes",["text","json","string"]),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["min","max","length","case","pattern"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"titleUsable",!0),(0,w._)(this,"properties",{...MR,trim:{type:"boolean","x-content":'{{t("Automatically remove heading and tailing spaces")}}',"x-decorator":"FormItem","x-component":"Checkbox"}}),(0,w._)(this,"filterable",{operators:"string"})}}class Al extends MT{constructor(...e){super(...e),(0,w._)(this,"name","time"),(0,w._)(this,"type","object"),(0,w._)(this,"group","datetime"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("Time")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"time",uiSchema:{type:"string","x-component":"TimePicker"}}),(0,w._)(this,"availableTypes",["time"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"properties",{...MR,...Mj}),(0,w._)(this,"filterable",{operators:"time"}),(0,w._)(this,"titleUsable",!0)}}class An extends MT{constructor(...e){super(...e),(0,w._)(this,"name","updatedAt"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",2),(0,w._)(this,"title",'{{t("Last updated at")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"date",field:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}),(0,w._)(this,"description",'{{t("Store the last update time of each record")}}'),(0,w._)(this,"availableTypes",[]),(0,w._)(this,"properties",{...MR,...MP}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}class Ar extends MT{constructor(...e){super(...e),(0,w._)(this,"name","updatedBy"),(0,w._)(this,"type","object"),(0,w._)(this,"group","systemInfo"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("Last updated by")}}'),(0,w._)(this,"isAssociation",!0),(0,w._)(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}}),(0,w._)(this,"availableTypes",["belongsTo"]),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"filterable",{nested:!0,children:[]}),(0,w._)(this,"description",'{{t("Store the last update user of each record")}}')}}class Ai extends MT{constructor(...e){super(...e),(0,w._)(this,"name","url"),(0,w._)(this,"type","string"),(0,w._)(this,"group","basic"),(0,w._)(this,"order",5),(0,w._)(this,"title",'{{t("URL")}}'),(0,w._)(this,"default",{type:"text",uiSchema:{type:"string","x-component":"Input.URL"}}),(0,w._)(this,"componentOptions",[{label:"URL",value:"Input.URL"},{label:"Preview",value:"Input.Preview"}]),(0,w._)(this,"availableTypes",["string","text"]),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["uri","pattern"]),(0,w._)(this,"properties",{...MR}),(0,w._)(this,"titleUsable",!0),(0,w._)(this,"filterable",{operators:"string"})}}class Ao extends MT{constructor(...e){super(...e),(0,w._)(this,"name","uuid"),(0,w._)(this,"type","object"),(0,w._)(this,"group","advanced"),(0,w._)(this,"order",0),(0,w._)(this,"title",'{{t("UUID")}}'),(0,w._)(this,"primaryKeyDescription",'{{t("Primary key, unique identifier")}}'),(0,w._)(this,"hidden",!1),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"uuid",uiSchema:{type:"string","x-component":"Input","x-validator":"uuid"}}),(0,w._)(this,"availableTypes",["uid","uuid"]),(0,w._)(this,"validationType","string"),(0,w._)(this,"availableValidationOptions",["uuid","pattern"]),(0,w._)(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:MA,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:MS,unique:Mw}}}),(0,w._)(this,"filterable",{operators:"string"}),(0,w._)(this,"titleUsable",!0)}}class Aa extends MT{constructor(...e){super(...e),(0,w._)(this,"name","nanoid"),(0,w._)(this,"type","object"),(0,w._)(this,"group","advanced"),(0,w._)(this,"order",0),(0,w._)(this,"title",'{{t("Nano ID")}}'),(0,w._)(this,"primaryKeyDescription",'{{t("Primary key, unique identifier")}}'),(0,w._)(this,"hidden",!1),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"nanoid",uiSchema:{type:"string","x-component":"NanoIDInput"}}),(0,w._)(this,"availableTypes",["nanoid"]),(0,w._)(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:MA,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey:MS,unique:Mw}}}),(0,w._)(this,"filterable",{operators:"string"}),(0,w._)(this,"titleUsable",!0)}}class As extends MT{constructor(...e){super(...e),(0,w._)(this,"name","unixTimestamp"),(0,w._)(this,"type","object"),(0,w._)(this,"group","datetime"),(0,w._)(this,"order",4),(0,w._)(this,"title",'{{t("Unix Timestamp")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"unixTimestamp",accuracy:"second",timezone:!0,defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,uiSchema:{type:"number","x-component":"UnixTimestamp","x-component-props":{showTime:!0}}}),(0,w._)(this,"availableTypes",["unixTimestamp"]),(0,w._)(this,"hasDefaultValue",!1),(0,w._)(this,"validationType","date"),(0,w._)(this,"availableValidationOptions",["timestamp"]),(0,w._)(this,"properties",{...MR,...MP,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")}}'}}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}class Ad extends MT{constructor(...e){super(...e),(0,w._)(this,"name","date"),(0,w._)(this,"type","object"),(0,w._)(this,"group","datetime"),(0,w._)(this,"order",3),(0,w._)(this,"title",'{{t("DateOnly")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"dateOnly",uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{dateOnly:!0,showTime:!1}}}),(0,w._)(this,"availableTypes",["dateOnly"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","date"),(0,w._)(this,"properties",{...MR,...MP,"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}}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}class Au extends MT{constructor(...e){super(...e),(0,w._)(this,"name","datetimeNoTz"),(0,w._)(this,"type","object"),(0,w._)(this,"group","datetime"),(0,w._)(this,"order",2),(0,w._)(this,"title",'{{t("Datetime (without time zone)")}}'),(0,w._)(this,"sortable",!0),(0,w._)(this,"default",{type:"datetimeNoTz",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!1,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!1}}}),(0,w._)(this,"availableTypes",["string","datetimeNoTz"]),(0,w._)(this,"hasDefaultValue",!0),(0,w._)(this,"validationType","date"),(0,w._)(this,"properties",{...MR,...MP,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}}),(0,w._)(this,"filterable",{operators:"datetime"}),(0,w._)(this,"titleUsable",!0)}}function Ac(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 Ap(e,t){var l,n,r,i,o;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==(i=t.getFieldInterface)||null==(r=i.call(t,s))?void 0:r.default):void 0,u=(0,K.merge)({},(0,K.cloneDeep)(d||{}),(0,K.cloneDeep)(e)),c=(0,K.merge)({},(0,K.cloneDeep)((null==d?void 0:d.uiSchema)||{}),(0,K.cloneDeep)(e.uiSchema||{}));return void 0!==e.title&&(c.title=e.title),void 0!==e.options&&(c.enum=(0,K.cloneDeep)(e.options)),void 0!==e.component&&(c["x-component"]=e.component),void 0!==e.componentProps&&(c["x-component-props"]=(0,K.merge)({},(0,K.cloneDeep)((null==d||null==(o=d.uiSchema)?void 0:o["x-component-props"])||{}),(0,K.cloneDeep)(e.componentProps))),delete u.title,delete u.options,delete u.component,delete u.componentProps,Object.keys(c).length&&(u.uiSchema=c),u}function Ah(){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=>Ap(e,t,l))}let Am=e=>{var t,l,n,r,i,o,a,s,d;let{dataSource:u="main",collections:c,syncOnChange:p=!1,children:h}=e,m=(0,Z.n)(),f=(0,W.useRef)(null),g=(0,W.useRef)(null);if(null===f.current){let e=null==(l=m.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,u),i=[];if(e)for(let t of c)null!=(n=e.getCollection)&&n.call(e,t.name)||(null==(r=e.addCollection)||r.call(e,t),i.push(t));f.current=i,g.current=c}else if(p&&g.current!==c){let e=null==(o=m.dataSourceManager)||null==(i=o.getDataSource)?void 0:i.call(o,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 r=l.get(t.name);if(r){n.push(r);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,W.useEffect)(()=>{var e;let t=e=>{var t,l,n,r,i;let o=null==(t=e.detail)?void 0:t.dataSourceKey;if(o!==u&&"*"!==o)return;let a=null==(n=m.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u);if(a&&f.current)for(let e of f.current)null!=(r=a.getCollection)&&r.call(a,e.name)||null==(i=a.addCollection)||i.call(a,e)};return null==(e=m.eventBus)||e.addEventListener("dataSource:loaded",t),()=>{var e,l,n,r;null==(e=m.eventBus)||e.removeEventListener("dataSource:loaded",t);let i=null==(n=m.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u),o=f.current??[];if(f.current=null,g.current=null,i)for(let e of o)null==(r=i.removeCollection)||r.call(i,e.name)}},[m,u]),(0,V.jsx)(V.Fragment,{children:h})};function Af(e){return Promise.resolve(null)}let Ag="main",Av='{{t("Main")}}',Ay={basic:{label:'{{t("Basic")}}',order:1},choices:{label:'{{t("Choices")}}',order:20},media:{label:'{{t("Media")}}',order:40},datetime:{label:'{{t("Date & Time")}}',order:80},relation:{label:'{{t("Relation")}}',order:100},advanced:{label:'{{t("Advanced type")}}',order:200},systemInfo:{label:'{{t("System info")}}',order:400},others:{label:'{{t("Others")}}',order:800}},Ab=[M_,MD,MN,MO,M$,MB,ML,MV,Mq,Mz,MW,MH,MG,MY,MJ,MX,MQ,MZ,M2,M0,M1,M5,M4,M8,M3,M6,M9,M7,Ae,At,Al,An,Ar,Ai,Ao,Aa,As,Ad,Au];class Ax extends ay{async beforeLoad(){this.app.dataSourceManager.upsertDataSource({key:Ag,displayName:Av}),this.app.dataSourceManager.addFieldInterfaces(Ab),this.app.dataSourceManager.addFieldInterfaceGroups(Ay),this.app.dataSourceManager.registerLoader(Ag,async e=>{var t;let{manager:l}=e,n=l.requester||this.app.apiClient.request.bind(this.app.apiClient),r=await n({resource:"collections",action:"listMeta"});return{collections:(null==r||null==(t=r.data)?void 0:t.data)||[]}})}}var Aw=l(65606);function AS(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 AM=()=>AS(-(new Date().getTimezoneOffset()/60));function AA(e){let t=e.getPublicPath(),l=`^${t}apps/([^/]*)/`,n=location.pathname.match(new RegExp(l));return null==n?void 0:n[0]}function AF(e){let t=e.getPublicPath(),l=`^${t}_app/([^/]*)/`,n=location.pathname.match(new RegExp(l));return null==n?void 0:n[0]}class Ak extends ay{getHostname(){var e,t;if(Aw.env.API_BASE_URL)try{return new URL(Aw.env.API_BASE_URL).hostname}catch(e){}return null==(t=window)||null==(e=t.location)?void 0:e.hostname}async afterAdd(){this.router.setType("browser"),this.router.setBasename(AA(this.app)||AF(this.app)||this.app.getPublicPath()),this.app.apiClient.axios.interceptors.request.use(e=>(e.headers["X-Hostname"]=this.getHostname(),e.headers["X-Timezone"]=AM(),e)),await this.app.pm.add(Ax,{name:"builtin-collection-v2"}),await this.app.pm.add(Mb)}}function AC(e,t){if(!e)return t;let l=e.trim();return l.startsWith("/")||(l=`/${l}`),l.endsWith("/")||(l=`${l}/`),l}function AP(){return`/${tn()}/`}function Aj(e){let t=AP();return e.endsWith(t)?AC(e.slice(0,e.length-t.length),"/"):AC(e,"/")}function AE(){let e=AP(),t=window.location.pathname,l=t.indexOf(e);return l>=0?AC(t.slice(0,l),"/"):"/"}function AR(){let e=window.__nocobase_public_path__;if(e)return Aj(AC(e,"/"));let t="/v/";return t?Aj(AC(t,"/")):AE()}function AI(){let e=AP();return AC(`${AR().replace(/\/$/,"")}${e}`,e)}function AT(e){return"boolean"==typeof e?e:"true"===String(e||"").toLowerCase()}function A_(e){return"sessionStorage"===e||"memory"===e||"localStorage"===e?e:"localStorage"}AR();let AD=AI();function AN(){return"/v/".replace(/\/+$/,"").split("/").pop()||"v"}let AO=window.__webpack_public_path__;l.p=AO?AC(`${AO.replace(/\/$/,"")}/${AN()}/`,"/"):AD;let A$=new ac({publicPath:AD,apiClient:{shareToken:AT(window.__nocobase_api_client_share_token__||"false"),storageType:A_(window.__nocobase_api_client_storage_type__||"localStorage"),storagePrefix:window.__nocobase_api_client_storage_prefix__||"NOCOBASE_",baseURL:window.__nocobase_api_base_url__||"/api/"},ws:{url:window.__nocobase_ws_url__||"",basename:window.__nocobase_ws_path__||"/ws"},loadRemotePlugins:!0,devDynamicImport:Af,plugins:[Ak]});window.__nocobase_v2_app__=A$,A$.mount("#root")},96204(e,t,l){l.d(t,{mz:()=>u,tJ:()=>d,w$:()=>a,wq:()=>s});var n=l(50467),r=l(96540),i=l(47767),o=l(2930);let a="admin.settings.",s="/admin/settings/",d="pm.";class u{clearCache(){this.cachedList={}}setAclSnippets(e){this.aclSnippets=e,this.clearCache()}getAclSnippet(e){let t=this.menus[e]||this.pages[e];return(null==t?void 0:t.aclSnippet)??`${d}${e}`}getRouteName(e){return`${a}${e}`}getRoutePath(e){let{menuName:t,pageName:l}=this.parseName(e),n=`${s}${t}`;return l&&"index"!==l?`${n}/${l}`:n}addMenuItem(e){this.assertMenuKey(e.key,"key");let t=e.key,l={...this.menus[t],...e,key:e.key,name:t,Component:i.Outlet};this.assertPathConflict(t,this.getRoutePath(t)),this.menus[t]=l,this.syncMenuRoute(l),this.clearCache()}addPageTabItem(e){if(this.assertMenuKey(e.menuKey,"menuKey"),!this.menus[e.menuKey])throw Error(`Plugin settings menuKey does not exist: menuKey=${e.menuKey}`);let t=this.getPageName(e.menuKey,e.key),l={...this.pages[t],...e,menuKey:e.menuKey,key:e.key,name:t};this.assertIndexConflict(l),this.assertPathConflict(t,this.getRoutePath(t)),this.pages[t]=l,this.syncPageRoute(l),this.clearCache()}remove(e){let t=this.menus[e],l=this.pages[e];if(!t&&!l)return;let n=[];if(t){let t=this.getPageNamesByMenu(e);delete this.menus[e],n.push(this.getRouteName(e)),t.forEach(e=>{delete this.pages[e],n.push(this.getRouteName(e))})}else l&&(delete this.pages[e],n.push(this.getRouteName(e)));n.forEach(e=>{this.app.router.remove(e)}),this.clearCache()}hasAuth(e){let t=this.getAclSnippet("*");if(t&&this.aclSnippets.includes(`!${t}`))return!1;let l=this.getAclSnippet(e);return!l||!1===this.aclSnippets.includes(`!${l}`)}has(e){return!!(this.menus[e]||this.pages[e])}get(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],l=this.buildSnapshot(e,{filterAuth:t,includeHidden:!0});return l?this.cloneSnapshot(l):null}getList(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=JSON.stringify({filterAuth:e,includeHidden:!0});return this.cachedList[t]||(this.cachedList[t]=this.sortMenuNames().map(t=>this.buildSnapshot(t,{filterAuth:e,includeHidden:!0})).filter(Boolean)),this.cachedList[t].map(e=>this.cloneSnapshot(e))}getAclSnippets(){return[...this.sortMenuNames(),...this.sortPageNames(Object.keys(this.pages))].map(e=>this.getAclSnippet(e)).filter(Boolean)}renderIcon(e){return e?"string"==typeof e?(0,r.createElement)(o.In,{type:e}):e:null}buildSnapshot(e,t){let l=this.menus[e];if(l)return this.buildMenuSnapshot(l,t);let n=this.pages[e];return n?this.buildPageSnapshot(n,t):null}buildMenuSnapshot(e,t){let l=this.hasAuth(e.name),n=this.sortPageNames(this.getPageNamesByMenu(e.key)).map(e=>this.buildPageSnapshot(this.pages[e],t)).filter(Boolean),r=l||n.some(e=>e.isAllow);if(t.filterAuth&&0===n.length||!t.includeHidden&&e.hidden)return null;let{title:i,icon:o,aclSnippet:a,key:s,name:d,Component:u,...c}=e;return{...c,key:d,menuKey:s,pluginKey:d,name:d,title:i,label:i,icon:this.renderIcon(o),path:this.getRoutePath(d),sort:e.sort,isAllow:r,isTopLevel:!0,topLevelName:d,aclSnippet:this.getAclSnippet(d),Component:u,children:n.length?n:void 0}}buildPageSnapshot(e,t){let l=this.hasAuth(e.name);if(t.filterAuth&&!l||!t.includeHidden&&e.hidden)return null;let{title:n,aclSnippet:r,key:i,menuKey:o,name:a,icon:s,...d}=e;return{...d,key:a,menuKey:o,pageKey:i,pluginKey:o,name:a,title:n,label:n,icon:this.renderIcon(s),path:this.getRoutePath(a),sort:e.sort,isAllow:l,isTopLevel:!1,topLevelName:o,aclSnippet:this.getAclSnippet(a),children:void 0}}cloneSnapshot(e){var t;return{...e,children:null==(t=e.children)?void 0:t.map(e=>this.cloneSnapshot(e))}}sortMenuNames(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Object.keys(this.menus);return[...e].sort((e,t)=>{let l=this.menus[e],n=this.menus[t],r=(null==l?void 0:l.sort)||0,i=(null==n?void 0:n.sort)||0;return r!==i?r-i:e.localeCompare(t)})}sortPageNames(e){return[...e].sort((e,t)=>{let l=this.pages[e],n=this.pages[t],r=(null==l?void 0:l.sort)||0,i=(null==n?void 0:n.sort)||0;return r!==i?r-i:e.localeCompare(t)})}getPageNamesByMenu(e){return Object.keys(this.pages).filter(t=>this.pages[t].menuKey===e)}getPageName(e,t){return`${e}.${t}`}parseName(e){let t=e.indexOf(".");return t<0?{menuName:e,pageName:void 0}:{menuName:e.slice(0,t),pageName:e.slice(t+1)}}syncMenuRoute(e){this.app.router.add(this.getRouteName(e.name),{path:e.key,Component:i.Outlet})}syncPageRoute(e){let t=e.Component||i.Outlet;"index"===e.key?this.app.router.add(this.getRouteName(e.name),{path:"",Component:t,componentLoader:e.componentLoader}):this.app.router.add(this.getRouteName(e.name),{path:e.key,Component:t,componentLoader:e.componentLoader})}assertIndexConflict(e){if("index"!==e.key)return;let t=this.getPageNamesByMenu(e.menuKey).find(e=>"index"===this.pages[e].key);if(t&&t!==e.name)throw Error(`Plugin settings page index conflict: menuKey=${e.menuKey}, key=${e.key}, existed=${t}`)}assertPathConflict(e,t){let l=[...this.sortMenuNames().map(e=>({name:e,path:this.getRoutePath(e)})),...this.sortPageNames(Object.keys(this.pages)).map(e=>({name:e,path:this.getRoutePath(e)}))].find(l=>l.path===t&&l.name!==e&&!this.isMenuIndexPair(l.name,e));if(l)throw Error(`Plugin settings path conflict: name=${e}, path=${t}, conflict=${l.name}`)}isMenuIndexPair(e,t){let l=new Set([`${e}.index`,`${t}.index`]);return l.has(t)||l.has(e)}assertMenuKey(e,t){if(e.includes("."))throw Error(`Plugin settings menu key cannot contain ".": ${t}=${e}`)}constructor(e){(0,n._)(this,"menus",{}),(0,n._)(this,"pages",{}),(0,n._)(this,"aclSnippets",[]),(0,n._)(this,"app",void 0),(0,n._)(this,"cachedList",{}),this.app=e}}},88101(e,t,l){l.d(t,{GL:()=>f,N5:()=>m,bq:()=>h,rR:()=>p,uM:()=>y,v6:()=>v,w0:()=>d});var n=l(74848),r=l(95243),i=l(96540),o=l(47767),a=l(36098),s=l(39220);let d=(0,i.createContext)(null);function u(){return(0,r.observable)({data:{},meta:{},setData(e){this.data=e||{}},setMeta(e){this.meta=e||{}}})}function c(e){return e.context.acl||e.context.defineProperty("acl",{value:u()}),e.context.acl}d.displayName="ACLContext";let p=e=>{let{children:t}=e,l=(0,a.n)(),r=(0,o.useLocation)(),u=c(l),[p,h]=(0,i.useState)(!1),m=(0,i.useRef)(r.pathname);m.current=r.pathname;let f=(0,i.useCallback)(async()=>{var e,t,n,r,i,o;if(l.router.isSkippedAuthCheckRoute(m.current))return void h(!1);(null==(e=u.data)?void 0:e.role)||(null==(n=u.data)||null==(t=n.snippets)?void 0:t.length)||h(!0);try{let e=await l.apiClient.request({url:"roles:check",skipNotify:!0,skipAuth:!0}),t=(null==e||null==(r=e.data)?void 0:r.data)||{},n=(null==e||null==(i=e.data)?void 0:i.meta)||{};u.setData(t),u.setMeta(n),l.pluginSettingsManager.setAclSnippets((null==t?void 0:t.snippets)||[]),(null==t?void 0:t.role)!==l.apiClient.auth.role&&l.apiClient.auth.setRole(null==t?void 0:t.role),(0,s.r)((null==t?void 0:t.snippets)||[],!!(null==t?void 0:t.allowAll))("ui.*")||await l.flowEngine.flowSettings.disable()}catch(e){if(401===((null==e||null==(o=e.response)?void 0:o.status)||(null==e?void 0:e.status))){u.setData({}),u.setMeta({}),l.pluginSettingsManager.setAclSnippets([]),l.apiClient.auth.setRole(null);return}console.error(e)}finally{h(!1)}},[u,l]);(0,i.useEffect)(()=>{f()},[f]);let g=(0,i.useMemo)(()=>({loading:p,data:{data:u.data||{},meta:u.meta||{}},refresh:f}),[u.data,u.meta,p,f]);return p?l.renderComponent("AppSpin"):(0,n.jsx)(d.Provider,{value:g,children:t})},h=()=>(0,i.useContext)(d),m=()=>{let e=h(),{allowAll:t}=v();return(0,i.useCallback)(()=>!e||t?Promise.resolve():e.refresh(),[t,e])},f=()=>{var e,t;let l=h();return null==l||null==(t=l.data)||null==(e=t.data)?void 0:e.roleMode},g=()=>{var e,t;let l=h(),n=(null==l||null==(e=l.data)?void 0:e.data)||{},r=(0,i.useCallback)(e=>{var t;let l=e.split(":").pop();return(null==n||null==(t=n.actionAlias)?void 0:t[l||""])||l},[null==n?void 0:n.actionAlias]),o=(0,i.useCallback)(e=>{var t,l;return null==n||null==(l=n.resources)||null==(t=l.includes)?void 0:t.call(l,e)},[null==n?void 0:n.resources]),a=(0,i.useCallback)(e=>{var t,l;let[i]=e.split(":"),o=r(e);return(null==n||null==(t=n.actions)?void 0:t[`${i}:${o}`])||(null==n||null==(l=n.actions)?void 0:l[e])},[null==n?void 0:n.actions,r]),s=(0,i.useCallback)(e=>{var t,l;let i=r(e);return(null==n||null==(l=n.strategy)||null==(t=l.actions)?void 0:t.find(e=>{let[t]=e.split(":");return t===i}))?{}:null},[null==n||null==(t=n.strategy)?void 0:t.actions,r]);return{data:n,getActionAlias:r,inResources:o,getResourceActionParams:a,getStrategyActionParams:s}};function v(){let{data:e,inResources:t,getResourceActionParams:l,getStrategyActionParams:n}=g();return{...e,snippets:(null==e?void 0:e.snippets)||[],parseAction:(0,i.useCallback)(r=>{if(!r)return null;let[i]=r.split(":");return(null==e?void 0:e.allowAll)?{}:t(i)?l(r):n(r)},[null==e?void 0:e.allowAll,l,n,t])}}function y(){let{allowAll:e,snippets:t}=v();return{allowConfigUI:(0,i.useMemo)(()=>(0,s.r)(t||[],!!e),[e,t])("ui.*")}}},39220(e,t,l){l.d(t,{r:()=>i});var n=l(82535),r=l.n(n);let i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=r()().add(e||[]);return e=>!e||"*"===e||!!t||l.ignores(e)}},966(e,t,l){l.d(t,{GL:()=>n.GL,K3:()=>i.K,N5:()=>n.N5,bq:()=>n.bq,rN:()=>r.r,rR:()=>n.rR,uM:()=>n.uM,v6:()=>n.v6,w0:()=>n.w0});var n=l(88101),r=l(39220),i=l(94471)},94471(e,t,l){l.d(t,{K:()=>o});var n=l(96540),r=l(88101),i=l(39220);let o=()=>{let{allowAll:e,snippets:t=[]}=(0,r.v6)();return{allow:(0,n.useMemo)(()=>(0,i.r)(t,!!e),[e,t])}}},39431(e,t,l){let n;l.d(t,{In:()=>p,K1:()=>c,Pt:()=>s,cE:()=>u,pU:()=>d});var r=l(74848),i=l(89286),o=l(16933),a=l(60152);l(96540);let s=new Map;function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n;s.set(e.toLowerCase(),t)}function u(e){return!!e&&s.has(e.toLowerCase())}function c(e){Object.keys(e).forEach(t=>{d(t,e[t])})}Object.keys(i).forEach(e=>{d(e,i[e])});let p=e=>{let{type:t="",component:l,...i}=e;if(l)return(0,r.jsx)(o.A,{component:l,...i});if(t&&s.has(t.toLowerCase())){let e=s.get(t.toLowerCase());return(0,r.jsx)(e,{...i})}return t&&n?(0,r.jsx)(n,{type:t}):null};p.createFromIconfontCN=e=>{n=(0,a.A)(e)},p.register=e=>{c(e)}},16860(e,t,l){l.d(t,{E:()=>k,O:()=>w});var n=l(74848),r=l(85502),i=l(67451),o=l(22803),a=l(35710),s=l(87959),d=l(71021),u=l(3013),c=l(96540),p=l(40961),h=l(18492);function m(e){let{style:t={}}=e,l={position:"absolute",backgroundColor:"rgb(255, 255, 255)"};return(0,n.jsxs)("div",{id:"code-scan-box",style:{boxSizing:"border-box",inset:"0px",...t},children:[(0,n.jsx)("div",{style:{width:"40px",height:"5px",top:"-5px",left:"0px",...l}}),(0,n.jsx)("div",{style:{width:"40px",height:"5px",top:"-5px",right:"0px",...l}}),(0,n.jsx)("div",{style:{width:"40px",height:"5px",bottom:"-5px",left:"0px",...l}}),(0,n.jsx)("div",{style:{width:"40px",height:"5px",bottom:"-5px",right:"0px",...l}}),(0,n.jsx)("div",{style:{width:"5px",height:"45px",top:"-5px",left:"-5px",...l}}),(0,n.jsx)("div",{style:{width:"5px",height:"45px",bottom:"-5px",left:"-5px",...l}}),(0,n.jsx)("div",{style:{width:"5px",height:"45px",top:"-5px",right:"-5px",...l}}),(0,n.jsx)("div",{style:{width:"5px",height:"45px",bottom:"-5px",right:"-5px",...l}})]})}let f=[u.Jl.QR_CODE,u.Jl.CODE_128,u.Jl.CODE_39,u.Jl.CODE_93,u.Jl.CODABAR,u.Jl.EAN_13,u.Jl.EAN_8,u.Jl.ITF,u.Jl.UPC_A,u.Jl.UPC_E,u.Jl.DATA_MATRIX,u.Jl.PDF_417];function g(e,t){return{width:Math.floor(Math.min(.82*e,520)),height:Math.floor(Math.min(.32*t,240))}}async function v(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return;let l=e.getState();[u.Qq.SCANNING,u.Qq.PAUSED].includes(l)&&await e.stop(),t.clear&&e.clear()}function y(e){let{enabled:t,elementId:l,formatsToSupport:n,scanBoxSize:r,onScannerSizeChanged:i,onScanSuccess:o,onScanFailure:a}=e,[s,d]=(0,c.useState)(),p=(0,c.useCallback)(async e=>{await e.start({facingMode:"environment"},{fps:10,qrbox:(e,t)=>(null==i||i({width:e,height:t}),r??g(e,t))},e=>{o(e)},void 0)},[o,i,r]),h=(0,c.useCallback)(async e=>{if(s){await v(s);try{let t=await s.scanFileV2(e,!1);o(t.decodedText)}catch(e){null==a||a(),await p(s)}}},[a,o,s,p]);return(0,c.useEffect)(()=>{if(!t)return;let e=new u.j9(l,{formatsToSupport:(null==n?void 0:n.length)?n:f,verbose:!1});return d(e),p(e).catch(()=>{null==a||a()}),()=>{v(e,{clear:!0}).catch(()=>void 0)}},[l,t,n,a,p]),{startScanFile:h}}let b=0xa00000;function x(e){let{visible:t,formatsToSupport:l,onClose:p,onScanSuccess:f}=e,{t:v}=(0,h.B)(),{token:x}=a.A.useToken(),w=(0,c.useId)().replace(/:/g,""),S=`code-scanner-${w}`,M=(0,c.useRef)(null),[A,F]=(0,c.useState)(!1),k=(0,c.useMemo)(()=>({width:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),height:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}),[]),C=(0,c.useMemo)(()=>g(k.width,k.height),[k.height,k.width]),P=(0,c.useCallback)(()=>{s.Ay.error(v("Code recognition failed, please scan again"))},[v]),{startScanFile:j}=y({enabled:t&&A,elementId:S,formatsToSupport:l,scanBoxSize:C,onScanSuccess:(0,c.useCallback)(e=>{f(e),p()},[p,f]),onScanFailure:P});if((0,c.useEffect)(()=>{if(!t)return;let e=!1;return u.j9.getCameras().then(t=>{if(!e){if(t.length>0)return void F(!0);s.Ay.error(v("No camera device detected")),p()}}).catch(t=>{if(e)return;let l={NotFoundError:v("No camera device detected"),NotAllowedError:v("You have not granted permission to use the camera")};s.Ay.error(l[t.name]??t.message),p()}),()=>{e=!0}},[p,v,t]),!t)return null;let E=()=>{var e;null==(e=M.current)||e.click()},R=e=>{var t;let l=null==(t=e.target.files)?void 0:t[0];if(l){if(l.size>b)return void s.Ay.error(v("The image size is too large. Please compress it to below 10MB before uploading"));j(l).catch(P),e.target.value=""}},I=(0,o.css)`
1028
1028
  position: fixed;
1029
1029
  inset: 0;
1030
1030
  z-index: ${x.zIndexPopupBase+1e3};
@@ -1234,7 +1234,7 @@ ctx.render(<JsItem />);
1234
1234
  & > .ant-space-item {
1235
1235
  flex: 1;
1236
1236
  }
1237
- `,g=e=>{let t=o()();return(0,n.jsxs)("div",{style:{display:"inline-flex"},children:[(0,n.jsx)("span",{children:e.format}),(0,n.jsx)(v,{content:t.format(e.format)})]})},v=e=>{let{content:t}=e,{token:l}=d.A.useToken();return(0,n.jsx)("span",{style:{display:"inline-block",background:l.colorBgTextHover,marginLeft:l.marginMD,lineHeight:"1",padding:l.paddingXXS,borderRadius:l.borderRadiusOuter},children:t})},y=e=>{let{onChange:t,defaultValue:l,formats:r,picker:i}=e,[o,{setFalse:a,setTrue:d}]=(0,s.A)(e.value&&!r.includes(e.value)),[g,y]=(0,h.useState)(e.value&&!r.includes(e.value)?e.value:l),[b,x]=(0,h.useState)(g?m.format(g):null),w=e=>{"custom"===e.target.value?(d(),t(g)):(a(),t(e.target.value))};return(0,h.useEffect)(()=>{r.includes(e.value)?a():d(),y(e.value&&!r.includes(e.value)?e.value:l)},[e.value]),(0,h.useEffect)(()=>{x(g?m.format(g):null)},[g]),(0,n.jsx)(u.A,{className:f,children:(0,n.jsx)(c.Ay.Group,{value:o?"custom":e.value,onChange:w,children:(0,n.jsx)(u.A,{direction:"vertical",children:e.options.map(e=>"custom"===e.value?(0,n.jsxs)(c.Ay,{value:e.value,children:[(0,n.jsx)(p.A,{style:{width:"150px"},value:g,onChange:e=>{e.target.value?x(m.format(e.target.value)):x(null),o&&t(e.target.value),y(e.target.value)}}),(0,n.jsx)(v,{content:b})]},e.value):i&&"date"!==i?void 0:(0,n.jsx)(c.Ay,{value:e.value,"aria-label":e.value,children:(0,n.jsx)("span",{role:"button","aria-label":e.value,children:e.label})},e.value))})})})},b=(0,a.connect)(y,(0,a.mapProps)({dataSource:"options"},e=>({...e})))},97456(e,t,l){l.d(t,{mD:()=>ee,zv:()=>eb});var n=l(74848),r=l(96540),i=l(22803),o=l(95725),a=l(35710),s=l(71500),d=l(84626),u=l(36492),c=l(63718),p=l(96436),h=l(11869),m=l(85352),f=l(13940),g=l(90199),v=l(53869),y=l(69586),b=l(32644),x=l(37985),w=l(2077);let S=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e;function M(e,t){return t?Array.isArray(e)?e[0]:void 0:e}function A(e,t){return"string"==typeof e?(0,w.Pn)(e,t):t}function F(e,t){let l=String(e||"").trim();if(!l)return null;if(/(?:Z|[+-]\d{2}:\d{2})$/i.test(l)){let e=(0,p.dayjs)(l);if(e.isValid())return e}if(t){let e=(0,p.dayjs)(l,t,!0);if(e.isValid())return e}let n=(0,p.dayjs)(l);if(n.isValid())return n;if(t){let e=(0,p.dayjs)(l,t);if(e.isValid())return e}return null}function k(e,t){if(p.dayjs.isDayjs(e))return e;if(e instanceof Date){let t=(0,p.dayjs)(e);return t.isValid()?t:null}return"string"==typeof e?F(e,t):null}function C(e,t){if(!Array.isArray(e))return null;let l=k(e[0],t),n=k(e[1],t);return l&&n?[l,n]:null}let P=e=>{let{picker:t="date",format:l,showTime:i,timeFormat:o,value:a,isRange:s=!1,onChange:c,style:m}=e,f=(0,h.useFlowContext)(),g=f.model.translate.bind(f.model),v=(0,r.useMemo)(()=>M(a,s),[s,a]),[y,b]=(0,r.useState)(()=>A(v,t)),w=e=>{let n=e===t&&l?l:(0,p.getPickerFormat)(e),r="date"===e?S(n):n;return(0,p.getDateTimeFormat)(e,r,i,o)},F=(0,r.useMemo)(()=>w(y),[y,l,t,i,o]),P=(0,r.useMemo)(()=>s?null:k(a,F),[s,a,F]),j=(0,r.useMemo)(()=>s?C(a,F):null,[s,a,F]),E=(0,r.useMemo)(()=>[{label:g("Date"),value:"date"},{label:g("Month"),value:"month"},{label:g("Quarter"),value:"quarter"},{label:g("Year"),value:"year"}],[g]),R=e=>{if(b(e),c){if(s){j&&c(j);return}P&&c(P)}},I={utc:!0,underFilter:!0,format:F,picker:y,inputReadOnly:f.isMobileLayout,showTime:!!i&&{defaultValue:(0,p.dayjs)("00:00:00","HH:mm:ss")},value:P,onChange:e=>{if(e&&p.dayjs.isDayjs(e)){null==c||c(e);return}null==c||c(null)},style:{flex:1}},T={utc:!0,underFilter:!0,format:F,picker:y,inputReadOnly:f.isMobileLayout,showTime:!!i&&{defaultValue:[(0,p.dayjs)("00:00:00","HH:mm:ss"),(0,p.dayjs)("23:59:59","HH:mm:ss")]},value:j,onChange:e=>{if(Array.isArray(e)&&e[0]&&e[1]){null==c||c([e[0],e[1]]);return}null==c||c(null)},style:{flex:1}};return(0,n.jsxs)(d.A.Compact,{style:{width:"100%",...m||{}},children:[(0,n.jsx)(u.A,{style:{width:100},popupMatchSelectWidth:!1,value:y,options:E,onChange:R}),s?(0,n.jsx)(x.A.RangePicker,{...T}):(0,n.jsx)(x.A,{...I})]})};var j=l(10925);let E=new Set(["date","datetime","datetimeNoTz","createdAt","updatedAt","unixTimestamp"]),R=new Set(["datetime","createdAt","updatedAt","unixTimestamp"]),I="YYYY-MM-DD",T="YYYY-MM-DD HH:mm:ss",_=["exact","past","next","today","yesterday","tomorrow","thisWeek","lastWeek","nextWeek","thisMonth","lastMonth","nextMonth","thisQuarter","lastQuarter","nextQuarter","thisYear","lastYear","nextYear"],D={exact:"Exact day",past:"Past",next:"Next",today:"Today",yesterday:"Yesterday",tomorrow:"Tomorrow",thisWeek:"This Week",lastWeek:"Last Week",nextWeek:"Next Week",thisMonth:"This Month",lastMonth:"Last Month",nextMonth:"Next Month",thisQuarter:"This Quarter",lastQuarter:"Last Quarter",nextQuarter:"Next Quarter",thisYear:"This Year",lastYear:"Last Year",nextYear:"Next Year"};function N(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=_.map(t=>({value:t,label:(null==e?void 0:e(D[t]))??D[t]}));return t&&l.splice(3,0,{value:"now",label:(null==e?void 0:e("Now"))??"Now"}),l}function O(e,t){let l=String(e||"").trim();if(!l)return null;if(/(?:Z|[+-]\d{2}:\d{2})$/i.test(l)){let e=(0,p.dayjs)(l);if(e.isValid())return e}if(t){let e=(0,p.dayjs)(l,t,!0);if(e.isValid())return e}let n=(0,p.dayjs)(l);if(n.isValid())return n;if(t){let e=(0,p.dayjs)(l,t);if(e.isValid())return e}return null}function $(e,t){if(p.dayjs.isDayjs(e))return e;if(e instanceof Date){let t=(0,p.dayjs)(e);return t.isValid()?t:null}return"string"==typeof e?O(e,t):null}function B(e,t){let l=$(e,t.format);if(!(null==l?void 0:l.isValid()))return e;switch(t.exactNormalizeMode){case"date":return l.format(I);case"datetimeNoTz":return l.format(t.showTime?T:I);case"iso":return l.toISOString();default:return e}}function L(e,t){let l=$(e,t);return(null==l?void 0:l.isValid())?l:null}function V(e,t){if(!Array.isArray(e))return null;let l=L(e[0],t),n=L(e[1],t);return l&&n?[l,n]:null}function q(e,t){return t.isRange?V(e,t.format):L(e,t.format)}function z(e){return"date"===e?"date":"datetimeNoTz"===e?"datetimeNoTz":R.has(e)?"iso":"none"}function K(e,t){return"none"===t.exactNormalizeMode?e:"string"==typeof e||p.dayjs.isDayjs(e)||e instanceof Date?B(e,t):Array.isArray(e)?e.map(e=>"string"==typeof e||p.dayjs.isDayjs(e)||e instanceof Date?B(e,t):e):e}function U(e){return"year"===e||"quarter"===e||"month"===e||"date"===e?e:"date"}let W={picker:"date",showTime:!1,timeFormat:"HH:mm:ss",format:"YYYY-MM-DD",exactNormalizeMode:"none"};function H(e){return"string"==typeof(null==e?void 0:e.interface)?e.interface:""}function G(e){var t;return("function"==typeof(null==e?void 0:e.getComponentProps)?e.getComponentProps():null)||(null==e||null==(t=e.uiSchema)?void 0:t["x-component-props"])||{}}function Y(e,t){if(null===e||(0,h.isRunJSValue)(e)||"string"==typeof e&&(0,h.isVariableExpression)(e)&&!(0,h.isCtxDateExpression)(e))return e;if(""===e||void 0===e)return"";let l=K(e,{exactNormalizeMode:t.exactNormalizeMode,format:t.format||"YYYY-MM-DD HH:mm:ss",showTime:t.showTime});return(0,h.serializeCtxDateValue)(l)||l}function J(e){return{...e,width:"100%",minWidth:0}}function X(e){var t;e&&(e._reactiveWrapperCache=void 0,null==(t=e.setupReactiveRender)||t.call(e))}function Q(e,t,l){let n=Array.isArray(null==e?void 0:e.paths)?e.paths.map(e=>String(e)):[],r=n;t.length&&n.length>=t.length&&t.every((e,t)=>n[t]===e)&&(r=[...l,...n.slice(t.length)]);let i=e=>Array.isArray(e)?e.map(e=>Q(e,t,l)):"function"==typeof e?async()=>{let n=await e();return Array.isArray(n)?n.map(e=>Q(e,t,l)):[]}:e;return{...e,paths:r,children:(null==e?void 0:e.children)?i(e.children):void 0}}function Z(e,t){var l;if(!t)return e;let n=Q(t,["item"],["item","parentItem"]),r={...n,name:"parentItem",title:(null==(l=n.title)?void 0:l.replace("Current item","Parent item"))||"Parent item"},i=e=>{let t=Array.isArray(e.children)?e.children:[];if(!t.some(e=>(null==e?void 0:e.name)==="parentItem"))return{...e,children:[...t,r]};let l=t.map(e=>(null==e?void 0:e.name)!=="parentItem"?e:i(e));return{...e,children:l}};return i(e)}function ee(e,t){let l=Array.isArray(e)?e:[],n=Array.isArray(t)?t:[];if(!n.length)return l;let r=l.find(e=>(null==e?void 0:e.name)==="item"),i=n.find(e=>(null==e?void 0:e.name)==="item");if(!i)return l;let o=Z(i,r),a=[],s=!1;for(let e of l){if(!s&&(null==e?void 0:e.name)==="item"){a.push(o),s=!0;continue}a.push(e)}return s||a.push(o),a}function et(e){var t;if(!e)return;let l=(null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"))||{};return(null==l?void 0:l.fieldPath)||(0,f.Gj)(e)}function el(e){var t;let l=null==e||null==(t=e.subModels)?void 0:t.field;return l&&!Array.isArray(l)?l:void 0}let en=new Set(["value","defaultValue","hidden","onChange","onClick","open","searchText","dropdownRender","popupRender","optionRender"]),er="RecordSelectFieldModel",ei=new Set(["FieldModel","SubFormFieldModel","SubFormListFieldModel","SubTableFieldModel","PopupSubTableFieldModel","RecordPickerFieldModel"]);function eo(e){return(null==e?void 0:e.customFieldModelInstance)||el(e)}function ea(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return t.find(e=>"string"==typeof e&&!!e)}function es(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return t.find(e=>"boolean"==typeof e)}function ed(e){return!!e&&ei.has(e)}function eu(e){return(null==e?void 0:e.endsWith("RecordSelectFieldModel"))??!1}function ec(e){var t,l,n,r,i,o,a,s,d;let u=el(e),c=(null==e||null==(t=e.getStepParams)?void 0:t.call(e,"formItemSettings","fieldSettings"))??{},p=eo(e),h=(null==p?void 0:p.props)??{},m=(null==e?void 0:e.customFieldProps)??(null==c?void 0:c.fieldModelProps)??{};return{originFieldModel:p,originProps:h,customFieldName:ea(null==c?void 0:c.name),customFieldProps:m,currentAllowMultiple:es(null==p||null==(n=p.getStepParams)||null==(l=n.call(p,"selectSettings","allowMultiple"))?void 0:l.allowMultiple,null==p||null==(o=p.stepParams)||null==(i=o.selectSettings)||null==(r=i.allowMultiple)?void 0:r.allowMultiple,null==h?void 0:h.allowMultiple,null==h?void 0:h.multiple,null==m?void 0:m.allowMultiple,null==m?void 0:m.multiple),currentFieldModelUse:ea(null==u||null==(s=u.stepParams)||null==(a=s.fieldBinding)?void 0:a.use,null==u?void 0:u.use,null==c?void 0:c.fieldModel,null==e||null==(d=e.customFieldModelInstance)?void 0:d.use)}}function ep(e){let{collection:t,customFieldName:l,fieldPath:n,fieldName:r}=e;if(!(null==t?void 0:t.name)||!n)return;let i=n.startsWith(`${f.a_}:`)&&(l||r)||n;return{dataSourceKey:t.dataSourceKey,collectionName:t.name,fieldPath:i}}function eh(e){let t={};for(let[l,n]of Object.entries(e??{}))en.has(l)||/^on[A-Z]/.test(l)||(t[l]=n);return t}function em(e){var t;let{placeholder:l,originProps:n,customFieldProps:r,collectionField:i}=e,o=eh(n),a=eh(r),s={placeholder:l,...o,...a};return(null==i||null==(t=i.isAssociationField)?void 0:t.call(i))&&(delete s.mode,s.quickCreate="none"),s}function ef(e){return ed(e)?void 0:e}function eg(e){let{currentFieldModelUse:t,defaultBindingUse:l,preferFormItemFieldModel:n}=e,r=ef(t),i=ef(l);return ed(t)?i??er:n?r??i??er:i??r??er}function ev(e){var t,l,n;let{fieldModelUse:r,collectionField:i}=e,o=null==i||null==(l=i.uiSchema)||null==(t=l["x-component-props"])?void 0:t.mode;return(null==i||null==(n=i.isAssociationField)?void 0:n.call(i))&&eu(r)?"Select":(null==i?void 0:i.interface)==="multipleSelect"?o??"multiple":o}function ey(e){var t,l;let{itemModel:n,defaultBindingUse:r,collectionField:i,preferFormItemFieldModel:o,fieldSettingsInit:a}=e,{currentFieldModelUse:s,originFieldModel:d}=e.fieldSource??ec(n),u=(null==i||null==(t=i.isAssociationField)?void 0:t.call(i))?eg({currentFieldModelUse:s,defaultBindingUse:r,preferFormItemFieldModel:o}):o?s??r:r??s,{fieldBinding:c,...p}=(null==d?void 0:d.stepParams)??{},h={...p};return a&&(h.fieldSettings={...h.fieldSettings,init:{...null==(l=h.fieldSettings)?void 0:l.init,...a}}),{use:u,stepParams:h}}let eb=e=>{var t,l,p;let{targetPath:x,value:w,onChange:S,placeholder:M,extraMetaTree:A,operator:F,operatorMetaList:k,preferFormItemFieldModel:C,associationFieldNamesOverride:R,enableDateVariableAsConstant:I=!1,maxAssociationFieldDepth:T=2}=e,_=(0,h.useFlowContext)(),D=r.useCallback(e=>{if(!e||"object"!=typeof e||!("target"in e))return e;let t=e.target;return t&&"object"==typeof t&&"value"in t?t.value:e},[]),O=r.useRef(A);r.useEffect(()=>{O.current=A},[A]);let $=r.useMemo(()=>x?(0,f.eo)(_.model,x):null,[_.model,x]),B=r.useCallback((e,t)=>{if(!e||"string"!=typeof t||!t.includes("."))return null;let l=t.split(".").filter(Boolean);if(l.length<2)return null;let n=e;for(let e=0;e<l.length;e++){var r;let t=l[e],i=e===l.length-1,o="function"==typeof(null==n?void 0:n.getField)?n.getField(t):void 0;if(!o)break;if(i)return{collection:n,fieldName:t,collectionField:o};if(!(null==o||null==(r=o.isAssociationField)?void 0:r.call(o))||!(null==o?void 0:o.targetCollection))break;n=o.targetCollection}return null},[]),L=r.useMemo(()=>{var e,t,l,n,r,i,o,a,s,d,u,c,p,h,m,g,v,y;if($){let e=$,{collection:t,dataSource:l,blockModel:n}=$.context,r=(null==$||null==(i=$.getStepParams)?void 0:i.call($,"fieldSettings","init"))||{},g=(null==$||null==(o=$.context)?void 0:o.dataSourceManager)||(null==(s=_.model)||null==(a=s.context)?void 0:a.dataSourceManager),v=(0,f.w7)(_.model),y=t||((null==r?void 0:r.dataSourceKey)&&(null==r?void 0:r.collectionName)?null==g||null==(d=g.getCollection)?void 0:d.call(g,r.dataSourceKey,r.collectionName):void 0)||v,b=l||((null==r?void 0:r.dataSourceKey)?null==g||null==(u=g.getDataSource)?void 0:u.call(g,r.dataSourceKey):void 0)||((null==y?void 0:y.dataSourceKey)?null==g||null==(c=g.getDataSource)?void 0:c.call(g,y.dataSourceKey):void 0),x=et($),w=null==x?void 0:x.split(".").slice(-1)[0],S=w?null==y||null==(p=y.getField)?void 0:p.call(y,w):void 0,M=null==e||null==(m=e.customFieldModelInstance)||null==(h=m.context)?void 0:h.collectionField;return{itemModel:$,collection:y||null,dataSource:b||null,blockModel:n,fieldPath:x||null,fieldName:w||null,collectionField:S||M||null}}let b=(0,f.w7)(_.model),w=(null==(t=_.model)||null==(e=t.context)?void 0:e.blockModel)||_.model,S={itemModel:null,collection:null,dataSource:null,blockModel:w,fieldPath:null,fieldName:null,collectionField:null},M="function"==typeof(null==b?void 0:b.getField)?b.getField(x):null;if(M){let e=String((null==M?void 0:M.name)||x||""),t=null==(v=_.model)||null==(g=v.context)?void 0:g.dataSourceManager,l=((null==b?void 0:b.dataSourceKey)?null==t||null==(y=t.getDataSource)?void 0:y.call(t,b.dataSourceKey):void 0)||null;return{...S,collection:b,dataSource:l,blockModel:w,fieldPath:e,fieldName:e,collectionField:M||null}}let A=B(b,x);if(!A)return S;let F=A.collection,k=A.fieldName,C=null==(n=_.model)||null==(l=n.context)?void 0:l.dataSourceManager,P=((null==F?void 0:F.dataSourceKey)?null==C||null==(r=C.getDataSource)?void 0:r.call(C,F.dataSourceKey):void 0)||null;return{...S,collection:F,dataSource:P,blockModel:w,fieldPath:k,fieldName:k,collectionField:A.collectionField||null}},[_,$,B,x]),{collection:V,dataSource:K,blockModel:Q,fieldPath:Z,fieldName:el,collectionField:en}=L,er=null==L||null==(l=L.itemModel)||null==(t=l.context)?void 0:t.collectionField,ei=r.useMemo(()=>ec($),[$]),eo=r.useMemo(()=>{var e;let t=en||er||null;if((null==t||null==(e=t.isAssociationField)?void 0:e.call(t))&&(0,f.E4)(t))return ei.currentAllowMultiple},[en,ei.currentAllowMultiple,er]),ea=r.useMemo(()=>H(en)||H(er),[en,er]),es=en||er,ed=r.useMemo(()=>{var e,t,l;if((null==en||null==(e=en.isAssociationField)?void 0:e.call(en))||(null==er||null==(t=er.isAssociationField)?void 0:t.call(er))){let e=en||er||null;if(e&&(0,f.E4)(e))return eo??!0}let n=H(en);return"multipleSelect"===n||"checkboxGroup"===n||"array"===(null==en||null==(l=en.uiSchema)?void 0:l.type)},[en,eo,er]),eh=r.useMemo(()=>{if(ea&&E.has(ea))return!0;let e="string"==typeof el&&el||("string"==typeof x?x.split(".").filter(Boolean).slice(-1)[0]:"");return"createdAt"===e||"updatedAt"===e},[el,ea,x]),ef=I&&eh,eg=r.useMemo(()=>{if(!ef)return W;let e=G(es),t=U(null==e?void 0:e.picker),l=["datetime","datetimeNoTz","createdAt","updatedAt","unixTimestamp"].includes(ea),n="boolean"==typeof(null==e?void 0:e.showTime)?e.showTime:l,r="string"==typeof(null==e?void 0:e.dateFormat)&&e.dateFormat?e.dateFormat:"string"==typeof(null==e?void 0:e.format)&&e.format?e.format.split(" ")[0]:"YYYY-MM-DD",i="string"==typeof(null==e?void 0:e.timeFormat)&&e.timeFormat?e.timeFormat:"HH:mm:ss",o="string"==typeof(null==e?void 0:e.format)&&e.format?e.format:n?`${r} ${i}`:r;return{picker:t,showTime:n,timeFormat:i,format:o,exactNormalizeMode:z(ea)}},[es,ea,ef]),eb=r.useMemo(()=>{let{exactNormalizeMode:e,...t}=eg;return t},[eg]),ex=r.useRef(eb);ex.current=eb;let ew=r.useRef(_.t);ew.current=_.t;let eS=r.useCallback(e=>{let t=e;if(F&&(t=(0,b.S)(F,t)),ed){if(null==t||""===t)return[];if(!Array.isArray(t))return[t]}return t},[ed,F]),[eM,eA]=r.useState(null);r.useEffect(()=>{var e,t,l,n,r,i,o,a,s,d,u,c,p,g,y,b,x,w,S,A,F,k,P,j,E,I,T,D,N,O,B,q;if(!Z||!el)return;let z=$,U=(null==L||null==(t=L.itemModel)||null==(e=t.context)?void 0:e.engine)||(null==(n=_.model)||null==(l=n.context)?void 0:l.engine);if(!U)return;let W=(null==z||null==(r=z.context)?void 0:r.dataSourceManager)||(null==(o=_.model)||null==(i=o.context)?void 0:i.dataSourceManager),H=V||(0,f.w7)(z)||(0,f.w7)(_.model),{customFieldName:G,customFieldProps:Y,currentAllowMultiple:X,originFieldModel:ee,originProps:et}=ei,er=null==ee||null==(a=ee.context)?void 0:a.collectionField,eo=en||er||void 0,ea=K||((null==H?void 0:H.dataSourceKey)?null==W||null==(s=W.getDataSource)?void 0:s.call(W,H.dataSourceKey):null),es=("function"==typeof(null==H?void 0:H.getFields)&&H.getFields()||[]).find(e=>(null==e?void 0:e.name)===el)||("function"==typeof(null==H?void 0:H.getField)?H.getField(el):void 0)||eo,ed=es?h.EditableItemModel.getDefaultBindingByField((null==L||null==(d=L.itemModel)?void 0:d.context)||(null==(u=_.model)?void 0:u.context),es):null,{use:ec,stepParams:eh}=ey({itemModel:$,defaultBindingUse:null==ed?void 0:ed.modelName,collectionField:eo,fieldSource:ei,preferFormItemFieldModel:C,fieldSettingsInit:ep({collection:H,customFieldName:G,fieldPath:Z,fieldName:el})});if(!ec)return;let ef=em({placeholder:M,originProps:et,customFieldProps:Y,collectionField:eo}),eg=null==U||null==(c=U.createModel)?void 0:c.call(U,{use:"VariableFieldFormModel",subModels:{fields:[{use:ec,stepParams:eh,props:ef}]}});if(!eg)return;H&&(null==(g=eg.context)||null==(p=g.defineProperty)||p.call(g,"collection",{value:H})),ea&&(null==(b=eg.context)||null==(y=b.defineProperty)||y.call(b,"dataSource",{value:ea})),eo&&(null==(w=eg.context)||null==(x=w.defineProperty)||x.call(w,"collectionField",{value:eo})),Q&&(null==(A=eg.context)||null==(S=A.defineProperty)||S.call(A,"blockModel",{value:Q})),eg.context&&Object.defineProperty(eg.context,"resource",{configurable:!0,enumerable:!0,get:()=>null==Q?void 0:Q.resource});let eb=null==eg||null==(k=eg.subModels)||null==(F=k.fields)?void 0:F[0],ex=(null==eo||null==(P=eo.isAssociationField)?void 0:P.call(eo))&&(0,f.E4)(eo)?X??!0:void 0,ew=ex??((null==eo||null==(j=eo.isAssociationField)?void 0:j.call(eo))?(0,f.E4)(eo):void 0),eS=J((0,v.VS)(null==eb||null==(E=eb.props)?void 0:E.style)),eM=null==R?void 0:R.label;eM&&"function"==typeof(null==eb?void 0:eb.setStepParams)&&eb.setStepParams("selectSettings","fieldNames",{label:eM}),null==eb||null==(I=eb.setProps)||I.call(eb,{disabled:!1,readPretty:!1,pattern:"editable",updateAssociation:!1,style:eS,...void 0!==ew?{multiple:ew}:{},...void 0!==ex?{allowMultiple:ex}:{}}),null==eb||null==(T=eb.dispatchEvent)||T.call(eb,"beforeRender",void 0,{sequential:!0,useCache:!0}),(0,m.NI)(eb,eo);let eF=ev({fieldModelUse:ec,collectionField:eo});if(((null==eo||null==(D=eo.isAssociationField)?void 0:D.call(eo))&&eu(ec)||(null==eb||null==(N=eb.props)?void 0:N.mode)===void 0)&&eF&&(null==eb||null==(O=eb.setProps)||O.call(eb,{mode:eF})),null==eo?void 0:eo.targetCollection){let e=eo.targetCollection,t=(null==eb||null==(B=eb.props)?void 0:B.fieldNames)||{},l=(null==R?void 0:R.value)??(null==t?void 0:t.value)??(null==eo?void 0:eo.targetKey)??(null==e?void 0:e.filterTargetKey)??"id",n=(null==R?void 0:R.label)??(null==t?void 0:t.label)??(null==eo?void 0:eo.targetCollectionTitleFieldName);null==eb||null==(q=eb.setProps)||q.call(eb,{fieldNames:{...t,...n?{label:n}:{},value:l}})}return eA(eg),()=>{var e,t;null==(e=(t=eg.subModels.fields).forEach)||e.call(t,e=>e.remove()),eg.remove()}},[V,K,Q,Z,el,_,M,L,en,$,ei,C,null==R?void 0:R.label,null==R?void 0:R.value]),r.useEffect(()=>{var e,t,l,r,i,o,a,s;let d=null==eM||null==(t=eM.subModels)||null==(e=t.fields)?void 0:e[0];if(!d||!F||!Array.isArray(k)||0===k.length)return;let u=k.find(e=>(null==e?void 0:e.value)===F),c=null==u||null==(l=u.schema)?void 0:l["x-component-props"];if(c&&"function"==typeof(null==d?void 0:d.setProps)){let e=J((0,v.VS)(null==c?void 0:c.style)||(0,v.VS)(null==d||null==(s=d.props)?void 0:s.style));d.setProps({...c,style:e})}let p=(null==L||null==(i=L.itemModel)||null==(r=i.context)?void 0:r.app)||(null==_||null==(a=_.model)||null==(o=a.context)?void 0:o.app),h=(0,v._H)(p,F,k);if(h&&d instanceof y.m){let e=d.__originalRender||d.render;d.__originalRender=e;let{Comp:t,props:l}=h;d.render=()=>{var e;return(0,n.jsx)(t,{...d.props,...l,style:{width:"100%",...(0,v.VS)(null==(e=d.props)?void 0:e.style),...(0,v.VS)(null==l?void 0:l.style)}})},X(d)}else"function"==typeof d.__originalRender&&(d.render=d.__originalRender,X(d))},[F,k,eM,_,L]);let eF=r.useMemo(()=>e=>{let t=(0,v.VS)(null==e?void 0:e.style);return(r.useEffect(()=>{var t,l,n,r;let i=eS(null==e?void 0:e.value),o=t=>{var l,n,r,i,o;let a=D(t),s=F?(0,b.S)(F,a):a,d=eS(s);null==eM||null==(l=eM.setProps)||l.call(eM,{value:d});let u=null==eM||null==(r=eM.subModels)||null==(n=r.fields)?void 0:n[0];null==u||null==(i=u.setProps)||i.call(u,{value:d}),null==e||null==(o=e.onChange)||o.call(e,s)},a=null==eM||null==(l=eM.subModels)||null==(t=l.fields)?void 0:t[0];null==a||null==(n=a.setProps)||n.call(a,{value:i,onChange:o,onCompositionStart:null==e?void 0:e.onCompositionStart,onCompositionUpdate:null==e?void 0:e.onCompositionUpdate,onCompositionEnd:null==e?void 0:e.onCompositionEnd}),null==eM||null==(r=eM.setProps)||r.call(eM,{...e,value:i,onChange:o})},[e]),eM)?(0,n.jsx)("div",{style:{...J(t),flex:1},children:(0,n.jsx)(h.FlowModelRenderer,{model:eM,showFlowSettings:!1})}):(0,n.jsx)(o.A,{value:null==e?void 0:e.value,onChange:t=>{var l;return null==e||null==(l=e.onChange)?void 0:l.call(e,D(t))},placeholder:M,style:J(t)})},[M,eM,eS,D,F]),ek=r.useMemo(()=>e=>{let t=(0,v.VS)(null==e?void 0:e.style),l=null==e?void 0:e.value,o=(0,h.isCtxDateExpression)(l)?(0,h.parseCtxDateExpression)(l):l,p=void 0===o?void 0:o,{token:m}=a.A.useToken(),[f,g]=r.useState(!1),y=ew.current,b=ex.current,x=r.useMemo(()=>N(y,!0),[y]),w=p&&"object"==typeof p&&!Array.isArray(p)?null==p?void 0:p.type:void 0,S="string"==typeof w&&w?w:"exact",M=Array.isArray(p),A=q(p,{format:b.format,isRange:!1}),F=q(p,{format:b.format,isRange:!0}),k=t=>{var l,n;if(g(!1),"exact"===t){null==e||null==(n=e.onChange)||n.call(e,"");return}let r={type:t};("past"===t||"next"===t)&&(r.number=1,r.unit="day"),null==e||null==(l=e.onChange)||l.call(e,r)},C=t=>{var l;null==e||null==(l=e.onChange)||l.call(e,t||"")},j=t=>{var l;null==e||null==(l=e.onChange)||l.call(e,t||"")},E=()=>{let e=x.slice(0,3),t=x.slice(3),l=(0,i.css)`
1237
+ `,g=e=>{let t=o()();return(0,n.jsxs)("div",{style:{display:"inline-flex"},children:[(0,n.jsx)("span",{children:e.format}),(0,n.jsx)(v,{content:t.format(e.format)})]})},v=e=>{let{content:t}=e,{token:l}=d.A.useToken();return(0,n.jsx)("span",{style:{display:"inline-block",background:l.colorBgTextHover,marginLeft:l.marginMD,lineHeight:"1",padding:l.paddingXXS,borderRadius:l.borderRadiusOuter},children:t})},y=e=>{let{onChange:t,defaultValue:l,formats:r,picker:i}=e,[o,{setFalse:a,setTrue:d}]=(0,s.A)(e.value&&!r.includes(e.value)),[g,y]=(0,h.useState)(e.value&&!r.includes(e.value)?e.value:l),[b,x]=(0,h.useState)(g?m.format(g):null),w=e=>{"custom"===e.target.value?(d(),t(g)):(a(),t(e.target.value))};return(0,h.useEffect)(()=>{r.includes(e.value)?a():d(),y(e.value&&!r.includes(e.value)?e.value:l)},[e.value]),(0,h.useEffect)(()=>{x(g?m.format(g):null)},[g]),(0,n.jsx)(u.A,{className:f,children:(0,n.jsx)(c.Ay.Group,{value:o?"custom":e.value,onChange:w,children:(0,n.jsx)(u.A,{direction:"vertical",children:e.options.map(e=>"custom"===e.value?(0,n.jsxs)(c.Ay,{value:e.value,children:[(0,n.jsx)(p.A,{style:{width:"150px"},value:g,onChange:e=>{e.target.value?x(m.format(e.target.value)):x(null),o&&t(e.target.value),y(e.target.value)}}),(0,n.jsx)(v,{content:b})]},e.value):i&&"date"!==i?void 0:(0,n.jsx)(c.Ay,{value:e.value,"aria-label":e.value,children:(0,n.jsx)("span",{role:"button","aria-label":e.value,children:e.label})},e.value))})})})},b=(0,a.connect)(y,(0,a.mapProps)({dataSource:"options"},e=>({...e})))},97456(e,t,l){l.d(t,{mD:()=>ee,zv:()=>eb});var n=l(74848),r=l(96540),i=l(22803),o=l(95725),a=l(35710),s=l(71500),d=l(84626),u=l(36492),c=l(63718),p=l(96436),h=l(11869),m=l(85352),f=l(13940),g=l(90199),v=l(53869),y=l(69586),b=l(32644),x=l(37985),w=l(2077);let S=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e;function M(e,t){return t?Array.isArray(e)?e[0]:void 0:e}function A(e,t){return"string"==typeof e?(0,w.Pn)(e,t):t}function F(e,t){let l=String(e||"").trim();if(!l)return null;if(/(?:Z|[+-]\d{2}:\d{2})$/i.test(l)){let e=(0,p.dayjs)(l);if(e.isValid())return e}if(t){let e=(0,p.dayjs)(l,t,!0);if(e.isValid())return e}let n=(0,p.dayjs)(l);if(n.isValid())return n;if(t){let e=(0,p.dayjs)(l,t);if(e.isValid())return e}return null}function k(e,t){if(p.dayjs.isDayjs(e))return e;if(e instanceof Date){let t=(0,p.dayjs)(e);return t.isValid()?t:null}return"string"==typeof e?F(e,t):null}function C(e,t){if(!Array.isArray(e))return null;let l=k(e[0],t),n=k(e[1],t);return l&&n?[l,n]:null}let P=e=>{let{picker:t="date",format:l,showTime:i,timeFormat:o,value:a,isRange:s=!1,onChange:c,style:m}=e,f=(0,h.useFlowContext)(),g=f.model.translate.bind(f.model),v=(0,r.useMemo)(()=>M(a,s),[s,a]),[y,b]=(0,r.useState)(()=>A(v,t)),w=e=>{let n=e===t&&l?l:(0,p.getPickerFormat)(e),r="date"===e?S(n):n;return(0,p.getDateTimeFormat)(e,r,i,o)},F=(0,r.useMemo)(()=>w(y),[y,l,t,i,o]),P=(0,r.useMemo)(()=>s?null:k(a,F),[s,a,F]),j=(0,r.useMemo)(()=>s?C(a,F):null,[s,a,F]),E=(0,r.useMemo)(()=>[{label:g("Date"),value:"date"},{label:g("Month"),value:"month"},{label:g("Quarter"),value:"quarter"},{label:g("Year"),value:"year"}],[g]),R=e=>{if(b(e),c){if(s){j&&c(j);return}P&&c(P)}},I={utc:!0,underFilter:!0,format:F,picker:y,inputReadOnly:f.isMobileLayout,showTime:!!i&&{defaultValue:(0,p.dayjs)("00:00:00","HH:mm:ss")},value:P,onChange:e=>{if(e&&p.dayjs.isDayjs(e)){null==c||c(e);return}null==c||c(null)},style:{flex:1}},T={utc:!0,underFilter:!0,format:F,picker:y,inputReadOnly:f.isMobileLayout,showTime:!!i&&{defaultValue:[(0,p.dayjs)("00:00:00","HH:mm:ss"),(0,p.dayjs)("23:59:59","HH:mm:ss")]},value:j,onChange:e=>{if(Array.isArray(e)&&e[0]&&e[1]){null==c||c([e[0],e[1]]);return}null==c||c(null)},style:{flex:1}};return(0,n.jsxs)(d.A.Compact,{style:{width:"100%",...m||{}},children:[(0,n.jsx)(u.A,{style:{width:100},popupMatchSelectWidth:!1,value:y,options:E,onChange:R}),s?(0,n.jsx)(x.A.RangePicker,{...T}):(0,n.jsx)(x.A,{...I})]})};var j=l(10925);let E=new Set(["date","datetime","datetimeNoTz","createdAt","updatedAt","unixTimestamp"]),R=new Set(["datetime","createdAt","updatedAt","unixTimestamp"]),I="YYYY-MM-DD",T="YYYY-MM-DD HH:mm:ss",_=["exact","past","next","today","yesterday","tomorrow","thisWeek","lastWeek","nextWeek","thisMonth","lastMonth","nextMonth","thisQuarter","lastQuarter","nextQuarter","thisYear","lastYear","nextYear"],D={exact:"Exact day",past:"Past",next:"Next",today:"Today",yesterday:"Yesterday",tomorrow:"Tomorrow",thisWeek:"This Week",lastWeek:"Last Week",nextWeek:"Next Week",thisMonth:"This Month",lastMonth:"Last Month",nextMonth:"Next Month",thisQuarter:"This Quarter",lastQuarter:"Last Quarter",nextQuarter:"Next Quarter",thisYear:"This Year",lastYear:"Last Year",nextYear:"Next Year"};function N(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=_.map(t=>({value:t,label:(null==e?void 0:e(D[t]))??D[t]}));return t&&l.splice(3,0,{value:"now",label:(null==e?void 0:e("Now"))??"Now"}),l}function O(e,t){let l=String(e||"").trim();if(!l)return null;if(/(?:Z|[+-]\d{2}:\d{2})$/i.test(l)){let e=(0,p.dayjs)(l);if(e.isValid())return e}if(t){let e=(0,p.dayjs)(l,t,!0);if(e.isValid())return e}let n=(0,p.dayjs)(l);if(n.isValid())return n;if(t){let e=(0,p.dayjs)(l,t);if(e.isValid())return e}return null}function $(e,t){if(p.dayjs.isDayjs(e))return e;if(e instanceof Date){let t=(0,p.dayjs)(e);return t.isValid()?t:null}return"string"==typeof e?O(e,t):null}function B(e,t){let l=$(e,t.format);if(!(null==l?void 0:l.isValid()))return e;switch(t.exactNormalizeMode){case"date":return l.format(I);case"datetimeNoTz":return l.format(t.showTime?T:I);case"iso":return l.toISOString();default:return e}}function L(e,t){let l=$(e,t);return(null==l?void 0:l.isValid())?l:null}function V(e,t){if(!Array.isArray(e))return null;let l=L(e[0],t),n=L(e[1],t);return l&&n?[l,n]:null}function q(e,t){return t.isRange?V(e,t.format):L(e,t.format)}function z(e){return"date"===e?"date":"datetimeNoTz"===e?"datetimeNoTz":R.has(e)?"iso":"none"}function K(e,t){return"none"===t.exactNormalizeMode?e:"string"==typeof e||p.dayjs.isDayjs(e)||e instanceof Date?B(e,t):Array.isArray(e)?e.map(e=>"string"==typeof e||p.dayjs.isDayjs(e)||e instanceof Date?B(e,t):e):e}function U(e){return"year"===e||"quarter"===e||"month"===e||"date"===e?e:"date"}let W={picker:"date",showTime:!1,timeFormat:"HH:mm:ss",format:"YYYY-MM-DD",exactNormalizeMode:"none"};function H(e){return"string"==typeof(null==e?void 0:e.interface)?e.interface:""}function G(e){var t;return("function"==typeof(null==e?void 0:e.getComponentProps)?e.getComponentProps():null)||(null==e||null==(t=e.uiSchema)?void 0:t["x-component-props"])||{}}function Y(e,t){if(null===e||(0,h.isRunJSValue)(e)||"string"==typeof e&&(0,h.isVariableExpression)(e)&&!(0,h.isCtxDateExpression)(e))return e;if(""===e||void 0===e)return"";let l=K(e,{exactNormalizeMode:t.exactNormalizeMode,format:t.format||"YYYY-MM-DD HH:mm:ss",showTime:t.showTime});return(0,h.serializeCtxDateValue)(l)||l}function J(e){return{...e,width:"100%",minWidth:0}}function X(e){var t;e&&(e._reactiveWrapperCache=void 0,null==(t=e.setupReactiveRender)||t.call(e))}function Q(e,t,l){let n=Array.isArray(null==e?void 0:e.paths)?e.paths.map(e=>String(e)):[],r=n;t.length&&n.length>=t.length&&t.every((e,t)=>n[t]===e)&&(r=[...l,...n.slice(t.length)]);let i=e=>Array.isArray(e)?e.map(e=>Q(e,t,l)):"function"==typeof e?async()=>{let n=await e();return Array.isArray(n)?n.map(e=>Q(e,t,l)):[]}:e;return{...e,paths:r,children:(null==e?void 0:e.children)?i(e.children):void 0}}function Z(e,t){var l;if(!t)return e;let n=Q(t,["item"],["item","parentItem"]),r={...n,name:"parentItem",title:(null==(l=n.title)?void 0:l.replace("Current item","Parent item"))||"Parent item"},i=e=>{let t=Array.isArray(e.children)?e.children:[];if(!t.some(e=>(null==e?void 0:e.name)==="parentItem"))return{...e,children:[...t,r]};let l=t.map(e=>(null==e?void 0:e.name)!=="parentItem"?e:i(e));return{...e,children:l}};return i(e)}function ee(e,t){let l=Array.isArray(e)?e:[],n=Array.isArray(t)?t:[];if(!n.length)return l;let r=l.find(e=>(null==e?void 0:e.name)==="item"),i=n.find(e=>(null==e?void 0:e.name)==="item");if(!i)return l;let o=Z(i,r),a=[],s=!1;for(let e of l){if(!s&&(null==e?void 0:e.name)==="item"){a.push(o),s=!0;continue}a.push(e)}return s||a.push(o),a}function et(e){var t;if(!e)return;let l=(null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"))||{};return(null==l?void 0:l.fieldPath)||(0,f.Gj)(e)}function el(e){var t;let l=null==e||null==(t=e.subModels)?void 0:t.field;return l&&!Array.isArray(l)?l:void 0}let en=new Set(["value","defaultValue","hidden","onChange","onClick","open","searchText","dropdownRender","popupRender","optionRender"]),er="RecordSelectFieldModel",ei=new Set(["FieldModel","SubFormFieldModel","SubFormListFieldModel","SubTableFieldModel","PopupSubTableFieldModel","RecordPickerFieldModel"]);function eo(e){return(null==e?void 0:e.customFieldModelInstance)||el(e)}function ea(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return t.find(e=>"string"==typeof e&&!!e)}function es(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return t.find(e=>"boolean"==typeof e)}function ed(e){return!!e&&ei.has(e)}function eu(e){return(null==e?void 0:e.endsWith("RecordSelectFieldModel"))??!1}function ec(e){var t,l,n,r,i,o,a,s,d;let u=el(e),c=(null==e||null==(t=e.getStepParams)?void 0:t.call(e,"formItemSettings","fieldSettings"))??{},p=eo(e),h=(null==p?void 0:p.props)??{},m=(null==e?void 0:e.customFieldProps)??(null==c?void 0:c.fieldModelProps)??{};return{originFieldModel:p,originProps:h,customFieldName:ea(null==c?void 0:c.name),customFieldProps:m,currentAllowMultiple:es(null==p||null==(n=p.getStepParams)||null==(l=n.call(p,"selectSettings","allowMultiple"))?void 0:l.allowMultiple,null==p||null==(o=p.stepParams)||null==(i=o.selectSettings)||null==(r=i.allowMultiple)?void 0:r.allowMultiple,null==h?void 0:h.allowMultiple,null==h?void 0:h.multiple,null==m?void 0:m.allowMultiple,null==m?void 0:m.multiple),currentFieldModelUse:ea(null==u||null==(s=u.stepParams)||null==(a=s.fieldBinding)?void 0:a.use,null==u?void 0:u.use,null==c?void 0:c.fieldModel,null==e||null==(d=e.customFieldModelInstance)?void 0:d.use)}}function ep(e){let{collection:t,customFieldName:l,fieldPath:n,fieldName:r}=e;if(!(null==t?void 0:t.name)||!n)return;let i=n.startsWith(`${f.a_}:`)&&(l||r)||n;return{dataSourceKey:t.dataSourceKey,collectionName:t.name,fieldPath:i}}function eh(e){let t={};for(let[l,n]of Object.entries(e??{}))en.has(l)||/^on[A-Z]/.test(l)||(t[l]=n);return t}function em(e){var t;let{placeholder:l,originProps:n,customFieldProps:r,collectionField:i}=e,o=eh(n),a=eh(r),s={placeholder:l,...o,...a};return(null==i||null==(t=i.isAssociationField)?void 0:t.call(i))&&(delete s.mode,s.quickCreate="none"),s}function ef(e){return ed(e)?void 0:e}function eg(e){let{currentFieldModelUse:t,defaultBindingUse:l,preferFormItemFieldModel:n}=e,r=ef(t),i=ef(l);return ed(t)?i??er:n?r??i??er:i??r??er}function ev(e){var t,l,n;let{fieldModelUse:r,collectionField:i}=e,o=null==i||null==(l=i.uiSchema)||null==(t=l["x-component-props"])?void 0:t.mode;return(null==i||null==(n=i.isAssociationField)?void 0:n.call(i))&&eu(r)?"Select":(null==i?void 0:i.interface)==="multipleSelect"?o??"multiple":o}function ey(e){var t,l;let{itemModel:n,defaultBindingUse:r,collectionField:i,preferFormItemFieldModel:o,fieldSettingsInit:a}=e,{currentFieldModelUse:s,originFieldModel:d}=e.fieldSource??ec(n),u=(null==i||null==(t=i.isAssociationField)?void 0:t.call(i))?eg({currentFieldModelUse:s,defaultBindingUse:r,preferFormItemFieldModel:o}):o?s??r:r??s,{fieldBinding:c,...p}=(null==d?void 0:d.stepParams)??{},h={...p};return a&&(h.fieldSettings={...h.fieldSettings,init:{...null==(l=h.fieldSettings)?void 0:l.init,...a}}),{use:u,stepParams:h}}let eb=e=>{var t,l,p;let{targetPath:x,value:w,onChange:S,placeholder:M,extraMetaTree:A,operator:F,operatorMetaList:k,preferFormItemFieldModel:C,associationFieldNamesOverride:R,enableDateVariableAsConstant:I=!1,maxAssociationFieldDepth:T=2}=e,_=(0,h.useFlowContext)(),D=r.useCallback(e=>{if(!e||"object"!=typeof e||!("target"in e))return e;let t=e.target;return t&&"object"==typeof t&&"value"in t?t.value:e},[]),O=r.useRef(A);r.useEffect(()=>{O.current=A},[A]);let $=r.useMemo(()=>x?(0,f.eo)(_.model,x):null,[_.model,x]),B=r.useCallback((e,t)=>{if(!e||"string"!=typeof t||!t.includes("."))return null;let l=t.split(".").filter(Boolean);if(l.length<2)return null;let n=e;for(let e=0;e<l.length;e++){var r;let t=l[e],i=e===l.length-1,o="function"==typeof(null==n?void 0:n.getField)?n.getField(t):void 0;if(!o)break;if(i)return{collection:n,fieldName:t,collectionField:o};if(!(null==o||null==(r=o.isAssociationField)?void 0:r.call(o))||!(null==o?void 0:o.targetCollection))break;n=o.targetCollection}return null},[]),L=r.useMemo(()=>{var e,t,l,n,r,i,o,a,s,d,u,c,p,h,m,g,v,y;if($){let e=$,{collection:t,dataSource:l,blockModel:n}=$.context,r=(null==$||null==(i=$.getStepParams)?void 0:i.call($,"fieldSettings","init"))||{},g=(null==$||null==(o=$.context)?void 0:o.dataSourceManager)||(null==(s=_.model)||null==(a=s.context)?void 0:a.dataSourceManager),v=(0,f.w7)(_.model),y=t||((null==r?void 0:r.dataSourceKey)&&(null==r?void 0:r.collectionName)?null==g||null==(d=g.getCollection)?void 0:d.call(g,r.dataSourceKey,r.collectionName):void 0)||v,b=l||((null==r?void 0:r.dataSourceKey)?null==g||null==(u=g.getDataSource)?void 0:u.call(g,r.dataSourceKey):void 0)||((null==y?void 0:y.dataSourceKey)?null==g||null==(c=g.getDataSource)?void 0:c.call(g,y.dataSourceKey):void 0),x=et($),w=null==x?void 0:x.split(".").slice(-1)[0],S=w?null==y||null==(p=y.getField)?void 0:p.call(y,w):void 0,M=null==e||null==(m=e.customFieldModelInstance)||null==(h=m.context)?void 0:h.collectionField;return{itemModel:$,collection:y||null,dataSource:b||null,blockModel:n,fieldPath:x||null,fieldName:w||null,collectionField:S||M||null}}let b=(0,f.w7)(_.model),w=(null==(t=_.model)||null==(e=t.context)?void 0:e.blockModel)||_.model,S={itemModel:null,collection:null,dataSource:null,blockModel:w,fieldPath:null,fieldName:null,collectionField:null},M="function"==typeof(null==b?void 0:b.getField)?b.getField(x):null;if(M){let e=String((null==M?void 0:M.name)||x||""),t=null==(v=_.model)||null==(g=v.context)?void 0:g.dataSourceManager,l=((null==b?void 0:b.dataSourceKey)?null==t||null==(y=t.getDataSource)?void 0:y.call(t,b.dataSourceKey):void 0)||null;return{...S,collection:b,dataSource:l,blockModel:w,fieldPath:e,fieldName:e,collectionField:M||null}}let A=B(b,x);if(!A)return S;let F=A.collection,k=A.fieldName,C=null==(n=_.model)||null==(l=n.context)?void 0:l.dataSourceManager,P=((null==F?void 0:F.dataSourceKey)?null==C||null==(r=C.getDataSource)?void 0:r.call(C,F.dataSourceKey):void 0)||null;return{...S,collection:F,dataSource:P,blockModel:w,fieldPath:k,fieldName:k,collectionField:A.collectionField||null}},[_,$,B,x]),{collection:V,dataSource:K,blockModel:Q,fieldPath:Z,fieldName:el,collectionField:en}=L,er=null==L||null==(l=L.itemModel)||null==(t=l.context)?void 0:t.collectionField,ei=r.useMemo(()=>ec($),[$]),eo=r.useMemo(()=>{var e;let t=en||er||null;if((null==t||null==(e=t.isAssociationField)?void 0:e.call(t))&&(0,f.E4)(t))return ei.currentAllowMultiple},[en,ei.currentAllowMultiple,er]),ea=r.useMemo(()=>H(en)||H(er),[en,er]),es=en||er,ed=r.useMemo(()=>{var e,t,l;if((null==en||null==(e=en.isAssociationField)?void 0:e.call(en))||(null==er||null==(t=er.isAssociationField)?void 0:t.call(er))){let e=en||er||null;if(e&&(0,f.E4)(e))return eo??!0}let n=H(en);return"multipleSelect"===n||"checkboxGroup"===n||"array"===(null==en||null==(l=en.uiSchema)?void 0:l.type)},[en,eo,er]),eh=r.useMemo(()=>{if(ea&&E.has(ea))return!0;let e="string"==typeof el&&el||("string"==typeof x?x.split(".").filter(Boolean).slice(-1)[0]:"");return"createdAt"===e||"updatedAt"===e},[el,ea,x]),ef=I&&eh,eg=r.useMemo(()=>{if(!ef)return W;let e=G(es),t=U(null==e?void 0:e.picker),l=["datetime","datetimeNoTz","createdAt","updatedAt","unixTimestamp"].includes(ea),n="boolean"==typeof(null==e?void 0:e.showTime)?e.showTime:l,r="string"==typeof(null==e?void 0:e.dateFormat)&&e.dateFormat?e.dateFormat:"string"==typeof(null==e?void 0:e.format)&&e.format?e.format.split(" ")[0]:"YYYY-MM-DD",i="string"==typeof(null==e?void 0:e.timeFormat)&&e.timeFormat?e.timeFormat:"HH:mm:ss",o="string"==typeof(null==e?void 0:e.format)&&e.format?e.format:n?`${r} ${i}`:r;return{picker:t,showTime:n,timeFormat:i,format:o,exactNormalizeMode:z(ea)}},[es,ea,ef]),eb=r.useMemo(()=>{let{exactNormalizeMode:e,...t}=eg;return t},[eg]),ex=r.useRef(eb);ex.current=eb;let ew=r.useRef(_.t);ew.current=_.t;let eS=r.useCallback(e=>{let t=e;if(F&&(t=(0,b.S)(F,t)),ed){if(null==t||""===t)return[];if(!Array.isArray(t))return[t]}return t},[ed,F]),[eM,eA]=r.useState(null);r.useEffect(()=>{var e,t,l,n,r,i,o,a,s,d,u,c,p,g,y,b,x,w,S,A,F,k,P,j,E,I,T,D,N,O,B,q,z,U;if(!Z||!el)return;let W=$,H=(null==L||null==(t=L.itemModel)||null==(e=t.context)?void 0:e.engine)||(null==(n=_.model)||null==(l=n.context)?void 0:l.engine);if(!H)return;let G=(null==W||null==(r=W.context)?void 0:r.dataSourceManager)||(null==(o=_.model)||null==(i=o.context)?void 0:i.dataSourceManager),Y=V||(0,f.w7)(W)||(0,f.w7)(_.model),{customFieldName:X,customFieldProps:ee,currentAllowMultiple:et,originFieldModel:er,originProps:eo}=ei,ea=null==er||null==(a=er.context)?void 0:a.collectionField,es=en||ea||void 0,ed=K||((null==Y?void 0:Y.dataSourceKey)?null==G||null==(s=G.getDataSource)?void 0:s.call(G,Y.dataSourceKey):null),ec=("function"==typeof(null==Y?void 0:Y.getFields)&&Y.getFields()||[]).find(e=>(null==e?void 0:e.name)===el)||("function"==typeof(null==Y?void 0:Y.getField)?Y.getField(el):void 0)||es,eh=ec?h.EditableItemModel.getDefaultBindingByField((null==L||null==(d=L.itemModel)?void 0:d.context)||(null==(u=_.model)?void 0:u.context),ec):null,{use:ef,stepParams:eg}=ey({itemModel:$,defaultBindingUse:null==eh?void 0:eh.modelName,collectionField:es,fieldSource:ei,preferFormItemFieldModel:C,fieldSettingsInit:ep({collection:Y,customFieldName:X,fieldPath:Z,fieldName:el})});if(!ef)return;let eb=em({placeholder:M,originProps:eo,customFieldProps:ee,collectionField:es}),ex=(null==L||null==(c=L.itemModel)?void 0:c.context)||(null==(p=_.model)?void 0:p.context),ew=null==H||null==(g=H.createModel)?void 0:g.call(H,{use:"VariableFieldFormModel",subModels:{fields:[{use:ef,stepParams:eg,props:eb}]}},ex?{delegate:ex}:void 0);if(!ew)return;Y&&(null==(b=ew.context)||null==(y=b.defineProperty)||y.call(b,"collection",{value:Y})),ed&&(null==(w=ew.context)||null==(x=w.defineProperty)||x.call(w,"dataSource",{value:ed})),es&&(null==(A=ew.context)||null==(S=A.defineProperty)||S.call(A,"collectionField",{value:es})),Q&&(null==(k=ew.context)||null==(F=k.defineProperty)||F.call(k,"blockModel",{value:Q})),ew.context&&Object.defineProperty(ew.context,"resource",{configurable:!0,enumerable:!0,get:()=>null==Q?void 0:Q.resource});let eS=null==ew||null==(j=ew.subModels)||null==(P=j.fields)?void 0:P[0],eM=(null==es||null==(E=es.isAssociationField)?void 0:E.call(es))&&(0,f.E4)(es)?et??!0:void 0,eF=eM??((null==es||null==(I=es.isAssociationField)?void 0:I.call(es))?(0,f.E4)(es):void 0),ek=J((0,v.VS)(null==eS||null==(T=eS.props)?void 0:T.style)),eC=null==R?void 0:R.label;eC&&"function"==typeof(null==eS?void 0:eS.setStepParams)&&eS.setStepParams("selectSettings","fieldNames",{label:eC}),null==eS||null==(D=eS.setProps)||D.call(eS,{disabled:!1,readPretty:!1,pattern:"editable",updateAssociation:!1,style:ek,...void 0!==eF?{multiple:eF}:{},...void 0!==eM?{allowMultiple:eM}:{}}),null==eS||null==(N=eS.dispatchEvent)||N.call(eS,"beforeRender",void 0,{sequential:!0,useCache:!0}),(0,m.NI)(eS,es);let eP=ev({fieldModelUse:ef,collectionField:es});if(((null==es||null==(O=es.isAssociationField)?void 0:O.call(es))&&eu(ef)||(null==eS||null==(B=eS.props)?void 0:B.mode)===void 0)&&eP&&(null==eS||null==(q=eS.setProps)||q.call(eS,{mode:eP})),null==es?void 0:es.targetCollection){let e=es.targetCollection,t=(null==eS||null==(z=eS.props)?void 0:z.fieldNames)||{},l=(null==R?void 0:R.value)??(null==t?void 0:t.value)??(null==es?void 0:es.targetKey)??(null==e?void 0:e.filterTargetKey)??"id",n=(null==R?void 0:R.label)??(null==t?void 0:t.label)??(null==es?void 0:es.targetCollectionTitleFieldName);null==eS||null==(U=eS.setProps)||U.call(eS,{fieldNames:{...t,...n?{label:n}:{},value:l}})}return eA(ew),()=>{var e,t;null==(e=(t=ew.subModels.fields).forEach)||e.call(t,e=>e.remove()),ew.remove()}},[V,K,Q,Z,el,_,M,L,en,$,ei,C,null==R?void 0:R.label,null==R?void 0:R.value]),r.useEffect(()=>{var e,t,l,r,i,o,a,s;let d=null==eM||null==(t=eM.subModels)||null==(e=t.fields)?void 0:e[0];if(!d||!F||!Array.isArray(k)||0===k.length)return;let u=k.find(e=>(null==e?void 0:e.value)===F),c=null==u||null==(l=u.schema)?void 0:l["x-component-props"];if(c&&"function"==typeof(null==d?void 0:d.setProps)){let e=J((0,v.VS)(null==c?void 0:c.style)||(0,v.VS)(null==d||null==(s=d.props)?void 0:s.style));d.setProps({...c,style:e})}let p=(null==L||null==(i=L.itemModel)||null==(r=i.context)?void 0:r.app)||(null==_||null==(a=_.model)||null==(o=a.context)?void 0:o.app),h=(0,v._H)(p,F,k);if(h&&d instanceof y.m){let e=d.__originalRender||d.render;d.__originalRender=e;let{Comp:t,props:l}=h;d.render=()=>{var e;return(0,n.jsx)(t,{...d.props,...l,style:{width:"100%",...(0,v.VS)(null==(e=d.props)?void 0:e.style),...(0,v.VS)(null==l?void 0:l.style)}})},X(d)}else"function"==typeof d.__originalRender&&(d.render=d.__originalRender,X(d))},[F,k,eM,_,L]);let eF=r.useMemo(()=>e=>{let t=(0,v.VS)(null==e?void 0:e.style);return(r.useEffect(()=>{var t,l,n,r;let i=eS(null==e?void 0:e.value),o=t=>{var l,n,r,i,o;let a=D(t),s=F?(0,b.S)(F,a):a,d=eS(s);null==eM||null==(l=eM.setProps)||l.call(eM,{value:d});let u=null==eM||null==(r=eM.subModels)||null==(n=r.fields)?void 0:n[0];null==u||null==(i=u.setProps)||i.call(u,{value:d}),null==e||null==(o=e.onChange)||o.call(e,s)},a=null==eM||null==(l=eM.subModels)||null==(t=l.fields)?void 0:t[0];null==a||null==(n=a.setProps)||n.call(a,{value:i,onChange:o,onCompositionStart:null==e?void 0:e.onCompositionStart,onCompositionUpdate:null==e?void 0:e.onCompositionUpdate,onCompositionEnd:null==e?void 0:e.onCompositionEnd}),null==eM||null==(r=eM.setProps)||r.call(eM,{...e,value:i,onChange:o})},[e]),eM)?(0,n.jsx)("div",{style:{...J(t),flex:1},children:(0,n.jsx)(h.FlowModelRenderer,{model:eM,showFlowSettings:!1})}):(0,n.jsx)(o.A,{value:null==e?void 0:e.value,onChange:t=>{var l;return null==e||null==(l=e.onChange)?void 0:l.call(e,D(t))},placeholder:M,style:J(t)})},[M,eM,eS,D,F]),ek=r.useMemo(()=>e=>{let t=(0,v.VS)(null==e?void 0:e.style),l=null==e?void 0:e.value,o=(0,h.isCtxDateExpression)(l)?(0,h.parseCtxDateExpression)(l):l,p=void 0===o?void 0:o,{token:m}=a.A.useToken(),[f,g]=r.useState(!1),y=ew.current,b=ex.current,x=r.useMemo(()=>N(y,!0),[y]),w=p&&"object"==typeof p&&!Array.isArray(p)?null==p?void 0:p.type:void 0,S="string"==typeof w&&w?w:"exact",M=Array.isArray(p),A=q(p,{format:b.format,isRange:!1}),F=q(p,{format:b.format,isRange:!0}),k=t=>{var l,n;if(g(!1),"exact"===t){null==e||null==(n=e.onChange)||n.call(e,"");return}let r={type:t};("past"===t||"next"===t)&&(r.number=1,r.unit="day"),null==e||null==(l=e.onChange)||l.call(e,r)},C=t=>{var l;null==e||null==(l=e.onChange)||l.call(e,t||"")},j=t=>{var l;null==e||null==(l=e.onChange)||l.call(e,t||"")},E=()=>{let e=x.slice(0,3),t=x.slice(3),l=(0,i.css)`
1238
1238
  padding: 3px 10px;
1239
1239
  cursor: pointer;
1240
1240
  white-space: nowrap;
@@ -1360,7 +1360,7 @@ Please run: await ctx.importAsync("${l}") to ensure ctx.render uses a matching R
1360
1360
  width: max-content;
1361
1361
  min-width: max-content;
1362
1362
  }
1363
- `,en=e=>e?e.closest(ee)||e.closest(et):null,er=e=>{let{onClick:t,children:l,...n}=e;return{...n,children:(null==l?void 0:l.length)?l.map(er):void 0}},ei=e=>{let{model:t,showDeleteButton:l=!0,showCopyUidButton:n=!0,menuLevels:r=1,flattenSubMenus:i=!0,onDropdownVisibleChange:o,getPopupContainer:a}=e,{message:s}=O.A.useApp(),d=(0,E.useMemo)(()=>(0,g.lW)(t),[t]),{token:u}=$.A.useToken(),c=(null==u?void 0:u.colorTextTertiary)||(null==u?void 0:u.colorTextDescription)||(null==u?void 0:u.colorTextSecondary),[p,h]=(0,E.useState)(!1),[m,f]=(0,E.useState)(0),[v,y]=(0,E.useState)([]),[b,x]=(0,E.useState)(!1),[w,S]=(0,E.useState)([]),[M,A]=(0,E.useState)(!0),F=(0,E.useMemo)(()=>v.filter(e=>"common-actions"===e.group).sort((e,t)=>(e.sort??0)-(t.sort??0)),[v]),k=n||l||F.length>0,C=i&&r>1&&k,P=i&&r>1&&!n&&!l&&!b,j=k||!M&&w.length>0,D=(0,E.useCallback)(()=>{h(!1),null==o||o(!1)},[o]),V=(0,E.useCallback)(e=>en(e)||(null==a?void 0:a(e))||(null==e?void 0:e.parentElement)||document.body,[a]),z=(0,E.useCallback)((e,t)=>{("trigger"===t.source||e)&&((0,E.startTransition)(()=>{h(e)}),null==o||o(e))},[o]);(0,E.useEffect)(()=>()=>{null==o||o(!1)},[o]);let K=(0,q.t_)([p]);(0,E.useEffect)(()=>{let e=!0;return(async()=>{x(!1);try{let n=[],i=[];for(let{model:e,modelKey:o}of(J(t,{maxDepth:r,arrayLimit:50,mode:"stack"},(e,t)=>{let{modelKey:l}=t;i.push({model:e,modelKey:l})}),i)){var l;let t=e.constructor,r=await (null==(l=t.getExtraMenuItems)?void 0:l.call(t,e,d));(null==r?void 0:r.length)&&n.push(...r.map(e=>({...e,key:o?`${o}:${e.key}`:e.key})))}if(!e)return;let o=new Set,a=n.filter(e=>!o.has(`${e.key}`)&&(o.add(`${e.key}`),!0));y(a)}catch(t){console.error("Failed to load extra menu items:",t),e&&y([])}finally{e&&x(!0)}})(),()=>{e=!1}},[t,r,d,m]);let U=(0,E.useCallback)(async e=>{try{await navigator.clipboard.writeText(e),s.success(d("UID copied to clipboard"))}catch(l){var t;if(console.error(d("Copy failed"),":",l),!("u">typeof window&&(null==(t=window.location)?void 0:t.protocol)==="https:"))return void s.error(d("Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.",{uid:e}));s.error(d("Copy failed, please copy [{{uid}}] manually.",{uid:e}))}},[s,d]),W=(0,E.useCallback)(async()=>{U(t.uid)},[t.uid,U]),H=(0,E.useCallback)(e=>{try{let l=e.replace(/^copy-pop-uid:/,"").split(":"),n=t;if(3===l.length){let[e]=l;n=X(t,e)||t}else if(2!==l.length)return void console.error("Invalid copy-pop-uid key format:",e);U(n.uid)}catch(e){console.error("handleCopyPopupUid error:",e)}},[t,U]),G=(0,E.useCallback)(()=>{D(),B.A.confirm({title:d("Confirm delete"),icon:(0,R.jsx)(T.A,{}),content:d("Are you sure you want to delete this item? This action cannot be undone."),okText:d("Confirm"),okType:"primary",cancelText:d("Cancel"),zIndex:999999,async onOk(){try{await t.destroy()}catch(e){console.error(d("Delete operation failed"),":",e),B.A.error({title:d("Delete failed"),content:d("Delete operation failed, please check the console for details.")})}}})},[D,t,d]),Q=(0,E.useCallback)(e=>{let l,n,r=e.split(":");if(r.length<2||r.length>3)return void console.error("Invalid configuration key format:",e);let i=t;if(3===r.length){let[e,o,a]=r;l=o,n=a;let s=X(t,e);if(!s)return void console.error(`Sub-model '${e}' not found`);i=s}else[l,n]=r;try{D(),i.openFlowSettings({flowKey:l,stepKey:n})}catch(e){console.log(d("Configuration popup cancelled or error"),":",e)}},[D,t,d]),ee=(0,E.useCallback)(e=>{let t,l,n,r=(e.includes("-")&&/^(.+)-\d+$/.test(e)?e.replace(/-\d+$/,""):e).split(":");if(3===r.length)[t,l,n]=r;else{if(2!==r.length)return!1;[l,n]=r}return w.some(e=>{let{flow:r,steps:i,modelKey:o}=e;return(o||void 0)===t&&r.key===l&&i.some(e=>e.stepKey===n&&!!e.disabled)})},[w]),et=(0,E.useCallback)(e=>{let{key:t}=e,l=t,n=t.includes("-")&&/^(.+)-\d+$/.test(t)?t.replace(/-\d+$/,""):t;if(n.startsWith("copy-pop-uid:")){D(),H(n);return}let r=Y(v,l)||Y(v,n);if(null==r||!r.disabled){if(null==r?void 0:r.onClick){D(),r.onClick();return}if(!ee(n))switch(n){case"copy-uid":D(),W();break;case"delete":G();break;default:Q(n)}}},[D,W,G,Q,H,v,ee]),ei=(0,E.useCallback)(async(e,t)=>{try{let l=new Map(e.constructor.globalFlowRegistry.getFlows()),n=Array.from(l.values());return await Promise.all(n.map(async l=>{let n=await Promise.all(Object.entries(l.steps).map(async n=>{let[r,i]=n,o=i,a=o;if(await (0,g._3)(e,l,o))return null;let s=await (0,g.XM)(e,l,o),u=await (0,g.ME)(o.uiMode,e.context),c=null!=o.uiSchema,p=!1,h=o.title;if(o.use)try{var m;let t=null==(m=e.getAction)?void 0:m.call(e,o.use);a={...t||{},...o},u=await (0,g.ME)((null==t?void 0:t.uiMode)||u,e.context),p=t&&null!=t.uiSchema,h=h||(null==t?void 0:t.title)}catch(e){console.warn(d("Failed to get action {{action}}",{action:o.use}),":",e)}let f=["select","switch"].includes((null==u?void 0:u.type)||u);if(!f&&!c&&!p)return null;let v={};try{let t=await (0,g.o7)(e,l,o);if(!t&&!f)return null;v=t}catch(e){return console.warn(d("Failed to resolve uiSchema for step {{stepKey}}",{stepKey:r}),":",e),null}return{stepKey:r,step:a,uiSchema:v,title:d(h)||r,modelKey:t,uiMode:u,disabled:s.disabled,disabledReason:s.reason}})).then(e=>e.filter(Boolean));return n.length>0?{flow:l,steps:n,modelKey:t}:null})).then(e=>e.filter(Boolean))}catch(t){return console.error(d("Failed to get configurable flows for model {{model}}",{model:(null==e?void 0:e.uid)||"unknown"}),":",t),[]}},[d]),eo=(0,E.useCallback)(async()=>{let e=[],l=[];for(let{model:n,modelKey:i}of(J(t,{maxDepth:r,arrayLimit:50,mode:"stack"},(e,t)=>{let{modelKey:n}=t;l.push({model:e,modelKey:n})}),l)){let t=await ei(n,i);e.push(...t)}return e},[t,r,ei]);(0,E.useEffect)(()=>{let e=()=>{f(e=>e+1)},l=[];return J(t,{maxDepth:r,mode:"visited"},(t,n)=>{let{depth:r}=n,i=["onStepParamsChanged"];1===r&&i.push("onSubModelAdded","onSubModelRemoved","onSubModelReplaced"),i.forEach(n=>{var r;null==(r=t.emitter)||r.on(n,e),l.push(()=>{var l;return null==(l=t.emitter)?void 0:l.off(n,e)})})}),()=>{l.forEach(e=>e())}},[t,r,m]),(0,E.useEffect)(()=>{let e=!0,t=async()=>{A(!0),C&&S([]);try{let t=await eo();e&&S(t)}catch(t){console.error("Failed to load configurable flows and steps:",t),e&&S([])}finally{e&&A(!1)}};return P||!p&&C?(S([]),A(!1),()=>{e=!1}):(t(),()=>{e=!1})},[eo,m,C,P,p]);let ea=(0,E.useMemo)(()=>{let e=[],l=new Map,n=e=>{let t=l.get(e)||0;return l.set(e,t+1),0===t?e:`${e}-${t}`};if(w.length>0)if(i)w.forEach(l=>{let{flow:r,steps:i,modelKey:o}=l,a=n(`flow-group-${o?`${o}-`:""}${r.key}`);"top"===r.options.divider&&e.push({type:"divider"}),r.options.enableTitle&&e.push({key:a,label:d(r.title)||r.key,type:"group"}),i.forEach(l=>{let i=n(o?`${o}:${r.key}:${l.stepKey}`:`${r.key}:${l.stepKey}`),a=l.uiMode,u=(l.modelKey?X(t,l.modelKey):null)||t,p=u.getStepParams(r.key,l.stepKey)||{},h={getDefaultValue:async()=>{let e=await (0,g.gG)(l.step.defaultParams,u.context);if(l.step.use){var t;let n=null==(t=u.getAction)?void 0:t.call(u,l.step.use);e=await (0,g.gG)(n.defaultParams,u.context)}return{...e,...p}},onChange:async e=>{var t;u.setStepParams(r.key,l.stepKey,e),"function"==typeof l.step.beforeParamsSave&&await l.step.beforeParamsSave(u.context,e,p),await u.saveStepParams(),null==s||null==(t=s.success)||t.call(s,d("Configuration saved")),"function"==typeof l.step.afterParamsSave&&await l.step.afterParamsSave(u.context,e,p)},...(null==a?void 0:a.props)||{},itemKey:null==a?void 0:a.key,disabled:!!l.disabled,disabledReason:l.disabledReason,disabledIconColor:c};e.push({key:i,label:(0,R.jsx)(Z,{title:l.title,uiMode:a,itemProps:h}),disabled:!!l.disabled})}),"bottom"===r.options.divider&&e.push({type:"divider"})});else{let t=new Map;w.forEach(e=>{let l=e.modelKey||"current";t.has(l)||t.set(l,[]);let n=t.get(l);n&&n.push(e)}),t.forEach((t,l)=>{if("current"===l)t.forEach(t=>{let{flow:l,steps:r}=t,i=n(`flow-group-${l.key}`);e.push({key:i,label:d(l.title)||l.key,type:"group"}),r.forEach(t=>{let r=n(`${l.key}:${t.stepKey}`);e.push({key:r,label:t.disabled?(0,R.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[t.title,(0,R.jsx)(N.A,{title:t.disabledReason,placement:"right",destroyTooltipOnHide:!0,children:(0,R.jsx)(I.A,{style:{color:c}})})]}):t.title,disabled:!!t.disabled})})});else{let r=n(`sub-menu-${l}`),i=[];t.forEach(e=>{let{flow:t,steps:r}=e;r.forEach(e=>{let r=n(`${l}:${t.key}:${e.stepKey}`);i.push({key:r,label:e.disabled?(0,R.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[e.title,(0,R.jsx)(N.A,{title:e.disabledReason,placement:"right",destroyTooltipOnHide:!0,children:(0,R.jsx)(I.A,{style:{color:c}})})]}):e.title,disabled:!!e.disabled})})}),e.push({key:r,label:l,children:i})}})}return e},[w,c,i,s,t,d]),es=(0,E.useMemo)(()=>{let e=[...ea];return(n||l||F.length>0)&&(e.push({type:"divider"}),F.length>0&&e.push(...F.map(er)),n&&t.uid&&e.push({key:"copy-uid",label:d("Copy UID")}),l&&"function"==typeof t.destroy&&e.push({key:"delete",label:d("Delete")})),e},[ea,n,l,F,t.uid,t.destroy,d]);return j?t&&t.uid?(0,R.jsx)(L.A,{getPopupContainer:V,overlayClassName:el,overlayStyle:{width:"max-content",minWidth:"max-content"},onOpenChange:z,open:p,menu:{items:es,onClick:et,style:{maxHeight:K,overflowY:"auto"}},trigger:["hover"],placement:"bottomRight",children:(0,R.jsx)(_.A,{role:"button","aria-label":"flows-settings",style:{cursor:"pointer",fontSize:12}})}):(console.warn(d("Invalid model provided")),null):null};var eo=l(23183),ea=l(48036),es=l(11869),ed=l(16296),eu=l(23200),ec=l(67778),ep=l(22505);let eh=k.A.Panel;var em=new WeakMap,ef=new WeakMap;class eg{on(e,t){(0,w._)(this,ef).on(e,t)}off(e,t){(0,w._)(this,ef).off(e,t)}addDefaultToolbarItems(){this.toolbarItems.push({key:"settings-menu",component:ei,sort:0})}async load(){if(this.antdComponentsLoaded)return void console.log("FlowSettings: Antd components already loaded, skipping...");try{let{ArrayBase:e,ArrayCards:t,ArrayCollapse:n,ArrayItems:r,ArrayTable:i,ArrayTabs:o,Cascader:a,Checkbox:s,DatePicker:d,Editable:u,Form:c,FormDialog:p,FormDrawer:h,FormButtonGroup:m,FormCollapse:f,FormGrid:g,FormItem:v,FormLayout:y,FormStep:b,FormTab:x,Input:w,NumberPicker:S,Password:M,PreviewText:A,Radio:F,Reset:k,Select:C,SelectTable:P,Space:j,Submit:E,Switch:R,TimePicker:I,Transfer:T,TreeSelect:_,Upload:D}=await Promise.resolve().then(l.bind(l,20419)),{Button:N,Alert:O}=await Promise.resolve().then(l.bind(l,14264));this.components.Form=c,this.components.FormDialog=p,this.components.FormDrawer=h,this.components.FormItem=v,this.components.FormLayout=y,this.components.FormGrid=g,this.components.FormStep=b,this.components.FormTab=x,this.components.FormCollapse=f,this.components.FormButtonGroup=m,this.components.Input=w,this.components.NumberPicker=S,this.components.Password=M,this.components.Select=C,this.components.SelectTable=P,this.components.Cascader=a,this.components.TreeSelect=_,this.components.Transfer=T,this.components.DatePicker=d,this.components.TimePicker=I,this.components.Checkbox=s,this.components.Radio=F,this.components.Switch=R,this.components.ArrayBase=e,this.components.ArrayCards=t,this.components.ArrayCollapse=n,this.components.ArrayItems=r,this.components.ArrayTable=i,this.components.ArrayTabs=o,this.components.Upload=D,this.components.Space=j,this.components.Editable=u,this.components.PreviewText=A,this.components.Alert=O,this.components.Button=N,this.components.Submit=E,this.components.Reset=k,this.antdComponentsLoaded=!0,console.log("FlowSettings: Antd components loaded successfully")}catch(e){throw console.error("FlowSettings: Failed to load Antd components:",e),e}}registerComponents(e){Object.keys(e).forEach(t=>{this.components[t]&&console.warn(`FlowSettings: Component with name '${t}' is already registered and will be overwritten.`),this.components[t]=e[t]})}registerComponentLoaders(e){Object.entries(e).forEach(e=>{let[t,l]=e;this.components[t]&&console.warn(`FlowSettings: Component with name '${t}' is already registered and will be overwritten.`),this.components[t]=(0,ep.R)(async()=>{let e=await l();if("function"==typeof e)return{default:e};if((null==e?void 0:e.default)&&"function"==typeof e.default)return{default:e.default};let n=null==e?void 0:e[t];if("function"==typeof n)return{default:n};throw Error(`FlowSettings: component loader for '${t}' must resolve to a React component or a module exporting it.`)})})}registerScopes(e){Object.keys(e).forEach(t=>{this.scopes[t]&&console.warn(`FlowSettings: Scope with name '${t}' is already registered and will be overwritten.`),this.scopes[t]=e[t]})}async enable(){await this.engine.preloadModelLoaders(),this.enabled=!0}async forceEnable(){await this.engine.preloadModelLoaders(),(0,M._)(this,em,!0),this.enabled=!0}async disable(){(0,w._)(this,em)||(this.enabled=!1)}async forceDisable(){(0,M._)(this,em,!1),this.enabled=!1}addToolbarItem(e){let t=this.toolbarItems.findIndex(t=>t.key===e.key);-1!==t?(console.warn(`FlowSettings: Toolbar item with key '${e.key}' already exists and will be replaced.`),this.toolbarItems[t]=e):this.toolbarItems.push(e),this.toolbarItems.sort((e,t)=>(t.sort||0)-(e.sort||0))}addToolbarItems(e){e.forEach(e=>this.addToolbarItem(e))}removeToolbarItem(e){let t=this.toolbarItems.findIndex(t=>t.key===e);-1!==t&&this.toolbarItems.splice(t,1)}getToolbarItems(){return[...this.toolbarItems]}registerDynamicFlowSourceProvider(e){let t=this.dynamicFlowSourceProviders.findIndex(t=>t.key===e.key);return -1!==t?(console.warn(`FlowSettings: Dynamic flow source provider with key '${e.key}' already exists and will be replaced.`),this.dynamicFlowSourceProviders[t]=e):this.dynamicFlowSourceProviders.push(e),this.dynamicFlowSourceProviders.sort((e,t)=>(e.sort||0)-(t.sort||0)),()=>{let t=this.dynamicFlowSourceProviders.indexOf(e);-1!==t&&this.dynamicFlowSourceProviders.splice(t,1)}}hasDynamicFlowSourceProvider(e){return this.dynamicFlowSourceProviders.some(t=>{try{return!t.visible||t.visible(e)}catch(e){return console.warn(`FlowSettings: Dynamic flow source provider '${t.key}' visibility check failed.`,e),!1}})}async getDynamicFlowSources(e){let t={key:"self",label:(0,g.lW)(e)("Current block"),model:e,sort:-1e3},l=[],n=new Set(["self"]),r=new Set([e.uid]);for(let t of this.dynamicFlowSourceProviders)try{if(t.visible&&!t.visible(e))continue;for(let i of await t.getSources(e)||[]){if(!(null==i?void 0:i.key)||!i.model)continue;let e=String(i.key),t=i.model.uid;n.has(e)||r.has(t)||(n.add(e),r.add(t),l.push({...i,key:e,label:i.label||e,sort:i.sort||0}))}}catch(e){console.warn(`FlowSettings: Dynamic flow source provider '${t.key}' failed.`,e)}return[t,...l.sort((e,t)=>(e.sort||0)-(t.sort||0))]}clearToolbarItems(){this.toolbarItems=[]}async openStepSettingsDialog(e){return await (0,eo.openStepSettingsDialog)(e)}renderStepForm(e){var t,l;let{uiSchema:n,initialValues:r,flowEngine:i,form:o,onFormValuesChange:a,key:s}=e,d={useFlowSettingsContext:ed.s,...(null==i||null==(t=i.flowSettings)?void 0:t.scopes)||{}},u={type:"object",properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:n}}},c=(0,g.ln)(d,u),p=(0,F.createSchemaField)();return E.createElement(ev,{form:o,initialValues:r,onFormValuesChange:a,key:s},E.createElement(p,{schema:c,components:(null==i||null==(l=i.flowSettings)?void 0:l.components)||{},scope:d}))}async open(e){var t,l,n,r,i,a,d;(0,w._)(this,ef).emit("beforeOpen",e);let{model:u,flowKey:c,flowKeys:p,stepKey:h,uiMode:m="dialog",preset:y,onCancel:b,onSaved:x}=e;if(!u)throw Error("FlowSettings.open: model is required");let S=(0,g.lW)(u),M=null==(t=u.context)?void 0:t.message,F=u.getFlows(),R=c?[c]:Array.isArray(p)&&p.length?p:Array.from(F.keys()),I=[];for(let e of(await this.load(),R)){let t=u.getFlow(e);if(!t){console.warn(`FlowSettings.open: Flow with key '${e}' not found`);continue}for(let l of Object.keys(t.steps||{})){if(h&&l!==h)continue;let n=t.steps[l];if(!y&&(!n||await (0,g._3)(u,t,n))||y&&!n.preset)continue;let r=await (0,g.o7)(u,t,n),o=n.title,a=n.beforeParamsSave,s=n.afterParamsSave,d={},c=n.uiMode;if(n.use){let e=null==(i=u.getAction)?void 0:i.call(u,n.use);e&&(d=e.defaultParams||{},o=o||e.title,a=a||e.beforeParamsSave,s=s||e.afterParamsSave,c=e.uiMode)}let p=new f.W5(u,e,"settings");(0,g.wx)(p,t.steps,u,e),p.defineProperty("currentStep",{value:n}),p.defineMethod("getStepFormValues",(e,t)=>{var l;return null==(l=V.get(q({flowKey:e,stepKey:t})))?void 0:l.values});let m=u.getStepParams(e,l)||{},v=await (0,g.gG)(n.defaultParams,p),b={...await (0,g.gG)(d,p)||{},...v||{},...m};(r&&0!==Object.keys(r).length||["select","switch"].includes((null==c?void 0:c.type)||c))&&I.push({flowKey:e,flowTitle:S(t.title)||e,stepKey:l,stepTitle:S(o)||l,initialValues:b,previousParams:{...m||{}},mergedUiSchema:r,beforeParamsSave:a,afterParamsSave:s,ctx:p,uiMode:n.uiMode||c})}}if(0===I.length)return y||null==M||null==(a=M.info)||a.call(M,S("This model has no configurable flow settings")),!1;let T=u.context.viewer,_=1===I.length?await (0,g.ME)(I[0].uiMode||m,I[0].ctx):m,D="string"==typeof _?_:_.type||"dialog";if(["select","switch"].includes(D))return;let N=T[D||"dialog"].bind(T),O=u.flowEngine,$={useFlowSettingsContext:ed.s,...(null==O||null==(l=O.flowSettings)?void 0:l.scopes)||{}},B="object"==typeof _&&_&&_.props||{};if("embed"===D){let e=document.querySelector(`#${ec.mW}`),t=B.onOpen,l=B.onClose;B={target:e,styles:{body:{padding:null==(d=O.context.themeToken)?void 0:d.padding}},...B,onOpen(){e&&(e.style.width=B.width||"33.3%",e.style.maxWidth=B.maxWidth||"800px",e.style.minWidth=B.minWidth||"0px"),null==t||t()},onClose(){e&&"1"!==e.dataset[ec.xB]&&(e.style.width="auto",e.style.maxWidth="none",e.style.minWidth="auto"),null==l||l()}}}let L={};I.forEach(e=>{L[e.flowKey]||(L[e.flowKey]={title:e.flowTitle,steps:[]}),L[e.flowKey].steps.push(e)});let V=new Map,q=e=>`${e.flowKey}::${e.stepKey}`;I.forEach(e=>{let t=(0,A.createForm)({initialValues:(0,g.ln)($,e.initialValues)});V.set(q(e),t)});let z=Object.keys(L),K=z.length>1,U=()=>c&&h&&1===I.length||!K&&I.length>0?I[0].stepTitle:"",W={value:()=>{}},H=(e,t)=>{W.value=(0,o.reaction)(()=>(0,g.ME)(e.uiMode||m,e.ctx),e=>{e.then(e=>{s().isPlainObject(null==e?void 0:e.props)&&t.update(e.props)}).catch(e=>{console.warn("Error resolving uiMode:",e)})})},G=(null==(n=u.context.view)?void 0:n.inputArgs)||{},Y=null==(r=u.context.view)?void 0:r.navigation,J={...G,...Y?{navigation:Y}:{},...(null==B?void 0:B.inputArgs)||{}};return N({title:B.title||U(),width:B.width??600,destroyOnClose:!0,onClose:()=>W.value(),zIndex:5e3,...B,inputArgs:J,content:(e,t)=>{let l;null==t||t.defineMethod("getStepFormValues",(e,t)=>{var l;return null==(l=V.get(q({flowKey:e,stepKey:t})))?void 0:l.values});let n=t=>{let l=V.get(q(t));return l?(t.ctx.view=e,E.createElement(ed.u,{value:t.ctx},E.createElement(eu.k.Provider,{value:{params:(0,es.untracked)(()=>({...t.initialValues,...l.values})),path:`${u.uid}_${t.flowKey}_${t.stepKey}`}},this.renderStepForm({uiSchema:t.mergedUiSchema,initialValues:t.initialValues,flowEngine:O,form:l})))):null},r=e=>e.map(e=>E.createElement(eh,{header:e.stepTitle,key:q(e)},n(e))),i=e=>{let t=L[e];return{key:e,label:S(t.title)||e,children:t.steps.length>1?E.createElement(k.A,{defaultActiveKey:t.steps.map(e=>q(e))},...r(t.steps)):n(t.steps[0])}},o=()=>{if(c&&h&&1===I.length){let t=I[0];return H(t,e),n(t)}if(!K)return H(I[0],e),n(I[0]);let t=z.map(e=>i(e)),l=c&&L[c]?c:z[0];return E.createElement(C.A,{items:t,defaultActiveKey:l})},a=async()=>{var t,l;try{for(let e of I){let t=V.get(q(e));if(!t)continue;await t.submit();let l=t.values;u.setStepParams(e.flowKey,e.stepKey,l),"function"==typeof e.beforeParamsSave&&await e.beforeParamsSave(e.ctx,l,e.previousParams)}for(let e of(await u.saveStepParams(),null==M||null==(t=M.success)||t.call(M,S("Configuration saved")),I)){let t=V.get(q(e));if(!t)continue;let l=t.values;"function"==typeof e.afterParamsSave&&await e.afterParamsSave(e.ctx,l,e.previousParams)}e.close(),u.invalidateFlowCache("beforeRender",!0),await u.rerender();try{await (null==x?void 0:x())}catch(e){console.error("FlowSettings.open: onSaved callback error",e)}}catch(t){if(t instanceof g.VD)return;if(t instanceof g.sy||t instanceof v.zz)return void e.close();console.error("FlowSettings.open: save error",t),null==M||null==(l=M.error)||l.call(M,S("Error saving configuration, please check console"))}};e.submit=a;let d=o(),p=t=>E.createElement(P.Ay,{onClick:async()=>{e.close();try{await (null==b?void 0:b())}catch(e){console.error("FlowSettings.open: onCancel callback error",e)}}},t.title||S("Cancel")),m=e=>E.createElement(P.Ay,{type:"primary",onClick:a},e.title||S("Save")),f=E.createElement(j.A,{align:"end"},E.createElement(p),E.createElement(m));return B.footer&&(f=s().isFunction(B.footer)?B.footer(f,{OkBtn:m,CancelBtn:p}):B.footer),null===B.footer&&(f=null),e.Footer&&(l=E.createElement(e.Footer,null,f)),E.createElement(E.Fragment,null,d,l)}}),!0}constructor(e){(0,i._)(this,"components",{}),(0,i._)(this,"scopes",{}),(0,i._)(this,"antdComponentsLoaded",!1),(0,i._)(this,"enabled",void 0),(0,i._)(this,"engine",void 0),(0,S._)(this,em,{writable:!0,value:!1}),(0,i._)(this,"toolbarItems",[]),(0,i._)(this,"dynamicFlowSourceProviders",[]),(0,S._)(this,ef,{writable:!0,value:new ea.v}),this.engine=e,this.enabled=!1,e.context.defineProperty("flowSettingsEnabled",{get:()=>this.enabled,cache:!1}),this.addDefaultToolbarItems(),(0,o.define)(this,{enabled:o.observable})}}function ev(e){let{children:t,form:l,initialValues:n,onFormValuesChange:r}=e,i=E.useRef(l);return i.current||(i.current=(0,A.createForm)({initialValues:n,effects(){(0,A.onFormValuesChange)(r)}})),E.createElement(F.FormProvider,{form:i.current},t)}var ey=l(4888),eb=l(5338);function ex(e){let{config:t,engine:l,children:n}=e;return(0,R.jsx)(K.I6,{engine:l,children:(0,R.jsx)(ey.Ay,{...t,children:(0,R.jsx)(O.A,{children:n})})})}class ew{createRoot(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,eb.createRoot)(e,l),r=()=>{n.render((0,R.jsx)(ex,{engine:this.flowEngine,config:this.flowEngine.context.antdConfig,children:t}))};return{render:e=>{t=e,this.refreshCallback=r,r()},unmount:()=>{this.refreshCallback=null,t=null,n.unmount()}}}refresh(){this.refreshCallback&&this.refreshCallback()}render(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=document.createElement("span"),{onRendered:r}=l,i=t=>{let l="function"==typeof e?e(t):e;return(0,R.jsx)(ex,{engine:this.flowEngine,config:this.flowEngine.context.antdConfig,children:l})};return r?r(()=>{(t=(0,eb.createRoot)(n)).render(i(t))}):(t=(0,eb.createRoot)(n)).render(i(t)),n._reactRoot=t,n}onRefReady(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e4,n=Date.now();function r(){if(e.current)return t(e.current);Date.now()-n>l||setTimeout(r,30)}r()}constructor(e){(0,i._)(this,"flowEngine",void 0),(0,i._)(this,"refreshCallback",void 0),this.flowEngine=e,this.refreshCallback=null}}var eS=l(27667),eM=l(38950);class eA{schedule(e,t,l,n){let r="string"==typeof e?e:null==e?void 0:e.uid;if(!r)throw Error("scheduleModelOperation: invalid from model or uid");if(!t||"string"!=typeof t)throw Error("scheduleModelOperation: invalid target uid");let i={id:(0,eM.L)(),fromUid:r,toUid:t,fn:l,options:{when:(null==n?void 0:n.when)??"created"}},o=this.itemsByTargetUid.get(t);o||(o=new Map,this.itemsByTargetUid.set(t,o)),o.set(i.id,i);let a=this.itemIdsByFromUid.get(r);a||(a=new Set,this.itemIdsByFromUid.set(r,a)),a.add(i.id),this.itemsById.set(i.id,i),this.ensureEventSubscriptionIfNeeded(i.options.when);let s=this.engine.getModel(t);return s&&"created"===i.options.when&&this.tryExecuteOnce(i.id,{type:"created",uid:t,model:s}),()=>this.internalCancel(i.id)}cancel(e){let{fromUid:t,toUid:l}=e||{};if(l&&this.itemsByTargetUid.has(l)){let e=this.itemsByTargetUid.get(l);if(e)for(let l of e.values())t&&l.fromUid!==t||this.internalCancel(l.id);return}if(t&&this.itemIdsByFromUid.has(t)){let e=this.itemIdsByFromUid.get(t);if(e)for(let t of Array.from(e)){let e=this.itemsById.get(t);e&&(l&&e.toUid!==l||this.internalCancel(t))}}}dispose(){try{for(let e of this.unbindHandlers)try{e()}catch(e){}}finally{this.unbindHandlers=[]}for(let e of this.itemsByTargetUid.values())for(let t of e.values())this.internalCancel(t.id);this.itemsByTargetUid.clear(),this.itemIdsByFromUid.clear()}bindEngineLifecycle(){let e=this.engine.emitter;if(!e||"function"!=typeof e.on)return;let t=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:"created"})};e.on("model:created",t),this.unbindHandlers.push(()=>e.off("model:created",t));let l=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:"mounted"})};e.on("model:mounted",l),this.unbindHandlers.push(()=>e.off("model:mounted",l));let n=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:"event:beforeRender:start"})};e.on("model:event:beforeRender:start",n),this.unbindHandlers.push(()=>e.off("model:event:beforeRender:start",n));let r=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:"event:beforeRender:end"})};e.on("model:event:beforeRender:end",r),this.unbindHandlers.push(()=>e.off("model:event:beforeRender:end",r));let i=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:"unmounted"})};e.on("model:unmounted",i),this.unbindHandlers.push(()=>e.off("model:unmounted",i));let o=async e=>{let t=this.itemsByTargetUid.get(e.uid),l={...e,type:"destroyed"};if(t&&t.size)for(let e of Array.from(t.keys())){let t=this.itemsById.get(e);t&&(this.shouldTrigger(t.options.when,l)?await this.tryExecuteOnce(e,l):this.internalCancel(e))}};e.on("model:destroyed",o),this.unbindHandlers.push(()=>e.off("model:destroyed",o))}ensureEventSubscriptionIfNeeded(e){let t="string"==typeof e?e:"function"==typeof e?e.__eventType:void 0;if(!t)return;let l=this.parseEventWhen(t);if(!l)return;let{name:n}=l;if(this.subscribedEventNames.has(n))return;this.subscribedEventNames.add(n);let r=this.engine.emitter,i=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:`event:${n}:start`})},o=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:`event:${n}:end`})},a=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:`event:${n}:error`})};r.on(`model:event:${n}:start`,i),r.on(`model:event:${n}:end`,o),r.on(`model:event:${n}:error`,a),this.unbindHandlers.push(()=>r.off(`model:event:${n}:start`,i)),this.unbindHandlers.push(()=>r.off(`model:event:${n}:end`,o)),this.unbindHandlers.push(()=>r.off(`model:event:${n}:error`,a))}parseEventWhen(e){if(!e||"string"!=typeof e)return null;let t=/^event:(.+):(start|end|error)$/.exec(e);return t?{name:t[1],phase:t[2]}:null}async processLifecycleEvent(e,t){let l=this.itemsByTargetUid.get(e);if(l&&0!==l.size)for(let e of Array.from(l.keys())){let l=this.itemsById.get(e);l&&this.shouldTrigger(l.options.when,t)&&await this.tryExecuteOnce(e,t)}}shouldTrigger(e,t){return!!e&&("function"==typeof e?!!e(t):e===t.type)}async tryExecuteOnce(e,t){let l=this.takeItem(e);if(l)try{let e=t.model||this.engine.getModel(l.toUid);if(!e)return;await Promise.resolve(l.fn(e))}catch(t){var n,r;if(t instanceof v.zz)throw t;null==(r=this.engine.logger)||null==(n=r.error)||n.call(r,{err:t,id:e,fromUid:l.fromUid,toUid:l.toUid,when:l.options.when},"ModelOperationScheduler: operation execution failed")}}internalCancel(e){return!!this.takeItem(e)}takeItem(e){let t=this.itemsById.get(e);if(!t)return;let{toUid:l,fromUid:n}=t,r=this.itemsByTargetUid.get(l);r&&(r.delete(e),0===r.size&&this.itemsByTargetUid.delete(l));let i=this.itemIdsByFromUid.get(n);return i&&(i.delete(e),0===i.size&&this.itemIdsByFromUid.delete(n)),this.itemsById.delete(e),t}constructor(e){(0,i._)(this,"engine",void 0),(0,i._)(this,"itemsByTargetUid",void 0),(0,i._)(this,"itemIdsByFromUid",void 0),(0,i._)(this,"itemsById",void 0),(0,i._)(this,"unbindHandlers",void 0),(0,i._)(this,"subscribedEventNames",void 0),this.engine=e,this.itemsByTargetUid=new Map,this.itemIdsByFromUid=new Map,this.itemsById=new Map,this.unbindHandlers=[],this.subscribedEventNames=new Set,this.bindEngineLifecycle()}}let eF=eA,ek=e=>{let t=null==e?void 0:e.parentId,l=null==e?void 0:e.subKey;if(t&&"page"===l)return`${t}::${l}`},eC=e=>{let t=e;for(;t;){var l;if("page"===t.subKey&&(null==(l=t.parent)?void 0:l.uid))return ek({parentId:t.parent.uid,subKey:t.subKey});t=t.parent}},eP=e=>{try{return!!(null==e?void 0:e.flowSettingsEnabled)}catch(e){return!1}},ej=e=>{if(eP(null==e?void 0:e.context))return!0;let t=new Set,l=null==e?void 0:e.flowEngine;for(;l&&!t.has(l);){if(t.add(l),eP(l.context))return!0;l=l.previousEngine}return!1},eE=e=>{(null==e?void 0:e.uid)&&e.flowEngine&&e.flowEngine.getModel(e.uid)===e&&e.flowEngine.removeModelWithSubModels(e.uid)},eR=function(e){var t;let l=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!(null==e?void 0:e.parent)||!e.subKey)return e;let n=null==(t=e.parent.subModels)?void 0:t[e.subKey],r=l&&"array"!==e.subType&&n&&!Array.isArray(n)?n:e.parent.findSubModel(e.subKey,t=>t.uid===e.uid);if(r){if(!l||r===e)return e;eE(r)}return"array"===e.subType?e.parent.addSubModel(e.subKey,e):e.parent.setSubModel(e.subKey,e),e},eI=()=>{let e=new Set;return{getDirtyKeyForModel(e,t){if((null==t?void 0:t.force)||ej(e))return eC(e)},markDirty(t){t&&e.add(t)},shouldBypass(t,l){let n=ek(t);if(!n||!e.has(n))return!1;try{return!(null==l?void 0:l())}catch(e){return!0}},clear(t){let l=ek(t);l&&e.delete(l)},mountModelToParent:eR}},eT=()=>"warn";var e_=new WeakSet;class eD{getScheduler(){return this._modelOperationScheduler||(this._modelOperationScheduler=new eF(this)),this._modelOperationScheduler}disposeScheduler(){if(this._modelOperationScheduler)try{this._modelOperationScheduler.dispose()}finally{this._modelOperationScheduler=void 0}}markDataSourceDirty(e,t){let l=String(e||"main"),n=String(t||"");if(!n)return this.getDataSourceDirtyVersion(l,n);let r=this._dataSourceDirtyVersions.get(l)||new Map;this._dataSourceDirtyVersions.has(l)||this._dataSourceDirtyVersions.set(l,r);let i=(r.get(n)||0)+1;return r.set(n,i),i}getDataSourceDirtyVersion(e,t){var l;let n=String(e||"main"),r=String(t||"");return r&&(null==(l=this._dataSourceDirtyVersions.get(n))?void 0:l.get(r))||0}scheduleModelOperation(e,t,l,n){return this.getScheduler().schedule(e,t,l,n)}get previousEngine(){return this._previousEngine}get nextEngine(){return this._nextEngine}linkAfter(e){let t=e;for(;t._nextEngine;)t=t._nextEngine;this._previousEngine=t,t&&(t._nextEngine=this)}unlinkFromStack(){let e=this._previousEngine;this._nextEngine,e&&(e._nextEngine=void 0)}setDestroyView(e){this._destroyView=e}destroyView(){return!!this._destroyView&&(this._destroyView(),!0)}get context(){return this._flowContext||(this._flowContext=new f.o0(this)),this._flowContext}get dataSourceManager(){return this.context.dataSourceManager}get applyFlowCache(){return this._applyFlowCache}setModelRepository(e){this._modelRepository&&console.warn("FlowEngine: Model repository is already set and will be overwritten."),this._modelRepository=e}get modelRepository(){return this._modelRepository}translate(e,t){return this.context.t(e,t)}registerActions(e){this._actionRegistry.registerActions(e)}getAction(e){return this._actionRegistry.getAction(e)}getActions(){return this._actionRegistry.getActions()}registerEvents(e){this._eventRegistry.registerEvents(e)}getEvent(e){return this._eventRegistry.getEvent(e)}getEvents(){return this._eventRegistry.getEvents()}_registerModel(e,t){this._modelClasses.has(e)&&console.warn(`FlowEngine: Model class with name '${e}' is already registered and will be overwritten.`),Object.defineProperty(t,"name",{value:e}),this._modelClasses.set(e,t)}registerModels(e){for(let[t,l]of Object.entries(e))(0,n._)(this,e_,eN).call(this,t,l)}registerModelLoaders(e){let t=!1;for(let[l,n]of Object.entries(e)){this._modelLoaders.has(l)&&console.warn(`FlowEngine: Model loader with name '${l}' is already registered and will be overwritten.`);let e={loader:n.loader};null!=n.extends&&(e.extends=(Array.isArray(n.extends)?n.extends:[n.extends]).map(e=>"string"==typeof e?e:e.name)),this._modelLoaders.set(l,e),t=!0}t&&(this._modelLoadersPreloaded=!1,this._modelLoadersPreloadPromise=void 0)}async getModelClassAsync(e){return await this.ensureModel(e),this.getModelClass(e)}async getModelClassesAsync(){return await this.ensureModels(Array.from(this._modelLoaders.keys())),this.getModelClasses()}async createModelAsync(e,t){return await this.resolveModelTree(e),this.createModel(e,t)}normalizeModelLoaderResult(e,t){if("function"==typeof t)return t;if(t&&"object"==typeof t){let l=t.default;if("function"==typeof l)return l;let n=t[e];if("function"==typeof n)return n}return console.warn(`FlowEngine: model loader for '${e}' did not resolve to a valid model constructor.`),null}collectModelNamesFromTree(e,t){if(!e||"object"!=typeof e)return;if(Array.isArray(e))return void e.forEach(e=>this.collectModelNamesFromTree(e,t));let l=e;"string"==typeof l.use&&t.add(l.use);let n=l.subModels;n&&"object"==typeof n&&Object.values(n).forEach(e=>{this.collectModelNamesFromTree(e,t)})}collectModelNamesFromMetaDefaults(e,t){var l;let n=null==(l=e.meta)?void 0:l.createModelOptions;n&&"object"==typeof n&&this.collectModelNamesFromTree(n,t)}async ensureModel(e){let t=this._modelClasses.get(e);if(t)return t;let l=this._loadingModelPromises.get(e);if(l)return l;let n=this._modelLoaders.get(e);if(!n)return console.warn(`FlowEngine: Model entry '${e}' not found. Falling back to ErrorFlowModel when needed.`),null;let r=(async()=>{try{let t=await n.loader(),l=this.normalizeModelLoaderResult(e,t);if(!l)return null;return this._registerModel(e,l),l}catch(t){return console.warn(`FlowEngine: Failed to load model '${e}'. Falling back to ErrorFlowModel when needed.`,t),null}finally{this._loadingModelPromises.delete(e)}})();return this._loadingModelPromises.set(e,r),r}async ensureModels(e){let t=Array.from(new Set(e.filter(e=>!!e))),l=[],n=[];return(await Promise.all(t.map(async e=>{let t=await this.ensureModel(e);return{name:e,modelClass:t}}))).forEach(e=>{let{name:t,modelClass:r}=e;r?l.push(t):n.push({name:t})}),{requested:t,loaded:l,failed:n}}async resolveModelTree(e){let t=new Set,l=new Set,n=new Map,r=new Set,i=new Set;for(this.collectModelNamesFromTree(e,i);i.size>0;){let e=Array.from(i).filter(e=>!r.has(e));if(i.clear(),0===e.length)break;e.forEach(e=>t.add(e));let o=await this.ensureModels(e);o.loaded.forEach(e=>{r.add(e),l.add(e);let t=this.getModelClass(e);if(t){let e=new Set;this.collectModelNamesFromMetaDefaults(t,e),e.forEach(e=>{r.has(e)||i.add(e)})}}),o.failed.forEach(e=>{r.add(e.name),n.set(e.name,e)})}return{requested:Array.from(t),loaded:Array.from(l),failed:Array.from(n.values())}}async preloadModelLoaders(){let e=Array.from(this._modelLoaders.keys()).filter(e=>!this._modelClasses.has(e));return 0===e.length?(this._modelLoadersPreloaded=!0,{requested:[],loaded:[],failed:[]}):(this._modelLoadersPreloadPromise||(this._modelLoadersPreloadPromise=(async()=>{let t=await this.ensureModels(e);return this._modelLoadersPreloaded=0===t.failed.length,this._modelLoadersPreloadPromise=void 0,t})()),this._modelLoadersPreloadPromise)}registerResources(e){for(let[t,l]of Object.entries(e))this._resources.set(t,l)}createResource(e,t){if("string"==typeof e){let l=this._resources.get(e);if(!l)throw Error(`Resource class '${e}' not found. Please register it first.`);return new l((null==t?void 0:t.context)||this.context)}return new e((null==t?void 0:t.context)||this.context)}getModelClasses(){return this._modelClasses}getModelClass(e){return this._modelClasses.get(e)}findModelClass(e){for(let[t,l]of this._modelClasses)if(e(t,l))return[t,l]}getSubclassesOf(e,t){let l="string"==typeof e?this.getModelClass(e):e,n=new Map;if(!l)return n;for(let[e,r]of this._modelClasses)(0,g.FA)(r,l)&&(!t||t(r,e))&&n.set(e,r);return n}async getSubclassesOfAsync(e,t){let l,n="string"==typeof e?e:e.name;if("string"==typeof e?(this.getModelClass(e)||await this.ensureModel(e),l=this.getModelClass(e)):l=e,!l)return new Map;let r=this.getSubclassesOf(l,t),i=[];for(let[e,t]of this._modelLoaders){var o;!(r.has(e)||this._modelClasses.has(e))&&(null==(o=t.extends)?void 0:o.includes(n))&&i.push(e)}for(let e of(i.length>0&&await this.ensureModels(i),i)){let i=this._modelClasses.get(e);if(i){if(!(0,g.FA)(i,l)){console.warn(`FlowEngine: Model '${e}' declares extends '${n}' but does not actually inherit from it. Skipping.`);continue}(!t||t(i,e))&&r.set(e,i)}}return r}createModel(e,t){var l;let n,{parentId:r,uid:i,use:o,subModels:a}=e,s=r?this.getModel(r)||(null==(l=this.previousEngine)?void 0:l.getModel(r)):void 0,d=this._resolveModelClass("string"==typeof o?this.getModelClass(o):o,e,s);return i&&this._modelInstances.has(i)?this._modelInstances.get(i):(d?n=new d({...e,flowEngine:this}):(n=new V._f({...e,flowEngine:this})).setErrorMessage(`Model class '${o}' not found. Please register it first.`),(null==t?void 0:t.delegate)&&n.context.addDelegate(t.delegate),s&&(n.setParent(s),(null==t?void 0:t.delegateToParent)===!1&&n.removeParentDelegate()),this._modelInstances.set(n.uid,n),n.onInit(e),this.emitter.emitAsync("model:created",{uid:n.uid,model:n}),this._applyFlowDefinitionDefaultParams(n).catch(e=>{console.warn("FlowEngine: apply flow defaultParams failed:",e)}),n._createSubModels(e.subModels),n)}_resolveModelClass(e,t,l){let n=e=>e?"object"==typeof e&&"use"in e?{target:e.use,stop:!!e.stop}:{target:e,stop:!1}:{},r=e,i=new Set;for(;r;){let e;if(i.has(r))break;i.add(r);let o=null==r?void 0:r.resolveUse;if("function"!=typeof o)break;let{target:a,stop:s}=n(o(t,this,l));if(!a||a===r)break;if("string"==typeof a){if(!(e=this.getModelClass(a)))return void console.warn(`FlowEngine: resolveUse returned '${a}' but no model is registered under that name.`)}else e=a;if(r=e,s)break}return r}async _applyFlowDefinitionDefaultParams(e){try{let l=e.getFlows();if(!l||0===l.size)return;let n=e.context;for(let[r,i]of l.entries()){var t;let l,o=i.defaultParams;if(!o)continue;try{l="function"==typeof o?await o(n):o}catch(e){console.warn(`FlowEngine: resolve defaultParams of flow '${r}' failed:`,e);continue}if(!l||"object"!=typeof l)continue;let a=null==(t=i.getSteps)?void 0:t.call(i),s=a?Array.from(a.keys()):Object.keys(i.steps||{}),d=Object.entries(l).filter(e=>{let[t]=e;return s.includes(t)});if(0!==d.length)for(let[t,l]of d){let n=e.getStepParams(r,t);void 0===n&&l&&"object"==typeof l&&e.setStepParams(r,t,l)}}}catch(e){console.warn("FlowEngine: apply flow defaultParams error:",e)}}getModel(e,t){if(!t)return this._modelInstances.get(e);let l=this;for(;l.nextEngine;)l=l.nextEngine;let n=l;for(;n;){let t=n._modelInstances.get(e);if(t)return t;n=n.previousEngine}}forEachModel(e){this._modelInstances.forEach(e)}removeModel(e){var t,l,n;if(!this._modelInstances.has(e))return this.logger.debug(`FlowEngine: Model with UID '${e}' does not exist.`),!1;let r=this._modelInstances.get(e);if(r.invalidateFlowCache(void 0,!0),r.clearForks(),null==(t=r.parent)?void 0:t.subModels)for(let e in r.parent.subModels){let t=r.parent.subModels[e];if(Array.isArray(t)){let e=t.findIndex(e=>e==r);if(-1!==e){t.splice(e,1),r.parent.emitter.emit("onSubModelRemoved",r),null==(l=this.emitter)||l.emit("model:subModel:removed",{parentUid:r.parent.uid,parent:r.parent,model:r});break}}else if(t&&t===r){delete r.parent.subModels[e],r.parent.emitter.emit("onSubModelRemoved",r),null==(n=this.emitter)||n.emit("model:subModel:removed",{parentUid:r.parent.uid,parent:r.parent,model:r});break}}return this._modelInstances.delete(e),this.emitter.emitAsync("model:destroyed",{uid:e,model:r}),!0}removeModelWithSubModels(e){let t=this.getModel(e);if(!t)return!1;let l=(e,t)=>{if(e.subModels)for(let n in e.subModels){let r=e.subModels[n];Array.isArray(r)?[...r].forEach(e=>l(e,t)):r&&l(r,t)}t.push(e)},n=[];l(t,n);let r=!0;for(let e of n)this.removeModel(e.uid)||(r=!1);return r}ensureModelRepository(){return!!this._modelRepository}findModelInPreviousEngines(e){let t=this.previousEngine;for(;t;){let l=t.getModel(e);if(l)return l;t=t.previousEngine}}findSubModelInPreviousEngines(e,t){let l=this.previousEngine;for(;l;){let r=l.getModel(e);if(r){var n;let e=null==(n=r.subModels)?void 0:n[t];if(e){let t=Array.isArray(e)?e[0]:e;if(t)return{parent:r,model:t}}}l=l.previousEngine}}async hydrateModelFromPreviousEngines(e,t){let l=null==e?void 0:e.uid,n=null==e?void 0:e.parentId,r=null==e?void 0:e.subKey;if(l&&!this._modelInstances.has(l)){let e=this.findModelInPreviousEngines(l);if(null==e?void 0:e.context.flowSettingsEnabled)return null;if(e){let l=e.serialize();return this.createModelAsync(l,t)}}if(n&&r){var i;let e=this.findSubModelInPreviousEngines(n,r);if(!e||e.parent.context.flowSettingsEnabled)return null;let{parent:l,model:o}=e,a=this.getModel(n);if(!a){let e=l.serialize();delete e.subModels,a=await this.createModelAsync(e,t)}let s=o.serialize(),d=await this.createModelAsync(s,t),u=null==(i=a.subModels)?void 0:i[r];return Array.isArray(u)?u.some(e=>(null==e?void 0:e.uid)===(null==d?void 0:d.uid))||a.addSubModel(r,d):u instanceof V.WD?u.uid!==(null==d?void 0:d.uid)&&a.setSubModel(r,d):(null==d?void 0:d.subType)==="array"?a.addSubModel(r,d):a.setSubModel(r,d),d}return null}async loadModel(e){if(!this.ensureModelRepository())return;let t=!!(null==e?void 0:e.refresh),l=this._loadedPageCache.shouldBypass(e,()=>this.context.flowSettingsEnabled);if(!t&&!l){let t=this.findModelByParentId(e.parentId,e.subKey);if(t)return t;let l=await this.hydrateModelFromPreviousEngines(e);if(l)return l}let n=await this._modelRepository.findOne(e);if(!(null==n?void 0:n.uid))return l&&this._loadedPageCache.clear(e),null;if(t||l){let e=this.getModel(n.uid);e&&this.removeModelWithSubModels(e.uid)}let r=await this.createModelAsync(n);return l&&(this._loadedPageCache.mountModelToParent(r,!0),this._loadedPageCache.clear(e)),r}findModelByParentId(e,t){if(e&&this._modelInstances.has(e)){let l=this._modelInstances.get(e);if(l&&l.subModels[t]){let e=l.subModels[t];return Array.isArray(e)?e[0]:e}}}async loadOrCreateModel(e,t){if(!this.ensureModelRepository())return;let{uid:l,parentId:n,subKey:r}=e,i=this._loadedPageCache.shouldBypass(e,()=>this.context.flowSettingsEnabled);if(l&&!i&&this._modelInstances.has(l))return this._modelInstances.get(l);if(!i){let l=this.findModelByParentId(n,r);if(l)return l;let i=await this.hydrateModelFromPreviousEngines(e,t);if(i)return i}let o=await this._modelRepository.findOne(e),a=null;if(null==o?void 0:o.uid){if(i){let e=this.getModel(o.uid);e&&this.removeModelWithSubModels(e.uid)}a=await this.createModelAsync(o,t)}else a=await this.createModelAsync(e,t),(null==t?void 0:t.skipSave)||await a.save();return this._loadedPageCache.mountModelToParent(a,i),i&&this._loadedPageCache.clear(e),a}async saveModel(e,t){if(!this.ensureModelRepository())return;let l=e.uid,n=this._loadedPageCache.getDirtyKeyForModel(e,{force:!!(null==t?void 0:t.onlyStepParams)});if(this._savingModels.has(l))return this.logger.debug(`Model ${l} is already being saved, waiting for existing save operation`),await this._savingModels.get(l);let r=this._performModelSave(e,t);this._savingModels.set(l,r);try{let e=await r;return this._loadedPageCache.markDirty(n),e}finally{this._savingModels.delete(l)}}async _performModelSave(e,t){this.logger.debug(`Starting save operation for model ${e.uid}`);try{let l=await this._modelRepository.save(e,t);return this.logger.debug(`Successfully saved model ${e.uid}`),l}catch(t){throw this.logger.error(`Failed to save model ${e.uid}:`,t),t}}async destroyModel(e){let t=this._modelInstances.get(e),l=this._loadedPageCache.getDirtyKeyForModel(t),n=this.ensureModelRepository();n&&await this._modelRepository.destroy(e),n&&this._loadedPageCache.markDirty(l);let r=null==t?void 0:t.parent,i=this.removeModel(e);return r&&r.emitter.emit("onSubModelDestroyed",t),i}async duplicateModel(e){return this.ensureModelRepository()?this._modelRepository.duplicate(e):null}async replaceModel(e,t){let l,n=this.getModel(e);if(!n)return console.warn(`FlowEngine: Cannot replace model. Model with UID '${e}' not found.`),null;let r=n.parent,i=n.subKey,o=n.subType,a=n.serialize();l="function"==typeof t?t(n):t||{};let d={...s().omit(a,["subModels"]),...l};r&&r.emitter.setPaused(!0),await n.destroy();let u=this.createModel(d);if(r&&i&&("array"===o?r.addSubModel(i,u):r.setSubModel(i,u)),r){var c,p;r.emitter.setPaused(!1),r.parent.invalidateFlowCache("beforeRender",!0),null==(c=r.parent)||c.rerender(),r.emitter.emit("onSubModelReplaced",{oldModel:n,newModel:u}),null==(p=this.emitter)||p.emit("model:subModel:replaced",{parentUid:r.uid,parent:r,oldModel:n,newModel:u})}return await u.save(),u}async moveModel(e,t,l){var n,r;let i=String(e),o=String(t);if(!i||!o||i===o)return;let a=this.getModel(i),s=this.getModel(o);if(!a||!s)return void console.warn("FlowEngine: Cannot move model. Source or target model not found.");let d="after",u=this._loadedPageCache.getDirtyKeyForModel(a);((e,t)=>{if(!e.parent||!t.parent||e.parent!==t.parent)return console.error("FlowModel.moveTo: Both models must have the same parent to perform move operation."),!1;let l=e.parent.subModels[e.subKey];if(!l||!Array.isArray(l))return console.error("FlowModel.moveTo: Parent subModels must be an array to perform move operation."),!1;let n=[...l],r=e=>n.findIndex(t=>t.uid===e.uid),i=r(e),o=r(t);if(-1===i||-1===o)return console.error("FlowModel.moveTo: Current or target model not found in parent subModels."),!1;if(i===o)return console.warn("FlowModel.moveTo: Current model is already at the target position. No action taken."),!1;d=i<o?"after":"before";let[a]=n.splice(i,1);return n.splice(o,0,a),n.forEach((e,t)=>{e.sortIndex=t}),l.splice(0,l.length,...n),!0})(a,s)&&((null==l?void 0:l.persist)!==!1&&this.ensureModelRepository()&&(await this._modelRepository.move(i,o,d),this._loadedPageCache.markDirty(u)),a.parent.emitter.emit("onSubModelMoved",{source:a,target:s}),null==(r=this.emitter)||r.emit("model:subModel:moved",{parentUid:null==(n=a.parent)?void 0:n.uid,parent:a.parent,source:a,target:s}))}filterModelClassByParent(e){let t="string"==typeof e?this.getModelClass(e):e;if(!t)return new Map;let l=new Map;for(let[e,n]of this._modelClasses)(0,g.FA)(n,t)&&l.set(e,n);return l}static generateApplyFlowCacheKey(e,t,l){return`${e}:${t}:${l}`}constructor(){(0,r._)(this,e_),(0,i._)(this,"_actionRegistry",new p),(0,i._)(this,"_eventRegistry",new m),(0,i._)(this,"_modelClasses",o.observable.shallow(new Map)),(0,i._)(this,"_modelLoaders",new Map),(0,i._)(this,"_loadingModelPromises",new Map),(0,i._)(this,"_modelLoadersPreloaded",!1),(0,i._)(this,"_modelLoadersPreloadPromise",void 0),(0,i._)(this,"_modelInstances",new Map),(0,i._)(this,"_modelRepository",null),(0,i._)(this,"_applyFlowCache",new Map),(0,i._)(this,"_savingModels",new Map),(0,i._)(this,"_loadedPageCache",eI()),(0,i._)(this,"_flowContext",void 0),(0,i._)(this,"_previousEngine",void 0),(0,i._)(this,"_nextEngine",void 0),(0,i._)(this,"_destroyView",void 0),(0,i._)(this,"_resources",new Map),(0,i._)(this,"_dataSourceDirtyVersions",new Map),(0,i._)(this,"emitter",new ea.v),(0,i._)(this,"_modelOperationScheduler",void 0),(0,i._)(this,"logger",void 0),(0,i._)(this,"flowSettings",void 0),(0,i._)(this,"reactView",void 0),(0,i._)(this,"executor",void 0),this.reactView=new ew(this),this.flowSettings=new eg(this),this.flowSettings.registerScopes({t:this.translate.bind(this)}),this.registerModels({FlowModel:V.WD}),this.registerResources({FlowResource:eS.l2,SQLResource:eS.BH,APIResource:eS.hR,SingleRecordResource:eS.sB,MultiRecordResource:eS.Rn}),this.logger=u()({level:eT(),browser:{write:{fatal:e=>console.trace(e),error:e=>console.error(e),warn:e=>console.warn(e),info:e=>console.info(e),debug:e=>console.debug(e),trace:e=>console.trace(e)}}}),this.executor=new x(this)}}function eN(e,t){return this._registerModel(e,t)}},57084(e,t,l){l.d(t,{Ps:()=>o.Ps,PZ:()=>o.PZ,m2:()=>o.m2,sz:()=>d.s,uF:()=>d.u,ke:()=>c.k,GC:()=>s,fh:()=>i,eP:()=>c.e,t_:()=>u});var n=l(96540),r=l(20616);function i(e,t,l){let i=(0,r.uf)();return(0,n.useMemo)(()=>{let n=i.getModel(e);return!n&&t&&(n=i.createModel({uid:e,use:t,stepParams:l})),n},[i,t,e,l])}var o=l(97019),a=l(66466);function s(e,t,l){let i=(0,r.uf)(),o=(0,n.useMemo)(()=>"string"==typeof e?i.getModel(e):e,[e,i]);null==o||o.useHooksBeforeRender();let{loading:s,error:d}=(0,a.A)(async()=>{o&&await o.dispatchEvent("beforeRender",t,{useCache:null==l?void 0:l.useCache})},{refreshDeps:[o,t,null==l?void 0:l.useCache]});if((null==l?void 0:l.throwOnError)!==!1&&d)throw d;return{loading:s,error:d}}var d=l(16296);let u=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=(0,n.useRef)(0);return(0,n.useEffect)(()=>{let e=e=>{let{clientY:l}=e;t.current=Math.max(l,window.innerHeight-l)};return window.addEventListener("mousemove",e),()=>{window.removeEventListener("mousemove",e)}},[]),(0,n.useMemo)(()=>t.current-40,e)};var c=l(23200)},97019(e,t,l){l.d(t,{PZ:()=>s,Ps:()=>a,m2:()=>d});var n=l(74848),r=l(96540),i=l(52568);let o=(0,r.createContext)(null),a=e=>{let{model:t,children:l}=e;if(!t)throw Error("FlowModelProvider must be supplied with a model.");return(0,n.jsx)(o.Provider,{value:t,children:(0,n.jsx)(i.Dv,{context:t.context,children:l})})};function s(){let e=(0,r.useContext)(o);if(!e)throw Error("useFlowModel must be used within a FlowModelProvider");return e}function d(){return s().context}},16296(e,t,l){l.d(t,{s:()=>s,u:()=>a});var n=l(74848),r=l(96540),i=l(52568);let o=(0,r.createContext)(null),a=e=>{let{value:t,children:l}=e;return(0,n.jsx)(i.Dv,{context:t,children:(0,n.jsx)(o.Provider,{value:t,children:l})})},s=()=>{let e=(0,r.useContext)(o);if(!e)throw Error("useFlowSettingsContext must be used within a FlowSettingsContextProvider");return e}},23200(e,t,l){l.d(t,{e:()=>i,k:()=>r});var n=l(96540);let r=n.createContext({path:"",params:{}}),i=()=>(0,n.useContext)(r)},11869(e,t,l){l.r(t),l.d(t,{action:()=>p.XI,resolveOverlayAnchorTransform:()=>eR,batch:()=>p.vA,loadMetaTreeChildren:()=>t5,FlowSettingsButton:()=>y,verticalFormItemLabelStyle:()=>ls.FC,FlowRunJSContext:()=>e0.uk,compileUiSchema:()=>r.ln,resolveModuleUrl:()=>r.i,RUNJS_OPEN_VIEW_ROUTE_STATE:()=>r.sU,FlowsContextMenu:()=>e5,encodeBase64Url:()=>r.DX,setDataNode:()=>p.Jv,collectContextParamsForTemplate:()=>r.ju,simulateLayoutForSlot:()=>eF,CollectionField:()=>nV.JL,isVariableValue:()=>t9,runjsWithSafeGlobals:()=>r._,createRecordMetaFactory:()=>r.pc,FlowRuntimeContext:()=>e0.W5,markRaw:()=>p.IG,useFlowModelById:()=>d.fh,DetachedFlowRegistry:()=>rl,FlowViewContextProvider:()=>g.YQ,contains:()=>p.gR,isCompleteCtxDatePath:()=>r.M5,useDialog:()=>n9.sp,DisplayItemModel:()=>u.jG,createEphemeralContext:()=>r.vq,TOOLBAR_DRAG_ACTIVITY_EVENT:()=>eC,isSupportObservable:()=>p.Rq,isFieldInterfaceMatch:()=>nV.Xk,FlowEngineGlobalsContextProvider:()=>c.f7,FlowExitException:()=>r.sy,inferRecordRef:()=>r.XU,preprocessRunJsTemplates:()=>r.mH,FlowForkModelContext:()=>e0.Hl,FlowCancelSaveException:()=>r.VD,jioToJoiSchema:()=>nV.Ns,getSlotKey:()=>G,EMPTY_COLUMN_UID:()=>ek,markObservable:()=>p.po,FlowStep:()=>re.z,FlowEngineContext:()=>e0.o0,transformItems:()=>nr,COLUMN_EDGE_MIN_WIDTH:()=>j,decodeOpenViewRouteState:()=>r.ye,observe:()=>p.lB,openStepSettingsDrawer:()=>lT,untracked:()=>p.O8,getPageActive:()=>p.SL,useFlowEngineContext:()=>c.Db,FlowExitAllException:()=>r.zz,createCurrentRecordMetaFactory:()=>r.UX,ModelRenderMode:()=>u.NK,createViewScopedEngine:()=>ri._,SingleRecordResource:()=>a.sB,openStepSettingsDialog:()=>e1.openStepSettingsDialog,DragHandler:()=>eT,useApplyAutoFlows:()=>d.GC,FieldDeletePlaceholder:()=>u.xI,useFlowViewer:()=>g.MQ,ErrorFlowModel:()=>u._f,Collection:()=>nV.pM,MENU_KEYS:()=>r.Fv,hasCollected:()=>p.KP,serializeFlowRegistry:()=>rn,replaceFlowRegistry:()=>rr,projectLayoutToLegacyRows:()=>eo,createSafeWindow:()=>r.ey,resolveStepUiSchema:()=>r.o7,createSafeDocument:()=>r.Xh,VariableTag:()=>nu,resolveRunJSObjectValues:()=>r.mP,DndProvider:()=>eD,FlowsFloatContextMenu:()=>tq,Tracker:()=>p.JD,FlowContextSelector:()=>la,observer:()=>p.PA,isObservable:()=>p.AT,FlowStepContext:()=>d.ke,normalizeRunJSValue:()=>r.J3,parseValueToPath:()=>t1,getT:()=>r.lW,extractUsedVariablePaths:()=>r.nN,registerRunJSContextContribution:()=>nQ.JF,ForkFlowModel:()=>u.yN,BLOCK_GROUP_CONFIGS:()=>r.WJ,BLOCK_TYPES:()=>r.kl,VIEW_ACTIVATED_VERSION:()=>n7.tb,FlowErrorFallbackModal:()=>eK,escapeT:()=>r.MI,prepareRunJsCode:()=>r.ji,useNiceDropdownMaxHeight:()=>d.t_,FlowModelRenderer:()=>tG,extractPropertyPath:()=>r.YB,createCollectionContextMeta:()=>r.H9,useFlowModel:()=>d.PZ,getRunJSDocFor:()=>nH,useDrawer:()=>n9.bt,parsePathnameToViewParams:()=>r.KB,buildWrapperFieldChildren:()=>l2.jx,largeField:()=>nq,isInheritedFrom:()=>r.FA,buildSubModelGroups:()=>l2.Qp,FieldModelRenderer:()=>tX,observable:()=>p.sH,registerRunJSSnippet:()=>n0,AddSubModelButton:()=>no,FlowViewContext:()=>g.PC,FlowDefinition:()=>re.G,serializeCtxDateValue:()=>r.hz,setupRunJSContexts:()=>nX.setupRunJSContexts,DataNode:()=>p.dw,buildRecordMeta:()=>r.$S,replaceUidInGridLayout:()=>ec,VIEW_ENGINE_SCOPE:()=>"view",FilterItem:()=>a.qi,buildDataTree:()=>p.H_,normalizeGridLayout:()=>eu,autorun:()=>p.fm,ENGINE_SCOPE_KEY:()=>n7.i6,buildItems:()=>l2.z5,clearAutoFlowError:()=>r.Z8,EMBED_REPLACING_DATA_KEY:()=>n9.xB,MobilePopup:()=>nL.D,defineFlow:()=>u.oY,DATA_SOURCE_DIRTY_EVENT:()=>n7.HK,isCtxDateExpression:()=>r.y4,usePage:()=>n9.N5,createDefaultConverters:()=>t7,createOpenViewRouteState:()=>r.cg,raw:()=>p.lS,FieldPlaceholder:()=>u.WE,tExpr:()=>r.MZ,VariableInput:()=>ng,BaseRecordResource:()=>a.vB,isAnnotation:()=>p.Ir,buildContextSelectorItems:()=>t3,MAX_SLOT_THICKNESS:()=>P,MemoFlowModelRenderer:()=>tY,CollectionFieldModel:()=>u.yW,createRecordResolveOnServerWithLocal:()=>r.xI,isVariableExpression:()=>r.n2,FlowContext:()=>e0.cB,GLOBAL_EMBED_CONTAINER_ID:()=>n9.mW,createFinalConverters:()=>le,useFlowViewContext:()=>g.Ww,getCollectionFieldInterface:()=>nV.U1,createAssociationSubpathResolver:()=>r.Hi,SQLResource:()=>a.BH,FlowModelProvider:()=>d.Ps,FormItem:()=>ls.eI,COLUMN_EDGE_MAX_WIDTH:()=>E,DataSourceManager:()=>nV.zA,getAutoFlowError:()=>r.yz,SlateVariableEditor:()=>n$,useFlowSettingsContext:()=>d.sz,ActionScene:()=>n,getEmitterViewActivatedVersion:()=>n7.FH,ViewNavigation:()=>n9.U,randomId:()=>r.zE,resolveDefaultParams:()=>r.gG,MIN_SLOT_THICKNESS:()=>C,resolveCreateModelOptions:()=>r.mv,resolveStepDisabledInSettings:()=>r.XM,model:()=>p.ge,DataChange:()=>p.r5,Droppable:()=>e_,FlowsDropdownButton:()=>lc,buildSubModelItem:()=>l2.Ls,useFlowContext:()=>g.$K,useFlowView:()=>g.Vy,resolveExpressions:()=>r.M,preloadContextSelectorPath:()=>t6,mergeSubModelItems:()=>l9,defineAction:()=>r.QP,FlowSQLRepository:()=>a.tP,VariableHybridInput:()=>nE,decodeBase64Url:()=>r.$X,shouldPreprocessRunJSTemplates:()=>nK.R,COLUMN_EDGE_WIDTH_RATIO:()=>R,FlowResource:()=>a.l2,LazyDropdown:()=>l1,FlowEngine:()=>s.$,DataSource:()=>nV.qS,FLOW_ENGINE_NAMESPACE:()=>r.u4,isSameGridLayout:()=>eA,parseCtxDateExpression:()=>r.X4,DEFAULT_GRID_COLUMNS:()=>k,registerRunJSLib:()=>o.T1,resolveCtxDatePath:()=>r.Vv,findModelUidLayoutPosition:()=>ep,resolveDropIntent:()=>Q,shouldHideEventInSettings:()=>r.qI,shouldHideStepInSettings:()=>r._3,MultiRecordResource:()=>a.Rn,isOpenViewRouteStateToken:()=>r.dN,usePopover:()=>n9.fP,ElementProxy:()=>nz.x,FlowModel:()=>u.WD,isCtxDatePathPrefix:()=>r.JE,openRequiredParamsStepFormDialog:()=>lO.openRequiredParamsStepFormDialog,FlowSettingsContextProvider:()=>d.uF,extractUsedVariableNames:()=>r.vP,InlineVariableTag:()=>nD,isBeforeRenderFlow:()=>r.EI,EditableItemModel:()=>u.B3,FlowSettings:()=>lx,getDataNode:()=>p.D,CollectionManager:()=>nV.qG,createRunJSDeprecationProxy:()=>e0.Bt,JSRunner:()=>nK.I,searchInLoadedNodes:()=>t4,useResolvedMetaTree:()=>lt,FlowErrorFallback:()=>ez,FlowEngineProvider:()=>c.I6,ResourceError:()=>a.BS,formatPathToVariable:()=>r.AP,createBlockScopedEngine:()=>ro,isCssFile:()=>r.yp,extractUsedVariablePathsFromRunJS:()=>r.$n,formatPathToValue:()=>t2,resolveUiMode:()=>r.ME,getRunJSScenesForModel:()=>nY,FlowsSettings:()=>lE,pruneFilter:()=>r.pM,setupRuntimeContextSteps:()=>r.wx,buildSubModelItems:()=>l2.yG,createJSRunnerWithVersion:()=>nG,findModelUidPosition:()=>S,define:()=>p.E8,buildLayoutSnapshot:()=>H,FlowModelContext:()=>e0.d6,getModelClassName:()=>nU.B,APIResource:()=>a.hR,FilterGroup:()=>a.I8,RunJSContextRegistry:()=>nU.F,useFlowEngine:()=>c.uf,VIEW_ACTIVATED_EVENT:()=>n7.B9,formItemStyle:()=>ls.jP,createAssociationAwareObjectMetaFactory:()=>r.af,createSafeRunJSGlobals:()=>r.I2,setAutoFlowError:()=>r.GZ,FilterableItemModel:()=>u.bt,compileRunJs:()=>i.W,encodeOpenViewRouteState:()=>r.Gu,filterLoadedContextSelectorItems:()=>t8,getRunJSScenesForContext:()=>nJ,getSnippetBody:()=>n3,useFlowModelContext:()=>d.m2,reaction:()=>p.mJ,FlowContextProvider:()=>g.Dv,isRunJSValue:()=>r.E2,useFlowStep:()=>d.eP,openStepSettings:()=>lN,FlowReactContext:()=>g.bc,createSafeNavigator:()=>r.D1,toJS:()=>p.HO,listSnippetsForContext:()=>n6});var n=function(e){return e[e.BLOCK_LINKAGE_RULES=1]="BLOCK_LINKAGE_RULES",e[e.FIELD_LINKAGE_RULES=2]="FIELD_LINKAGE_RULES",e[e.SUB_FORM_FIELD_LINKAGE_RULES=3]="SUB_FORM_FIELD_LINKAGE_RULES",e[e.DETAILS_FIELD_LINKAGE_RULES=4]="DETAILS_FIELD_LINKAGE_RULES",e[e.ACTION_LINKAGE_RULES=5]="ACTION_LINKAGE_RULES",e[e.DYNAMIC_EVENT_FLOW=6]="DYNAMIC_EVENT_FLOW",e[e.MENU_LINKAGE_RULES=7]="MENU_LINKAGE_RULES",e}({}),r=l(60182),i=l(49773),o=l(98192),a=l(27667),s=l(48910),d=l(57084),u=l(33954),c=l(20616),p=l(52847),h=l(74848),m=l(71021),f=l(96540),g=l(52568);function v(e){let t=(0,p.PA)(t=>(0,g.$K)().flowSettingsEnabled?(0,h.jsx)(e,{...t}):null);return t.displayName=`withFlowDesignMode(${e.displayName||e.name||"Component"})`,t}let y=v(e=>(0,h.jsx)(m.Ay,{...e,type:"dashed",style:{...e.style,borderColor:"var(--colorSettings)",color:"var(--colorSettings)",alignSelf:"flex-start"}}));y.displayName="FlowSettingsButton";var b=l(2805),x=l(98668),w=l(40961);let S=(e,t)=>{let l=null;for(let[n,r]of Object.entries(t))for(let t=0;t<r.length;t++){let i=r[t];for(let r=0;r<i.length;r++)i[r]===e&&(l={rowId:n,columnIndex:t,itemIndex:r})}return l};var M=l(27253),A=l(2543),F=l.n(A);let k=24,C=16,P=48,j=12,E=28,R=.2,I=.5,T=.33,_=(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},D=(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},N=e=>{let t=_(e.rows,e.rowOrder);return e.rowOrder=t,e.rows=D(e.rows,t),t},O=e=>({top:e.top,left:e.left,width:e.width,height:e.height}),$=e=>Math.max(C,Math.min(P,e)),B=e=>{let{top:t,left:l,width:n,height:r}=e;return{top:t,left:l,width:n,height:r}},L=(e,t,l)=>{let n=$(e.height*T);if("above"===t){let t=$(Math.max(n,e.top-l.top));return B({top:e.top-t,left:l.left,width:l.width,height:t})}let r=$(Math.max(n,l.top+l.height-(e.top+e.height)));return B({top:e.top+e.height,left:l.left,width:l.width,height:r})},V=(e,t)=>{let l=Math.min(Math.max(j,e.width*R),E);return B({top:e.top,left:"left"===t?e.left:e.left+e.width-l,width:l,height:e.height})},q=(e,t)=>{let l=$(e.height*I);return"before"===t?B({top:e.top,left:e.left,width:e.width,height:l}):B({top:e.top+e.height-l,left:e.left,width:e.width,height:l})},z=e=>{if(e)try{let t=JSON.parse(e);if(!Array.isArray(t))return;let l=t.map(e=>e&&"object"==typeof e&&"string"==typeof e.rowId?{rowId:e.rowId,..."string"==typeof e.cellId?{cellId:e.cellId}:{}}:null).filter(Boolean);return l.length?l:void 0}catch(e){return}},K=(e,t)=>[{rowId:e,cellId:`${e}:cell:${t}`}],U=e=>({top:e.top,left:e.left,width:e.width,height:Math.max(e.height,C)}),W=e=>Array.from(e.querySelectorAll("[data-grid-row-id]")).some(t=>t.closest("[data-grid-column-row-id][data-grid-column-index]")===e),H=e=>{let{container:t}=e;if(!t)return{slots:[],containerRect:{top:0,left:0,width:0,height:0}};let l=(t.hasAttribute("data-grid-root")?t:t.querySelector("[data-grid-root]"))||t,n=O(l.getBoundingClientRect()),r=[],i=Array.from(l.querySelectorAll("[data-grid-row-id]")),o=l.hasAttribute("data-grid-root"),a=i.filter(e=>{let t=e;if(o)return t.closest("[data-grid-root]")===l;let n=t.parentElement;for(;n&&n!==l;){if(n.hasAttribute("data-grid-row-id"))return!1;n=n.parentElement}return!0});if(0===a.length)return r.push({type:"empty-row",rect:B({top:n.top,left:n.left,width:n.width,height:Math.max(n.height,C)})}),{slots:r,containerRect:n};let s=e=>{let t=e.parentElement;return t&&l.contains(t)?t:l},d=new Map;return a.forEach(e=>{let t=s(e);d.set(t,[...d.get(t)||[],e])}),a.forEach(e=>{let t=e.dataset.gridRowId;if(!t)return;let n=O(e.getBoundingClientRect()),i=z(e.dataset.gridPath)||[{rowId:t}],o=s(e),a=O(o.getBoundingClientRect());(d.get(o)||[])[0]===e&&r.push({type:"row-gap",targetRowId:t,position:"above",rect:L(n,"above",a),path:i}),Array.from(l.querySelectorAll(`[data-grid-column-row-id="${t}"][data-grid-column-index]`)).filter(t=>t.closest("[data-grid-row-id]")===e).sort((e,t)=>Number(e.dataset.gridColumnIndex||0)-Number(t.dataset.gridColumnIndex||0)).forEach(e=>{let l=Number(e.dataset.gridColumnIndex||0),n=O(e.getBoundingClientRect()),i=z(e.dataset.gridPath)||K(t,l);r.push({type:"column-edge",rowId:t,columnIndex:l,direction:"left",rect:V(n,"left"),path:i}),r.push({type:"column-edge",rowId:t,columnIndex:l,direction:"right",rect:V(n,"right"),path:i});let o=Array.from(e.querySelectorAll(`[data-grid-item-row-id="${t}"][data-grid-column-index="${l}"]`)).filter(t=>t.closest("[data-grid-column-row-id][data-grid-column-index]")===e).sort((e,t)=>Number(e.dataset.gridItemIndex||0)-Number(t.dataset.gridItemIndex||0));if(0===o.length){if(W(e))return;r.push({type:"empty-column",rowId:t,columnIndex:l,rect:U(n),path:i});return}let a=O(o[0].getBoundingClientRect());r.push({type:"column",rowId:t,columnIndex:l,insertIndex:0,position:"before",rect:q(a,"before"),path:i}),o.forEach((e,n)=>{let o=O(e.getBoundingClientRect()),a=z(e.dataset.gridPath)||i,s=e.dataset.gridItemUid||"";r.push({type:"item-edge",rowId:t,columnIndex:l,itemIndex:n,itemUid:s,direction:"left",rect:V(o,"left"),path:a}),r.push({type:"item-edge",rowId:t,columnIndex:l,itemIndex:n,itemUid:s,direction:"right",rect:V(o,"right"),path:a}),r.push({type:"column",rowId:t,columnIndex:l,insertIndex:n+1,position:"after",rect:q(o,"after"),path:a})})}),r.push({type:"row-gap",targetRowId:t,position:"below",rect:L(n,"below",a),path:i})}),{slots:r,containerRect:n}},G=e=>{switch(e.type){case"column":return`${e.type}:${e.rowId}:${e.columnIndex}:${e.insertIndex}:${e.position}`;case"column-edge":return`${e.type}:${e.rowId}:${e.columnIndex}:${e.direction}`;case"row-gap":return`${e.type}:${e.targetRowId}:${e.position}`;case"empty-row":return`${e.type}`;case"empty-column":return`${e.type}:${e.rowId}:${e.columnIndex}`;case"item-edge":return`${e.type}:${e.rowId}:${e.columnIndex}:${e.itemUid}:${e.direction}`}},Y=(e,t)=>e.x>=t.left&&e.x<=t.left+t.width&&e.y>=t.top&&e.y<=t.top+t.height,J=(e,t)=>{let l=Math.max(t.left-e.x,0,e.x-(t.left+t.width)),n=Math.max(t.top-e.y,0,e.y-(t.top+t.height));return Math.sqrt(l*l+n*n)},X={"item-edge":5,"column-edge":4,column:3,"row-gap":2,"empty-column":1,"empty-row":0},Q=(e,t)=>{if(!t.length)return null;let l=null,n=-1/0;if(t.forEach(t=>{if(!Y(e,t.rect))return;let r=X[t.type];r>n&&(n=r,l=t)}),l)return l;let r=null,i=1/0;return t.forEach(t=>{let l=J(e,t.rect);(l<i||l===i&&r&&X[t.type]>X[r.type])&&(i=l,r=t)}),r},Z=(e,t)=>{for(let[l,n]of Object.entries(e))for(let e=0;e<n.length;e+=1){let r=n[e].indexOf(t);if(-1!==r)return{rowId:l,columnIndex:e,itemIndex:r}}return null},ee=(e,t)=>{let l=Z(e.rows,t);if(!l)return;let{rowId:n,columnIndex:r,itemIndex:i}=l,o=e.rows[n],a=null==o?void 0:o[r];if(a){if(a.splice(i,1),0===a.length&&(o.splice(r,1),e.sizes[n]&&e.sizes[n].splice(r,1)),0===o.length){delete e.rows[n],delete e.sizes[n],N(e);return}eh(n,e),N(e)}},et=(e,t)=>{if(0===t)return[];let l=Array.from({length:t},(t,l)=>{let n=e[l];return Number.isFinite(n)&&n>0?n:1}),n=l.reduce((e,t)=>e+t,0)||t,r=l.map(e=>e/n).map(e=>e*k),i=r.map(e=>Math.max(1,Math.floor(e))),o=k-i.reduce((e,t)=>e+t,0);if(o>0){let e=r.map((e,t)=>({index:t,decimal:e-Math.floor(e)})).sort((e,t)=>t.decimal-e.decimal),t=0;for(;o>0&&e.length;){let l=e[t%e.length].index;i[l]+=1,o-=1,t+=1}}else if(o<0){let e=r.map((e,t)=>({index:t,decimal:e-Math.floor(e)})).sort((e,t)=>e.decimal-t.decimal),t=0;for(;o<0&&e.length;){let l=e[t%e.length].index;i[l]>1&&(i[l]-=1,o+=1),t+=1}}let a=k-i.reduce((e,t)=>e+t,0);return 0!==a&&i.length&&(i[i.length-1]+=a),i},el="EMPTY_COLUMN",en=(e,t)=>({id:t,cells:[{id:`${t}:cell:0`,items:[e]}],sizes:[k]}),er=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;return{version:2,rows:_(e,l).map(l=>{let n=(e[l]||[]).map((e,t)=>({id:`${l}:cell:${t}`,items:[...e]}));return{id:l,cells:n,sizes:et(t[l]||Array(n.length).fill(1),n.length)}}).filter(e=>e.cells.length>0)}},ei=e=>Array.isArray(e.items)?e.items:(e.rows||[]).flatMap(e=>e.cells.flatMap(e=>ei(e))),eo=e=>{let t={},l={},n=[];return function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";e.forEach(e=>{let i=r?`${r}/${e.id}`:e.id,o=e.cells.map(e=>ei(e)).filter(e=>e.length>0);o.length>0&&(t[i]=o,l[i]=et(e.sizes||Array(o.length).fill(1),o.length),n.push(i))})}(e.rows||[]),{rows:t,sizes:l,rowOrder:n,layout:e}},ea=(e,t)=>(Array.isArray(e)?e:[]).map((e,l)=>{let n=Array.isArray(null==e?void 0:e.cells)?e.cells:[],r=Array.isArray(null==e?void 0:e.sizes)?e.sizes:[],i=n.map((n,i)=>{let o="string"==typeof(null==n?void 0:n.id)&&n.id?n.id:`${(null==e?void 0:e.id)||`row:${l}`}:cell:${i}`,a=r[i];if(Array.isArray(null==n?void 0:n.rows)&&n.rows.length>0){let e=ea(n.rows,t);if(e.length>0)return{cell:{id:o,rows:e},size:a}}let s=Array.isArray(null==n?void 0:n.items)?n.items:void 0,d=(s||[]).filter(e=>"string"==typeof e&&e).filter(e=>!t.validUids||t.validUids.has(e)||e===el).filter(e=>e===el||!t.seenUids.has(e)&&(t.seenUids.add(e),!0));return s&&(d.length>0||0===s.length)?{cell:{id:o,items:d},size:a}:null}).filter(Boolean),o=i.map(e=>e.cell);return 0===o.length?null:{id:"string"==typeof(null==e?void 0:e.id)&&e.id?e.id:`row:${l}`,cells:o,sizes:et(i.map(e=>e.size),o.length)}}).filter(Boolean),es=e=>{var t;if(null==(t=e.rows)?void 0:t.length){let t=ed(e.rows);return 0===t.length?null:1===t.length&&1===t[0].cells.length&&t[0].sizes[0]===k?{id:e.id,...F().omit(t[0].cells[0],["id"])}:{id:e.id,rows:t}}return Array.isArray(e.items)?{id:e.id,items:e.items.filter(Boolean)}:null},ed=e=>e.map(e=>{let t=e.cells.map((t,l)=>{var n;let r=es(t);return r?{cell:r,size:null==(n=e.sizes)?void 0:n[l]}:null}).filter(Boolean),l=t.map(e=>e.cell);return 0===l.length?null:{id:e.id,cells:l,sizes:et(t.map(e=>e.size),l.length)}}).filter(Boolean),eu=e=>{let{layout:t,rows:l,sizes:n,rowOrder:r,itemUids:i,generateId:o=M.uid,logger:a,gridUid:s}=e,d=i?new Set(i):void 0;d&&d.add(el);try{let e=(null==t?void 0:t.version)===2?F().cloneDeep(t):er(l||{},n||{},r||Object.keys(l||{})),a=new Set,s={version:2,rows:ed(ea(e.rows||[],{validUids:d,seenUids:a}))};return(null==i?void 0:i.length)&&i.forEach(e=>{if(e===el||a.has(e))return;let t=o();s.rows.push(en(e,t)),a.add(e)}),s}catch(e){var u;return null==a||null==(u=a.warn)||u.call(a,`[GridModel] Failed to normalize grid layout${s?` (${s})`:""}.`,e),{version:2,rows:(i||[]).filter(e=>e!==el).map(e=>en(e,o()))}}},ec=(e,t,l)=>{let n=e=>e.map(e=>({...e,cells:e.cells.map(e=>e.rows?{...e,rows:n(e.rows)}:{...e,items:(e.items||[]).map(e=>e===t?l:e)})}));return{version:2,rows:n(F().cloneDeep(e.rows||[]))}},ep=(e,t)=>{let l=(e,n)=>{for(let r=0;r<e.length;r+=1){let i=e[r];for(let e=0;e<i.cells.length;e+=1){let o=i.cells[e],a=[...n,{rowId:i.id,cellId:o.id}];if(o.items){let l=o.items.indexOf(t);if(-1!==l)return{path:a,rowIndex:r,cellIndex:e,itemIndex:l,itemUid:t}}if(o.rows){let e=l(o.rows,a);if(e)return e}}}return null};return l(e.rows||[],[])},eh=(e,t)=>{let l=t.rows[e];if(!l||0===l.length)return void delete t.sizes[e];let n=t.sizes[e]||Array(l.length).fill(k/l.length),r=n.length===l.length?n:Array(l.length).fill(k/l.length);t.sizes[e]=et(r,l.length)},em=(e,t,l,n,r)=>{let i=Object.entries(e),o={},a=!1;return i.forEach(e=>{let[i,s]=e;a||"before"!==n||i!==t||(o[l]=r,a=!0),o[i]=s,a||"after"!==n||i!==t||(o[l]=r,a=!0)}),a||(o[l]=r),o},ef=(e,t,l)=>{if(!e||0===e.length)return et(Array(l).fill(1),l);let n=e.map(e=>Number.isFinite(e)&&e>0?e:1),r=Math.max(0,Math.min(t,n.length-1)),i=n[r]??1,o=[...n];return o.splice(t,0,i),et(o,l)},eg=(e,t)=>{var l;return"path"in t&&(null==(l=t.path)?void 0:l.length)?t.path:"rowId"in t&&"columnIndex"in t?K(t.rowId,t.columnIndex):void 0},ev=(e,t)=>{if(!t||t.length<=1)return e.rows;let l=e.rows;for(let e=0;e<t.length-1;e+=1){let n=t[e],r=l.find(e=>e.id===n.rowId),i=null==r?void 0:r.cells.find(e=>e.id===n.cellId);if(!(null==i?void 0:i.rows))break;l=i.rows}return l},ey=(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],r=l.findIndex(e=>e.id===n.rowId),i=l[r];if(!i||!n.cellId)break;let o=i.cells.findIndex(e=>e.id===n.cellId),a=i.cells[o];if(!a)break;if(e===t.length-1)return{rows:l,row:i,cell:a,rowIndex:r,cellIndex:o};l=a.rows||[]}return null},eb=(e,t)=>{if(!(null==t?void 0:t.length))return null;for(let l=t.length;l>0;l-=1){let n=ey(e,t.slice(0,l));if(n)return n}return null},ex=(e,t)=>{let l=e=>e.map(e=>{let n=e.cells.map((n,r)=>{var i,o;if(n.rows){let t=l(n.rows);return t.length?{cell:{...n,rows:t},size:null==(o=e.sizes)?void 0:o[r]}:null}let a=n.items||[],s=a.includes(t),d=a.filter(e=>e!==t);return s&&!d.length?null:{cell:{...n,items:d},size:null==(i=e.sizes)?void 0:i[r]}}).filter(Boolean),r=n.map(e=>e.cell);return r.length?{...e,cells:r,sizes:et(n.map(e=>e.size),r.length)}:null}).filter(Boolean);e.rows=ed(l(e.rows))},ew=(e,t,l)=>({id:t,cells:[{id:l,items:[e]}],sizes:[k]}),eS=(e,t)=>{var l,n,r;let i=null==t||null==(l=t.generatedIds)?void 0:l.get(e);if(i)return i;let o=(null==t||null==(n=t.generateId)?void 0:n.call(t,e))||(0,M.uid)();return null==t||null==(r=t.generatedIds)||r.set(e,o),o},eM=e=>{let{slot:t,sourceUid:l,layout:n,generatedIds:r,generateId:i}=e,o=eu({layout:n.layout,rows:n.rows,sizes:n.sizes,rowOrder:n.rowOrder}),a=F().cloneDeep(o),s=G(t),d=ep(a,l);if("item-edge"===t.type&&t.itemUid===l)return a;let u=eg(a,t),c="item-edge"===t.type?t.itemUid:void 0;switch(ex(a,l),t.type){case"column":{var p;let e=eb(a,u);if(!e)break;if(e.cell.rows){e.cell.rows.push(en(l,eS(`${s}:row`,{generatedIds:r,generateId:i})));break}(p=e.cell).items||(p.items=[]);let n=Math.max(0,Math.min(t.insertIndex,e.cell.items.length));e.cell.items.splice(n,0,l);break}case"empty-column":{let e=eb(a,u);e&&(delete e.cell.rows,e.cell.items=[l]);break}case"column-edge":{let e=eb(a,u);if(!e)break;let n="left"===t.direction?e.cellIndex:e.cellIndex+1,o=eS(`${s}:cell`,{generatedIds:r,generateId:i});e.row.cells.splice(n,0,{id:o,items:[l]}),e.row.sizes=ef(e.row.sizes,n,e.row.cells.length);break}case"row-gap":{let e=ev(a,t.path),n=e.findIndex(e=>e.id===t.targetRowId),o=-1===n?e.length:"above"===t.position?n:n+1,d=eS(`${s}:row`,{generatedIds:r,generateId:i});e.splice(o,0,ew(l,d,`${d}:cell:0`));break}case"empty-row":{let e=eS(`${s}:row`,{generatedIds:r,generateId:i});a.rows.push(ew(l,e,`${e}:cell:0`));break}case"item-edge":{if(!c)break;let e=eb(a,u);if(!(null==e?void 0:e.cell.items))break;let n=e.cell.items.indexOf(c);if(-1===n)break;let o=[];e.cell.items.forEach((e,a)=>{if(a===n){let n=eS(`${s}:target-row`,{generatedIds:r,generateId:i}),a="left"===t.direction?l:e,d="left"===t.direction?e:l;o.push({id:n,cells:[{id:eS(`${s}:target-cell:0`,{generatedIds:r,generateId:i}),items:[a]},{id:eS(`${s}:target-cell:1`,{generatedIds:r,generateId:i}),items:[d]}],sizes:[12,12]});return}let d=eS(`${s}:row:${a}`,{generatedIds:r,generateId:i});o.push(ew(e,d,`${d}:cell:0`))}),delete e.cell.items,e.cell.rows=o}}let h=eu({layout:a});return d&&eA(h,o)?o:h},eA=(e,t)=>JSON.stringify(e)===JSON.stringify(t),eF=e=>{var t;let{slot:l,sourceUid:n,layout:r,generateRowId:i,generatedIds:o,generateId:a}=e;if(r.layout||"item-edge"===l.type||"path"in l&&(null==(t=l.path)?void 0:t.length))return eo(eM({slot:l,sourceUid:n,layout:r,generateRowId:i,generatedIds:o,generateId:a}));let s={rows:F().cloneDeep(r.rows),sizes:F().cloneDeep(r.sizes),rowOrder:r.rowOrder?[...r.rowOrder]:void 0};N(s),ee(s,n);let d=i??M.uid;switch(l.type){case"column":{let e=s.rows[l.rowId]||[];s.rows[l.rowId]||(s.rows[l.rowId]=e),e[l.columnIndex]||(e[l.columnIndex]=[]),e[l.columnIndex].splice(l.insertIndex,0,n),eh(l.rowId,s);break}case"empty-column":{let e=s.rows[l.rowId]||[];s.rows[l.rowId]||(s.rows[l.rowId]=e),e[l.columnIndex]||(e[l.columnIndex]=[]),e[l.columnIndex]=[n],eh(l.rowId,s);break}case"column-edge":{let e=s.rows[l.rowId]||[];s.rows[l.rowId]||(s.rows[l.rowId]=e);let t="left"===l.direction?l.columnIndex:l.columnIndex+1;e.splice(t,0,[n]),s.sizes[l.rowId]=ef(s.sizes[l.rowId],t,e.length),eh(l.rowId,s);break}case"row-gap":{let e=d(),t="above"===l.position?"before":"after",r=_(s.rows,s.rowOrder);s.rows=em(s.rows,l.targetRowId,e,t,[[n]]),s.sizes[e]=[k];let i=r.indexOf(l.targetRowId),o=-1===i?r.length:"before"===t?i:i+1,a=[...r];a.splice(o,0,e),s.rowOrder=a,s.rows=D(s.rows,a);break}case"empty-row":{let e=d();s.rows={...s.rows,[e]:[[n]]},s.sizes[e]=[k];let t=_(s.rows,s.rowOrder);s.rowOrder=[...t.filter(t=>t!==e),e],s.rows=D(s.rows,s.rowOrder)}}return N(s),s},ek="EMPTY_COLUMN",eC="nb-toolbar-drag-activity",eP="nb-toolbar-drag-anchor",ej=".ant-menu-submenu-popup",eE=e=>{var t;return(null==e||null==(t=e.closest(".nb-toolbar-container[data-model-uid]"))?void 0:t.getAttribute("data-model-uid"))||null},eR=e=>{let{activeId:t,active:l,transform:n,activeNodeRect:r,dragAnchorPoint:i}=e;return t&&(null==l?void 0:l.id)===t&&i&&r?{...n,x:n.x+i.x-r.left,y:n.y+i.y-r.top}:n},eI=e=>{let t=null==e?void 0:e.ownerDocument,l=null==e?void 0:e.closest(".nb-toolbar-container[data-model-uid]"),n=eE(e);if(!t||!n)return e;let r=Array.from(t.querySelectorAll(`[data-has-float-menu="true"][data-float-menu-model-uid="${n}"]`)),i=null==l?void 0:l.closest(ej);return i?r.find(e=>e.closest(ej)===i)||e:r.find(e=>!e.closest(ej))||r[0]||e},eT=e=>{let{model:t,children:l=(0,h.jsx)(b.A,{})}=e,{attributes:n,isDragging:r,listeners:i,setActivatorNodeRef:o,setNodeRef:a}=(0,x.useDraggable)({id:t.uid}),s=(0,f.useRef)(null),d=(0,f.useRef)(null),u=(0,f.useRef)(null),c=(0,f.useRef)(null),p=(0,f.useRef)(r),m=(0,f.useRef)(!1),g=(0,f.useRef)(!1),v=(0,f.useCallback)(e=>{let t=eI(e);d.current!==t&&(d.current=t,a(t))},[a]),y=(0,f.useCallback)(e=>{s.current=e,o(e),v(e)},[o,v]),w=(0,f.useCallback)(e=>{var l;let n=null==(l=s.current)?void 0:l.ownerDocument;if(!n)return;let r=eE(s.current)||c.current||t.uid;c.current=e?r:null,n.dispatchEvent(new CustomEvent(eC,{detail:{active:e,modelUid:r}}))},[t.uid]),S=(0,f.useCallback)(e=>{var l;let n=null==(l=s.current)?void 0:l.ownerDocument;n&&n.dispatchEvent(new CustomEvent(eP,{detail:{modelUid:t.uid,point:e.point}}))},[t.uid]),M=(0,f.useCallback)(()=>{var e;null==(e=u.current)||e.call(u),u.current=null},[]),A=(0,f.useCallback)(()=>{let e=m.current||p.current;e!==g.current&&(g.current=e,w(e))},[w]),F=(0,f.useCallback)(()=>{m.current=!1,M(),A()},[M,A]),k=(0,f.useCallback)(()=>{var e;let t=null==(e=s.current)?void 0:e.ownerDocument,l=null==t?void 0:t.defaultView;if(!t)return;M();let n=()=>{F()},r=e=>{"Escape"===e.key&&F()};t.addEventListener("pointerup",n,!0),t.addEventListener("pointercancel",n,!0),t.addEventListener("keydown",r,!0),null==l||l.addEventListener("blur",n),u.current=()=>{t.removeEventListener("pointerup",n,!0),t.removeEventListener("pointercancel",n,!0),t.removeEventListener("keydown",r,!0),null==l||l.removeEventListener("blur",n)}},[M,F]);return(0,f.useEffect)(()=>{v(s.current)},[v]),(0,f.useEffect)(()=>{p.current=r,A()},[r,A]),(0,f.useEffect)(()=>()=>{g.current&&w(!1),m.current=!1,p.current=!1,g.current=!1,M()},[M,w]),(0,h.jsx)("span",{ref:y,...i,...n,onPointerDownCapture:e=>{0===e.button&&(S({point:{x:e.clientX,y:e.clientY}}),m.current=!0,A(),k())},style:{cursor:"grab"},children:l})},e_=e=>{let{model:t,children:l}=e,{setNodeRef:n,isOver:r,active:i}=(0,x.useDroppable)({id:t.uid}),o=(null==i?void 0:i.id)===t.uid;return(0,h.jsxs)("div",{ref:n,style:{position:"relative",opacity:o?.3:1,outline:o?"2px solid var(--colorBorderSettingsHover)":"none",borderRadius:o?t.context.themeToken.borderRadiusLG:"none"},children:[l,(0,h.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:r?"var(--colorBgSettingsHover)":"transparent",pointerEvents:"none"}})]})},eD=e=>{let{persist:t=!0,showDragOverlay:l=!0,children:n,onDragStart:r,onDragEnd:i,onDragCancel:o,...a}=e,[s,d]=(0,f.useState)(null),[u,p]=(0,f.useState)(null),m=(0,c.uf)();(0,f.useEffect)(()=>{if("u"<typeof document)return;let e=e=>{var t;p((null==(t=e.detail)?void 0:t.point)||null)};return document.addEventListener(eP,e),()=>{document.removeEventListener(eP,e)}},[]);let g=(0,f.useCallback)(e=>{let{active:t,activeNodeRect:l,transform:n}=e;return eR({activeId:s,active:t,transform:n,activeNodeRect:l,dragAnchorPoint:u})},[s,u]);return(0,h.jsxs)(x.DndContext,{...a,onDragStart:e=>{d(e.active.id),null==r||r(e)},onDragEnd:e=>{d(null),p(null),i?i(e):e.over&&m.moveModel(e.active.id,e.over.id,{persist:t})},onDragCancel:e=>{d(null),p(null),null==o||o(e)},...a,children:[n,l&&"u">typeof document?(0,w.createPortal)((0,h.jsx)(x.DragOverlay,{dropAnimation:null,modifiers:[g],zIndex:2e3,style:{pointerEvents:"none"},children:s&&(0,h.jsx)("span",{"data-testid":"flow-drag-preview",style:{display:"inline-flex",alignItems:"center",whiteSpace:"nowrap",background:"#fff",border:"1px solid #1890ff",borderRadius:4,padding:"4px 12px",color:"#1890ff",pointerEvents:"none",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},children:m.translate("Dragging")})}),document.body):null]})};var eN=l(47665),eO=l(84359),e$=l(92275),eB=l(97019);let{Paragraph:eL,Text:eV}=eO.A,eq=e=>{var t;let{error:l,resetErrorBoundary:n}=e,[i,o]=(0,f.useState)(!1),a=(0,eB.PZ)(),s=(0,r.lW)(a),d=async()=>{o(!0);try{let e={message:l.message,stack:l.stack,modelInfo:a?{uid:a.uid,className:a.constructor.name,props:a.props,stepParams:a.stepParams}:null,timestamp:new Date().toISOString()};await navigator.clipboard.writeText(JSON.stringify(e,null,2)),console.log("Error information copied to clipboard")}catch(e){console.error("Failed to copy error information:",e)}o(!1)},u=null==a||null==(t=a.context)?void 0:t.api,c=async()=>{if(!u)return void console.error("API client not available");o(!0);try{let e=a.context.api,t={pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,href:window.location.href},n=await e.request({url:"logger:collect",method:"post",responseType:"blob",data:{error:{message:l.message,stack:l.stack},location:t,modelInfo:a?{uid:a.uid,className:a.constructor.name,props:a.props,stepParams:a.stepParams}:null}}),r=window.URL.createObjectURL(new Blob([n.data],{type:"application/gzip"})),i=document.createElement("a");i.setAttribute("href",r),i.setAttribute("download","logs.tar.gz"),i.click(),i.remove(),window.URL.revokeObjectURL(r)}catch(e){console.error("Failed to download logs:",e)}o(!1)},p=(0,h.jsxs)("span",{children:[s("This is likely a NocoBase internals bug. Please open an issue at")," ",(0,h.jsx)("a",{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",rel:"noopener noreferrer",children:s("here")}),a&&(0,h.jsxs)("div",{style:{marginTop:"8px",fontSize:"12px",color:"#999"},children:["Model: ",a.constructor.name," (uid: ",a.uid,")"]})]});return(0,h.jsx)("div",{style:{backgroundColor:"white"},children:(0,h.jsx)(e$.Ay,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:s("Render failed"),subTitle:p,extra:[(0,h.jsx)(m.Ay,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:s("Feedback")},"feedback"),u&&(0,h.jsx)(m.Ay,{loading:i,onClick:c,children:s("Download logs")},"log"),(0,h.jsx)(m.Ay,{loading:i,onClick:d,children:s("Copy error info")},"copy"),n&&(0,h.jsx)(m.Ay,{danger:!0,onClick:n,children:s("Try again")},"retry")].filter(Boolean),children:(0,h.jsx)(eL,{copyable:{text:l.stack},children:(0,h.jsx)(eV,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:l.stack})})})})},ez=e=>{let{error:t,resetErrorBoundary:l}=e,[n,r]=(0,f.useState)(!1);try{return(0,h.jsx)(eq,{error:t,resetErrorBoundary:l})}catch{let e=async()=>{r(!0);try{let e={message:t.message,stack:t.stack,timestamp:new Date().toISOString()};await navigator.clipboard.writeText(JSON.stringify(e,null,2)),console.log("Error information copied to clipboard")}catch(e){console.error("Failed to copy error information:",e)}r(!1)},i=(0,h.jsxs)("span",{children:["This is likely a NocoBase internals bug. Please open an issue at ",(0,h.jsx)("a",{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",rel:"noopener noreferrer",children:"here"})]});return(0,h.jsx)("div",{style:{backgroundColor:"white"},children:(0,h.jsx)(e$.Ay,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:"Render failed",subTitle:i,extra:[(0,h.jsx)(m.Ay,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:"Feedback"},"feedback"),(0,h.jsx)(m.Ay,{loading:n,onClick:e,children:"Copy error info"},"copy"),l&&(0,h.jsx)(m.Ay,{danger:!0,onClick:l,children:"Try again"},"retry")].filter(Boolean),children:(0,h.jsx)(eL,{copyable:{text:t.stack},children:(0,h.jsx)(eV,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:t.stack})})})})}},eK=e=>{let{error:t,resetErrorBoundary:l,children:n}=e,[r,i]=(0,f.useState)(!1),o=(0,h.jsx)(eL,{style:{display:"flex",marginBottom:0},copyable:{text:t.message},children:(0,h.jsxs)(eV,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",t.message]})});return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)("div",{onMouseOver:()=>i(!0),children:n||o}),r&&(0,h.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},onClick:()=>i(!1),children:(0,h.jsxs)("div",{style:{backgroundColor:"#fff",borderRadius:"8px",padding:"24px",maxWidth:"60vw",maxHeight:"80vh",overflow:"auto",position:"relative"},onClick:e=>e.stopPropagation(),children:[(0,h.jsx)("button",{style:{position:"absolute",top:"8px",right:"12px",background:"none",border:"none",fontSize:"18px",cursor:"pointer",color:"#999"},onClick:()=>i(!1),children:"\xd7"}),(0,h.jsx)(ez,{error:t,resetErrorBoundary:l})]})})]})};ez.Modal=eK;var eU=l(92034),eW=l(49655),eH=l(53619),eG=l(53138),eY=l(35710),eJ=l(18182),eX=l(40919),eQ=l(42443),eZ=l(76511),e0=l(29007),e1=l(23183);let e2=e=>"uid"in e&&"modelClassName"in e&&!!e.uid&&!!e.modelClassName,e5=e=>e2(e)?(0,h.jsx)(e8,{...e}):(0,h.jsx)(e4,{...e}),e4=(0,p.PA)(e=>{let{model:t,children:l,enabled:n=!0,position:i="right",showDeleteButton:o=!0}=e,a=(0,r.lW)(t),{token:s}=eY.A.useToken(),d=(null==s?void 0:s.colorTextTertiary)||(null==s?void 0:s.colorTextDescription)||(null==s?void 0:s.colorTextSecondary),[u,c]=(0,f.useState)([]),p=(0,f.useCallback)(e=>{let[t,l]=e.split(":");return!!t&&!!l&&u.some(e=>{let{flow:n,steps:r}=e;return n.key===t&&r.some(e=>e.stepKey===l&&!!e.disabled)})},[u]),m=(0,f.useCallback)(e=>{let{key:l}=e;if("delete"===l)eJ.A.confirm({title:a("Confirm delete"),icon:(0,h.jsx)(eU.A,{}),content:a("Are you sure you want to delete this item? This action cannot be undone."),okText:a("Confirm Delete"),okType:"danger",cancelText:a("Cancel"),zIndex:999999,onOk(){try{t.dispatchEvent("remove")}catch(e){console.error(a("Delete operation failed"),":",e),eJ.A.error({title:a("Delete failed"),content:a("Delete operation failed, please check the console for details.")})}}});else{if(p(l))return;let[e,i]=l.split(":");try{var n;let l=t.getFlow(e),o=null==l||null==(n=l.steps)?void 0:n[i];if(!l||!o)return void console.error(`Flow ${e} or step ${i} not found`);let a=new e0.W5(t,e,"settings");(0,r.wx)(a,l.steps,t,e),a.defineProperty("currentStep",{value:o}),(0,e1.openStepSettingsDialog)({model:t,flowKey:e,stepKey:i,ctx:a})}catch(e){console.log("配置弹窗已取消或出错:",e)}}},[p,t]);if(!t)return(0,h.jsx)(eX.A,{message:"提供的模型无效",type:"error"});if(!n||!l)return(0,h.jsx)(h.Fragment,{children:l});let g=(0,f.useCallback)(async()=>{try{let e=t.getFlows(),l=Array.from(e.values());return(await Promise.all(l.map(async e=>{let l=await Promise.all(Object.entries(e.steps).map(async l=>{let[n,i]=l,o=i;if(await (0,r._3)(t,e,o))return null;let a=await (0,r.XM)(t,e,o),s=o.uiSchema||{},d={};if(o.use){var u;let e=null==(u=t.getAction)?void 0:u.call(t,o.use);e&&e.uiSchema&&(d=e.uiSchema)}let c={...d};return(Object.entries(s).forEach(e=>{let[t,l]=e;c[t]?c[t]={...c[t],...l}:c[t]=l}),0===Object.keys(c).length)?null:{stepKey:n,step:o,uiSchema:c,title:o.title||n,disabled:a.disabled,disabledReason:a.reason}})).then(e=>e.filter(Boolean));return l.length>0?{flow:e,steps:l}:null}))).filter(Boolean)}catch(e){return console.warn("[FlowsContextMenu] 获取可配置flows失败:",e),[]}},[t]);if((0,f.useEffect)(()=>{let e=!0;return(async()=>{let t=await g();e&&c(t)})(),()=>{e=!1}},[g]),0===u.length&&!o)return(0,h.jsx)(h.Fragment,{children:l});let v=[];return u.length>0&&u.forEach(e=>{let{flow:t,steps:l}=e;v.push({key:`flow-group-${t.key}`,label:t.title||t.key,type:"group"}),l.forEach(e=>{v.push({key:`${t.key}:${e.stepKey}`,icon:(0,h.jsx)(eW.A,{}),label:e.disabled?(0,h.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[e.title,(0,h.jsx)(eQ.A,{title:e.disabledReason,placement:"right",destroyTooltipOnHide:!0,children:(0,h.jsx)(eH.A,{style:{color:d}})})]}):e.title,disabled:!!e.disabled})})}),o&&(u.length>0&&v.push({type:"divider"}),v.push({key:"delete",icon:(0,h.jsx)(eG.A,{}),label:"删除"})),(0,h.jsx)(h.Fragment,{children:(0,h.jsx)(eZ.A,{menu:{items:v,onClick:m},trigger:["contextMenu"],placement:"left"===i?"bottomLeft":"bottomRight",children:(0,h.jsx)("div",{style:{display:"inline-block",width:"100%"},children:l})})})}),e8=(0,p.PA)(e=>{let{uid:t,modelClassName:l,children:n,enabled:r=!0,position:i="right",showDeleteButton:o=!0}=e,a=(0,d.fh)(t,l);return a?(0,h.jsx)(e4,{model:a,enabled:r,position:i,showDeleteButton:o,children:n}):(0,h.jsx)(eX.A,{message:`未找到ID为 ${t} 的模型`,type:"error"})});var e3=l(84626),e6=l(22803),e9=l(68645);let e7="#nocobase-app-container",te=".ant-menu-submenu-popup",tt=".ant-drawer-content-wrapper",tl=".ant-drawer-content",tn=".ant-drawer-root",tr=".ant-modal",ti=".ant-modal-wrap",to=".ant-modal-root",ta={top:0,left:0,width:0,height:0},ts=(e,t)=>null==e?void 0:e.closest(t),td=e=>({mountElement:e,positioningElement:e,positioningMode:"absolute"}),tu=[e=>ts(e,te),e=>ts(e,tt),e=>ts(e,ti),e=>ts(e,tr),e=>{let t=ts(e,tl);return t?ts(t,tt)||t:null},e=>ts(e,tn),e=>ts(e,to)],tc=e=>{for(let t of tu){let l=t(e);if(l)return td(l)}return null},tp=e=>{if("u"<typeof document)return null;let t=tc(e);if(t)return t;let l=document.querySelector(e7);return l?td(l):{mountElement:document.body,positioningElement:document.body,positioningMode:"fixed"}},th=e=>{if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=e.trim();if(/^-?\d+(\.\d+)?(px)?$/.test(t))return Number.parseFloat(t)}return 0},tm=e=>({top:th(null==e?void 0:e.top),left:th(null==e?void 0:e.left),right:th(null==e?void 0:e.right),bottom:th(null==e?void 0:e.bottom)}),tf=(e,t)=>{if(!t||"absolute"!==t.positioningMode)return(null==t?void 0:t.positioningElement)||null;let l=null==e?void 0:e.offsetParent;return l instanceof HTMLElement&&l!==document.body&&l!==document.documentElement?l:t.positioningElement},tg=(e,t,l,n)=>{let r;if(!e)return ta;let i=tm(l),o=e.getBoundingClientRect();if(t&&"fixed"!==t.positioningMode){let e=tf(n||null,t),l=(null==e?void 0:e.getBoundingClientRect())||t.positioningElement.getBoundingClientRect(),i=(null==e?void 0:e.scrollTop)??t.positioningElement.scrollTop,a=(null==e?void 0:e.scrollLeft)??t.positioningElement.scrollLeft;r={top:o.top-l.top+i,left:o.left-l.left+a,width:o.width,height:o.height}}else r={top:o.top,left:o.left,width:o.width,height:o.height};return{top:r.top+i.top,left:r.left+i.left,width:Math.max(0,r.width-i.left-i.right),height:Math.max(0,r.height-i.top-i.bottom)}},tv=e=>{if(!e)return;let t={...e};return delete t.top,delete t.left,delete t.right,delete t.bottom,t},ty=e=>{let{active:t,containerRef:l,toolbarContainerRef:n,toolbarStyle:r}=e,[i,o]=(0,f.useState)(ta),[a,s]=(0,f.useState)(null),d=(0,f.useRef)(null),u=(0,f.useRef)(null),c=(0,f.useCallback)(()=>{let e=l.current;if(!e)return;let t=tp(e);d.current=t,s(e=>t?(null==e?void 0:e.mountElement)===t.mountElement&&(null==e?void 0:e.positioningMode)===t.positioningMode?e:{mountElement:t.mountElement,positioningMode:t.positioningMode}:null===e?e:null);let i=tg(e,t,r,n.current);o(e=>e.top===i.top&&e.left===i.left&&e.width===i.width&&e.height===i.height?e:i)},[l,n,r]),p=(0,f.useCallback)(()=>{null===u.current&&(u.current=window.requestAnimationFrame(()=>{u.current=null,c()}))},[c]),h=(0,f.useCallback)(e=>{var t,n,r,i,o;let a=(null==e||null==(t=e.ownerDocument)?void 0:t.body)||(null==(r=l.current)||null==(n=r.ownerDocument)?void 0:n.body)||("u">typeof document?document.body:null);return(null==(i=d.current)?void 0:i.mountElement)||(null==(o=tp(e||l.current))?void 0:o.mountElement)||a},[l]);return(0,f.useEffect)(()=>{var e,n;if(!t)return;c();let r=()=>{p()},i=l.current,o=null==(e=d.current)?void 0:e.mountElement,a=null==(n=d.current)?void 0:n.positioningElement,s="u">typeof ResizeObserver&&i?new ResizeObserver(()=>{p()}):null;return i&&(null==s||s.observe(i)),o&&o!==i&&(null==s||s.observe(o)),a&&a!==i&&a!==o&&(null==s||s.observe(a)),window.addEventListener("resize",r),window.addEventListener("scroll",r,!0),()=>{null==s||s.disconnect(),window.removeEventListener("resize",r),window.removeEventListener("scroll",r,!0)}},[t,l,p,c]),(0,f.useEffect)(()=>()=>{null!==u.current&&window.cancelAnimationFrame(u.current),d.current=null},[]),{portalRect:i,portalRenderSnapshot:a,getPopupContainer:h,updatePortalRect:c,schedulePortalRectUpdate:p}},tb=180,tx="nb-float-menu-child-activity",tw=(e,t)=>e instanceof Node&&!!(null==t?void 0:t.contains(e)),tS=e=>{var t;return e instanceof Element&&(null==(t=e.closest(".nb-toolbar-container[data-model-uid]"))?void 0:t.getAttribute("data-model-uid"))||null},tM=e=>e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\a ").replace(/\r/g,"\\d ").replace(/\f/g,"\\c "),tA=(e,t)=>!!e&&!!e.querySelector(`.nb-toolbar-container[data-model-uid="${tM(t)}"]`),tF=(e,t,l)=>{let n=tS(e);return!!t&&!!n&&n!==l&&Array.from(t.querySelectorAll('[data-has-float-menu="true"][data-float-menu-model-uid]')).some(e=>e!==t&&e.getAttribute("data-float-menu-model-uid")===n)},tk=e=>{let{modelUid:t,containerRef:l,toolbarContainerRef:n,updatePortalRect:r,schedulePortalRectUpdate:i}=e,[o,a]=(0,f.useState)(!1),[s,d]=(0,f.useState)(!1),[u,c]=(0,f.useState)(!1),[p,h]=(0,f.useState)(!1),[m,g]=(0,f.useState)(!1),[v,y]=(0,f.useState)(!1),[b,x]=(0,f.useState)(!1),[w,S]=(0,f.useState)([]),M=(0,f.useRef)(null),A=(0,f.useRef)(!1),F=(0,f.useRef)(!1),k=(0,f.useRef)(!1),C=(0,f.useRef)(!1),P=(0,f.useRef)(!1),j=(0,f.useRef)(!1),E=(0,f.useCallback)(e=>{F.current=e,d(e)},[]),R=(0,f.useCallback)(e=>{k.current=e,c(e)},[]),I=(0,f.useCallback)(e=>{C.current=e,h(e)},[]),T=(0,f.useCallback)(e=>{P.current=e,g(e)},[]),_=(0,f.useCallback)(e=>{j.current=e,y(e)},[]),D=w.length>0,N=!o&&!D&&(s||u||p||m||v),O=N||v||p||m,$=s||u||p||m||v||b,B=(0,f.useCallback)(()=>{null!==M.current&&(window.clearTimeout(M.current),M.current=null),x(!1)},[]),L=(0,f.useCallback)(()=>{B(),x(!0),M.current=window.setTimeout(()=>{M.current=null,x(!1),C.current||P.current||j.current||(E(!1),R(!1))},tb)},[B,E,R]),V=(0,f.useCallback)(e=>{_(e)},[_]);(0,f.useEffect)(()=>{let e=l.current;if(!e)return;let t=t=>{var l;let n=t;if(!(n.target instanceof HTMLElement)||n.target===e)return;let r=null==(l=n.detail)?void 0:l.modelUid;r&&S(e=>{var t;return(null==(t=n.detail)?void 0:t.active)?e.includes(r)?e:[...e,r]:e.filter(e=>e!==r)})};return e.addEventListener(tx,t),()=>{e.removeEventListener(tx,t)}},[l]),(0,f.useEffect)(()=>{let e=l.current,n=null==e?void 0:e.ownerDocument;if(!n)return;let r=e=>{var l,n;let r=e;if((null==(l=r.detail)?void 0:l.modelUid)===t){if(null==(n=r.detail)?void 0:n.active){B(),T(!0);return}if(T(!1),F.current||k.current||j.current)return void B();L()}};return n.addEventListener(eC,r),()=>{n.removeEventListener(eC,r)}},[B,l,t,L,T]),(0,f.useEffect)(()=>{let e=l.current;e&&A.current!==$&&(A.current=$,e.dispatchEvent(new CustomEvent(tx,{bubbles:!0,detail:{active:$,modelUid:t}})))},[l,$,t]),(0,f.useEffect)(()=>{let e=l.current;return()=>{e&&A.current&&(e.dispatchEvent(new CustomEvent(tx,{bubbles:!0,detail:{active:!1,modelUid:t}})),A.current=!1),B()}},[B,l,t]),(0,f.useEffect)(()=>{v&&(B(),r())},[B,v,r]);let q=(0,f.useCallback)(e=>{let t=e.target.closest("[data-has-float-menu]");t&&t!==l.current||(B(),S(e=>{var t;if(!e.length)return e;let n=(null==(t=l.current)?void 0:t.ownerDocument)??null,r=e.filter(e=>tA(n,e));return r.length===e.length?e:r}),E(!0)),a(!!t&&t!==l.current)},[B,l,E]),z=(0,f.useCallback)(()=>{B(),a(!1),r(),E(!0)},[B,E,r]),K=(0,f.useCallback)(e=>{if(j.current)return void E(!1);if(tw(e.relatedTarget,n.current)){B(),E(!1),R(!0);return}if(tF(e.relatedTarget,l.current,t)){B(),a(!1),E(!0);return}L()},[B,l,t,L,E,R,n]),U=(0,f.useCallback)(()=>{B(),r(),E(!1),R(!0)},[B,E,R,r]),W=(0,f.useCallback)(e=>{if(j.current||P.current){B(),R(!1);return}if(R(!1),tw(e.relatedTarget,l.current)){B(),E(!0);return}L()},[B,l,L,E,R]);return{isToolbarVisible:N,shouldRenderToolbar:O,handleSettingsMenuOpenChange:V,handleChildHover:q,handleHostMouseEnter:z,handleHostMouseLeave:K,handleToolbarMouseEnter:U,handleToolbarMouseLeave:W,handleResizeDragStart:(0,f.useCallback)(()=>{r(),I(!0),i()},[i,I,r]),handleResizeDragEnd:(0,f.useCallback)(()=>{I(!1),i()},[i,I])}},tC=19,tP=1e3,tj=e=>{if(!e)return"";let t=(null==e?void 0:e.isFork)?null==e?void 0:e.forkId:void 0;return null==t||""===t?String(e.uid||""):`${String(e.uid||"")}::${String(t)}`},tE=(0,e6.css)`
1363
+ `,en=e=>e?e.closest(ee)||e.closest(et):null,er=e=>{let{onClick:t,children:l,...n}=e;return{...n,children:(null==l?void 0:l.length)?l.map(er):void 0}},ei=e=>{let{model:t,showDeleteButton:l=!0,showCopyUidButton:n=!0,menuLevels:r=1,flattenSubMenus:i=!0,onDropdownVisibleChange:o,getPopupContainer:a}=e,{message:s}=O.A.useApp(),d=(0,E.useMemo)(()=>(0,g.lW)(t),[t]),{token:u}=$.A.useToken(),c=(null==u?void 0:u.colorTextTertiary)||(null==u?void 0:u.colorTextDescription)||(null==u?void 0:u.colorTextSecondary),[p,h]=(0,E.useState)(!1),[m,f]=(0,E.useState)(0),[v,y]=(0,E.useState)([]),[b,x]=(0,E.useState)(!1),[w,S]=(0,E.useState)([]),[M,A]=(0,E.useState)(!0),F=(0,E.useMemo)(()=>v.filter(e=>"common-actions"===e.group).sort((e,t)=>(e.sort??0)-(t.sort??0)),[v]),k=n||l||F.length>0,C=i&&r>1&&k,P=i&&r>1&&!n&&!l&&!b,j=k||!M&&w.length>0,D=(0,E.useCallback)(()=>{h(!1),null==o||o(!1)},[o]),V=(0,E.useCallback)(e=>en(e)||(null==a?void 0:a(e))||(null==e?void 0:e.parentElement)||document.body,[a]),z=(0,E.useCallback)((e,t)=>{("trigger"===t.source||e)&&((0,E.startTransition)(()=>{h(e)}),null==o||o(e))},[o]);(0,E.useEffect)(()=>()=>{null==o||o(!1)},[o]);let K=(0,q.t_)([p]);(0,E.useEffect)(()=>{let e=!0;return(async()=>{x(!1);try{let n=[],i=[];for(let{model:e,modelKey:o}of(J(t,{maxDepth:r,arrayLimit:50,mode:"stack"},(e,t)=>{let{modelKey:l}=t;i.push({model:e,modelKey:l})}),i)){var l;let t=e.constructor,r=await (null==(l=t.getExtraMenuItems)?void 0:l.call(t,e,d));(null==r?void 0:r.length)&&n.push(...r.map(e=>({...e,key:o?`${o}:${e.key}`:e.key})))}if(!e)return;let o=new Set,a=n.filter(e=>!o.has(`${e.key}`)&&(o.add(`${e.key}`),!0));y(a)}catch(t){console.error("Failed to load extra menu items:",t),e&&y([])}finally{e&&x(!0)}})(),()=>{e=!1}},[t,r,d,m]);let U=(0,E.useCallback)(async e=>{try{await navigator.clipboard.writeText(e),s.success(d("UID copied to clipboard"))}catch(l){var t;if(console.error(d("Copy failed"),":",l),!("u">typeof window&&(null==(t=window.location)?void 0:t.protocol)==="https:"))return void s.error(d("Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.",{uid:e}));s.error(d("Copy failed, please copy [{{uid}}] manually.",{uid:e}))}},[s,d]),W=(0,E.useCallback)(async()=>{U(t.uid)},[t.uid,U]),H=(0,E.useCallback)(e=>{try{let l=e.replace(/^copy-pop-uid:/,"").split(":"),n=t;if(3===l.length){let[e]=l;n=X(t,e)||t}else if(2!==l.length)return void console.error("Invalid copy-pop-uid key format:",e);U(n.uid)}catch(e){console.error("handleCopyPopupUid error:",e)}},[t,U]),G=(0,E.useCallback)(()=>{D(),B.A.confirm({title:d("Confirm delete"),icon:(0,R.jsx)(T.A,{}),content:d("Are you sure you want to delete this item? This action cannot be undone."),okText:d("Confirm"),okType:"primary",cancelText:d("Cancel"),zIndex:999999,async onOk(){try{await t.destroy()}catch(e){console.error(d("Delete operation failed"),":",e),B.A.error({title:d("Delete failed"),content:d("Delete operation failed, please check the console for details.")})}}})},[D,t,d]),Q=(0,E.useCallback)(e=>{let l,n,r=e.split(":");if(r.length<2||r.length>3)return void console.error("Invalid configuration key format:",e);let i=t;if(3===r.length){let[e,o,a]=r;l=o,n=a;let s=X(t,e);if(!s)return void console.error(`Sub-model '${e}' not found`);i=s}else[l,n]=r;try{D(),i.openFlowSettings({flowKey:l,stepKey:n})}catch(e){console.log(d("Configuration popup cancelled or error"),":",e)}},[D,t,d]),ee=(0,E.useCallback)(e=>{let t,l,n,r=(e.includes("-")&&/^(.+)-\d+$/.test(e)?e.replace(/-\d+$/,""):e).split(":");if(3===r.length)[t,l,n]=r;else{if(2!==r.length)return!1;[l,n]=r}return w.some(e=>{let{flow:r,steps:i,modelKey:o}=e;return(o||void 0)===t&&r.key===l&&i.some(e=>e.stepKey===n&&!!e.disabled)})},[w]),et=(0,E.useCallback)(e=>{let{key:t}=e,l=t,n=t.includes("-")&&/^(.+)-\d+$/.test(t)?t.replace(/-\d+$/,""):t;if(n.startsWith("copy-pop-uid:")){D(),H(n);return}let r=Y(v,l)||Y(v,n);if(null==r||!r.disabled){if(null==r?void 0:r.onClick){D(),r.onClick();return}if(!ee(n))switch(n){case"copy-uid":D(),W();break;case"delete":G();break;default:Q(n)}}},[D,W,G,Q,H,v,ee]),ei=(0,E.useCallback)(async(e,t)=>{try{let l=new Map(e.constructor.globalFlowRegistry.getFlows()),n=Array.from(l.values());return await Promise.all(n.map(async l=>{let n=await Promise.all(Object.entries(l.steps).map(async n=>{let[r,i]=n,o=i,a=o;if(await (0,g._3)(e,l,o))return null;let s=await (0,g.XM)(e,l,o),u=await (0,g.ME)(o.uiMode,e.context),c=null!=o.uiSchema,p=!1,h=o.title;if(o.use)try{var m;let t=null==(m=e.getAction)?void 0:m.call(e,o.use);a={...t||{},...o},u=await (0,g.ME)((null==t?void 0:t.uiMode)||u,e.context),p=t&&null!=t.uiSchema,h=h||(null==t?void 0:t.title)}catch(e){console.warn(d("Failed to get action {{action}}",{action:o.use}),":",e)}let f=["select","switch"].includes((null==u?void 0:u.type)||u);if(!f&&!c&&!p)return null;let v={};try{let t=await (0,g.o7)(e,l,o);if(!t&&!f)return null;v=t}catch(e){return console.warn(d("Failed to resolve uiSchema for step {{stepKey}}",{stepKey:r}),":",e),null}return{stepKey:r,step:a,uiSchema:v,title:d(h)||r,modelKey:t,uiMode:u,disabled:s.disabled,disabledReason:s.reason}})).then(e=>e.filter(Boolean));return n.length>0?{flow:l,steps:n,modelKey:t}:null})).then(e=>e.filter(Boolean))}catch(t){return console.error(d("Failed to get configurable flows for model {{model}}",{model:(null==e?void 0:e.uid)||"unknown"}),":",t),[]}},[d]),eo=(0,E.useCallback)(async()=>{let e=[],l=[];for(let{model:n,modelKey:i}of(J(t,{maxDepth:r,arrayLimit:50,mode:"stack"},(e,t)=>{let{modelKey:n}=t;l.push({model:e,modelKey:n})}),l)){let t=await ei(n,i);e.push(...t)}return e},[t,r,ei]);(0,E.useEffect)(()=>{let e=()=>{f(e=>e+1)},l=[];return J(t,{maxDepth:r,mode:"visited"},(t,n)=>{let{depth:r}=n,i=["onStepParamsChanged"];1===r&&i.push("onSubModelAdded","onSubModelRemoved","onSubModelReplaced"),i.forEach(n=>{var r;null==(r=t.emitter)||r.on(n,e),l.push(()=>{var l;return null==(l=t.emitter)?void 0:l.off(n,e)})})}),()=>{l.forEach(e=>e())}},[t,r,m]),(0,E.useEffect)(()=>{let e=!0,t=async()=>{A(!0),C&&S([]);try{let t=await eo();e&&S(t)}catch(t){console.error("Failed to load configurable flows and steps:",t),e&&S([])}finally{e&&A(!1)}};return P||!p&&C?(S([]),A(!1),()=>{e=!1}):(t(),()=>{e=!1})},[eo,m,C,P,p]);let ea=(0,E.useMemo)(()=>{let e=[],l=new Map,n=e=>{let t=l.get(e)||0;return l.set(e,t+1),0===t?e:`${e}-${t}`};if(w.length>0)if(i)w.forEach(l=>{let{flow:r,steps:i,modelKey:o}=l,a=n(`flow-group-${o?`${o}-`:""}${r.key}`);"top"===r.options.divider&&e.push({type:"divider"}),r.options.enableTitle&&e.push({key:a,label:d(r.title)||r.key,type:"group"}),i.forEach(l=>{let i=n(o?`${o}:${r.key}:${l.stepKey}`:`${r.key}:${l.stepKey}`),a=l.uiMode,u=(l.modelKey?X(t,l.modelKey):null)||t,p=u.getStepParams(r.key,l.stepKey)||{},h={getDefaultValue:async()=>{let e=await (0,g.gG)(l.step.defaultParams,u.context);if(l.step.use){var t;let n=null==(t=u.getAction)?void 0:t.call(u,l.step.use);e=await (0,g.gG)(n.defaultParams,u.context)}return{...e,...p}},onChange:async e=>{var t;u.setStepParams(r.key,l.stepKey,e),"function"==typeof l.step.beforeParamsSave&&await l.step.beforeParamsSave(u.context,e,p),await u.saveStepParams(),null==s||null==(t=s.success)||t.call(s,d("Configuration saved")),"function"==typeof l.step.afterParamsSave&&await l.step.afterParamsSave(u.context,e,p)},...(null==a?void 0:a.props)||{},itemKey:null==a?void 0:a.key,disabled:!!l.disabled,disabledReason:l.disabledReason,disabledIconColor:c};e.push({key:i,label:(0,R.jsx)(Z,{title:l.title,uiMode:a,itemProps:h}),disabled:!!l.disabled})}),"bottom"===r.options.divider&&e.push({type:"divider"})});else{let t=new Map;w.forEach(e=>{let l=e.modelKey||"current";t.has(l)||t.set(l,[]);let n=t.get(l);n&&n.push(e)}),t.forEach((t,l)=>{if("current"===l)t.forEach(t=>{let{flow:l,steps:r}=t,i=n(`flow-group-${l.key}`);e.push({key:i,label:d(l.title)||l.key,type:"group"}),r.forEach(t=>{let r=n(`${l.key}:${t.stepKey}`);e.push({key:r,label:t.disabled?(0,R.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[t.title,(0,R.jsx)(N.A,{title:t.disabledReason,placement:"right",destroyTooltipOnHide:!0,children:(0,R.jsx)(I.A,{style:{color:c}})})]}):t.title,disabled:!!t.disabled})})});else{let r=n(`sub-menu-${l}`),i=[];t.forEach(e=>{let{flow:t,steps:r}=e;r.forEach(e=>{let r=n(`${l}:${t.key}:${e.stepKey}`);i.push({key:r,label:e.disabled?(0,R.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[e.title,(0,R.jsx)(N.A,{title:e.disabledReason,placement:"right",destroyTooltipOnHide:!0,children:(0,R.jsx)(I.A,{style:{color:c}})})]}):e.title,disabled:!!e.disabled})})}),e.push({key:r,label:l,children:i})}})}return e},[w,c,i,s,t,d]),es=(0,E.useMemo)(()=>{let e=[...ea];return(n||l||F.length>0)&&(e.push({type:"divider"}),F.length>0&&e.push(...F.map(er)),n&&t.uid&&e.push({key:"copy-uid",label:d("Copy UID")}),l&&"function"==typeof t.destroy&&e.push({key:"delete",label:d("Delete")})),e},[ea,n,l,F,t.uid,t.destroy,d]);return j?t&&t.uid?(0,R.jsx)(L.A,{getPopupContainer:V,overlayClassName:el,overlayStyle:{width:"max-content",minWidth:"max-content"},onOpenChange:z,open:p,menu:{items:es,onClick:et,style:{maxHeight:K,overflowY:"auto"}},trigger:["hover"],placement:"bottomRight",children:(0,R.jsx)(_.A,{role:"button","aria-label":"flows-settings",style:{cursor:"pointer",fontSize:12}})}):(console.warn(d("Invalid model provided")),null):null};var eo=l(23183),ea=l(48036),es=l(11869),ed=l(16296),eu=l(23200),ec=l(67778),ep=l(22505);let eh=k.A.Panel;var em=new WeakMap,ef=new WeakMap;class eg{on(e,t){(0,w._)(this,ef).on(e,t)}off(e,t){(0,w._)(this,ef).off(e,t)}addDefaultToolbarItems(){this.toolbarItems.push({key:"settings-menu",component:ei,sort:0})}async load(){if(this.antdComponentsLoaded)return void console.log("FlowSettings: Antd components already loaded, skipping...");try{let{ArrayBase:e,ArrayCards:t,ArrayCollapse:n,ArrayItems:r,ArrayTable:i,ArrayTabs:o,Cascader:a,Checkbox:s,DatePicker:d,Editable:u,Form:c,FormDialog:p,FormDrawer:h,FormButtonGroup:m,FormCollapse:f,FormGrid:g,FormItem:v,FormLayout:y,FormStep:b,FormTab:x,Input:w,NumberPicker:S,Password:M,PreviewText:A,Radio:F,Reset:k,Select:C,SelectTable:P,Space:j,Submit:E,Switch:R,TimePicker:I,Transfer:T,TreeSelect:_,Upload:D}=await Promise.resolve().then(l.bind(l,20419)),{Button:N,Alert:O}=await Promise.resolve().then(l.bind(l,14264));this.components.Form=c,this.components.FormDialog=p,this.components.FormDrawer=h,this.components.FormItem=v,this.components.FormLayout=y,this.components.FormGrid=g,this.components.FormStep=b,this.components.FormTab=x,this.components.FormCollapse=f,this.components.FormButtonGroup=m,this.components.Input=w,this.components.NumberPicker=S,this.components.Password=M,this.components.Select=C,this.components.SelectTable=P,this.components.Cascader=a,this.components.TreeSelect=_,this.components.Transfer=T,this.components.DatePicker=d,this.components.TimePicker=I,this.components.Checkbox=s,this.components.Radio=F,this.components.Switch=R,this.components.ArrayBase=e,this.components.ArrayCards=t,this.components.ArrayCollapse=n,this.components.ArrayItems=r,this.components.ArrayTable=i,this.components.ArrayTabs=o,this.components.Upload=D,this.components.Space=j,this.components.Editable=u,this.components.PreviewText=A,this.components.Alert=O,this.components.Button=N,this.components.Submit=E,this.components.Reset=k,this.antdComponentsLoaded=!0,console.log("FlowSettings: Antd components loaded successfully")}catch(e){throw console.error("FlowSettings: Failed to load Antd components:",e),e}}registerComponents(e){Object.keys(e).forEach(t=>{this.components[t]&&console.warn(`FlowSettings: Component with name '${t}' is already registered and will be overwritten.`),this.components[t]=e[t]})}registerComponentLoaders(e){Object.entries(e).forEach(e=>{let[t,l]=e;this.components[t]&&console.warn(`FlowSettings: Component with name '${t}' is already registered and will be overwritten.`),this.components[t]=(0,ep.R)(async()=>{let e=await l();if("function"==typeof e)return{default:e};if((null==e?void 0:e.default)&&"function"==typeof e.default)return{default:e.default};let n=null==e?void 0:e[t];if("function"==typeof n)return{default:n};throw Error(`FlowSettings: component loader for '${t}' must resolve to a React component or a module exporting it.`)})})}registerScopes(e){Object.keys(e).forEach(t=>{this.scopes[t]&&console.warn(`FlowSettings: Scope with name '${t}' is already registered and will be overwritten.`),this.scopes[t]=e[t]})}async enable(){await this.engine.preloadModelLoaders(),this.enabled=!0}async forceEnable(){await this.engine.preloadModelLoaders(),(0,M._)(this,em,!0),this.enabled=!0}async disable(){(0,w._)(this,em)||(this.enabled=!1)}async forceDisable(){(0,M._)(this,em,!1),this.enabled=!1}addToolbarItem(e){let t=this.toolbarItems.findIndex(t=>t.key===e.key);-1!==t?(console.warn(`FlowSettings: Toolbar item with key '${e.key}' already exists and will be replaced.`),this.toolbarItems[t]=e):this.toolbarItems.push(e),this.toolbarItems.sort((e,t)=>(t.sort||0)-(e.sort||0))}addToolbarItems(e){e.forEach(e=>this.addToolbarItem(e))}removeToolbarItem(e){let t=this.toolbarItems.findIndex(t=>t.key===e);-1!==t&&this.toolbarItems.splice(t,1)}getToolbarItems(){return[...this.toolbarItems]}registerDynamicFlowSourceProvider(e){let t=this.dynamicFlowSourceProviders.findIndex(t=>t.key===e.key);return -1!==t?(console.warn(`FlowSettings: Dynamic flow source provider with key '${e.key}' already exists and will be replaced.`),this.dynamicFlowSourceProviders[t]=e):this.dynamicFlowSourceProviders.push(e),this.dynamicFlowSourceProviders.sort((e,t)=>(e.sort||0)-(t.sort||0)),()=>{let t=this.dynamicFlowSourceProviders.indexOf(e);-1!==t&&this.dynamicFlowSourceProviders.splice(t,1)}}hasDynamicFlowSourceProvider(e){return this.dynamicFlowSourceProviders.some(t=>{try{return!t.visible||t.visible(e)}catch(e){return console.warn(`FlowSettings: Dynamic flow source provider '${t.key}' visibility check failed.`,e),!1}})}async getDynamicFlowSources(e){let t={key:"self",label:(0,g.lW)(e)("Current block"),model:e,sort:-1e3},l=[],n=new Set(["self"]),r=new Set([e.uid]);for(let t of this.dynamicFlowSourceProviders)try{if(t.visible&&!t.visible(e))continue;for(let i of await t.getSources(e)||[]){if(!(null==i?void 0:i.key)||!i.model)continue;let e=String(i.key),t=i.model.uid;n.has(e)||r.has(t)||(n.add(e),r.add(t),l.push({...i,key:e,label:i.label||e,sort:i.sort||0}))}}catch(e){console.warn(`FlowSettings: Dynamic flow source provider '${t.key}' failed.`,e)}return[t,...l.sort((e,t)=>(e.sort||0)-(t.sort||0))]}clearToolbarItems(){this.toolbarItems=[]}async openStepSettingsDialog(e){return await (0,eo.openStepSettingsDialog)(e)}renderStepForm(e){var t,l;let{uiSchema:n,initialValues:r,flowEngine:i,form:o,onFormValuesChange:a,key:s}=e,d={useFlowSettingsContext:ed.s,...(null==i||null==(t=i.flowSettings)?void 0:t.scopes)||{}},u={type:"object",properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:n}}},c=(0,g.ln)(d,u),p=(0,F.createSchemaField)();return E.createElement(ev,{form:o,initialValues:r,onFormValuesChange:a,key:s},E.createElement(p,{schema:c,components:(null==i||null==(l=i.flowSettings)?void 0:l.components)||{},scope:d}))}async open(e){var t,l,n,r,i,a,d;(0,w._)(this,ef).emit("beforeOpen",e);let{model:u,flowKey:c,flowKeys:p,stepKey:h,uiMode:m="dialog",preset:y,onCancel:b,onSaved:x}=e;if(!u)throw Error("FlowSettings.open: model is required");let S=(0,g.lW)(u),M=null==(t=u.context)?void 0:t.message,F=u.getFlows(),R=c?[c]:Array.isArray(p)&&p.length?p:Array.from(F.keys()),I=[];for(let e of(await this.load(),R)){let t=u.getFlow(e);if(!t){console.warn(`FlowSettings.open: Flow with key '${e}' not found`);continue}for(let l of Object.keys(t.steps||{})){if(h&&l!==h)continue;let n=t.steps[l];if(!y&&(!n||await (0,g._3)(u,t,n))||y&&!n.preset)continue;let r=await (0,g.o7)(u,t,n),o=n.title,a=n.beforeParamsSave,s=n.afterParamsSave,d={},c=n.uiMode;if(n.use){let e=null==(i=u.getAction)?void 0:i.call(u,n.use);e&&(d=e.defaultParams||{},o=o||e.title,a=a||e.beforeParamsSave,s=s||e.afterParamsSave,c=e.uiMode)}let p=new f.W5(u,e,"settings");(0,g.wx)(p,t.steps,u,e),p.defineProperty("currentStep",{value:n}),p.defineMethod("getStepFormValues",(e,t)=>{var l;return null==(l=V.get(q({flowKey:e,stepKey:t})))?void 0:l.values});let m=u.getStepParams(e,l)||{},v=await (0,g.gG)(n.defaultParams,p),b={...await (0,g.gG)(d,p)||{},...v||{},...m};(r&&0!==Object.keys(r).length||["select","switch"].includes((null==c?void 0:c.type)||c))&&I.push({flowKey:e,flowTitle:S(t.title)||e,stepKey:l,stepTitle:S(o)||l,initialValues:b,previousParams:{...m||{}},mergedUiSchema:r,beforeParamsSave:a,afterParamsSave:s,ctx:p,uiMode:n.uiMode||c})}}if(0===I.length)return y||null==M||null==(a=M.info)||a.call(M,S("This model has no configurable flow settings")),!1;let T=u.context.viewer,_=1===I.length?await (0,g.ME)(I[0].uiMode||m,I[0].ctx):m,D="string"==typeof _?_:_.type||"dialog";if(["select","switch"].includes(D))return;let N=T[D||"dialog"].bind(T),O=u.flowEngine,$={useFlowSettingsContext:ed.s,...(null==O||null==(l=O.flowSettings)?void 0:l.scopes)||{}},B="object"==typeof _&&_&&_.props||{};if("embed"===D){let e=document.querySelector(`#${ec.mW}`),t=B.onOpen,l=B.onClose;B={target:e,styles:{body:{padding:null==(d=O.context.themeToken)?void 0:d.padding}},...B,onOpen(){e&&(e.style.width=B.width||"33.3%",e.style.maxWidth=B.maxWidth||"800px",e.style.minWidth=B.minWidth||"0px"),null==t||t()},onClose(){e&&"1"!==e.dataset[ec.xB]&&(e.style.width="auto",e.style.maxWidth="none",e.style.minWidth="auto"),null==l||l()}}}let L={};I.forEach(e=>{L[e.flowKey]||(L[e.flowKey]={title:e.flowTitle,steps:[]}),L[e.flowKey].steps.push(e)});let V=new Map,q=e=>`${e.flowKey}::${e.stepKey}`;I.forEach(e=>{let t=(0,A.createForm)({initialValues:(0,g.ln)($,e.initialValues)});V.set(q(e),t)});let z=Object.keys(L),K=z.length>1,U=()=>c&&h&&1===I.length||!K&&I.length>0?I[0].stepTitle:"",W={value:()=>{}},H=(e,t)=>{W.value=(0,o.reaction)(()=>(0,g.ME)(e.uiMode||m,e.ctx),e=>{e.then(e=>{s().isPlainObject(null==e?void 0:e.props)&&t.update(e.props)}).catch(e=>{console.warn("Error resolving uiMode:",e)})})},G=(null==(n=u.context.view)?void 0:n.inputArgs)||{},Y=null==(r=u.context.view)?void 0:r.navigation,J={...G,...Y?{navigation:Y}:{},...(null==B?void 0:B.inputArgs)||{}};return N({title:B.title||U(),width:B.width??600,destroyOnClose:!0,onClose:()=>W.value(),zIndex:5e3,...B,inputArgs:J,content:(e,t)=>{let l;null==t||t.defineMethod("getStepFormValues",(e,t)=>{var l;return null==(l=V.get(q({flowKey:e,stepKey:t})))?void 0:l.values});let n=t=>{let l=V.get(q(t));return l?(t.ctx.view=e,E.createElement(ed.u,{value:t.ctx},E.createElement(eu.k.Provider,{value:{params:(0,es.untracked)(()=>({...t.initialValues,...l.values})),path:`${u.uid}_${t.flowKey}_${t.stepKey}`}},this.renderStepForm({uiSchema:t.mergedUiSchema,initialValues:t.initialValues,flowEngine:O,form:l})))):null},r=e=>e.map(e=>E.createElement(eh,{header:e.stepTitle,key:q(e)},n(e))),i=e=>{let t=L[e];return{key:e,label:S(t.title)||e,children:t.steps.length>1?E.createElement(k.A,{defaultActiveKey:t.steps.map(e=>q(e))},...r(t.steps)):n(t.steps[0])}},o=()=>{if(c&&h&&1===I.length){let t=I[0];return H(t,e),n(t)}if(!K)return H(I[0],e),n(I[0]);let t=z.map(e=>i(e)),l=c&&L[c]?c:z[0];return E.createElement(C.A,{items:t,defaultActiveKey:l})},a=async()=>{var t,l;try{for(let e of I){let t=V.get(q(e));if(!t)continue;await t.submit();let l=t.values;u.setStepParams(e.flowKey,e.stepKey,l),"function"==typeof e.beforeParamsSave&&await e.beforeParamsSave(e.ctx,l,e.previousParams)}for(let e of(await u.saveStepParams(),null==M||null==(t=M.success)||t.call(M,S("Configuration saved")),I)){let t=V.get(q(e));if(!t)continue;let l=t.values;"function"==typeof e.afterParamsSave&&await e.afterParamsSave(e.ctx,l,e.previousParams)}e.close(),u.invalidateFlowCache("beforeRender",!0),await u.rerender();try{await (null==x?void 0:x())}catch(e){console.error("FlowSettings.open: onSaved callback error",e)}}catch(t){if(t instanceof g.VD)return;if(t instanceof g.sy||t instanceof v.zz)return void e.close();console.error("FlowSettings.open: save error",t),null==M||null==(l=M.error)||l.call(M,S("Error saving configuration, please check console"))}};e.submit=a;let d=o(),p=t=>E.createElement(P.Ay,{onClick:async()=>{e.close();try{await (null==b?void 0:b())}catch(e){console.error("FlowSettings.open: onCancel callback error",e)}}},t.title||S("Cancel")),m=e=>E.createElement(P.Ay,{type:"primary",onClick:a},e.title||S("Save")),f=E.createElement(j.A,{align:"end"},E.createElement(p),E.createElement(m));return B.footer&&(f=s().isFunction(B.footer)?B.footer(f,{OkBtn:m,CancelBtn:p}):B.footer),null===B.footer&&(f=null),e.Footer&&(l=E.createElement(e.Footer,null,f)),E.createElement(E.Fragment,null,d,l)}}),!0}constructor(e){(0,i._)(this,"components",{}),(0,i._)(this,"scopes",{}),(0,i._)(this,"antdComponentsLoaded",!1),(0,i._)(this,"enabled",void 0),(0,i._)(this,"engine",void 0),(0,S._)(this,em,{writable:!0,value:!1}),(0,i._)(this,"toolbarItems",[]),(0,i._)(this,"dynamicFlowSourceProviders",[]),(0,S._)(this,ef,{writable:!0,value:new ea.v}),this.engine=e,this.enabled=!1,e.context.defineProperty("flowSettingsEnabled",{get:()=>this.enabled,cache:!1}),this.addDefaultToolbarItems(),(0,o.define)(this,{enabled:o.observable})}}function ev(e){let{children:t,form:l,initialValues:n,onFormValuesChange:r}=e,i=E.useRef(l);return i.current||(i.current=(0,A.createForm)({initialValues:n,effects(){(0,A.onFormValuesChange)(r)}})),E.createElement(F.FormProvider,{form:i.current},t)}var ey=l(4888),eb=l(5338);function ex(e){let{config:t,engine:l,children:n}=e;return(0,R.jsx)(K.I6,{engine:l,children:(0,R.jsx)(ey.Ay,{...t,children:(0,R.jsx)(O.A,{children:n})})})}class ew{createRoot(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,eb.createRoot)(e,l),r=()=>{n.render((0,R.jsx)(ex,{engine:this.flowEngine,config:this.flowEngine.context.antdConfig,children:t}))};return{render:e=>{t=e,this.refreshCallback=r,r()},unmount:()=>{this.refreshCallback=null,t=null,n.unmount()}}}refresh(){this.refreshCallback&&this.refreshCallback()}render(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=document.createElement("span"),{onRendered:r}=l,i=t=>{let l="function"==typeof e?e(t):e;return(0,R.jsx)(ex,{engine:this.flowEngine,config:this.flowEngine.context.antdConfig,children:l})};return r?r(()=>{(t=(0,eb.createRoot)(n)).render(i(t))}):(t=(0,eb.createRoot)(n)).render(i(t)),n._reactRoot=t,n}onRefReady(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e4,n=Date.now();function r(){if(e.current)return t(e.current);Date.now()-n>l||setTimeout(r,30)}r()}constructor(e){(0,i._)(this,"flowEngine",void 0),(0,i._)(this,"refreshCallback",void 0),this.flowEngine=e,this.refreshCallback=null}}var eS=l(27667),eM=l(38950);class eA{schedule(e,t,l,n){let r="string"==typeof e?e:null==e?void 0:e.uid;if(!r)throw Error("scheduleModelOperation: invalid from model or uid");if(!t||"string"!=typeof t)throw Error("scheduleModelOperation: invalid target uid");let i={id:(0,eM.L)(),fromUid:r,toUid:t,fn:l,options:{when:(null==n?void 0:n.when)??"created"}},o=this.itemsByTargetUid.get(t);o||(o=new Map,this.itemsByTargetUid.set(t,o)),o.set(i.id,i);let a=this.itemIdsByFromUid.get(r);a||(a=new Set,this.itemIdsByFromUid.set(r,a)),a.add(i.id),this.itemsById.set(i.id,i),this.ensureEventSubscriptionIfNeeded(i.options.when);let s=this.engine.getModel(t);return s&&"created"===i.options.when&&this.tryExecuteOnce(i.id,{type:"created",uid:t,model:s}),()=>this.internalCancel(i.id)}cancel(e){let{fromUid:t,toUid:l}=e||{};if(l&&this.itemsByTargetUid.has(l)){let e=this.itemsByTargetUid.get(l);if(e)for(let l of e.values())t&&l.fromUid!==t||this.internalCancel(l.id);return}if(t&&this.itemIdsByFromUid.has(t)){let e=this.itemIdsByFromUid.get(t);if(e)for(let t of Array.from(e)){let e=this.itemsById.get(t);e&&(l&&e.toUid!==l||this.internalCancel(t))}}}dispose(){try{for(let e of this.unbindHandlers)try{e()}catch(e){}}finally{this.unbindHandlers=[]}for(let e of this.itemsByTargetUid.values())for(let t of e.values())this.internalCancel(t.id);this.itemsByTargetUid.clear(),this.itemIdsByFromUid.clear()}bindEngineLifecycle(){let e=this.engine.emitter;if(!e||"function"!=typeof e.on)return;let t=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:"created"})};e.on("model:created",t),this.unbindHandlers.push(()=>e.off("model:created",t));let l=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:"mounted"})};e.on("model:mounted",l),this.unbindHandlers.push(()=>e.off("model:mounted",l));let n=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:"event:beforeRender:start"})};e.on("model:event:beforeRender:start",n),this.unbindHandlers.push(()=>e.off("model:event:beforeRender:start",n));let r=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:"event:beforeRender:end"})};e.on("model:event:beforeRender:end",r),this.unbindHandlers.push(()=>e.off("model:event:beforeRender:end",r));let i=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:"unmounted"})};e.on("model:unmounted",i),this.unbindHandlers.push(()=>e.off("model:unmounted",i));let o=async e=>{let t=this.itemsByTargetUid.get(e.uid),l={...e,type:"destroyed"};if(t&&t.size)for(let e of Array.from(t.keys())){let t=this.itemsById.get(e);t&&(this.shouldTrigger(t.options.when,l)?await this.tryExecuteOnce(e,l):this.internalCancel(e))}};e.on("model:destroyed",o),this.unbindHandlers.push(()=>e.off("model:destroyed",o))}ensureEventSubscriptionIfNeeded(e){let t="string"==typeof e?e:"function"==typeof e?e.__eventType:void 0;if(!t)return;let l=this.parseEventWhen(t);if(!l)return;let{name:n}=l;if(this.subscribedEventNames.has(n))return;this.subscribedEventNames.add(n);let r=this.engine.emitter,i=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:`event:${n}:start`})},o=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:`event:${n}:end`})},a=async e=>{await this.processLifecycleEvent(e.uid,{...e,type:`event:${n}:error`})};r.on(`model:event:${n}:start`,i),r.on(`model:event:${n}:end`,o),r.on(`model:event:${n}:error`,a),this.unbindHandlers.push(()=>r.off(`model:event:${n}:start`,i)),this.unbindHandlers.push(()=>r.off(`model:event:${n}:end`,o)),this.unbindHandlers.push(()=>r.off(`model:event:${n}:error`,a))}parseEventWhen(e){if(!e||"string"!=typeof e)return null;let t=/^event:(.+):(start|end|error)$/.exec(e);return t?{name:t[1],phase:t[2]}:null}async processLifecycleEvent(e,t){let l=this.itemsByTargetUid.get(e);if(l&&0!==l.size)for(let e of Array.from(l.keys())){let l=this.itemsById.get(e);l&&this.shouldTrigger(l.options.when,t)&&await this.tryExecuteOnce(e,t)}}shouldTrigger(e,t){return!!e&&("function"==typeof e?!!e(t):e===t.type)}async tryExecuteOnce(e,t){let l=this.takeItem(e);if(l)try{let e=t.model||this.engine.getModel(l.toUid);if(!e)return;await Promise.resolve(l.fn(e))}catch(t){var n,r;if(t instanceof v.zz)throw t;null==(r=this.engine.logger)||null==(n=r.error)||n.call(r,{err:t,id:e,fromUid:l.fromUid,toUid:l.toUid,when:l.options.when},"ModelOperationScheduler: operation execution failed")}}internalCancel(e){return!!this.takeItem(e)}takeItem(e){let t=this.itemsById.get(e);if(!t)return;let{toUid:l,fromUid:n}=t,r=this.itemsByTargetUid.get(l);r&&(r.delete(e),0===r.size&&this.itemsByTargetUid.delete(l));let i=this.itemIdsByFromUid.get(n);return i&&(i.delete(e),0===i.size&&this.itemIdsByFromUid.delete(n)),this.itemsById.delete(e),t}constructor(e){(0,i._)(this,"engine",void 0),(0,i._)(this,"itemsByTargetUid",void 0),(0,i._)(this,"itemIdsByFromUid",void 0),(0,i._)(this,"itemsById",void 0),(0,i._)(this,"unbindHandlers",void 0),(0,i._)(this,"subscribedEventNames",void 0),this.engine=e,this.itemsByTargetUid=new Map,this.itemIdsByFromUid=new Map,this.itemsById=new Map,this.unbindHandlers=[],this.subscribedEventNames=new Set,this.bindEngineLifecycle()}}let eF=eA,ek=e=>{let t=null==e?void 0:e.parentId,l=null==e?void 0:e.subKey;if(t&&"page"===l)return`${t}::${l}`},eC=e=>{let t=e;for(;t;){var l;if("page"===t.subKey&&(null==(l=t.parent)?void 0:l.uid))return ek({parentId:t.parent.uid,subKey:t.subKey});t=t.parent}},eP=e=>{try{return!!(null==e?void 0:e.flowSettingsEnabled)}catch(e){return!1}},ej=e=>{if(eP(null==e?void 0:e.context))return!0;let t=new Set,l=null==e?void 0:e.flowEngine;for(;l&&!t.has(l);){if(t.add(l),eP(l.context))return!0;l=l.previousEngine}return!1},eE=e=>{(null==e?void 0:e.uid)&&e.flowEngine&&e.flowEngine.getModel(e.uid)===e&&e.flowEngine.removeModelWithSubModels(e.uid)},eR=function(e){var t;let l=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!(null==e?void 0:e.parent)||!e.subKey)return e;let n=null==(t=e.parent.subModels)?void 0:t[e.subKey],r=l&&"array"!==e.subType&&n&&!Array.isArray(n)?n:e.parent.findSubModel(e.subKey,t=>t.uid===e.uid);if(r){if(!l||r===e)return e;eE(r)}return"array"===e.subType?e.parent.addSubModel(e.subKey,e):e.parent.setSubModel(e.subKey,e),e},eI=()=>{let e=new Set;return{getDirtyKeyForModel(e,t){if((null==t?void 0:t.force)||ej(e))return eC(e)},markDirty(t){t&&e.add(t)},markDirtyForOptions(t){let l=ek(t);l&&e.add(l)},shouldBypass(t,l){let n=ek(t);if(!n||!e.has(n))return!1;try{return!(null==l?void 0:l())}catch(e){return!0}},clear(t){let l=ek(t);l&&e.delete(l)},mountModelToParent:eR}},eT=()=>"warn";var e_=new WeakSet;class eD{getScheduler(){return this._modelOperationScheduler||(this._modelOperationScheduler=new eF(this)),this._modelOperationScheduler}disposeScheduler(){if(this._modelOperationScheduler)try{this._modelOperationScheduler.dispose()}finally{this._modelOperationScheduler=void 0}}markDataSourceDirty(e,t){let l=String(e||"main"),n=String(t||"");if(!n)return this.getDataSourceDirtyVersion(l,n);let r=this._dataSourceDirtyVersions.get(l)||new Map;this._dataSourceDirtyVersions.has(l)||this._dataSourceDirtyVersions.set(l,r);let i=(r.get(n)||0)+1;return r.set(n,i),i}getDataSourceDirtyVersion(e,t){var l;let n=String(e||"main"),r=String(t||"");return r&&(null==(l=this._dataSourceDirtyVersions.get(n))?void 0:l.get(r))||0}scheduleModelOperation(e,t,l,n){return this.getScheduler().schedule(e,t,l,n)}get previousEngine(){return this._previousEngine}get nextEngine(){return this._nextEngine}linkAfter(e){let t=e;for(;t._nextEngine;)t=t._nextEngine;this._previousEngine=t,t&&(t._nextEngine=this)}unlinkFromStack(){let e=this._previousEngine;this._nextEngine,e&&(e._nextEngine=void 0)}setDestroyView(e){this._destroyView=e}destroyView(){return!!this._destroyView&&(this._destroyView(),!0)}get context(){return this._flowContext||(this._flowContext=new f.o0(this)),this._flowContext}get dataSourceManager(){return this.context.dataSourceManager}get applyFlowCache(){return this._applyFlowCache}setModelRepository(e){this._modelRepository&&console.warn("FlowEngine: Model repository is already set and will be overwritten."),this._modelRepository=e}get modelRepository(){return this._modelRepository}translate(e,t){return this.context.t(e,t)}registerActions(e){this._actionRegistry.registerActions(e)}getAction(e){return this._actionRegistry.getAction(e)}getActions(){return this._actionRegistry.getActions()}registerEvents(e){this._eventRegistry.registerEvents(e)}getEvent(e){return this._eventRegistry.getEvent(e)}getEvents(){return this._eventRegistry.getEvents()}_registerModel(e,t){this._modelClasses.has(e)&&console.warn(`FlowEngine: Model class with name '${e}' is already registered and will be overwritten.`),Object.defineProperty(t,"name",{value:e}),this._modelClasses.set(e,t)}registerModels(e){for(let[t,l]of Object.entries(e))(0,n._)(this,e_,eN).call(this,t,l)}registerModelLoaders(e){let t=!1;for(let[l,n]of Object.entries(e)){this._modelLoaders.has(l)&&console.warn(`FlowEngine: Model loader with name '${l}' is already registered and will be overwritten.`);let e={loader:n.loader};null!=n.extends&&(e.extends=(Array.isArray(n.extends)?n.extends:[n.extends]).map(e=>"string"==typeof e?e:e.name)),this._modelLoaders.set(l,e),t=!0}t&&(this._modelLoadersPreloaded=!1,this._modelLoadersPreloadPromise=void 0)}async getModelClassAsync(e){return await this.ensureModel(e),this.getModelClass(e)}async getModelClassesAsync(){return await this.ensureModels(Array.from(this._modelLoaders.keys())),this.getModelClasses()}async createModelAsync(e,t){return await this.resolveModelTree(e),this.createModel(e,t)}normalizeModelLoaderResult(e,t){if("function"==typeof t)return t;if(t&&"object"==typeof t){let l=t.default;if("function"==typeof l)return l;let n=t[e];if("function"==typeof n)return n}return console.warn(`FlowEngine: model loader for '${e}' did not resolve to a valid model constructor.`),null}collectModelNamesFromTree(e,t){if(!e||"object"!=typeof e)return;if(Array.isArray(e))return void e.forEach(e=>this.collectModelNamesFromTree(e,t));let l=e;"string"==typeof l.use&&t.add(l.use);let n=l.subModels;n&&"object"==typeof n&&Object.values(n).forEach(e=>{this.collectModelNamesFromTree(e,t)})}collectModelNamesFromMetaDefaults(e,t){var l;let n=null==(l=e.meta)?void 0:l.createModelOptions;n&&"object"==typeof n&&this.collectModelNamesFromTree(n,t)}async ensureModel(e){let t=this._modelClasses.get(e);if(t)return t;let l=this._loadingModelPromises.get(e);if(l)return l;let n=this._modelLoaders.get(e);if(!n)return console.warn(`FlowEngine: Model entry '${e}' not found. Falling back to ErrorFlowModel when needed.`),null;let r=(async()=>{try{let t=await n.loader(),l=this.normalizeModelLoaderResult(e,t);if(!l)return null;return this._registerModel(e,l),l}catch(t){return console.warn(`FlowEngine: Failed to load model '${e}'. Falling back to ErrorFlowModel when needed.`,t),null}finally{this._loadingModelPromises.delete(e)}})();return this._loadingModelPromises.set(e,r),r}async ensureModels(e){let t=Array.from(new Set(e.filter(e=>!!e))),l=[],n=[];return(await Promise.all(t.map(async e=>{let t=await this.ensureModel(e);return{name:e,modelClass:t}}))).forEach(e=>{let{name:t,modelClass:r}=e;r?l.push(t):n.push({name:t})}),{requested:t,loaded:l,failed:n}}async resolveModelTree(e){let t=new Set,l=new Set,n=new Map,r=new Set,i=new Set;for(this.collectModelNamesFromTree(e,i);i.size>0;){let e=Array.from(i).filter(e=>!r.has(e));if(i.clear(),0===e.length)break;e.forEach(e=>t.add(e));let o=await this.ensureModels(e);o.loaded.forEach(e=>{r.add(e),l.add(e);let t=this.getModelClass(e);if(t){let e=new Set;this.collectModelNamesFromMetaDefaults(t,e),e.forEach(e=>{r.has(e)||i.add(e)})}}),o.failed.forEach(e=>{r.add(e.name),n.set(e.name,e)})}return{requested:Array.from(t),loaded:Array.from(l),failed:Array.from(n.values())}}async preloadModelLoaders(){let e=Array.from(this._modelLoaders.keys()).filter(e=>!this._modelClasses.has(e));return 0===e.length?(this._modelLoadersPreloaded=!0,{requested:[],loaded:[],failed:[]}):(this._modelLoadersPreloadPromise||(this._modelLoadersPreloadPromise=(async()=>{let t=await this.ensureModels(e);return this._modelLoadersPreloaded=0===t.failed.length,this._modelLoadersPreloadPromise=void 0,t})()),this._modelLoadersPreloadPromise)}registerResources(e){for(let[t,l]of Object.entries(e))this._resources.set(t,l)}createResource(e,t){if("string"==typeof e){let l=this._resources.get(e);if(!l)throw Error(`Resource class '${e}' not found. Please register it first.`);return new l((null==t?void 0:t.context)||this.context)}return new e((null==t?void 0:t.context)||this.context)}getModelClasses(){return this._modelClasses}getModelClass(e){return this._modelClasses.get(e)}findModelClass(e){for(let[t,l]of this._modelClasses)if(e(t,l))return[t,l]}getSubclassesOf(e,t){let l="string"==typeof e?this.getModelClass(e):e,n=new Map;if(!l)return n;for(let[e,r]of this._modelClasses)(0,g.FA)(r,l)&&(!t||t(r,e))&&n.set(e,r);return n}async getSubclassesOfAsync(e,t){let l,n="string"==typeof e?e:e.name;if("string"==typeof e?(this.getModelClass(e)||await this.ensureModel(e),l=this.getModelClass(e)):l=e,!l)return new Map;let r=this.getSubclassesOf(l,t),i=[];for(let[e,t]of this._modelLoaders){var o;!(r.has(e)||this._modelClasses.has(e))&&(null==(o=t.extends)?void 0:o.includes(n))&&i.push(e)}for(let e of(i.length>0&&await this.ensureModels(i),i)){let i=this._modelClasses.get(e);if(i){if(!(0,g.FA)(i,l)){console.warn(`FlowEngine: Model '${e}' declares extends '${n}' but does not actually inherit from it. Skipping.`);continue}(!t||t(i,e))&&r.set(e,i)}}return r}createModel(e,t){var l;let n,{parentId:r,uid:i,use:o,subModels:a}=e,s=r?this.getModel(r)||(null==(l=this.previousEngine)?void 0:l.getModel(r)):void 0,d=this._resolveModelClass("string"==typeof o?this.getModelClass(o):o,e,s);return i&&this._modelInstances.has(i)?this._modelInstances.get(i):(d?n=new d({...e,flowEngine:this}):(n=new V._f({...e,flowEngine:this})).setErrorMessage(`Model class '${o}' not found. Please register it first.`),(null==t?void 0:t.delegate)&&n.context.addDelegate(t.delegate),s&&(n.setParent(s),(null==t?void 0:t.delegateToParent)===!1&&n.removeParentDelegate()),this._modelInstances.set(n.uid,n),n.onInit(e),this.emitter.emitAsync("model:created",{uid:n.uid,model:n}),this._applyFlowDefinitionDefaultParams(n).catch(e=>{console.warn("FlowEngine: apply flow defaultParams failed:",e)}),n._createSubModels(e.subModels),n)}_resolveModelClass(e,t,l){let n=e=>e?"object"==typeof e&&"use"in e?{target:e.use,stop:!!e.stop}:{target:e,stop:!1}:{},r=e,i=new Set;for(;r;){let e;if(i.has(r))break;i.add(r);let o=null==r?void 0:r.resolveUse;if("function"!=typeof o)break;let{target:a,stop:s}=n(o(t,this,l));if(!a||a===r)break;if("string"==typeof a){if(!(e=this.getModelClass(a)))return void console.warn(`FlowEngine: resolveUse returned '${a}' but no model is registered under that name.`)}else e=a;if(r=e,s)break}return r}async _applyFlowDefinitionDefaultParams(e){try{let l=e.getFlows();if(!l||0===l.size)return;let n=e.context;for(let[r,i]of l.entries()){var t;let l,o=i.defaultParams;if(!o)continue;try{l="function"==typeof o?await o(n):o}catch(e){console.warn(`FlowEngine: resolve defaultParams of flow '${r}' failed:`,e);continue}if(!l||"object"!=typeof l)continue;let a=null==(t=i.getSteps)?void 0:t.call(i),s=a?Array.from(a.keys()):Object.keys(i.steps||{}),d=Object.entries(l).filter(e=>{let[t]=e;return s.includes(t)});if(0!==d.length)for(let[t,l]of d){let n=e.getStepParams(r,t);void 0===n&&l&&"object"==typeof l&&e.setStepParams(r,t,l)}}}catch(e){console.warn("FlowEngine: apply flow defaultParams error:",e)}}getModel(e,t){if(!t)return this._modelInstances.get(e);let l=this;for(;l.nextEngine;)l=l.nextEngine;let n=l;for(;n;){let t=n._modelInstances.get(e);if(t)return t;n=n.previousEngine}}forEachModel(e){this._modelInstances.forEach(e)}removeModel(e){var t,l,n;if(!this._modelInstances.has(e))return this.logger.debug(`FlowEngine: Model with UID '${e}' does not exist.`),!1;let r=this._modelInstances.get(e);if(r.invalidateFlowCache(void 0,!0),r.clearForks(),null==(t=r.parent)?void 0:t.subModels)for(let e in r.parent.subModels){let t=r.parent.subModels[e];if(Array.isArray(t)){let e=t.findIndex(e=>e==r);if(-1!==e){t.splice(e,1),r.parent.emitter.emit("onSubModelRemoved",r),null==(l=this.emitter)||l.emit("model:subModel:removed",{parentUid:r.parent.uid,parent:r.parent,model:r});break}}else if(t&&t===r){delete r.parent.subModels[e],r.parent.emitter.emit("onSubModelRemoved",r),null==(n=this.emitter)||n.emit("model:subModel:removed",{parentUid:r.parent.uid,parent:r.parent,model:r});break}}return this._modelInstances.delete(e),this.emitter.emitAsync("model:destroyed",{uid:e,model:r}),!0}removeModelWithSubModels(e){let t=this.getModel(e);if(!t)return!1;let l=(e,t)=>{if(e.subModels)for(let n in e.subModels){let r=e.subModels[n];Array.isArray(r)?[...r].forEach(e=>l(e,t)):r&&l(r,t)}t.push(e)},n=[];l(t,n);let r=!0;for(let e of n)this.removeModel(e.uid)||(r=!1);return r}ensureModelRepository(){return!!this._modelRepository}findModelInPreviousEngines(e){let t=this.previousEngine;for(;t;){let l=t.getModel(e);if(l)return l;t=t.previousEngine}}findSubModelInPreviousEngines(e,t){let l=this.previousEngine;for(;l;){let r=l.getModel(e);if(r){var n;let e=null==(n=r.subModels)?void 0:n[t];if(e){let t=Array.isArray(e)?e[0]:e;if(t)return{parent:r,model:t}}}l=l.previousEngine}}async hydrateModelFromPreviousEngines(e,t){let l=null==e?void 0:e.uid,n=null==e?void 0:e.parentId,r=null==e?void 0:e.subKey;if(l&&!this._modelInstances.has(l)){let e=this.findModelInPreviousEngines(l);if(null==e?void 0:e.context.flowSettingsEnabled)return null;if(e){let l=e.serialize();return this.createModelAsync(l,t)}}if(n&&r){var i;let e=this.findSubModelInPreviousEngines(n,r);if(!e||e.parent.context.flowSettingsEnabled)return null;let{parent:l,model:o}=e,a=this.getModel(n);if(!a){let e=l.serialize();delete e.subModels,a=await this.createModelAsync(e,t)}let s=o.serialize(),d=await this.createModelAsync(s,t),u=null==(i=a.subModels)?void 0:i[r];return Array.isArray(u)?u.some(e=>(null==e?void 0:e.uid)===(null==d?void 0:d.uid))||a.addSubModel(r,d):u instanceof V.WD?u.uid!==(null==d?void 0:d.uid)&&a.setSubModel(r,d):(null==d?void 0:d.subType)==="array"?a.addSubModel(r,d):a.setSubModel(r,d),d}return null}async loadModel(e){if(!this.ensureModelRepository())return;let t=!!(null==e?void 0:e.refresh),l=this._loadedPageCache.shouldBypass(e,()=>this.context.flowSettingsEnabled);if(this.context.flowSettingsEnabled&&this._loadedPageCache.markDirtyForOptions(e),!t&&!l){let t=this.findModelByParentId(e.parentId,e.subKey);if(t)return t;let l=await this.hydrateModelFromPreviousEngines(e);if(l)return l}let n=await this._modelRepository.findOne(e);if(!(null==n?void 0:n.uid))return l&&this._loadedPageCache.clear(e),null;if(t||l){let e=this.getModel(n.uid);e&&this.removeModelWithSubModels(e.uid)}let r=await this.createModelAsync(n);return l&&(this._loadedPageCache.mountModelToParent(r,!0),this._loadedPageCache.clear(e)),r}findModelByParentId(e,t){if(e&&this._modelInstances.has(e)){let l=this._modelInstances.get(e);if(l&&l.subModels[t]){let e=l.subModels[t];return Array.isArray(e)?e[0]:e}}}async loadOrCreateModel(e,t){if(!this.ensureModelRepository())return;let{uid:l,parentId:n,subKey:r}=e,i=this._loadedPageCache.shouldBypass(e,()=>this.context.flowSettingsEnabled);if(this.context.flowSettingsEnabled&&this._loadedPageCache.markDirtyForOptions(e),l&&!i&&this._modelInstances.has(l))return this._modelInstances.get(l);if(!i){let l=this.findModelByParentId(n,r);if(l)return l;let i=await this.hydrateModelFromPreviousEngines(e,t);if(i)return i}let o=await this._modelRepository.findOne(e),a=null;if(null==o?void 0:o.uid){if(i){let e=this.getModel(o.uid);e&&this.removeModelWithSubModels(e.uid)}a=await this.createModelAsync(o,t)}else a=await this.createModelAsync(e,t),(null==t?void 0:t.skipSave)||await a.save();return this._loadedPageCache.mountModelToParent(a,i),i&&this._loadedPageCache.clear(e),a}async saveModel(e,t){if(!this.ensureModelRepository())return;let l=e.uid,n=this._loadedPageCache.getDirtyKeyForModel(e,{force:!!(null==t?void 0:t.onlyStepParams)});if(this._savingModels.has(l))return this.logger.debug(`Model ${l} is already being saved, waiting for existing save operation`),await this._savingModels.get(l);let r=this._performModelSave(e,t);this._savingModels.set(l,r);try{let e=await r;return this._loadedPageCache.markDirty(n),e}finally{this._savingModels.delete(l)}}async _performModelSave(e,t){this.logger.debug(`Starting save operation for model ${e.uid}`);try{let l=await this._modelRepository.save(e,t);return this.logger.debug(`Successfully saved model ${e.uid}`),l}catch(t){throw this.logger.error(`Failed to save model ${e.uid}:`,t),t}}async destroyModel(e){let t=this._modelInstances.get(e),l=this._loadedPageCache.getDirtyKeyForModel(t),n=this.ensureModelRepository();n&&await this._modelRepository.destroy(e),n&&this._loadedPageCache.markDirty(l);let r=null==t?void 0:t.parent,i=this.removeModel(e);return r&&r.emitter.emit("onSubModelDestroyed",t),i}async duplicateModel(e){return this.ensureModelRepository()?this._modelRepository.duplicate(e):null}async replaceModel(e,t){let l,n=this.getModel(e);if(!n)return console.warn(`FlowEngine: Cannot replace model. Model with UID '${e}' not found.`),null;let r=n.parent,i=n.subKey,o=n.subType,a=n.serialize();l="function"==typeof t?t(n):t||{};let d={...s().omit(a,["subModels"]),...l};r&&r.emitter.setPaused(!0),await n.destroy();let u=this.createModel(d);if(r&&i&&("array"===o?r.addSubModel(i,u):r.setSubModel(i,u)),r){var c,p;r.emitter.setPaused(!1),r.parent.invalidateFlowCache("beforeRender",!0),null==(c=r.parent)||c.rerender(),r.emitter.emit("onSubModelReplaced",{oldModel:n,newModel:u}),null==(p=this.emitter)||p.emit("model:subModel:replaced",{parentUid:r.uid,parent:r,oldModel:n,newModel:u})}return await u.save(),u}async moveModel(e,t,l){var n,r;let i=String(e),o=String(t);if(!i||!o||i===o)return;let a=this.getModel(i),s=this.getModel(o);if(!a||!s)return void console.warn("FlowEngine: Cannot move model. Source or target model not found.");let d="after",u=this._loadedPageCache.getDirtyKeyForModel(a);((e,t)=>{if(!e.parent||!t.parent||e.parent!==t.parent)return console.error("FlowModel.moveTo: Both models must have the same parent to perform move operation."),!1;let l=e.parent.subModels[e.subKey];if(!l||!Array.isArray(l))return console.error("FlowModel.moveTo: Parent subModels must be an array to perform move operation."),!1;let n=[...l],r=e=>n.findIndex(t=>t.uid===e.uid),i=r(e),o=r(t);if(-1===i||-1===o)return console.error("FlowModel.moveTo: Current or target model not found in parent subModels."),!1;if(i===o)return console.warn("FlowModel.moveTo: Current model is already at the target position. No action taken."),!1;d=i<o?"after":"before";let[a]=n.splice(i,1);return n.splice(o,0,a),n.forEach((e,t)=>{e.sortIndex=t}),l.splice(0,l.length,...n),!0})(a,s)&&((null==l?void 0:l.persist)!==!1&&this.ensureModelRepository()&&(await this._modelRepository.move(i,o,d),this._loadedPageCache.markDirty(u)),a.parent.emitter.emit("onSubModelMoved",{source:a,target:s}),null==(r=this.emitter)||r.emit("model:subModel:moved",{parentUid:null==(n=a.parent)?void 0:n.uid,parent:a.parent,source:a,target:s}))}filterModelClassByParent(e){let t="string"==typeof e?this.getModelClass(e):e;if(!t)return new Map;let l=new Map;for(let[e,n]of this._modelClasses)(0,g.FA)(n,t)&&l.set(e,n);return l}static generateApplyFlowCacheKey(e,t,l){return`${e}:${t}:${l}`}constructor(){(0,r._)(this,e_),(0,i._)(this,"_actionRegistry",new p),(0,i._)(this,"_eventRegistry",new m),(0,i._)(this,"_modelClasses",o.observable.shallow(new Map)),(0,i._)(this,"_modelLoaders",new Map),(0,i._)(this,"_loadingModelPromises",new Map),(0,i._)(this,"_modelLoadersPreloaded",!1),(0,i._)(this,"_modelLoadersPreloadPromise",void 0),(0,i._)(this,"_modelInstances",new Map),(0,i._)(this,"_modelRepository",null),(0,i._)(this,"_applyFlowCache",new Map),(0,i._)(this,"_savingModels",new Map),(0,i._)(this,"_loadedPageCache",eI()),(0,i._)(this,"_flowContext",void 0),(0,i._)(this,"_previousEngine",void 0),(0,i._)(this,"_nextEngine",void 0),(0,i._)(this,"_destroyView",void 0),(0,i._)(this,"_resources",new Map),(0,i._)(this,"_dataSourceDirtyVersions",new Map),(0,i._)(this,"emitter",new ea.v),(0,i._)(this,"_modelOperationScheduler",void 0),(0,i._)(this,"logger",void 0),(0,i._)(this,"flowSettings",void 0),(0,i._)(this,"reactView",void 0),(0,i._)(this,"executor",void 0),this.reactView=new ew(this),this.flowSettings=new eg(this),this.flowSettings.registerScopes({t:this.translate.bind(this)}),this.registerModels({FlowModel:V.WD}),this.registerResources({FlowResource:eS.l2,SQLResource:eS.BH,APIResource:eS.hR,SingleRecordResource:eS.sB,MultiRecordResource:eS.Rn}),this.logger=u()({level:eT(),browser:{write:{fatal:e=>console.trace(e),error:e=>console.error(e),warn:e=>console.warn(e),info:e=>console.info(e),debug:e=>console.debug(e),trace:e=>console.trace(e)}}}),this.executor=new x(this)}}function eN(e,t){return this._registerModel(e,t)}},57084(e,t,l){l.d(t,{Ps:()=>o.Ps,PZ:()=>o.PZ,m2:()=>o.m2,sz:()=>d.s,uF:()=>d.u,ke:()=>c.k,GC:()=>s,fh:()=>i,eP:()=>c.e,t_:()=>u});var n=l(96540),r=l(20616);function i(e,t,l){let i=(0,r.uf)();return(0,n.useMemo)(()=>{let n=i.getModel(e);return!n&&t&&(n=i.createModel({uid:e,use:t,stepParams:l})),n},[i,t,e,l])}var o=l(97019),a=l(66466);function s(e,t,l){let i=(0,r.uf)(),o=(0,n.useMemo)(()=>"string"==typeof e?i.getModel(e):e,[e,i]);null==o||o.useHooksBeforeRender();let{loading:s,error:d}=(0,a.A)(async()=>{o&&await o.dispatchEvent("beforeRender",t,{useCache:null==l?void 0:l.useCache})},{refreshDeps:[o,t,null==l?void 0:l.useCache]});if((null==l?void 0:l.throwOnError)!==!1&&d)throw d;return{loading:s,error:d}}var d=l(16296);let u=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=(0,n.useRef)(0);return(0,n.useEffect)(()=>{let e=e=>{let{clientY:l}=e;t.current=Math.max(l,window.innerHeight-l)};return window.addEventListener("mousemove",e),()=>{window.removeEventListener("mousemove",e)}},[]),(0,n.useMemo)(()=>t.current-40,e)};var c=l(23200)},97019(e,t,l){l.d(t,{PZ:()=>s,Ps:()=>a,m2:()=>d});var n=l(74848),r=l(96540),i=l(52568);let o=(0,r.createContext)(null),a=e=>{let{model:t,children:l}=e;if(!t)throw Error("FlowModelProvider must be supplied with a model.");return(0,n.jsx)(o.Provider,{value:t,children:(0,n.jsx)(i.Dv,{context:t.context,children:l})})};function s(){let e=(0,r.useContext)(o);if(!e)throw Error("useFlowModel must be used within a FlowModelProvider");return e}function d(){return s().context}},16296(e,t,l){l.d(t,{s:()=>s,u:()=>a});var n=l(74848),r=l(96540),i=l(52568);let o=(0,r.createContext)(null),a=e=>{let{value:t,children:l}=e;return(0,n.jsx)(i.Dv,{context:t,children:(0,n.jsx)(o.Provider,{value:t,children:l})})},s=()=>{let e=(0,r.useContext)(o);if(!e)throw Error("useFlowSettingsContext must be used within a FlowSettingsContextProvider");return e}},23200(e,t,l){l.d(t,{e:()=>i,k:()=>r});var n=l(96540);let r=n.createContext({path:"",params:{}}),i=()=>(0,n.useContext)(r)},11869(e,t,l){l.r(t),l.d(t,{action:()=>p.XI,resolveOverlayAnchorTransform:()=>eR,batch:()=>p.vA,loadMetaTreeChildren:()=>t5,FlowSettingsButton:()=>y,verticalFormItemLabelStyle:()=>ls.FC,FlowRunJSContext:()=>e0.uk,compileUiSchema:()=>r.ln,resolveModuleUrl:()=>r.i,RUNJS_OPEN_VIEW_ROUTE_STATE:()=>r.sU,FlowsContextMenu:()=>e5,encodeBase64Url:()=>r.DX,setDataNode:()=>p.Jv,collectContextParamsForTemplate:()=>r.ju,simulateLayoutForSlot:()=>eF,CollectionField:()=>nV.JL,isVariableValue:()=>t9,runjsWithSafeGlobals:()=>r._,createRecordMetaFactory:()=>r.pc,FlowRuntimeContext:()=>e0.W5,markRaw:()=>p.IG,useFlowModelById:()=>d.fh,DetachedFlowRegistry:()=>rl,FlowViewContextProvider:()=>g.YQ,contains:()=>p.gR,isCompleteCtxDatePath:()=>r.M5,useDialog:()=>n9.sp,DisplayItemModel:()=>u.jG,createEphemeralContext:()=>r.vq,TOOLBAR_DRAG_ACTIVITY_EVENT:()=>eC,isSupportObservable:()=>p.Rq,isFieldInterfaceMatch:()=>nV.Xk,FlowEngineGlobalsContextProvider:()=>c.f7,FlowExitException:()=>r.sy,inferRecordRef:()=>r.XU,preprocessRunJsTemplates:()=>r.mH,FlowForkModelContext:()=>e0.Hl,FlowCancelSaveException:()=>r.VD,jioToJoiSchema:()=>nV.Ns,getSlotKey:()=>G,EMPTY_COLUMN_UID:()=>ek,markObservable:()=>p.po,FlowStep:()=>re.z,FlowEngineContext:()=>e0.o0,transformItems:()=>nr,COLUMN_EDGE_MIN_WIDTH:()=>j,decodeOpenViewRouteState:()=>r.ye,observe:()=>p.lB,openStepSettingsDrawer:()=>lT,untracked:()=>p.O8,getPageActive:()=>p.SL,useFlowEngineContext:()=>c.Db,FlowExitAllException:()=>r.zz,createCurrentRecordMetaFactory:()=>r.UX,ModelRenderMode:()=>u.NK,createViewScopedEngine:()=>ri._,SingleRecordResource:()=>a.sB,openStepSettingsDialog:()=>e1.openStepSettingsDialog,DragHandler:()=>eT,useApplyAutoFlows:()=>d.GC,FieldDeletePlaceholder:()=>u.xI,useFlowViewer:()=>g.MQ,ErrorFlowModel:()=>u._f,Collection:()=>nV.pM,MENU_KEYS:()=>r.Fv,hasCollected:()=>p.KP,serializeFlowRegistry:()=>rn,replaceFlowRegistry:()=>rr,projectLayoutToLegacyRows:()=>eo,createSafeWindow:()=>r.ey,resolveStepUiSchema:()=>r.o7,createSafeDocument:()=>r.Xh,VariableTag:()=>nu,resolveRunJSObjectValues:()=>r.mP,DndProvider:()=>eD,FlowsFloatContextMenu:()=>tq,Tracker:()=>p.JD,FlowContextSelector:()=>la,observer:()=>p.PA,isObservable:()=>p.AT,FlowStepContext:()=>d.ke,normalizeRunJSValue:()=>r.J3,parseValueToPath:()=>t1,getT:()=>r.lW,extractUsedVariablePaths:()=>r.nN,registerRunJSContextContribution:()=>nQ.JF,ForkFlowModel:()=>u.yN,BLOCK_GROUP_CONFIGS:()=>r.WJ,BLOCK_TYPES:()=>r.kl,VIEW_ACTIVATED_VERSION:()=>n7.tb,FlowErrorFallbackModal:()=>eK,escapeT:()=>r.MI,prepareRunJsCode:()=>r.ji,useNiceDropdownMaxHeight:()=>d.t_,FlowModelRenderer:()=>tG,extractPropertyPath:()=>r.YB,createCollectionContextMeta:()=>r.H9,useFlowModel:()=>d.PZ,getRunJSDocFor:()=>nH,useDrawer:()=>n9.bt,parsePathnameToViewParams:()=>r.KB,buildWrapperFieldChildren:()=>l2.jx,largeField:()=>nq,isInheritedFrom:()=>r.FA,buildSubModelGroups:()=>l2.Qp,FieldModelRenderer:()=>tX,observable:()=>p.sH,registerRunJSSnippet:()=>n0,AddSubModelButton:()=>no,FlowViewContext:()=>g.PC,FlowDefinition:()=>re.G,serializeCtxDateValue:()=>r.hz,setupRunJSContexts:()=>nX.setupRunJSContexts,DataNode:()=>p.dw,buildRecordMeta:()=>r.$S,replaceUidInGridLayout:()=>ec,VIEW_ENGINE_SCOPE:()=>"view",FilterItem:()=>a.qi,buildDataTree:()=>p.H_,normalizeGridLayout:()=>eu,autorun:()=>p.fm,ENGINE_SCOPE_KEY:()=>n7.i6,buildItems:()=>l2.z5,clearAutoFlowError:()=>r.Z8,EMBED_REPLACING_DATA_KEY:()=>n9.xB,MobilePopup:()=>nL.D,defineFlow:()=>u.oY,DATA_SOURCE_DIRTY_EVENT:()=>n7.HK,isCtxDateExpression:()=>r.y4,usePage:()=>n9.N5,createDefaultConverters:()=>t7,createOpenViewRouteState:()=>r.cg,raw:()=>p.lS,FieldPlaceholder:()=>u.WE,tExpr:()=>r.MZ,VariableInput:()=>ng,BaseRecordResource:()=>a.vB,isAnnotation:()=>p.Ir,buildContextSelectorItems:()=>t3,MAX_SLOT_THICKNESS:()=>P,MemoFlowModelRenderer:()=>tY,CollectionFieldModel:()=>u.yW,createRecordResolveOnServerWithLocal:()=>r.xI,isVariableExpression:()=>r.n2,FlowContext:()=>e0.cB,GLOBAL_EMBED_CONTAINER_ID:()=>n9.mW,createFinalConverters:()=>le,useFlowViewContext:()=>g.Ww,getCollectionFieldInterface:()=>nV.U1,createAssociationSubpathResolver:()=>r.Hi,SQLResource:()=>a.BH,FlowModelProvider:()=>d.Ps,FormItem:()=>ls.eI,COLUMN_EDGE_MAX_WIDTH:()=>E,DataSourceManager:()=>nV.zA,getAutoFlowError:()=>r.yz,SlateVariableEditor:()=>n$,useFlowSettingsContext:()=>d.sz,ActionScene:()=>n,getEmitterViewActivatedVersion:()=>n7.FH,ViewNavigation:()=>n9.U,randomId:()=>r.zE,resolveDefaultParams:()=>r.gG,MIN_SLOT_THICKNESS:()=>C,resolveCreateModelOptions:()=>r.mv,resolveStepDisabledInSettings:()=>r.XM,model:()=>p.ge,DataChange:()=>p.r5,Droppable:()=>e_,FlowsDropdownButton:()=>lc,buildSubModelItem:()=>l2.Ls,useFlowContext:()=>g.$K,useFlowView:()=>g.Vy,resolveExpressions:()=>r.M,preloadContextSelectorPath:()=>t6,mergeSubModelItems:()=>l9,defineAction:()=>r.QP,FlowSQLRepository:()=>a.tP,VariableHybridInput:()=>nE,decodeBase64Url:()=>r.$X,shouldPreprocessRunJSTemplates:()=>nK.R,COLUMN_EDGE_WIDTH_RATIO:()=>R,FlowResource:()=>a.l2,LazyDropdown:()=>l1,FlowEngine:()=>s.$,DataSource:()=>nV.qS,FLOW_ENGINE_NAMESPACE:()=>r.u4,isSameGridLayout:()=>eA,parseCtxDateExpression:()=>r.X4,DEFAULT_GRID_COLUMNS:()=>k,registerRunJSLib:()=>o.T1,resolveCtxDatePath:()=>r.Vv,findModelUidLayoutPosition:()=>ep,resolveDropIntent:()=>Q,shouldHideEventInSettings:()=>r.qI,shouldHideStepInSettings:()=>r._3,MultiRecordResource:()=>a.Rn,isOpenViewRouteStateToken:()=>r.dN,usePopover:()=>n9.fP,ElementProxy:()=>nz.x,FlowModel:()=>u.WD,isCtxDatePathPrefix:()=>r.JE,openRequiredParamsStepFormDialog:()=>lO.openRequiredParamsStepFormDialog,FlowSettingsContextProvider:()=>d.uF,extractUsedVariableNames:()=>r.vP,InlineVariableTag:()=>nD,isBeforeRenderFlow:()=>r.EI,EditableItemModel:()=>u.B3,FlowSettings:()=>lx,getDataNode:()=>p.D,CollectionManager:()=>nV.qG,createRunJSDeprecationProxy:()=>e0.Bt,JSRunner:()=>nK.I,searchInLoadedNodes:()=>t4,useResolvedMetaTree:()=>lt,FlowErrorFallback:()=>ez,FlowEngineProvider:()=>c.I6,ResourceError:()=>a.BS,formatPathToVariable:()=>r.AP,createBlockScopedEngine:()=>ro,isCssFile:()=>r.yp,extractUsedVariablePathsFromRunJS:()=>r.$n,formatPathToValue:()=>t2,resolveUiMode:()=>r.ME,getRunJSScenesForModel:()=>nY,FlowsSettings:()=>lE,pruneFilter:()=>r.pM,setupRuntimeContextSteps:()=>r.wx,buildSubModelItems:()=>l2.yG,createJSRunnerWithVersion:()=>nG,findModelUidPosition:()=>S,define:()=>p.E8,buildLayoutSnapshot:()=>H,FlowModelContext:()=>e0.d6,getModelClassName:()=>nU.B,APIResource:()=>a.hR,FilterGroup:()=>a.I8,RunJSContextRegistry:()=>nU.F,useFlowEngine:()=>c.uf,VIEW_ACTIVATED_EVENT:()=>n7.B9,formItemStyle:()=>ls.jP,createAssociationAwareObjectMetaFactory:()=>r.af,createSafeRunJSGlobals:()=>r.I2,setAutoFlowError:()=>r.GZ,FilterableItemModel:()=>u.bt,compileRunJs:()=>i.W,encodeOpenViewRouteState:()=>r.Gu,filterLoadedContextSelectorItems:()=>t8,getRunJSScenesForContext:()=>nJ,getSnippetBody:()=>n3,useFlowModelContext:()=>d.m2,reaction:()=>p.mJ,FlowContextProvider:()=>g.Dv,isRunJSValue:()=>r.E2,useFlowStep:()=>d.eP,openStepSettings:()=>lN,FlowReactContext:()=>g.bc,createSafeNavigator:()=>r.D1,toJS:()=>p.HO,listSnippetsForContext:()=>n6});var n=function(e){return e[e.BLOCK_LINKAGE_RULES=1]="BLOCK_LINKAGE_RULES",e[e.FIELD_LINKAGE_RULES=2]="FIELD_LINKAGE_RULES",e[e.SUB_FORM_FIELD_LINKAGE_RULES=3]="SUB_FORM_FIELD_LINKAGE_RULES",e[e.DETAILS_FIELD_LINKAGE_RULES=4]="DETAILS_FIELD_LINKAGE_RULES",e[e.ACTION_LINKAGE_RULES=5]="ACTION_LINKAGE_RULES",e[e.DYNAMIC_EVENT_FLOW=6]="DYNAMIC_EVENT_FLOW",e[e.MENU_LINKAGE_RULES=7]="MENU_LINKAGE_RULES",e}({}),r=l(60182),i=l(49773),o=l(98192),a=l(27667),s=l(48910),d=l(57084),u=l(33954),c=l(20616),p=l(52847),h=l(74848),m=l(71021),f=l(96540),g=l(52568);function v(e){let t=(0,p.PA)(t=>(0,g.$K)().flowSettingsEnabled?(0,h.jsx)(e,{...t}):null);return t.displayName=`withFlowDesignMode(${e.displayName||e.name||"Component"})`,t}let y=v(e=>(0,h.jsx)(m.Ay,{...e,type:"dashed",style:{...e.style,borderColor:"var(--colorSettings)",color:"var(--colorSettings)",alignSelf:"flex-start"}}));y.displayName="FlowSettingsButton";var b=l(2805),x=l(98668),w=l(40961);let S=(e,t)=>{let l=null;for(let[n,r]of Object.entries(t))for(let t=0;t<r.length;t++){let i=r[t];for(let r=0;r<i.length;r++)i[r]===e&&(l={rowId:n,columnIndex:t,itemIndex:r})}return l};var M=l(27253),A=l(2543),F=l.n(A);let k=24,C=16,P=48,j=12,E=28,R=.2,I=.5,T=.33,_=(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},D=(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},N=e=>{let t=_(e.rows,e.rowOrder);return e.rowOrder=t,e.rows=D(e.rows,t),t},O=e=>({top:e.top,left:e.left,width:e.width,height:e.height}),$=e=>Math.max(C,Math.min(P,e)),B=e=>{let{top:t,left:l,width:n,height:r}=e;return{top:t,left:l,width:n,height:r}},L=(e,t,l)=>{let n=$(e.height*T);if("above"===t){let t=$(Math.max(n,e.top-l.top));return B({top:e.top-t,left:l.left,width:l.width,height:t})}let r=$(Math.max(n,l.top+l.height-(e.top+e.height)));return B({top:e.top+e.height,left:l.left,width:l.width,height:r})},V=(e,t)=>{let l=Math.min(Math.max(j,e.width*R),E);return B({top:e.top,left:"left"===t?e.left:e.left+e.width-l,width:l,height:e.height})},q=(e,t)=>{let l=$(e.height*I);return"before"===t?B({top:e.top,left:e.left,width:e.width,height:l}):B({top:e.top+e.height-l,left:e.left,width:e.width,height:l})},z=e=>{if(e)try{let t=JSON.parse(e);if(!Array.isArray(t))return;let l=t.map(e=>e&&"object"==typeof e&&"string"==typeof e.rowId?{rowId:e.rowId,..."string"==typeof e.cellId?{cellId:e.cellId}:{}}:null).filter(Boolean);return l.length?l:void 0}catch(e){return}},K=(e,t)=>[{rowId:e,cellId:`${e}:cell:${t}`}],U=e=>({top:e.top,left:e.left,width:e.width,height:Math.max(e.height,C)}),W=e=>Array.from(e.querySelectorAll("[data-grid-row-id]")).some(t=>t.closest("[data-grid-column-row-id][data-grid-column-index]")===e),H=e=>{let{container:t}=e;if(!t)return{slots:[],containerRect:{top:0,left:0,width:0,height:0}};let l=(t.hasAttribute("data-grid-root")?t:t.querySelector("[data-grid-root]"))||t,n=O(l.getBoundingClientRect()),r=[],i=Array.from(l.querySelectorAll("[data-grid-row-id]")),o=l.hasAttribute("data-grid-root"),a=i.filter(e=>{let t=e;if(o)return t.closest("[data-grid-root]")===l;let n=t.parentElement;for(;n&&n!==l;){if(n.hasAttribute("data-grid-row-id"))return!1;n=n.parentElement}return!0});if(0===a.length)return r.push({type:"empty-row",rect:B({top:n.top,left:n.left,width:n.width,height:Math.max(n.height,C)})}),{slots:r,containerRect:n};let s=e=>{let t=e.parentElement;return t&&l.contains(t)?t:l},d=new Map;return a.forEach(e=>{let t=s(e);d.set(t,[...d.get(t)||[],e])}),a.forEach(e=>{let t=e.dataset.gridRowId;if(!t)return;let n=O(e.getBoundingClientRect()),i=z(e.dataset.gridPath)||[{rowId:t}],o=s(e),a=O(o.getBoundingClientRect());(d.get(o)||[])[0]===e&&r.push({type:"row-gap",targetRowId:t,position:"above",rect:L(n,"above",a),path:i}),Array.from(l.querySelectorAll(`[data-grid-column-row-id="${t}"][data-grid-column-index]`)).filter(t=>t.closest("[data-grid-row-id]")===e).sort((e,t)=>Number(e.dataset.gridColumnIndex||0)-Number(t.dataset.gridColumnIndex||0)).forEach(e=>{let l=Number(e.dataset.gridColumnIndex||0),n=O(e.getBoundingClientRect()),i=z(e.dataset.gridPath)||K(t,l);r.push({type:"column-edge",rowId:t,columnIndex:l,direction:"left",rect:V(n,"left"),path:i}),r.push({type:"column-edge",rowId:t,columnIndex:l,direction:"right",rect:V(n,"right"),path:i});let o=Array.from(e.querySelectorAll(`[data-grid-item-row-id="${t}"][data-grid-column-index="${l}"]`)).filter(t=>t.closest("[data-grid-column-row-id][data-grid-column-index]")===e).sort((e,t)=>Number(e.dataset.gridItemIndex||0)-Number(t.dataset.gridItemIndex||0));if(0===o.length){if(W(e))return;r.push({type:"empty-column",rowId:t,columnIndex:l,rect:U(n),path:i});return}let a=O(o[0].getBoundingClientRect());r.push({type:"column",rowId:t,columnIndex:l,insertIndex:0,position:"before",rect:q(a,"before"),path:i}),o.forEach((e,n)=>{let o=O(e.getBoundingClientRect()),a=z(e.dataset.gridPath)||i,s=e.dataset.gridItemUid||"";r.push({type:"item-edge",rowId:t,columnIndex:l,itemIndex:n,itemUid:s,direction:"left",rect:V(o,"left"),path:a}),r.push({type:"item-edge",rowId:t,columnIndex:l,itemIndex:n,itemUid:s,direction:"right",rect:V(o,"right"),path:a}),r.push({type:"column",rowId:t,columnIndex:l,insertIndex:n+1,position:"after",rect:q(o,"after"),path:a})})}),r.push({type:"row-gap",targetRowId:t,position:"below",rect:L(n,"below",a),path:i})}),{slots:r,containerRect:n}},G=e=>{switch(e.type){case"column":return`${e.type}:${e.rowId}:${e.columnIndex}:${e.insertIndex}:${e.position}`;case"column-edge":return`${e.type}:${e.rowId}:${e.columnIndex}:${e.direction}`;case"row-gap":return`${e.type}:${e.targetRowId}:${e.position}`;case"empty-row":return`${e.type}`;case"empty-column":return`${e.type}:${e.rowId}:${e.columnIndex}`;case"item-edge":return`${e.type}:${e.rowId}:${e.columnIndex}:${e.itemUid}:${e.direction}`}},Y=(e,t)=>e.x>=t.left&&e.x<=t.left+t.width&&e.y>=t.top&&e.y<=t.top+t.height,J=(e,t)=>{let l=Math.max(t.left-e.x,0,e.x-(t.left+t.width)),n=Math.max(t.top-e.y,0,e.y-(t.top+t.height));return Math.sqrt(l*l+n*n)},X={"item-edge":5,"column-edge":4,column:3,"row-gap":2,"empty-column":1,"empty-row":0},Q=(e,t)=>{if(!t.length)return null;let l=null,n=-1/0;if(t.forEach(t=>{if(!Y(e,t.rect))return;let r=X[t.type];r>n&&(n=r,l=t)}),l)return l;let r=null,i=1/0;return t.forEach(t=>{let l=J(e,t.rect);(l<i||l===i&&r&&X[t.type]>X[r.type])&&(i=l,r=t)}),r},Z=(e,t)=>{for(let[l,n]of Object.entries(e))for(let e=0;e<n.length;e+=1){let r=n[e].indexOf(t);if(-1!==r)return{rowId:l,columnIndex:e,itemIndex:r}}return null},ee=(e,t)=>{let l=Z(e.rows,t);if(!l)return;let{rowId:n,columnIndex:r,itemIndex:i}=l,o=e.rows[n],a=null==o?void 0:o[r];if(a){if(a.splice(i,1),0===a.length&&(o.splice(r,1),e.sizes[n]&&e.sizes[n].splice(r,1)),0===o.length){delete e.rows[n],delete e.sizes[n],N(e);return}eh(n,e),N(e)}},et=(e,t)=>{if(0===t)return[];let l=Array.from({length:t},(t,l)=>{let n=e[l];return Number.isFinite(n)&&n>0?n:1}),n=l.reduce((e,t)=>e+t,0)||t,r=l.map(e=>e/n).map(e=>e*k),i=r.map(e=>Math.max(1,Math.floor(e))),o=k-i.reduce((e,t)=>e+t,0);if(o>0){let e=r.map((e,t)=>({index:t,decimal:e-Math.floor(e)})).sort((e,t)=>t.decimal-e.decimal),t=0;for(;o>0&&e.length;){let l=e[t%e.length].index;i[l]+=1,o-=1,t+=1}}else if(o<0){let e=r.map((e,t)=>({index:t,decimal:e-Math.floor(e)})).sort((e,t)=>e.decimal-t.decimal),t=0;for(;o<0&&e.length;){let l=e[t%e.length].index;i[l]>1&&(i[l]-=1,o+=1),t+=1}}let a=k-i.reduce((e,t)=>e+t,0);return 0!==a&&i.length&&(i[i.length-1]+=a),i},el="EMPTY_COLUMN",en=(e,t)=>({id:t,cells:[{id:`${t}:cell:0`,items:[e]}],sizes:[k]}),er=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;return{version:2,rows:_(e,l).map(l=>{let n=(e[l]||[]).map((e,t)=>({id:`${l}:cell:${t}`,items:[...e]}));return{id:l,cells:n,sizes:et(t[l]||Array(n.length).fill(1),n.length)}}).filter(e=>e.cells.length>0)}},ei=e=>Array.isArray(e.items)?e.items:(e.rows||[]).flatMap(e=>e.cells.flatMap(e=>ei(e))),eo=e=>{let t={},l={},n=[];return function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";e.forEach(e=>{let i=r?`${r}/${e.id}`:e.id,o=e.cells.map(e=>ei(e)).filter(e=>e.length>0);o.length>0&&(t[i]=o,l[i]=et(e.sizes||Array(o.length).fill(1),o.length),n.push(i))})}(e.rows||[]),{rows:t,sizes:l,rowOrder:n,layout:e}},ea=(e,t)=>(Array.isArray(e)?e:[]).map((e,l)=>{let n=Array.isArray(null==e?void 0:e.cells)?e.cells:[],r=Array.isArray(null==e?void 0:e.sizes)?e.sizes:[],i=n.map((n,i)=>{let o="string"==typeof(null==n?void 0:n.id)&&n.id?n.id:`${(null==e?void 0:e.id)||`row:${l}`}:cell:${i}`,a=r[i];if(Array.isArray(null==n?void 0:n.rows)&&n.rows.length>0){let e=ea(n.rows,t);if(e.length>0)return{cell:{id:o,rows:e},size:a}}let s=Array.isArray(null==n?void 0:n.items)?n.items:void 0,d=(s||[]).filter(e=>"string"==typeof e&&e).filter(e=>!t.validUids||t.validUids.has(e)||e===el).filter(e=>e===el||!t.seenUids.has(e)&&(t.seenUids.add(e),!0));return s&&(d.length>0||0===s.length)?{cell:{id:o,items:d},size:a}:null}).filter(Boolean),o=i.map(e=>e.cell);return 0===o.length?null:{id:"string"==typeof(null==e?void 0:e.id)&&e.id?e.id:`row:${l}`,cells:o,sizes:et(i.map(e=>e.size),o.length)}}).filter(Boolean),es=e=>{var t;if(null==(t=e.rows)?void 0:t.length){let t=ed(e.rows);return 0===t.length?null:1===t.length&&1===t[0].cells.length&&t[0].sizes[0]===k?{id:e.id,...F().omit(t[0].cells[0],["id"])}:{id:e.id,rows:t}}return Array.isArray(e.items)?{id:e.id,items:e.items.filter(Boolean)}:null},ed=e=>e.map(e=>{let t=e.cells.map((t,l)=>{var n;let r=es(t);return r?{cell:r,size:null==(n=e.sizes)?void 0:n[l]}:null}).filter(Boolean),l=t.map(e=>e.cell);return 0===l.length?null:{id:e.id,cells:l,sizes:et(t.map(e=>e.size),l.length)}}).filter(Boolean),eu=e=>{let{layout:t,rows:l,sizes:n,rowOrder:r,itemUids:i,generateId:o=M.uid,logger:a,gridUid:s}=e,d=i?new Set(i):void 0;d&&d.add(el);try{let e=(null==t?void 0:t.version)===2?F().cloneDeep(t):er(l||{},n||{},r||Object.keys(l||{})),a=new Set,s={version:2,rows:ed(ea(e.rows||[],{validUids:d,seenUids:a}))};return(null==i?void 0:i.length)&&i.forEach(e=>{if(e===el||a.has(e))return;let t=o();s.rows.push(en(e,t)),a.add(e)}),s}catch(e){var u;return null==a||null==(u=a.warn)||u.call(a,`[GridModel] Failed to normalize grid layout${s?` (${s})`:""}.`,e),{version:2,rows:(i||[]).filter(e=>e!==el).map(e=>en(e,o()))}}},ec=(e,t,l)=>{let n=e=>e.map(e=>({...e,cells:e.cells.map(e=>e.rows?{...e,rows:n(e.rows)}:{...e,items:(e.items||[]).map(e=>e===t?l:e)})}));return{version:2,rows:n(F().cloneDeep(e.rows||[]))}},ep=(e,t)=>{let l=(e,n)=>{for(let r=0;r<e.length;r+=1){let i=e[r];for(let e=0;e<i.cells.length;e+=1){let o=i.cells[e],a=[...n,{rowId:i.id,cellId:o.id}];if(o.items){let l=o.items.indexOf(t);if(-1!==l)return{path:a,rowIndex:r,cellIndex:e,itemIndex:l,itemUid:t}}if(o.rows){let e=l(o.rows,a);if(e)return e}}}return null};return l(e.rows||[],[])},eh=(e,t)=>{let l=t.rows[e];if(!l||0===l.length)return void delete t.sizes[e];let n=t.sizes[e]||Array(l.length).fill(k/l.length),r=n.length===l.length?n:Array(l.length).fill(k/l.length);t.sizes[e]=et(r,l.length)},em=(e,t,l,n,r)=>{let i=Object.entries(e),o={},a=!1;return i.forEach(e=>{let[i,s]=e;a||"before"!==n||i!==t||(o[l]=r,a=!0),o[i]=s,a||"after"!==n||i!==t||(o[l]=r,a=!0)}),a||(o[l]=r),o},ef=(e,t,l)=>{if(!e||0===e.length)return et(Array(l).fill(1),l);let n=e.map(e=>Number.isFinite(e)&&e>0?e:1),r=Math.max(0,Math.min(t,n.length-1)),i=n[r]??1,o=[...n];return o.splice(t,0,i),et(o,l)},eg=(e,t)=>{var l;return"path"in t&&(null==(l=t.path)?void 0:l.length)?t.path:"rowId"in t&&"columnIndex"in t?K(t.rowId,t.columnIndex):void 0},ev=(e,t)=>{if(!t||t.length<=1)return e.rows;let l=e.rows;for(let e=0;e<t.length-1;e+=1){let n=t[e],r=l.find(e=>e.id===n.rowId),i=null==r?void 0:r.cells.find(e=>e.id===n.cellId);if(!(null==i?void 0:i.rows))break;l=i.rows}return l},ey=(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],r=l.findIndex(e=>e.id===n.rowId),i=l[r];if(!i||!n.cellId)break;let o=i.cells.findIndex(e=>e.id===n.cellId),a=i.cells[o];if(!a)break;if(e===t.length-1)return{rows:l,row:i,cell:a,rowIndex:r,cellIndex:o};l=a.rows||[]}return null},eb=(e,t)=>{if(!(null==t?void 0:t.length))return null;for(let l=t.length;l>0;l-=1){let n=ey(e,t.slice(0,l));if(n)return n}return null},ex=(e,t)=>{let l=e=>e.map(e=>{let n=e.cells.map((n,r)=>{var i,o;if(n.rows){let t=l(n.rows);return t.length?{cell:{...n,rows:t},size:null==(o=e.sizes)?void 0:o[r]}:null}let a=n.items||[],s=a.includes(t),d=a.filter(e=>e!==t);return s&&!d.length?null:{cell:{...n,items:d},size:null==(i=e.sizes)?void 0:i[r]}}).filter(Boolean),r=n.map(e=>e.cell);return r.length?{...e,cells:r,sizes:et(n.map(e=>e.size),r.length)}:null}).filter(Boolean);e.rows=ed(l(e.rows))},ew=(e,t,l)=>({id:t,cells:[{id:l,items:[e]}],sizes:[k]}),eS=(e,t)=>{var l,n,r;let i=null==t||null==(l=t.generatedIds)?void 0:l.get(e);if(i)return i;let o=(null==t||null==(n=t.generateId)?void 0:n.call(t,e))||(0,M.uid)();return null==t||null==(r=t.generatedIds)||r.set(e,o),o},eM=e=>{let{slot:t,sourceUid:l,layout:n,generatedIds:r,generateId:i}=e,o=eu({layout:n.layout,rows:n.rows,sizes:n.sizes,rowOrder:n.rowOrder}),a=F().cloneDeep(o),s=G(t),d=ep(a,l);if("item-edge"===t.type&&t.itemUid===l)return a;let u=eg(a,t),c="item-edge"===t.type?t.itemUid:void 0;switch(ex(a,l),t.type){case"column":{var p;let e=eb(a,u);if(!e)break;if(e.cell.rows){e.cell.rows.push(en(l,eS(`${s}:row`,{generatedIds:r,generateId:i})));break}(p=e.cell).items||(p.items=[]);let n=Math.max(0,Math.min(t.insertIndex,e.cell.items.length));e.cell.items.splice(n,0,l);break}case"empty-column":{let e=eb(a,u);e&&(delete e.cell.rows,e.cell.items=[l]);break}case"column-edge":{let e=eb(a,u);if(!e)break;let n="left"===t.direction?e.cellIndex:e.cellIndex+1,o=eS(`${s}:cell`,{generatedIds:r,generateId:i});e.row.cells.splice(n,0,{id:o,items:[l]}),e.row.sizes=ef(e.row.sizes,n,e.row.cells.length);break}case"row-gap":{let e=ev(a,t.path),n=e.findIndex(e=>e.id===t.targetRowId),o=-1===n?e.length:"above"===t.position?n:n+1,d=eS(`${s}:row`,{generatedIds:r,generateId:i});e.splice(o,0,ew(l,d,`${d}:cell:0`));break}case"empty-row":{let e=eS(`${s}:row`,{generatedIds:r,generateId:i});a.rows.push(ew(l,e,`${e}:cell:0`));break}case"item-edge":{if(!c)break;let e=eb(a,u);if(!(null==e?void 0:e.cell.items))break;let n=e.cell.items.indexOf(c);if(-1===n)break;let o=[];e.cell.items.forEach((e,a)=>{if(a===n){let n=eS(`${s}:target-row`,{generatedIds:r,generateId:i}),a="left"===t.direction?l:e,d="left"===t.direction?e:l;o.push({id:n,cells:[{id:eS(`${s}:target-cell:0`,{generatedIds:r,generateId:i}),items:[a]},{id:eS(`${s}:target-cell:1`,{generatedIds:r,generateId:i}),items:[d]}],sizes:[12,12]});return}let d=eS(`${s}:row:${a}`,{generatedIds:r,generateId:i});o.push(ew(e,d,`${d}:cell:0`))}),delete e.cell.items,e.cell.rows=o}}let h=eu({layout:a});return d&&eA(h,o)?o:h},eA=(e,t)=>JSON.stringify(e)===JSON.stringify(t),eF=e=>{var t;let{slot:l,sourceUid:n,layout:r,generateRowId:i,generatedIds:o,generateId:a}=e;if(r.layout||"item-edge"===l.type||"path"in l&&(null==(t=l.path)?void 0:t.length))return eo(eM({slot:l,sourceUid:n,layout:r,generateRowId:i,generatedIds:o,generateId:a}));let s={rows:F().cloneDeep(r.rows),sizes:F().cloneDeep(r.sizes),rowOrder:r.rowOrder?[...r.rowOrder]:void 0};N(s),ee(s,n);let d=i??M.uid;switch(l.type){case"column":{let e=s.rows[l.rowId]||[];s.rows[l.rowId]||(s.rows[l.rowId]=e),e[l.columnIndex]||(e[l.columnIndex]=[]),e[l.columnIndex].splice(l.insertIndex,0,n),eh(l.rowId,s);break}case"empty-column":{let e=s.rows[l.rowId]||[];s.rows[l.rowId]||(s.rows[l.rowId]=e),e[l.columnIndex]||(e[l.columnIndex]=[]),e[l.columnIndex]=[n],eh(l.rowId,s);break}case"column-edge":{let e=s.rows[l.rowId]||[];s.rows[l.rowId]||(s.rows[l.rowId]=e);let t="left"===l.direction?l.columnIndex:l.columnIndex+1;e.splice(t,0,[n]),s.sizes[l.rowId]=ef(s.sizes[l.rowId],t,e.length),eh(l.rowId,s);break}case"row-gap":{let e=d(),t="above"===l.position?"before":"after",r=_(s.rows,s.rowOrder);s.rows=em(s.rows,l.targetRowId,e,t,[[n]]),s.sizes[e]=[k];let i=r.indexOf(l.targetRowId),o=-1===i?r.length:"before"===t?i:i+1,a=[...r];a.splice(o,0,e),s.rowOrder=a,s.rows=D(s.rows,a);break}case"empty-row":{let e=d();s.rows={...s.rows,[e]:[[n]]},s.sizes[e]=[k];let t=_(s.rows,s.rowOrder);s.rowOrder=[...t.filter(t=>t!==e),e],s.rows=D(s.rows,s.rowOrder)}}return N(s),s},ek="EMPTY_COLUMN",eC="nb-toolbar-drag-activity",eP="nb-toolbar-drag-anchor",ej=".ant-menu-submenu-popup",eE=e=>{var t;return(null==e||null==(t=e.closest(".nb-toolbar-container[data-model-uid]"))?void 0:t.getAttribute("data-model-uid"))||null},eR=e=>{let{activeId:t,active:l,transform:n,activeNodeRect:r,dragAnchorPoint:i}=e;return t&&(null==l?void 0:l.id)===t&&i&&r?{...n,x:n.x+i.x-r.left,y:n.y+i.y-r.top}:n},eI=e=>{let t=null==e?void 0:e.ownerDocument,l=null==e?void 0:e.closest(".nb-toolbar-container[data-model-uid]"),n=eE(e);if(!t||!n)return e;let r=Array.from(t.querySelectorAll(`[data-has-float-menu="true"][data-float-menu-model-uid="${n}"]`)),i=null==l?void 0:l.closest(ej);return i?r.find(e=>e.closest(ej)===i)||e:r.find(e=>!e.closest(ej))||r[0]||e},eT=e=>{let{model:t,children:l=(0,h.jsx)(b.A,{})}=e,{attributes:n,isDragging:r,listeners:i,setActivatorNodeRef:o,setNodeRef:a}=(0,x.useDraggable)({id:t.uid}),s=(0,f.useRef)(null),d=(0,f.useRef)(null),u=(0,f.useRef)(null),c=(0,f.useRef)(null),p=(0,f.useRef)(r),m=(0,f.useRef)(!1),g=(0,f.useRef)(!1),v=(0,f.useCallback)(e=>{let t=eI(e);d.current!==t&&(d.current=t,a(t))},[a]),y=(0,f.useCallback)(e=>{s.current=e,o(e),v(e)},[o,v]),w=(0,f.useCallback)(e=>{var l;let n=null==(l=s.current)?void 0:l.ownerDocument;if(!n)return;let r=eE(s.current)||c.current||t.uid;c.current=e?r:null,n.dispatchEvent(new CustomEvent(eC,{detail:{active:e,modelUid:r}}))},[t.uid]),S=(0,f.useCallback)(e=>{var l;let n=null==(l=s.current)?void 0:l.ownerDocument;n&&n.dispatchEvent(new CustomEvent(eP,{detail:{modelUid:t.uid,point:e.point}}))},[t.uid]),M=(0,f.useCallback)(()=>{var e;null==(e=u.current)||e.call(u),u.current=null},[]),A=(0,f.useCallback)(()=>{let e=m.current||p.current;e!==g.current&&(g.current=e,w(e))},[w]),F=(0,f.useCallback)(()=>{m.current=!1,M(),A()},[M,A]),k=(0,f.useCallback)(()=>{var e;let t=null==(e=s.current)?void 0:e.ownerDocument,l=null==t?void 0:t.defaultView;if(!t)return;M();let n=()=>{F()},r=e=>{"Escape"===e.key&&F()};t.addEventListener("pointerup",n,!0),t.addEventListener("pointercancel",n,!0),t.addEventListener("keydown",r,!0),null==l||l.addEventListener("blur",n),u.current=()=>{t.removeEventListener("pointerup",n,!0),t.removeEventListener("pointercancel",n,!0),t.removeEventListener("keydown",r,!0),null==l||l.removeEventListener("blur",n)}},[M,F]);return(0,f.useEffect)(()=>{v(s.current)},[v]),(0,f.useEffect)(()=>{p.current=r,A()},[r,A]),(0,f.useEffect)(()=>()=>{g.current&&w(!1),m.current=!1,p.current=!1,g.current=!1,M()},[M,w]),(0,h.jsx)("span",{ref:y,...i,...n,onPointerDownCapture:e=>{0===e.button&&(S({point:{x:e.clientX,y:e.clientY}}),m.current=!0,A(),k())},style:{cursor:"grab"},children:l})},e_=e=>{let{model:t,children:l}=e,{setNodeRef:n,isOver:r,active:i}=(0,x.useDroppable)({id:t.uid}),o=(null==i?void 0:i.id)===t.uid;return(0,h.jsxs)("div",{ref:n,style:{position:"relative",opacity:o?.3:1,outline:o?"2px solid var(--colorBorderSettingsHover)":"none",borderRadius:o?t.context.themeToken.borderRadiusLG:"none"},children:[l,(0,h.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:r?"var(--colorBgSettingsHover)":"transparent",pointerEvents:"none"}})]})},eD=e=>{let{persist:t=!0,showDragOverlay:l=!0,children:n,onDragStart:r,onDragEnd:i,onDragCancel:o,...a}=e,[s,d]=(0,f.useState)(null),[u,p]=(0,f.useState)(null),m=(0,c.uf)();(0,f.useEffect)(()=>{if("u"<typeof document)return;let e=e=>{var t;p((null==(t=e.detail)?void 0:t.point)||null)};return document.addEventListener(eP,e),()=>{document.removeEventListener(eP,e)}},[]);let g=(0,f.useCallback)(e=>{let{active:t,activeNodeRect:l,transform:n}=e;return eR({activeId:s,active:t,transform:n,activeNodeRect:l,dragAnchorPoint:u})},[s,u]);return(0,h.jsxs)(x.DndContext,{...a,onDragStart:e=>{d(e.active.id),null==r||r(e)},onDragEnd:e=>{d(null),p(null),i?i(e):e.over&&m.moveModel(e.active.id,e.over.id,{persist:t})},onDragCancel:e=>{d(null),p(null),null==o||o(e)},...a,children:[n,l&&"u">typeof document?(0,w.createPortal)((0,h.jsx)(x.DragOverlay,{dropAnimation:null,modifiers:[g],zIndex:2e3,style:{pointerEvents:"none"},children:s&&(0,h.jsx)("span",{"data-testid":"flow-drag-preview",style:{display:"inline-flex",alignItems:"center",whiteSpace:"nowrap",background:"#fff",border:"1px solid #1890ff",borderRadius:4,padding:"4px 12px",color:"#1890ff",pointerEvents:"none",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},children:m.translate("Dragging")})}),document.body):null]})};var eN=l(47665),eO=l(84359),e$=l(92275),eB=l(97019);let{Paragraph:eL,Text:eV}=eO.A,eq=e=>{var t;let{error:l,resetErrorBoundary:n}=e,[i,o]=(0,f.useState)(!1),a=(0,eB.PZ)(),s=(0,r.lW)(a),d=async()=>{o(!0);try{let e={message:l.message,stack:l.stack,modelInfo:a?{uid:a.uid,className:a.constructor.name,props:a.props,stepParams:a.stepParams}:null,timestamp:new Date().toISOString()};await navigator.clipboard.writeText(JSON.stringify(e,null,2)),console.log("Error information copied to clipboard")}catch(e){console.error("Failed to copy error information:",e)}o(!1)},u=null==a||null==(t=a.context)?void 0:t.api,c=async()=>{if(!u)return void console.error("API client not available");o(!0);try{let e=a.context.api,t={pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,href:window.location.href},n=await e.request({url:"logger:collect",method:"post",responseType:"blob",data:{error:{message:l.message,stack:l.stack},location:t,modelInfo:a?{uid:a.uid,className:a.constructor.name,props:a.props,stepParams:a.stepParams}:null}}),r=window.URL.createObjectURL(new Blob([n.data],{type:"application/gzip"})),i=document.createElement("a");i.setAttribute("href",r),i.setAttribute("download","logs.tar.gz"),i.click(),i.remove(),window.URL.revokeObjectURL(r)}catch(e){console.error("Failed to download logs:",e)}o(!1)},p=(0,h.jsxs)("span",{children:[s("This is likely a NocoBase internals bug. Please open an issue at")," ",(0,h.jsx)("a",{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",rel:"noopener noreferrer",children:s("here")}),a&&(0,h.jsxs)("div",{style:{marginTop:"8px",fontSize:"12px",color:"#999"},children:["Model: ",a.constructor.name," (uid: ",a.uid,")"]})]});return(0,h.jsx)("div",{style:{backgroundColor:"white"},children:(0,h.jsx)(e$.Ay,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:s("Render failed"),subTitle:p,extra:[(0,h.jsx)(m.Ay,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:s("Feedback")},"feedback"),u&&(0,h.jsx)(m.Ay,{loading:i,onClick:c,children:s("Download logs")},"log"),(0,h.jsx)(m.Ay,{loading:i,onClick:d,children:s("Copy error info")},"copy"),n&&(0,h.jsx)(m.Ay,{danger:!0,onClick:n,children:s("Try again")},"retry")].filter(Boolean),children:(0,h.jsx)(eL,{copyable:{text:l.stack},children:(0,h.jsx)(eV,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:l.stack})})})})},ez=e=>{let{error:t,resetErrorBoundary:l}=e,[n,r]=(0,f.useState)(!1);try{return(0,h.jsx)(eq,{error:t,resetErrorBoundary:l})}catch{let e=async()=>{r(!0);try{let e={message:t.message,stack:t.stack,timestamp:new Date().toISOString()};await navigator.clipboard.writeText(JSON.stringify(e,null,2)),console.log("Error information copied to clipboard")}catch(e){console.error("Failed to copy error information:",e)}r(!1)},i=(0,h.jsxs)("span",{children:["This is likely a NocoBase internals bug. Please open an issue at ",(0,h.jsx)("a",{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",rel:"noopener noreferrer",children:"here"})]});return(0,h.jsx)("div",{style:{backgroundColor:"white"},children:(0,h.jsx)(e$.Ay,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:"Render failed",subTitle:i,extra:[(0,h.jsx)(m.Ay,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:"Feedback"},"feedback"),(0,h.jsx)(m.Ay,{loading:n,onClick:e,children:"Copy error info"},"copy"),l&&(0,h.jsx)(m.Ay,{danger:!0,onClick:l,children:"Try again"},"retry")].filter(Boolean),children:(0,h.jsx)(eL,{copyable:{text:t.stack},children:(0,h.jsx)(eV,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:t.stack})})})})}},eK=e=>{let{error:t,resetErrorBoundary:l,children:n}=e,[r,i]=(0,f.useState)(!1),o=(0,h.jsx)(eL,{style:{display:"flex",marginBottom:0},copyable:{text:t.message},children:(0,h.jsxs)(eV,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",t.message]})});return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)("div",{onMouseOver:()=>i(!0),children:n||o}),r&&(0,h.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},onClick:()=>i(!1),children:(0,h.jsxs)("div",{style:{backgroundColor:"#fff",borderRadius:"8px",padding:"24px",maxWidth:"60vw",maxHeight:"80vh",overflow:"auto",position:"relative"},onClick:e=>e.stopPropagation(),children:[(0,h.jsx)("button",{style:{position:"absolute",top:"8px",right:"12px",background:"none",border:"none",fontSize:"18px",cursor:"pointer",color:"#999"},onClick:()=>i(!1),children:"\xd7"}),(0,h.jsx)(ez,{error:t,resetErrorBoundary:l})]})})]})};ez.Modal=eK;var eU=l(92034),eW=l(49655),eH=l(53619),eG=l(53138),eY=l(35710),eJ=l(18182),eX=l(40919),eQ=l(42443),eZ=l(76511),e0=l(29007),e1=l(23183);let e2=e=>"uid"in e&&"modelClassName"in e&&!!e.uid&&!!e.modelClassName,e5=e=>e2(e)?(0,h.jsx)(e8,{...e}):(0,h.jsx)(e4,{...e}),e4=(0,p.PA)(e=>{let{model:t,children:l,enabled:n=!0,position:i="right",showDeleteButton:o=!0}=e,a=(0,r.lW)(t),{token:s}=eY.A.useToken(),d=(null==s?void 0:s.colorTextTertiary)||(null==s?void 0:s.colorTextDescription)||(null==s?void 0:s.colorTextSecondary),[u,c]=(0,f.useState)([]),p=(0,f.useCallback)(e=>{let[t,l]=e.split(":");return!!t&&!!l&&u.some(e=>{let{flow:n,steps:r}=e;return n.key===t&&r.some(e=>e.stepKey===l&&!!e.disabled)})},[u]),m=(0,f.useCallback)(e=>{let{key:l}=e;if("delete"===l)eJ.A.confirm({title:a("Confirm delete"),icon:(0,h.jsx)(eU.A,{}),content:a("Are you sure you want to delete this item? This action cannot be undone."),okText:a("Confirm Delete"),okType:"danger",cancelText:a("Cancel"),zIndex:999999,onOk(){try{t.dispatchEvent("remove")}catch(e){console.error(a("Delete operation failed"),":",e),eJ.A.error({title:a("Delete failed"),content:a("Delete operation failed, please check the console for details.")})}}});else{if(p(l))return;let[e,i]=l.split(":");try{var n;let l=t.getFlow(e),o=null==l||null==(n=l.steps)?void 0:n[i];if(!l||!o)return void console.error(`Flow ${e} or step ${i} not found`);let a=new e0.W5(t,e,"settings");(0,r.wx)(a,l.steps,t,e),a.defineProperty("currentStep",{value:o}),(0,e1.openStepSettingsDialog)({model:t,flowKey:e,stepKey:i,ctx:a})}catch(e){console.log("配置弹窗已取消或出错:",e)}}},[p,t]);if(!t)return(0,h.jsx)(eX.A,{message:"提供的模型无效",type:"error"});if(!n||!l)return(0,h.jsx)(h.Fragment,{children:l});let g=(0,f.useCallback)(async()=>{try{let e=t.getFlows(),l=Array.from(e.values());return(await Promise.all(l.map(async e=>{let l=await Promise.all(Object.entries(e.steps).map(async l=>{let[n,i]=l,o=i;if(await (0,r._3)(t,e,o))return null;let a=await (0,r.XM)(t,e,o),s=o.uiSchema||{},d={};if(o.use){var u;let e=null==(u=t.getAction)?void 0:u.call(t,o.use);e&&e.uiSchema&&(d=e.uiSchema)}let c={...d};return(Object.entries(s).forEach(e=>{let[t,l]=e;c[t]?c[t]={...c[t],...l}:c[t]=l}),0===Object.keys(c).length)?null:{stepKey:n,step:o,uiSchema:c,title:o.title||n,disabled:a.disabled,disabledReason:a.reason}})).then(e=>e.filter(Boolean));return l.length>0?{flow:e,steps:l}:null}))).filter(Boolean)}catch(e){return console.warn("[FlowsContextMenu] 获取可配置flows失败:",e),[]}},[t]);if((0,f.useEffect)(()=>{let e=!0;return(async()=>{let t=await g();e&&c(t)})(),()=>{e=!1}},[g]),0===u.length&&!o)return(0,h.jsx)(h.Fragment,{children:l});let v=[];return u.length>0&&u.forEach(e=>{let{flow:t,steps:l}=e;v.push({key:`flow-group-${t.key}`,label:t.title||t.key,type:"group"}),l.forEach(e=>{v.push({key:`${t.key}:${e.stepKey}`,icon:(0,h.jsx)(eW.A,{}),label:e.disabled?(0,h.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[e.title,(0,h.jsx)(eQ.A,{title:e.disabledReason,placement:"right",destroyTooltipOnHide:!0,children:(0,h.jsx)(eH.A,{style:{color:d}})})]}):e.title,disabled:!!e.disabled})})}),o&&(u.length>0&&v.push({type:"divider"}),v.push({key:"delete",icon:(0,h.jsx)(eG.A,{}),label:"删除"})),(0,h.jsx)(h.Fragment,{children:(0,h.jsx)(eZ.A,{menu:{items:v,onClick:m},trigger:["contextMenu"],placement:"left"===i?"bottomLeft":"bottomRight",children:(0,h.jsx)("div",{style:{display:"inline-block",width:"100%"},children:l})})})}),e8=(0,p.PA)(e=>{let{uid:t,modelClassName:l,children:n,enabled:r=!0,position:i="right",showDeleteButton:o=!0}=e,a=(0,d.fh)(t,l);return a?(0,h.jsx)(e4,{model:a,enabled:r,position:i,showDeleteButton:o,children:n}):(0,h.jsx)(eX.A,{message:`未找到ID为 ${t} 的模型`,type:"error"})});var e3=l(84626),e6=l(22803),e9=l(68645);let e7="#nocobase-app-container",te=".ant-menu-submenu-popup",tt=".ant-drawer-content-wrapper",tl=".ant-drawer-content",tn=".ant-drawer-root",tr=".ant-modal",ti=".ant-modal-wrap",to=".ant-modal-root",ta={top:0,left:0,width:0,height:0},ts=(e,t)=>null==e?void 0:e.closest(t),td=e=>({mountElement:e,positioningElement:e,positioningMode:"absolute"}),tu=[e=>ts(e,te),e=>ts(e,tt),e=>ts(e,ti),e=>ts(e,tr),e=>{let t=ts(e,tl);return t?ts(t,tt)||t:null},e=>ts(e,tn),e=>ts(e,to)],tc=e=>{for(let t of tu){let l=t(e);if(l)return td(l)}return null},tp=e=>{if("u"<typeof document)return null;let t=tc(e);if(t)return t;let l=document.querySelector(e7);return l?td(l):{mountElement:document.body,positioningElement:document.body,positioningMode:"fixed"}},th=e=>{if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=e.trim();if(/^-?\d+(\.\d+)?(px)?$/.test(t))return Number.parseFloat(t)}return 0},tm=e=>({top:th(null==e?void 0:e.top),left:th(null==e?void 0:e.left),right:th(null==e?void 0:e.right),bottom:th(null==e?void 0:e.bottom)}),tf=(e,t)=>{if(!t||"absolute"!==t.positioningMode)return(null==t?void 0:t.positioningElement)||null;let l=null==e?void 0:e.offsetParent;return l instanceof HTMLElement&&l!==document.body&&l!==document.documentElement?l:t.positioningElement},tg=(e,t,l,n)=>{let r;if(!e)return ta;let i=tm(l),o=e.getBoundingClientRect();if(t&&"fixed"!==t.positioningMode){let e=tf(n||null,t),l=(null==e?void 0:e.getBoundingClientRect())||t.positioningElement.getBoundingClientRect(),i=(null==e?void 0:e.scrollTop)??t.positioningElement.scrollTop,a=(null==e?void 0:e.scrollLeft)??t.positioningElement.scrollLeft;r={top:o.top-l.top+i,left:o.left-l.left+a,width:o.width,height:o.height}}else r={top:o.top,left:o.left,width:o.width,height:o.height};return{top:r.top+i.top,left:r.left+i.left,width:Math.max(0,r.width-i.left-i.right),height:Math.max(0,r.height-i.top-i.bottom)}},tv=e=>{if(!e)return;let t={...e};return delete t.top,delete t.left,delete t.right,delete t.bottom,t},ty=e=>{let{active:t,containerRef:l,toolbarContainerRef:n,toolbarStyle:r}=e,[i,o]=(0,f.useState)(ta),[a,s]=(0,f.useState)(null),d=(0,f.useRef)(null),u=(0,f.useRef)(null),c=(0,f.useCallback)(()=>{let e=l.current;if(!e)return;let t=tp(e);d.current=t,s(e=>t?(null==e?void 0:e.mountElement)===t.mountElement&&(null==e?void 0:e.positioningMode)===t.positioningMode?e:{mountElement:t.mountElement,positioningMode:t.positioningMode}:null===e?e:null);let i=tg(e,t,r,n.current);o(e=>e.top===i.top&&e.left===i.left&&e.width===i.width&&e.height===i.height?e:i)},[l,n,r]),p=(0,f.useCallback)(()=>{null===u.current&&(u.current=window.requestAnimationFrame(()=>{u.current=null,c()}))},[c]),h=(0,f.useCallback)(e=>{var t,n,r,i,o;let a=(null==e||null==(t=e.ownerDocument)?void 0:t.body)||(null==(r=l.current)||null==(n=r.ownerDocument)?void 0:n.body)||("u">typeof document?document.body:null);return(null==(i=d.current)?void 0:i.mountElement)||(null==(o=tp(e||l.current))?void 0:o.mountElement)||a},[l]);return(0,f.useEffect)(()=>{var e,n;if(!t)return;c();let r=()=>{p()},i=l.current,o=null==(e=d.current)?void 0:e.mountElement,a=null==(n=d.current)?void 0:n.positioningElement,s="u">typeof ResizeObserver&&i?new ResizeObserver(()=>{p()}):null;return i&&(null==s||s.observe(i)),o&&o!==i&&(null==s||s.observe(o)),a&&a!==i&&a!==o&&(null==s||s.observe(a)),window.addEventListener("resize",r),window.addEventListener("scroll",r,!0),()=>{null==s||s.disconnect(),window.removeEventListener("resize",r),window.removeEventListener("scroll",r,!0)}},[t,l,p,c]),(0,f.useEffect)(()=>()=>{null!==u.current&&window.cancelAnimationFrame(u.current),d.current=null},[]),{portalRect:i,portalRenderSnapshot:a,getPopupContainer:h,updatePortalRect:c,schedulePortalRectUpdate:p}},tb=180,tx="nb-float-menu-child-activity",tw=(e,t)=>e instanceof Node&&!!(null==t?void 0:t.contains(e)),tS=e=>{var t;return e instanceof Element&&(null==(t=e.closest(".nb-toolbar-container[data-model-uid]"))?void 0:t.getAttribute("data-model-uid"))||null},tM=e=>e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\a ").replace(/\r/g,"\\d ").replace(/\f/g,"\\c "),tA=(e,t)=>!!e&&!!e.querySelector(`.nb-toolbar-container[data-model-uid="${tM(t)}"]`),tF=(e,t,l)=>{let n=tS(e);return!!t&&!!n&&n!==l&&Array.from(t.querySelectorAll('[data-has-float-menu="true"][data-float-menu-model-uid]')).some(e=>e!==t&&e.getAttribute("data-float-menu-model-uid")===n)},tk=e=>{let{modelUid:t,containerRef:l,toolbarContainerRef:n,updatePortalRect:r,schedulePortalRectUpdate:i}=e,[o,a]=(0,f.useState)(!1),[s,d]=(0,f.useState)(!1),[u,c]=(0,f.useState)(!1),[p,h]=(0,f.useState)(!1),[m,g]=(0,f.useState)(!1),[v,y]=(0,f.useState)(!1),[b,x]=(0,f.useState)(!1),[w,S]=(0,f.useState)([]),M=(0,f.useRef)(null),A=(0,f.useRef)(!1),F=(0,f.useRef)(!1),k=(0,f.useRef)(!1),C=(0,f.useRef)(!1),P=(0,f.useRef)(!1),j=(0,f.useRef)(!1),E=(0,f.useCallback)(e=>{F.current=e,d(e)},[]),R=(0,f.useCallback)(e=>{k.current=e,c(e)},[]),I=(0,f.useCallback)(e=>{C.current=e,h(e)},[]),T=(0,f.useCallback)(e=>{P.current=e,g(e)},[]),_=(0,f.useCallback)(e=>{j.current=e,y(e)},[]),D=w.length>0,N=!o&&!D&&(s||u||p||m||v),O=N||v||p||m,$=s||u||p||m||v||b,B=(0,f.useCallback)(()=>{null!==M.current&&(window.clearTimeout(M.current),M.current=null),x(!1)},[]),L=(0,f.useCallback)(()=>{B(),x(!0),M.current=window.setTimeout(()=>{M.current=null,x(!1),C.current||P.current||j.current||(E(!1),R(!1))},tb)},[B,E,R]),V=(0,f.useCallback)(e=>{_(e)},[_]);(0,f.useEffect)(()=>{let e=l.current;if(!e)return;let t=t=>{var l;let n=t;if(!(n.target instanceof HTMLElement)||n.target===e)return;let r=null==(l=n.detail)?void 0:l.modelUid;r&&S(e=>{var t;return(null==(t=n.detail)?void 0:t.active)?e.includes(r)?e:[...e,r]:e.filter(e=>e!==r)})};return e.addEventListener(tx,t),()=>{e.removeEventListener(tx,t)}},[l]),(0,f.useEffect)(()=>{let e=l.current,n=null==e?void 0:e.ownerDocument;if(!n)return;let r=e=>{var l,n;let r=e;if((null==(l=r.detail)?void 0:l.modelUid)===t){if(null==(n=r.detail)?void 0:n.active){B(),T(!0);return}if(T(!1),F.current||k.current||j.current)return void B();L()}};return n.addEventListener(eC,r),()=>{n.removeEventListener(eC,r)}},[B,l,t,L,T]),(0,f.useEffect)(()=>{let e=l.current;e&&A.current!==$&&(A.current=$,e.dispatchEvent(new CustomEvent(tx,{bubbles:!0,detail:{active:$,modelUid:t}})))},[l,$,t]),(0,f.useEffect)(()=>{let e=l.current;return()=>{e&&A.current&&(e.dispatchEvent(new CustomEvent(tx,{bubbles:!0,detail:{active:!1,modelUid:t}})),A.current=!1),B()}},[B,l,t]),(0,f.useEffect)(()=>{v&&(B(),r())},[B,v,r]);let q=(0,f.useCallback)(e=>{let t=e.target.closest("[data-has-float-menu]");t&&t!==l.current||(B(),S(e=>{var t;if(!e.length)return e;let n=(null==(t=l.current)?void 0:t.ownerDocument)??null,r=e.filter(e=>tA(n,e));return r.length===e.length?e:r}),E(!0)),a(!!t&&t!==l.current)},[B,l,E]),z=(0,f.useCallback)(()=>{B(),a(!1),r(),E(!0)},[B,E,r]),K=(0,f.useCallback)(e=>{if(j.current)return void E(!1);if(tw(e.relatedTarget,n.current)){B(),E(!1),R(!0);return}if(tF(e.relatedTarget,l.current,t)){B(),a(!1),E(!0);return}L()},[B,l,t,L,E,R,n]),U=(0,f.useCallback)(()=>{B(),r(),E(!1),R(!0)},[B,E,R,r]),W=(0,f.useCallback)(e=>{if(j.current||P.current){B(),R(!1);return}if(R(!1),tw(e.relatedTarget,l.current)){B(),E(!0);return}L()},[B,l,L,E,R]);return{isToolbarVisible:N,shouldRenderToolbar:O,handleSettingsMenuOpenChange:V,handleChildHover:q,handleHostMouseEnter:z,handleHostMouseLeave:K,handleToolbarMouseEnter:U,handleToolbarMouseLeave:W,handleResizeDragStart:(0,f.useCallback)(()=>{r(),I(!0),i()},[i,I,r]),handleResizeDragEnd:(0,f.useCallback)(()=>{I(!1),i()},[i,I])}},tC=19,tP=1e3,tj=e=>{if(!e)return"";let t=(null==e?void 0:e.isFork)?null==e?void 0:e.forkId:void 0;return null==t||""===t?String(e.uid||""):`${String(e.uid||"")}::${String(t)}`},tE=(0,e6.css)`
1364
1364
  position: relative;
1365
1365
 
1366
1366
  &.has-button-child {
@@ -1707,4 +1707,4 @@ ${i.join("\n")}`:""}function k(e){let t=String((null==e?void 0:e.message)||"");i
1707
1707
  ${o.join("\n")}`:""}function j(e,t){let l=Error(t);l.cause=e;try{let t="string"==typeof(null==e?void 0:e.name)?e.name:"";t&&(l.name=t)}catch(e){}try{let n="string"==typeof(null==e?void 0:e.stack)?e.stack:"";if(n){let e=String(n).split("\n");e.length&&(e[0]=`${l.name}: ${t}`,l.stack=e.join("\n"))}}catch(e){}return l}function E(e){if(!e)return null;let t=u.get(e);if(t)return t;if("function"!=typeof e.createElement)return null;let l=e.Component;if("function"!=typeof l)return null;class r extends l{static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e){try{var t,l,n;let r=null==(t=this.props)?void 0:t.enhanceReactError,i="function"==typeof r?r(e):e,o=String((null==i?void 0:i.message)||"");if(o&&/\[RunJS Hint\]/.test(o)){console.error(o);let e=null==(n=this.props)||null==(l=n.ctx)?void 0:l.logger;e&&"function"==typeof e.error&&e.error(o)}}catch(e){}}componentDidUpdate(e){var t,l;(null==e?void 0:e.resetKey)!==(null==(t=this.props)?void 0:t.resetKey)&&(null==(l=this.state)?void 0:l.error)&&this.setState({error:void 0})}render(){var t,l;let n=null==(t=this.state)?void 0:t.error;if(!n)return this.props.children;let r="";try{let e=null==(l=this.props)?void 0:l.enhanceReactError,t="function"==typeof e?e(n):n;r=String((null==t?void 0:t.message)||t||(null==n?void 0:n.message)||n||"")}catch(e){r=String((null==n?void 0:n.message)||n||"")}let i={boxSizing:"border-box",padding:12,borderRadius:6,border:"1px solid #ffccc7",background:"#fff2f0",color:"#a8071a",fontSize:12,lineHeight:1.5,maxWidth:"100%",overflow:"auto"},o={margin:0,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'},a={fontWeight:600,marginBottom:8};return e.createElement("div",{style:i},e.createElement("div",{style:a},"RunJS render error"),e.createElement("pre",{style:o},r))}constructor(...e){super(...e),(0,n._)(this,"state",{})}}return u.set(e,r),r}function R(e){let{ctx:t,vnode:l,enhanceReactError:n,resetKey:r}=e,i=null==t?void 0:t.React,o=E(i);return o?i.createElement(o,{ctx:t,enhanceReactError:n,resetKey:r},l):l}function I(e){var t;let{ctx:l,entry:n,containerEl:r,rootMap:o,unmountContainerRoot:a,enhanceReactError:s,internalReact:d,internalAntd:u}=e;if(!(!(null==(t=l.ReactDOM)?void 0:t.__nbRunjsInternalShim)&&l.React&&l.React!==d&&l.antd&&l.antd!==u&&void 0!==l.antd.ConfigProvider)){if(n.disposeTheme){try{n.disposeTheme()}catch(e){}n.disposeTheme=void 0}return!1}let c=()=>{var e,t,r,i,o,a,s;null==l||null==(t=l.engine)||null==(e=t.context)||e.themeToken;let d=null==l||null==(i=l.engine)||null==(r=i.context)?void 0:r.antdConfig,u=(null==l||null==(s=l.engine)||null==(a=s.context)||null==(o=a.locales)?void 0:o.antd)||(null==d?void 0:d.locale),c=l.antd.ConfigProvider,p=l.antd.App,h={popupMatchSelectWidth:!1,locale:u||{}};d&&"object"==typeof d&&(void 0!==d.direction&&(h.direction=d.direction),"string"==typeof d.prefixCls&&(h.prefixCls=d.prefixCls),"string"==typeof d.iconPrefixCls&&(h.iconPrefixCls=d.iconPrefixCls),"function"==typeof d.getPopupContainer&&(h.getPopupContainer=d.getPopupContainer),d.theme&&"object"==typeof d.theme&&(h.theme=d.theme));let m=n.lastVnode,f=p?l.React.createElement(c,h,l.React.createElement(p,null,m)):l.React.createElement(c,h,m);n.root.render(f)};return n.disposeTheme?c():n.disposeTheme=(0,i.autorun)(()=>{try{if(r&&1===r.nodeType&&"boolean"==typeof r.isConnected&&!r.isConnected&&n.wasConnected)return void queueMicrotask(()=>{o.get(r)===n&&a()});r&&1===r.nodeType&&"boolean"==typeof r.isConnected&&r.isConnected&&(n.wasConnected=!0),c()}catch(e){throw s(e)}}),!0}function T(e){let{ctx:t,entry:l,vnode:n,containerEl:r,rootMap:i,unmountContainerRoot:o,internalReact:a,internalAntd:s}=e,d=e=>{let l=String((null==e?void 0:e.message)||e||"");if(!l||/\[RunJS Hint\]/.test(l))return e;let n=/invalid hook call/i.test(l),r=k(e);if(!n&&!r)return e;let i=F({ctx:t,internalReact:a,internalAntd:s})||P({ctx:t,internalReact:a,internalAntd:s,err:e});return i?j(e,`${l}${i}`):e};try{return l.__nbRunjsRenderSeq=(l.__nbRunjsRenderSeq||0)+1,l.lastVnode=R({ctx:t,vnode:n,enhanceReactError:d,resetKey:l.__nbRunjsRenderSeq}),I({ctx:t,entry:l,containerEl:r,rootMap:i,unmountContainerRoot:o,enhanceReactError:d,internalReact:a,internalAntd:s})||l.root.render(l.lastVnode),l.root}catch(e){throw d(e)}}},44476(e,t,l){l.d(t,{H:()=>d,a:()=>u});var n=l(2543),r=l.n(n),i=l(35846);function o(e){if(!e)return;let t=e.match(/^([^.[]+)/);return null==t?void 0:t[1]}function a(e,t){var l;if(!e||!t)return;let n=e.getField(t);return n||((null==(l=e.getFields)?void 0:l.call(e))||[]).find(e=>e.name===t)}function s(e,t){if(null!=e){if(Array.isArray(t)){if("object"!=typeof e||!e)return;let l={};for(let n of t){let t=e[n];if(null==t)return;l[n]=t}return l}if("string"==typeof e||"number"==typeof e)return e;if("object"==typeof e)return e[t]}}function d(e,t){return l=>{if(!l||!l.includes("."))return!1;let n=o(l);if(!n)return!1;let i=a(e(),n);if(!(null==i?void 0:i.isAssociationField()))return!1;if("function"==typeof t){let e=t();if(e&&"object"==typeof e&&void 0!==r().get(e,l))return!1}return!0}}function u(e,t,l){let n=(0,i.H)(e,t,!0),r=async()=>{let t=await n();return t?{...t,buildVariablesParams:t=>{var n;let r=e(),i=l(t);if(!r||!i||"object"!=typeof i)return{};let o={};for(let e of(null==(n=r.getFields)?void 0:n.call(r))||[]){let t=e.name;if(!t||!e.isAssociationField())continue;let l=e.target,n=e.targetCollection;if(!l||!n)continue;let r=n.filterTargetKey,a=i[t];if(null!=a)if(Array.isArray(a)){let e=a.map(e=>s(e,r)).filter(e=>null!=e);e.length&&(o[t]={collection:l,dataSourceKey:n.dataSourceKey,filterByTk:e})}else{let e=s(a,r);null!=e&&(o[t]={collection:l,dataSourceKey:n.dataSourceKey,filterByTk:e})}}return o}}:null};return r.title=t,r}},35846(e,t,l){l.d(t,{H:()=>d});let n=["belongsTo","hasOne","hasMany","belongsToMany","belongsToArray"],r=["integer","float","double","decimal"];function i(e,t){return!!(e.interface&&(t||e.filterable))}function o(e,t){let l=s(e);if(e.isAssociationField()){let n=e.targetCollection;return n?{type:"object",...l,properties:async()=>{let e={};return n.fields.forEach(l=>{i(l,t)&&(e[l.name]=o(l,t))}),e}}:{type:"object",...l}}return{type:a(e),...l}}function a(e){let t=e.type;if(n.includes(t))return"object";if(r.includes(t))return"number";switch(t){case"boolean":return"boolean";case"json":return"object";case"array":return"array";default:return"string"}}function s(e){return{title:e.title||e.name,interface:e.interface,options:e.options,uiSchema:e.uiSchema||{}}}function d(e,t,l){let n=async()=>{let n="function"==typeof e?e():e;return n?{type:"object",title:t||n.title||n.name,properties:async()=>{let e={};return n.fields.forEach(t=>{i(t,l)&&(e[t.name]=o(t,l))}),e}}:null};return n.title=t,n}},62572(e,t,l){l.d(t,{v:()=>r});var n=l(29007);async function r(e,t){if(null==t||!t.defineProperties&&!t.defineMethods)return e;let l=new n.cB;l.addDelegate(e);let r=l.createProxy(),i=r,o=e,a=t=>{let l=Reflect.get(o,t,o);return"function"==typeof l?l.bind(e):l},s=e=>"defineProperty"===e||"defineMethod"===e||Reflect.has(i,e)||Reflect.has(o,e),d=new Proxy(r,{get:(e,t,n)=>"string"==typeof t?"defineProperty"===t?(e,t)=>l.defineProperty(e,t):"defineMethod"===t?(e,t,n)=>l.defineMethod(e,t,n):Reflect.has(i,t)?Reflect.get(i,t,n):a(t):Reflect.get(i,t,n),set:(e,t,l)=>Reflect.set(o,t,l),has:(e,t)=>s(t),getOwnPropertyDescriptor:(e,t)=>Object.getOwnPropertyDescriptor(i,t)||Object.getOwnPropertyDescriptor(o,t)});if(t)for(let e of Array.isArray(t)?t:[t]){if(!e)continue;let t=e.defineProperties;if(t){let e="function"==typeof t?await t(d):t;if(!e||"object"!=typeof e)throw TypeError("defineProperties must return an object of PropertyOptions");for(let[t,n]of Object.entries(e)){if(!n||"object"!=typeof n)throw TypeError(`defineProperties['${t}'] must be a PropertyOptions object`);l.defineProperty(t,n)}}let n=e.defineMethods;if(n){let e="function"==typeof n?await n(d):n;if(!e||"object"!=typeof e)throw TypeError("defineMethods must return an object of functions");for(let[t,n]of Object.entries(e)){if("function"!=typeof n)throw TypeError(`defineMethods['${t}'] must be a function`);l.defineMethod(t,n)}}}return new Proxy(r,{get:(t,l,n)=>"string"==typeof l?"defineProperty"===l?(t,l)=>e.defineProperty(t,l):"defineMethod"===l?(t,l,n)=>e.defineMethod(t,l,n):Reflect.has(i,l)?Reflect.get(i,l,n):a(l):Reflect.get(i,l,n),set:(e,t,l)=>Reflect.set(o,t,l),has:(e,t)=>s(t),getOwnPropertyDescriptor:(e,t)=>Object.getOwnPropertyDescriptor(i,t)||Object.getOwnPropertyDescriptor(o,t)})}},44951(e,t,l){l.d(t,{BL:()=>s,T$:()=>i});var n=l(16639);function r(e,t){if(!e||"object"!=typeof e)return;let l=e;if("function"==typeof l.get){let e=l.get(t);if(null!=e&&""!==e)return e}let n=t.toLowerCase();for(let[t,l]of Object.entries(e))if(t.toLowerCase()===n)return l}function i(e){let t=r(e,"x-data-source");return Array.isArray(t)?String(t[0]||"main"):null==t||""===t?"main":String(t)}function o(e){let t=String(e||"").trim();if(!t)return[];let l=new Set([t]);return t.includes(".")&&l.add(t.split(".")[0]),Array.from(l)}function a(e,t){if(!t)return[e];let l=[],n=new Set,r=e,i=0;for(;r&&i++<50;)n.has(r)||(l.push(r),n.add(r)),r=r.previousEngine;return l}function s(e){var t,l,r,i;let{engine:s,resourceName:d,includePreviousEngines:u}=e;if(!(null==s?void 0:s.markDataSourceDirty))return[];let c=o(d);if(!c.length)return[];let p=String(e.dataSourceKey||"main"),h=a(s,u),m=new Map;for(let e of h){let t=new Map;for(let l of(m.set(e,t),c))t.set(l,(null==(r=e.getDataSourceDirtyVersion)?void 0:r.call(e,p,l))||0)}for(let e of h){let t=m.get(e);for(let l of c){let n=(null==t?void 0:t.get(l))||0;((null==(i=e.getDataSourceDirtyVersion)?void 0:i.call(e,p,l))||0)===n&&e.markDataSourceDirty(p,l)}}return null==(l=s.emitter)||null==(t=l.emit)||t.call(l,n.HK,{dataSourceKey:p,resourceNames:c}),c}},9297(e,t,l){l.d(t,{k:()=>P,q:()=>r});var n=l(44951);let r="__nocobaseSkipDataSourceDirty",i=new WeakMap,o=new WeakSet,a=["add","bulkdestroy","bulkupdate","create","delete","destroy","execute","firstorcreate","import","move","remove","save","saveastemplate","set","setfields","submit","update","updateorcreate","upsert"];function s(e){if(!e||"object"!=typeof e)return!1;let t=e;return"function"==typeof t.resource&&"function"==typeof t.request}function d(e){let t=String(e||"").trim();if(!t)return!1;let l=t.split("/")[0],n=l.toLowerCase();return a.some(e=>{if(n===e)return!0;if(!n.startsWith(e)||l.length<=e.length)return!1;let t=l[e.length];return"-"===t||"_"===t||t>="A"&&t<="Z"})}function u(){var e;return"u"<typeof window||null==(e=window.location)?void 0:e.origin}function c(e,t){try{return new URL(e,t)}catch{return}}function p(e){let t=e.search(/[?#]/);return -1===t?e:e.slice(0,t)}function h(e){let t=p(e).trim();if(!t)return;let l=t.replace(/^\/+/,"");if(l&&"api"!==l)return l.startsWith("api/")?l.slice(4):l}function m(e){return e.endsWith("/")?e:`${e}/`}function f(e){if(null==e?void 0:e.getApiUrl)try{return c(e.getApiUrl(),u())}catch{return}}function g(e,t){let l=p(e).trim();if(!l.startsWith("/"))return;let n=m(t);if(!m(l).startsWith(n))return;let r=n.replace(/\/$/,"");return l.slice(r.length).replace(/^\/+/,"")||void 0}function v(e,t){if(!["http:","https:"].includes(e.protocol))return;if(null==t?void 0:t.getApiUrl){let l=f(t);if(!l||e.origin!==l.origin)return;return g(e.pathname,l.pathname)}let l=u();if(l&&e.origin===l)return h(e.pathname)}function y(e,t){if("string"!=typeof e)return;let l=e.trim();if(!l||l.startsWith("//"))return;if(/^https?:\/\//i.test(l)){let e=c(l);if(!e)return;return v(e,t.app)}let n=f(t.app),r=n?g(l,n.pathname):void 0;return r||h(l)}function b(e){try{return decodeURIComponent(e)}catch{return e}}function x(e){return String(e??"").trim()||void 0}function w(e){let t,l=[],n=-1;for(let r=0;r<e.length;r+=2){let i=e[r],o=i.lastIndexOf(":"),a=-1===o?i:i.slice(0,o);if(!a)return;if(l.push(b(a)),-1!==o){t=b(i.slice(o+1)).trim(),n=r;break}}if(t&&l.length&&!(e.length>n+2))return{resourceName:l.join("."),actionName:t}}function S(e,t){let l=y(e,t);if(!l)return;let n=p(l).split("/").filter(Boolean);if("dataSources"===b(n[0]||"")&&n.length>=3){let e=x(b(n[1])),t=w(n.slice(2));if(e&&t)return{...t,dataSourceKey:e}}return w(n)}function M(e,t,l,n){let r=e.trim(),i=l.trim();if(!r||!i)return;if(r.includes("/")){let e=S(`${r}:${i}`,n);if(e)return e}let o="dataSources.";if(r.startsWith(o)){let e=x(t),l=r.slice(o.length).trim();if(e&&l)return{dataSourceKey:e,resourceName:l,actionName:i}}return{resourceName:r,actionName:i}}function A(e,t){let l="string"==typeof(null==e?void 0:e.resource)?e.resource:void 0,n="string"==typeof(null==e?void 0:e.action)?e.action:void 0;return l&&n?M(l,e.resourceOf,n,t):S(null==e?void 0:e.url,t)}function F(e,t,l){(0,n.BL)({engine:e.engine,dataSourceKey:t.dataSourceKey||(0,n.T$)(l),resourceName:t.resourceName,includePreviousEngines:!0})}function k(e,t,l,n,r){return new Proxy(t,{get(t,i,o){let a=Reflect.get(t,i,o);if("string"!=typeof i||"function"!=typeof a||!d(i))return a;let s=a;return async function(){for(var t=arguments.length,o=Array(t),a=0;a<t;a++)o[a]=arguments[a];let d=await s(...o),u=M(l,n,i,e);return u&&F(e,u,r),d}}})}function C(e,t){let l=(l,n,r,i)=>k(t,e.resource(l,n,r,i),l,n,r),n=l=>{let n=l,i=(null==n?void 0:n[r])?void 0:A(n,t),{[r]:o,...a}=n;return e.request(a).then(e=>(i&&d(i.actionName)&&F(t,i,n.headers),e))},i=new Proxy(e,{get:(e,t,r)=>"resource"===t?l:"request"===t?n:Reflect.get(e,t,r)});return o.add(i),i}function P(e,t){if(!s(e)||o.has(e))return e;let l=e,n=i.get(l);n||(n=new WeakMap,i.set(l,n));let r=n.get(t);if(r)return r;let a=C(e,t);return n.set(t,a),a}},31108(e,t,l){l.d(t,{VD:()=>o,sy:()=>r,zz:()=>i});var n=l(50467);class r extends Error{constructor(e,t,l){super(l||`Flow '${e}' on model '${t}' exited via ctx.exit().`),(0,n._)(this,"flowKey",void 0),(0,n._)(this,"modelUid",void 0),this.name="FlowExitException",this.flowKey=e,this.modelUid=t}}class i extends Error{constructor(e,t,l){super(l||`Flow '${e}' on model '${t}' exited via ctx.exitAll().`),(0,n._)(this,"flowKey",void 0),(0,n._)(this,"modelUid",void 0),this.name="FlowExitAllException",this.flowKey=e,this.modelUid=t}}class o extends Error{constructor(e="Flow settings save cancelled."){super(e),this.name="FlowCancelSaveException"}}},60182(e,t,l){l.d(t,{pM:()=>ta,Fv:()=>o,ju:()=>P.ju,MI:()=>d,vq:()=>to.v,yz:()=>_,M5:()=>ex,X4:()=>ew,Vv:()=>eM,E2:()=>ek,lW:()=>a,n2:()=>R,FA:()=>p,J3:()=>eC,vP:()=>P.vP,ME:()=>y,H9:()=>k.H,ey:()=>eA.ey,KB:()=>ee,JE:()=>es,kl:()=>r,u4:()=>n,UX:()=>P.UX,XM:()=>F,AP:()=>E,mP:()=>eT,zz:()=>u.zz,D1:()=>eA.D1,gG:()=>h.gG,I2:()=>eA.I2,af:()=>C.a,mv:()=>h.mv,QP:()=>c,Xh:()=>eA.Xh,$S:()=>P.$S,EI:()=>ts,_:()=>eA._,qI:()=>M,sU:()=>L,ln:()=>w,Z8:()=>D,cg:()=>z,zE:()=>tc,wx:()=>g.w,yp:()=>td.y,y4:()=>eb,dN:()=>G,ye:()=>J,$n:()=>eI,VD:()=>u.VD,ji:()=>ti,WJ:()=>i,i:()=>td.i,hz:()=>eS,MZ:()=>s,sy:()=>u.sy,YB:()=>j,xI:()=>P.xI,$X:()=>ey,o7:()=>S,mH:()=>tr,M:()=>h.M,nN:()=>P.nN,GZ:()=>T,Hi:()=>C.H,pc:()=>P.pc,_3:()=>A,Gu:()=>Y,DX:()=>ev,XU:()=>P.XU});let n="flow-engine",r={DATA:"dataBlocks",FILTER:"filterBlocks",OTHER:"otherBlocks"},i={data:{key:r.DATA,label:"Data blocks",type:"group",hasCurrentFlowContext:!0},filter:{key:r.FILTER,label:"Filter blocks",type:"group",hasCurrentFlowContext:!1},other:{key:r.OTHER,label:"Other blocks",type:"group",hasCurrentFlowContext:!1}},o={CURRENT_RECORD:"currentRecord",ASSOCIATION_RECORDS:"associationRecords",OTHER_RECORDS:"otherRecords",OTHER_COLLECTIONS:"otherCollections",CURRENT_COLLECTIONS:"currentCollections"};function a(e){var t;return(null==(t=e.flowEngine)?void 0:t.translate)?(t,l)=>e.flowEngine.translate(t,{ns:[n,"client"],nsMode:"fallback",...l}):e=>e}function s(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}function d(e,t){return s(e,t)}var u=l(31108);function c(e){return e}function p(e,t){if(e===t)return!1;if(e.prototype instanceof t)return!0;let l=Object.getPrototypeOf(e.prototype);for(;l&&l!==Object.prototype;){if(l.constructor===t)return!0;l=Object.getPrototypeOf(l)}return!1}var h=l(81982),m=l(27153),f=l(29007),g=l(88439);async function v(e,t){if(!e)return{};if("function"==typeof e)try{return await e(t)||{}}catch(e){return console.error("Error resolving uiSchema function:",e),{}}return e}async function y(e,t){if(!e)return"dialog";if("function"==typeof e)try{return await e(t)||"dialog"}catch(e){return console.error("Error resolving uiMode function:",e),"dialog"}return e}let b={},x=e=>{if("function"==typeof e)return!0;if(!e||"object"!=typeof e)return!1;let t=new WeakSet,l=e=>{if("function"==typeof e)return!0;if(!e||"object"!=typeof e||t.has(e))return!1;if(t.add(e),Array.isArray(e)){for(let t of e)if(l(t))return!0;return!1}for(let t of Object.keys(e))if(l(e[t]))return!0;return!1};return l(e)};function w(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{noCache:n=!1}=l,r=e=>/\{\{.*?\}\}/g.test(e);return(t=>{let l,i=!1;if("string"==typeof t&&t.startsWith("{{")&&(i=!0,l=t),t&&"object"==typeof t&&!Array.isArray(t)){try{l=JSON.stringify(t)}catch(e){return console.warn("Failed to stringify:",e),t}let o=!!(i=r(l))&&!n&&x(t);if(b[l]&&!n&&!o)return b[l];if(o)try{return m.S.compile(t,e)}catch(e){return console.warn("Failed to compile with Formily Schema.compile:",e),t}}if(Array.isArray(t)){try{l=JSON.stringify(t)}catch(e){return console.warn("Failed to stringify:",e),t}let o=!!(i=r(l))&&!n&&x(t);if(b[l]&&!n&&!o)return b[l];if(o)try{return m.S.compile(t,e)}catch(e){return console.warn("Failed to compile with Formily Schema.compile:",e),t}}if(i){if(!l)try{return m.S.compile(t,e)}catch(e){return console.warn("Failed to compile with Formily Schema.compile:",e),t}try{if(n)return m.S.compile(t,e);return b[l]=b[l]||m.S.compile(t,e),b[l]}catch(l){console.log("compileUiSchema error",t,l);try{return m.S.compile(t,e)}catch(e){}}}return t})(t)}async function S(e,t,l){let n=new f.W5(e,t.key,"settings");(0,g.w)(n,t.steps,e,t.key),n.defineProperty("currentStep",{value:l});let r=l.uiSchema;if(l.use)try{var i;let t=null==(i=e.getAction)?void 0:i.call(e,l.use);t&&t.uiSchema&&(r=r||t.uiSchema)}catch(e){console.warn(`Failed to get action ${l.use}:`,e)}let o=await v(r||{},n);return 0===Object.keys(o).length?null:o}async function M(e,t,l){if(!l)return!0;let{hideInSettings:n}=l;if("function"==typeof n)try{let l=new f.W5(e,t.key,"settings");return(0,g.w)(l,t.steps||{},e,t.key),!!await n(l)}catch(e){return console.warn(`Error evaluating hideInSettings for event '${l.name||""}' in flow '${t.key}':`,e),!1}return!!n}async function A(e,t,l){if(!l)return!0;let n=l.hideInSettings;if(void 0===n&&l.use){var r;let t=null==(r=e.getAction)?void 0:r.call(e,l.use);n=null==t?void 0:t.hideInSettings}if("function"==typeof n)try{let r=new f.W5(e,t.key,"settings");return(0,g.w)(r,t.steps,e,t.key),r.defineProperty("currentStep",{value:l}),!!await n(r)}catch(e){return console.warn(`Error evaluating hideInSettings for step '${l.key||""}' in flow '${t.key}':`,e),!1}return!!n}async function F(e,t,l){let n;if(!l)return{disabled:!1};let r=l.disabledInSettings,i=l.disabledReasonInSettings;if((void 0===r||void 0===i)&&l.use)try{var o;let t=null==(o=e.getAction)?void 0:o.call(e,l.use);void 0===r&&(r=null==t?void 0:t.disabledInSettings),void 0===i&&(i=null==t?void 0:t.disabledReasonInSettings)}catch(e){console.warn(`Failed to get action ${l.use}:`,e)}let a=null,s=()=>(a||(a=new f.W5(e,t.key,"settings"),(0,g.w)(a,t.steps,e,t.key),a.defineProperty("currentStep",{value:l})),a),d=!1;if("function"==typeof r)try{d=!!await r(s())}catch(e){return console.warn(`Error evaluating disabledInSettings for step '${l.key||""}' in flow '${t.key}':`,e),{disabled:!1}}else d=!!r;if(!d)return{disabled:!1};if("function"==typeof i)try{let e=await i(s());null!=e&&""!==e&&(n=String(e))}catch(e){console.warn(`Error evaluating disabledReasonInSettings for step '${l.key||""}' in flow '${t.key}':`,e)}else null!=i&&""!==i&&(n=String(i));return{disabled:!0,reason:n}}var k=l(35846),C=l(44476),P=l(73398);function j(e){if("string"!=typeof e)return null;let t=e.trim(),l=/^\{\{\s*ctx(?:\.(.+?))?\s*\}\}$/,n=t.match(l);if(!n)return null;let r=n[1];return r?r.split(".").map(e=>e.trim()).filter(e=>e.length>0):[]}function E(e){return 0===e.length?"{{ ctx }}":`{{ ctx.${e.join(".")} }}`}function R(e){if("string"!=typeof e)return!1;let t=e.trim();return/^\{\{\s*ctx(?:\..+?)?\s*\}\}$/.test(t)}let I=new WeakMap;function T(e,t){I.set(e,t??null)}function _(e){return I.get(e)??null}function D(e){I.delete(e)}let N=["drawer","dialog","embed"],O=["small","medium","large"],$="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",B=8,L=Symbol.for("nocobase.runjs.openViewRouteState");function V(e){return"string"==typeof e&&N.includes(e)}function q(e){return"string"==typeof e&&O.includes(e)}function z(e){let t={};return V(null==e?void 0:e.mode)&&(t.mode=e.mode),q(null==e?void 0:e.size)&&(t.size=e.size),t.mode||t.size?t:void 0}function K(e){let t=0x811c9dc5;for(let l=0;l<e.length;l++)t^=e.charCodeAt(l),t=Math.imul(t,0x1000193);return t>>>0}function U(e){let t=4*(e.mode?N.indexOf(e.mode)+1:0)+(e.size?O.indexOf(e.size)+1:0);return t>0?t:void 0}function W(e){let t=Math.floor(e/4),l=e%4;return z({mode:t?N[t-1]:void 0,size:l?O[l-1]:void 0})}function H(e,t){let l=K(`${e}:${t}`),n="";for(let e=0;e<B;e++)n+=$[(l=Math.imul(l^t+17*e,0x1000193)>>>0)%$.length];return n}function G(e){return"string"==typeof e&&e.length===B&&[...e].every(e=>$.includes(e))}function Y(e,t){let l=z(t),n=l?U(l):void 0;return n?H(e,n):void 0}function J(e,t){if(G(t)){for(let l=1;l<16;l++)if(H(e,l)===t)return W(l)}}let X=e=>e&&"/"!==e?`/${e.replace(/^\/+/,"").replace(/\/+$/,"")}`:"/",Q=e=>`/${e.replace(/^\/+/,"").replace(/\/+$/,"")}`,Z=(e,t)=>{let l=X(e),n=Q(t);return l===n?"":l.startsWith(`${n}/`)?l.slice(n.length+1):""},ee=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||"/"===e)return[];let l=t.rootPrefix||"admin",n=t.basePath?Z(e,t.basePath):"",r=(t.basePath?n:e).replace(/^\/+/,"").split("/").filter(Boolean);if(r.length<(t.basePath?1:2))return[];let i=[],o=null,a=0;for(t.basePath&&(o={viewUid:r[0]},a=1);a<r.length;){let e=r[a];if(e===l||"view"===e)if(o&&i.push(o),a+1<r.length)o={viewUid:r[a+1]},a+=2;else break;else if(o){if("opts"===e){if(a+1<r.length){let e=J(o.viewUid,r[a+1]);e&&(o.openViewRouteState=e),a+=2}else a++;continue}if(a+1>=r.length){a++;continue}let t=r[a+1],l=t;try{l=decodeURIComponent(t)}catch(e){}switch(e){case"tab":o.tabUid=l;break;case"filterbytk":{let e=e=>{let t={};return e.split("&").forEach(e=>{let[l,n=""]=e.split("=");if(l)try{let e=decodeURIComponent(l),r=decodeURIComponent(n);t[e]=r}catch(e){t[l]=n}}),t},t=l;if(l&&(l.startsWith("{")||l.startsWith("[")))try{let e=JSON.parse(l);t=e&&"object"==typeof e&&!Array.isArray(e)?e:l}catch(e){t=l}else l&&/^[^=&]+=[^=&]*(?:&[^=&]+=[^=&]*)*$/.test(l)&&(t=e(l));o.filterByTk=t;break}case"sourceid":o.sourceId=l}a+=2}else a++}return o&&i.push(o),i};var et=l(74353),el=l.n(et);let en=/^\{\{\s*ctx\.date(?:\.(.+?))?\s*\}\}$/,er=new Set(["today","now","yesterday","tomorrow","thisWeek","lastWeek","nextWeek","thisMonth","lastMonth","nextMonth","thisQuarter","lastQuarter","nextQuarter","thisYear","lastYear","nextYear"]),ei=new Set(["next","past"]),eo=new Set(["day","week","month","year"]);function ea(e){if("string"!=typeof e)return null;let t=e.trim().match(en);if(!t)return null;let l=String(t[1]||"");return l?l.split(".").map(e=>e.trim()).filter(Boolean):[]}function es(e){let t=ed((e||[]).map(e=>String(e)));if("date"!==t[0])return!1;if(1===t.length)return!0;if("preset"===t[1])return 2===t.length||3===t.length&&er.has(t[2]);if("relative"===t[1])return 2===t.length||(3===t.length?ei.has(t[2]):4===t.length?ei.has(t[2])&&eo.has(t[3]):5===t.length&&ei.has(t[2])&&eo.has(t[3])&&"number"==typeof em(t[4]));if("exact"===t[1]){if(2===t.length)return!0;if("single"===t[2])return 3===t.length||(4===t.length?"date"===t[3]:5===t.length&&"date"===t[3]&&/^v.+/.test(t[4]));if("range"===t[2]){if(3===t.length)return!0;if(4===t.length)return"date"===t[3];if(5===t.length)return"date"===t[3]&&/^v.+/.test(t[4]);if(6===t.length)return"date"===t[3]&&/^v.+/.test(t[4])&&/^v.+/.test(t[5])}}return!1}function ed(e){return"date"===e[0]?e:["date",...e]}function eu(e){let t=ed(e);return`{{ ctx.${t.join(".")} }}`}function ec(e){var t;let l=null==(t=globalThis)?void 0:t.Buffer;if(l&&"function"==typeof l.from)return l.from(e,"utf8").toString("base64");if("function"==typeof btoa)return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(e,t)=>String.fromCharCode(parseInt(t,16))));throw Error("No base64 encoder available")}function ep(e){var t;let l=null==(t=globalThis)?void 0:t.Buffer;if(l&&"function"==typeof l.from)return l.from(e,"base64").toString("utf8");if("function"==typeof atob)return decodeURIComponent(Array.from(atob(e)).map(e=>`%${e.charCodeAt(0).toString(16).padStart(2,"0")}`).join(""));throw Error("No base64 decoder available")}function eh(e){if(null!=e){if("string"==typeof e){let t=e.trim();return t.length?t:void 0}if(el().isDayjs(e))return e.toISOString();if(e instanceof Date)return el()(e).toISOString();if("number"==typeof e||"boolean"==typeof e)return String(e)}}function em(e){let t=String(e||"").match(/^n(\d+)$/);if(!t)return;let l=Number(t[1]);if(Number.isFinite(l)&&!(l<=0))return l}function ef(e){let t=e.day(),l=0===t?-6:1-t;return e.add(l,"day").startOf("day")}function eg(e){let t=3*Math.floor(e.month()/3);return e.month(t).startOf("month")}function ev(e){return ec(String(e||"")).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function ey(e){try{let t=String(e||"").replace(/=+$/g,"");if(!t||!/^[A-Za-z0-9_-]+$/.test(t))return;let l=t.replace(/-/g,"+").replace(/_/g,"/"),n=l.length%4==0?0:4-l.length%4,r=`${l}${"=".repeat(n)}`,i=ep(r);if(ev(i)!==t)return;return i}catch(e){return}}function eb(e){return"string"==typeof e&&en.test(e.trim())}function ex(e){if(!es(e))return!1;let t=ed((e||[]).map(e=>String(e)));return"date"===t[0]&&("preset"===t[1]?3===t.length&&er.has(t[2]):"relative"===t[1]?5===t.length&&ei.has(t[2])&&eo.has(t[3])&&"number"==typeof em(t[4]):"exact"===t[1]&&"single"===t[2]&&"date"===t[3]?5===t.length&&/^v.+/.test(t[4]):"exact"===t[1]&&"range"===t[2]&&"date"===t[3]&&6===t.length&&/^v.+/.test(t[4])&&/^v.+/.test(t[5]))}function ew(e){if(!eb(e))return;let t=ed(ea(e)||[]);if("preset"===t[1]&&3===t.length&&er.has(t[2]))return{type:t[2]};if("relative"===t[1]&&5===t.length&&ei.has(t[2])&&eo.has(t[3])){let e=em(t[4]);return"number"==typeof e?{type:t[2],unit:t[3],number:e}:void 0}if("exact"===t[1]&&"single"===t[2]&&"date"===t[3]&&5===t.length){let e=String(t[4]||"");if(!e.startsWith("v"))return;return ey(e.slice(1))}if("exact"===t[1]&&"range"===t[2]&&"date"===t[3]&&6===t.length){let e=String(t[4]||""),l=String(t[5]||"");if(!e.startsWith("v")||!l.startsWith("v"))return;let n=ey(e.slice(1)),r=ey(l.slice(1));if(void 0===n||void 0===r)return;return[n,r]}}function eS(e){if(eb(e))return String(e).trim();if(null==e||""===e)return;if(Array.isArray(e)){let t=eh(e[0]),l=eh(e[1]);return t&&l?eu(["date","exact","range","date",`v${ev(t)}`,`v${ev(l)}`]):t?eu(["date","exact","single","date",`v${ev(t)}`]):void 0}if("object"==typeof e&&e){let t=e,l="string"==typeof t.type?t.type:"";if("past"===l||"next"===l){let e="string"==typeof t.unit&&eo.has(t.unit)?t.unit:"day",n=Number(t.number),r=Number.isFinite(n)&&n>0?Math.floor(n):1;return eu(["date","relative",l,e,`n${r}`])}if(er.has(l))return eu(["date","preset",l])}let t=eh(e);if(t)return eu(["date","exact","single","date",`v${ev(t)}`])}function eM(e){let t=ed((e||[]).map(e=>String(e)));if("date"===t[0]){if("preset"===t[1]&&3===t.length){let e=t[2];if("now"===e)return el()().toISOString();let l=el()();return"today"===e?l.format("YYYY-MM-DD"):"yesterday"===e?l.add(-1,"day").format("YYYY-MM-DD"):"tomorrow"===e?l.add(1,"day").format("YYYY-MM-DD"):"thisWeek"===e?ef(l).format("YYYY-MM-DD"):"lastWeek"===e?ef(l.add(-1,"week")).format("YYYY-MM-DD"):"nextWeek"===e?ef(l.add(1,"week")).format("YYYY-MM-DD"):"thisMonth"===e?l.startOf("month").format("YYYY-MM-DD"):"lastMonth"===e?l.add(-1,"month").startOf("month").format("YYYY-MM-DD"):"nextMonth"===e?l.add(1,"month").startOf("month").format("YYYY-MM-DD"):"thisQuarter"===e?eg(l).format("YYYY-MM-DD"):"lastQuarter"===e?eg(l.add(-3,"month")).format("YYYY-MM-DD"):"nextQuarter"===e?eg(l.add(3,"month")).format("YYYY-MM-DD"):"thisYear"===e?l.startOf("year").format("YYYY-MM-DD"):"lastYear"===e?l.add(-1,"year").startOf("year").format("YYYY-MM-DD"):"nextYear"===e?l.add(1,"year").startOf("year").format("YYYY-MM-DD"):void 0}if("relative"===t[1]&&5===t.length&&ei.has(t[2])&&eo.has(t[3])){let e=em(t[4]);if("number"!=typeof e)return;let l="past"===t[2]?-1:1,n=t[3];return el()().add(l*e,n).format("YYYY-MM-DD")}if("exact"===t[1]&&"single"===t[2]&&"date"===t[3]&&5===t.length){let e=String(t[4]||"");if(!e.startsWith("v"))return;return ey(e.slice(1))}if("exact"===t[1]&&"range"===t[2]&&"date"===t[3]&&6===t.length){let e=String(t[4]||""),l=String(t[5]||"");if(!e.startsWith("v")||!l.startsWith("v"))return;let n=ey(e.slice(1)),r=ey(l.slice(1));if(void 0===n||void 0===r)return;return[n,r]}}}var eA=l(51143);let eF=new Set(["code","version"]);function ek(e){if(!e||"object"!=typeof e||Array.isArray(e))return!1;let t=Object.keys(e);if(!t.includes("code")||"string"!=typeof e.code||"version"in e&&null!=e.version&&"string"!=typeof e.version)return!1;for(let e of t)if(!eF.has(e))return!1;return!0}function eC(e){return{code:String((null==e?void 0:e.code)??""),version:String((null==e?void 0:e.version)??"v1")}}function eP(e){let t="",l="code";for(let n=0;n<e.length;n++){let r=e[n],i=n+1<e.length?e[n+1]:"";if("code"===l){if("/"===r&&"/"===i){t+=" ",n++,l="line";continue}if("/"===r&&"*"===i){t+=" ",n++,l="block";continue}if("'"===r){t+=" ",l="single";continue}if('"'===r){t+=" ",l="double";continue}t+=r;continue}if("line"===l){"\n"===r?(t+="\n",l="code"):t+=" ";continue}if("block"===l){"*"===r&&"/"===i?(t+=" ",n++,l="code"):t+="\n"===r?"\n":" ";continue}if("single"===l){if("\\"===r){t+=" ",n++;continue}"'"===r?(t+=" ",l="code"):t+="\n"===r?"\n":" ";continue}if("\\"===r){t+=" ",n++;continue}'"'===r?(t+=" ",l="code"):t+="\n"===r?"\n":" "}return t}function ej(e){let t="",l="code";for(let n=0;n<e.length;n++){let r=e[n],i=n+1<e.length?e[n+1]:"";if("code"===l){if("/"===r&&"/"===i){t+=" ",n++,l="line";continue}if("/"===r&&"*"===i){t+=" ",n++,l="block";continue}if("'"===r){t+=r,l="single";continue}if('"'===r){t+=r,l="double";continue}t+=r;continue}if("line"===l){"\n"===r?(t+="\n",l="code"):t+=" ";continue}if("block"===l){"*"===r&&"/"===i?(t+=" ",n++,l="code"):t+="\n"===r?"\n":" ";continue}if("single"===l){if(t+=r,"\\"===r){let l=n+1<e.length?e[n+1]:"";l&&(t+=l,n++);continue}"'"===r&&(l="code");continue}if(t+=r,"\\"===r){let l=n+1<e.length?e[n+1]:"";l&&(t+=l,n++);continue}'"'===r&&(l="code")}return t}function eE(e){let t;if(!e)return{subPath:"",wildcard:!1};let l=e;l=l.replace(/\[['"]([a-zA-Z_$][a-zA-Z0-9_$]*)['"]\]/g,".$1");let n=/\[([^\]]+)\]/g;for(;t=n.exec(l);){let e=String(t[1]??"").trim();if(!(/^\d+$/.test(e)||/^['"][a-zA-Z_$][a-zA-Z0-9_$]*['"]$/.test(e)))return{subPath:l.startsWith(".")?l.slice(1):l,wildcard:!0}}return l.startsWith(".")&&(l=l.slice(1)),{subPath:l,wildcard:!1}}function eR(e){let t=String(e||"").trim();if(!t||"ctx"===t)return null;let l=t.match(/^ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)([\s\S]*)$/);if(l){let e=l[1]||"",t=eE(l[2]||"");return{varName:e,subPath:t.subPath,wildcard:t.wildcard}}let n=t.match(/^ctx\s*\[\s*(['"])([a-zA-Z_$][a-zA-Z0-9_$]*)\1\s*\]([\s\S]*)$/);if(n){let e=n[2]||"",t=eE(n[3]||"");return{varName:e,subPath:t.subPath,wildcard:t.wildcard}}return null}function eI(e){let t;if("string"!=typeof e||!e.trim())return{};let l=eP(e),n=ej(e),r=new Map,i=(e,t)=>{if(!e)return;let l=r.get(e)||new Set;l.add(t||""),r.set(e,l)},o=e=>{let t=eR(e);(null==t?void 0:t.varName)&&i(t.varName,t.wildcard?"":t.subPath)},a=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*(?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g;for(;t=a.exec(l);)o(`ctx.${t[1]||""}`);let s=/ctx\s*\[\s*(['"])([a-zA-Z_$][a-zA-Z0-9_$]*)\1\s*\]((?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g;for(;t=s.exec(n);)o(`ctx['${t[2]||""}']${t[3]||""}`);let d=/ctx\.getVar\s*\(\s*(['"])((?:\\.|(?!\1)[\s\S])*)\1\s*\)/g;for(;t=d.exec(n);){let e=String(t[2]||"").replace(/\\'/g,"'").replace(/\\"/g,'"').trim();e.startsWith("ctx")&&o(e)}let u={};for(let[e,t]of r.entries())u[e]=Array.from(t);return u}async function eT(e,t){let l={};if(!t||"object"!=typeof t||Array.isArray(t))return l;for(let[n,r]of Object.entries(t))if(void 0!==r){if(ek(r)){let{code:t,version:i}=eC(r);if(!t.trim())continue;let o=await (0,eA._)(e,t,{version:i});if(!(null==o?void 0:o.success))throw Error(`RunJS execution failed for "${n}"`);void 0!==o.value&&(l[n]=o.value);continue}l[n]=r}return l}var e_=l(49773);let eD="ctx.resolveJsonTemplate",eN=/\{\{\s*ctx(?:\.|\[|\?\.)/,eO=/\bctx(?:\?\.|\.)libs\b/,e$="__runjs_templateValueToString",eB=/\b__runjs_ctx_tpl_\d+\b/,eL=/\b__runjs_templateValueToString(?:_\d+)?\b/,eV=/\b__runjs_ctx_tpl_\d+\b|\b__runjs_templateValueToString(?:_\d+)?\b/,eq=/\b__runjs_ensure_libs\b/,ez=256,eK={withTemplates:new Map,withoutTemplates:new Map};function eU(e,t){let l=e.get(t);if(void 0!==l)return e.delete(t),e.set(t,l),l}function eW(e,t,l,n){if(e.has(t)&&e.delete(t),e.set(t,l),e.size<=n)return;let r=e.keys().next().value;void 0!==r&&e.delete(r)}function eH(e){return!!e&&/[A-Za-z0-9_$]/.test(e)}function eG(e){if(!e.startsWith("{{")||!e.endsWith("}}"))return!1;let t=e.slice(2,-2).trim();return t.startsWith("ctx.")||t.startsWith("ctx[")||t.startsWith("ctx?.")}function eY(e,t){if(!e.startsWith(eD,t))return!1;let l=t>0?e[t-1]:"",n=e[t+eD.length]||"";return!(eH(l)||eH(n))}function eJ(e,t){let l=t+2;for(;l<e.length;){let t=e[l];if(l+=1,"\n"===t)break}return l}function eX(e,t){let l=t+2;for(;l<e.length;){let t=e[l],n=e[l+1];if("*"===t&&"/"===n)return l+2;l+=1}return l}function eQ(e,t,l){let n=t+1;for(;n<e.length;){let t=e[n];if("\\"===t){n+=2;continue}if(n+=1,t===l)break}return n}function eZ(e,t){let l=t+1;for(;l<e.length;){let t=e[l];if("\\"===t){l+=2;continue}if("`"===t)return l+1;if("$"===t&&"{"===e[l+1]){l+=2;let t=1;for(;l<e.length&&t>0;){let n=e[l],r=e[l+1];if("'"===n||'"'===n){l=eQ(e,l,n);continue}if("`"===n){l=eZ(e,l);continue}if("/"===n&&"/"===r){l=eJ(e,l);continue}if("/"===n&&"*"===r){l=eX(e,l);continue}"{"===n?t+=1:"}"===n&&(t-=1),l+=1}continue}l+=1}return l}function e0(e){if(!eN.test(e))return[];let t=[],l=0;for(;l<e.length;){let n=e.indexOf("{{",l);if(-1===n)break;let r=e.indexOf("}}",n+2);if(-1===r)break;let i=e.slice(n,r+2);eG(i)&&t.push(i),l=r+2}return t}function e1(e,t){let l=t;for(;l<e.length&&/\s/.test(e[l]);)l+=1;return l}function e2(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]);)l-=1;return l}function e5(e,t){let l=t;for(;;){l=e1(e,l);let t=e[l],n=e[l+1];if("/"===t&&"/"===n){l=eJ(e,l);continue}if("/"===t&&"*"===n){l=eX(e,l);continue}return l}}function e4(e){return!!e&&/[A-Za-z_$]/.test(e)}function e8(e,t){if(!e4(e[t]))return null;let l=t+1;for(;l<e.length&&eH(e[l]);)l+=1;return{name:e.slice(t,l),end:l}}function e3(e,t,l){if(e[t]!==l)return null;let n=t+1,r="";for(;n<e.length;){let t=e[n];if("\\"===t){let t=e[n+1];if(void 0===t)break;r+=t,n+=2;continue}if(t===l)return{value:r,end:n+1};r+=t,n+=1}return null}function e6(e,t){if(!e.startsWith("ctx",t))return null;let l=t>0?e[t-1]:"",n=e[t+3]||"";if(eH(l)||eH(n))return null;let r=e.slice(t+3);return r.startsWith(".libs")?t+3+5:r.startsWith("?.libs")?t+3+6:null}function e9(e,t){let l=e6(e,t);if(null===l)return null;let n=e5(e,l),r=e[n],i=e[n+1],o=e[n+2];if("?"===r&&"."===i&&"["===o){n=e5(e,n+3);let t=e[n];if("'"===t||'"'===t){let l=e3(e,n,t);if(!l)return{end:n+1};let r=e5(e,l.end);return"]"===e[r]&&(r+=1),{end:r,key:l.value}}return{end:n}}if("["===r){n=e5(e,n+1);let t=e[n];if("'"===t||'"'===t){let l=e3(e,n,t);if(!l)return{end:n+1};let r=e5(e,l.end);return"]"===e[r]&&(r+=1),{end:r,key:l.value}}return{end:n}}if("?"===r&&"."===i){n=e5(e,n+2);let t=e8(e,n);return t?{end:t.end,key:t.name}:{end:n}}if("."===r){n=e5(e,n+1);let t=e8(e,n);return t?{end:t.end,key:t.name}:{end:n}}return{end:l}}function e7(e){let t=[],l=String(e??""),n=0,r=0,i=0,o=0,a=e=>{let l=String(e??"").trim();if(!l||l.startsWith("..."))return;let n=l,r=0,i=0,o=0,a=0;for(;r<l.length;){let e=l[r],t=l[r+1];if("/"===e&&"/"===t)break;if("/"===e&&"*"===t){let e=l.indexOf("*/",r+2);r=-1===e?l.length:e+2;continue}if("'"===e||'"'===e){let t=r+1;for(;t<l.length;){let n=l[t];if("\\"===n){t+=2;continue}if(t+=1,n===e)break}r=t;continue}if("`"===e){let e=r+1;for(;e<l.length;){let t=l[e];if("\\"===t){e+=2;continue}if(e+=1,"`"===t)break}r=e;continue}if("{"===e?i+=1:"}"===e?i-=1:"["===e?o+=1:"]"===e?o-=1:"("===e?a+=1:")"===e&&(a-=1),0===i&&0===o&&0===a&&(":"===e||"="===e)){n=l.slice(0,r).trim();break}r+=1}if(!n)return;if(n.startsWith("'")||n.startsWith('"')){let e=n[0],l=e3(n,0,e);l&&t.push(l.value);return}let s=n.match(/^[A-Za-z_$][A-Za-z0-9_$]*/);s&&t.push(s[0])},s=0;for(;s<l.length;){let e=l[s],t=l[s+1];if("/"===e&&"/"===t)break;if("/"===e&&"*"===t){let e=l.indexOf("*/",s+2);s=-1===e?l.length:e+2;continue}if("'"===e||'"'===e){s=eQ(l,s,e);continue}if("`"===e){s=eZ(l,s);continue}"{"===e?r+=1:"}"===e?r-=1:"["===e?i+=1:"]"===e?i-=1:"("===e?o+=1:")"===e&&(o-=1),0===r&&0===i&&0===o&&","===e&&(a(l.slice(n,s)),n=s+1),s+=1}return a(l.slice(n)),t}function te(e){if(!eO.test(e))return[];let t=new Set,l=l=>{let r=l,i=1;for(;r<e.length&&i>0;){let l=e[r],o=e[r+1];if("/"===l&&"/"===o){r=eJ(e,r);continue}if("/"===l&&"*"===o){r=eX(e,r);continue}if("'"===l||'"'===l){r=eQ(e,r,l);continue}if("`"===l){r=n(r+1);continue}let a=e9(e,r);if(a){a.key&&t.add(a.key),r=a.end;continue}"{"===l?i+=1:"}"===l&&(i-=1),r+=1}return r},n=t=>{let n=t;for(;n<e.length;){let t=e[n],r=e[n+1];if("\\"===t){n+=2;continue}if("`"===t)return n+1;if("$"===t&&"{"===r){n=l(n+2);continue}n+=1}return n},r=0;for(;r<e.length;){let l=e[r],i=e[r+1];if("/"===l&&"/"===i){r=eJ(e,r);continue}if("/"===l&&"*"===i){r=eX(e,r);continue}if("'"===l||'"'===l){r=eQ(e,r,l);continue}if("`"===l){r=n(r+1);continue}let o=e9(e,r);if(o){o.key&&t.add(o.key),r=o.end;continue}if("="===l&&"="!==i&&">"!==i&&"<"!==i){let l=e5(e,r+1);if(null!==e6(e,l)){let l=e2(e,r-1);if("}"===e[l]){let n=0,r=l;for(;r>=0;){let t=e[r];if("}"===t)n+=1;else if("{"===t&&0==(n-=1))break;r-=1}if(r>=0&&"{"===e[r])for(let n of e7(e.slice(r+1,l)))t.add(n)}}}r+=1}return Array.from(t)}function tt(e){if(eq.test(e)||!eO.test(e))return e;let t=te(e);return t.length?`/* __runjs_ensure_libs */
1708
1708
  await ctx.__ensureLibs(${JSON.stringify(t)});
1709
1709
  ${e}`:e}function tl(e,t,l){let n=e1(e,l);if(":"!==e[n])return!1;let r=e2(e,t-1),i=r>=0?e[r]:"";return"{"===i||","===i}function tn(e,t,l,n){let r=Array.from(new Set(t));if(!r.length)return e;let i=e;for(let e of r){let t=l(e);i=`(${i}).split(${JSON.stringify(e)}).join(${n}(${t}, ${JSON.stringify(e)}))`}return i}function tr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!eN.test(e))return e;let l=!1!==t.processBarePlaceholders,n=!1!==t.processStringLiterals;if(l&&n&&eV.test(e)||l&&!n&&eB.test(e)||!l&&n&&eL.test(e))return e;let r=new Map,i=[],o=!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})(e$),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=r.get(e);if(t)return t;let l=u();return r.set(e,l),i.push(`const ${l} = await ctx.resolveJsonTemplate(${JSON.stringify(e)});`),l},p="",h=0,m=!1,f=0;for(;h<e.length;){let t=e[h],r=e[h+1];if("/"===t&&"/"===r){let t=eJ(e,h);p+=e.slice(h,t),h=t;continue}if("/"===t&&"*"===r){let t=eX(e,h);p+=e.slice(h,t),h=t;continue}if("'"===t||'"'===t){let l=eQ(e,h,t),r=e.slice(h,l);if(n&&0===f){let t=e0(r);if(t.length){o=!0;let n=tn(r,t,c,s);p+=tl(e,h,l)?`[${n}]`:n}else p+=r}else p+=r;h=l;continue}if("`"===t){let t=eZ(e,h),l=e.slice(h,t);if(n&&0===f){let n=e0(l);if(n.length){o=!0;let r=tn(l,n,c,s);p+=tl(e,h,t)?`[${r}]`:r}else p+=l}else p+=l;h=t;continue}if(0===f&&!m&&eY(e,h)){p+=eD,h+=eD.length,m=!0;continue}if(m){if(/\s/.test(t)){p+=t,h+=1;continue}if("("===t){p+=t,h+=1,m=!1,f=1;continue}m=!1;continue}if(f>0){"("===t?f+=1:")"===t&&(f-=1),p+=t,h+=1;continue}if(l&&"{"===t&&"{"===r){let t=e.indexOf("}}",h+2);if(-1!==t){let l=e.slice(h,t+2);if(eG(l)){p+=c(l),h=t+2;continue}}}p+=t,h+=1}if(!i.length)return p;let g=[];return o&&g.push(`const ${s} = (value, placeholder) => {`," if (typeof value === 'undefined') return placeholder;"," if (typeof value === 'object' && value !== null) {"," try {"," return JSON.stringify(value);"," } catch (e) {"," return String(value);"," }"," }"," return String(value);","};"),g.push(...i),`${g.join("\n")}
1710
- ${p}`}async function ti(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l="string"==typeof e?e:String(e??""),n=!!t.preprocessTemplates,r=n?eK.withTemplates:eK.withoutTemplates,i=eU(r,l);if(i)return await i;let o=(async()=>{if(!n)return tt(await (0,e_.W)(l));let e=tr(l,{processStringLiterals:!1});return tt(tr(await (0,e_.W)(e),{processBarePlaceholders:!1}))})();eW(r,l,o,ez);try{return await o}catch(e){throw r.delete(l),e}}var to=l(62572);function ta(e){if(Array.isArray(e)){let t=e.map(e=>ta(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=ta(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 ts=e=>"string"==typeof e.on?"beforeRender"===e.on:"object"==typeof e.on?"beforeRender"===e.on.eventName:!e.on&&!0!==e.manual;var td=l(47684);let tu="0123456789abcdefghijklmnopqrstuvwxyz";function tc(){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+=tu[Math.random()*tu.length|0];return`${e}${l}`}},49773(e,t,l){l.d(t,{W:()=>n});async function n(e){if(!/<[A-Za-z]|<\//.test(e))return e;try{var t;let n=await l.e("7761").then(l.bind(l,1608)),r=(null==n?void 0:n.transform)||(null==n||null==(t=n.default)?void 0:t.transform);if("function"!=typeof r)return e;let i=r(e,{transforms:["jsx"],jsxPragma:"ctx.React.createElement",jsxFragmentPragma:"ctx.React.Fragment",disableESTransforms:!0,production:!0});return(i&&(i.code||(null==i?void 0:i.output)))??e}catch(t){return e}}},81982(e,t,l){l.d(t,{M:()=>h,gG:()=>o,mv:()=>a,o4:()=>p});var n=l(40542),r=l(2543),i=l.n(r);async function o(e,t){if(!e)return{};if("function"==typeof e)try{return await e(t)||{}}catch(e){return console.error("Error resolving defaultParams function:",e),{}}return e}async function a(e,t,l){if(!e)return{};if("function"==typeof e)try{return await e(t,l)||{}}catch(e){return console.error("Error resolving createModelOptions function:",e),{}}return e}let s={queue:[],timer:null,inflightByRun:new Map},d=10;function u(e){if(Array.isArray(e))return e.map(u);if(i().isPlainObject(e)){let t=Object.entries(e).map(e=>{let[t,l]=e;return[t,u(l)]});return Object.fromEntries(i().sortBy(t,e=>{let[t]=e;return t}))}return e}function c(e){try{return JSON.stringify(u(e))}catch{try{return JSON.stringify(e)}catch{return String(e)}}}function p(e,t){let l,n,r=s,i=e.runId||"GLOBAL",o=c(t),a=r.inflightByRun.get(i);a||(a=new Map,r.inflightByRun.set(i,a));let u=a.get(o);if(u)return u;let p=new Promise((e,t)=>{l=e,n=t});a.set(o,p);let h={id:`${Date.now()}-${Math.random().toString(36).slice(2)}`,ctx:e,payload:t,resolve:l,reject:n,runId:i,dedupKey:o};r.queue.push(h);let m=async()=>{var t,l,n,i,o,a;let s=r.queue.splice(0,r.queue.length);if(r.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=r.inflightByRun.get(e.runId))||l.delete(e.dedupKey)}return}try{let e=s.map(e=>({id:e.id,template:e.payload.template,contextParams:e.payload.contextParams||{}})),t=await d.request({method:"POST",url:"variables:resolve",data:{values:{batch:e}}}),l=t.data??t,i=l.data??l,o=null==i?void 0:i.results,a=Array.isArray(o)?o:Array.isArray(i)?i:[],u=new Map;for(let e of a){let t=(null==e?void 0:e.id)!=null?String(e.id):"";t&&u.set(t,null==e?void 0:e.data)}for(let e of s)try{let t=String(e.id),l=u.has(t)?u.get(t):e.payload.template;e.resolve(l)}catch(t){e.reject(t)}finally{null==(n=r.inflightByRun.get(e.runId))||n.delete(e.dedupKey)}}catch(t){for(let l of s)try{null==e||null==(o=e.logger)||null==(i=o.warn)||i.call(o,{err:t},"variables:resolve(batch) failed, fallback"),l.resolve(l.payload.template)}catch(e){l.reject(e)}finally{null==(a=r.inflightByRun.get(l.runId))||a.delete(l.dedupKey)}}};return r.timer||(r.timer=setTimeout(m,d)),p}async function h(e,t){let l=async e=>{if("string"==typeof e&&/\{\{.*?\}\}/.test(e))return await g(e,t);if(Array.isArray(e))return Promise.all(e.map(l));if(e&&"object"==typeof e){let t={};for(let[n,r]of Object.entries(e))t[n]=await l(r);return t}return e};return l(e)}async function m(e,t){let l=await f(e.trim(),t),n=await t.runjs(`return ${l}`,{t:t.t});return(null==n?void 0:n.success)?n.value:void 0}async function f(e,t){let l,n=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*(?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g,r=[],i=new Set;for(;null!==(l=n.exec(e));){let e=l[0],t=l[1],n=t.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)/);if(n){let l=n[1],o=t.substring(l.length);r.push({fullPath:e,firstKey:l,restPath:o}),i.add(l)}}if(0===r.length)return e;let o=new Map;for(let e of i)try{let l=await t[e],n=l&&!0===l.__isRecordProxy__;o.set(e,n)}catch(t){o.set(e,!1)}r.sort((e,t)=>t.fullPath.length-e.fullPath.length);let a=e;for(let{fullPath:e,firstKey:t,restPath:l}of r){let n,r=o.get(t)||!1;n=""===l?`await ctx.${t}`:r?`await (await ctx.${t})${l}`:`(await ctx.${t})${l}`;let i=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=RegExp(`\\b${i}\\b`,"g");a=a.replace(s,n)}return a}async function g(e,t){let l=e=>{let t=e.trim().match(/^ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*))?$/);return t?t[2]?`${t[1]}.${t[2]}`:t[1]:null},r=async e=>{let l=e.split("."),r=l.shift();if(!r)return;let i=await t[r];return 0===l.length?i:(0,n.D)(i,l.join("."))},i=async e=>{let n=l(e);if(n){let l=await r(n);return void 0===l&&n.includes("-")?await m(e,t):l}return await m(e,t)},o=e.match(/^\s*\{\{\s*([^{}]+?)\s*\}\}\s*$/);if(o){let e=o[1];return await i(e)}let a=[...e.matchAll(/\{\{\s*(.+?)\s*\}\}/g)],s=e;for(let[e,t]of a){let l=await i(t);if(void 0!==l){let t="object"==typeof l&&null!==l?JSON.stringify(l):String(l);s=s.replace(e,t)}}return s}},47684(e,t,l){function n(e,t){if(!e||"string"!=typeof e)throw Error("invalid url");let l=e.trim();if(l.startsWith("http://")||l.startsWith("https://"))return l;let n=window.__esm_cdn_base_url__||"https://esm.sh",r=(null==t?void 0:t.addSuffix)&&window.__esm_cdn_suffix__||"",i=n.replace(/\/$/,""),o=l.replace(/^\//,"");if(null==t?void 0:t.raw){let e=o.includes("?")?"&":"?";return`${i}/${o}${e}raw`}return`${i}/${o}${r}`}function r(e){return!!e&&"string"==typeof e&&e.split("?")[0].split("#")[0].endsWith(".css")}l.d(t,{i:()=>n,y:()=>r})},51143(e,t,l){function n(){var e,t;let l=globalThis;if((null==(e=l.__nocobaseRunJSSafeGlobalsRegistry)?void 0:e.windowAllow)&&(null==(t=l.__nocobaseRunJSSafeGlobalsRegistry)?void 0:t.documentAllow))return l.__nocobaseRunJSSafeGlobalsRegistry;let n={windowAllow:new Set,documentAllow:new Set};return l.__nocobaseRunJSSafeGlobalsRegistry=n,n}function r(e){if(!e)return;let t=n();for(let l of e){if("string"!=typeof l)continue;let e=l.trim();e&&t.windowAllow.add(e)}}function i(e){if(!e)return;let t=n();for(let l of e){if("string"!=typeof l)continue;let e=l.trim();e&&t.documentAllow.add(e)}}function o(e){return n().windowAllow.has(e)}function a(e){return n().documentAllow.has(e)}function s(e){let t=()=>`${window.location.origin}${window.location.pathname}`,l=(e,l,n)=>{if(!(e=>{try{let l=new URL(e,t()),n=l.protocol.toLowerCase();if("about:"===n)return"about:blank"===l.href;return"http:"===n||"https:"===n}catch{return!1}})(e))throw Error("Unsafe URL: window.open only allows http/https/about:blank.");let r="_blank",i=(e=>{let t=new Set;return e&&e.split(",").map(e=>e.trim()).filter(Boolean).forEach(e=>{let l=e.split("=")[0].trim().toLowerCase();"noopener"!==l&&"noreferrer"!==l&&t.add(e)}),t.add("noopener"),t.add("noreferrer"),Array.from(t).join(",")})(n),o=window.open.call(window,e,r,i);if(o&&"opener"in o)try{o.opener=null}catch{}return o},n=(e,n)=>{let r=new URL(e,t()),i=r.protocol.toLowerCase(),o="about:"===i&&"about:blank"===r.href;if("http:"!==i&&"https:"!==i&&!o)throw Error("Unsafe URL: only http/https/about:blank are allowed.");if(o)return(null==n?void 0:n.replace)?window.location.replace("about:blank"):window.location.assign("about:blank");if(r.protocol===window.location.protocol&&r.hostname===window.location.hostname&&r.port===window.location.port)return(null==n?void 0:n.replace)?window.location.replace(r.href):window.location.assign(r.href);if(!l(r.href))throw Error("Popup blocked: cross-origin navigation is opened in a new tab.")},r=new Proxy({},{get(e,t){switch(t){case"origin":return window.location.origin;case"protocol":return window.location.protocol;case"host":return window.location.host;case"hostname":return window.location.hostname;case"port":return window.location.port;case"pathname":return window.location.pathname;case"assign":return e=>n(e,{replace:!1});case"replace":return e=>n(e,{replace:!0});case"reload":return window.location.reload.bind(window.location);case"href":throw Error("Reading location.href is not allowed.");default:throw Error(`Access to location property "${t}" is not allowed.`)}},set(e,t,l){if("href"===t)return n(String(l),{replace:!1}),!0;throw Error("Mutation on location is not allowed.")}}),i={setTimeout:window.setTimeout.bind(window),clearTimeout:window.clearTimeout.bind(window),setInterval:window.setInterval.bind(window),clearInterval:window.clearInterval.bind(window),console,Math,Date,FormData,..."u">typeof Blob?{Blob}:{},..."u">typeof URL?{URL}:{},addEventListener:addEventListener.bind(window),open:l,location:r,...e||{}};return new Proxy(Object.create(null),{get(e,t){if("string"!=typeof t)return Reflect.get(e,t);if(t in i)return i[t];if(Object.prototype.hasOwnProperty.call(e,t))return e[t];if(o(t)){let e=window[t];return"function"==typeof e?e.bind(window):e}throw Error(`Access to global property "${t}" is not allowed.`)},set(e,t,l){if("string"!=typeof t)return Reflect.set(e,t,l),!0;if(t in i)throw Error(`Mutation of global property "${t}" is not allowed.`);return e[t]=l,!0},has:(e,t)=>"string"!=typeof t?Reflect.has(e,t):!!(t in i||Object.prototype.hasOwnProperty.call(e,t)||o(t))})}function d(e){let t={createElement:document.createElement.bind(document),querySelector:document.querySelector.bind(document),querySelectorAll:document.querySelectorAll.bind(document),...e||{}};return new Proxy(Object.create(null),{get(e,l){if("string"!=typeof l)return Reflect.get(e,l);if(l in t)return t[l];if(Object.prototype.hasOwnProperty.call(e,l))return e[l];if(a(l)){let e=document[l];return"function"==typeof e?e.bind(document):e}throw Error(`Access to document property "${l}" is not allowed.`)},set(e,l,n){if("string"!=typeof l)return Reflect.set(e,l,n),!0;if(l in t)throw Error(`Mutation of document property "${l}" is not allowed.`);return e[l]=n,!0},has:(e,l)=>"string"!=typeof l?Reflect.has(e,l):!!(l in t||Object.prototype.hasOwnProperty.call(e,l)||a(l))})}function u(e){var t;let l="u">typeof window&&window.navigator||void 0,n={},r=null==l||null==(t=l.clipboard)?void 0:t.writeText;"function"==typeof r&&(n.writeText=r.bind(l.clipboard));let i={clipboard:n};return Object.defineProperty(i,"onLine",{get:()=>!!(null==l?void 0:l.onLine),enumerable:!0,configurable:!1}),Object.defineProperty(i,"language",{get:()=>null==l?void 0:l.language,enumerable:!0,configurable:!1}),Object.defineProperty(i,"languages",{get:()=>(null==l?void 0:l.languages)?[...l.languages]:void 0,enumerable:!0,configurable:!1}),Object.assign(i,e||{}),new Proxy({},{get(e,t){if(t in i)return i[t];throw Error(`Access to navigator property "${String(t)}" is not allowed.`)}})}function c(e){let t={};try{let e=u();t.navigator=e;try{t.window=s({navigator:e})}catch{}}catch{}try{t.document=d()}catch{}return e?{...t,...e}:t}async function p(e,t,l,n){if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.runjs)return e.runjs(t,c(n),l)}l.d(t,{D1:()=>u,I2:()=>c,Vm:()=>r,Xh:()=>d,_:()=>p,ey:()=>s,yz:()=>i})},22928(e,t,l){function n(e){let t={};return Object.entries(e||{}).forEach(e=>{let[l,n]=e;null!=n&&(t[l]=n)}),t}function r(e,t,l){try{var n,r,i,o,a;let s=null==(r=e.dataSourceManager)||null==(n=r.getDataSource)?void 0:n.call(r,t||"main"),d=null==s||null==(o=s.collectionManager)||null==(i=o.getCollection)?void 0:i.call(o,l);return(null==d||null==(a=d.getPrimaryKey)?void 0:a.call(d))||"id"}catch(e){return"id"}}function i(e,t){var l,i;if(!t)return;let o=t.dataSourceKey||"main",a=t.collection||(null==(l=t.record)?void 0:l.__collectionName);if(!a)return;let s=r(e,o,a)||"id",d=void 0!==t.filterByTk?t.filterByTk:void 0!==t.id?t.id:null==(i=t.record)?void 0:i[s];if(void 0!==d)return n({collection:a,filterByTk:d,dataSourceKey:o,associationName:t.associationName,sourceId:t.sourceId,fields:t.fields,appends:t.appends})}function o(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={},r=(t,o)=>{if(l(t)){let l=i(e,t);l&&(n[o.join(".")]=l);return}if(Array.isArray(t)){for(let e=0;e<t.length;e++)r(t[e],[...o,String(e)]);return}if(t&&"object"==typeof t){for(let[e,l]of Object.entries(t))r(l,[...o,e]);return}};return r(t,[]),Object.keys(n).length?n:void 0}l.d(t,{d:()=>o})},88439(e,t,l){l.d(t,{w:()=>n});function n(e,t,l,n){let r={},i={};for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let s=t[a],d={};if(s.uiSchema&&"object"==typeof s.uiSchema){for(let[e,t]of Object.entries(s.uiSchema))if(t&&"object"==typeof t){var o;let l=t;d[e]={type:l.type||"any",title:l.title||(null==(o=l["x-decorator-props"])?void 0:o.label)||e,interface:l["x-component"],uiSchema:l}}}let u=Object.keys(d).length>0;i[a]={type:"object",title:e.t(s.title)||a,display:u?"default":"none",properties:u?{params:{type:"object",title:"Parameters",display:"flatten",properties:d}}:void 0},r[a]={get params(){return l.getStepParams(n,a)||{}},get uiSchema(){return s.uiSchema},result:void 0}}e.defineProperty("steps",{get:()=>r})}},73398(e,t,l){function n(e){let t=new Set,l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,r=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g;for(;null!==(e=i.exec(r));)t.add(e[1]);let o=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]/g;for(;null!==(n=o.exec(r));)t.add(n[2])}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}function r(e){let t={},l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,r=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)([^\s)]*)/g;for(;null!==(e=i.exec(r));){let l=e[1],n=e[2]||"";if(t[l]=t[l]||[],n.startsWith("."))t[l].push(n.slice(1));else if(n.startsWith("[")){let e=n.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(e){let n=e[2],r=e[3]||"";t[l].push(`${n}${r}`)}else{let e=n.match(/^\[(\d+)\](.*)$/);if(e){let n=e[1],r=e[2]||"";t[l].push(`[${n}]${r}`)}}}else n.startsWith("(")&&!t[l].length&&t[l].push("")}let o=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]([^\s)]*)/g;for(;null!==(n=o.exec(r));){let e=n[2],l=n[3]||"";if(t[e]=t[e]||[],l.startsWith("."))t[e].push(l.slice(1));else if(l.startsWith("[")){let n=l.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(n){let l=n[2],r=n[3]||"";t[e].push(`${l}${r}`)}else{let n=l.match(/^\[(\d+)\](.*)$/);if(n){let l=n[1],r=n[2]||"";t[e].push(`[${l}]${r}`)}}}else l.startsWith("(")&&!t[e].length&&t[e].push("")}}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}l.d(t,{xI:()=>m,vP:()=>y,$S:()=>f,pc:()=>g,Cg:()=>c,nN:()=>b,ju:()=>x,Xx:()=>h,vE:()=>p,XU:()=>u,UX:()=>v});var i=l(22928),o=l(35846),a=l(44476),s=l(2543),d=l.n(s);function u(e){var t,l,n,r;let i=e.resource,o=e.collection,a=e.record,s=(null==o?void 0:o.name)||(null==i||null==(t=i.getResourceName)?void 0:t.call(i)),d=(null==o?void 0:o.dataSourceKey)||(null==i||null==(l=i.getDataSourceKey)?void 0:l.call(i)),u=(null==i||null==(n=i.getFilterByTk)?void 0:n.call(i))??(null==o||null==(r=o.getFilterByTK)?void 0:r.call(o,a));if(!s||null==u)return;let c=String(s).split(".");return{collection:c[c.length-1],dataSourceKey:d,filterByTk:u}}function c(e){var t,l,n;let r=e.view;if(!r)return;let i=(null==r?void 0:r.inputArgs)||{},o=(null==i?void 0:i.collectionName)||(null==r||null==(t=r.record)?void 0:t.collection),a=(null==i?void 0:i.dataSourceKey)||(null==r||null==(l=r.record)?void 0:l.dataSourceKey)||"main",s=(null==i?void 0:i.filterByTk)||(null==r||null==(n=r.record)?void 0:n.filterByTk),d=null==i?void 0:i.associationName,u=null==i?void 0:i.sourceId;if(o&&null!=s)return{collection:o,dataSourceKey:a,filterByTk:s,sourceId:u,associationName:d}}function p(e,t){var l,n,r;let i=null==(l=e.inputArgs)?void 0:l.record,o=null==(n=e.collection)?void 0:n.filterTargetKey;if(!i||!o)return;let a=t.view,s=null==a||null==(r=a.inputArgs)?void 0:r.filterByTk,u=i[o];if(null!=s&&null!=u&&s===u)return d().cloneDeep(i)}function h(e,t){return l=>{var n,r,i,o;if(!("record"===l||l.startsWith("record.")))return!1;let s=t();if(!s)return!0;if("record"===l)return!1;let d=c(e),u=null==d?void 0:d.collection,p=(null==d?void 0:d.dataSourceKey)||"main";if(!u)return!0;let h=null==(r=e.dataSourceManager)||null==(n=r.getDataSource)?void 0:n.call(r,p),m=null==h||null==(o=h.collectionManager)||null==(i=o.getCollection)?void 0:i.call(o,u);if(!m)return!0;let f=(0,a.H)(()=>m,()=>s),g=l.startsWith("record.")?l.slice(7):"";return!!g&&f(g)}}function m(e,t){let l=(0,a.H)(e,()=>t());return n=>{let r=t();if(!r)return!0;if(!n)return!1;let i=e();if(!n.includes(".")){var o;let e,t=n;return i&&("function"==typeof i.getField&&(e=i.getField(t)),e||"function"!=typeof i.getFields||(e=(i.getFields()||[]).find(e=>(null==e?void 0:e.name)===t))),!!(null==e||null==(o=e.isAssociationField)?void 0:o.call(e))&&null==(null==r?void 0:r[t])}return l(n)}}async function f(e,t,l){let n=await (0,o.H)(e,t,!0)();return n?{...n,buildVariablesParams:e=>l?l(e):u(e)}:null}function g(e,t,l){let n=async()=>f(e,t,l);return n.title=t,n}function v(e,t,l){var n,r;return g(t,(null==l?void 0:l.title)?(null==(n=e.t)?void 0:n.call(e,l.title))||l.title:(null==(r=e.t)?void 0:r.call(e,"Current record"))||"Current record",e=>u(e))}let y=n,b=r;async function x(e,t){let l=Object.keys(r(t)||{});if(!l.length)return;let n={};for(let t of l){var o;let l,r=null==(o=e.getPropertyOptions)?void 0:o.call(e,t),i=null==r?void 0:r.meta;if(i){try{let t="function"==typeof i?await i():i,n=null==t?void 0:t.buildVariablesParams;"function"==typeof n&&(l=await n(e))}catch(e){continue}l&&(n[t]=l)}}return(0,i.d)(e,n)}},67778(e,t,l){l.d(t,{sp:()=>P,bt:()=>I,U:()=>el,N5:()=>K,xB:()=>B,mW:()=>$,fP:()=>G});var n=l(74848),r=l(96540),i=l(99418),o=l(11869),a=l(29007),s=l(52568),d=l(73398);function u(e){return null!=e}function c(e,t){if(e===t)return!0;if(!u(e)||!u(t))return!1;try{return JSON.stringify(e)===JSON.stringify(t)}catch(l){return String(e)===String(t)}}function p(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]:p(e);if(!l.length)return -1;let n=(null==e?void 0:e.inputArgs)||{},r=(null==e||null==(t=e.navigation)?void 0:t.viewParams)||{},i=n.viewUid??r.viewUid;if(!i)return l.length-1;let o=l.map((e,t)=>({item:e,index:t})).filter(e=>{let{item:t}=e;return(null==t?void 0:t.viewUid)===i});if(!o.length)return l.length-1;let a=["filterByTk","sourceId","tabUid"],s=o[o.length-1].index,d=-1;for(let{item:e,index:t}of o){let l=0,r=!0;for(let t of a)if(u(n[t])){if(!c(null==e?void 0:e[t],n[t])){r=!1;break}l+=1}r&&l>=d&&(s=t,d=l)}return s}function m(e,t){return t??e.view}function f(e){var t;if(!e)return!1;let l=p(e),n=null==e||null==(t=e.inputArgs)?void 0:t.openerUids,r=Array.isArray(n)&&n.length>0;return h(e,l)>=1||r}function g(e,t){let l=t=>e.t(t),n=function(){let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e;return f(m(l,t))},r=async e=>{let l=m(e,t);if(!l||!f(l))return;let n=await v(e,l),r=null==n?void 0:n.resource;return(null==r?void 0:r.collectionName)&&null!=r.filterByTk?{collection:r.collectionName,dataSourceKey:r.dataSourceKey||"main",filterByTk:r.filterByTk,associationName:r.associationName,sourceId:r.sourceId}:(0,d.Cg)(e)},i=async()=>{var t,l,n,i;let o=await r(e);if(!(null==o?void 0:o.collection))return null;let a=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,o.dataSourceKey||"main");return(null==a||null==(i=a.collectionManager)||null==(n=i.getCollection)?void 0:n.call(i,o.collection))||null},o=async(l,n)=>{var r,i,o,a,s,d;try{let s=n||e,d=m(s,t),u=p(d),c=h(d,u);if(c<1||l<1)return;let f=c-l;if(f<1)return;let g=u[f];if(!(null==g?void 0:g.viewUid))return;let v=null==(r=s.engine)?void 0:r.getModel(g.viewUid,!0);if(!v)try{v=await s.engine.loadModel({uid:g.viewUid})}catch(t){null==(a=s.logger||e.logger)||null==(o=a.warn)||o.call(a,{err:t},"[FlowEngine] popup.getParentRecordRef loadModel failed")}let y=(null==v||null==(i=v.getStepParams)?void 0:i.call(v,"popupSettings","openView"))||{},b=null==y?void 0:y.collectionName,x=(null==y?void 0:y.dataSourceKey)||"main",w=(null==g?void 0:g.filterByTk)??(null==g?void 0:g.sourceId);if(!b||null==w)return;return{collection:b,dataSourceKey:x,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=m(e,t),r=p(n);return h(n,r)-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 o(t),r={};if(r.uid={type:"string",title:l("Popup uid")},n){let t=(()=>{try{var t,l,r,i;let o=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,n.dataSourceKey||"main");return(null==o||null==(i=o.collectionManager)||null==(r=i.getCollection)?void 0:r.call(i,n.collection||""))||null}catch(e){return null}})();r.record=await (0,d.$S)(()=>t,l("Popup record"),()=>n)||{type:"object",title:l("Popup record")}}else r.record={type:"object",title:l("Popup record")};return r.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")}})},r}});return n.title=l("Parent popup"),n},u=()=>({type:"object",title:l("Current popup"),disabled:()=>!n(),hidden:()=>!n(),buildVariablesParams:async e=>{var l,i,a,s;if(!n(e))return;let d=await r(e),u=m(e,t),c=null==u?void 0:u.inputArgs,f={};if(d){let e={...d};!e.associationName&&(null==c?void 0:c.associationName)&&(e.associationName=c.associationName),void 0===e.sourceId&&void 0!==(null==c?void 0:c.sourceId)&&(e.sourceId=null==c?void 0:c.sourceId),f.record=e}try{let t=p(u);if(h(u,t)>=2){let t=f,l=1,n=await o(l,e);for(;n;)t.parent||(t.parent={}),t.parent.record=n,t=t.parent,l+=1,n=await o(l,e)}}catch(t){null==(i=e.logger)||null==(l=i.debug)||l.call(i,{err:t},"[FlowEngine] buildVariablesParams: build parent-chain failed")}try{let e=null==c?void 0:c.sourceId,t=null==c?void 0:c.associationName,l=(null==c?void 0:c.dataSourceKey)||"main";if(null!=e&&""!==e&&t&&"string"==typeof t){let n=String(t).split(".")[0];n&&(f.sourceRecord={collection:n,dataSourceKey:l,filterByTk:e})}}catch(t){null==(s=e.logger)||null==(a=s.debug)||a.call(s,{err:t},"[FlowEngine] buildVariablesParams: infer sourceRecord failed")}return f},properties:async()=>{var n,a,u,c;let f={};if(f.uid={type:"string",title:l("Popup uid")},await r(e)){let e=async()=>{let e=await i();return e?await (0,d.$S)(()=>e,l("Current popup record"),e=>r(e)):null};e.title=l("Current popup record"),e.hasChildren=!0,f.record=e}try{let r=m(e,t),i=null==r?void 0:r.inputArgs,o=null==i?void 0:i.sourceId,s=null==i?void 0:i.associationName,u=(null==i?void 0:i.dataSourceKey)||"main";if(!s||"string"!=typeof s||!s.includes(".")){let t=p(r),l=h(r,t),i=l>=0?null==t?void 0:t[l]:void 0;if(null==i?void 0:i.viewUid){let t=null==e||null==(n=e.engine)?void 0:n.getModel(i.viewUid,!0);t||(t=await e.engine.loadModel({uid:i.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!=o&&""!==o&&s&&"string"==typeof s){let t=String(s).includes(".")?String(s).split(".")[0]:void 0;if(t){let n=()=>{try{var l,n,r,i;let o=null==(n=e.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u);return(null==o||null==(i=o.collectionManager)||null==(r=i.getCollection)?void 0:r.call(i,t))||null}catch(e){return null}},r=await (0,d.$S)(n,l("Current popup parent record"),()=>({collection:t,dataSourceKey:u,filterByTk:o}));r&&(f.sourceRecord=r)}}}catch(t){null==(c=e.logger)||null==(u=c.debug)||u.call(c,{err:t},"[FlowEngine] popup.properties: build sourceRecord failed")}return f.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 o(1)&&(f.parent=s(1)),f}});return u.title=l("Current popup"),u.sort=975,u}async function v(e,t){var l;let n=p(t),r=h(t,n),i=null==t||null==(l=t.inputArgs)?void 0:l.openerUids,o=Array.isArray(i)&&i.length>0;if(!(r>=1||o))return;if(!n.length){let e=(null==t?void 0:t.inputArgs)||{};if(!(e.collectionName||null!=e.filterByTk||null!=e.sourceId||e.associationName||e.viewUid))return;return{uid:e.viewUid,resource:{dataSourceKey:e.dataSourceKey||"main",collectionName:e.collectionName,associationName:e.associationName,filterByTk:e.filterByTk,sourceId:e.sourceId}}}let a=async t=>{var l,r,i,o,s,d;if(t<0||!(null==(l=n[t])?void 0:l.viewUid))return;let u=n[t].viewUid,c=null==(r=e.engine)?void 0:r.getModel(u,!0);c||(c=await (null==(d=e.engine)?void 0:d.loadModel({uid:u})));let p=(null==c||null==(i=c.getStepParams)?void 0:i.call(c,"popupSettings","openView"))||{},h=null==p?void 0:p.collectionName,m={uid:u,resource:{dataSourceKey:(null==p?void 0:p.dataSourceKey)||"main",collectionName:h,associationName:null==p?void 0:p.associationName,filterByTk:null==(o=n[t])?void 0:o.filterByTk,sourceId:null==(s=n[t])?void 0:s.sourceId}},f=await a(t-1);return f&&(m.parent=f),m};return await a(r)}function y(e,t){let l=/^(?:record|sourceRecord)(?:\.|$)|^parent(?:\.parent)*(?:\.(?:record|sourceRecord))(?:\.|$)/;e.defineProperty("popup",{get:async()=>v(e,t),meta:g(e,t),resolveOnServer:e=>{try{return!!e&&l.test(e)}catch(e){return!1}}})}var b=l(18182);let x=(0,r.forwardRef)((e,t)=>{let{afterClose:l,footer:i,header:o,hidden:a,...s}=e,[d,u]=(0,r.useState)(!0),[c,p]=(0,r.useState)(s),[h,m]=(0,r.useState)(()=>i),[f,g]=(0,r.useState)(o);(0,r.useImperativeHandle)(t,()=>({destroy:()=>{u(!1),null==l||l()},update:e=>p(t=>({...t,...e})),setFooter:e=>{m(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!==h?h:c.footer??null},y=r.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 w(){let[e,t]=r.useState([]);return[e,r.useCallback(e=>(t(t=>[...t,e]),()=>{t(t=>t.filter(t=>t!==e))}),[])]}var S=l(16639),M=l(20616),A=l(47451);async function F(e,t){var l;return!!t.force||!1!==await (null==(l=e.beforeClose)?void 0:l.call(e,t))}function k(e,t){var l;let n=null==t?void 0:t.layoutContext,r=null==t||null==(l=t.engine)?void 0:l.context;n instanceof a.cB&&n!==t&&n!==r&&e.addDelegate(n)}let C=0;function P(){let e=r.useRef(null),t=(t,l)=>{var u,c,p;let h,m,f=null==l?void 0:l.engine;C+=1;let g=r.createRef(),v=new Promise(e=>{m=e}),b=null,w=null,P=e=>{let{children:t}=e;return r.useEffect(()=>{var e;return b=t,null==(e=g.current)||e.setFooter(t),()=>{var e;b=null,null==(e=g.current)||e.setFooter(null)}},[t]),null},j=e=>(r.useEffect(()=>{var t;return w=e,null==(t=g.current)||t.setHeader(e),()=>{var e;w=null,null==(e=g.current)||e.setHeader(null)}},[e]),null),E=new a.cB,R=(0,A._)(l.engine),I=(0,S.eX)(f,R);E.defineProperty("engine",{value:R}),E.addDelegate(R.context),!1!==t.inheritContext?E.addDelegate(l):(E.addDelegate(l.engine.context),k(E,l));let T=!1,_={type:"dialog",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,r,i;if(T)return;T=!0,null==(l=t.onClose)||l.call(t),null==(n=g.current)||n.destroy(),null==h||h(),null==m||m(e);let o=null==I?void 0:I.emitter;(0,S.Z8)(o),null==o||null==(i=o.emit)||i.call(o,S.B9,{type:"dialog",viewUid:null==_||null==(r=_.inputArgs)?void 0:r.viewUid}),R.unlinkFromStack()},update:e=>{var t;return null==(t=g.current)?void 0:t.update(e)},close:async(e,l)=>{var n,r;return(!t.preventClose||!!l)&&!!await F(_,{result:e,force:l})&&(t.triggerByRouter&&(null==(r=t.inputArgs)||null==(n=r.navigation)?void 0:n.back)?t.inputArgs.navigation.back():_.destroy(e),!0)},Footer:P,Header:j,setFooter:e=>{var t;b=e,null==(t=g.current)||t.setFooter(e)},setHeader:e=>{var t;w=e,null==(t=g.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,E)}};E.defineProperty("view",{get:()=>_,resolveOnServer:(0,d.Xx)(E,()=>(0,d.vE)(l,E))}),R.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),_.destroy()}),y(E,_);let D=(0,o.observer)(()=>{var e,l,o,a;let s=r.useRef(!1),d="function"==typeof t.content?t.content(_,E):t.content,u="string"==typeof d?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(d)}}):d;return(r.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,_,E)},[]),(null==(l=t.inputArgs)||null==(e=l.hidden)?void 0:e.value)&&!s.current)?null:(s.current=!0,(0,n.jsx)(x,{className:"nb-dialog-overflow-hidden",ref:g,hidden:null==(a=t.inputArgs)||null==(o=a.hidden)?void 0:o.value,footer:b,header:w,...t,onCancel:()=>{_.close(t.result)},children:u}))},{displayName:"DialogWithContext"}),N=(null==t||null==(c=t.inputArgs)?void 0:c.viewUid)||`page-${C}`,O=(0,n.jsx)(M.I6,{engine:R,children:(0,n.jsx)(s.YQ,{context:E,children:(0,n.jsx)(D,{})})},N);return h=null==(p=e.current)?void 0:p.patchElement(O),Object.assign(v,_)},l=r.useMemo(()=>({open:t}),[]),u=r.memo(r.forwardRef((e,t)=>{let[l,i]=w();return r.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(u,{ref:e},"dialog-holder")]}var j=l(97134),E=l(61793);let R=r.forwardRef((e,t)=>{var l;let{children:i,footer:o,title:a,extra:s,hidden:d,isMobile:u,...c}=e,[p,h]=r.useState(!0),[m,f]=r.useState(()=>o),[g,v]=r.useState({title:a,extra:s,...c.header});r.useImperativeHandle(t,()=>({destroy:()=>{h(!1)},update:e=>{Object.assign(c,e)},setFooter:e=>{f(e)},setHeader:e=>{0===Object.values(e||{}).length?v(null):v(e)}}),[]);let y=r.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return u?(0,n.jsx)(E.D,{className:d?"nb-hidden":"",visible:p,...c,footer:m,...g,onClose:c.onClose,children:i}):(0,n.jsx)(j.A,{rootClassName:d?"nb-hidden":"",closable:!1,getContainer:y,...c,open:p,footer:m,styles:{...c.styles,footer:{display:"flex",justifyContent:"flex-end",...null==(l=c.styles)?void 0:l.footer}},...g,onClose:c.onClose,children:i})});function I(){let e=r.useRef(null),t=r.useMemo(()=>o.observable.shallow({value:[]}),[]),l=r.memo(e=>{let{index:i}=e,[a,s]=r.useState(null);return(r.useEffect(()=>{(0,o.autorun)(()=>{let e=t.value;e[i]&&a!==e[i]&&s(e[i]),e[i]||s(null)})},[a,i]),a)?(0,n.jsx)(a,{children:(0,n.jsx)(l,{index:i+1})}):null});l.displayName="RenderNestedDrawer";let u=(t,l)=>{var u,c;let p,h,m=l.engine,f=r.createRef(),g=new Promise(e=>{h=e}),v=null,b=null,x=e=>{let{children:t}=e;return r.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=>(r.useEffect(()=>{var t;return b=e,null==(t=f.current)||t.setHeader(e),()=>{var e;b=null,null==(e=f.current)||e.setHeader(null)}},[e]),null),C=new a.cB,P=(0,A._)(l.engine),j=(0,S.eX)(m,P);C.defineProperty("engine",{value:P}),C.addDelegate(P.context),!1!==t.inheritContext?C.addDelegate(l):(C.addDelegate(l.engine.context),k(C,l));let E=!1,I={type:"drawer",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,r,i;if(E)return;E=!0,null==(l=t.onClose)||l.call(t),null==(n=f.current)||n.destroy(),null==p||p(),null==h||h(e);let o=null==j?void 0:j.emitter;(0,S.Z8)(o),null==o||null==(i=o.emit)||i.call(o,S.B9,{type:"drawer",viewUid:null==I||null==(r=I.inputArgs)?void 0:r.viewUid}),P.unlinkFromStack()},update:e=>{var t;return null==(t=f.current)?void 0:t.update(e)},close:async(e,l)=>{var n,r;return(!t.preventClose||!!l)&&!!await F(I,{result:e,force:l})&&(t.triggerByRouter&&(null==(r=t.inputArgs)||null==(n=r.navigation)?void 0:n.back)?t.inputArgs.navigation.back():I.destroy(e),!0)},Footer:x,Header:w,setFooter:e=>{var t;v=e,null==(t=f.current)||t.setFooter(e)},setHeader:e=>{var t;b=e,null==(t=f.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,C)}};C.defineProperty("view",{get:()=>I,resolveOnServer:(0,d.Xx)(C,()=>(0,d.vE)(l,C))}),P.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),I.destroy()}),y(C,I);let T=r.memo((0,o.observer)(e=>{var l,o,a,s;let d=r.useRef(!1),u="function"==typeof t.content?t.content(I,C):t.content,c="string"==typeof u?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(u)}}):u;return(r.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,I,C)},[]),(null==(o=t.inputArgs)||null==(l=o.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||b,hidden:null==(s=t.inputArgs)||null==(a=s.hidden)?void 0:a.value,onClose:()=>{I.close(t.result)},isMobile:C.isMobileLayout,children:[c,e.children]}))}));T.displayName="DrawerWithContext";let _=r.memo(e=>{let{children:t}=e;return(0,n.jsx)(M.I6,{engine:P,children:(0,n.jsx)(s.YQ,{context:C,children:(0,n.jsx)(T,{children:t})})})});return _.displayName="RenderDrawer",p=null==(c=e.current)?void 0:c.patchElement(_),Object.assign(g,I)},c=r.useMemo(()=>({open:u}),[]),p=r.memo(r.forwardRef((e,i)=>{let[o,a]=w();return r.useImperativeHandle(i,()=>({patchElement:a}),[a]),r.useEffect(()=>{t.value=o},[o]),(0,n.jsx)(l,{index:0})}));return[c,(0,n.jsx)(p,{ref:e},"drawer-holder")]}var T=l(40961),_=l(31333),D=l(71021);let N=(0,r.forwardRef)((e,t)=>{let[l,i]=r.useState({}),{visible:o=!0,footer:a=null,header:s=null,children:d,hidden:u,title:c,styles:p={},zIndex:h=4,onClose:m}={...e,...l},f=(0,r.useRef)(!1),g=(0,M.uf)(),[v,y]=(0,r.useState)(()=>a),[b,x]=(0,r.useState)(s);(0,r.useImperativeHandle)(t,()=>({destroy:()=>{f.current||(f.current=!0)},update:e=>{i(e)},setFooter:e=>{y(e)},setHeader:e=>{0===Object.values(e||{}).length?x(null):x(e)}}));let w=(0,r.useMemo)(()=>({display:u?"none":"flex",flexDirection:"column",height:"100%",zIndex:h}),[u,h]),S=(0,r.useMemo)(()=>{if(!b&&!c)return null;let{title:e=c,extra:t}=b||{},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)(D.Ay,{type:"text",size:"small",icon:(0,n.jsx)(_.A,{}),onClick:async()=>{f.current||!1!==await (null==m?void 0:m())&&(f.current=!0)},style:{color:l.colorTextTertiary}}),e&&(0,n.jsx)("div",{style:{fontSize:l.fontSizeLG,fontWeight:l.fontWeightStrong,color:l.colorText},children:e})]}),t&&(0,n.jsx)("div",{children:t})]})},[b,c,g.context.themeToken,p.header,m]),A=(0,r.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 o?(0,n.jsxs)("div",{style:{...w,...p.content},children:[S,(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",...p.body},children:d}),A]}):null}),O=0,$="nocobase-embed-container",B="nocobaseEmbedReplacing";function L(e){return!!e&&"function"==typeof e.then}function V(e,t){e.dataset[B]="1";try{let l=t.close();if(L(l))return Promise.resolve(l).finally(()=>{delete e.dataset[B]});return delete e.dataset[B],l}catch(t){throw delete e.dataset[B],t}}function q(e,t,l){let n,r={},i=e.then(e=>{let{page:t}=e;return(n=t)&&("beforeClose"in r&&(n.beforeClose=r.beforeClose),"update"in r&&n.update(r.update),"footer"in r&&n.setFooter(r.footer),"header"in r&&n.setHeader(r.header),r.destroyed&&n.destroy(r.destroyed.result)),{page:t}});return Object.assign(i.then(e=>{let{page:t}=e;return!!t&&t}),{type:"embed",inputArgs:t,preventClose:l,Header:null,Footer:null,get beforeClose(){return(null==n?void 0:n.beforeClose)??r.beforeClose},set beforeClose(value){n?n.beforeClose=value:r.beforeClose=value},close:(e,t)=>i.then(l=>{let{page:n}=l;return!!n&&n.close(e,t)}),destroy:e=>{n?n.destroy(e):r.destroyed={result:e}},update:e=>{n?n.update(e):r.update={...r.update,...e}},setFooter:e=>{n?n.setFooter(e):r.footer=e},setHeader:e=>{n?n.setHeader(e):r.header=e}})}let z=r.memo(r.forwardRef((e,t)=>{let[l,i]=w();return r.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,n.jsx)(n.Fragment,{children:l})}));function K(){let e=r.useRef(null),t=r.useRef(null),l=r.useRef(0),i=(i,u)=>{let{target:c,content:p,preventClose:h,inheritContext:m=!0,inputArgs:f={},onOpenCancelled:g,...v}=i,b=c instanceof HTMLElement&&c.id===$,x=()=>{var l,g,x;let w,C,P,j=null==u?void 0:u.engine;O+=1;let E=r.createRef(),R=new Promise(e=>{C=e}),I=e=>{let{children:t}=e;return r.useEffect(()=>{var e;return null==(e=E.current)||e.setFooter(t),()=>{var e;null==(e=E.current)||e.setFooter(null)}},[t]),null},_=e=>(r.useEffect(()=>{var t;return null==(t=E.current)||t.setHeader(e),()=>{var e;null==(e=E.current)||e.setHeader(null)}},[e]),null),D=new a.cB,$=(0,A._)(u.engine),L=(0,S.eX)(j,$);D.defineProperty("engine",{value:$}),D.addDelegate($.context),m?D.addDelegate(u):(D.addDelegate(u.engine.context),k(D,u));let V=!1,q={type:"embed",inputArgs:f,preventClose:!!i.preventClose,beforeClose:void 0,destroy:e=>{var l,n,r,o,a;if(!V){if(V=!0,null==(l=i.onClose)||l.call(i),null==C||C(e),null==(n=E.current)||n.destroy(),null==w||w(),b&&t.current===q&&(t.current=null),!(b&&c instanceof HTMLElement&&(null==(r=c.dataset)?void 0:r[B])==="1")){let e=null==L?void 0:L.emitter;(0,S.Z8)(e),null==e||null==(a=e.emit)||a.call(e,S.B9,{type:"embed",viewUid:null==q||null==(o=q.inputArgs)?void 0:o.viewUid})}$.unlinkFromStack()}},update:e=>{var t;return null==(t=E.current)?void 0:t.update(e)},close:(e,t)=>V?Promise.resolve(!0):P||(P=(async()=>{try{var l,n;if(h&&!t)return P=void 0,!1;let r=await F(q,{result:e,force:t});if(V)return!0;if(!r)return P=void 0,!1;if(i.triggerByRouter&&(null==(n=i.inputArgs)||null==(l=n.navigation)?void 0:l.back))return i.inputArgs.navigation.back(),!0;return q.destroy(e),!0}catch(e){throw V||(P=void 0),e}})()),Header:_,Footer:I,setFooter:e=>{var t;null==(t=E.current)||t.setFooter(e)},setHeader:e=>{var t;null==(t=E.current)||t.setHeader(e)},navigation:null==(l=i.inputArgs)?void 0:l.navigation,get record(){return(0,d.vE)(u,D)}};D.defineProperty("view",{get:()=>q,resolveOnServer:(0,d.Xx)(D,()=>(0,d.vE)(u,D))}),y(D,q);let z=(0,o.observer)(()=>{var e,t,l,o;let a=r.useRef(!1),s=r.useMemo(()=>"function"==typeof p?p(q,D):p,[]);return(D.themeToken,r.useEffect(()=>{var e;null==(e=i.onOpen)||e.call(i,q,D)},[]),(null==(t=i.inputArgs)||null==(e=t.hidden)?void 0:e.value)&&!a.current)?null:(a.current=!0,(0,n.jsx)(N,{ref:E,hidden:null==(o=i.inputArgs)||null==(l=o.hidden)?void 0:l.value,...v,onClose:()=>q.close(i.result),children:s}))},{displayName:"PageWithContext"}),K=(null==f?void 0:f.viewUid)||`page-${O}`,U=(0,n.jsx)(M.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(T.createPortal(U,c,K)):null==(x=e.current)?void 0:x.patchElement(U),b&&(t.current=q),Object.assign(R,q)};if(b&&t.current){let e,n=l.current+=1,r=()=>null==g?void 0:g();try{e=V(c,t.current)}catch(e){throw r(),e}if(L(e))return q(Promise.resolve(e).then(e=>!1===e||n!==l.current?(r(),{page:null}):{page:x()},e=>{throw r(),e}),f,!!i.preventClose);if(!1===e)return r(),q(Promise.resolve({page:null}),f,!!i.preventClose)}return x()};return[r.useMemo(()=>({open:i}),[]),(0,n.jsx)(z,{ref:e},"page-holder")]}var U=l(28073);let W=0,H=r.forwardRef((e,t)=>{var l,i;let{afterClose:o,content:a,placement:s,rect:d,...u}=e,[c,p]=r.useState(!0),[h,m]=r.useState({content:a,placement:s,rect:d,...u});return r.useImperativeHandle(t,()=>({destroy:()=>p(!1),update:e=>m(t=>({...t,...e})),close:(e,t)=>p(!1)})),r.useEffect(()=>{c||null==o||o()},[c,o]),(0,n.jsx)(U.A,{arrow:!1,open:c,trigger:["click"],destroyTooltipOnHide:!0,content:h.content,placement:h.placement,getPopupContainer:()=>document.querySelector("#nocobase-app-container")||document.body,onOpenChange:e=>{(e||!h.preventClose)&&(p(e),e||null==o||o())},...h,children:(0,n.jsx)("span",{style:{position:"absolute",top:((null==(l=h.rect)?void 0:l.top)??0)+window.scrollY,left:((null==(i=h.rect)?void 0:i.left)??0)+window.scrollX,width:0,height:0}})})});function G(){let e=r.useRef(null),t=t=>{var l,o;let a,s;W+=1;let{target:d,placement:u="rightTop",content:c,...p}=t,h=r.createRef(),m=(null==d||null==(l=d.getBoundingClientRect)?void 0:l.call(d))??{top:0,left:0},f=new Promise(e=>{s=e}),g={type:"popover",destroy:()=>{var e;return null==(e=h.current)?void 0:e.destroy()},update:e=>{var t;return null==(t=h.current)?void 0:t.update(e)},close:e=>{var t;null==s||s(e),null==(t=h.current)||t.close(e)}},v="function"==typeof c?c(g):c,y="string"==typeof v?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(v)}}):v,b=(0,n.jsx)(H,{ref:h,content:y,placement:u,rect:m,afterClose:()=>{var e;null==a||a(),null==(e=t.onClose)||e.call(t),null==s||s(t.result)},...p},`popover-${W}`);return a=null==(o=e.current)?void 0:o.patchElement(b),Object.assign(f,g)},l=r.useMemo(()=>({open:t}),[]),o=r.memo(r.forwardRef((e,t)=>{let[l,i]=w();return r.useImperativeHandle(t,()=>({patchElement:i}),[]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(o,{ref:e},"popover-holder")]}var Y=l(50467),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={}){(0,Y._)(this,"viewStack",void 0),(0,Y._)(this,"ctx",void 0),(0,Y._)(this,"viewParams",void 0),(0,Y._)(this,"basePath",void 0),this.setViewStack(t),this.ctx=e,this.basePath=l.basePath||l.layoutBasePath,(0,J.E8)(this,{viewParams:J.sH})}}},16639(e,t,l){l.d(t,{B9:()=>r,FH:()=>s,HK:()=>i,Z8:()=>d,eX:()=>p,i6:()=>o,tb:()=>n});let n=Symbol.for("__NOCOBASE_VIEW_ACTIVATED_VERSION__"),r="view:activated",i="dataSource:dirty",o="__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,o)===a}function c(e){let t=e,l=0;for(;t&&l++<50;){if(u(t))return t;t=t.previousEngine}}function p(e,t){if(!e)return;let l=c(e);return l||c(null==t?void 0:t.previousEngine)||e}},40542(e,t,l){l.d(t,{D:()=>n});let n=(e,t,l)=>{if(!e)return l;let r=t.split("."),i=[],o=e,a=!1;for(let e=0;e<r.length;e++){let t=r[e];if(Array.isArray(o)){for(let t of(a=!0,o)){let o=n(t,r.slice(e).join("."),l);i=i.concat(o)}break}if((null==o?void 0:o[t])===void 0)break;o=o[t],e===r.length-1&&i.push(o)}return 0===(i=i.filter(e=>void 0!==e)).length?l:a?i.filter(e=>null!==e):i[0]}},96436(e,t,l){l.r(t),l.d(t,{getDayRange:()=>tl,isEmptyFilter:()=>ed,sleep:()=>es,getDateVars:()=>ta,isString:()=>ee,unflatten:()=>e8,sortTree:()=>ea,forEach:()=>ek,utc2unit:()=>tr,extractUsedVariablePaths:()=>tE,getValuesByPath:()=>eC,isArray:()=>et,moment2str:()=>eb,transformLiquidContext:()=>tI,isURL:()=>tA,isPortalInBody:()=>tb,extractUsedVariableNames:()=>tj,parseHTML:()=>tx,toGmt:()=>ep,isPlainObject:()=>en,lockdownSes:()=>tg,splitPathToTwoParts:()=>ts,transformFilter:()=>Y,parseSQLBindParams:()=>tD,getPickerFormat:()=>eM,nextTick:()=>ei,removeNullCondition:()=>eu,CollectionsGraph:()=>q,isValidFilter:()=>eT,evaluateConditions:()=>Z,toUnit:()=>ti,BASE_BLOCKED_IDENTIFIERS:()=>th,getFormatFromDateStr:()=>eF,removeInvalidFilterItems:()=>J,toLocal:()=>eh,getDayRangeByParams:()=>L,getDefaultFormat:()=>ec,transformMultiColumnToSingleColumn:()=>tC,treeFind:()=>eo,transformSQL:()=>tN,parseFilter:()=>tt,flatten:()=>e4,getOffsetRangeByParams:()=>N,isEmpty:()=>el,offsetFromString:()=>ex,tval:()=>tv,error:()=>eV,Registry:()=>tu,lodash:()=>r(),parse:()=>eO,hasEmptyValue:()=>er,toFixedByStep:()=>eJ,getDateTimeFormat:()=>eA,showToast:()=>eH,Handlebars:()=>eE(),getLiquidContext:()=>tT,merge:()=>eU,dayjs:()=>o(),parseLiquidContext:()=>t_,uid:()=>tM,str2moment:()=>eg});var n=l(2543),r=l.n(n),i=l(74353),o=l.n(i),a=l(97375),s=l.n(a),d=l(90445),u=l.n(d),c=l(43522),p=l.n(c),h=l(37872),m=l.n(h),f=l(98867),g=l.n(f),v=l(8906),y=l.n(v),b=l(68313),x=l.n(b),w=l(21840),S=l.n(w),M=l(41816),A=l.n(M),F=l(88569),k=l.n(F),C=l(83826),P=l.n(C),j=l(8134),E=l.n(j),R=l(28623),I=l.n(R),T=l(46986),_=l.n(T);o().extend(_()),o().extend(S()),o().extend(k()),o().extend(P()),o().extend(A()),o().extend(x()),o().extend(m()),o().extend(g()),o().extend(y()),o().extend(E()),o().extend(I()),o().extend(u()),o().extend(s()),o().extend(p());let D=e=>{if(!e)return o()();if(/^[+-]\d{2}:\d{2}$/.test(e)){let[t,l,n]=e.match(/([+-])(\d{2}):(\d{2})/).slice(1),r=(60*parseInt(l)+parseInt(n))*("+"===t?1:-1);return o()().utcOffset(r)}return o()().tz(e)},N=e=>{let t,l,{type:n,unit:r="day",number:i=1,timezone:o}=e,a=D(o),s="week"===r?"isoWeek":r;if("past"===n){let e=a.startOf(s);t=e.subtract(i,r).startOf(s),l=e.subtract(1,r).endOf(s)}else if("next"===n)l=(t=a.startOf(s).add(1,r).startOf(s)).add(i-1,r).endOf(s);else throw Error(`Unsupported type: ${n}`);return[t.format("YYYY-MM-DD HH:mm:ss"),l.format("YYYY-MM-DD HH:mm:ss")]},O=(e,t,l)=>{let n="isoWeek"===t?"week":t;return D(l).add(e,n).startOf(t)},$=(e,t,l)=>{let n="isoWeek"===t?"week":t;return D(l).add(e,n).endOf(t)},B={today:e=>[O(0,"day",null==e?void 0:e.timezone),$(0,"day",null==e?void 0:e.timezone)],yesterday:e=>[O(-1,"day",null==e?void 0:e.timezone),$(-1,"day",null==e?void 0:e.timezone)],tomorrow:e=>[O(1,"day",null==e?void 0:e.timezone),$(1,"day",null==e?void 0:e.timezone)],thisWeek:e=>[O(0,"isoWeek",null==e?void 0:e.timezone),$(0,"isoWeek",null==e?void 0:e.timezone)],lastWeek:e=>[O(-1,"isoWeek",null==e?void 0:e.timezone),$(-1,"isoWeek",null==e?void 0:e.timezone)],nextWeek:e=>[O(1,"isoWeek",null==e?void 0:e.timezone),$(1,"isoWeek",null==e?void 0:e.timezone)],thisMonth:e=>[O(0,"month",null==e?void 0:e.timezone),$(0,"month",null==e?void 0:e.timezone)],lastMonth:e=>[O(-1,"month",null==e?void 0:e.timezone),$(-1,"month",null==e?void 0:e.timezone)],nextMonth:e=>[O(1,"month",null==e?void 0:e.timezone),$(1,"month",null==e?void 0:e.timezone)],thisQuarter:e=>[O(0,"quarter",null==e?void 0:e.timezone),$(0,"quarter",null==e?void 0:e.timezone)],lastQuarter:e=>[O(-1,"quarter",null==e?void 0:e.timezone),$(-1,"quarter",null==e?void 0:e.timezone)],nextQuarter:e=>[O(1,"quarter",null==e?void 0:e.timezone),$(1,"quarter",null==e?void 0:e.timezone)],thisYear:e=>[O(0,"year",null==e?void 0:e.timezone),$(0,"year",null==e?void 0:e.timezone)],lastYear:e=>[O(-1,"year",null==e?void 0:e.timezone),$(-1,"year",null==e?void 0:e.timezone)],nextYear:e=>[O(1,"year",null==e?void 0:e.timezone),$(1,"year",null==e?void 0:e.timezone)]},L=e=>{if("past"===e.type||"next"===e.type)return N(e);let t=B[e.type];if(!t)throw Error(`Unsupported type: ${e.type}`);let[l,n]=t(e);return[l.format("YYYY-MM-DD HH:mm:ss"),n.format("YYYY-MM-DD HH:mm:ss")]};var V=l(38362);class q{static graphlib(){return V}static connectedNodes(e){let t=(0,n.castArray)(e.nodes),l=(0,n.castArray)(e.excludes||[]),r=q.build(e),i=new Set;for(let e of t)for(let t of V.alg.preorder(r,e))l.includes(t)||i.add(t);return Array.from(i)}static preOrder(e){return q.graphlib().alg.preorder(q.build(e),e.node)}static build(e){let t=e.collections,l="forward"===((null==e?void 0:e.direction)||"forward"),n=new V.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 r=t.through;l?(n.setEdge(e.name,r),n.setEdge(r,t.target)):(n.setEdge(t.target,r),n.setEdge(r,e.name))}}return n}}var z=l(81814),K=l.n(z);function U(e){return"path"in e&&"operator"in e}function W(e){return"logic"in e&&"items"in e}function H(e){let{path:t,operator:l,value:n}=e;return{[t]:{[l]:n}}}function G(e){let{logic:t,items:l}=e;return{[t]:l.map(e=>{if(U(e))return H(e);if(W(e))return G(e);throw Error("Invalid filter item type")})}}function Y(e){if(!e||"object"!=typeof e)throw Error("Invalid filter: filter must be an object");if(!W(e))throw Error("Invalid filter: filter must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid filter: items must be an array");return eu(G(e))}function J(e){if(!e||"object"!=typeof e)throw Error("Invalid filter: filter must be an object");if(!W(e))throw Error("Invalid filter: filter must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid filter: items must be an array");return e.items=e.items.filter(e=>U(e)?!!e.operator:!!W(e)&&J(e)),{...e}}function X(e,t){let{path:l,operator:n,value:r}=e;return t(l,n,r)}function Q(e,t){let{logic:l,items:n}=e;if(!n||0===n.length)return!0;let r=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 r.every(e=>!0===e);if("$or"===l)return r.some(e=>!0===e);throw Error(`Unsupported logic operator: ${l}`)}function Z(e,t){if(!e||"object"!=typeof e)throw Error("Invalid conditions: conditions must be an object");if(!W(e))throw Error("Invalid conditions: conditions must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid conditions: items must be an array");if("function"!=typeof t)throw Error("Invalid evaluator: evaluator must be a function");return Q(e,t)}let ee=e=>"string"==typeof e,et=e=>Array.isArray(e),el=e=>en(e)?0===Object.keys(e).length:!!Array.isArray(e)&&0===e.length,en=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},er=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 er(e[l])}return t},ei=e=>{setTimeout(e)};function eo(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return;let{childrenKey:n="children"}=l;for(let r of Array.isArray(e)?[...e]:[e]){if(t(r))return r;let e="function"==typeof n?n(r):r[n];if(Array.isArray(e)&&e.length>0){let n=eo(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?r().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&&r().isEmpty(e.$and)||"$or"in e&&r().isEmpty(e.$or))}let eu=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:K(),l=t(e||{}),n={};for(let e in l){let t=l[e];null==t||el(t)||""===t||(n[e]=t)}let i=t.unflatten(n);for(let e in i)Array.isArray(i[e])&&(i[e]=i[e].filter(e=>null!=e));return r().isEmpty(i)?void 0:i},ec=e=>e.format?e.format:e.dateFormat?e.showTime?`${e.dateFormat} ${e.timeFormat||"HH:mm:ss"}`:e.dateFormat:"month"===e.picker?"YYYY-MM":"quarter"===e.picker?"YYYY-\\QQ":"year"===e.picker?"YYYY":"week"===e.picker?"YYYY[W]W":e.showTime?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD",ep=e=>e&&o().isDayjs(e)?`${e.format("YYYY-MM-DD")}T${e.format("HH:mm:ss.SSS")}Z`:e,eh=e=>e?Array.isArray(e)?e.map(e=>e.startOf("second").toISOString()):o().isDayjs(e)?e.startOf("second").toISOString():void 0:e,em=e=>{try{let t=parseInt(e.slice(0,4)),l=parseInt(e.slice(-1));return o()().quarter(l).year(t)}catch(e){return null}},ef=(e,t)=>{if(!e)return;let l=t.utcOffset,{gmt:n,picker:r,utc:i=!0,dateOnly:a}=t;if(!o()(e).isValid())return em(e);if(a){let t=o()(e);if(!t.isValid())return e;let l=t.format("YYYY-MM-DD");return o().utc(l,"YYYY-MM-DD")}return i?o().isDayjs(e)?l?e.utcOffset(ex(l)):e:n?o()(e).utcOffset(0):l?o()(e).utcOffset(ex(l)):o()(e):o()(e)},eg=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)?e.map(e=>ef(e,t)):e?ef(e,t):e},ev=(e,t)=>"year"===t?e.format("YYYY")+"-01-01T00:00:00.000Z":"month"===t||"quarter"===t?e.format("YYYY-MM")+"-01T00:00:00.000Z":e.format("YYYY-MM-DD")+"T00:00:00.000Z",ey=(e,t)=>e?Array.isArray(e)?e.map(e=>ev(e,t)):o().isDayjs(e)?ev(e,t):void 0:e,eb=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{showTime:l,gmt:n,picker:r}=t;return e?l?n?ep(e):eh(e):ey(e,r):e};function ex(e){if(!r().isString(e))return e;let t=/([+-]|\d\d)/gi,l=/Z|[+-]\d\d(?::?\d\d)?/gi,n=/[+-]?\d+(\.\d{1,3})?/,i=(e||"").match(l);if(null===i&&(i=(e||"").match(n)),null===i)return null;let o=((i[i.length-1]||[])+"").match(t)||["-",0,0],a=+(60*Number(o[1]))+ew(o[2]);return 0===a?0:"+"===o[0]?a:-a}function ew(e){let t=+e,l=0;return 0!==t&&isFinite(t)&&(l=eS(t)),l}function eS(e){return e<0?Math.ceil(e)||0:Math.floor(e)}let eM=e=>{switch(e){case"week":return"YYYY[W]W";case"month":return"YYYY-MM";case"quarter":return"YYYY[Q]Q";case"year":return"YYYY";default:return"YYYY-MM-DD"}},eA=(e,t,l,n)=>"date"===e&&l?`${t} ${n||"HH:mm:ss"}`:t;function eF(e){return/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e)?"YYYY-MM-DD HH:mm:ss":/^\d{4}-\d{2}-\d{2}$/.test(e)?"YYYY-MM-DD":/^\d{4}-\d{2}$/.test(e)?"YYYY-MM":/^\d{4}$/.test(e)?"YYYY":/^\d{4}Q[1-4]$/.test(e)?"YYYY[Q]Q":/^\d{4}-\d{2}-\d{2}T/.test(e)?"YYYY-MM-DDTHH:mm:ss.SSSZ":null}let ek=(e,t)=>{Array.isArray(e)?e.forEach(t):Object.keys(e).forEach(l=>{t(e[l],l)})},eC=(e,t,l)=>{if(!e)return l;let n=t.split("."),r=[],i=e,o=!1;for(let e=0;e<n.length;e++){let t=n[e];if(Array.isArray(i)){for(let t of(o=!0,i)){let i=eC(t,n.slice(e).join("."),l);r=r.concat(i)}break}if((null==i?void 0:i[t])===void 0)break;i=i[t],e===n.length-1&&r.push(i)}return 0===(r=r.filter(e=>void 0!==e)).length?l:o?r.filter(e=>null!==e):r[0]};var eP=l(88835),ej=l(60639),eE=l.n(ej),eR=l(79441);let eI=l.n(eR)()();function eT(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(eT);if(e.$and||e.$or)return eT(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 e_(e){let t=typeof e;return Array.isArray(e)?t="array":e instanceof Date?t="date":null===e&&(t="null"),t}function eD(e){let t=e.substr(2,e.length-4).trim(),l=t.indexOf(":");return -1!==l?{key:t.substr(0,l),defaultValue:t.substr(l+1)}:{key:t}}function eN(e,t){return e.parameters=Array.from(new Map(t.map(e=>[e.key,e])).values()),e}function eO(e){switch(e_(e)){case"string":return e$(e);case"object":return eB(e);case"array":return eL(e);default:return eN(function(){return e},[])}}Object.keys(eI).forEach(function(e){eE().registerHelper(e,eI[e])}),eE().registerHelper("json",function(e){return JSON.stringify(e)}),eE().registerHelper("urlParse",function(e){try{return JSON.stringify(eP.parse(e))}catch(t){return`Invalid URL: ${e}`}}),eE().registerHelper("dateFormat",(e,t,l)=>"string"==typeof l?o()(e).tz(l).format(t):o()(e).format(t)),eE().registerHelper("isNull",e=>r().isNull(e));let e$=(()=>{let e=/{{(\w|:|[\s-+.,@/()?=*_$])+}}/g;return t=>{let l=[],r=e=>t,i=t.match(e);return i&&(l=i.map(eD),r=e=>(e=e||{},i.reduce((r,o,a)=>{let s=l[a],d=(0,n.get)(e,s.key);return(void 0===d&&(d=s.defaultValue),"function"==typeof d&&(d=d()),1===i.length&&t.startsWith("{{")&&t.endsWith("}}"))?d:(d instanceof Date&&(d=d.toISOString()),r.replace(o,null==d?"":d))},t))),eN(r,l)}})();function eB(e){let t=Object.keys(e).map(t=>({keyTemplate:e$(t),valueTemplate:eO(e[t])}));return eN(e=>t.reduce((t,l)=>(t[l.keyTemplate(e)]=l.valueTemplate(e),t),{}),t.reduce((e,t)=>e.concat(t.valueTemplate.parameters,t.keyTemplate.parameters),[]))}function eL(e){let t=e.map(eO);return eN(e=>t.map(t=>t(e)),t.reduce((e,t)=>e.concat(t.parameters),[]))}let eV=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 eq=l(14744),ez=l.n(eq);let eK=(e,t,l)=>t;function eU(e,t,l){return ez()(e,t,{arrayMerge:eK,...l})}var eW=l(98892);let eH=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3;eW.Ay[t]({message:e,duration:l})};var eG=l(5062),eY=l(85738);function eJ(e,t){if(null==e||""===e)return"";let l=(0,eG.i5)(t);return(0,eY.Mg)(String(e),".",l)}var eX=l(63560),eQ=l.n(eX),eZ=l(95093),e0=l.n(eZ);let e1=/^\s*\{\{([\s\S]*)\}\}\s*$/;function e2(e){return e&&e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function e5(e){return e}function e4(e,t){let l=(t=t||{}).delimiter||".",n=t.maxDepth,i=t.transformKey||e5,o=t.transformValue||e5,a={};function s(e,d,u){u=u||1,r().isObjectLike(e)&&Object.keys(e).forEach(function(r){var c;let p=e[r],h=t.safe&&Array.isArray(p),m=Object.prototype.toString.call(p),f=e2(p),g="[object Object]"===m||"[object Array]"===m,v=d?d+l+i(r):i(r);if(null==(c=t.breakOn)?void 0:c.call(t,{key:r,value:p,path:v})){a[v]=o(p,v);return}if(!h&&!f&&g&&Object.keys(p).length&&(!t.maxDepth||u<n))return s(p,v,u+1);a[v]=o(p,v)})}return s(e),a}function e8(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l={},n=t.transformValue||e5;for(let t of Object.keys(e))eQ()(l,t,n(e[t],t));return l}let e3=e=>{let t=e.split(".").pop()||"";return t.startsWith("$")||(t=""),{operator:t}},e6=e=>["$dateOn","$dateNotOn","$dateBefore","$dateAfter","$dateNotBefore","$dateNotAfter","$dateBetween"].includes(e);function e9(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function e7(e){return(null==e?void 0:e.type)==="dateOnly"||(null==e?void 0:e.type)==="datetimeNoTz"||(null==e?void 0:e.constructor.name)==="DateOnlyField"||(null==e?void 0:e.constructor.name)==="DatetimeNoTzField"}let te=(e,t)=>e?(e.type&&(e=L({...e,timezone:t})),Array.isArray(e))?(2===e.length?e.push("[]",t):3===e.length&&e.push(t),e):"string"==typeof e?!t||/(\+|-)\d\d:\d\d$/.test(e)?e:e+t:e9(e)?e.toISOString():void 0:null,tt=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=new Set,n=t.vars||{},r=t.timezone,i=t.now,o=t.getField,a=e4(e,{breakOn(e){let{key:t}=e;return t.startsWith("$")&&"$and"!==t&&"$or"!==t},transformValue(e){if("string"!=typeof e)return e;let t=e1.exec(e);if(t){let e=t[1].trim();e.startsWith("$user")&&l.add(e.substring(6))}return e}});if(l.size>0){let e=await n.$user({fields:[...l.values()]});Object.assign(n,{$user:e})}return e8(a,{transformValue(e,t){let{operator:l}=e3(t);if("string"==typeof e){let a=e1.exec(e);if(a){let s=eC(n,a[1].trim(),null),d=null==o?void 0:o(t);e="function"==typeof s?null==s?void 0:s({field:d,operator:l,timezone:r,now:i}):s}}if(e6(l)){let l=null==o?void 0:o(t);return e7(l)?e.type?L({...e,timezone:(null==l?void 0:l.timezone)||r}):e:te(e,(null==l?void 0:l.timezone)||r)}return e}})};function tl(e){let{now:t,timezone:l="+00:00",offset:n}=e,r=tn(t).utcOffset(ex(l));return n>0?[(r=r.add(1,"day").startOf("day")).format("YYYY-MM-DD"),r.clone().add(n,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]:[r.clone().subtract(-1*n-1,"day").startOf("day").format("YYYY-MM-DD"),r.clone().add(1,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]}function tn(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?o().isDayjs(e)?e:t?e0()(e):o()(e):t?e0()():o()()}function tr(e){var t;let{now:l,unit:n,timezone:r="+00:00",offset:i}=e,o=tn(l,"isoWeek"===n);o=(o=o.utcOffset(ex(r))).startOf(n),i>0?o=o.add(i,n):i<0&&(o=o.subtract(-1*i,n));let a={year:()=>o.format("YYYY"),quarter:()=>o.format("YYYY[Q]Q"),month:()=>o.format("YYYY-MM"),week:()=>o.format("gggg[w]ww"),isoWeek:()=>o.format("GGGG[W]WW"),day:()=>o.format("YYYY-MM-DD")},s=null==(t=a[n])?void 0:t.call(a);return r?s+r:s}let ti=(e,t)=>l=>{let{now:n,timezone:r,field:i}=l;return(null==i?void 0:i.timezone)&&(r=null==i?void 0:i.timezone),tr({now:n,timezone:r,unit:e,offset:t})},to=e=>t=>{let{now:l,timezone:n,field:r}=t;return(null==r?void 0:r.timezone)&&(n=null==r?void 0:r.timezone),tl({now:l,timezone:n,offset:e})};function ta(){return{now:new Date().toISOString(),today:ti("day"),yesterday:ti("day",-1),tomorrow:ti("day",1),thisWeek:ti("week"),lastWeek:ti("week",-1),nextWeek:ti("week",1),thisIsoWeek:ti("isoWeek"),lastIsoWeek:ti("isoWeek",-1),nextIsoWeek:ti("isoWeek",1),thisMonth:ti("month"),lastMonth:ti("month",-1),nextMonth:ti("month",1),thisQuarter:ti("quarter"),lastQuarter:ti("quarter",-1),nextQuarter:ti("quarter",1),thisYear:ti("year"),lastYear:ti("year",-1),nextYear:ti("year",1),last7Days:to(-7),next7Days:to(7),last30Days:to(-30),next30Days:to(30),last90Days:to(-90),next90Days:to(90)}}function ts(e){let t=e.split(".");return[t.shift(),t.join(".")]}var td=l(50467);class tu{register(e,t){if(!this.options.override&&this.map.has(e))throw Error(`this registry does not allow to override existing keys: "${e}"`);this.map.set(e,t)}get(e){return this.map.get(e)}getKeys(){return this.map.keys()}getValues(){return this.map.values()}getEntities(){return this.map.entries()}constructor(e={override:!1}){(0,td._)(this,"map",new Map),(0,td._)(this,"options",void 0),this.options=e}}l(67980);let tc=Symbol.for("nocobase.utils.sesLockdown"),tp=Symbol.for("nocobase.utils.bufferOverrides"),th=["globalThis","global","self","Function","AsyncFunction","GeneratorFunction","eval","Compartment","lockdown","harden","assert"];function tm(e){return!!e&&"object"==typeof e&&(e.message||"").includes("(SES_ALREADY_LOCKED_DOWN)")}function tf(){let e=globalThis;if(e[tp])return;let t=e.Buffer;if(!t||!t.prototype)return;let l=t.prototype;for(let e of Reflect.ownKeys(l)){let t=Object.getOwnPropertyDescriptor(l,e);if(!t||"function"!=typeof t.value||!t.configurable)continue;let n=t.value,r=function(){return n},i=function(t){if(this===l)throw TypeError(`Cannot assign to read only property '${String(e)}' of object 'Buffer.prototype'`);Object.defineProperty(this,e,{configurable:!0,enumerable:!0,writable:!0,value:t})};Object.defineProperty(r,"originalValue",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(l,e,{configurable:t.configurable,enumerable:t.enumerable,get:r,set:i})}e[tp]=!0}function tg(e){tf();let t=globalThis;if(!t[tc]){if("function"!=typeof lockdown)throw Error("SES lockdown is unavailable in the current runtime environment.");try{lockdown(e)}catch(e){if(!tm(e))throw e}t[tc]=!0}}function tv(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}var ty=l(65606);let tb=e=>{for(;e;){var t;if("root"===e.id||(null==(t=e.classList)?void 0:t.contains("nb-action")))return!1;e=e.parentNode}return!ty.env.__TEST__};function tx(e,t){return e.replace(/\{\{(\w+)\}\}/g,function(e,l){return void 0!==t[l]?t[l]:e})}let tw=36,tS="";for(;tw--;)tS+=tw.toString(36);function tM(e){let t="",l=e||11;for(;l--;)t+=tS[36*Math.random()|0];return t}function tA(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}var tF=l(27153),tk="2.1.19";let tC=(e,t)=>{if(!e)return e;if("Grid"!==e["x-component"])return Object.keys(e.properties||{}).forEach(l=>{e.properties[l]=tC(e.properties[l],t)}),e;let l=e.parent;e=e.toJSON?e.toJSON():r().cloneDeep(e);let n={},{properties:i={}}=e,o=0;if(Object.keys(i).forEach((e,l)=>{let a=i[e];if("Grid.Row"!==a["x-component"]){a["x-index"]=++o,n[e]=a;return}if(a.properties){if(1===Object.keys(a.properties).length){a["x-index"]=++o,n[e]=a;return}Object.keys(a.properties).forEach((l,i)=>{let s=a.properties[l];if(r().set(s,"x-component-props.width",100),0===i){a["x-index"]=++o,n[e]=a;return}null!=t&&t(s)||(delete a.properties[l],n[`${tM()}_${l}`]=tP(s,l,++o))})}}),e.properties=n,l){let t=new tF.S(e,l);return l.properties&&Object.keys(l.properties).forEach(n=>{n===e.name&&(l.properties[n]=t)}),t}return e};function tP(e,t,l){return{type:"void",version:"2.0","x-component":"Grid.Row","x-app-version":tk,"x-uid":tM(),"x-async":!1,"x-index":l,_isJSONSchemaObject:!0,properties:{[t]:e}}}function tj(e){let t=new Set,l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,r=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g;for(;null!==(e=i.exec(r));)t.add(e[1]);let o=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]/g;for(;null!==(n=o.exec(r));)t.add(n[2])}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}function tE(e){let t={},l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,r=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)([^\s)]*)/g;for(;null!==(e=i.exec(r));){let l=e[1],n=e[2]||"";if(t[l]=t[l]||[],n.startsWith("."))t[l].push(n.slice(1));else if(n.startsWith("[")){let e=n.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(e){let n=e[2],r=e[3]||"";t[l].push(`${n}${r}`)}else{let e=n.match(/^\[(\d+)\](.*)$/);if(e){let n=e[1],r=e[2]||"";t[l].push(`[${n}]${r}`)}}}else n.startsWith("(")&&!t[l].length&&t[l].push("")}let o=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]([^\s)]*)/g;for(;null!==(n=o.exec(r));){let e=n[2],l=n[3]||"";if(t[e]=t[e]||[],l.startsWith("."))t[e].push(l.slice(1));else if(l.startsWith("[")){let n=l.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(n){let l=n[2],r=n[3]||"";t[e].push(`${l}${r}`)}else{let n=l.match(/^\[(\d+)\](.*)$/);if(n){let l=n[1],r=n[2]||"";t[e].push(`[${l}]${r}`)}}}else l.startsWith("(")&&!t[e].length&&t[e].push("")}}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}let tR=new(l(23155)).HX;function tI(){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 r=e[t];t===e.length-1?n[r]=`{{${l}}}`:(n[r]=n[r]||{},n=n[r])}}return t}async function tT(e){return tI(await tR.fullVariables(e))}async function t_(e,t){return await tR.parseAndRender(e,{ctx:t})}function tD(e){let t=1,l={};return{sql:e.replace(/{{\s*([^}]+)\s*}}/g,(e,n)=>{let r=`__var${t}`;return l[r]=`{{${n.trim()}}}`,t++,`$${r}`}),bind:l}}async function tN(e){let{sql:t,bind:l}=tD(e),n=await tT(t);return{sql:t,bind:l,liquidContext:n}}},59598(){},23005(){},14892(){},2813(){},9845(){}};import{__webpack_require__}from"./runtime-72080663.js";var __webpack_exec__=function(e){return __webpack_require__(__webpack_require__.s=e)};import*as __rspack_chunk_1 from"./vendor-antd-ecosystem-de737eca.js";__webpack_require__.C(__rspack_chunk_1);import*as __rspack_chunk_2 from"./vendor-moment-84b317dc.js";__webpack_require__.C(__rspack_chunk_2);import*as __rspack_chunk_3 from"./vendor-lodash-905dd3b8.js";__webpack_require__.C(__rspack_chunk_3);import*as __rspack_chunk_4 from"./vendor-ses-b7bccbcd.js";__webpack_require__.C(__rspack_chunk_4);import*as __rspack_chunk_5 from"./vendor-antd-icons-97ed2369.js";__webpack_require__.C(__rspack_chunk_5);import*as __rspack_chunk_6 from"./vendor-antd-f8c3ace1.js";__webpack_require__.C(__rspack_chunk_6);import*as __rspack_chunk_7 from"./2025-87ab227c.js";__webpack_require__.C(__rspack_chunk_7);import*as __rspack_chunk_8 from"./index-584fadcb.js";__webpack_require__.C(__rspack_chunk_8),__webpack_exec__(22414);
1710
+ ${p}`}async function ti(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l="string"==typeof e?e:String(e??""),n=!!t.preprocessTemplates,r=n?eK.withTemplates:eK.withoutTemplates,i=eU(r,l);if(i)return await i;let o=(async()=>{if(!n)return tt(await (0,e_.W)(l));let e=tr(l,{processStringLiterals:!1});return tt(tr(await (0,e_.W)(e),{processBarePlaceholders:!1}))})();eW(r,l,o,ez);try{return await o}catch(e){throw r.delete(l),e}}var to=l(62572);function ta(e){if(Array.isArray(e)){let t=e.map(e=>ta(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=ta(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 ts=e=>"string"==typeof e.on?"beforeRender"===e.on:"object"==typeof e.on?"beforeRender"===e.on.eventName:!e.on&&!0!==e.manual;var td=l(47684);let tu="0123456789abcdefghijklmnopqrstuvwxyz";function tc(){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+=tu[Math.random()*tu.length|0];return`${e}${l}`}},49773(e,t,l){l.d(t,{W:()=>n});async function n(e){if(!/<[A-Za-z]|<\//.test(e))return e;try{var t;let n=await l.e("7761").then(l.bind(l,1608)),r=(null==n?void 0:n.transform)||(null==n||null==(t=n.default)?void 0:t.transform);if("function"!=typeof r)return e;let i=r(e,{transforms:["jsx"],jsxPragma:"ctx.React.createElement",jsxFragmentPragma:"ctx.React.Fragment",disableESTransforms:!0,production:!0});return(i&&(i.code||(null==i?void 0:i.output)))??e}catch(t){return e}}},81982(e,t,l){l.d(t,{M:()=>h,gG:()=>o,mv:()=>a,o4:()=>p});var n=l(40542),r=l(2543),i=l.n(r);async function o(e,t){if(!e)return{};if("function"==typeof e)try{return await e(t)||{}}catch(e){return console.error("Error resolving defaultParams function:",e),{}}return e}async function a(e,t,l){if(!e)return{};if("function"==typeof e)try{return await e(t,l)||{}}catch(e){return console.error("Error resolving createModelOptions function:",e),{}}return e}let s={queue:[],timer:null,inflightByRun:new Map},d=10;function u(e){if(Array.isArray(e))return e.map(u);if(i().isPlainObject(e)){let t=Object.entries(e).map(e=>{let[t,l]=e;return[t,u(l)]});return Object.fromEntries(i().sortBy(t,e=>{let[t]=e;return t}))}return e}function c(e){try{return JSON.stringify(u(e))}catch{try{return JSON.stringify(e)}catch{return String(e)}}}function p(e,t){let l,n,r=s,i=e.runId||"GLOBAL",o=c(t),a=r.inflightByRun.get(i);a||(a=new Map,r.inflightByRun.set(i,a));let u=a.get(o);if(u)return u;let p=new Promise((e,t)=>{l=e,n=t});a.set(o,p);let h={id:`${Date.now()}-${Math.random().toString(36).slice(2)}`,ctx:e,payload:t,resolve:l,reject:n,runId:i,dedupKey:o};r.queue.push(h);let m=async()=>{var t,l,n,i,o,a;let s=r.queue.splice(0,r.queue.length);if(r.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=r.inflightByRun.get(e.runId))||l.delete(e.dedupKey)}return}try{let e=s.map(e=>({id:e.id,template:e.payload.template,contextParams:e.payload.contextParams||{}})),t=await d.request({method:"POST",url:"variables:resolve",data:{values:{batch:e}}}),l=t.data??t,i=l.data??l,o=null==i?void 0:i.results,a=Array.isArray(o)?o:Array.isArray(i)?i:[],u=new Map;for(let e of a){let t=(null==e?void 0:e.id)!=null?String(e.id):"";t&&u.set(t,null==e?void 0:e.data)}for(let e of s)try{let t=String(e.id),l=u.has(t)?u.get(t):e.payload.template;e.resolve(l)}catch(t){e.reject(t)}finally{null==(n=r.inflightByRun.get(e.runId))||n.delete(e.dedupKey)}}catch(t){for(let l of s)try{null==e||null==(o=e.logger)||null==(i=o.warn)||i.call(o,{err:t},"variables:resolve(batch) failed, fallback"),l.resolve(l.payload.template)}catch(e){l.reject(e)}finally{null==(a=r.inflightByRun.get(l.runId))||a.delete(l.dedupKey)}}};return r.timer||(r.timer=setTimeout(m,d)),p}async function h(e,t){let l=async e=>{if("string"==typeof e&&/\{\{.*?\}\}/.test(e))return await g(e,t);if(Array.isArray(e))return Promise.all(e.map(l));if(e&&"object"==typeof e){let t={};for(let[n,r]of Object.entries(e))t[n]=await l(r);return t}return e};return l(e)}async function m(e,t){let l=await f(e.trim(),t),n=await t.runjs(`return ${l}`,{t:t.t});return(null==n?void 0:n.success)?n.value:void 0}async function f(e,t){let l,n=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*(?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g,r=[],i=new Set;for(;null!==(l=n.exec(e));){let e=l[0],t=l[1],n=t.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)/);if(n){let l=n[1],o=t.substring(l.length);r.push({fullPath:e,firstKey:l,restPath:o}),i.add(l)}}if(0===r.length)return e;let o=new Map;for(let e of i)try{let l=await t[e],n=l&&!0===l.__isRecordProxy__;o.set(e,n)}catch(t){o.set(e,!1)}r.sort((e,t)=>t.fullPath.length-e.fullPath.length);let a=e;for(let{fullPath:e,firstKey:t,restPath:l}of r){let n,r=o.get(t)||!1;n=""===l?`await ctx.${t}`:r?`await (await ctx.${t})${l}`:`(await ctx.${t})${l}`;let i=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=RegExp(`\\b${i}\\b`,"g");a=a.replace(s,n)}return a}async function g(e,t){let l=e=>{let t=e.trim().match(/^ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*))?$/);return t?t[2]?`${t[1]}.${t[2]}`:t[1]:null},r=async e=>{let l=e.split("."),r=l.shift();if(!r)return;let i=await t[r];return 0===l.length?i:(0,n.D)(i,l.join("."))},i=async e=>{let n=l(e);if(n){let l=await r(n);return void 0===l&&n.includes("-")?await m(e,t):l}return await m(e,t)},o=e.match(/^\s*\{\{\s*([^{}]+?)\s*\}\}\s*$/);if(o){let e=o[1];return await i(e)}let a=[...e.matchAll(/\{\{\s*(.+?)\s*\}\}/g)],s=e;for(let[e,t]of a){let l=await i(t);if(void 0!==l){let t="object"==typeof l&&null!==l?JSON.stringify(l):String(l);s=s.replace(e,t)}}return s}},47684(e,t,l){function n(e,t){if(!e||"string"!=typeof e)throw Error("invalid url");let l=e.trim();if(l.startsWith("http://")||l.startsWith("https://"))return l;let n=window.__esm_cdn_base_url__||"https://esm.sh",r=(null==t?void 0:t.addSuffix)&&window.__esm_cdn_suffix__||"",i=n.replace(/\/$/,""),o=l.replace(/^\//,"");if(null==t?void 0:t.raw){let e=o.includes("?")?"&":"?";return`${i}/${o}${e}raw`}return`${i}/${o}${r}`}function r(e){return!!e&&"string"==typeof e&&e.split("?")[0].split("#")[0].endsWith(".css")}l.d(t,{i:()=>n,y:()=>r})},51143(e,t,l){function n(){var e,t;let l=globalThis;if((null==(e=l.__nocobaseRunJSSafeGlobalsRegistry)?void 0:e.windowAllow)&&(null==(t=l.__nocobaseRunJSSafeGlobalsRegistry)?void 0:t.documentAllow))return l.__nocobaseRunJSSafeGlobalsRegistry;let n={windowAllow:new Set,documentAllow:new Set};return l.__nocobaseRunJSSafeGlobalsRegistry=n,n}function r(e){if(!e)return;let t=n();for(let l of e){if("string"!=typeof l)continue;let e=l.trim();e&&t.windowAllow.add(e)}}function i(e){if(!e)return;let t=n();for(let l of e){if("string"!=typeof l)continue;let e=l.trim();e&&t.documentAllow.add(e)}}function o(e){return n().windowAllow.has(e)}function a(e){return n().documentAllow.has(e)}function s(e){let t=()=>`${window.location.origin}${window.location.pathname}`,l=(e,l,n)=>{if(!(e=>{try{let l=new URL(e,t()),n=l.protocol.toLowerCase();if("about:"===n)return"about:blank"===l.href;return"http:"===n||"https:"===n}catch{return!1}})(e))throw Error("Unsafe URL: window.open only allows http/https/about:blank.");let r="_blank",i=(e=>{let t=new Set;return e&&e.split(",").map(e=>e.trim()).filter(Boolean).forEach(e=>{let l=e.split("=")[0].trim().toLowerCase();"noopener"!==l&&"noreferrer"!==l&&t.add(e)}),t.add("noopener"),t.add("noreferrer"),Array.from(t).join(",")})(n),o=window.open.call(window,e,r,i);if(o&&"opener"in o)try{o.opener=null}catch{}return o},n=(e,n)=>{let r=new URL(e,t()),i=r.protocol.toLowerCase(),o="about:"===i&&"about:blank"===r.href;if("http:"!==i&&"https:"!==i&&!o)throw Error("Unsafe URL: only http/https/about:blank are allowed.");if(o)return(null==n?void 0:n.replace)?window.location.replace("about:blank"):window.location.assign("about:blank");if(r.protocol===window.location.protocol&&r.hostname===window.location.hostname&&r.port===window.location.port)return(null==n?void 0:n.replace)?window.location.replace(r.href):window.location.assign(r.href);if(!l(r.href))throw Error("Popup blocked: cross-origin navigation is opened in a new tab.")},r=new Proxy({},{get(e,t){switch(t){case"origin":return window.location.origin;case"protocol":return window.location.protocol;case"host":return window.location.host;case"hostname":return window.location.hostname;case"port":return window.location.port;case"pathname":return window.location.pathname;case"assign":return e=>n(e,{replace:!1});case"replace":return e=>n(e,{replace:!0});case"reload":return window.location.reload.bind(window.location);case"href":throw Error("Reading location.href is not allowed.");default:throw Error(`Access to location property "${t}" is not allowed.`)}},set(e,t,l){if("href"===t)return n(String(l),{replace:!1}),!0;throw Error("Mutation on location is not allowed.")}}),i={setTimeout:window.setTimeout.bind(window),clearTimeout:window.clearTimeout.bind(window),setInterval:window.setInterval.bind(window),clearInterval:window.clearInterval.bind(window),console,Math,Date,FormData,..."u">typeof Blob?{Blob}:{},..."u">typeof URL?{URL}:{},addEventListener:addEventListener.bind(window),open:l,location:r,...e||{}};return new Proxy(Object.create(null),{get(e,t){if("string"!=typeof t)return Reflect.get(e,t);if(t in i)return i[t];if(Object.prototype.hasOwnProperty.call(e,t))return e[t];if(o(t)){let e=window[t];return"function"==typeof e?e.bind(window):e}throw Error(`Access to global property "${t}" is not allowed.`)},set(e,t,l){if("string"!=typeof t)return Reflect.set(e,t,l),!0;if(t in i)throw Error(`Mutation of global property "${t}" is not allowed.`);return e[t]=l,!0},has:(e,t)=>"string"!=typeof t?Reflect.has(e,t):!!(t in i||Object.prototype.hasOwnProperty.call(e,t)||o(t))})}function d(e){let t={createElement:document.createElement.bind(document),querySelector:document.querySelector.bind(document),querySelectorAll:document.querySelectorAll.bind(document),...e||{}};return new Proxy(Object.create(null),{get(e,l){if("string"!=typeof l)return Reflect.get(e,l);if(l in t)return t[l];if(Object.prototype.hasOwnProperty.call(e,l))return e[l];if(a(l)){let e=document[l];return"function"==typeof e?e.bind(document):e}throw Error(`Access to document property "${l}" is not allowed.`)},set(e,l,n){if("string"!=typeof l)return Reflect.set(e,l,n),!0;if(l in t)throw Error(`Mutation of document property "${l}" is not allowed.`);return e[l]=n,!0},has:(e,l)=>"string"!=typeof l?Reflect.has(e,l):!!(l in t||Object.prototype.hasOwnProperty.call(e,l)||a(l))})}function u(e){var t;let l="u">typeof window&&window.navigator||void 0,n={},r=null==l||null==(t=l.clipboard)?void 0:t.writeText;"function"==typeof r&&(n.writeText=r.bind(l.clipboard));let i={clipboard:n};return Object.defineProperty(i,"onLine",{get:()=>!!(null==l?void 0:l.onLine),enumerable:!0,configurable:!1}),Object.defineProperty(i,"language",{get:()=>null==l?void 0:l.language,enumerable:!0,configurable:!1}),Object.defineProperty(i,"languages",{get:()=>(null==l?void 0:l.languages)?[...l.languages]:void 0,enumerable:!0,configurable:!1}),Object.assign(i,e||{}),new Proxy({},{get(e,t){if(t in i)return i[t];throw Error(`Access to navigator property "${String(t)}" is not allowed.`)}})}function c(e){let t={};try{let e=u();t.navigator=e;try{t.window=s({navigator:e})}catch{}}catch{}try{t.document=d()}catch{}return e?{...t,...e}:t}async function p(e,t,l,n){if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.runjs)return e.runjs(t,c(n),l)}l.d(t,{D1:()=>u,I2:()=>c,Vm:()=>r,Xh:()=>d,_:()=>p,ey:()=>s,yz:()=>i})},22928(e,t,l){function n(e){let t={};return Object.entries(e||{}).forEach(e=>{let[l,n]=e;null!=n&&(t[l]=n)}),t}function r(e,t,l){try{var n,r,i,o,a;let s=null==(r=e.dataSourceManager)||null==(n=r.getDataSource)?void 0:n.call(r,t||"main"),d=null==s||null==(o=s.collectionManager)||null==(i=o.getCollection)?void 0:i.call(o,l);return(null==d||null==(a=d.getPrimaryKey)?void 0:a.call(d))||"id"}catch(e){return"id"}}function i(e,t){var l,i;if(!t)return;let o=t.dataSourceKey||"main",a=t.collection||(null==(l=t.record)?void 0:l.__collectionName);if(!a)return;let s=r(e,o,a)||"id",d=void 0!==t.filterByTk?t.filterByTk:void 0!==t.id?t.id:null==(i=t.record)?void 0:i[s];if(void 0!==d)return n({collection:a,filterByTk:d,dataSourceKey:o,associationName:t.associationName,sourceId:t.sourceId,fields:t.fields,appends:t.appends})}function o(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={},r=(t,o)=>{if(l(t)){let l=i(e,t);l&&(n[o.join(".")]=l);return}if(Array.isArray(t)){for(let e=0;e<t.length;e++)r(t[e],[...o,String(e)]);return}if(t&&"object"==typeof t){for(let[e,l]of Object.entries(t))r(l,[...o,e]);return}};return r(t,[]),Object.keys(n).length?n:void 0}l.d(t,{d:()=>o})},88439(e,t,l){l.d(t,{w:()=>n});function n(e,t,l,n){let r={},i={};for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let s=t[a],d={};if(s.uiSchema&&"object"==typeof s.uiSchema){for(let[e,t]of Object.entries(s.uiSchema))if(t&&"object"==typeof t){var o;let l=t;d[e]={type:l.type||"any",title:l.title||(null==(o=l["x-decorator-props"])?void 0:o.label)||e,interface:l["x-component"],uiSchema:l}}}let u=Object.keys(d).length>0;i[a]={type:"object",title:e.t(s.title)||a,display:u?"default":"none",properties:u?{params:{type:"object",title:"Parameters",display:"flatten",properties:d}}:void 0},r[a]={get params(){return l.getStepParams(n,a)||{}},get uiSchema(){return s.uiSchema},result:void 0}}e.defineProperty("steps",{get:()=>r})}},73398(e,t,l){function n(e){let t=new Set,l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,r=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g;for(;null!==(e=i.exec(r));)t.add(e[1]);let o=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]/g;for(;null!==(n=o.exec(r));)t.add(n[2])}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}function r(e){let t={},l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,r=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)([^\s)]*)/g;for(;null!==(e=i.exec(r));){let l=e[1],n=e[2]||"";if(t[l]=t[l]||[],n.startsWith("."))t[l].push(n.slice(1));else if(n.startsWith("[")){let e=n.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(e){let n=e[2],r=e[3]||"";t[l].push(`${n}${r}`)}else{let e=n.match(/^\[(\d+)\](.*)$/);if(e){let n=e[1],r=e[2]||"";t[l].push(`[${n}]${r}`)}}}else n.startsWith("(")&&!t[l].length&&t[l].push("")}let o=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]([^\s)]*)/g;for(;null!==(n=o.exec(r));){let e=n[2],l=n[3]||"";if(t[e]=t[e]||[],l.startsWith("."))t[e].push(l.slice(1));else if(l.startsWith("[")){let n=l.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(n){let l=n[2],r=n[3]||"";t[e].push(`${l}${r}`)}else{let n=l.match(/^\[(\d+)\](.*)$/);if(n){let l=n[1],r=n[2]||"";t[e].push(`[${l}]${r}`)}}}else l.startsWith("(")&&!t[e].length&&t[e].push("")}}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}l.d(t,{xI:()=>m,vP:()=>y,$S:()=>f,pc:()=>g,Cg:()=>c,nN:()=>b,ju:()=>x,Xx:()=>h,vE:()=>p,XU:()=>u,UX:()=>v});var i=l(22928),o=l(35846),a=l(44476),s=l(2543),d=l.n(s);function u(e){var t,l,n,r;let i=e.resource,o=e.collection,a=e.record,s=(null==o?void 0:o.name)||(null==i||null==(t=i.getResourceName)?void 0:t.call(i)),d=(null==o?void 0:o.dataSourceKey)||(null==i||null==(l=i.getDataSourceKey)?void 0:l.call(i)),u=(null==i||null==(n=i.getFilterByTk)?void 0:n.call(i))??(null==o||null==(r=o.getFilterByTK)?void 0:r.call(o,a));if(!s||null==u)return;let c=String(s).split(".");return{collection:c[c.length-1],dataSourceKey:d,filterByTk:u}}function c(e){var t,l,n;let r=e.view;if(!r)return;let i=(null==r?void 0:r.inputArgs)||{},o=(null==i?void 0:i.collectionName)||(null==r||null==(t=r.record)?void 0:t.collection),a=(null==i?void 0:i.dataSourceKey)||(null==r||null==(l=r.record)?void 0:l.dataSourceKey)||"main",s=(null==i?void 0:i.filterByTk)||(null==r||null==(n=r.record)?void 0:n.filterByTk),d=null==i?void 0:i.associationName,u=null==i?void 0:i.sourceId;if(o&&null!=s)return{collection:o,dataSourceKey:a,filterByTk:s,sourceId:u,associationName:d}}function p(e,t){var l,n,r;let i=null==(l=e.inputArgs)?void 0:l.record,o=null==(n=e.collection)?void 0:n.filterTargetKey;if(!i||!o)return;let a=t.view,s=null==a||null==(r=a.inputArgs)?void 0:r.filterByTk,u=i[o];if(null!=s&&null!=u&&s===u)return d().cloneDeep(i)}function h(e,t){return l=>{var n,r,i,o;if(!("record"===l||l.startsWith("record.")))return!1;let s=t();if(!s)return!0;if("record"===l)return!1;let d=c(e),u=null==d?void 0:d.collection,p=(null==d?void 0:d.dataSourceKey)||"main";if(!u)return!0;let h=null==(r=e.dataSourceManager)||null==(n=r.getDataSource)?void 0:n.call(r,p),m=null==h||null==(o=h.collectionManager)||null==(i=o.getCollection)?void 0:i.call(o,u);if(!m)return!0;let f=(0,a.H)(()=>m,()=>s),g=l.startsWith("record.")?l.slice(7):"";return!!g&&f(g)}}function m(e,t){let l=(0,a.H)(e,()=>t());return n=>{let r=t();if(!r)return!0;if(!n)return!1;let i=e();if(!n.includes(".")){var o;let e,t=n;return i&&("function"==typeof i.getField&&(e=i.getField(t)),e||"function"!=typeof i.getFields||(e=(i.getFields()||[]).find(e=>(null==e?void 0:e.name)===t))),!!(null==e||null==(o=e.isAssociationField)?void 0:o.call(e))&&null==(null==r?void 0:r[t])}return l(n)}}async function f(e,t,l){let n=await (0,o.H)(e,t,!0)();return n?{...n,buildVariablesParams:e=>l?l(e):u(e)}:null}function g(e,t,l){let n=async()=>f(e,t,l);return n.title=t,n}function v(e,t,l){var n,r;return g(t,(null==l?void 0:l.title)?(null==(n=e.t)?void 0:n.call(e,l.title))||l.title:(null==(r=e.t)?void 0:r.call(e,"Current record"))||"Current record",e=>u(e))}let y=n,b=r;async function x(e,t){let l=Object.keys(r(t)||{});if(!l.length)return;let n={};for(let t of l){var o;let l,r=null==(o=e.getPropertyOptions)?void 0:o.call(e,t),i=null==r?void 0:r.meta;if(i){try{let t="function"==typeof i?await i():i,n=null==t?void 0:t.buildVariablesParams;"function"==typeof n&&(l=await n(e))}catch(e){continue}l&&(n[t]=l)}}return(0,i.d)(e,n)}},67778(e,t,l){l.d(t,{sp:()=>P,bt:()=>I,U:()=>el,N5:()=>K,xB:()=>B,mW:()=>$,fP:()=>G});var n=l(74848),r=l(96540),i=l(99418),o=l(11869),a=l(29007),s=l(52568),d=l(73398);function u(e){return null!=e}function c(e,t){if(e===t)return!0;if(!u(e)||!u(t))return!1;try{return JSON.stringify(e)===JSON.stringify(t)}catch(l){return String(e)===String(t)}}function p(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]:p(e);if(!l.length)return -1;let n=(null==e?void 0:e.inputArgs)||{},r=(null==e||null==(t=e.navigation)?void 0:t.viewParams)||{},i=n.viewUid??r.viewUid;if(!i)return l.length-1;let o=l.map((e,t)=>({item:e,index:t})).filter(e=>{let{item:t}=e;return(null==t?void 0:t.viewUid)===i});if(!o.length)return l.length-1;let a=["filterByTk","sourceId","tabUid"],s=o[o.length-1].index,d=-1;for(let{item:e,index:t}of o){let l=0,r=!0;for(let t of a)if(u(n[t])){if(!c(null==e?void 0:e[t],n[t])){r=!1;break}l+=1}r&&l>=d&&(s=t,d=l)}return s}function m(e,t){return t??e.view}function f(e){var t;if(!e)return!1;let l=p(e),n=null==e||null==(t=e.inputArgs)?void 0:t.openerUids,r=Array.isArray(n)&&n.length>0;return h(e,l)>=1||r}function g(e,t){let l=t=>e.t(t),n=function(){let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e;return f(m(l,t))},r=async e=>{let l=m(e,t);if(!l||!f(l))return;let n=await v(e,l),r=null==n?void 0:n.resource;return(null==r?void 0:r.collectionName)&&null!=r.filterByTk?{collection:r.collectionName,dataSourceKey:r.dataSourceKey||"main",filterByTk:r.filterByTk,associationName:r.associationName,sourceId:r.sourceId}:(0,d.Cg)(e)},i=async()=>{var t,l,n,i;let o=await r(e);if(!(null==o?void 0:o.collection))return null;let a=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,o.dataSourceKey||"main");return(null==a||null==(i=a.collectionManager)||null==(n=i.getCollection)?void 0:n.call(i,o.collection))||null},o=async(l,n)=>{var r,i,o,a,s,d;try{let s=n||e,d=m(s,t),u=p(d),c=h(d,u);if(c<1||l<1)return;let f=c-l;if(f<1)return;let g=u[f];if(!(null==g?void 0:g.viewUid))return;let v=null==(r=s.engine)?void 0:r.getModel(g.viewUid,!0);if(!v)try{v=await s.engine.loadModel({uid:g.viewUid})}catch(t){null==(a=s.logger||e.logger)||null==(o=a.warn)||o.call(a,{err:t},"[FlowEngine] popup.getParentRecordRef loadModel failed")}let y=(null==v||null==(i=v.getStepParams)?void 0:i.call(v,"popupSettings","openView"))||{},b=null==y?void 0:y.collectionName,x=(null==y?void 0:y.dataSourceKey)||"main",w=(null==g?void 0:g.filterByTk)??(null==g?void 0:g.sourceId);if(!b||null==w)return;return{collection:b,dataSourceKey:x,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=m(e,t),r=p(n);return h(n,r)-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 o(t),r={};if(r.uid={type:"string",title:l("Popup uid")},n){let t=(()=>{try{var t,l,r,i;let o=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,n.dataSourceKey||"main");return(null==o||null==(i=o.collectionManager)||null==(r=i.getCollection)?void 0:r.call(i,n.collection||""))||null}catch(e){return null}})();r.record=await (0,d.$S)(()=>t,l("Popup record"),()=>n)||{type:"object",title:l("Popup record")}}else r.record={type:"object",title:l("Popup record")};return r.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")}})},r}});return n.title=l("Parent popup"),n},u=()=>({type:"object",title:l("Current popup"),disabled:()=>!n(),hidden:()=>!n(),buildVariablesParams:async e=>{var l,i,a,s;if(!n(e))return;let d=await r(e),u=m(e,t),c=null==u?void 0:u.inputArgs,f={};if(d){let e={...d};!e.associationName&&(null==c?void 0:c.associationName)&&(e.associationName=c.associationName),void 0===e.sourceId&&void 0!==(null==c?void 0:c.sourceId)&&(e.sourceId=null==c?void 0:c.sourceId),f.record=e}try{let t=p(u);if(h(u,t)>=2){let t=f,l=1,n=await o(l,e);for(;n;)t.parent||(t.parent={}),t.parent.record=n,t=t.parent,l+=1,n=await o(l,e)}}catch(t){null==(i=e.logger)||null==(l=i.debug)||l.call(i,{err:t},"[FlowEngine] buildVariablesParams: build parent-chain failed")}try{let e=null==c?void 0:c.sourceId,t=null==c?void 0:c.associationName,l=(null==c?void 0:c.dataSourceKey)||"main";if(null!=e&&""!==e&&t&&"string"==typeof t){let n=String(t).split(".")[0];n&&(f.sourceRecord={collection:n,dataSourceKey:l,filterByTk:e})}}catch(t){null==(s=e.logger)||null==(a=s.debug)||a.call(s,{err:t},"[FlowEngine] buildVariablesParams: infer sourceRecord failed")}return f},properties:async()=>{var n,a,u,c;let f={};if(f.uid={type:"string",title:l("Popup uid")},await r(e)){let e=async()=>{let e=await i();return e?await (0,d.$S)(()=>e,l("Current popup record"),e=>r(e)):null};e.title=l("Current popup record"),e.hasChildren=!0,f.record=e}try{let r=m(e,t),i=null==r?void 0:r.inputArgs,o=null==i?void 0:i.sourceId,s=null==i?void 0:i.associationName,u=(null==i?void 0:i.dataSourceKey)||"main";if(!s||"string"!=typeof s||!s.includes(".")){let t=p(r),l=h(r,t),i=l>=0?null==t?void 0:t[l]:void 0;if(null==i?void 0:i.viewUid){let t=null==e||null==(n=e.engine)?void 0:n.getModel(i.viewUid,!0);t||(t=await e.engine.loadModel({uid:i.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!=o&&""!==o&&s&&"string"==typeof s){let t=String(s).includes(".")?String(s).split(".")[0]:void 0;if(t){let n=()=>{try{var l,n,r,i;let o=null==(n=e.dataSourceManager)||null==(l=n.getDataSource)?void 0:l.call(n,u);return(null==o||null==(i=o.collectionManager)||null==(r=i.getCollection)?void 0:r.call(i,t))||null}catch(e){return null}},r=await (0,d.$S)(n,l("Current popup parent record"),()=>({collection:t,dataSourceKey:u,filterByTk:o}));r&&(f.sourceRecord=r)}}}catch(t){null==(c=e.logger)||null==(u=c.debug)||u.call(c,{err:t},"[FlowEngine] popup.properties: build sourceRecord failed")}return f.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 o(1)&&(f.parent=s(1)),f}});return u.title=l("Current popup"),u.sort=975,u}async function v(e,t){var l;let n=p(t),r=h(t,n),i=null==t||null==(l=t.inputArgs)?void 0:l.openerUids,o=Array.isArray(i)&&i.length>0;if(!(r>=1||o))return;if(!n.length){let e=(null==t?void 0:t.inputArgs)||{};if(!(e.collectionName||null!=e.filterByTk||null!=e.sourceId||e.associationName||e.viewUid))return;return{uid:e.viewUid,resource:{dataSourceKey:e.dataSourceKey||"main",collectionName:e.collectionName,associationName:e.associationName,filterByTk:e.filterByTk,sourceId:e.sourceId}}}let a=async t=>{var l,r,i,o,s,d;if(t<0||!(null==(l=n[t])?void 0:l.viewUid))return;let u=n[t].viewUid,c=null==(r=e.engine)?void 0:r.getModel(u,!0);c||(c=await (null==(d=e.engine)?void 0:d.loadModel({uid:u})));let p=(null==c||null==(i=c.getStepParams)?void 0:i.call(c,"popupSettings","openView"))||{},h=null==p?void 0:p.collectionName,m={uid:u,resource:{dataSourceKey:(null==p?void 0:p.dataSourceKey)||"main",collectionName:h,associationName:null==p?void 0:p.associationName,filterByTk:null==(o=n[t])?void 0:o.filterByTk,sourceId:null==(s=n[t])?void 0:s.sourceId}},f=await a(t-1);return f&&(m.parent=f),m};return await a(r)}function y(e,t){let l=/^(?:record|sourceRecord)(?:\.|$)|^parent(?:\.parent)*(?:\.(?:record|sourceRecord))(?:\.|$)/;e.defineProperty("popup",{get:async()=>v(e,t),meta:g(e,t),resolveOnServer:e=>{try{return!!e&&l.test(e)}catch(e){return!1}}})}var b=l(18182);let x=(0,r.forwardRef)((e,t)=>{let{afterClose:l,footer:i,header:o,hidden:a,...s}=e,[d,u]=(0,r.useState)(!0),[c,p]=(0,r.useState)(s),[h,m]=(0,r.useState)(()=>i),[f,g]=(0,r.useState)(o);(0,r.useImperativeHandle)(t,()=>({destroy:()=>{u(!1),null==l||l()},update:e=>p(t=>({...t,...e})),setFooter:e=>{m(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!==h?h:c.footer??null},y=r.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 w(){let[e,t]=r.useState([]);return[e,r.useCallback(e=>(t(t=>[...t,e]),()=>{t(t=>t.filter(t=>t!==e))}),[])]}var S=l(16639),M=l(20616),A=l(47451);async function F(e,t){var l;return!!t.force||!1!==await (null==(l=e.beforeClose)?void 0:l.call(e,t))}function k(e,t){var l;let n=null==t?void 0:t.layoutContext,r=null==t||null==(l=t.engine)?void 0:l.context;n instanceof a.cB&&n!==t&&n!==r&&e.addDelegate(n)}let C=0;function P(){let e=r.useRef(null),t=(t,l)=>{var u,c,p;let h,m,f=null==l?void 0:l.engine;C+=1;let g=r.createRef(),v=new Promise(e=>{m=e}),b=null,w=null,P=e=>{let{children:t}=e;return r.useEffect(()=>{var e;return b=t,null==(e=g.current)||e.setFooter(t),()=>{var e;b=null,null==(e=g.current)||e.setFooter(null)}},[t]),null},j=e=>(r.useEffect(()=>{var t;return w=e,null==(t=g.current)||t.setHeader(e),()=>{var e;w=null,null==(e=g.current)||e.setHeader(null)}},[e]),null),E=new a.cB,R=(0,A._)(l.engine),I=(0,S.eX)(f,R);E.defineProperty("engine",{value:R}),E.addDelegate(R.context),!1!==t.inheritContext?E.addDelegate(l):(E.addDelegate(l.engine.context),k(E,l));let T=!1,_={type:"dialog",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,r,i;if(T)return;T=!0,null==(l=t.onClose)||l.call(t),null==(n=g.current)||n.destroy(),null==h||h(),null==m||m(e);let o=null==I?void 0:I.emitter;(0,S.Z8)(o),null==o||null==(i=o.emit)||i.call(o,S.B9,{type:"dialog",viewUid:null==_||null==(r=_.inputArgs)?void 0:r.viewUid}),R.unlinkFromStack()},update:e=>{var t;return null==(t=g.current)?void 0:t.update(e)},close:async(e,l)=>{var n,r;return(!t.preventClose||!!l)&&!!await F(_,{result:e,force:l})&&(t.triggerByRouter&&(null==(r=t.inputArgs)||null==(n=r.navigation)?void 0:n.back)?t.inputArgs.navigation.back():_.destroy(e),!0)},Footer:P,Header:j,setFooter:e=>{var t;b=e,null==(t=g.current)||t.setFooter(e)},setHeader:e=>{var t;w=e,null==(t=g.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,E)}};E.defineProperty("view",{get:()=>_,resolveOnServer:(0,d.Xx)(E,()=>(0,d.vE)(l,E))}),R.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),_.destroy()}),y(E,_);let D=(0,o.observer)(()=>{var e,l,o,a;let s=r.useRef(!1),d="function"==typeof t.content?t.content(_,E):t.content,u="string"==typeof d?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(d)}}):d;return(r.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,_,E)},[]),(null==(l=t.inputArgs)||null==(e=l.hidden)?void 0:e.value)&&!s.current)?null:(s.current=!0,(0,n.jsx)(x,{className:"nb-dialog-overflow-hidden",ref:g,hidden:null==(a=t.inputArgs)||null==(o=a.hidden)?void 0:o.value,footer:b,header:w,...t,onCancel:()=>{_.close(t.result)},children:u}))},{displayName:"DialogWithContext"}),N=(null==t||null==(c=t.inputArgs)?void 0:c.viewUid)||`page-${C}`,O=(0,n.jsx)(M.I6,{engine:R,children:(0,n.jsx)(s.YQ,{context:E,children:(0,n.jsx)(D,{})})},N);return h=null==(p=e.current)?void 0:p.patchElement(O),Object.assign(v,_)},l=r.useMemo(()=>({open:t}),[]),u=r.memo(r.forwardRef((e,t)=>{let[l,i]=w();return r.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(u,{ref:e},"dialog-holder")]}var j=l(97134),E=l(61793);let R=r.forwardRef((e,t)=>{var l;let{children:i,footer:o,title:a,extra:s,hidden:d,isMobile:u,...c}=e,[p,h]=r.useState(!0),[m,f]=r.useState(()=>o),[g,v]=r.useState({title:a,extra:s,...c.header});r.useImperativeHandle(t,()=>({destroy:()=>{h(!1)},update:e=>{Object.assign(c,e)},setFooter:e=>{f(e)},setHeader:e=>{0===Object.values(e||{}).length?v(null):v(e)}}),[]);let y=r.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return u?(0,n.jsx)(E.D,{className:d?"nb-hidden":"",visible:p,...c,footer:m,...g,onClose:c.onClose,children:i}):(0,n.jsx)(j.A,{rootClassName:d?"nb-hidden":"",closable:!1,getContainer:y,...c,open:p,footer:m,styles:{...c.styles,footer:{display:"flex",justifyContent:"flex-end",...null==(l=c.styles)?void 0:l.footer}},...g,onClose:c.onClose,children:i})});function I(){let e=r.useRef(null),t=r.useMemo(()=>o.observable.shallow({value:[]}),[]),l=r.memo(e=>{let{index:i}=e,[a,s]=r.useState(null);return(r.useEffect(()=>{(0,o.autorun)(()=>{let e=t.value;e[i]&&a!==e[i]&&s(e[i]),e[i]||s(null)})},[a,i]),a)?(0,n.jsx)(a,{children:(0,n.jsx)(l,{index:i+1})}):null});l.displayName="RenderNestedDrawer";let u=(t,l)=>{var u,c;let p,h,m=l.engine,f=r.createRef(),g=new Promise(e=>{h=e}),v=null,b=null,x=e=>{let{children:t}=e;return r.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=>(r.useEffect(()=>{var t;return b=e,null==(t=f.current)||t.setHeader(e),()=>{var e;b=null,null==(e=f.current)||e.setHeader(null)}},[e]),null),C=new a.cB,P=(0,A._)(l.engine),j=(0,S.eX)(m,P);C.defineProperty("engine",{value:P}),C.addDelegate(P.context),!1!==t.inheritContext?C.addDelegate(l):(C.addDelegate(l.engine.context),k(C,l));let E=!1,I={type:"drawer",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,r,i;if(E)return;E=!0,null==(l=t.onClose)||l.call(t),null==(n=f.current)||n.destroy(),null==p||p(),null==h||h(e);let o=null==j?void 0:j.emitter;(0,S.Z8)(o),null==o||null==(i=o.emit)||i.call(o,S.B9,{type:"drawer",viewUid:null==I||null==(r=I.inputArgs)?void 0:r.viewUid}),P.unlinkFromStack()},update:e=>{var t;return null==(t=f.current)?void 0:t.update(e)},close:async(e,l)=>{var n,r;return(!t.preventClose||!!l)&&!!await F(I,{result:e,force:l})&&(t.triggerByRouter&&(null==(r=t.inputArgs)||null==(n=r.navigation)?void 0:n.back)?t.inputArgs.navigation.back():I.destroy(e),!0)},Footer:x,Header:w,setFooter:e=>{var t;v=e,null==(t=f.current)||t.setFooter(e)},setHeader:e=>{var t;b=e,null==(t=f.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,C)}};C.defineProperty("view",{get:()=>I,resolveOnServer:(0,d.Xx)(C,()=>(0,d.vE)(l,C))}),P.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),I.destroy()}),y(C,I);let T=r.memo((0,o.observer)(e=>{var l,o,a,s;let d=r.useRef(!1),u="function"==typeof t.content?t.content(I,C):t.content,c="string"==typeof u?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(u)}}):u;return(r.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,I,C)},[]),(null==(o=t.inputArgs)||null==(l=o.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||b,hidden:null==(s=t.inputArgs)||null==(a=s.hidden)?void 0:a.value,onClose:()=>{I.close(t.result)},isMobile:C.isMobileLayout,children:[c,e.children]}))}));T.displayName="DrawerWithContext";let _=r.memo(e=>{let{children:t}=e;return(0,n.jsx)(M.I6,{engine:P,children:(0,n.jsx)(s.YQ,{context:C,children:(0,n.jsx)(T,{children:t})})})});return _.displayName="RenderDrawer",p=null==(c=e.current)?void 0:c.patchElement(_),Object.assign(g,I)},c=r.useMemo(()=>({open:u}),[]),p=r.memo(r.forwardRef((e,i)=>{let[o,a]=w();return r.useImperativeHandle(i,()=>({patchElement:a}),[a]),r.useEffect(()=>{t.value=o},[o]),(0,n.jsx)(l,{index:0})}));return[c,(0,n.jsx)(p,{ref:e},"drawer-holder")]}var T=l(40961),_=l(31333),D=l(71021);let N=(0,r.forwardRef)((e,t)=>{let[l,i]=r.useState({}),{visible:o=!0,footer:a=null,header:s=null,children:d,hidden:u,title:c,styles:p={},zIndex:h=4,onClose:m}={...e,...l},f=(0,r.useRef)(!1),g=(0,M.uf)(),[v,y]=(0,r.useState)(()=>a),[b,x]=(0,r.useState)(s);(0,r.useImperativeHandle)(t,()=>({destroy:()=>{f.current||(f.current=!0)},update:e=>{i(e)},setFooter:e=>{y(e)},setHeader:e=>{0===Object.values(e||{}).length?x(null):x(e)}}));let w=(0,r.useMemo)(()=>({display:u?"none":"flex",flexDirection:"column",height:"100%",zIndex:h}),[u,h]),S=(0,r.useMemo)(()=>{if(!b&&!c)return null;let{title:e=c,extra:t}=b||{},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)(D.Ay,{type:"text",size:"small",icon:(0,n.jsx)(_.A,{}),onClick:async()=>{f.current||!1!==await (null==m?void 0:m())&&(f.current=!0)},style:{color:l.colorTextTertiary}}),e&&(0,n.jsx)("div",{style:{fontSize:l.fontSizeLG,fontWeight:l.fontWeightStrong,color:l.colorText},children:e})]}),t&&(0,n.jsx)("div",{children:t})]})},[b,c,g.context.themeToken,p.header,m]),A=(0,r.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 o?(0,n.jsxs)("div",{style:{...w,...p.content},children:[S,(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",...p.body},children:d}),A]}):null}),O=0,$="nocobase-embed-container",B="nocobaseEmbedReplacing";function L(e){return!!e&&"function"==typeof e.then}function V(e,t){e.dataset[B]="1";try{let l=t.close();if(L(l))return Promise.resolve(l).finally(()=>{delete e.dataset[B]});return delete e.dataset[B],l}catch(t){throw delete e.dataset[B],t}}function q(e,t,l){let n,r={},i=e.then(e=>{let{page:t}=e;return(n=t)&&("beforeClose"in r&&(n.beforeClose=r.beforeClose),"update"in r&&n.update(r.update),"footer"in r&&n.setFooter(r.footer),"header"in r&&n.setHeader(r.header),r.destroyed&&n.destroy(r.destroyed.result)),{page:t}});return Object.assign(i.then(e=>{let{page:t}=e;return!!t&&t}),{type:"embed",inputArgs:t,preventClose:l,Header:null,Footer:null,get beforeClose(){return(null==n?void 0:n.beforeClose)??r.beforeClose},set beforeClose(value){n?n.beforeClose=value:r.beforeClose=value},close:(e,t)=>i.then(l=>{let{page:n}=l;return!!n&&n.close(e,t)}),destroy:e=>{n?n.destroy(e):r.destroyed={result:e}},update:e=>{n?n.update(e):r.update={...r.update,...e}},setFooter:e=>{n?n.setFooter(e):r.footer=e},setHeader:e=>{n?n.setHeader(e):r.header=e}})}let z=r.memo(r.forwardRef((e,t)=>{let[l,i]=w();return r.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,n.jsx)(n.Fragment,{children:l})}));function K(){let e=r.useRef(null),t=r.useRef(null),l=r.useRef(0),i=(i,u)=>{let{target:c,content:p,preventClose:h,inheritContext:m=!0,inputArgs:f={},onOpenCancelled:g,...v}=i,b=c instanceof HTMLElement&&c.id===$,x=()=>{var l,g,x;let w,C,P,j=null==u?void 0:u.engine;O+=1;let E=r.createRef(),R=new Promise(e=>{C=e}),I=e=>{let{children:t}=e;return r.useEffect(()=>{var e;return null==(e=E.current)||e.setFooter(t),()=>{var e;null==(e=E.current)||e.setFooter(null)}},[t]),null},_=e=>(r.useEffect(()=>{var t;return null==(t=E.current)||t.setHeader(e),()=>{var e;null==(e=E.current)||e.setHeader(null)}},[e]),null),D=new a.cB,$=(0,A._)(u.engine),L=(0,S.eX)(j,$);D.defineProperty("engine",{value:$}),D.addDelegate($.context),m?D.addDelegate(u):(D.addDelegate(u.engine.context),k(D,u));let V=!1,q={type:"embed",inputArgs:f,preventClose:!!i.preventClose,beforeClose:void 0,destroy:e=>{var l,n,r,o,a;if(!V){if(V=!0,null==(l=i.onClose)||l.call(i),null==C||C(e),null==(n=E.current)||n.destroy(),null==w||w(),b&&t.current===q&&(t.current=null),!(b&&c instanceof HTMLElement&&(null==(r=c.dataset)?void 0:r[B])==="1")){let e=null==L?void 0:L.emitter;(0,S.Z8)(e),null==e||null==(a=e.emit)||a.call(e,S.B9,{type:"embed",viewUid:null==q||null==(o=q.inputArgs)?void 0:o.viewUid})}$.unlinkFromStack()}},update:e=>{var t;return null==(t=E.current)?void 0:t.update(e)},close:(e,t)=>V?Promise.resolve(!0):P||(P=(async()=>{try{var l,n;if(h&&!t)return P=void 0,!1;let r=await F(q,{result:e,force:t});if(V)return!0;if(!r)return P=void 0,!1;if(i.triggerByRouter&&(null==(n=i.inputArgs)||null==(l=n.navigation)?void 0:l.back))return i.inputArgs.navigation.back(),!0;return q.destroy(e),!0}catch(e){throw V||(P=void 0),e}})()),Header:_,Footer:I,setFooter:e=>{var t;null==(t=E.current)||t.setFooter(e)},setHeader:e=>{var t;null==(t=E.current)||t.setHeader(e)},navigation:null==(l=i.inputArgs)?void 0:l.navigation,get record(){return(0,d.vE)(u,D)}};D.defineProperty("view",{get:()=>q,resolveOnServer:(0,d.Xx)(D,()=>(0,d.vE)(u,D))}),y(D,q);let z=(0,o.observer)(()=>{var e,t,l,o;let a=r.useRef(!1),s=r.useMemo(()=>"function"==typeof p?p(q,D):p,[]);return(D.themeToken,r.useEffect(()=>{var e;null==(e=i.onOpen)||e.call(i,q,D)},[]),(null==(t=i.inputArgs)||null==(e=t.hidden)?void 0:e.value)&&!a.current)?null:(a.current=!0,(0,n.jsx)(N,{ref:E,hidden:null==(o=i.inputArgs)||null==(l=o.hidden)?void 0:l.value,...v,onClose:()=>q.close(i.result),children:s}))},{displayName:"PageWithContext"}),K=(null==f?void 0:f.viewUid)||`page-${O}`,U=(0,n.jsx)(M.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(T.createPortal(U,c,K)):null==(x=e.current)?void 0:x.patchElement(U),b&&(t.current=q),Object.assign(R,q)};if(b&&t.current){let e,n=l.current+=1,r=()=>null==g?void 0:g();try{e=V(c,t.current)}catch(e){throw r(),e}if(L(e))return q(Promise.resolve(e).then(e=>!1===e||n!==l.current?(r(),{page:null}):{page:x()},e=>{throw r(),e}),f,!!i.preventClose);if(!1===e)return r(),q(Promise.resolve({page:null}),f,!!i.preventClose)}return x()};return[r.useMemo(()=>({open:i}),[]),(0,n.jsx)(z,{ref:e},"page-holder")]}var U=l(28073);let W=0,H=r.forwardRef((e,t)=>{var l,i;let{afterClose:o,content:a,placement:s,rect:d,...u}=e,[c,p]=r.useState(!0),[h,m]=r.useState({content:a,placement:s,rect:d,...u});return r.useImperativeHandle(t,()=>({destroy:()=>p(!1),update:e=>m(t=>({...t,...e})),close:(e,t)=>p(!1)})),r.useEffect(()=>{c||null==o||o()},[c,o]),(0,n.jsx)(U.A,{arrow:!1,open:c,trigger:["click"],destroyTooltipOnHide:!0,content:h.content,placement:h.placement,getPopupContainer:()=>document.querySelector("#nocobase-app-container")||document.body,onOpenChange:e=>{(e||!h.preventClose)&&(p(e),e||null==o||o())},...h,children:(0,n.jsx)("span",{style:{position:"absolute",top:((null==(l=h.rect)?void 0:l.top)??0)+window.scrollY,left:((null==(i=h.rect)?void 0:i.left)??0)+window.scrollX,width:0,height:0}})})});function G(){let e=r.useRef(null),t=t=>{var l,o;let a,s;W+=1;let{target:d,placement:u="rightTop",content:c,...p}=t,h=r.createRef(),m=(null==d||null==(l=d.getBoundingClientRect)?void 0:l.call(d))??{top:0,left:0},f=new Promise(e=>{s=e}),g={type:"popover",destroy:()=>{var e;return null==(e=h.current)?void 0:e.destroy()},update:e=>{var t;return null==(t=h.current)?void 0:t.update(e)},close:e=>{var t;null==s||s(e),null==(t=h.current)||t.close(e)}},v="function"==typeof c?c(g):c,y="string"==typeof v?(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(v)}}):v,b=(0,n.jsx)(H,{ref:h,content:y,placement:u,rect:m,afterClose:()=>{var e;null==a||a(),null==(e=t.onClose)||e.call(t),null==s||s(t.result)},...p},`popover-${W}`);return a=null==(o=e.current)?void 0:o.patchElement(b),Object.assign(f,g)},l=r.useMemo(()=>({open:t}),[]),o=r.memo(r.forwardRef((e,t)=>{let[l,i]=w();return r.useImperativeHandle(t,()=>({patchElement:i}),[]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(o,{ref:e},"popover-holder")]}var Y=l(50467),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={}){(0,Y._)(this,"viewStack",void 0),(0,Y._)(this,"ctx",void 0),(0,Y._)(this,"viewParams",void 0),(0,Y._)(this,"basePath",void 0),this.setViewStack(t),this.ctx=e,this.basePath=l.basePath||l.layoutBasePath,(0,J.E8)(this,{viewParams:J.sH})}}},16639(e,t,l){l.d(t,{B9:()=>r,FH:()=>s,HK:()=>i,Z8:()=>d,eX:()=>p,i6:()=>o,tb:()=>n});let n=Symbol.for("__NOCOBASE_VIEW_ACTIVATED_VERSION__"),r="view:activated",i="dataSource:dirty",o="__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,o)===a}function c(e){let t=e,l=0;for(;t&&l++<50;){if(u(t))return t;t=t.previousEngine}}function p(e,t){if(!e)return;let l=c(e);return l||c(null==t?void 0:t.previousEngine)||e}},40542(e,t,l){l.d(t,{D:()=>n});let n=(e,t,l)=>{if(!e)return l;let r=t.split("."),i=[],o=e,a=!1;for(let e=0;e<r.length;e++){let t=r[e];if(Array.isArray(o)){for(let t of(a=!0,o)){let o=n(t,r.slice(e).join("."),l);i=i.concat(o)}break}if((null==o?void 0:o[t])===void 0)break;o=o[t],e===r.length-1&&i.push(o)}return 0===(i=i.filter(e=>void 0!==e)).length?l:a?i.filter(e=>null!==e):i[0]}},96436(e,t,l){l.r(t),l.d(t,{getDayRange:()=>tl,isEmptyFilter:()=>ed,sleep:()=>es,getDateVars:()=>ta,isString:()=>ee,unflatten:()=>e8,sortTree:()=>ea,forEach:()=>ek,utc2unit:()=>tr,extractUsedVariablePaths:()=>tE,getValuesByPath:()=>eC,isArray:()=>et,moment2str:()=>eb,transformLiquidContext:()=>tI,isURL:()=>tA,isPortalInBody:()=>tb,extractUsedVariableNames:()=>tj,parseHTML:()=>tx,toGmt:()=>ep,isPlainObject:()=>en,lockdownSes:()=>tg,splitPathToTwoParts:()=>ts,transformFilter:()=>Y,parseSQLBindParams:()=>tD,getPickerFormat:()=>eM,nextTick:()=>ei,removeNullCondition:()=>eu,CollectionsGraph:()=>q,isValidFilter:()=>eT,evaluateConditions:()=>Z,toUnit:()=>ti,BASE_BLOCKED_IDENTIFIERS:()=>th,getFormatFromDateStr:()=>eF,removeInvalidFilterItems:()=>J,toLocal:()=>eh,getDayRangeByParams:()=>L,getDefaultFormat:()=>ec,transformMultiColumnToSingleColumn:()=>tC,treeFind:()=>eo,transformSQL:()=>tN,parseFilter:()=>tt,flatten:()=>e4,getOffsetRangeByParams:()=>N,isEmpty:()=>el,offsetFromString:()=>ex,tval:()=>tv,error:()=>eV,Registry:()=>tu,lodash:()=>r(),parse:()=>eO,hasEmptyValue:()=>er,toFixedByStep:()=>eJ,getDateTimeFormat:()=>eA,showToast:()=>eH,Handlebars:()=>eE(),getLiquidContext:()=>tT,merge:()=>eU,dayjs:()=>o(),parseLiquidContext:()=>t_,uid:()=>tM,str2moment:()=>eg});var n=l(2543),r=l.n(n),i=l(74353),o=l.n(i),a=l(97375),s=l.n(a),d=l(90445),u=l.n(d),c=l(43522),p=l.n(c),h=l(37872),m=l.n(h),f=l(98867),g=l.n(f),v=l(8906),y=l.n(v),b=l(68313),x=l.n(b),w=l(21840),S=l.n(w),M=l(41816),A=l.n(M),F=l(88569),k=l.n(F),C=l(83826),P=l.n(C),j=l(8134),E=l.n(j),R=l(28623),I=l.n(R),T=l(46986),_=l.n(T);o().extend(_()),o().extend(S()),o().extend(k()),o().extend(P()),o().extend(A()),o().extend(x()),o().extend(m()),o().extend(g()),o().extend(y()),o().extend(E()),o().extend(I()),o().extend(u()),o().extend(s()),o().extend(p());let D=e=>{if(!e)return o()();if(/^[+-]\d{2}:\d{2}$/.test(e)){let[t,l,n]=e.match(/([+-])(\d{2}):(\d{2})/).slice(1),r=(60*parseInt(l)+parseInt(n))*("+"===t?1:-1);return o()().utcOffset(r)}return o()().tz(e)},N=e=>{let t,l,{type:n,unit:r="day",number:i=1,timezone:o}=e,a=D(o),s="week"===r?"isoWeek":r;if("past"===n){let e=a.startOf(s);t=e.subtract(i,r).startOf(s),l=e.subtract(1,r).endOf(s)}else if("next"===n)l=(t=a.startOf(s).add(1,r).startOf(s)).add(i-1,r).endOf(s);else throw Error(`Unsupported type: ${n}`);return[t.format("YYYY-MM-DD HH:mm:ss"),l.format("YYYY-MM-DD HH:mm:ss")]},O=(e,t,l)=>{let n="isoWeek"===t?"week":t;return D(l).add(e,n).startOf(t)},$=(e,t,l)=>{let n="isoWeek"===t?"week":t;return D(l).add(e,n).endOf(t)},B={today:e=>[O(0,"day",null==e?void 0:e.timezone),$(0,"day",null==e?void 0:e.timezone)],yesterday:e=>[O(-1,"day",null==e?void 0:e.timezone),$(-1,"day",null==e?void 0:e.timezone)],tomorrow:e=>[O(1,"day",null==e?void 0:e.timezone),$(1,"day",null==e?void 0:e.timezone)],thisWeek:e=>[O(0,"isoWeek",null==e?void 0:e.timezone),$(0,"isoWeek",null==e?void 0:e.timezone)],lastWeek:e=>[O(-1,"isoWeek",null==e?void 0:e.timezone),$(-1,"isoWeek",null==e?void 0:e.timezone)],nextWeek:e=>[O(1,"isoWeek",null==e?void 0:e.timezone),$(1,"isoWeek",null==e?void 0:e.timezone)],thisMonth:e=>[O(0,"month",null==e?void 0:e.timezone),$(0,"month",null==e?void 0:e.timezone)],lastMonth:e=>[O(-1,"month",null==e?void 0:e.timezone),$(-1,"month",null==e?void 0:e.timezone)],nextMonth:e=>[O(1,"month",null==e?void 0:e.timezone),$(1,"month",null==e?void 0:e.timezone)],thisQuarter:e=>[O(0,"quarter",null==e?void 0:e.timezone),$(0,"quarter",null==e?void 0:e.timezone)],lastQuarter:e=>[O(-1,"quarter",null==e?void 0:e.timezone),$(-1,"quarter",null==e?void 0:e.timezone)],nextQuarter:e=>[O(1,"quarter",null==e?void 0:e.timezone),$(1,"quarter",null==e?void 0:e.timezone)],thisYear:e=>[O(0,"year",null==e?void 0:e.timezone),$(0,"year",null==e?void 0:e.timezone)],lastYear:e=>[O(-1,"year",null==e?void 0:e.timezone),$(-1,"year",null==e?void 0:e.timezone)],nextYear:e=>[O(1,"year",null==e?void 0:e.timezone),$(1,"year",null==e?void 0:e.timezone)]},L=e=>{if("past"===e.type||"next"===e.type)return N(e);let t=B[e.type];if(!t)throw Error(`Unsupported type: ${e.type}`);let[l,n]=t(e);return[l.format("YYYY-MM-DD HH:mm:ss"),n.format("YYYY-MM-DD HH:mm:ss")]};var V=l(38362);class q{static graphlib(){return V}static connectedNodes(e){let t=(0,n.castArray)(e.nodes),l=(0,n.castArray)(e.excludes||[]),r=q.build(e),i=new Set;for(let e of t)for(let t of V.alg.preorder(r,e))l.includes(t)||i.add(t);return Array.from(i)}static preOrder(e){return q.graphlib().alg.preorder(q.build(e),e.node)}static build(e){let t=e.collections,l="forward"===((null==e?void 0:e.direction)||"forward"),n=new V.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 r=t.through;l?(n.setEdge(e.name,r),n.setEdge(r,t.target)):(n.setEdge(t.target,r),n.setEdge(r,e.name))}}return n}}var z=l(81814),K=l.n(z);function U(e){return"path"in e&&"operator"in e}function W(e){return"logic"in e&&"items"in e}function H(e){let{path:t,operator:l,value:n}=e;return{[t]:{[l]:n}}}function G(e){let{logic:t,items:l}=e;return{[t]:l.map(e=>{if(U(e))return H(e);if(W(e))return G(e);throw Error("Invalid filter item type")})}}function Y(e){if(!e||"object"!=typeof e)throw Error("Invalid filter: filter must be an object");if(!W(e))throw Error("Invalid filter: filter must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid filter: items must be an array");return eu(G(e))}function J(e){if(!e||"object"!=typeof e)throw Error("Invalid filter: filter must be an object");if(!W(e))throw Error("Invalid filter: filter must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid filter: items must be an array");return e.items=e.items.filter(e=>U(e)?!!e.operator:!!W(e)&&J(e)),{...e}}function X(e,t){let{path:l,operator:n,value:r}=e;return t(l,n,r)}function Q(e,t){let{logic:l,items:n}=e;if(!n||0===n.length)return!0;let r=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 r.every(e=>!0===e);if("$or"===l)return r.some(e=>!0===e);throw Error(`Unsupported logic operator: ${l}`)}function Z(e,t){if(!e||"object"!=typeof e)throw Error("Invalid conditions: conditions must be an object");if(!W(e))throw Error("Invalid conditions: conditions must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid conditions: items must be an array");if("function"!=typeof t)throw Error("Invalid evaluator: evaluator must be a function");return Q(e,t)}let ee=e=>"string"==typeof e,et=e=>Array.isArray(e),el=e=>en(e)?0===Object.keys(e).length:!!Array.isArray(e)&&0===e.length,en=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},er=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 er(e[l])}return t},ei=e=>{setTimeout(e)};function eo(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return;let{childrenKey:n="children"}=l;for(let r of Array.isArray(e)?[...e]:[e]){if(t(r))return r;let e="function"==typeof n?n(r):r[n];if(Array.isArray(e)&&e.length>0){let n=eo(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?r().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&&r().isEmpty(e.$and)||"$or"in e&&r().isEmpty(e.$or))}let eu=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:K(),l=t(e||{}),n={};for(let e in l){let t=l[e];null==t||el(t)||""===t||(n[e]=t)}let i=t.unflatten(n);for(let e in i)Array.isArray(i[e])&&(i[e]=i[e].filter(e=>null!=e));return r().isEmpty(i)?void 0:i},ec=e=>e.format?e.format:e.dateFormat?e.showTime?`${e.dateFormat} ${e.timeFormat||"HH:mm:ss"}`:e.dateFormat:"month"===e.picker?"YYYY-MM":"quarter"===e.picker?"YYYY-\\QQ":"year"===e.picker?"YYYY":"week"===e.picker?"YYYY[W]W":e.showTime?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD",ep=e=>e&&o().isDayjs(e)?`${e.format("YYYY-MM-DD")}T${e.format("HH:mm:ss.SSS")}Z`:e,eh=e=>e?Array.isArray(e)?e.map(e=>e.startOf("second").toISOString()):o().isDayjs(e)?e.startOf("second").toISOString():void 0:e,em=e=>{try{let t=parseInt(e.slice(0,4)),l=parseInt(e.slice(-1));return o()().quarter(l).year(t)}catch(e){return null}},ef=(e,t)=>{if(!e)return;let l=t.utcOffset,{gmt:n,picker:r,utc:i=!0,dateOnly:a}=t;if(!o()(e).isValid())return em(e);if(a){let t=o()(e);if(!t.isValid())return e;let l=t.format("YYYY-MM-DD");return o().utc(l,"YYYY-MM-DD")}return i?o().isDayjs(e)?l?e.utcOffset(ex(l)):e:n?o()(e).utcOffset(0):l?o()(e).utcOffset(ex(l)):o()(e):o()(e)},eg=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)?e.map(e=>ef(e,t)):e?ef(e,t):e},ev=(e,t)=>"year"===t?e.format("YYYY")+"-01-01T00:00:00.000Z":"month"===t||"quarter"===t?e.format("YYYY-MM")+"-01T00:00:00.000Z":e.format("YYYY-MM-DD")+"T00:00:00.000Z",ey=(e,t)=>e?Array.isArray(e)?e.map(e=>ev(e,t)):o().isDayjs(e)?ev(e,t):void 0:e,eb=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{showTime:l,gmt:n,picker:r}=t;return e?l?n?ep(e):eh(e):ey(e,r):e};function ex(e){if(!r().isString(e))return e;let t=/([+-]|\d\d)/gi,l=/Z|[+-]\d\d(?::?\d\d)?/gi,n=/[+-]?\d+(\.\d{1,3})?/,i=(e||"").match(l);if(null===i&&(i=(e||"").match(n)),null===i)return null;let o=((i[i.length-1]||[])+"").match(t)||["-",0,0],a=+(60*Number(o[1]))+ew(o[2]);return 0===a?0:"+"===o[0]?a:-a}function ew(e){let t=+e,l=0;return 0!==t&&isFinite(t)&&(l=eS(t)),l}function eS(e){return e<0?Math.ceil(e)||0:Math.floor(e)}let eM=e=>{switch(e){case"week":return"YYYY[W]W";case"month":return"YYYY-MM";case"quarter":return"YYYY[Q]Q";case"year":return"YYYY";default:return"YYYY-MM-DD"}},eA=(e,t,l,n)=>"date"===e&&l?`${t} ${n||"HH:mm:ss"}`:t;function eF(e){return/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e)?"YYYY-MM-DD HH:mm:ss":/^\d{4}-\d{2}-\d{2}$/.test(e)?"YYYY-MM-DD":/^\d{4}-\d{2}$/.test(e)?"YYYY-MM":/^\d{4}$/.test(e)?"YYYY":/^\d{4}Q[1-4]$/.test(e)?"YYYY[Q]Q":/^\d{4}-\d{2}-\d{2}T/.test(e)?"YYYY-MM-DDTHH:mm:ss.SSSZ":null}let ek=(e,t)=>{Array.isArray(e)?e.forEach(t):Object.keys(e).forEach(l=>{t(e[l],l)})},eC=(e,t,l)=>{if(!e)return l;let n=t.split("."),r=[],i=e,o=!1;for(let e=0;e<n.length;e++){let t=n[e];if(Array.isArray(i)){for(let t of(o=!0,i)){let i=eC(t,n.slice(e).join("."),l);r=r.concat(i)}break}if((null==i?void 0:i[t])===void 0)break;i=i[t],e===n.length-1&&r.push(i)}return 0===(r=r.filter(e=>void 0!==e)).length?l:o?r.filter(e=>null!==e):r[0]};var eP=l(88835),ej=l(60639),eE=l.n(ej),eR=l(79441);let eI=l.n(eR)()();function eT(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(eT);if(e.$and||e.$or)return eT(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 e_(e){let t=typeof e;return Array.isArray(e)?t="array":e instanceof Date?t="date":null===e&&(t="null"),t}function eD(e){let t=e.substr(2,e.length-4).trim(),l=t.indexOf(":");return -1!==l?{key:t.substr(0,l),defaultValue:t.substr(l+1)}:{key:t}}function eN(e,t){return e.parameters=Array.from(new Map(t.map(e=>[e.key,e])).values()),e}function eO(e){switch(e_(e)){case"string":return e$(e);case"object":return eB(e);case"array":return eL(e);default:return eN(function(){return e},[])}}Object.keys(eI).forEach(function(e){eE().registerHelper(e,eI[e])}),eE().registerHelper("json",function(e){return JSON.stringify(e)}),eE().registerHelper("urlParse",function(e){try{return JSON.stringify(eP.parse(e))}catch(t){return`Invalid URL: ${e}`}}),eE().registerHelper("dateFormat",(e,t,l)=>"string"==typeof l?o()(e).tz(l).format(t):o()(e).format(t)),eE().registerHelper("isNull",e=>r().isNull(e));let e$=(()=>{let e=/{{(\w|:|[\s-+.,@/()?=*_$])+}}/g;return t=>{let l=[],r=e=>t,i=t.match(e);return i&&(l=i.map(eD),r=e=>(e=e||{},i.reduce((r,o,a)=>{let s=l[a],d=(0,n.get)(e,s.key);return(void 0===d&&(d=s.defaultValue),"function"==typeof d&&(d=d()),1===i.length&&t.startsWith("{{")&&t.endsWith("}}"))?d:(d instanceof Date&&(d=d.toISOString()),r.replace(o,null==d?"":d))},t))),eN(r,l)}})();function eB(e){let t=Object.keys(e).map(t=>({keyTemplate:e$(t),valueTemplate:eO(e[t])}));return eN(e=>t.reduce((t,l)=>(t[l.keyTemplate(e)]=l.valueTemplate(e),t),{}),t.reduce((e,t)=>e.concat(t.valueTemplate.parameters,t.keyTemplate.parameters),[]))}function eL(e){let t=e.map(eO);return eN(e=>t.map(t=>t(e)),t.reduce((e,t)=>e.concat(t.parameters),[]))}let eV=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 eq=l(14744),ez=l.n(eq);let eK=(e,t,l)=>t;function eU(e,t,l){return ez()(e,t,{arrayMerge:eK,...l})}var eW=l(98892);let eH=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3;eW.Ay[t]({message:e,duration:l})};var eG=l(5062),eY=l(85738);function eJ(e,t){if(null==e||""===e)return"";let l=(0,eG.i5)(t);return(0,eY.Mg)(String(e),".",l)}var eX=l(63560),eQ=l.n(eX),eZ=l(95093),e0=l.n(eZ);let e1=/^\s*\{\{([\s\S]*)\}\}\s*$/;function e2(e){return e&&e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function e5(e){return e}function e4(e,t){let l=(t=t||{}).delimiter||".",n=t.maxDepth,i=t.transformKey||e5,o=t.transformValue||e5,a={};function s(e,d,u){u=u||1,r().isObjectLike(e)&&Object.keys(e).forEach(function(r){var c;let p=e[r],h=t.safe&&Array.isArray(p),m=Object.prototype.toString.call(p),f=e2(p),g="[object Object]"===m||"[object Array]"===m,v=d?d+l+i(r):i(r);if(null==(c=t.breakOn)?void 0:c.call(t,{key:r,value:p,path:v})){a[v]=o(p,v);return}if(!h&&!f&&g&&Object.keys(p).length&&(!t.maxDepth||u<n))return s(p,v,u+1);a[v]=o(p,v)})}return s(e),a}function e8(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l={},n=t.transformValue||e5;for(let t of Object.keys(e))eQ()(l,t,n(e[t],t));return l}let e3=e=>{let t=e.split(".").pop()||"";return t.startsWith("$")||(t=""),{operator:t}},e6=e=>["$dateOn","$dateNotOn","$dateBefore","$dateAfter","$dateNotBefore","$dateNotAfter","$dateBetween"].includes(e);function e9(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function e7(e){return(null==e?void 0:e.type)==="dateOnly"||(null==e?void 0:e.type)==="datetimeNoTz"||(null==e?void 0:e.constructor.name)==="DateOnlyField"||(null==e?void 0:e.constructor.name)==="DatetimeNoTzField"}let te=(e,t)=>e?(e.type&&(e=L({...e,timezone:t})),Array.isArray(e))?(2===e.length?e.push("[]",t):3===e.length&&e.push(t),e):"string"==typeof e?!t||/(\+|-)\d\d:\d\d$/.test(e)?e:e+t:e9(e)?e.toISOString():void 0:null,tt=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=new Set,n=t.vars||{},r=t.timezone,i=t.now,o=t.getField,a=e4(e,{breakOn(e){let{key:t}=e;return t.startsWith("$")&&"$and"!==t&&"$or"!==t},transformValue(e){if("string"!=typeof e)return e;let t=e1.exec(e);if(t){let e=t[1].trim();e.startsWith("$user")&&l.add(e.substring(6))}return e}});if(l.size>0){let e=await n.$user({fields:[...l.values()]});Object.assign(n,{$user:e})}return e8(a,{transformValue(e,t){let{operator:l}=e3(t);if("string"==typeof e){let a=e1.exec(e);if(a){let s=eC(n,a[1].trim(),null),d=null==o?void 0:o(t);e="function"==typeof s?null==s?void 0:s({field:d,operator:l,timezone:r,now:i}):s}}if(e6(l)){let l=null==o?void 0:o(t);return e7(l)?e.type?L({...e,timezone:(null==l?void 0:l.timezone)||r}):e:te(e,(null==l?void 0:l.timezone)||r)}return e}})};function tl(e){let{now:t,timezone:l="+00:00",offset:n}=e,r=tn(t).utcOffset(ex(l));return n>0?[(r=r.add(1,"day").startOf("day")).format("YYYY-MM-DD"),r.clone().add(n,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]:[r.clone().subtract(-1*n-1,"day").startOf("day").format("YYYY-MM-DD"),r.clone().add(1,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]}function tn(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?o().isDayjs(e)?e:t?e0()(e):o()(e):t?e0()():o()()}function tr(e){var t;let{now:l,unit:n,timezone:r="+00:00",offset:i}=e,o=tn(l,"isoWeek"===n);o=(o=o.utcOffset(ex(r))).startOf(n),i>0?o=o.add(i,n):i<0&&(o=o.subtract(-1*i,n));let a={year:()=>o.format("YYYY"),quarter:()=>o.format("YYYY[Q]Q"),month:()=>o.format("YYYY-MM"),week:()=>o.format("gggg[w]ww"),isoWeek:()=>o.format("GGGG[W]WW"),day:()=>o.format("YYYY-MM-DD")},s=null==(t=a[n])?void 0:t.call(a);return r?s+r:s}let ti=(e,t)=>l=>{let{now:n,timezone:r,field:i}=l;return(null==i?void 0:i.timezone)&&(r=null==i?void 0:i.timezone),tr({now:n,timezone:r,unit:e,offset:t})},to=e=>t=>{let{now:l,timezone:n,field:r}=t;return(null==r?void 0:r.timezone)&&(n=null==r?void 0:r.timezone),tl({now:l,timezone:n,offset:e})};function ta(){return{now:new Date().toISOString(),today:ti("day"),yesterday:ti("day",-1),tomorrow:ti("day",1),thisWeek:ti("week"),lastWeek:ti("week",-1),nextWeek:ti("week",1),thisIsoWeek:ti("isoWeek"),lastIsoWeek:ti("isoWeek",-1),nextIsoWeek:ti("isoWeek",1),thisMonth:ti("month"),lastMonth:ti("month",-1),nextMonth:ti("month",1),thisQuarter:ti("quarter"),lastQuarter:ti("quarter",-1),nextQuarter:ti("quarter",1),thisYear:ti("year"),lastYear:ti("year",-1),nextYear:ti("year",1),last7Days:to(-7),next7Days:to(7),last30Days:to(-30),next30Days:to(30),last90Days:to(-90),next90Days:to(90)}}function ts(e){let t=e.split(".");return[t.shift(),t.join(".")]}var td=l(50467);class tu{register(e,t){if(!this.options.override&&this.map.has(e))throw Error(`this registry does not allow to override existing keys: "${e}"`);this.map.set(e,t)}get(e){return this.map.get(e)}getKeys(){return this.map.keys()}getValues(){return this.map.values()}getEntities(){return this.map.entries()}constructor(e={override:!1}){(0,td._)(this,"map",new Map),(0,td._)(this,"options",void 0),this.options=e}}l(67980);let tc=Symbol.for("nocobase.utils.sesLockdown"),tp=Symbol.for("nocobase.utils.bufferOverrides"),th=["globalThis","global","self","Function","AsyncFunction","GeneratorFunction","eval","Compartment","lockdown","harden","assert"];function tm(e){return!!e&&"object"==typeof e&&(e.message||"").includes("(SES_ALREADY_LOCKED_DOWN)")}function tf(){let e=globalThis;if(e[tp])return;let t=e.Buffer;if(!t||!t.prototype)return;let l=t.prototype;for(let e of Reflect.ownKeys(l)){let t=Object.getOwnPropertyDescriptor(l,e);if(!t||"function"!=typeof t.value||!t.configurable)continue;let n=t.value,r=function(){return n},i=function(t){if(this===l)throw TypeError(`Cannot assign to read only property '${String(e)}' of object 'Buffer.prototype'`);Object.defineProperty(this,e,{configurable:!0,enumerable:!0,writable:!0,value:t})};Object.defineProperty(r,"originalValue",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(l,e,{configurable:t.configurable,enumerable:t.enumerable,get:r,set:i})}e[tp]=!0}function tg(e){tf();let t=globalThis;if(!t[tc]){if("function"!=typeof lockdown)throw Error("SES lockdown is unavailable in the current runtime environment.");try{lockdown(e)}catch(e){if(!tm(e))throw e}t[tc]=!0}}function tv(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}var ty=l(65606);let tb=e=>{for(;e;){var t;if("root"===e.id||(null==(t=e.classList)?void 0:t.contains("nb-action")))return!1;e=e.parentNode}return!ty.env.__TEST__};function tx(e,t){return e.replace(/\{\{(\w+)\}\}/g,function(e,l){return void 0!==t[l]?t[l]:e})}let tw=36,tS="";for(;tw--;)tS+=tw.toString(36);function tM(e){let t="",l=e||11;for(;l--;)t+=tS[36*Math.random()|0];return t}function tA(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}var tF=l(27153),tk="2.1.21";let tC=(e,t)=>{if(!e)return e;if("Grid"!==e["x-component"])return Object.keys(e.properties||{}).forEach(l=>{e.properties[l]=tC(e.properties[l],t)}),e;let l=e.parent;e=e.toJSON?e.toJSON():r().cloneDeep(e);let n={},{properties:i={}}=e,o=0;if(Object.keys(i).forEach((e,l)=>{let a=i[e];if("Grid.Row"!==a["x-component"]){a["x-index"]=++o,n[e]=a;return}if(a.properties){if(1===Object.keys(a.properties).length){a["x-index"]=++o,n[e]=a;return}Object.keys(a.properties).forEach((l,i)=>{let s=a.properties[l];if(r().set(s,"x-component-props.width",100),0===i){a["x-index"]=++o,n[e]=a;return}null!=t&&t(s)||(delete a.properties[l],n[`${tM()}_${l}`]=tP(s,l,++o))})}}),e.properties=n,l){let t=new tF.S(e,l);return l.properties&&Object.keys(l.properties).forEach(n=>{n===e.name&&(l.properties[n]=t)}),t}return e};function tP(e,t,l){return{type:"void",version:"2.0","x-component":"Grid.Row","x-app-version":tk,"x-uid":tM(),"x-async":!1,"x-index":l,_isJSONSchemaObject:!0,properties:{[t]:e}}}function tj(e){let t=new Set,l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,r=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g;for(;null!==(e=i.exec(r));)t.add(e[1]);let o=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]/g;for(;null!==(n=o.exec(r));)t.add(n[2])}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}function tE(e){let t={},l=e=>{if("string"==typeof e){let l,n=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(l=n.exec(e));){let e,n,r=l[1],i=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)([^\s)]*)/g;for(;null!==(e=i.exec(r));){let l=e[1],n=e[2]||"";if(t[l]=t[l]||[],n.startsWith("."))t[l].push(n.slice(1));else if(n.startsWith("[")){let e=n.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(e){let n=e[2],r=e[3]||"";t[l].push(`${n}${r}`)}else{let e=n.match(/^\[(\d+)\](.*)$/);if(e){let n=e[1],r=e[2]||"";t[l].push(`[${n}]${r}`)}}}else n.startsWith("(")&&!t[l].length&&t[l].push("")}let o=/ctx\[\s*(["'])\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\1\s*\]([^\s)]*)/g;for(;null!==(n=o.exec(r));){let e=n[2],l=n[3]||"";if(t[e]=t[e]||[],l.startsWith("."))t[e].push(l.slice(1));else if(l.startsWith("[")){let n=l.match(/^\[\s*(["'])\s*([^'"\]]+)\s*\1\s*\](.*)$/);if(n){let l=n[2],r=n[3]||"";t[e].push(`${l}${r}`)}else{let n=l.match(/^\[(\d+)\](.*)$/);if(n){let l=n[1],r=n[2]||"";t[e].push(`[${l}]${r}`)}}}else l.startsWith("(")&&!t[e].length&&t[e].push("")}}}else Array.isArray(e)?e.forEach(l):e&&"object"==typeof e&&Object.values(e).forEach(l)};return l(e),t}let tR=new(l(23155)).HX;function tI(){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 r=e[t];t===e.length-1?n[r]=`{{${l}}}`:(n[r]=n[r]||{},n=n[r])}}return t}async function tT(e){return tI(await tR.fullVariables(e))}async function t_(e,t){return await tR.parseAndRender(e,{ctx:t})}function tD(e){let t=1,l={};return{sql:e.replace(/{{\s*([^}]+)\s*}}/g,(e,n)=>{let r=`__var${t}`;return l[r]=`{{${n.trim()}}}`,t++,`$${r}`}),bind:l}}async function tN(e){let{sql:t,bind:l}=tD(e),n=await tT(t);return{sql:t,bind:l,liquidContext:n}}},59598(){},23005(){},14892(){},2813(){},9845(){}};import{__webpack_require__}from"./runtime-72080663.js";var __webpack_exec__=function(e){return __webpack_require__(__webpack_require__.s=e)};import*as __rspack_chunk_1 from"./vendor-antd-ecosystem-de737eca.js";__webpack_require__.C(__rspack_chunk_1);import*as __rspack_chunk_2 from"./vendor-moment-84b317dc.js";__webpack_require__.C(__rspack_chunk_2);import*as __rspack_chunk_3 from"./vendor-lodash-905dd3b8.js";__webpack_require__.C(__rspack_chunk_3);import*as __rspack_chunk_4 from"./vendor-ses-b7bccbcd.js";__webpack_require__.C(__rspack_chunk_4);import*as __rspack_chunk_5 from"./vendor-antd-icons-97ed2369.js";__webpack_require__.C(__rspack_chunk_5);import*as __rspack_chunk_6 from"./vendor-antd-f8c3ace1.js";__webpack_require__.C(__rspack_chunk_6);import*as __rspack_chunk_7 from"./2025-87ab227c.js";__webpack_require__.C(__rspack_chunk_7);import*as __rspack_chunk_8 from"./index-6c96ba28.js";__webpack_require__.C(__rspack_chunk_8),__webpack_exec__(22414);