@nocobase/app 2.4.0-alpha.4 → 2.4.0-alpha.5

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-9d64e1d0.js.LICENSE.txt */
1
+ /*! For license information please see index-6bfe35e6.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},18467(e,t,l){let n,r,i;var o,a,s,u,d,c,p,h,f,m={};l.r(m),l.d(m,{default:()=>iV,evaluators:()=>iL,getOptions:()=>iq});var g={};l.r(g),l.d(g,{array:()=>ot,bigField:()=>oc,boolean:()=>os,collection:()=>od,datetime:()=>on,enumType:()=>oo,id:()=>oi,number:()=>or,object:()=>ol,string:()=>oe,tableoid:()=>ou,time:()=>oa});var v={};l.r(v),l.d(v,{connectFields:()=>fr,customizeFilterRender:()=>ff,defaultOperator:()=>fd,operatorComponentProps:()=>fg});var y={};l.r(y),l.d(y,{ASSIGN_FIELD_VALUES_STEP_KEY:()=>dP.zL,ActionGroupModel:()=>sX,ActionModel:()=>s0.S0,ActionSceneEnum:()=>s0.s5,ActionWithoutPermission:()=>s0._T,AddChildActionModel:()=>d4,AddNewActionModel:()=>dn,AssignFormGridModel:()=>ce,AssignFormItemModel:()=>cM,AssignFormModel:()=>d6,AssociateActionModel:()=>df,AssociationFieldGroupModel:()=>s1,AssociationFieldModel:()=>cq,BasePageTabModel:()=>u8,BlockGridModel:()=>uI,BlockModel:()=>u_.z,BlockSceneEnum:()=>u_.P,BulkDeleteActionModel:()=>dm,CascadeSelectFieldModel:()=>vR,CascadeSelectInnerFieldModel:()=>vj,CascadeSelectListFieldModel:()=>vT,CheckboxFieldModel:()=>v3,CheckboxGroupFieldModel:()=>v6,ChildPageModel:()=>uG,ChildPageTabModel:()=>u6,ClickableFieldModel:()=>vf,CollectionActionGroupModel:()=>sQ,CollectionActionModel:()=>uD.U,CollectionBlockModel:()=>uN.t,CollectionSelectorFieldModel:()=>ye,ColorFieldModel:()=>yn,CommonItemModel:()=>uO,CreateContent:()=>pr,CreateFormModel:()=>fy,CustomWidth:()=>mg,DataBlockModel:()=>u$.R,DateOnlyFieldModel:()=>ym,DateOnlyFilterFieldModel:()=>pb,DateOnlyPicker:()=>yf,DateTimeFilterFieldModel:()=>pv,DateTimeNoTzFieldModel:()=>yv,DateTimeNoTzFilterFieldModel:()=>pw,DateTimeNoTzPicker:()=>yg,DateTimeTzFieldModel:()=>yw,DateTimeTzFilterFieldModel:()=>pA,DateTimeTzPicker:()=>yx,DeleteActionModel:()=>dg,DetailsAssociationFieldGroupModel:()=>ck,DetailsBlockModel:()=>cj,DetailsCustomItemModel:()=>cT,DetailsGridModel:()=>cI,DetailsItemModel:()=>cu,DetailsJSFieldItemModel:()=>c$,DetailsPagination:()=>cE,DisassociateActionModel:()=>dv,DisplayCheckboxFieldModel:()=>xp,DisplayColorFieldModel:()=>bU,DisplayDateTimeFieldModel:()=>bY,DisplayEnumFieldModel:()=>bQ,DisplayHtmlFieldModel:()=>b0,DisplayIconFieldModel:()=>b1,DisplayJSONFieldModel:()=>b4,DisplayNumberFieldModel:()=>xr,DisplayPasswordFieldModel:()=>xo,DisplayPercentFieldModel:()=>xa,DisplaySubItemFieldModel:()=>bL,DisplaySubListFieldModel:()=>bK,DisplaySubTableFieldModel:()=>bB,DisplayTextFieldModel:()=>xs,DisplayTimeFieldModel:()=>xd,DisplayTitleFieldModel:()=>b_,DisplayURLFieldModel:()=>xu,DividerItemModel:()=>bF,EditActionModel:()=>dy,EditFormContent:()=>vz,EditFormModel:()=>cd.EditFormModel,ExpandCollapseActionModel:()=>d1,FieldDeletePlaceholder:()=>mp,FieldModel:()=>aV.o,FieldModelSelect:()=>pN,FieldOperatorSelect:()=>p0,FieldWithoutPermissionPlaceholder:()=>mh,FilterActionModel:()=>dw,FilterBlockModel:()=>uB,FilterFormActionGroupModel:()=>ho,FilterFormActionModel:()=>hi,FilterFormBlockModel:()=>hR,FilterFormCollapseActionModel:()=>hN,FilterFormCustomFieldModel:()=>p3,FilterFormCustomItemModel:()=>p1,FilterFormCustomRecordSelectFieldModel:()=>hr,FilterFormFieldModel:()=>cB,FilterFormGridModel:()=>h5,FilterFormItemModel:()=>h2,FilterFormJSActionModel:()=>h4,FilterFormRecordSelectFieldModel:()=>pm,FilterFormResetActionModel:()=>h8,FilterFormSubmitActionModel:()=>fe,FilterManager:()=>ud,FormActionGroupModel:()=>dT,FormActionModel:()=>dE,FormAssociationFieldGroupModel:()=>fD,FormAssociationItemModel:()=>fq,FormBlockContent:()=>d3.JU,FormBlockModel:()=>d3.F4,FormComponent:()=>d3.s2,FormCustomItemModel:()=>fb,FormGridModel:()=>d9,FormItemModel:()=>cg,FormJSFieldItemModel:()=>fx,FormModel:()=>d3.mO,FormSubmitActionModel:()=>dR,GRID_FLOW_KEY:()=>uS,GRID_STEP:()=>uA,GridModel:()=>uC,IconFieldModel:()=>yF,InputFieldModel:()=>yC.m,InputNumberField:()=>yB,JSActionModel:()=>dF,JSBlockModel:()=>fQ,JSCollectionActionModel:()=>dC,JSColumnModel:()=>m7,JSEditableFieldModel:()=>bS,JSFieldModel:()=>bd,JSFormActionModel:()=>fw,JSItemActionModel:()=>dO,JSItemModel:()=>bT,JSRecordActionModel:()=>d$,JsonFieldModel:()=>n,JsonInput:()=>yD,LinkActionModel:()=>d0,MainPageModel:()=>uQ,MarkdownItemModel:()=>bR,NBColorPicker:()=>yl,NumberFieldModel:()=>yL,ObjectNester:()=>g6,PageModel:()=>uH,PageTabModel:()=>u9,PasswordFieldModel:()=>yq,PercentFieldModel:()=>yU,PercentInput:()=>yK,PluginSettingsTopbarActionModel:()=>nR,PopupActionModel:()=>dt,PopupCollectionActionModel:()=>dB,PopupSubTableActionGroupModel:()=>vZ,PopupSubTableActionsColumnModel:()=>v2,PopupSubTableEditActionModel:()=>vU,PopupSubTableFieldModel:()=>vX,PopupSubTableFormActionGroupModel:()=>dD,PopupSubTableFormModel:()=>v5,PopupSubTableFormSubmitActionModel:()=>d_,PopupSubTableRemoveActionModel:()=>vQ,QUICK_EDIT_FORM_MAX_HEIGHT:()=>fA,QUICK_EDIT_MARKDOWN_HEIGHT:()=>fM,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>fS,QuickEditFormModel:()=>f_,RadioGroupFieldModel:()=>yW,RecordActionGroupModel:()=>sZ,RecordActionModel:()=>dl.L,RecordPickerContent:()=>gF,RecordPickerFieldModel:()=>gP,RecordSelectFieldModel:()=>pu,RefreshActionModel:()=>dL,RichTextField:()=>y1,RichTextFieldModel:()=>r,RootPageModel:()=>u7,RootPageTabModel:()=>u3,RouteModel:()=>ex,SelectFieldModel:()=>y7,SourceCascader:()=>p5,SubFormFieldModel:()=>g9,SubFormListFieldModel:()=>ve,SubPageModel:()=>de,SubTableColumnModel:()=>gG,SubTableFieldModel:()=>g4,SubTableRecordAction:()=>vK,TABLE_COLUMN_MIN_WIDTH:()=>mf,TableActionsColumnModel:()=>mk,TableAssociationFieldGroupModel:()=>mF,TableBlockModel:()=>mZ,TableColumnModel:()=>my,TableCustomColumnModel:()=>mb,TableJSFieldItemModel:()=>m6,TableSelectModel:()=>m3,TextareaFieldModel:()=>i,TimeFieldModel:()=>ba,TopbarActionModel:()=>nk,UIEditorTopbarActionModel:()=>nE,USER_CENTER_ACTION_ID:()=>nT,UnitConversion:()=>xi,UpdateRecordActionModel:()=>dH,UserCenterActionItemModel:()=>nq,UserCenterItemModel:()=>nB,UserCenterSelectItemModel:()=>nV,UserCenterTextItemModel:()=>nL,UserCenterTopbarActionModel:()=>nY,VariableFieldFormModel:()=>bs,ViewActionModel:()=>dY,applyAssociateAction:()=>dc,applyClickToOpenProps:()=>vc,applyClickToOpenSetting:()=>vh,applyDisassociateAction:()=>dd,buildDisplayPathFromValue:()=>vA,buildRecordPickerParentItemContext:()=>gS,buildRecordPickerPopupContextInputArgs:()=>gM,canRecordPickerSelectMultiple:()=>gm,collectCascadeHydrationCandidate:()=>vw,connectFields:()=>fr,createAssignFieldValuesStep:()=>dP.KW,createAssignFormSubModelOptions:()=>dP.nF,customizeFilterRender:()=>ff,defaultOperator:()=>fd,findOptionPathByTk:()=>vM,formatNumber:()=>xl,getAllDataModels:()=>ur,getAssignFieldValuesDefaultParams:()=>dP.Z1,getAssociationBlockResourceSettings:()=>dr,getAssociationSelectAssociatedRecordsFilter:()=>m8,getAssociationSelectForeignKeyFilter:()=>m4,getAssociationSelectorContextInputArgs:()=>ds,getAssociationTargetResourceSettings:()=>da,getDefaultOperator:()=>ul,getDetailsItemValue:()=>ca,getDisplayNumber:()=>xn,getFilterFormOperatorList:()=>ue,getFilterFormOperatorMeta:()=>ut,getQuickEditFieldProps:()=>fE,getRecordPickerClearedValue:()=>gb,getRecordPickerEmptyValue:()=>gy,getTopbarPluginSettingsItems:()=>nM,getValueWithIndex:()=>co,injectRecordPickerPopupContext:()=>gA,isAssociationBlockContext:()=>di,isFilterValueEmpty:()=>un,joinUrlSearch:()=>dJ,markCascadeHydrationDone:()=>vS,mergeAssignFieldValues:()=>dP.GO,normalizeRecordPickerSelectedRows:()=>gv,normalizeRecordPickerValue:()=>gx,normalizeTableColumnWidth:()=>mm,operatorComponentProps:()=>fg,recalculateGridSizes:()=>uj,refreshClickToOpenRuntime:()=>vp,resolveAssignFieldValues:()=>dP.eu,resolveCustomFieldOperatorList:()=>pX,resolveDefaultCustomFieldOperator:()=>pQ,shouldClearRecordPickerValueOnMultipleChange:()=>gg,tableRowActionsClassName:()=>mS,toOperatorSelectOptions:()=>pZ,transformNestedData:()=>va,transformRowsToSingleColumn:()=>uP});var b={};l.r(b),l.d(b,{aclCheck:()=>wt,aclCheckRefresh:()=>wo,actionLinkageRules:()=>At,afterSuccess:()=>aB,blockHeight:()=>w8,blockLinkageRules:()=>Ae,confirm:()=>aL,customVariable:()=>xI,dataLoadingMode:()=>x5,dataScope:()=>sY,dateRangeLimit:()=>x0,dateTimeFormat:()=>xX,detailsFieldLinkageRules:()=>Ao,displayFieldComponent:()=>x9,fieldComponent:()=>x7,fieldLinkageRules:()=>Ar,filterFormDefaultValues:()=>w0,fixed:()=>wh,formAssignRules:()=>wQ,layout:()=>x8,linkageAssignField:()=>S5,linkageRulesRefresh:()=>w1,linkageRunjs:()=>S8,linkageSetActionProps:()=>Sz,linkageSetBlockProps:()=>SL,linkageSetDetailsFieldProps:()=>SY,linkageSetFieldProps:()=>SW,linkageSetMenuItemProps:()=>SK,linkageSetTabProps:()=>SU,menuLinkageRules:()=>Al,navigateToURL:()=>xR,numberFormat:()=>Ad,openView:()=>xA,overflowMode:()=>As,pattern:()=>wd,refreshTargetBlocks:()=>x$,renderMode:()=>x4,required:()=>x3,runjs:()=>xM,setTargetDataScope:()=>xK,showMessage:()=>xC,showNotification:()=>xE,sortingRule:()=>x2,subFormFieldLinkageRules:()=>Ai,subFormLinkageAssignField:()=>S4,subFormLinkageSetFieldProps:()=>SH,tabLinkageRules:()=>An,titleField:()=>xY,validation:()=>wp});var x={};function w(e){return Promise.resolve(null)}l.r(x),l.d(x,{ACLContext:()=>lX.w0,ACLRolesCheckProvider:()=>lX.rR,ADMIN_LAYOUT_MODEL_UID:()=>ts,ADMIN_SETTINGS_KEY:()=>o7,ADMIN_SETTINGS_LAYOUT_MODEL_UID:()=>ny.O,ADMIN_SETTINGS_PATH:()=>ae,AIManager:()=>ed,APIClient:()=>R,APP_SWITCHER_ACTION_PANEL_MODEL_UID:()=>nQ,ASSIGN_FIELD_VALUES_STEP_KEY:()=>dP.zL,ActionGroupModel:()=>sX,ActionModel:()=>s0.S0,ActionSceneEnum:()=>s0.s5,ActionWithoutPermission:()=>s0._T,AddChildActionModel:()=>d4,AddNewActionModel:()=>dn,AdminLayoutComponent:()=>rM,AdminLayoutContent:()=>lU,AdminLayoutMenuItemModel:()=>lO,AdminLayoutMenuItemRenderer:()=>li,AdminLayoutMenuModelRenderer:()=>ls,AdminLayoutModel:()=>rO,AdminLayoutRouteCoordinator:()=>ta,AdminSettingsLayout:()=>Mi.AdminSettingsLayout,AdminSettingsLayoutModel:()=>Mo.C,AntdAppProvider:()=>J,AppError:()=>ep.uV,AppMaintaining:()=>ep.be,AppMaintainingDialog:()=>ep.tp,AppNotFound:()=>ep.bM,AppSpin:()=>ep.gv,AppSwitcherActionPanelModel:()=>Mt,Application:()=>aS,ApplicationContext:()=>aA,ApplicationModel:()=>i9,AssignFormGridModel:()=>ce,AssignFormItemModel:()=>cM,AssignFormModel:()=>d6,AssociateActionModel:()=>df,AssociationFieldGroupModel:()=>s1,AssociationFieldModel:()=>cq,AttachmentUpload:()=>ep.PJ,BaseApplication:()=>i8,BaseLayoutModel:()=>eW,BaseLayoutRouteCoordinator:()=>ej,BasePageTabModel:()=>u8,BlankComponent:()=>ep.ct,BlockGridModel:()=>uI,BlockModel:()=>u_.z,BlockSceneEnum:()=>u_.P,BulkDeleteActionModel:()=>dm,CascadeSelectFieldModel:()=>vR,CascadeSelectInnerFieldModel:()=>vj,CascadeSelectListFieldModel:()=>vT,CheckboxFieldInterface:()=>ke,CheckboxFieldModel:()=>v3,CheckboxGroupFieldInterface:()=>kt,CheckboxGroupFieldModel:()=>v6,ChildPageModel:()=>uG,ChildPageTabModel:()=>u6,ClickableFieldModel:()=>vf,CodeEditor:()=>dM.BY,CodeEditorExtension:()=>kU.o,CodeScanner:()=>ep.O5,CollectionActionGroupModel:()=>sQ,CollectionActionModel:()=>uD.U,CollectionBlockModel:()=>uN.t,CollectionFieldInterface:()=>M7,CollectionFieldInterfaceManager:()=>oG,CollectionFilter:()=>ep.px,CollectionFilterItem:()=>ep.Ql,CollectionFilterPanel:()=>ep.XO,CollectionSelect:()=>ow,CollectionSelectFieldInterface:()=>kl,CollectionSelectorFieldModel:()=>ye,ColorFieldInterface:()=>kn,ColorFieldModel:()=>yn,CommonItemModel:()=>uO,CreateContent:()=>pr,CreateFormModel:()=>fy,CreatedAtFieldInterface:()=>kr,CreatedByFieldInterface:()=>ki,CurrentUserContext:()=>ME,CustomWidth:()=>mg,DEFAULT_ADMIN_LAYOUT_ROUTE_PATH:()=>eZ,DEFAULT_DATA_SOURCE_KEY:()=>eR.Ze,DEFAULT_PAGE_SIZE:()=>ep.yQ,DataBlockModel:()=>u$.R,DateFieldInterface:()=>kB,DateOnlyFieldModel:()=>ym,DateOnlyFilterFieldModel:()=>pb,DateOnlyPicker:()=>yf,DateTimeFilterFieldModel:()=>pv,DateTimeNoTzFieldModel:()=>yv,DateTimeNoTzFilterFieldModel:()=>pw,DateTimeNoTzPicker:()=>yg,DateTimeTzFieldModel:()=>yw,DateTimeTzFilterFieldModel:()=>pA,DateTimeTzPicker:()=>yx,DatetimeFieldInterface:()=>ko,DatetimeNoTzFieldInterface:()=>kL,DefaultToolsManager:()=>eu,DeleteActionModel:()=>dg,DetailsAssociationFieldGroupModel:()=>ck,DetailsBlockModel:()=>cj,DetailsCustomItemModel:()=>cT,DetailsGridModel:()=>cI,DetailsItemModel:()=>cu,DetailsJSFieldItemModel:()=>c$,DetailsPagination:()=>cE,DialogFormLayout:()=>ep.xg,DisassociateActionModel:()=>dv,DisplayCheckboxFieldModel:()=>xp,DisplayColorFieldModel:()=>bU,DisplayDateTimeFieldModel:()=>bY,DisplayEnumFieldModel:()=>bQ,DisplayHtmlFieldModel:()=>b0,DisplayIconFieldModel:()=>b1,DisplayJSONFieldModel:()=>b4,DisplayNumberFieldModel:()=>xr,DisplayPasswordFieldModel:()=>xo,DisplayPercentFieldModel:()=>xa,DisplaySubItemFieldModel:()=>bL,DisplaySubListFieldModel:()=>bK,DisplaySubTableFieldModel:()=>bB,DisplayTextFieldModel:()=>xs,DisplayTimeFieldModel:()=>xd,DisplayTitleFieldModel:()=>b_,DisplayURLFieldModel:()=>xu,DividerItemModel:()=>bF,DragSortRowContext:()=>ep.c5,DrawerFormLayout:()=>ep.gh,EditActionModel:()=>dy,EditFormContent:()=>vz,EditFormModel:()=>cd.EditFormModel,EmailFieldInterface:()=>ka,EntryActionManager:()=>eh,EnvVariableInput:()=>ep.s9,ExpandCollapseActionModel:()=>d1,ExtendCollectionsProvider:()=>kK,FieldAssignValueInput:()=>xQ.zv,FieldDeletePlaceholder:()=>mp,FieldFilterOperatorRegistry:()=>op,FieldModel:()=>aV.o,FieldModelSelect:()=>pN,FieldOperatorSelect:()=>p0,FieldValidationConfigureRegistry:()=>oK,FieldWithoutPermissionPlaceholder:()=>mh,FileSizeInput:()=>ep.c,FilterActionModel:()=>dw,FilterBlockModel:()=>uB,FilterContent:()=>aq.oJ,FilterFormActionGroupModel:()=>ho,FilterFormActionModel:()=>hi,FilterFormBlockModel:()=>hR,FilterFormCollapseActionModel:()=>hN,FilterFormCustomFieldModel:()=>p3,FilterFormCustomItemModel:()=>p1,FilterFormCustomRecordSelectFieldModel:()=>hr,FilterFormFieldModel:()=>cB,FilterFormGridModel:()=>h5,FilterFormItemModel:()=>h2,FilterFormJSActionModel:()=>h4,FilterFormRecordSelectFieldModel:()=>pm,FilterFormResetActionModel:()=>h8,FilterFormSubmitActionModel:()=>fe,FilterGroup:()=>aq.I8,FilterItem:()=>aq.qi,FilterManager:()=>ud,FlowModelRepository:()=>Am,FlowPage:()=>xg,FlowRoute:()=>rZ,FormActionGroupModel:()=>dT,FormActionModel:()=>dE,FormAssociationFieldGroupModel:()=>fD,FormAssociationItemModel:()=>fq,FormBlockContent:()=>d3.JU,FormBlockModel:()=>d3.F4,FormComponent:()=>d3.s2,FormCustomItemModel:()=>fb,FormGridModel:()=>d9,FormItemModel:()=>cg,FormJSFieldItemModel:()=>fx,FormModel:()=>d3.mO,FormSubmitActionModel:()=>dR,GRID_FLOW_KEY:()=>uS,GRID_STEP:()=>uA,GlobalThemeProvider:()=>ea,GridModel:()=>uC,HeaderContext:()=>t3,Icon:()=>ep.In,IconFieldInterface:()=>ks,IconFieldModel:()=>yF,IconPicker:()=>eR.ar,IdFieldInterface:()=>ku,InputFieldInterface:()=>kp,InputFieldModel:()=>yC.m,InputNumberField:()=>yB,IntegerFieldInterface:()=>kh,InternalAdminSettingsLayout:()=>Mi.InternalAdminSettingsLayout,JSActionModel:()=>dF,JSBlockModel:()=>fQ,JSCollectionActionModel:()=>dC,JSColumnModel:()=>m7,JSEditableFieldModel:()=>bS,JSFieldModel:()=>bd,JSFormActionModel:()=>fw,JSItemActionModel:()=>dO,JSItemModel:()=>bT,JSRecordActionModel:()=>d$,JsonFieldInterface:()=>kf,JsonFieldModel:()=>n,JsonInput:()=>yD,JsonTextArea:()=>ep.V4,KeepAlive:()=>ep.PR,KeepAliveProvider:()=>ep.cn,LayoutContent:()=>lW,LayoutContentRoute:()=>r1,LayoutManager:()=>id,LayoutRoute:()=>r7,LinkActionModel:()=>d0,LinkageFilterItem:()=>aq.Ru,M2MFieldInterface:()=>km,M2OFieldInterface:()=>kg,MAX_MESSAGE_CHARS:()=>dM.hP,MENU_TYPE_OPTIONS:()=>lw,MINIMAL_THEME_UID:()=>Fl,MULTI_PORTAL_SETTING_NAME:()=>ny.on,MainPageModel:()=>uQ,MarkdownFieldInterface:()=>kv,MarkdownItemModel:()=>bR,MobileMenuControlContext:()=>t8,MockFlowModelRepository:()=>Af,MultipleSelectFieldInterface:()=>ky,NBColorPicker:()=>yl,NanoidFieldInterface:()=>kO,NocoBaseBuildInPlugin:()=>MO,NocoBaseBuildInPluginV2:()=>MO,NocoBaseDesktopRouteType:()=>eR.q2,NumberFieldInterface:()=>kb,NumberFieldModel:()=>yL,O2MFieldInterface:()=>kw,OBOFieldInterface:()=>kx,OHOFieldInterface:()=>kS,ObjectNester:()=>g6,OptionsEditor:()=>oq,PAGE_SIZE_OPTIONS:()=>ep.xp,PLUGIN_MANAGER_SETTING_NAME:()=>ny.Bm,PageModel:()=>uH,PageTabModel:()=>u9,PasswordFieldInterface:()=>kA,PasswordFieldModel:()=>yq,PasswordInput:()=>ep.yA,PercentFieldInterface:()=>kM,PercentFieldModel:()=>yU,PercentInput:()=>yK,PhoneFieldInterface:()=>kk,PinnedPluginListContext:()=>lZ,PinnedPluginListLite:()=>nX,Plugin:()=>aj,PluginFlowEngine:()=>Mu,PluginManager:()=>o9,PluginManagerPage:()=>Ma.PluginManagerPage,PluginSettingsManager:()=>al,PluginSettingsTopbarActionModel:()=>nR,PopupActionModel:()=>dt,PopupCollectionActionModel:()=>dB,PopupSubTableActionGroupModel:()=>vZ,PopupSubTableActionsColumnModel:()=>v2,PopupSubTableEditActionModel:()=>vU,PopupSubTableFieldModel:()=>vX,PopupSubTableFormActionGroupModel:()=>dD,PopupSubTableFormModel:()=>v5,PopupSubTableFormSubmitActionModel:()=>d_,PopupSubTableRemoveActionModel:()=>vQ,PoweredBy:()=>ep.G5,QUICK_EDIT_FORM_MAX_HEIGHT:()=>fA,QUICK_EDIT_MARKDOWN_HEIGHT:()=>fM,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>fS,QuickEditFormModel:()=>f_,RadioGroupFieldInterface:()=>kF,RadioGroupFieldModel:()=>yW,RangeValidationItems:()=>oz,RecordActionGroupModel:()=>sZ,RecordActionModel:()=>dl.L,RecordPickerContent:()=>gF,RecordPickerFieldModel:()=>gP,RecordSelectFieldModel:()=>pu,RefreshActionModel:()=>dL,RemoteFlowModelRenderer:()=>xv,RemoteSelect:()=>ep.lT,ResetThemeTokenAndKeepAlgorithm:()=>tm,RichTextField:()=>y1,RichTextFieldInterface:()=>kC,RichTextFieldModel:()=>r,RootPageModel:()=>u7,RootPageTabModel:()=>u3,RouteModel:()=>ex,RouteRepository:()=>ic,RouterContextCleaner:()=>ep.PK,RouterManager:()=>ay,SNIPPET_PREFIX:()=>at,SYSTEM_SETTINGS_SETTING_NAME:()=>ny.jm,ScanInput:()=>ep.E5,SelectFieldInterface:()=>kP,SelectFieldModel:()=>y7,SkeletonFallback:()=>r4,SnowflakeIdFieldInterface:()=>kj,SortHandle:()=>ep.vm,SortableCategoryTabs:()=>ep.pO,SortableRow:()=>ep.B7,SourceCascader:()=>p5,SubFormFieldModel:()=>g9,SubFormListFieldModel:()=>ve,SubPageModel:()=>de,SubTableColumnModel:()=>gG,SubTableFieldModel:()=>g4,SubTableRecordAction:()=>vK,SwitchLanguage:()=>ep.rw,SystemSettingsPage:()=>Ms.SystemSettingsPage,SystemSettingsSource:()=>ef.o,TABLE_COLUMN_MIN_WIDTH:()=>mf,Table:()=>ep.XI,TableActionsColumnModel:()=>mk,TableAssociationFieldGroupModel:()=>mF,TableBlockModel:()=>mZ,TableColumnModel:()=>my,TableCustomColumnModel:()=>mb,TableJSFieldItemModel:()=>m6,TableSelectModel:()=>m3,TableoidFieldInterface:()=>kE,TextAreaWithContextSelector:()=>aR.n,TextareaFieldInterface:()=>kR,TextareaFieldModel:()=>i,TimeFieldInterface:()=>kT,TimeFieldModel:()=>ba,TopbarActionModel:()=>nk,TypedVariableInput:()=>ep.Pb,UIEditorTopbarActionModel:()=>nE,UI_OPERATION_QUERY_KEY:()=>kW,USER_CENTER_ACTION_ID:()=>nT,UUIDFieldInterface:()=>kN,UnitConversion:()=>xi,UnixTimestampFieldInterface:()=>k$,UpdateRecordActionModel:()=>dH,UpdatedAtFieldInterface:()=>kI,UpdatedByFieldInterface:()=>k_,UrlFieldInterface:()=>kD,UserCenterActionItemModel:()=>nq,UserCenterItemModel:()=>nB,UserCenterSelectItemModel:()=>nV,UserCenterTextItemModel:()=>nL,UserCenterTopbarActionModel:()=>nY,VariableFieldFormModel:()=>bs,VariableFilterItem:()=>aq.Et,VariableInput:()=>ep.P8,VariableJSON:()=>ep.hJ,VariableJsonTextArea:()=>ep.jr,VariableTextArea:()=>ep.hp,ViewActionModel:()=>dY,WebSocketClient:()=>ip,aclCheck:()=>wt,aclCheckRefresh:()=>wo,actionLinkageRules:()=>At,addCustomAlgorithmToTheme:()=>el,addFieldValidationConfiguresToGroup:()=>oY,afterSuccess:()=>aB,applyAssociateAction:()=>dc,applyClickToOpenProps:()=>vc,applyClickToOpenSetting:()=>vh,applyDisassociateAction:()=>dd,applyMobilePaginationProps:()=>dq.hO,array:()=>ot,bigField:()=>oc,blockHeight:()=>w8,blockLinkageRules:()=>Ae,boolean:()=>os,browserUIOperationCodec:()=>k6,buildDisplayPathFromValue:()=>vA,buildInsertRouteSchema:()=>lT,buildLinkSettingSchema:()=>ly,buildMenuBasicSchema:()=>lS,buildMenuTitleWithIcon:()=>ld,buildRecordPickerParentItemContext:()=>gS,buildRecordPickerPopupContextInputArgs:()=>gM,buildV2SigninHref:()=>eX.cn,canRecordPickerSelectMultiple:()=>gm,collectCascadeHydrationCandidate:()=>vw,collection:()=>od,compatOldTheme:()=>ee,configurePropertiesToItems:()=>oE,confirm:()=>aL,connectFields:()=>fr,createAclSnippetAllow:()=>lX.rN,createAssignFieldValuesStep:()=>dP.KW,createAssignFormSubModelOptions:()=>dP.nF,createCompactSimpleItemRender:()=>dq.hH,createDefaultCollectionBlockTitle:()=>dq.lr,createFilterable:()=>ob,createFormRegistry:()=>ep.oV,createInsertMenuStep:()=>lC,createMockClient:()=>aP,createSettingsPathMap:()=>ny.nC,createTypedFilterable:()=>ox,customAlgorithm:()=>et,customVariable:()=>xI,customizeFilterRender:()=>ff,dataLoadingMode:()=>x5,dataScope:()=>sY,dateRangeLimit:()=>x0,dateTimeFormat:()=>xX,dateTimeFormatConfigureItems:()=>o$,datetime:()=>on,decodeUIOperation:()=>k7,defaultOperator:()=>fd,defaultTheme:()=>Z,detailsFieldLinkageRules:()=>Ao,diagnoseRunJS:()=>dM.fL,dispatchEventDeep:()=>dq.Xi,displayFieldComponent:()=>x9,editMarkdownFlow:()=>bj,encodeUIOperation:()=>Fe,enumType:()=>oo,escapeHTML:()=>l8.Z,evaluateFieldConfigureExpression:()=>ok,fieldComponent:()=>x7,fieldFilterOperatorPresets:()=>om,fieldFilterOperators:()=>of,fieldLinkageRules:()=>Ar,fieldValidationConfigureRegistry:()=>oU,filterFormDefaultValues:()=>w0,filterOperatorRegistry:()=>oh,filterRenderableSettings:()=>ny.Ui,filterVisibleSettings:()=>ny.eD,findFirstAccessiblePageRoute:()=>tr,findFirstInternalSettingsPage:()=>ny.X2,findFirstV2LandingRoute:()=>tn,findNextSiblingRoute:()=>lE,findOptionPathByTk:()=>vM,findPrevSiblingRoute:()=>lj,findSettingsByName:()=>ny.R0,fixed:()=>wh,formAssignRules:()=>wQ,formatEnvPath:()=>ep.EM,formatNumber:()=>xl,formatRunJSPreviewMessage:()=>dM.by,formatVariablePath:()=>ep.X5,getAdminLayoutMenuInitializerButton:()=>lu,getAdminLayoutMenuMovePositionOptions:()=>t6,getAdminLayoutMenuVirtualPath:()=>tN,getAdminLayoutModel:()=>r$,getAdminLayoutRoutePath:()=>e2,getAllDataModels:()=>ur,getAppVersionHTML:()=>l8.p,getAssignFieldValuesDefaultParams:()=>dP.Z1,getAssociationBlockResourceSettings:()=>dr,getAssociationSelectAssociatedRecordsFilter:()=>m8,getAssociationSelectForeignKeyFilter:()=>m4,getAssociationSelectorContextInputArgs:()=>ds,getAssociationTargetResourceSettings:()=>da,getCoreFieldConfigureState:()=>oD,getCurrentV2RedirectPath:()=>eX.vi,getDefaultOperator:()=>ul,getDefaultSettingsPath:()=>ny.C9,getDefaultV2AdminRedirectPath:()=>eX.uk,getDetailsItemValue:()=>ca,getDisplayNumber:()=>xn,getFilterFormOperatorList:()=>ue,getFilterFormOperatorMeta:()=>ut,getItemActiveColors:()=>er,getLayoutContentRouteNames:()=>eN,getLayoutModel:()=>eH,getLayoutPageRouteName:()=>eT,getLayoutPageTabRouteName:()=>eI,getLayoutPageTabViewRouteName:()=>eD,getLayoutPageViewRouteName:()=>e_,getMenuCreationDefaultParams:()=>lx,getMenuCreationUiSchema:()=>lk,getMenuEditDefaultParams:()=>lM,getMenuItems:()=>ny.gL,getMobileCompactPaginationClassName:()=>dq.NY,getModernClientPrefix:()=>eX.lb,getPinnedPluginListKeys:()=>lQ,getQuickEditFieldProps:()=>fE,getRecordPickerClearedValue:()=>gb,getRecordPickerEmptyValue:()=>gy,getRouteRuntimeVersion:()=>MG,getSidebarMenuItems:()=>ny.IA,getSidebarSelectedKey:()=>ny.xD,getSimpleModePaginationClassName:()=>dq.HZ,getTopbarPluginSettingsItems:()=>nM,getUniqueKeyFromCollection:()=>kq,getUnknownCountPaginationTotal:()=>dq.SM,getV2EffectiveBasePath:()=>eX.IE,getValueWithIndex:()=>co,hasIcon:()=>ep.cE,hasOwnSettingsPage:()=>ny.lv,icons:()=>ep.Pt,id:()=>oi,indexConfigureItems:()=>oO,injectRecordPickerPopupContext:()=>gA,insertRouteSchema:()=>lb,isAssociationBlockContext:()=>di,isFilterValueEmpty:()=>un,isLayoutContentRouteName:()=>eO,isSettingsApp:()=>Ft,isTitleField:()=>eR.ji,isTitleFieldInterface:()=>eR.w,isV2AdminRuntime:()=>e8,isV2MenuRoute:()=>tl,joinAdminLayoutRoutePath:()=>e5,joinUrlSearch:()=>dJ,languageCodes:()=>aE.A,layout:()=>x8,linkageAssignField:()=>S5,linkageRulesRefresh:()=>w1,linkageRunjs:()=>S8,linkageSetActionProps:()=>Sz,linkageSetBlockProps:()=>SL,linkageSetDetailsFieldProps:()=>SY,linkageSetFieldProps:()=>SW,linkageSetMenuItemProps:()=>SK,linkageSetTabProps:()=>SU,makeFormatVariablePath:()=>ep.nW,makeParseVariablePath:()=>ep.Dx,makeVariableRegExp:()=>ep.at,markCascadeHydrationDone:()=>vS,matchSettingsRoute:()=>ny.CM,matchesRoutePath:()=>lR,menuLinkageRules:()=>Al,mergeAssignFieldValues:()=>dP.GO,mergePaginationClassName:()=>dq.M6,navigateToURL:()=>xR,normalizeAdminLayoutMenuLegacyVariables:()=>tU,normalizeCollectionTemplateField:()=>kV,normalizeCollectionTemplateFields:()=>kz,normalizeFilterableOperators:()=>ov,normalizeLayoutRoutePath:()=>is,normalizeRecordPickerSelectedRows:()=>gv,normalizeRecordPickerValue:()=>gx,normalizeTableColumnWidth:()=>mm,normalizeV2RedirectPath:()=>eX.p7,number:()=>or,numberFormat:()=>Ad,object:()=>ol,openAdminLayoutMenuLink:()=>tJ,openView:()=>xA,openViewFlow:()=>ey,operatorComponentProps:()=>fg,overflowMode:()=>As,parseEnvPath:()=>ep.uO,parseUIOperation:()=>k9,parseVariablePath:()=>ep.h7,pattern:()=>wd,previewRunJS:()=>dM.zA,recalculateGridSizes:()=>uj,reconcileAdminLayoutMenuItems:()=>t7,redirectToV2Signin:()=>eX.y1,refreshClickToOpenRuntime:()=>vp,refreshTargetBlocks:()=>x$,registerFieldValidationConfigure:()=>oW,registerFieldValidationConfigureGroup:()=>oH,registerIcon:()=>ep.pU,registerIcons:()=>ep.K1,removeMarkdownIframes:()=>Aq.VC,removeUIOperation:()=>k0,renderMode:()=>x4,replaceRouteParams:()=>ny.uT,required:()=>x3,resolveAdminLayoutMenuDragMoveOptions:()=>le,resolveAdminLayoutMenuDragMoveOptionsFromEvent:()=>lt,resolveAdminLayoutMenuLink:()=>tW,resolveAdminRouteRuntimeTarget:()=>to,resolveAssignFieldValues:()=>dP.eu,resolveCustomFieldOperatorList:()=>pX,resolveDefaultCustomFieldOperator:()=>pQ,resolveDynamicNamePath:()=>aQ.IJ,resolveFilterOperators:()=>og,resolveUnauthenticatedSignInRoute:()=>M_,resolveV2SigninRedirect:()=>eX.l4,reverseFieldConfigureItem:()=>oL,reverseFieldConfigureItems:()=>oB,runCoreFieldConfigureEffects:()=>oN,runjs:()=>xM,setTargetDataScope:()=>xK,shouldClearRecordPickerValueOnMultipleChange:()=>gg,shouldOpenAdminRouteInNewWindow:()=>ag,shouldRenderIconInTitle:()=>lo,showMessage:()=>xC,showNotification:()=>xE,sortTopLevelSettings:()=>ny.p$,sortingRule:()=>x2,string:()=>oe,stripMarkdownIframeTags:()=>Aq.jR,stripMarkdownIframes:()=>Aq.$P,stripModernClientPrefix:()=>eX.LL,subFormFieldLinkageRules:()=>Ai,subFormLinkageAssignField:()=>S4,subFormLinkageSetFieldProps:()=>SH,tabLinkageRules:()=>An,tableRowActionsClassName:()=>mS,tableoid:()=>ou,time:()=>oa,titleField:()=>xY,toOperatorSelectOptions:()=>pZ,toRouterNavigationPath:()=>e3,toToolsMap:()=>ec,toTreeSelectItems:()=>lP,toViewStack:()=>eE,transformNestedData:()=>va,transformRowsToSingleColumn:()=>uP,useACLContext:()=>lX.bq,useACLRoleContext:()=>lX.v6,useACLSnippets:()=>lX.MK,useAclSnippets:()=>lX.K3,useAdminLayoutRoutePage:()=>Mr,useApp:()=>W.n,useAppListRender:()=>n8,useApplications:()=>n0,useAttachmentStorageRules:()=>ep.j1,useCurrentAppInfo:()=>l2.g,useCurrentRoleMode:()=>lX.GL,useCurrentRoles:()=>MT,useCurrentUserContext:()=>MR,useFilterOptions:()=>aq.uw,useFilteredMetaTree:()=>ep.a7,useGlobalTheme:()=>eo,useKeepAlive:()=>ep.Y,useLayoutRoutePage:()=>rB,useMobileLayout:()=>Mn,usePlugin:()=>l5.n,useRoleRecheck:()=>lX.N5,useRouter:()=>l4,useSettingsThemeConfig:()=>Fi,useSystemSettings:()=>ef.e,useUIConfigurationPermissions:()=>lX.uM,validation:()=>wp});var S=l(50467);l(70571);var A=l(12039),M=l(96540);let k=new Map;function F(e){return"string"==typeof e?e:"string"==typeof(null==e?void 0:e.message)?e.message:""}function C(e){k.size>10&&k.clear();let t=Date.now();return e.filter(e=>{let l=F(e);if(!l)return!1;let n=k.get(l);return(!n||!(t-n<500))&&(k.set(l,t),!0)})}function P(e,t,l){if(!l||0===t.length)return;let n=C(t);0!==n.length&&l[e]({message:n.map((e,t)=>{let l=F(e);return M.createElement("div",{key:`${t}_${l}`},l)})})}function j(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 E(){return j(-(new Date().getTimezoneOffset()/60))}class R extends A.Q9{get notification(){var e,t;return null==(t=this.app)||null==(e=t.context)?void 0:e.notification}getHostname(){var e,t;try{return new URL("/api/").hostname}catch{}return null==(t=window)||null==(e=t.location)?void 0:e.hostname}getHeaders(){let e=super.getHeaders();return this.appName&&(e["X-App"]=this.appName),e["X-Timezone"]=E(),e["X-Hostname"]=this.getHostname(),e}interceptors(){this.axios.interceptors.request.use(e=>{let t=this.getHeaders();return Object.keys(t).forEach(l=>{(0,A.bO)(e.headers,l)||(e.headers[l]=t[l])}),e}),super.interceptors(),this.useNotificationMiddleware()}handleNotificationError(e){var t;let l=null==(t=e.config)?void 0:t.skipNotify;if(l&&(!0===l||"function"==typeof l&&l(e)))throw e;let n=this.toErrMessages(e);throw Array.isArray(n)&&P("error",n,this.notification),e}useNotificationMiddleware(){this.axios.interceptors.response.use(e=>{var t;let l=null==(t=e.data)?void 0:t.messages;return Array.isArray(l)&&P("success",l,this.notification),e},this.handleNotificationError.bind(this))}constructor(...e){super(...e),(0,S._)(this,"app",void 0)}}var T=l(58587),I=l(18150),_=l(68238),D=l(74848),N=l(95243),O=l(11869),$=l(40098),B=l.n($),L=l(5338),q=l(52230),V=l(47665),z=l(84976),K=l(47767),U=l(44363),W=l(36098),H=l(88040);let Y=(0,M.memo)(e=>{let{children:t}=e,l=(0,W.n)(),{notification:n}=H.A.useApp();return(0,M.useLayoutEffect)(()=>{l.context.defineProperty("notification",{value:n})},[l,n]),(0,D.jsx)(D.Fragment,{children:t})});Y.displayName="AppInner";let G=e=>{let{children:t,className:l,style:n}=e;return(0,D.jsx)(H.A,{className:l,style:{height:"100%",...n},children:(0,D.jsx)(Y,{children:t})})};G.displayName="AntdAppProvider";let J=G;var X=l(35710),Q=l(43155);let Z={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}},ee=function(e){var t;return(null==(t=e.token)?void 0:t.colorSettings)||(e.token={...e.token,...Z.token}),e},et=(e,t)=>{var l,n,r,i,o,a,s,u,d,c,p,h;let f=t||X.A.defaultAlgorithm(e);return(l=f).paddingPageHorizontal??(l.paddingPageHorizontal=f.sizeLG),(n=f).paddingPageVertical??(n.paddingPageVertical=f.sizeLG),(r=f).paddingPopupHorizontal??(r.paddingPopupHorizontal=f.sizeLG),(i=f).paddingPopupVertical??(i.paddingPopupVertical=f.size),(o=f).marginBlock??(o.marginBlock=f.sizeLG),(a=f).borderRadiusBlock??(a.borderRadiusBlock=f.borderRadiusLG),(s=f).colorBgSider??(s.colorBgSider=f.colorBgElevated),(u=f).colorBgSiderMenuHover??(u.colorBgSiderMenuHover=f.colorBgTextHover||f.colorFillSecondary),(d=f).colorBgSiderMenuActive??(d.colorBgSiderMenuActive=f.colorPrimaryBg),(c=f).colorTextSiderMenu??(c.colorTextSiderMenu=f.colorText),(p=f).colorTextSiderMenuHover??(p.colorTextSiderMenuHover=f.colorText),(h=f).colorTextSiderMenuActive??(h.colorTextSiderMenuActive=f.colorPrimary),f},el=e=>(Array.isArray(e.algorithm)?e.algorithm.includes(et)||e.algorithm.push(et):e.algorithm=[e.algorithm,et].filter(Boolean),e.algorithm=e.algorithm.filter(Boolean),e);var en=l(22803);function er(e){let t=e;return{bg:t.colorBgItemActive||e.controlItemBgActive,color:t.colorTextItemActive||void 0}}(0,en.injectGlobal)`
3
3
  .ant-form-item-label > label {
4
4
  font-weight: 600;
@@ -441,7 +441,7 @@ export const __rspack_esm_id="8410";export const __rspack_esm_ids=["8410"];expor
441
441
  padding: 0;
442
442
  overflow: hidden;
443
443
  }
444
- `,rP={token:{colorSplit:"rgba(255, 255, 255, 0.1)"}};function rj(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 rE=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)"}),rR=()=>null,rT=e=>"function"==typeof(null==e?void 0:e.getActionId)?e.getActionId():(null==e?void 0:e.actionId)||(null==e?void 0:e.uid)||"",rI="plugin-settings",r_=M.memo(e=>{let{allow:t}=(0,rk.K)(),{token:l}=X.A.useToken(),n=l,r=(0,M.useMemo)(()=>rj(e.actions,t),[t,e.actions]),i=r.filter(e=>{let t=rT(e);return t!==rI&&t!==nT}),o=r.find(e=>rT(e)===rI),a=r.find(e=>rT(e)===nT);return(0,D.jsxs)("div",{className:rF,style:rE(n),children:[(0,D.jsx)("div",{className:"nb-topbar-actions-list",onClick:e.onActionClick,children:i.map(e=>(0,D.jsx)(V.tH,{FallbackComponent:rR,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,D.jsx)(O.FlowModelRenderer,{model:e})},e.uid))}),(0,D.jsx)(Q.Ay,{theme:rP,children:(0,D.jsx)(lY.A,{type:"vertical"})}),(0,D.jsxs)("div",{className:"nb-topbar-utility-actions-list",children:[o?(0,D.jsx)("span",{className:"nb-topbar-plugin-settings-action",onClick:e.onActionClick,children:(0,D.jsx)(V.tH,{FallbackComponent:rR,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,D.jsx)(O.FlowModelRenderer,{model:o})},o.uid)}):null,(0,D.jsx)(ne,{}),a?(0,D.jsx)(V.tH,{FallbackComponent:rR,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,D.jsx)(O.FlowModelRenderer,{model:a})},a.uid):null]})]})});r_.displayName="TopbarActionsContent";let rD=M.memo(e=>{let{token:t}=X.A.useToken(),l=t,[n,r]=(0,M.useState)(!1),i=(0,M.useCallback)(()=>{r(!1)},[]);return e.isMobile?(0,D.jsx)(lm.A,{rootClassName:rC,content:(0,D.jsx)(r_,{actions:e.actions,onActionClick:i}),color:l.colorBgHeader,trigger:"click",open:n,onOpenChange:r,children:(0,D.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,D.jsx)(lf.A,{style:{color:l.colorTextHeaderMenu,fontSize:20}})})}):(0,D.jsx)(r_,{actions:e.actions})});rD.displayName="TopbarActionsBar";let rN=e=>{let{children:t,model:l}=e,n=(0,O.useFlowEngine)(),r=(0,W.n)(),i=(0,K.useNavigate)(),o=(0,K.useLocation)(),a=(0,K.useMatches)(),[s,u]=(0,M.useState)(!1),d=(0,M.useRef)(!1),c=n.context.routeRepository,p=null==l?void 0:l.layout,h=null==p?void 0:p.uid,f=null==p?void 0:p.routeName,m=null==p?void 0:p.routePath,g=null==p?void 0:p.authCheck,v=(0,M.useMemo)(()=>{if(h||f||m||void 0!==g)return{authCheck:g,routeName:f,routePath:m||"",uid:h}},[g,f,m,h]),y=e2(v),b=(null==v?void 0:v.routeName)||"admin",x=(0,M.useMemo)(()=>({routePath:y}),[y]),w=(0,M.useMemo)(()=>e3(o.pathname,r.router.getBasename())===y,[r,y,o.pathname]),S=(0,M.useMemo)(()=>{var e,t;let l=a[a.length-1];if(!eO(b,null==l?void 0:l.id))return"";let n=a.find(e=>e.id===b);return(null==(e=l.params)?void 0:e.name)||(null==(t=(0,O.parsePathnameToViewParams)(o.pathname,{basePath:(null==n?void 0:n.pathname)||y})[0])?void 0:t.viewUid)||""},[b,y,o.pathname,a]);return((0,M.useEffect)(()=>{d.current=!1},[o.pathname,o.search,o.hash,S]),(0,M.useEffect)(()=>{var e;let t=!0,l=null==c||null==(e=c.activateLayout)?void 0:e.call(c,v);return(async()=>{var e,l,n,o,a;if(u(!1),!w&&!S){t&&u(!0);return}if(!(null==c||null==(e=c.isAccessibleLoaded)?void 0:e.call(c)))try{await (null==c||null==(n=c.ensureAccessibleLoaded)?void 0:n.call(c))}catch(e){t&&u(!0);return}if(!t||d.current)return;if(S){let e=null==c||null==(o=c.getRouteBySchemaUid)?void 0:o.call(c,S);if((null==e?void 0:e.type)===eR.q2.page){let t=to({app:r,route:e,layout:x,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===t.navigationMode&&t.runtimePath){d.current=!0,window.location.replace(t.runtimePath);return}}let l=e||null==c||null==(a=c.getRouteById)?void 0:a.call(c,S);if(!e&&(null==l?void 0:l.type)===eR.q2.group){let e=to({app:r,route:l,layout:x});if(e.runtimePath)return(d.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):i(e3(e.runtimePath,r.router.getBasename()),{replace:!0})}t&&u(!0);return}let s=tn((null==c||null==(l=c.listAccessible)?void 0:l.call(c))||[]);if(!s){t&&u(!0);return}let p=to({app:r,route:s,layout:x});if(!p.runtimePath){t&&u(!0);return}(d.current=!0,"document"===p.navigationMode)?window.location.replace(p.runtimePath):i(e3(p.runtimePath,r.router.getBasename()),{replace:!0})})(),()=>{t=!1,null==l||l()}},[r,n,w,v,x,o.hash,o.pathname,o.search,i,S,c]),s)?(0,D.jsx)(D.Fragment,{children:t}):null};class rO extends eW{refreshMenuRouteTree(){this.menuRouteRefreshVersion+=1}syncMenuRoutes(e){t7(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(lu("schema-initializer-Menu-header",this)):t.unshift(lu("schema-initializer-Menu-header",this))),{path:"/",children:t}}createRouteCoordinator(){return new ta(this.flowEngine,this.getRouteCoordinatorOptions())}render(){return(0,D.jsx)(rN,{model:this,children:(0,D.jsx)(rM,{...this.props,model:this})})}constructor(e){super(e),(0,S._)(this,"menuRouteRefreshVersion",0),(0,N.define)(this,{menuRouteRefreshVersion:N.observable.ref})}}function r$(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eH(e,ts,{...t,use:t.use||rO});if(!l&&t.required)throw Error("[NocoBase] FlowRoute requires admin-layout-model. Please render FlowRoute under AdminLayout.");return l}function rB(e){let{flowEngine:t,pageUid:l,active:n,refreshDesktopRoutes:r,layoutContentRef:i,getLayoutModel:o}=e,a=o(t),s=(0,M.useRef)(n),u=(0,M.useRef)(r);if(!a)throw Error("[NocoBase] FlowRoute requires layout model. Please render FlowRoute under Layout.");return s.current=n,u.current=r,(0,M.useEffect)(()=>(a.registerRoutePage(l,{active:s.current??!1,refreshDesktopRoutes:u.current,layoutContentElement:i.current}),()=>{a.unregisterRoutePage(l)}),[a,l,i]),(0,M.useEffect)(()=>{a.updateRoutePage(l,{active:n,refreshDesktopRoutes:r,layoutContentElement:i.current})},[n,a,l,r,i]),a}rO.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,D.jsx)(rD,{actions:l,isMobile:null==e?void 0:e.isMobile},"topbar-actions")]}}}});var rL=l(10159);let rq=e=>{e.context.defineProperty("deviceType",{get:()=>"browser"===rL.deviceType?"computer":rL.deviceType,cache:!1,meta:{type:"string",title:e.translate("Current device type"),interface:"select",uiSchema:{enum:[{label:e.translate("Computer"),value:"computer"},{label:e.translate("Mobile"),value:"mobile"},{label:e.translate("Tablet"),value:"tablet"},{label:e.translate("SmartTv"),value:"smarttv"},{label:e.translate("Console"),value:"console"},{label:e.translate("Wearable"),value:"wearable"},{label:e.translate("Embedded"),value:"embedded"}],"x-component":"Select"}},info:{description:"Current device type (computer/mobile/tablet/...).",detail:"string"}})},rV=e=>r$(e,{required:!0}),rz=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.uid)?eH(e,l.uid,{required:!0}):rV(e)},rK=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.routeName)&&"admin"!==l.routeName?"notFound":"redirect"},rU=e=>(null==e?void 0:e.authCheck)!==!1,rW=(e,t)=>{if(Array.isArray(e))for(let l of e){if(l.type!==eR.q2.group&&l.schemaUid===t||l.type===eR.q2.group&&null!=l.id&&String(l.id)===t)return l;let e=rW(l.children,t);if(e)return e}},rH=(e,t)=>{var l,n;let r=null==e||null==(l=e.getRouteBySchemaUid)?void 0:l.call(e,t);return r&&r.type!==eR.q2.group?r:rW(null==e||null==(n=e.listAccessible)?void 0:n.call(e),t)},rY=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},rG=e=>{let{pageUid:t,active:l,getLayoutModel:n}=e,r=(0,O.useFlowEngine)(),{active:i}=(0,lB.Y)(),o=r.context.routeRepository,a=M.useMemo(()=>null==o?void 0:o.refreshAccessible.bind(o),[o]),s=(0,M.useRef)(null);return(0,M.useEffect)(()=>{r.context.getPropertyOptions("deviceType")||rq(r)},[r]),rB({flowEngine:r,pageUid:t,active:l??i,refreshDesktopRoutes:a,layoutContentRef:s,getLayoutModel:n}),(0,D.jsx)("div",{ref:s})},rJ=(e,t)=>{let l=e.getPublicPath(),n=window.location.pathname.startsWith(l)?window.location:t,r=n.pathname.startsWith(l)?n.pathname.slice(l.length):n.pathname.replace(/^\/+/,"");return`${(0,eX.LL)(l)}${r}${n.search}${n.hash}`},rX=e=>{let{app:t,location:l}=e,{t:n}=(0,eJ.B)(),r=`/${(0,eX.lb)()}/`,i=e=>e.replaceAll("{{modernClientPath}}",r);return(0,D.jsx)(eY.Ay,{status:"warning",title:i(n("This page is not supported in the {{modernClientPath}} branch")),subTitle:i(n("The {{modernClientPath}} branch only supports new pages. This page is a legacy page. Please open it from the original entry.")),extra:(0,D.jsx)(eG.Ay,{href:rJ(t,l),type:"primary",children:n("Open from the original entry")})})},rQ=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{active:t,getLayoutModel:l,legacyPageBehavior:n,pageUid:r}=e,i=(0,O.useFlowEngine)(),o=(0,O.useFlowContext)(),a=null==o?void 0:o.layout,s=(0,M.useMemo)(()=>null==l?void 0:l(i),[i,l]),u=a||(null==s?void 0:s.layout),d=null==u?void 0:u.uid,c=null==u?void 0:u.routeName,p=null==u?void 0:u.routePath,h=null==u?void 0:u.authCheck,f=(0,M.useMemo)(()=>{if(d||c||p||void 0!==h)return{authCheck:h,routeName:c,routePath:p,uid:d}},[h,c,p,d]),m=(0,M.useMemo)(()=>l||(e=>rz(e,f)),[l,f]),g=n||rK(i,f),v=(0,W.n)(),y=(0,K.useLocation)(),b=(0,K.useNavigate)(),x=i.context.routeRepository,w=(0,K.useParams)(),S=r||(null==w?void 0:w.name),A=void 0!==(null==w?void 0:w.tabUid)||void 0!==(null==w?void 0:w["*"]),k=!x,[F,C]=(0,M.useState)({pageUid:void 0,pending:!0,allowBridge:!1,notFound:!1}),P=(0,M.useRef)(!1),j=(0,M.useRef)(0);if(!S)throw Error("[NocoBase] FlowRoute requires pageUid or route.params.name.");return(0,M.useEffect)(()=>{P.current=!1},[y.hash,y.pathname,y.search,S]),(0,M.useEffect)(()=>{let e=!0,t=++j.current,l=rU(f);return(async()=>{var n,r,o,a;if(C({pageUid:S,pending:!0,allowBridge:!1,notFound:!1}),l&&!k&&!(null==x||null==(n=x.isAccessibleLoaded)?void 0:n.call(x)))try{await (null==x||null==(r=x.ensureAccessibleLoaded)?void 0:r.call(x))}catch(l){e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});return}if(!e||t!==j.current)return;let s=k||!l?void 0:rH(x,S);if(!s&&!k&&l)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if(!s&&"notFound"===g){let l=await rY(i,S);e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:l,notFound:!l});return}if((null==s?void 0:s.type)===eR.q2.group){if(A)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});let e=to({app:v,route:s,layout:f});return"emptyGroup"===e.reason?C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):e.runtimePath?P.current?C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):(P.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):b(e3(e.runtimePath,null==(a=v.router)||null==(o=a.getBasename)?void 0:o.call(a)),{replace:!0}):C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0})}if((null==s?void 0:s.type)===eR.q2.page){if("notFound"===g)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if("bridge"===g)return C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});let l=to({app:v,route:s,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===l.navigationMode&&l.runtimePath&&!P.current){P.current=!0,window.location.replace(l.runtimePath);return}if("unsupportedV2Runtime"===l.reason){e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1,legacyPageUnsupported:!0});return}}e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1})})(),()=>{e=!1}},[v,i,A,g,b,S,f,x,k]),(0,M.useMemo)(()=>F.pageUid!==S||F.pending?null:F.notFound?(0,D.jsx)(ep.bM,{}):F.legacyPageUnsupported?(0,D.jsx)(rX,{app:v,location:y}):F.allowBridge?(0,D.jsx)(rG,{pageUid:S,active:t,getLayoutModel:m}):null,[t,v,m,F.allowBridge,F.legacyPageUnsupported,F.notFound,F.pageUid,F.pending,y,S])};rQ.displayName="FlowRoute";let rZ=rQ,r0=e=>e.current,r1=e=>{let{layoutRouteName:t}=e,l=(0,W.n)(),n=(0,O.useFlowEngine)(),r=l.layoutManager.getLayout(t),i=(0,K.useLocation)(),o=(0,K.useMatches)(),a=eH(n,r.uid,{required:!0}),s="admin"===r.routeName?"redirect":"notFound",u=(0,M.useRef)(0),d=(0,M.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,state:i.state,params:(null==e?void 0:e.params)||{},layoutRouteName:r.routeName,layoutBasePathname:null==t?void 0:t.pathname}},[r.routeName,i.pathname,i.state,o]);if(!a)throw Error(`[NocoBase] Layout '${r.routeName}' model '${r.uid}' is not mounted.`);let c=a.resolveLayoutRoute(d),p=(0,M.useMemo)(()=>e=>eH(e,r.uid,{required:!0}),[r.uid]);return((0,M.useEffect)(()=>{let e=++u.current;return a.syncLayoutRoute(d),()=>{Promise.resolve().then(()=>{r0(u)===e&&a.clearLayoutRoute(d)}).catch(()=>{})}},[a,d]),"root"===c.type)?null:"notFound"===c.type?(0,D.jsx)(ep.bM,{}):(0,D.jsx)(rZ,{pageUid:c.pageUid,getLayoutModel:p,legacyPageBehavior:s})};var r2=l(66466),r5=l(42441);function r4(e){return(0,D.jsx)(n1.A,{...e,children:(0,D.jsx)(r5.A,{paragraph:{rows:3}})})}let r8=e=>e.current;function r3(e){return e===eW||(0,O.isInheritedFrom)(e,eW)}function r6(e,t){if(!(e instanceof eW))throw Error(`[NocoBase] Layout '${t.routeName}' requires model '${t.uid}' to be an instance of BaseLayoutModel.`)}async function r9(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(!r3(l))throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' must extend BaseLayoutModel.`)}let r7=e=>{let{layoutRouteName:t}=e,l=(0,W.n)(),n=(0,O.useFlowEngine)(),r=l.layoutManager.getLayout(t),i=(0,K.useLocation)(),o=(0,K.useMatches)(),a=o[o.length-1],s=o.find(e=>e.id===r.routeName),u=JSON.stringify((null==a?void 0:a.params)||{}),d=(0,M.useMemo)(()=>JSON.parse(u),[u]),c=(0,M.useRef)(0),p=(0,M.useMemo)(()=>({id:null==a?void 0:a.id,name:null==a?void 0:a.id,pathname:i.pathname,state:i.state,params:d,layoutRouteName:r.routeName,layoutBasePathname:null==s?void 0:s.pathname}),[null==a?void 0:a.id,d,r.routeName,null==s?void 0:s.pathname,i.pathname,i.state]),{loading:h,data:f,error:m}=(0,r2.A)(async()=>{let e=n.getModel(r.uid);if(e)return r6(e,r),e.setProps({layout:r}),e;await r9(n,r);let t=await n.createModelAsync({uid:r.uid,use:r.layoutModelClass,props:{layout:r}});return r6(t,r),t},{refreshDeps:[n,r]});if((0,M.useEffect)(()=>{if(!f)return;let e=++c.current;return f.syncLayoutRoute(p),()=>{Promise.resolve().then(()=>{r8(c)===e&&f.clearLayoutRoute(p)}).catch(()=>{})}},[f,p]),m)throw m;return h||!f?(0,D.jsx)(r4,{style:{margin:16}}):(0,D.jsx)(O.FlowModelRenderer,{model:f})},ie="RootPageModel",it="ChildPageModel",il=(e,t)=>{if("string"!=typeof e||""===e.trim())throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a non-empty string.`)},ir=(e,t)=>{if("string"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a string.`)},ii=(e,t)=>{void 0!==e&&il(e,t)},io=(e,t)=>{if(void 0!==e&&"boolean"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a boolean.`)};function ia(e){if(e.includes("..")||e.startsWith(".")||e.endsWith("."))throw Error(`[NocoBase] layoutManager.registerLayout() received invalid routeName '${e}'.`)}function is(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 iu(e){il(e.routeName,"routeName"),ir(e.routePath,"routePath"),il(e.uid,"uid"),il(e.layoutModelClass,"layoutModelClass"),ii(e.rootPageModelClass,"rootPageModelClass"),ii(e.childPageModelClass,"childPageModelClass"),io(e.authCheck,"authCheck"),ia(e.routeName);let t=is(e.routeName,e.routePath);return{routeName:e.routeName,rootRouteName:e.routeName.split(".")[0],routePath:t,uid:e.uid,layoutModelClass:e.layoutModelClass,rootPageModelClass:e.rootPageModelClass||ie,childPageModelClass:e.childPageModelClass||it,authCheck:e.authCheck??!0}}class id{registerLayout(e){let t=iu(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,D.jsx)(r7,{layoutRouteName:e.routeName})}),this.app.router.add(eT(t),{path:":name",authCheck:l,skipAuthCheck:n,element:(0,D.jsx)(r1,{layoutRouteName:e.routeName})}),this.app.router.add(eI(t),{path:":name/tab/:tabUid",authCheck:l,skipAuthCheck:n,element:(0,D.jsx)(r1,{layoutRouteName:e.routeName})}),this.app.router.add(e_(t),{path:":name/view/*",authCheck:l,skipAuthCheck:n,element:(0,D.jsx)(r1,{layoutRouteName:e.routeName})}),this.app.router.add(eD(t),{path:":name/tab/:tabUid/view/*",authCheck:l,skipAuthCheck:n,element:(0,D.jsx)(r1,{layoutRouteName:e.routeName})})}constructor(e){(0,S._)(this,"app",void 0),(0,S._)(this,"layouts",new Map),(0,S._)(this,"uidIndex",new Map),this.app=e}}class ic{activateLayout(e){let t=this.normalizeLayoutUid(null==e?void 0:e.uid),l=Symbol("route-layout");return this.layoutActivations.push({token:l,uid:t}),this.syncRoutesProperty(),()=>{let e=this.layoutActivations.findIndex(e=>e.token===l);e>=0&&this.layoutActivations.splice(e,1),this.syncRoutesProperty()}}setRoutes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getCurrentLayoutUid(),l=this.getRouteCache(t);l.routes=e,l.accessibleLoaded=!0,t===this.getCurrentLayoutUid()&&(this.routes=e),this.emitChange(t)}listAccessible(){let e=this.getRouteCache(this.getReadableLayoutUid()).routes;return this.routes=e,e}isAccessibleLoaded(){return this.getRouteCache().accessibleLoaded}async refreshAccessible(){let e=this.getCurrentLayoutUid();return this.refreshAccessibleByLayout(e)}async refreshAccessibleByLayout(e){var t;let l=this.nextRefreshRequestId(e),n=await this.getAPIClient().request({url:"/desktopRoutes:listAccessible",params:{tree:!0,sort:"sort",layout:e}}),r=(null==n||null==(t=n.data)?void 0:t.data)||[];return l===this.getRefreshRequestId(e)&&this.setRoutes(r,e),r}async ensureAccessibleLoaded(){let e=this.getCurrentLayoutUid(),t=this.getRouteCache(e);if(t.accessibleLoaded)return this.routes=t.routes,t.routes;let l=this.accessibleLoadingPromises.get(e);if(l)return l;let n=this.refreshAccessibleByLayout(e).finally(()=>{this.accessibleLoadingPromises.get(e)===n&&this.accessibleLoadingPromises.delete(e)});return this.accessibleLoadingPromises.set(e,n),n}subscribe(e){return this.subscribers.set(e,this.getCurrentLayoutUid()),()=>{this.subscribers.delete(e)}}unsubscribe(e){this.subscribers.delete(e)}async createRoute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshAfterMutation:l=!0}=t,n=await this.getResource("desktopRoutes").create({values:e,layout:this.getCurrentLayoutUid()});return l&&await this.refreshAccessible(),n}async updateRoute(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{refreshAfterMutation:n=!0}=l,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.listAccessible(),e)}getRouteById(e){return this.findRouteById(this.listAccessible(),e)}getAPIClient(){var e;if(!(null==(e=this.ctx)?void 0:e.api))throw Error("[NocoBase] RouteRepository requires context.api.");return this.ctx.api}getResource(e){return this.getAPIClient().resource(e)}emitChange(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid();this.subscribers.forEach((t,l)=>{if(t!==e)return;let n=this.notifiedLayoutUid;this.notifiedLayoutUid=e;try{l()}finally{this.notifiedLayoutUid=n}})}getCurrentLayoutUid(){var e;return(null==(e=this.layoutActivations[this.layoutActivations.length-1])?void 0:e.uid)||ts}normalizeLayoutUid(e){return"string"==typeof e&&e.trim()?e:ts}getReadableLayoutUid(){return this.notifiedLayoutUid||this.getCurrentLayoutUid()}getRouteCache(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid(),t=this.routeCaches.get(e);return t||(t={accessibleLoaded:!1,routes:[]},this.routeCaches.set(e,t)),t}syncRoutesProperty(){this.routes=this.getRouteCache().routes}nextRefreshRequestId(e){let t=this.getRefreshRequestId(e)+1;return this.refreshRequestIds.set(e,t),t}getRefreshRequestId(e){return this.refreshRequestIds.get(e)||0}findRoute(e,t){for(let l of e){if(l.schemaUid===t)return l;if(l.children){let e=this.findRoute(l.children,t);if(e)return e}}}findRouteById(e,t){for(let l of e){if(null!=l.id&&String(l.id)===String(t))return l;if(l.children){let e=this.findRouteById(l.children,t);if(e)return e}}}constructor(e){(0,S._)(this,"ctx",void 0),(0,S._)(this,"routes",void 0),(0,S._)(this,"subscribers",void 0),(0,S._)(this,"accessibleLoadingPromises",void 0),(0,S._)(this,"layoutActivations",void 0),(0,S._)(this,"routeCaches",void 0),(0,S._)(this,"refreshRequestIds",void 0),(0,S._)(this,"notifiedLayoutUid",void 0),this.ctx=e,this.routes=[],this.subscribers=new Map,this.accessibleLoadingPromises=new Map,this.layoutActivations=[],this.routeCaches=new Map,this.refreshRequestIds=new Map}}class ip{getURL(){if(!this.app)return;let e=this.app.getApiUrl();if(!e)return;let t="";if(this.getSubAppName(this.app))t=`?_app=${this.getSubAppName(this.app)}`;else{let e=(0,A.xW)(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,S._)(this,"_ws",void 0),(0,S._)(this,"_reconnectTimes",0),(0,S._)(this,"events",[]),(0,S._)(this,"options",void 0),(0,S._)(this,"app",void 0),(0,S._)(this,"enabled",void 0),(0,S._)(this,"connected",!1),(0,S._)(this,"serverDown",!1),(0,S._)(this,"lastMessage",{}),(0,S._)(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,N.define)(this,{serverDown:N.observable.ref,connected:N.observable.ref,lastMessage:N.observable.ref})}}function ih(){"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,es.getDayRangeByParams)(t)),Array.isArray(t))return n.$dateBetween(e,t);let l=ib(e),r=ib(t);return!!l&&!!r&&l.getTime()===r.getTime()},$dateBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,es.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=ib(e),n=ib(t);return!!l&&!!n&&l.getTime()<n.getTime()},$dateNotBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,es.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=ib(e),n=ib(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,es.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=ib(e),n=ib(t);return l.getTime()>n.getTime()},$dateNotAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,es.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=ib(e),n=ib(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,es.getDayRangeByParams)(t));let l=ib(e),n=im(t[0]),r=im(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,es.getDayRangeByParams)(t)),Array.isArray(t))return!n.$dateBetween(e,t);let l=ib(e),r=ib(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,u=l.getOperator(e),d=e[u];if(Array.isArray(d)||(d=[d]),"if"===u||"?:"==u){for(r=0;r<d.length-1;r+=2)if(l.truthy(l.apply(d[r],t)))return l.apply(d[r+1],t);return d.length===r+1?l.apply(d[r],t):null}if("$and"===u){for(r=0;r<d.length&&(i=l.apply(d[r],t),l.truthy(i));r+=1);return i}if("or"===u){for(r=0;r<d.length&&(i=l.apply(d[r],t),!l.truthy(i));r+=1);return i}if("filter"===u)return(a=l.apply(d[0],t),o=d[1],Array.isArray(a))?a.filter(function(e){return l.truthy(l.apply(o,e))}):[];if("map"===u)return(a=l.apply(d[0],t),o=d[1],Array.isArray(a))?a.map(function(e){return l.apply(o,e)}):[];else if("reduce"===u)return(a=l.apply(d[0],t),o=d[1],s=void 0!==d[2]?d[2]:null,Array.isArray(a))?a.reduce(function(e,t){return l.apply(o,{current:t,accumulator:e})},s):s;else if("all"===u){if(a=l.apply(d[0],t),o=d[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"===u){if(a=l.apply(d[0],t),o=d[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"===u){if(a=l.apply(d[0],t),o=d[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(d=d.map(function(e){return l.apply(e,t)}),Object.prototype.hasOwnProperty.call(n,u)&&"function"==typeof n[u])return n[u].apply(t,d);if(u.indexOf(".")>0){var c=String(u).split("."),p=n;for(r=0;r<c.length;r++){if(!Object.prototype.hasOwnProperty.call(p,c[r]))throw Error("Unrecognized operation "+u+" (failed at "+c.slice(0,r+1).join(".")+")");p=p[c[r]]}return p.apply(t,d)}throw Error("Unrecognized operation "+u)},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 im(e){return new Date(e.includes("T")&&e.endsWith("Z")?e:e.includes(" ")?e.replace(" ","T"):`${e}T00:00:00`)}function ig(e){let[t,l]=e.split("-").map(Number);return new Date(t,l-1)}function iv(e){return new Date(parseInt(e.slice(0,4)),(parseInt(e.slice(5,6))-1)*3)}function iy(e){return new Date(parseInt(e),0)}function ib(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 im(t);if(/^\d{4}-\d{2}$/.test(t))return ig(t);if(/^\d{4}Q[1-4]$/.test(t))return iv(t);else if(/^\d{4}$/.test(t))return iy(t);return null}var ix=l(42524),iw=l(89286),iS=l(36194),iA=l(52582),iM=l(20419),ik=l(78880),iF=l(27253),iC=l(43886),iP=l(5900),ij=l(2543);function iE(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 iR(){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,ij.cloneDeep)(l),r={},i={},o=0;return this(t.trim().replace(/{{\s*([\w$.-]+)\s*}}/g,(t,l)=>{if(l.startsWith("this."))return`{{${l}}}`;iE(n,l);let a=(0,ij.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 iT={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:iR.bind(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=iC._3(e,t);return"number"==typeof l?Number.isNaN(l)||!Number.isFinite(l)?null:iP.LIG(l,9):l instanceof iP.uqu?l.toArray():l},{replaceKey:!0})};var iI=l(8558);l(59961);let i_=Object.keys(iI).filter(e=>"default"!==e);function iD(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=Object.create(null);for(let e of i_)l[e]=iI[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 iN(e,t,l){return new Compartment(iD(t,l.blockedIdentifiers)).evaluate(e)}function iO(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={blockedIdentifiers:e.blockedIdentifiers};return iR.bind(function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=iN(e,l,t);return"number"==typeof n?Number.isNaN(n)||!Number.isFinite(n)?null:(0,iP.LIG)(n,9):n},{})}iO();let i$={label:"Formula.js",tooltip:'{{t("Formula.js supports most Microsoft Excel formula functions.")}}',link:"FORMULAJS_DOC_URL",evaluate:iO({blockedIdentifiers:[...es.BASE_BLOCKED_IDENTIFIERS,"window","document","parent","top","frames","navigator","location","localStorage","sessionStorage"]})},iB={label:"{{t('String template')}}",tooltip:"{{t('Simple string replacement, can be used to interpolate variables in a string.')}}",evaluate:iR.bind(function(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1],e},{replaceValue:!0})},iL=new es.Registry;function iq(){return Array.from(iL.getEntities()).reduce((e,t)=>{let[l,n]=t;return e.concat({value:l,...n})},[])}iL.register("formula.js",i$),iL.register("math.js",iT),iL.register("string",iB);let iV=iL;var iz=l(67377),iK=l(23490),iU=l(4213),iW=l(88909),iH=l(72635),iY=l(68984),iG=l(43627);function iJ(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 iX(e){iJ(e,"react",M),iJ(e,"react-dom",lv),iJ(e,"react/jsx-runtime",D),iJ(e,"react-router",K),iJ(e,"react-router-dom",z),iJ(e,"antd",iK),iJ(e,"@ant-design/icons",iw),iJ(e,"@ant-design/cssinjs",ix),iJ(e,"antd-style",iS),iJ(e,"i18next",iH),iJ(e,"react-i18next",iY),iJ(e,"@formily/antd-v5",iM),iJ(e,"@formily/core",ik),iJ(e,"@formily/react",lH),iJ(e,"@formily/reactive",N),iJ(e,"@formily/shared",iF),iJ(e,"@nocobase/utils",es),iJ(e,"@nocobase/utils/client",es),iJ(e,"@nocobase/client-v2",x),iJ(e,"@nocobase/client-v2/client-v2",x),iJ(e,"@nocobase/flow-engine",O),iJ(e,"@nocobase/evaluators",m),iJ(e,"@nocobase/evaluators/client",m),iJ(e,"@dnd-kit/core",lh),iJ(e,"@dnd-kit/sortable",iG),iJ(e,"@ctrl/tinycolor",iA),iJ(e,"ahooks",iz),iJ(e,"axios",iW.A),iJ(e,"dayjs",es.dayjs),iJ(e,"lodash",B()),iJ(e,"@emotion/css",en),iJ(e,"file-saver",iU)}var iQ=l(40407);let iZ=/^\/+/,i0=/\/+$/,i1=e=>{let t=iZ.exec(e);return t?e.slice(t[0].length):e},i2=e=>{let t=i0.exec(e);return t?e.slice(0,-t[0].length):e},i5=e=>`${i2(e)}/`,i4=e=>(0,U.isValidElementType)(e);class i8{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,N.define)(this,{maintained:N.observable.ref,maintaining:N.observable.ref,error:N.observable.ref,apps:N.observable})}initializeExtendedState(){this.systemSettings=new ef.o(this.apiClient)}afterManagersInitialized(){this.aiManager=new ed(this),this.jsonLogic=ih()}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,iQ.b)(),iX(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 ic(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,N.observable)({version:void 0})}),this.flowEngine.context.defineProperty("systemSettings",{get:()=>this.systemSettings})}addBaseProviders(){this.use(q.x,{i18n:this.i18n}),this.use(O.FlowEngineProvider,{engine:this.flowEngine}),this.use(ea),this.use(J)}addFinalProviders(){this.use(O.FlowEngineGlobalsContextProvider)}addReactRouterComponents(){this.addComponents({Link:z.Link,Navigate:K.Navigate,NavLink:z.NavLink})}addRoutes(){this.router.add("not-found",{path:"*",Component:()=>null})}updateFavicon(e){let t=document.querySelector('link[rel="shortcut icon"]');arguments.length>0&&(this.favicon=e||"");let l=this.favicon||this.getCdnUrl()+"favicon/favicon.ico";t?t.href=l:((t=document.createElement("link")).rel="shortcut icon",t.href=l,document.head.appendChild(t))}setWsAuthorized(e){this.wsAuthorized=e}setMaintaining(e){this.maintaining!==e&&(this.maintaining=e,e||this.eventBus.dispatchEvent(new Event("maintaining:end")))}getOptions(){return this.options}getName(){return(0,A.xW)(this.getPublicPath())||null}getCdnUrl(){return i5(window.__webpack_public_path__||(0,eX.LL)(this.getPublicPath()))}getPublicPath(){return i5(this.options.publicPath||"/")}getApiUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.apiClient.axios.defaults.baseURL??"";if(!t.startsWith("http://")&&!t.startsWith("https://")){let{protocol:e,host:l}=globalThis.window.location;t=`${e}//${l}${t}`}return`${i2(t)}/${i1(e)}`}getRouteUrl(e){return this.getPublicPath()+i1(e)}getHref(e){let t=this.name;return t&&"main"!==t?`${this.getPublicPath()}apps/${t}/${i1(e)}`:this.getPublicPath()+i1(e)}getComposeProviders(){let e=l6(...this.providers)(ep.ct);return e.displayName="Providers",e}use(e,t){return this.addProvider(e,t)}addProvider(e,t){return this.providers.push([e,t])}addProviders(e){e.forEach(e=>{Array.isArray(e)?this.addProvider(e[0],e[1]):this.addProvider(e)})}getComponent(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],l=e=>t&&console.error(e);if(!e)return void l(`getComponent called with ${e}`);if("string"==typeof e){let t=(0,$.get)(this.components,e);return t||void l(`Component ${e} not found`)}if(i4(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?M.createElement(n,t,l):null}addComponent(e,t){let l=e,n=t||l.displayName||l.name;n?(0,$.set)(this.components,n,e):console.error("Component must have a displayName or pass name as second argument")}addComponents(e){Object.keys(e).forEach(t=>{this.addComponent(e[t],t)})}setAppsComponent(e){let{Component:t}=e;this.apps.Component=t}setAppsProvider(e){let{loadAppList:t}=e;this.apps.loadAppList=t}getRootFallback(){return this.renderComponent("AppSpin")}getRootComponent(){let e=this.model,t=this.flowEngine,l=()=>this.getRootFallback();return n=>{let{children:r}=n;return(0,M.useLayoutEffect)(()=>{e.setProps({children:r})},[r]),(0,D.jsx)(O.FlowEngineProvider,{engine:t,children:(0,D.jsx)(O.FlowModelRenderer,{fallback:l(),model:e})})}}mount(e){let t=l3(e);if(t){let e=this.getRootComponent(),l=(0,L.createRoot)(t);return l.render((0,D.jsx)(e,{})),l}}createLayoutManager(e){return new id(this)}createWebSocketClient(e){return new ip(e.ws??!1)}getDefaultComponents(){return{AppNotFound:ep.bM,AppError:ep.uV,AppSpin:ep.gv,AppMaintaining:ep.be,AppMaintainingDialog:ep.tp}}constructor(e={}){(0,S._)(this,"options",void 0),(0,S._)(this,"eventBus",void 0),(0,S._)(this,"providers",void 0),(0,S._)(this,"router",void 0),(0,S._)(this,"scopes",void 0),(0,S._)(this,"i18n",void 0),(0,S._)(this,"ws",void 0),(0,S._)(this,"apiClient",void 0),(0,S._)(this,"components",void 0),(0,S._)(this,"pluginManager",void 0),(0,S._)(this,"pluginSettingsManager",void 0),(0,S._)(this,"layoutManager",void 0),(0,S._)(this,"entryActionManager",void 0),(0,S._)(this,"aiManager",void 0),(0,S._)(this,"devDynamicImport",void 0),(0,S._)(this,"requirejs",void 0),(0,S._)(this,"name",void 0),(0,S._)(this,"favicon",void 0),(0,S._)(this,"flowEngine",void 0),(0,S._)(this,"dataSourceManager",void 0),(0,S._)(this,"jsonLogic",void 0),(0,S._)(this,"context",void 0),(0,S._)(this,"systemSettings",void 0),(0,S._)(this,"maintained",void 0),(0,S._)(this,"maintaining",void 0),(0,S._)(this,"error",void 0),(0,S._)(this,"model",void 0),(0,S._)(this,"wsAuthorized",void 0),(0,S._)(this,"apps",void 0),this.options=e,this.eventBus=new EventTarget,this.providers=[],this.scopes={},this.components={},this.entryActionManager=new eh,this.maintained=!1,this.maintaining=!1,this.error=null,this.wsAuthorized=!1,this.apps={Component:null,loadAppList:null},this.initRequireJs(),this.defineObservableState(),this.devDynamicImport=e.devDynamicImport,this.scopes=(0,$.merge)(this.scopes,e.scopes),this.components=(0,$.merge)(this.getDefaultComponents(),e.components),this.name=this.options.name||(0,A.xW)(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 O.FlowEngine,this.flowEngine.registerModels({ApplicationModel:i9}),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 i3=new WeakMap,i6=new WeakMap;class i9 extends O.FlowModel{get app(){return this.context.app}getProviders(){return(0,_._)(this,i3,(0,T._)(this,i3)||this.app.getComposeProviders()),(0,T._)(this,i3)}getRouter(){return(0,_._)(this,i6,(0,T._)(this,i6)||this.app.router.getRouterComponent()),(0,T._)(this,i6)}render(){return this.app.maintaining&&!this.app.maintained?(0,D.jsx)(D.Fragment,{children:this.renderMaintaining()}):this.app.error&&!this.app.maintaining?(0,D.jsx)(D.Fragment,{children:this.renderError()}):(0,D.jsxs)(D.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,D.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,D.jsx)(V.tH,{FallbackComponent:t=>(0,D.jsx)(e,{app:this.app,...t}),onError:r,children:n})}constructor(...e){super(...e),(0,I._)(this,i3,{writable:!0,value:void 0}),(0,I._)(this,i6,{writable:!0,value:void 0})}}i9.registerFlow({key:"appFlow",steps:{init:{async handler(e){try{await e.app.load()}catch(t){e.model.app.error=t,console.error(t)}}}}});var i7=l(16350);let oe=[{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}],ot=[{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}],ol=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"}],on=[{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}],or=[{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}],oi=[{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}],oo=[{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}],oa=[{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}],os=[{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}],ou=[{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"}}}],od=[{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}],oc=[{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 op{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,S._)(this,"operators",{}),(0,S._)(this,"groups",{}),Object.entries(e).forEach(e=>{let[t,l]=e;this.registerGroup(t,l)})}}let oh=new op(g),of=oh.getGroups(),om=of;function og(e){return oh.resolveOperators(e)}function ov(e){if(!e)return e;let t=Array.isArray(e.operatorOverrides)?e.operatorOverrides:[];e.operatorGroup&&(e.operators=oy(og(e.operatorGroup),t));let l=e.operators;return"string"==typeof l?(e.operatorGroup=l,e.operators=oy(og(l),t)):Array.isArray(l)?e.operators=oy(l,t):t.length>0&&(e.operators=[...t]),Array.isArray(e.children)&&e.children.forEach(e=>{e&&"object"==typeof e&&ov(e)}),e}function oy(){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 ob(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...t,operatorGroup:e,operators:og(e)}}function ox(e,t){return{operators:e.flatMap(e=>{let{types:l,operators:n}=e;return og(n).map(e=>({...e,visible:n=>{let r=l.includes(t(n));return"function"==typeof e.visible?e.visible(n)&&r:r}}))})}}let ow="CollectionSelect",oS=new Set(["name","uiSchema.title"]),oA=new Set(["Grid","Grid.Row","Grid.Col","div"]);function oM(e){return{...e.context,...e.values}}function ok(e,t){if("boolean"==typeof e)return e;if("string"!=typeof e)return!1;let l=e.replace(/^\s*\{\{\s*/,"").replace(/\s*\}\}\s*$/,""),n=oM(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,$.get)(n,e);return"function"==typeof r&&!!r(...t.split(",").map(e=>e.trim()).filter(Boolean).map(e=>e.replace(/^['"]|['"]$/g,"")))}return!!(0,$.get)(n,t)};return l.split("||").some(e=>e.split("&&").every(e=>r(e)))}function oF(e){return"string"==typeof e?t=>ok(e,t):e}function oC(e){return(null==e?void 0:e["x-hidden"])!==void 0?oF(e["x-hidden"]):(null==e?void 0:e["x-visible"])!==void 0?t=>!ok(e["x-visible"],t):void 0}function oP(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 oP((null==o?void 0:o.properties)||{},t,{row:i,column:r,columnIndex:n,span:l})})}return o&&(!a||oA.has(a))?oP(o,t,l):[{name:i,schema:r,layout:l}]})}function oj(e,t){return!oS.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 oE(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return oP(e).filter(e=>{let{name:t,schema:l}=e;return oj(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:oC(r),disabled:oF(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 oR=[{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"}],oT=[{label:'{{t("12 hour")}}',value:"hh:mm:ss a"},{label:'{{t("24 hour")}}',value:"HH:mm:ss"}];function oI(e){return(0,$.get)(e,"uiSchema.x-component-props.picker")||"date"}function o_(e){return(0,$.get)(e,"uiSchema.x-component-props.showTime")}function oD(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("unique"===e||"primaryKey"===e)return{disabled:!l.createMainOnly||!!l.primaryKeyOnly};if("autoIncrement"===e)return{disabled:!l.createMainOnly};if(e.startsWith("reverseField."))return{disabled:!l.showReverseFieldConfig,hidden:!l.showReverseFieldConfig};if("autoCreateReverseField"===e&&(0,$.get)(t,"reverseField.key"))return{disabled:!0};if("uiSchema.x-component-props.dateFormat"===e)return{componentProps:{picker:oI(t)}};if("uiSchema.x-component-props.showTime"===e)return{hidden:"date"!==oI(t)};if("uiSchema.x-component-props.timeFormat"===e)return{hidden:"date"!==oI(t)||!1===o_(t)};if("defaultValue"===e){let e=!!(0,$.get)(t,"primaryKey")||!!(0,$.get)(t,"unique")||!!(0,$.get)(t,"autoIncrement")||!!(0,$.get)(t,"defaultToCurrentTime");return{hidden:e,...e?{value:null,hasValue:!0}:null,componentProps:{gmt:(0,$.get)(t,"uiSchema.x-component-props.gmt"),showTime:(0,$.get)(t,"uiSchema.x-component-props.showTime"),dateFormat:(0,$.get)(t,"uiSchema.x-component-props.dateFormat"),timeFormat:(0,$.get)(t,"uiSchema.x-component-props.timeFormat"),picker:(0,$.get)(t,"uiSchema.x-component-props.picker"),format:(0,$.get)(t,"uiSchema.x-component-props.format")},dataSource:(0,$.get)(t,"uiSchema.enum")}}return("precision"===e||"scale"===e)&&"decimal"!==(0,$.get)(t,"type")?{hidden:!0}:{}}function oN(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,$.has)(r,"autoIncrement")&&!0!==l("autoIncrement")&&n("autoIncrement",!0)),t.createMainOnly&&o&&i&&"unique"===e.changedName&&n("primaryKey",!1),(0,$.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,$.has)(r,"uiSchema.x-component-props.picker")||(0,$.has)(r,"uiSchema.x-component-props.dateFormat")||(0,$.has)(r,"uiSchema.x-component-props.showTime")||(0,$.has)(r,"uiSchema.x-component-props.timeFormat")))return;let a=oI(r);"uiSchema.x-component-props.picker"===e.changedName&&(0,$.has)(r,"uiSchema.x-component-props.dateFormat")&&(0,$.get)(r,"uiSchema.x-component-props.dateFormat")!==(0,es.getPickerFormat)(a)&&n("uiSchema.x-component-props.dateFormat",(0,es.getPickerFormat)(a)),(0,$.has)(r,"uiSchema.x-component-props.showTime")&&"date"!==a&&!1!==o_(r)&&n("uiSchema.x-component-props.showTime",!1),(0,$.has)(r,"uiSchema.x-component-props.timeFormat")&&o_(r)&&!(0,$.get)(r,"uiSchema.x-component-props.timeFormat")&&n("uiSchema.x-component-props.timeFormat","HH:mm:ss")}function oO(){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 o$(){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:oR,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:oT,hidden:t=>!!("function"==typeof e.hidden&&e.hidden(t))||("boolean"==typeof e.hidden?e.hidden:!1===o_(t.values))}),t}function oB(){return[{name:"autoCreateReverseField",title:'{{t("Create inverse field in the target collection")}}',component:"Checkbox",defaultValue:!1},{name:"reverseField.type",title:'{{t("Inverse relationship type")}}',component:"Select",required:!0,options:[{label:"{{t('HasOne')}}",value:"hasOne"},{label:"{{t('HasMany')}}",value:"hasMany"},{label:"{{t('BelongsTo')}}",value:"belongsTo"},{label:"{{t('BelongsToMany')}}",value:"belongsToMany"}],hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}},{name:"reverseField.uiSchema.title",title:'{{t("Inverse field display name")}}',component:"Input",required:!0,hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}},{name:"reverseField.name",title:'{{t("Inverse field name")}}',component:"Input",required:!0,description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}",hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}}]}let oL=oB;function oq(){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 oV={key:"required",label:"Required",hasValue:!1,params:[]};function oz(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 oK{register(e){this.items.set(e.key,(0,$.cloneDeep)(e))}registerMany(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.forEach(e=>this.register(e))}registerGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,t)}addToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,[...this.groups.get(e)||[],...t])}get(e){return(0,$.cloneDeep)(this.items.get(e))}getGroup(e){return(this.groups.get(e)||[]).map(e=>"string"==typeof e?this.get(e):(0,$.cloneDeep)(e)).filter(Boolean)}constructor(){(0,S._)(this,"items",new Map),(0,S._)(this,"groups",new Map)}}let oU=new oK;function oW(e){oU.register(e)}function oH(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oU.registerGroup(e,t)}function oY(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oU.addToGroup(e,t)}oU.registerMany([oV,{key:"pattern",label:"Pattern",hasValue:!0,params:[{key:"regex",label:"Regular Expression",componentType:"text",required:!0}]},{key:"email",label:"Email",hasValue:!1,params:[],paramsType:"object"},{key:"uuid",label:"UUID",hasValue:!1,params:[],paramsType:"object"},{key:"length",label:"Length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"uri",label:"URI",hasValue:!1,params:[],paramsType:"object"},{key:"multiple",label:"Multiple of",hasValue:!0,params:[{key:"base",label:"Base",componentType:"inputNumber",required:!0}]},{key:"integer",label:"Integer",hasValue:!1,params:[]},{key:"precision",label:"Precision",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"unsafe",label:"Unsafe integer",hasValue:!1,params:[]},{key:"timestamp",label:"Timestamp",hasValue:!0,params:[{key:"type",label:"Type",componentType:"singleSelect",options:[{label:"JavaScript",value:"javascript"},{label:"Unix",value:"unix"}],defaultValue:"javascript"}]}]),oU.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"]),oU.registerGroup("number",["required",...oz("number"),"multiple","integer","precision","unsafe"]),oU.registerGroup("date",["required",...oz("date"),"timestamp"]),oU.registerGroup("object",["required"]);class oG{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)&&(ov(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){oh.register(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oh.registerGroup(e,t),this.normalizeFieldInterfaceFilterables()}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oh.addToGroup(e,t),this.normalizeFieldInterfaceFilterables()}registerFieldValidationConfigure(e){oW(e)}registerFieldValidationConfigureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oH(e,t)}addFieldValidationConfiguresToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oY(e,t)}getFieldValidationConfigureGroup(e){return oU.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:oE(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=>{ov(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,S._)(this,"dataSourceManager",void 0),(0,S._)(this,"collectionFieldInterfaceInstances",void 0),(0,S._)(this,"collectionFieldGroups",void 0),(0,S._)(this,"actionList",void 0),this.dataSourceManager=e,this.collectionFieldInterfaceInstances={},this.collectionFieldGroups={},this.actionList={}}}function oJ(e){return`${e}/client-v2`}function oX(e){return("default"in e?e.default:void 0)||e}function oQ(e,t){window.__nocobase_app_dev_plugins__=window.__nocobase_app_dev_plugins__||{},window.__nocobase_app_dev_plugins__[e]=t}function oZ(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=oJ(t);window.define(n,()=>l),oQ(n,l)})}function o0(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=oJ(t);window.define(n,()=>l),oQ(n,l)})}function o1(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((e,t)=>(e[oJ(t.packageName)]=t.url,e),{})})}function o2(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&&oQ(oJ(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 o5(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];o1(e,t);let l=t.map(e=>oJ(e.packageName));return new Promise((n,r)=>{e.requirejs(l,o2(t,n),r)})}async function o4(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(let l of o8(e)){let e=await import(l.url),n=oX(e);n&&(t.push([l.name,n]),o0({[l.packageName]:e}))}return t}function o8(){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 o3(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=[],n=[],r=async()=>{if(0===n.length)return;let t=await o5(e,n);l.push(...t),n=[]};for(let e of o8(t)){if("esm"===e.devMode){await r();let t=await o4([e]);l.push(...t);continue}n.push(e)}return await r(),l}async function o6(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=oX(t);r.push([e.name,l]),i[e.packageName]=l,o[e.packageName]=t}}oZ(o)}let a=l.filter(e=>!i[e.packageName]),s=a.filter(e=>"esm"===e.devMode),u=a.filter(e=>"esm"!==e.devMode);if(0===s.length){if(0===u.length)return r;let e=await o5(t,u);return r.push(...e),r}let d=await o3(t,a);return r.push(...d),r}class o9{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 o6({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,S._)(this,"_plugins",void 0),(0,S._)(this,"loadRemotePlugins",void 0),(0,S._)(this,"app",void 0),(0,S._)(this,"pluginInstances",void 0),(0,S._)(this,"pluginsAliases",void 0),(0,S._)(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}}let o7="admin.settings.",ae="/admin/settings/",at="pm.";class al{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)??`${at}${e}`}getRouteName(e){return`${o7}${e}`}getRoutePath(e){let{menuName:t,pageName:l}=this.parseName(e),n=`${ae}${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:K.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])}setPluginSettingsLink(e,t){if(!e)throw Error("Plugin settings link pluginName is required");if(!t)throw Error("Plugin settings link settingsName is required");this.pluginSettingsLinks[e]=t}getPluginSettingsName(e){return this.pluginSettingsLinks[e]||e}hasPluginSettings(e){return this.has(this.getPluginSettingsName(e))}getPluginSettingsRoutePath(e){return this.getRoutePath(this.getPluginSettingsName(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,M.createElement)(ep.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:u,Component:d,...c}=e;return{...c,key:u,menuKey:s,pluginKey:u,name:u,title:i,label:i,icon:this.renderIcon(o),path:this.getRoutePath(u),sort:e.sort,isAllow:r,isTopLevel:!0,topLevelName:u,aclSnippet:this.getAclSnippet(u),Component:d,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,...u}=e;return{...u,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:K.Outlet})}syncPageRoute(e){let t=e.Component||K.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,S._)(this,"menus",{}),(0,S._)(this,"pages",{}),(0,S._)(this,"pluginSettingsLinks",{}),(0,S._)(this,"aclSnippets",[]),(0,S._)(this,"app",void 0),(0,S._)(this,"cachedList",{}),this.app=e}}var an=l(45588);function ar(){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 ai(e){let t=(0,K.useParams)(),l=(0,K.useLocation)(),n=(0,K.useMatches)(),r=e.flowEngine;(0,M.useEffect)(()=>{var l,i,o;let a=n[n.length-1];if(!a)return;let s=ar(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,M.useEffect)(()=>{r.context._observableCache.location=l},[r.context,l])}function ao(e){let{app:t}=e;return ai(t),null}let aa="/admin";function as(e){return e.split(/[?#]/)[0]}function au(e){let t=e.match(/^([^?#]*)(.*)$/);return{pathname:(null==t?void 0:t[1])||"",suffix:(null==t?void 0:t[2])||""}}function ad(e){let t=as(e||"").trim();return t&&"/"!==t?`/${t.replace(/^\/+|\/+$/g,"")}`:"/"}function ac(e){return e.startsWith("/")&&!e.startsWith("//")&&!e.startsWith("/\\")}function ap(e,t){let l=ad(e),n=ad(t);return"/"===n?l:l===n?"/":l.startsWith(`${n}/`)?ad(l.slice(n.length)):l}function ah(e){return ad(e).replace(/^\/(?:apps|_app)\/[^/]+(?=\/|$)/,"")||"/"}function af(e,t){return ah(ap(e,t))}function am(e,t){let l=ad(e),n=ad(t);return l===n||l.startsWith(`${n}/`)}function ag(e){if(e.replace||"string"!=typeof e.targetPathname)return!1;let t=e.targetPathname.trim();if(!ac(t))return!1;let l=ad(e.adminRoutePath||aa),n=af(e.currentPathname||"/",e.basePath),r=af(t,e.basePath);return!am(n,l)&&am(r,l)}function av(e,t){if(!t||"/"===t)return e;let l=t.replace(/\/$/,"");return e===l?"/":e.startsWith(`${l}/`)?e.slice(l.length)||"/":e}class ay{get basename(){return this.router.basename}get state(){return this.router.state}get navigate(){return this.navigateWithPortalPolicy}shouldOpenAdminRouteInNewWindow(e,t){var l,n,r;return(!this.options.type||"browser"===this.options.type)&&ag({currentPathname:"u">typeof window?window.location.pathname:null==(r=this.router)||null==(n=r.state)||null==(l=n.location)?void 0:l.pathname,targetPathname:e,basePath:this.getRuntimeBasePath(),adminRoutePath:this.getAdminRoutePath(),replace:null==t?void 0:t.replace})}getRuntimeBasePath(){return(0,eX.IE)(this.app)}getAdminRoutePath(){try{var e,t,l;return(null==(l=this.app.layoutManager)||null==(t=l.getLayout)||null==(e=t.call(l,"admin"))?void 0:e.routePath)||aa}catch{return aa}}getAdminRouteNavigationHref(e){let{pathname:t,suffix:l}=au(e.trim()),n=ad(t),r=this.getRuntimeBasePath(),i=ad(r);return"/"!==i&&(n===i||n.startsWith(`${i}/`))?`${n}${l}`:`${this.app.getHref(af(n,r))}${l}`}resolveLoadedComponent(e){if(e)return"function"==typeof e||"string"==typeof e?e:e.default||e.Component}createRouteLazyComponent(e){let t=M.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,D.jsx)(M.Suspense,{fallback:null,children:(0,D.jsx)(t,{...e})})}}getRoutesTree(){let e={};for(let[t,l]of Object.entries(this.routes))(0,$.set)(e,t.split(".").join(".children."),{...(0,$.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=M.createElement(this.createRouteLazyComponent(r)):n&&(s="string"==typeof n?this.app.renderComponent(n):M.createElement(n));let u={...a,element:s,children:o?t(o):void 0};e.push(u)}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,an.ue)(l,av(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:z.createHashRouter,browser:z.createBrowserRouter,memory:K.createMemoryRouter},r=this.getRoutesTree(),i=(0,M.createContext)(e=>e.children),o=()=>{let t=(0,M.useContext)(i);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(ao,{app:this.app}),(0,D.jsxs)(t,{children:[(0,D.jsx)(K.Outlet,{}),e]})]})},a=()=>{throw(0,K.useRouteError)()};return this.router=n[t]([{element:(0,D.jsx)(o,{}),errorElement:(0,D.jsx)(a,{}),children:r}],l),this.routerNavigate=this.router.navigate.bind(this.router),this.router.navigate=this.navigateWithPortalPolicy,e=>{let{BaseLayout:t=ep.ct}=e;return(0,D.jsx)(i.Provider,{value:t,children:(0,D.jsx)(ep.PK,{children:(0,D.jsx)(z.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,S._)(this,"routes",{}),(0,S._)(this,"options",void 0),(0,S._)(this,"routerNavigate",void 0),(0,S._)(this,"app",void 0),(0,S._)(this,"router",void 0),(0,S._)(this,"navigateWithPortalPolicy",(e,t)=>this.shouldOpenAdminRouteInNewWindow(e,t)?(window.open(this.getAdminRouteNavigationHref(e),"_blank","noopener,noreferrer"),Promise.resolve()):(this.routerNavigate||this.router.navigate.bind(this.router))(e,t)),this.options=e,this.app=t,this.routes=e.routes||{}}}var ab=l(24978);let ax=e=>{let{children:t}=e,{token:l}=X.A.useToken(),n=l.colorFillTertiary,r=new ab.q(l.colorFill).onBackground(l.colorFillSecondary).toHexShortString(),i=new ab.q(l.colorFill).onBackground(l.colorFill).toHexShortString(),o=new ab.q(l.colorFill).onBackground(l.colorFill).onBackground(l.colorFill).toHexShortString();return(0,M.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||Z.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};ax.displayName="CSSVariableProvider";let aw=ax;class aS extends i8{createApiClient(e){let t=new R({withCredentials:!0,...e.apiClient,appName:e.name||(0,A.xW)(e.publicPath)});return t.app=this,t}configureRuntimeAdapters(){this.dataSourceManager=this.flowEngine.context.dataSourceManager,this.dataSourceManager.setRequester(this.apiClient.request.bind(this.apiClient)),this.dataSourceManager.collectionFieldInterfaceManager||this.dataSourceManager.setCollectionFieldInterfaceManager(new oG(this.dataSourceManager))}createI18n(e){if(e.i18n)return e.i18n;let t=(0,iH.createInstance)();return t.use(i7.r9).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1}),t}createRouterManager(e){var t;let l=new ay(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 o9(e.plugins||[],!!e.loadRemotePlugins,this)}createPluginSettingsManager(e){return new al(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(aw)}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,S._)(this,"hasLoadError",!1)}}let aA=(0,M.createContext)(null);aA.displayName="ApplicationContext";var aM=l(36093),ak=l.n(aM);class aF extends aS{constructor(e={}){super({router:{type:"memory",initialEntries:["/"]},...e}),(0,S._)(this,"apiMock",void 0),this.apiMock=new(ak())(this.apiClient.axios),this.ws=new aC(e.ws||{})}}class aC extends ip{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,S._)(this,"eventBus",new EventTarget)}}function aP(e){return new aF(e)}class aj{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,S._)(this,"options",void 0),(0,S._)(this,"app",void 0),this.options=e,this.app=t,this.options=e,this.app=t}}var aE=l(84256),aR=l(47785);function aT(e){return"steps"in e&&e.steps||{}}function aI(e){let t=aT(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 a_(e){if(!aD(e))return;let t=aN(e);if(t())return(0,O.createRecordMetaFactory)(t,e.t("Response record"),()=>{let l=t(),n=aI(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 aD(e){var t;if(Object.prototype.hasOwnProperty.call(aT(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 aN(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 aO(e){let t=a_(e);if(!t){var l;return(null==(l=e.getPropertyMetaTree)?void 0:l.call(e))||[]}let n=new O.FlowContext;return n.addDelegate(e),n.defineProperty("responseRecord",{get:()=>aI(e),cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(aN(e),()=>aI(e)),meta:t}),n.getPropertyMetaTree()}function a$(e){let t=(0,O.useFlowSettingsContext)(),l=(0,M.useMemo)(()=>()=>aO(t),[t]);return(0,D.jsx)(aR.n,{...e,metaTree:l})}let aB=(0,O.defineAction)({name:"afterSuccess",title:(0,O.tExpr)("After successful submission"),defineProperties(e){let t=a_(e);return{responseRecord:{get:()=>aI(e),cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(aN(e),()=>aI(e)),...t?{meta:t}:{}}}},uiSchema:{successMessage:{type:"string",title:(0,O.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,O.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,O.tExpr)("Automatic close"),value:!1},{label:(0,O.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,O.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,O.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,O.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,O.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,O.tExpr)("Link"),"x-decorator":"FormItem","x-component":a$,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,O.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,es.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)}}),aL=(0,O.defineAction)({name:"confirm",title:(0,O.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,O.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,O.tExpr)("Title"),"x-decorator":"FormItem","x-component":aR.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,O.tExpr)("Content"),"x-decorator":"FormItem","x-component":aR.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,O.tExpr)("Please Confirm"),content:(0,O.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 aq=l(58528),aV=l(81486);let az={__nocobaseDataScopeNull__:!0},aK="{{$nRole}}",aU=/^\s*\{\{\s*ctx\.role\s*\}\}\s*$/;function aW(e){return"string"==typeof e&&aU.test(e)}function aH(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function aY(e){return aH(e)?null:Array.isArray(e)?e.map(e=>aY(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=aY(e[l]),t),{}):e}function aG(e){var t;return!!(0,O.isVariableExpression)(e)&&(null==(t=(0,O.extractPropertyPath)(e))?void 0:t[0])==="urlSearchParams"}function aJ(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){if(aW(e.value)){t.value=aK;return}(0,O.isVariableExpression)(e.value)&&!aG(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=az);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{aJ(e,t.items[l])})}}function aX(e,t){let l=B().cloneDeep(t);return aJ(e,l),aY((0,O.pruneFilter)((0,es.transformFilter)(l)))}var aQ=l(12197),aZ=l(47632);function a0(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function a1(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function a2(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,aQ.Qc)(l),l);return Array.from(t.values())}function a5(e){let t=a2(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&a1(e,t)))}function a4(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 a8(e){var t;let l=null==e?void 0:e.model;return a4((null==l||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function a3(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 a6(e,t){let l=a3(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function a9(e){return(0,aQ.EA)(e).filter(e=>"object"!=typeof e)}function a7(e){return(0,aQ.c1)(e)}function se(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,aQ.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,aQ.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,aQ.c1)(e);t.length&&r.push(t)}return r}function st(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 sl(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(st)||null}var sn=l(26866);function sr(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 si(e){var t,l;return sr((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 so(e){var t,l,n,r,i,o,a,s,u,d;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==(u=c.context)||null==(s=u.collectionField)?void 0:s.collection)??(null==c||null==(d=c.context)?void 0:d.collection)}function sa(e){var t,l,n,r,i,o,a,s,u,d,c,p;let h=e.model;return sr((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==(d=h.context)||null==(u=d.collectionField)||null==(s=u.targetCollection)?void 0:s.filterByTk)??(null==h||null==(p=h.context)||null==(c=p.collectionField)?void 0:c.targetKey))}function ss(e,t){let l=so(e),n=sa(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=si(n),l=null==n?void 0:n.targetCollection)}return{...e,filterTargetKey:t}})}function su(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 sd(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 sc(e,t){let l=e;for(let e of t){if(!sd(l,e))return{found:!1};l=l[e]}return{found:!0,value:l}}function sp(e){let t=e;return(null==t?void 0:t.allValuesSnapshot)??(null==t?void 0:t.allValues)}function sh(e,t){return e&&"object"==typeof e?(0,sn.r5)(e,t):null}function sf(e){let t=[];for(let l of e.entries)t.push(l.name,l.index);return t}function sm(e,t,l,n){if(null==l?void 0:l.rowDetached)return!1;let r=sf(t);if(!r.length||!t.identityTailPaths.length)return!1;let i=t.identityTailPaths.map(e=>[...r,...e]);return(n??se(e)).some(e=>i.some(t=>a1(t,e)))}function sg(e,t,l){return Array.isArray(e)&&t?e.findIndex(e=>sh(e,l)===t):-1}function sv(e,t,l,n){let r=[],i=-1,o=[];for(let a=0;a<t.entries.length;a++){let s=t.entries[a],u=[...r,s.name],d=sc(e,u);if(!d.found||!Array.isArray(d.value))return{found:!1};let c=null==l?void 0:l[a],p=sg(d.value,c,s.filterTargetKey),h=p>=0?p:s.index;if(h<0||h>=d.value.length)return c?{found:!1,rowMissing:!0}:{found:!1};let f=d.value[h];if(c&&p<0&&!n)return{found:!1,rowMissing:!0};o.push(sh(f,s.filterTargetKey)),i=h,r=[...u,h]}return{found:!0,path:[...r,...t.tailPath],rowIndex:i,rowIdentities:o}}function sy(e,t,l){var n,r;let i=sc(sp(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)}:sc(null==e||null==(r=e.context)?void 0:r.formValues,l)}function sb(e,t,l,n,r){var i,o;let a=l.rowScope;if(!a)return sy(e,t,l.path);if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let s=sm(t,a,n,r);for(let l of[sp(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=sv(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=sc(l,e.path);if(t.found)return{found:!0,value:t.value,rowIdentities:e.rowIdentities}}let u=null==e||null==(o=e.context)?void 0:o.form;return"function"==typeof(null==u?void 0:u.getFieldValue)?{found:!0,value:u.getFieldValue(l.path),rowIdentities:null==n?void 0:n.rowIdentities}:{found:!1}}function sx(e){return Array.isArray(e)?e.length:e}function sw(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=sg(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:[sh(e[o.index],o.filterTargetKey)]}}function sS(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=sm(t,a,n,r);for(let r of[sp(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=sv(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=sy(e,t,l.path);return s.found?{found:!0,value:sx(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=sm(t,a,n,r);for(let r of[sp(t),null==e||null==(o=e.context)?void 0:o.formValues]){let e=sv(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=sy(e,t,l.path);return s.found?sw(s.value,l,n):s}function sA(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,aQ.Qc)(r.path),i=sb(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,$.cloneDeep)(i.value),rowIdentities:i.rowIdentities,rowDetached:!1})}for(let r of e.structuralPaths){let e=sS(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,aQ.Qc)(r.path)}`,{value:(0,$.cloneDeep)(e.value),rowIdentities:e.rowIdentities,rowDetached:!1})}return n}function sM(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,aQ.Qc)(o.path),a=n.values.get(e),s=sb(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,$.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,aQ.Qc)(o.path)}`,a=n.structures.get(e),s=sS(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,$.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}return i}function sk(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e.entries()){var l;if(!t.has(n)||!(0,$.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:sA(e,t,l)};let r=sM(e,t,l,n,se(l));return(null==r?void 0:r.rowMissing)?{status:"unchanged",snapshot:{...r,rowMissing:!1}}:(null==r?void 0:r.complete)?{status:sk(n.values,r.values)&&sk(n.structures,r.structures)?"unchanged":"changed",snapshot:r}:{status:"unknown",snapshot:r}}let sC="formValuesChange",sP="__formValueDrivenDataScopeClearBindings";function sj(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,aQ.Qc)(n.path),n)}return Array.from(t.values())}function sE(e){let t=sj(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&a1(e.path,t.path)))}function sR(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,aQ.Qc)(n.path)}`,n)}return Array.from(t.values())}function sT(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,aQ.Qc)(n.path)}`,n)}return Array.from(t.values())}function sI(){return{wildcard:!1,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function s_(){return{wildcard:!0,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function sD(e){let t=e[0];if("value"===t){let t=e.slice(1);return t.length?{wildcard:!1,valuePaths:[{path:t}],structuralPaths:[],triggerPaths:[]}:s_()}return"__is_new__"===t||"__is_stored__"===t?{wildcard:!1,valuePaths:[{path:[t]}],structuralPaths:[],triggerPaths:[]}:sI()}function sN(e,t){var l,n;let r=ss(e,a4((null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex))),i=0,o=[...t];for(;"parentItem"===o[0];)i+=1,o=o.slice(1);let a=o[0];if(!a)return s_();if(!r.length)return 0===i?sD(o):sI();if(i===r.length)return sD(o);if(i>r.length)return s_();if("value"===a){let e=a3(r,i);if(!e)return s_();let t=a6(r,i),l=o.slice(1);return{wildcard:!1,valuePaths:[{path:[...e,...l],rowScope:su(r,i,l)}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0},...t?[{path:t,includeChildren:!1}]:[]]}}if("index"===a||"length"===a){let e=a6(r,i);return e?{wildcard:!1,valuePaths:[],structuralPaths:[{path:e,kind:a,rowScope:su(r,i,[])}],triggerPaths:[{path:e,includeChildren:!1}]}:s_()}if("__is_new__"===a||"__is_stored__"===a){let e=a3(r,i);return e?{wildcard:!1,valuePaths:[{path:[...e,a],rowScope:su(r,i,[a])}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0}]}:s_()}return s_()}function sO(e,t){let l={deps:new Set,wildcard:!1};(0,aZ.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=sN(e,l?a7(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:a7(l)})}return{wildcard:o,valuePaths:sE(n),structuralPaths:sR(r),triggerPaths:sT(i)}}function s$(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0||e.triggerPaths.length>0}function sB(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 sL(e,t){if(!s$(e))return!1;if(e.wildcard)return!0;let l=se(t);if(!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(a1(l.path,t)||a1(t,l.path))return!0;for(let l of e.structuralPaths)if(a0(l.path,t)||a1(t,l.path))return!0;for(let l of e.triggerPaths)if(l.includeChildren&&(a1(l.path,t)||a1(t,l.path))||!l.includeChildren&&a0(l.path,t))return!0}return!1}function sq(e,t){let l=e=>e.map(e=>(0,aQ.Qc)(e.path)).sort(),n=e=>e.map(e=>`${e.kind}:${(0,aQ.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,aQ.Qc)(e.path)}`).sort()})}function sV(e){var t,l;return(t=e)[l=sP]||(t[l]=new Map)}function sz(e){return sl(e)}function sK(e){var t,l;if(!sB(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 sU(e){var t;return!!e&&"object"==typeof e&&"function"==typeof(null==e||null==(t=e.props)?void 0:t.onChange)}function sW(e,t){let l=sV(e).get(t);l&&l.dispose()}function sH(e,t){var l,n,r,i,o,a;let s=e.model,u=null==e?void 0:e.flowKey;if(!sU(s)||!u)return;let d="dataScope",c=`${u}:${d}`,p=sO(e,t);if(!s$(p))return void sW(s,c);let h=sz(e);if(!h)return void sW(s,c);let f=sq(p,h),m=sV(s),g=m.get(c);if((null==g?void 0:g.signature)===f)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:f,snapshot:sA(p,h),dispose:()=>{}},b=()=>{var e,t,l,n;null==(t=h.emitter)||null==(e=t.off)||e.call(t,sC,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),m.get(c)===y&&m.delete(c)},x=e=>{var t;if(s.disposed||h.disposed)return void b();if(!sL(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||sB(s)&&sK(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,m.set(c,y),h.emitter.on(sC,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 sY=(0,O.defineAction)({name:"dataScope",title:(0,O.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,O.useFlowSettingsContext)();return(0,D.jsx)(aq.I8,{value:e.value,FilterItem:e=>(0,D.jsx)(aq.Et,{...e,model:t.model,rightAsVariable:!0,maxAssociationFieldDepth:t.model instanceof aV.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=aX(t.filter,r);sH(e,t.filter),(0,es.isEmptyFilter)(i)?n.removeFilterGroup(e.model.uid):n.addFilterGroup(e.model.uid,i)}});var sG=l(52717),sJ=l(94130);class sX extends O.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,sJ.GX)(e);return(0,sJ.F3)(n,r)}static async defineChildren(e){let t=this.baseClass?await (0,O.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,O.buildSubModelItem)(r,e);t&&l.push(t)}return B().sortBy([...n,...l],"sort")}}(0,S._)(sX,"baseClass",void 0),(0,S._)(sX,"scene",void 0),(0,S._)(sX,"_models",void 0);class sQ extends sX{}(0,S._)(sQ,"baseClass",sG.S0),(0,S._)(sQ,"scene",sG.s5.collection);class sZ extends sX{}(0,S._)(sZ,"baseClass",sG.S0),(0,S._)(sZ,"scene",sG.s5.record);var s0=l(14252);class s1 extends O.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=O.DisplayItemModel.getDefaultBindingByField(e,n,{fallbackToTargetTitleField:!0});if(!o)return;let u=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:u}}}}}).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 s2(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function s5(e){return e.context}function s4(e,t){var l;let n=e[t]||(null==(l=s5(e))?void 0:l[t]);return n&&"object"==typeof n?n:void 0}function s8(e){var t,l,n;let r=null==(t=s5(e))?void 0:t.dataSourceManager;return r||(null==(n=e.flowEngine)||null==(l=n.context)?void 0:l.dataSourceManager)}function s3(e){return{operatorGroup:e.operatorGroup,operators:Array.isArray(e.operators)?[...e.operators]:e.operators,operatorOverrides:Array.isArray(e.operatorOverrides)?[...e.operatorOverrides]:e.operatorOverrides}}function s6(e){if(!1===e)return[];if(!e||"object"!=typeof e)return;let t=ov(s3(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 s9(e,t){var l;let n="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;if(!n)return;let r=s8(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 s7(e){let t=[null==e?void 0:e.interface,null==e?void 0:e.type].filter(e=>"string"==typeof e),l=eR.II;for(let e of t){let t=l[e];if(null==t?void 0:t.length)return t}return[]}function ue(e){let t=s4(e,"collectionField"),l=s4(e,"filterField"),n=t||l;if((null==n?void 0:n.filterable)===!1)return[];let r=s6(null==n?void 0:n.filterable);if(null==r?void 0:r.length)return r;let i=s9(e,n);if(!1===i)return[];let o=s6(i);return(null==o?void 0:o.length)?o:s7(n)}function ut(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ul(e);if(!t)return null;let l=s4(e,"collectionField")||s4(e,"filterField");return ue(e).find(e=>e.value===t&&(!e.visible||e.visible(l)))||null}function ul(e){var t,l,n,r,i,o;let a=ue(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 un(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 ur(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}(0,S._)(s1,"itemModelName","DetailsItemModel"),(0,S._)(s1,"maxAssociationFieldDepth",2),s1.define({label:'{{t("Display fields")}}'});let ui={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function uo(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 ua(e,t,l){let n=ui[e];if(!n)return e;let r=uo(t,l);return!r||s2(r)?e:n}async function us(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function uu(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class ud{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}": ${uu(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(un(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:ua(e.operator||ul(l),t,n),value:r}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new O.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 O.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{var t,l;this.bindToTarget(e);let n=this.gridModel.flowEngine.getModel(e);if(!n)return void console.error(`Target model with uid "${e}" not found`);if(!n.resource||"function"!=typeof n.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let r=n,i=n.resource,o=n,a=r.getDataLoadingMode();if("manual"===a&&!r.hasActiveFilters()){i.setData([]),i.setMeta({count:0,hasNext:!1}),"function"==typeof i.setPage&&i.setPage(1),i.loading=!1,null==(l=o.resetAfterFilterChange)||l.call(o);return}await us(i),"function"==typeof i.setPage&&i.setPage(1),await i.refresh(),null==(t=o.resetAfterFilterChange)||t.call(o)}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(i)}constructor(e,t){(0,S._)(this,"filterConfigs",void 0),(0,S._)(this,"gridModel",void 0),this.gridModel=e,this.filterConfigs=t||[]}}var uc=l(84626),up=l(47152),uh=l(16370);function uf(e){let{rows:t={},sizes:l={},layout:n,renderItem:r,rowGap:i=16,colGap:o=16,dragOverlayRect:a}=e,s=n||(0,O.normalizeGridLayout)({rows:t,sizes:l});return s.rows.length?(0,D.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:i},"data-grid-root":!0,children:[a&&(0,D.jsx)(uv,{rect:a}),(0,D.jsx)(um,{rows:s.rows,renderItem:r,rowGap:i,colGap:o,parentPath:[]})]}):(0,D.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:a&&(0,D.jsx)(uv,{rect:a})})}function um(e){let{rows:t,renderItem:l,rowGap:n,colGap:r,parentPath:i}=e;return(0,D.jsx)(D.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}],u=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,D.jsx)(up.A,{gutter:r,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,i)=>(0,D.jsx)(ug,{rowKey:e.id,columnIndex:i,span:u[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 ug=M.memo(function(e){var t;let{rowKey:l,columnIndex:n,span:r,rowGap:i,colGap:o,cell:a,path:s,renderItem:u}=e,d=a.items||[];return(0,D.jsx)(uh.A,{span:r,"data-grid-column-row-id":l,"data-grid-column-index":n,"data-grid-path":JSON.stringify(s),children:(0,D.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:i},children:[d.map((e,t)=>e===O.EMPTY_COLUMN_UID?null:(0,D.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:u(e)},e)),(null==(t=a.rows)?void 0:t.length)?(0,D.jsx)(um,{rows:a.rows,renderItem:u,rowGap:i,colGap:o,parentPath:s}):null]})})});function uv(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,D.jsx)("div",{style:{...l,...n[t.type]}})}ug.displayName="GridColumn";var uy=l(95725),ub=l(40919);let ux=e=>{let{value:t,onChange:l,rows:n=10,...r}=e,[i,o]=(0,M.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,M.useState)(null);(0,M.useEffect)(()=>{o(t?JSON.stringify(t,null,2):"")},[t]);let u=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,D.jsxs)("div",{children:[(0,D.jsx)(uy.A.TextArea,{value:i,autoSize:{minRows:n,maxRows:n+10},onChange:u,...r}),a&&(0,D.jsx)(ub.A,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},uw=(0,lH.connect)(ux),uS="gridSettings",uA="grid",uM=new Set(["column-edge","item-edge","empty-column"]),uk=e=>e.filter(e=>!uM.has(e.type)),uF=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 uC extends O.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(uS,uA)||{};return(0,O.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=B().omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,O.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(uS,{[uA]:{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)&&B().isEqual(this.collectCellItemsForResize(e),t));if(-1!==r){l.add(r);let n=e.cells[r];return n.rows&&!n.items?B().cloneDeep(n):{id:n.id,items:[...t]}}return{id:`${e.id}:cell:${n}:${(0,iF.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 B().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!==O.EMPTY_COLUMN_UID),u=a.includes(O.EMPTY_COLUMN_UID);return s||u?{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,O.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,O.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),u=a.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:d,newSizes:c,moveDistance:p}=uj({position:{rowId:a.id,columnIndex:o.cellIndex,itemIndex:o.itemIndex},direction:l,resizeDistance:n,prevMoveDistance:this.prevMoveDistance,oldRows:{[a.id]:u},oldSizes:{[a.id]:a.sizes||[]},gutter:(null==(t=this.context.themeToken)?void 0:t.marginBlock)??16,gridContainerWidth:s}),h=B().cloneDeep(i),f=this.findLayoutRowByPath(h,o.path);return f?(f.cells=this.buildResizedCells(a,d[a.id]||[]),f.sizes=c[a.id]||[],{layout:(0,O.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,O.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(O.EMPTY_COLUMN_UID);let n=new Set,r={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>B().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,iF.uid)()]=[[e.uid]]);return r}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(uS,uA)||{},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=uF(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,O.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=this.context.isMobileLayout?uk(e.slots):e.slots,this.dragState.containerRect=e.containerRect}scheduleSnapshotRefresh(){!this.dragState||this.dragState.refreshTimer||(this.dragState.refreshTimer=setTimeout(()=>{this.dragState&&(this.dragState.refreshTimer=null,this.updateLayoutSnapshot(),this.refreshPreviewFromPointer())},16))}refreshPreviewFromPointer(){if(!this.dragState)return;let e=this.dragState.pointerPosition||this.dragState.pointerOrigin;if(!e)return;let t=this.resolveDragSlot(e);this.applyPreview(t)}computeOverlayRect(e){var t,l,n,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,O.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,O.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,O.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:iF.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,iF.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,O.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:B().cloneDeep(l.rows),sizes:B().cloneDeep(l.sizes),rowOrder:B().cloneDeep(l.rowOrder),layout:B().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,O.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:B().cloneDeep(n.rows),sizes:B().cloneDeep(n.sizes),rowOrder:B().cloneDeep(n.rowOrder),layout:B().cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:uF(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(B().cloneDeep(l.layout)):(this.setProps("rows",B().cloneDeep(l.rows)),this.setProps("sizes",B().cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",B().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,O.normalizeGridLayout)({rows:uP((0,O.projectLayoutToLegacyRows)(t).rows),itemUids:this.getItemUids()}):t,n=(0,O.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===O.EMPTY_COLUMN_UID||(null==(t=a.get(e))?void 0:t.hidden)!==!0}),u=o.some(e=>{if(e===O.EMPTY_COLUMN_UID)return!1;let t=a.get(e);return!t||!t.hidden}),d=o.includes(O.EMPTY_COLUMN_UID);return u||d?{cell:{...t,items:o},size:i,hasVisibleContent:u}: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),u=(0,O.normalizeGridLayout)({layout:{version:2,rows:s(l.rows)}}),d=(0,O.projectLayoutToLegacyRows)(u);return{layout:u,rows:d.rows,sizes:d.sizes}}render(){let{layout:e,rows:t,sizes:l}=this.getVisibleLayout(),n=Object.keys(t||{}).length>0;return(0,D.jsxs)(D.Fragment,{children:[n&&(0,D.jsx)(uc.A,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap,display:"flex"},size:this.props.rowGap,children:(0,D.jsx)(O.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,D.jsx)(uf,{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,u=this.context.getPropertyOptions("item"),d=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==d?void 0:d.meta,resolveOnServer:null==d?void 0:d.resolveOnServer,serverOnlyWhenContextParams:null==d?void 0:d.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}=u||{};return t.context.defineProperty("item",{...n,get:()=>this.context.item,cache:!1}),t})();return(0,D.jsx)(O.Droppable,{model:p,children:(0,D.jsx)(O.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,D.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),(0,S._)(this,"subModelBaseClass","BlockModel"),(0,S._)(this,"gridContainerRef",M.createRef()),(0,S._)(this,"prevMoveDistance",0),(0,S._)(this,"itemSettingsMenuLevel",1),(0,S._)(this,"itemFlowSettings",{}),(0,S._)(this,"dragOverlayConfig",void 0),(0,S._)(this,"itemFallback",(0,D.jsx)(r4,{})),(0,S._)(this,"itemExtraToolbarItems",[{key:"drag-handler",component:O.DragHandler,sort:1}]),(0,S._)(this,"dragState",void 0),(0,S._)(this,"_memoItemFlowSettings",void 0),(0,S._)(this,"updateDragPointerPosition",e=>{if(!this.dragState)return;let t=uF(e);t&&(this.dragState.pointerPosition=t)}),(0,S._)(this,"handleDragScroll",()=>{this.dragState&&this.scheduleSnapshotRefresh()})}}function uP(e,t){let l=(null==t?void 0:t.emptyColumnUid)??O.EMPTY_COLUMN_UID,n={},r=e=>{if(!n[e])return e;let t=1,l=`${e}:duplicate:${t}`;for(;n[l];)t+=1,l=`${e}:duplicate:${t}`;return l};return Object.keys(e).forEach(t=>{let i=e[t].map((e,t)=>({columnIndex:t,items:e.filter(e=>e!==l)})).filter(e=>e.items.length>0);if(1===i.length&&0===i[0].columnIndex){n[r(t)]=[i[0].items];return}i.forEach(e=>{n[r(`mobile:${encodeURIComponent(t)}:${e.columnIndex}`)]=[e.items]})}),n}function uj(e){var t,l;let{position:n,direction:r,resizeDistance:i,prevMoveDistance:o,oldSizes:a,oldRows:s,gridContainerWidth:u,gutter:d=16,columnCount:c=24}=e,p=B().cloneDeep(s),h=B().cloneDeep(a),f=Math.floor(i/(u-d*((h[n.rowId]||[]).length-1))*c);if(f===o)return{newRows:p,newSizes:h,moveDistance:f};(t=h)[l=n.rowId]??(t[l]=[c]);let m=h[n.rowId],g=f-o,v="left"===r&&n.columnIndex>0,y="right"===r&&n.columnIndex<m.length-1;if(!v&&!y&&g>0){let e=c-m.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:h,moveDistance:o};g>e&&(f=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]&&uR({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&&uE({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]&&uR({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&&uE({rows:p,sizes:h,position:n,direction:"right"})}return{newRows:p,newSizes:h,moveDistance:f}}function uE(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(O.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex,0,[O.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(O.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex+1,0,[O.EMPTY_COLUMN_UID]),o.splice(n.columnIndex+1,0,1)}}function uR(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(O.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(O.EMPTY_COLUMN_UID)))return;i.splice(n.columnIndex+1,1),o.splice(n.columnIndex+1,1)}}uC.registerFlow({key:uS,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,O.tExpr)("Layout"),"x-decorator":"FormItem","x-component":uw,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,O.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,n=(0,O.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 uT=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class uI extends uC{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new ud(this,e.filterManager)})}onMount(){var e,t;super.onMount(),(null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)!=="select"||this.viewActivatedListener||(this.viewActivatedListener=()=>{this.mapSubModels("items",e=>{var t;null==(t=e.onActive)||t.call(e)})},this.flowEngine.emitter.on(O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener))}onUnmount(){this.viewActivatedListener&&(this.flowEngine.emitter.off(O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),super.onUnmount()}get subModelBaseClasses(){var e;let t=(null==(e=this.context.view)?void 0:e.inputArgs)??{};return t.collectionName&&!t.filterByTk,["DataBlockModel","FilterBlockModel","BlockModel"]}get filterManager(){return this.context.filterManager}get addBlockItems(){var e,t;if((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)==="select")return async e=>{let t=await (0,O.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=uT.filter(t=>!!e.engine.getModelClass(t)),n=(await Promise.all(l.map(t=>(0,O.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,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(tu.A,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,D.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,S._)(this,"viewActivatedListener",void 0),(0,S._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}})}}uI.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 u_=l(77471),uD=l(72380),uN=l(52175);class uO extends O.FlowModel{}var u$=l(5679);class uB extends u_.z{}uB.define({hide:!0,label:"Filter blocks"});var uL=l(44279),uq=l(33634),uV=l(2117);async function uz(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()))}let uK="__no_active_page_tab__";function uU(e){var t;let{hiddenTabKeys:l,hiddenActiveTabLabel:n,items:r,tabBarProps:i}=e,o=r.filter(e=>!l.has(String(e.key))).map(e=>{let{children:t,className:l,destroyInactiveTabPane:n,forceRender:r,style:i,...o}=e;return{...o,children:null}}),a=o.some(e=>e.key===i.activeKey)?i.activeKey:uK,s=null==(t=o.find(e=>!e.disabled))?void 0:t.key,u=l.has(String(i.activeKey))?String(i.activeKey):void 0,d=u&&i.id?`${i.id}-tab-${u}`:void 0,c=e=>{let t=String(e.key);if(a!==uK||t!==String(s))return e;let l=!1,n=M.Children.map(e.props.children,e=>l||!M.isValidElement(e)||"tab"!==e.props.role?e:(l=!0,M.cloneElement(e,{tabIndex:0})));return M.cloneElement(e,void 0,n)};return(0,D.jsxs)(D.Fragment,{children:[d?(0,D.jsx)("span",{id:d,hidden:!0,children:n||u}):null,(0,D.jsx)(uq.A,{activeKey:uK,animated:{inkBar:i.animated.inkBar,tabPane:!1},destroyInactiveTabPane:!0,id:i.id,items:o,more:i.more,onTabClick:(e,t)=>i.onTabClick(e,t),onTabScroll:i.onTabScroll,renderTabBar:(e,t)=>(0,D.jsx)(t,{...e,activeKey:a,children:c}),tabBarExtraContent:i.extra,tabBarGutter:i.tabBarGutter,tabBarStyle:i.style,tabPosition:i.tabPosition})]})}function uW(e){let{dependencyKey:t,onSync:l}=e,n=M.useRef(),r=M.useRef(!1),i=M.useRef();return M.useEffect(()=>{let e=l({previousEffectiveActiveKey:n.current,previousAllHidden:r.current,lastCorrectionSignature:i.current});n.current=e.effectiveActiveKey,r.current=e.previousAllHidden,i.current=e.lastCorrectionSignature},[t,l]),null}class uH extends O.FlowModel{getEnableTabs(){let e=this.context.currentRoute,t=this.props.routeId;return null!=t&&(null==e?void 0:e.id)!=null&&String(e.id)===String(t)&&"boolean"==typeof e.enableTabs?e.enableTabs:!!this.props.enableTabs}getAllTabs(){var e;return(null==(e=this.subModels)?void 0:e.tabs)||[]}getUnhiddenTabs(){return this.getAllTabs().filter(e=>!e.hidden)}getRequestedTabKey(){var e,t;let l=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;if(l){let e="string"==typeof l.tabUid&&l.tabUid?l.tabUid:void 0;if(e)return this.implicitActiveKey=void 0,{key:e,source:"url"};let t="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return t&&t===this.implicitActiveKey?{key:t,source:"implicit"}:{source:"none"}}let n="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return n?{key:n,source:n===this.implicitActiveKey?"implicit":"props"}:{source:"none"}}resolveTabActiveState(){var e,t;let l=this.getAllTabs(),n=this.getUnhiddenTabs(),r=this.getRequestedTabKey();if(!r.key)return{...r,status:"unspecified",effectiveKey:null==(e=n[0])?void 0:e.uid,allTabs:l,unhiddenTabs:n};let i=l.find(e=>e.uid===r.key);return"implicit"===r.source&&(!i||i.hidden)?{...r,status:"unspecified",effectiveKey:null==(t=n[0])?void 0:t.uid,allTabs:l,unhiddenTabs:n}:i?n.some(e=>e.uid===r.key)?{...r,status:"visible",effectiveKey:r.key,allTabs:l,unhiddenTabs:n}:{...r,status:"hidden",effectiveKey:r.key,allTabs:l,unhiddenTabs:n}:{...r,status:"unknown",effectiveKey:r.key,allTabs:l,unhiddenTabs:n}}getActiveTabKey(){if(!this.getEnableTabs()){var e;let t=null==(e=this.getFirstTab())?void 0:e.uid;if(t)return t}return this.resolveTabActiveState().effectiveKey}getTabActiveKeySyncDependency(){var e,t;let l=this.getAllTabs(),n=this.getUnhiddenTabs(),r=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return JSON.stringify([!!this.context.flowSettingsEnabled,r&&r.tabUid||null,this.props.tabActiveKey||null,l.map(e=>e.uid),n.map(e=>e.uid),this.implicitActiveKey||null])}requestDocumentTitleUpdate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.updateDocumentTitle(e,t).catch(e=>{console.warn("[PageModel] Failed to update document title",e)})}rememberImplicitActiveKey(e){this.implicitActiveKey=e,this.props.tabActiveKey!==e&&this.setProps("tabActiveKey",e)}commitTabActiveKey(e,t){let{previousActiveKey:l,navigate:n,preserveImplicitKey:r=!1,rememberLocalTransition:i=!1}=t;if(i&&e&&(this.locallyCommittedTabTransition={activeKey:e,previousActiveKey:l}),this.implicitActiveKey=e&&r?e:void 0,n){var o,a,s;null==(s=this.context.view)||null==(a=s.navigation)||null==(o=a.changeTo)||o.call(a,{tabUid:e})}e&&e!==l&&this.invokeTabModelLifecycleMethod(e,"onActive"),l&&l!==e&&this.invokeTabModelLifecycleMethod(l,"onInactive"),this.setProps("tabActiveKey",e),e||this.requestDocumentTitleUpdate()}consumeLocallyCommittedTabTransition(e,t){let l=this.locallyCommittedTabTransition;return!!l&&!!t&&(l.activeKey===t&&l.previousActiveKey===e?(this.locallyCommittedTabTransition=void 0,!0):(t!==l.previousActiveKey&&(this.locallyCommittedTabTransition=void 0),!1))}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{this.dirtyRefreshScheduled=!1,this.unmounted||!1!==(0,O.getPageActive)(this.context)&&this.activateCurrentTab(e)}).catch(()=>{}))}activateCurrentTab(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}deactivateCurrentTab(){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onInactive")}onMount(){var e,t,l,n,r,i,o,a,s;super.onMount(),this.unmounted=!1,this.implicitActiveKey=void 0,this.setProps("tabActiveKey",null==(e=this.context.view.inputArgs)?void 0:e.tabUid),(null==(t=this.context)?void 0:t.pageInfo)&&(this.context.pageInfo.version="v2"),this.requestDocumentTitleUpdate(),this.viewActivatedListener||(this.viewActivatedListener=e=>{this.activateCurrentTab()},null==(i=this.flowEngine)||null==(r=i.emitter)||null==(n=r.on)||n.call(r,O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let u=(0,O.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),d=u>0&&u!==this.lastSeenEmitterViewActivatedVersion;this.lastSeenEmitterViewActivatedVersion=u,d&&!1!==(0,O.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,O.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,O.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,O.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,O.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.requestDocumentTitleUpdate(e)}async updateDocumentTitle(e){var t,l,n,r,i,o,a,s,u,d,c,p,h,f,m,g,v,y,b,x;let w=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,O.getPageActive)(this.context))return;let S=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),A=null==(i=this.context)||null==(r=i.view)||null==(n=r.inputArgs)?void 0:n.viewUid,M=null==(s=this.flowEngine)||null==(a=s.context)||null==(o=a.route)?void 0:o.pathname;if(S&&A&&"string"==typeof M){let e=null==(d=this.context)||null==(u=d.layout)?void 0:u.routePath,t=null==(c=(0,O.parsePathnameToViewParams)(M,{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!==A)return}let k=++this.documentTitleUpdateVersion,F=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=this.getUnhiddenTabs(),P=e||this.getActiveTabKey(),j=!this.getEnableTabs()||!P&&0===C.length,E="";if(j)E=await F(null==(x=this.stepParams)||null==(b=x.pageSettings)||null==(y=b.general)?void 0:y.documentTitle)||this.props.title||"";else{let e=P?this.findSubModel("tabs",e=>e.uid===P)||this.flowEngine.getModel(P):this.getFirstTab();if(!e&&w<5)return void window.setTimeout(()=>{this.unmounted||k===this.documentTitleUpdateVersion&&this.requestDocumentTitleUpdate(P,w+1)},0);E=await F(null==e||null==(g=e.stepParams)||null==(m=g.pageTabSettings)||null==(f=m.tab)?void 0:f.documentTitle)||(null==e||null==(v=e.getTabTitle)?void 0:v.call(e))||""}k===this.documentTitleUpdateVersion&&"string"==typeof E&&""!==E&&(document.title=E)}mapTabs(){return this.mapSubModels("tabs",e=>({key:e.uid,label:(0,D.jsx)(O.Droppable,{model:e,children:(0,D.jsx)(O.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:O.DragHandler,sort:1}]})}),children:e.renderChildren()}))}getFirstTab(){var e;return null==(e=this.subModels.tabs)?void 0:e[0]}renderFirstTab(){var e;let t=this.getFirstTab();return null==t||null==(e=t.renderChildren)?void 0:e.call(t)}async handleDragEnd(e){throw Error("Method not implemented.")}renderTabs(){var e,t,l;let n=this.resolveTabActiveState(),r=this.mapTabs(),i=new Set(this.context.flowSettingsEnabled?[]:n.allTabs.filter(e=>e.hidden).map(e=>e.uid)),o="hidden"===n.status?null==(t=n.allTabs.find(e=>e.uid===n.effectiveKey))||null==(e=t.getTabTitle)?void 0:e.call(t):void 0,a=n.effectiveKey||(n.allTabs.length>0?uK:void 0),s=(null==(l=this.context.themeToken)?void 0:l.paddingLG)??16,u=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,D.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:s,height:1}}),d=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,D.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:s},children:(0,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(tu.A,{}),children:this.context.t("Add tab")})})});return(0,D.jsxs)(O.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:[(0,D.jsx)(uW,{dependencyKey:this.getTabActiveKeySyncDependency(),onSync:this.synchronizeTabActiveKey}),(0,D.jsx)(uq.A,{activeKey:a,tabBarStyle:this.props.tabBarStyle,items:r,renderTabBar:i.size>0?e=>(0,D.jsx)(uU,{hiddenTabKeys:i,hiddenActiveTabLabel:o,items:r,tabBarProps:e}):void 0,onChange:e=>{var t;let l=this.getActiveTabKey();this.implicitActiveKey=void 0,this.commitTabActiveKey(e,{previousActiveKey:l,navigate:!!(null==(t=this.context.view)?void 0:t.navigation),rememberLocalTransition:!0})},tabBarExtraContent:{left:u,right:d}})]})}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,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(uL.z,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),(0,S._)(this,"tabBarExtraContent",{}),(0,S._)(this,"viewActivatedListener",void 0),(0,S._)(this,"dataSourceDirtyListener",void 0),(0,S._)(this,"lastSeenEmitterViewActivatedVersion",0),(0,S._)(this,"dirtyRefreshScheduled",!1),(0,S._)(this,"unmounted",!1),(0,S._)(this,"documentTitleUpdateVersion",0),(0,S._)(this,"implicitActiveKey",void 0),(0,S._)(this,"locallyCommittedTabTransition",void 0),(0,S._)(this,"synchronizeTabActiveKey",e=>{let t=this.resolveTabActiveState(),l=t.allTabs.length>0&&0===t.unhiddenTabs.length,n=(e,t)=>({previousEffectiveActiveKey:e,effectiveActiveKey:e,previousAllHidden:l,lastCorrectionSignature:t});if("unknown"===t.status)return n(t.effectiveKey);if("visible"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return n(l);let r=e.previousAllHidden&&"url"!==t.source,i=!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==l;if((r||i)&&l){let r=`visible:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return r!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:"implicit"===t.source}),n(l,r)}return n(l)}if("hidden"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return n(l);if(l&&e.previousEffectiveActiveKey!==l){let r=`hidden:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return r!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),n(l,r)}return n(l)}let r=t.effectiveKey;if(!r){if(!l){if("implicit"!==t.source||!t.key)return n(void 0);let l=`implicit-missing:${e.previousEffectiveActiveKey||""}`;return l!==e.lastCorrectionSignature&&this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),n(void 0,l)}let r=`all-hidden:${e.previousEffectiveActiveKey||""}`;return e.previousAllHidden||r===e.lastCorrectionSignature||(this.implicitActiveKey=void 0,this.props.tabActiveKey||e.previousEffectiveActiveKey?this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}):this.requestDocumentTitleUpdate()),n(void 0,r)}let i=e.previousAllHidden||!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==r,o=`implicit:${e.previousEffectiveActiveKey||""}->${r}`;return i&&o!==e.lastCorrectionSignature?this.commitTabActiveKey(r,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:!0}):this.rememberImplicitActiveKey(r),n(r,i?o:void 0)}),(0,S._)(this,"createPageTabModelOptions",()=>{let e=(0,iF.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,iF.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}})}}uH.registerEvents({close:{title:(0,O.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,O.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":uV.H}},handler:uV.b}}),uH.registerFlow({key:"closeGuard",title:(0,O.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,O.tExpr)("Unsaved changes confirmation"),handler:uz}}}),uH.registerFlow({key:"pageSettings",title:(0,O.tExpr)("Page settings"),steps:{general:{title:(0,O.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,O.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,O.tExpr)("Document title"),description:(0,O.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":aR.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,O.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,O.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})),await e.model.updateDocumentTitle()}}}});var uY=l(68904);class uG extends uH{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,D.jsx)("div",{style:r,children:(0,D.jsx)(uJ,{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,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,D.jsx)(uL.z,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,D.jsxs)(D.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),(0,S._)(this,"tabBarExtraContent",{left:(0,D.jsx)(uJ,{})}),(0,S._)(this,"createPageTabModelOptions",()=>({use:"ChildPageTabModel"}))}}let uJ=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,O.useFlowContext)(),n=l.themeToken,r=32,i=(null==n?void 0:n.paddingLG)??16,o=(0,M.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,D.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,D.jsx)(eG.Ay,{"aria-label":"back-button",type:"text",icon:(0,D.jsx)(uY.A,{}),style:o,onClick:l.view.close})};class uX extends O.FlowModel{}uX.registerFlow({key:"pageSettings",title:(0,O.tExpr)("Page settings"),steps:{general:{title:(0,O.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,O.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,O.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 uQ extends uX{renderFirstTab(){var e;return(0,D.jsx)(O.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(uL.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function uZ(e){let{ctx:t,options:l}=e,{data:n,loading:r}=(0,r2.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,D.jsx)(O.FlowModelRenderer,{model:n,fallback:(0,D.jsx)(r4,{style:{margin:i}})}):(0,D.jsx)(r4,{style:{margin:i}})}function u0(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}function u1(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function u2(e){return u1(e)}let u5=new WeakMap;async function u4(e){let t=(u5.get(e)||Promise.resolve()).catch(()=>void 0).then(()=>e.refreshAccessible());u5.set(e,t);try{await t}finally{u5.get(e)===t&&u5.delete(e)}}class u8 extends O.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:O.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,D.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,D.jsx)(eR.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,D.jsxs)("span",{style:{display:"inline-block"},children:[(0,D.jsx)(eR.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}u8.registerFlow({key:"pageTabSettings",title:(0,O.tExpr)("Tab settings"),steps:{tab:{title:(0,O.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,O.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,O.tExpr)("Document title"),description:(0,O.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":aR.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,O.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);await (null==r||null==(l=r.updateDocumentTitle)?void 0:l.call(r))}},linkageRules:{use:"tabLinkageRules"}}});class u3 extends u8{onInit(e){super.onInit(e),this.shouldHydratePersistedLinkageRules()&&this.hydratePersistedLinkageRules().catch(e=>{console.warn("[RootPageTabModel] Failed to hydrate tab linkage rules",e)})}hasExplicitLinkageRulesStep(){var e;let t=null==(e=this.stepParams)?void 0:e.pageTabSettings;return u1(t)&&Object.prototype.hasOwnProperty.call(t,"linkageRules")}shouldHydratePersistedLinkageRules(){var e,t;return!!this.context.flowSettingsEnabled||(null==(t=this.props.route)||null==(e=t.options)?void 0:e.hasPersistedPageTabFlowModel)===!0}async fetchPersistedAnchor(){var e;let t=await this.context.api.request({url:"flowModels:findOne",params:{uid:this.uid}}),l=null==t||null==(e=t.data)?void 0:e.data;return u1(l)?l:void 0}async performPersistedLinkageRulesHydrate(){if(this.hasExplicitLinkageRulesStep())return;let e=await this.fetchPersistedAnchor();if(this.hasExplicitLinkageRulesStep())return;let t=u1(null==e?void 0:e.stepParams)?e.stepParams:void 0,l=u1(null==t?void 0:t.pageTabSettings)?t.pageTabSettings:void 0,n=null==l?void 0:l.linkageRules;u2(n)&&(this.setStepParams("pageTabSettings","linkageRules",B().cloneDeep(n)),this.invalidateFlowCache("beforeRender",!0),await this.rerender())}hydratePersistedLinkageRules(){if(this.persistedLinkageRulesHydrated)return Promise.resolve();if(this.persistedLinkageRulesHydrating)return this.persistedLinkageRulesHydrating;let e=this.performPersistedLinkageRulesHydrate();return this.persistedLinkageRulesHydrating=e,e.then(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrated=!0,this.persistedLinkageRulesHydrating=void 0)}).catch(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrating=void 0)}),e}async openFlowSettings(e){return(null==e?void 0:e.flowKey)==="pageTabSettings"&&(null==e?void 0:e.stepKey)==="linkageRules"&&await this.hydratePersistedLinkageRules(),super.openFlowSettings(e)}renderChildren(){return(0,D.jsx)(uZ,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){let e=this.hasExplicitLinkageRulesStep(),t=e?B().cloneDeep(this.stepParams.pageTabSettings.linkageRules):void 0;await this.save(),e&&t&&await this.persistLinkageRulesToAnchor(t)}async save(){var e,t,l,n,r,i,o,a,s,u,d,c;let p=this.serialize(),h=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,f=this.props.route||{},m=null!=f.id,g=m&&f.schemaUid?null==(r=this.context.routeRepository)||null==(n=r.getRouteBySchemaUid)?void 0:n.call(r,f.schemaUid):void 0,v={...m?{schemaUid:f.schemaUid}:f,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{...g?g.options:f.options,flowRegistry:p.flowRegistry,documentTitle:h}},y=await this.context.api.request(m?{method:"post",url:`desktopRoutes:update?filter[id]=${f.id}`,data:v}:{method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:v}),b=u0(null==y||null==(i=y.data)?void 0:i.data);b&&this.setProps("route",{...this.props.route,...b,options:{...null==(o=this.props.route)?void 0:o.options,...b.options}});try{(null==(a=this.context.routeRepository)?void 0:a.refreshAccessible)?await u4(this.context.routeRepository):await (null==(s=(u=this.context).refreshDesktopRoutes)?void 0:s.call(u))}catch(e){null==(c=this.context.logger)||null==(d=c.warn)||d.call(c,{err:e},"[client-v2] Failed to refresh desktop routes after saving a page tab")}}buildAnchorPayload(e,t){let l="string"==typeof(null==e?void 0:e.uid)&&e.uid.length>0?B().cloneDeep(e):{uid:this.uid,use:"RouteModel"};delete l.subModels;let n=u1(l.stepParams)?l.stepParams:{},r=u1(n.pageTabSettings)?n.pageTabSettings:{};return{...l,stepParams:{...n,pageTabSettings:{...r,linkageRules:B().cloneDeep(t)}}}}async persistLinkageRulesToAnchor(e){let t=await this.fetchPersistedAnchor(),l=this.buildAnchorPayload(t,e);await this.context.api.request({method:"post",url:"flowModels:save",data:l});let n=Array.isArray(e.value)&&e.value.length>0;await this.syncPersistedPageTabFlowModelMarker(n),this.persistedLinkageRulesHydrated=!0}async syncPersistedPageTabFlowModelMarker(e){var t,l,n;let r=this.props.route;if((null==r?void 0:r.id)==null)throw Error("Cannot persist page tab FlowModel marker before the desktop route is saved.");if("function"!=typeof(null==(t=this.context.routeRepository)?void 0:t.updateRoute))throw Error("Route repository is unavailable while persisting the page tab FlowModel marker.");let i=r.schemaUid?null==(l=(n=this.context.routeRepository).getRouteBySchemaUid)?void 0:l.call(n,r.schemaUid):void 0,o={...(null==i?void 0:i.options)||r.options||{}};e?o.hasPersistedPageTabFlowModel=!0:delete o.hasPersistedPageTabFlowModel;let a=Object.keys(o).length>0?o:void 0;await this.context.routeRepository.updateRoute(r.id,{options:a},{refreshAfterMutation:!1}),this.setProps("route",{...r,options:a})}async destroy(){return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid),await this.context.api.request({method:"post",url:"desktopRoutes:destroy",params:{filter:{schemaUid:this.uid}},data:this.props.route}),!0}constructor(...e){super(...e),(0,S._)(this,"persistedLinkageRulesHydrated",!1),(0,S._)(this,"persistedLinkageRulesHydrating",void 0)}}class u6 extends u8{renderChildren(){return(0,D.jsx)(uZ,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class u9 extends O.FlowModel{render(){return(0,D.jsx)(uZ,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class u7 extends uH{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,O.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,S._)(this,"mounted",!1)}}u7.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),B().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 de extends uX{renderFirstTab(){var e;return(0,D.jsx)(O.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(uL.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}class dt extends s0.S0{constructor(...e){super(...e),(0,S._)(this,"defaultProps",{title:(0,O.tExpr)("Popup"),icon:"ExportOutlined"})}}dt.define({label:(0,O.tExpr)("Popup")}),dt.registerFlow(ey);var dl=l(33297);class dn extends dt{getAclActionName(){return"create"}constructor(...e){super(...e),(0,S._)(this,"defaultPopupTitle",(0,O.tExpr)("Add new")),(0,S._)(this,"defaultProps",{type:"primary",title:(0,O.tExpr)("Add new"),icon:"PlusOutlined"})}}(0,S._)(dn,"scene",s0.s5.collection),dn.define({label:(0,O.tExpr)("Add new"),sort:10});let dr=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"))},di=e=>{var t;return!!(null==(t=dr(e))?void 0:t.associationName)},da=e=>{var t,l,n,r;let i=dr(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)}},ds=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,u=dr(e);return{collectionField:s,sourceId:(null==a||null==(r=a.resource)||null==(n=r.getSourceId)?void 0:n.call(r))??(null==u?void 0:u.sourceId),associatedRecords:(null==a||null==(o=a.resource)||null==(i=o.getData)?void 0:i.call(o))||[]}},du=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}))},dd=async e=>{var t,l,n,r,i,o,a,s,u,d,c,p;let h=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),f=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!di(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(d=e.message)||null==(u=d.error)||u.call(d,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 m=null==f||null==(n=f.getFilterByTK)?void 0:n.call(f,e.record);await du(h,"remove",[m]),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"))},dc=async(e,t)=>{var l,n,r,i,o,a,s,u,d,c,p;let h=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),f=(null==e||null==(n=e.blockModel)?void 0:n.collection)||(null==e?void 0:e.collection);if(!di(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(d=e.message)||null==(u=d.error)||u.call(d,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 m=t.map(e=>{var t;return(null==f||null==(t=f.getFilterByTK)?void 0:t.call(f,e))??e}).filter(e=>null!=e);await du(h,"add",m),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 dp(e){let{options:t}=e,l=(0,O.useFlowViewContext)(),{data:n,loading:r}=(0,r2.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,D.jsx)(O.FlowModelRenderer,{model:n,fallback:(0,D.jsx)(r4,{style:{margin:16}})}):(0,D.jsx)(r4,{style:{margin:16}})}function dh(e){let{model:t}=e,l=(0,O.useFlowViewContext)(),{Header:n,Footer:r,type:i}=l.view;return(0,D.jsxs)("div",{children:[(0,D.jsx)(n,{title:"dialog"===i?(0,D.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,D.jsx)(dp,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,D.jsx)(r,{children:"dialog"===i?(0,D.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,D.jsx)(eG.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,D.jsx)(eG.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class df extends s0.S0{getAclActionName(){return"update"}async associateSelectedRows(){await dc(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),(0,S._)(this,"defaultPopupTitle",(0,O.tExpr)("Select record")),(0,S._)(this,"selectedRows",[]),(0,S._)(this,"defaultProps",{title:(0,O.tExpr)("Associate"),icon:"LinkOutlined"})}}(0,S._)(df,"scene",s0.s5.collection),(0,S._)(df,"capabilityActionName","update"),df.define({label:(0,O.tExpr)("Associate"),sort:15,hide:e=>!di(e)}),df.registerFlow({key:"associateSettings",title:(0,O.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,n,r;let i=da(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,...ds(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,D.jsx)(dh,{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 dm extends s0.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,S._)(this,"defaultProps",{title:(0,O.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,S._)(dm,"scene",s0.s5.collection),(0,S._)(dm,"capabilityActionName","destroyMany"),dm.define({label:(0,O.tExpr)("Delete")}),dm.registerFlow({key:"deleteSettings",title:(0,O.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Delete record"),content:(0,O.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 dg extends s0.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,S._)(this,"defaultProps",{type:"link",title:(0,O.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,S._)(dg,"scene",s0.s5.record),dg.define({label:(0,O.tExpr)("Delete"),sort:60}),dg.registerFlow({key:"deleteSettings",title:(0,O.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Delete record"),content:(0,O.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 dv extends s0.S0{getAclActionName(){return"update"}constructor(...e){super(...e),(0,S._)(this,"defaultProps",{type:"link",title:(0,O.tExpr)("Disassociate"),icon:"DisconnectOutlined"})}}(0,S._)(dv,"scene",s0.s5.record),(0,S._)(dv,"capabilityActionName","update"),dv.define({label:(0,O.tExpr)("Disassociate"),sort:65,hide:e=>!di(e)}),dv.registerFlow({key:"disassociateSettings",title:(0,O.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Disassociate record"),content:(0,O.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await dd(e)}}}});class dy extends dt{getAclActionName(){return"update"}constructor(...e){super(...e),(0,S._)(this,"defaultPopupTitle",(0,O.tExpr)("Edit")),(0,S._)(this,"defaultProps",{title:(0,O.tExpr)("Edit"),icon:"EditOutlined"})}}(0,S._)(dy,"scene",s0.s5.record),dy.define({label:(0,O.tExpr)("Edit"),sort:20});var db=l(94384),dx=l(68669);class dw extends s0.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=dA(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(O.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,D.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,D.jsx)(dx.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,D.jsx)(aq.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),(0,D.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,D.jsx)(lm.A,{open:this.props.open,content:(0,D.jsx)(dx.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,D.jsx)(aq.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,S._)(this,"map",new WeakMap),(0,S._)(this,"defaultProps",{type:"default",title:(0,O.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}})}}function dS(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,eR.w6)(e.interface,...n);return!!(null==t?void 0:t.filterable)})}function dA(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}(0,S._)(dw,"scene","collection"),dw.define({label:(0,O.tExpr)("Filter"),toggleable:!0,sort:5}),dw.registerFlow({key:"filterSettings",title:(0,O.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,O.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,O.useFlowSettingsContext)(),n=dS(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,D.jsx)(db.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:dS(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,O.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,O.useFlowSettingsContext)();return(0,D.jsx)(aq.I8,{value:e.value||{},FilterItem:e=>(0,D.jsx)(aq.Et,{...e,model:t,maxAssociationFieldDepth:2})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",B().cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",B().cloneDeep(t.defaultFilter))}}}}),dw.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,es.transformFilter)(e.model.props.filterValue),i=!(0,es.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)}}}}),dw.registerFlow({key:"resetSettings",title:(0,O.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,es.isEmptyFilter)((0,es.transformFilter)(i));"manual"!==r||o||l.hasActiveFilters()?(o&&(n.addFilterGroup(e.model.uid,(0,es.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",B().cloneDeep(i))}}}}),dw.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var dM=l(89378);function dk(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 dF extends s0.S0{constructor(...e){super(...e),(0,S._)(this,"defaultProps",{type:"default",title:(0,O.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}dF.define({label:(0,O.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),dF.registerFlow({key:"clickSettings",on:"click",title:(0,O.tExpr)("Click settings"),steps:{runJs:{title:(0,O.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":dM.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
444
+ `,rP={token:{colorSplit:"rgba(255, 255, 255, 0.1)"}};function rj(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 rE=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)"}),rR=()=>null,rT=e=>"function"==typeof(null==e?void 0:e.getActionId)?e.getActionId():(null==e?void 0:e.actionId)||(null==e?void 0:e.uid)||"",rI="plugin-settings",r_=M.memo(e=>{let{allow:t}=(0,rk.K)(),{token:l}=X.A.useToken(),n=l,r=(0,M.useMemo)(()=>rj(e.actions,t),[t,e.actions]),i=r.filter(e=>{let t=rT(e);return t!==rI&&t!==nT}),o=r.find(e=>rT(e)===rI),a=r.find(e=>rT(e)===nT);return(0,D.jsxs)("div",{className:rF,style:rE(n),children:[(0,D.jsx)("div",{className:"nb-topbar-actions-list",onClick:e.onActionClick,children:i.map(e=>(0,D.jsx)(V.tH,{FallbackComponent:rR,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,D.jsx)(O.FlowModelRenderer,{model:e})},e.uid))}),(0,D.jsx)(Q.Ay,{theme:rP,children:(0,D.jsx)(lY.A,{type:"vertical"})}),(0,D.jsxs)("div",{className:"nb-topbar-utility-actions-list",children:[o?(0,D.jsx)("span",{className:"nb-topbar-plugin-settings-action",onClick:e.onActionClick,children:(0,D.jsx)(V.tH,{FallbackComponent:rR,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,D.jsx)(O.FlowModelRenderer,{model:o})},o.uid)}):null,(0,D.jsx)(ne,{}),a?(0,D.jsx)(V.tH,{FallbackComponent:rR,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,D.jsx)(O.FlowModelRenderer,{model:a})},a.uid):null]})]})});r_.displayName="TopbarActionsContent";let rD=M.memo(e=>{let{token:t}=X.A.useToken(),l=t,[n,r]=(0,M.useState)(!1),i=(0,M.useCallback)(()=>{r(!1)},[]);return e.isMobile?(0,D.jsx)(lm.A,{rootClassName:rC,content:(0,D.jsx)(r_,{actions:e.actions,onActionClick:i}),color:l.colorBgHeader,trigger:"click",open:n,onOpenChange:r,children:(0,D.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,D.jsx)(lf.A,{style:{color:l.colorTextHeaderMenu,fontSize:20}})})}):(0,D.jsx)(r_,{actions:e.actions})});rD.displayName="TopbarActionsBar";let rN=e=>{let{children:t,model:l}=e,n=(0,O.useFlowEngine)(),r=(0,W.n)(),i=(0,K.useNavigate)(),o=(0,K.useLocation)(),a=(0,K.useMatches)(),[s,u]=(0,M.useState)(!1),d=(0,M.useRef)(!1),c=n.context.routeRepository,p=null==l?void 0:l.layout,h=null==p?void 0:p.uid,f=null==p?void 0:p.routeName,m=null==p?void 0:p.routePath,g=null==p?void 0:p.authCheck,v=(0,M.useMemo)(()=>{if(h||f||m||void 0!==g)return{authCheck:g,routeName:f,routePath:m||"",uid:h}},[g,f,m,h]),y=e2(v),b=(null==v?void 0:v.routeName)||"admin",x=(0,M.useMemo)(()=>({routePath:y}),[y]),w=(0,M.useMemo)(()=>e3(o.pathname,r.router.getBasename())===y,[r,y,o.pathname]),S=(0,M.useMemo)(()=>{var e,t;let l=a[a.length-1];if(!eO(b,null==l?void 0:l.id))return"";let n=a.find(e=>e.id===b);return(null==(e=l.params)?void 0:e.name)||(null==(t=(0,O.parsePathnameToViewParams)(o.pathname,{basePath:(null==n?void 0:n.pathname)||y})[0])?void 0:t.viewUid)||""},[b,y,o.pathname,a]);return((0,M.useEffect)(()=>{d.current=!1},[o.pathname,o.search,o.hash,S]),(0,M.useEffect)(()=>{var e;let t=!0,l=null==c||null==(e=c.activateLayout)?void 0:e.call(c,v);return(async()=>{var e,l,n,o,a;if(u(!1),!w&&!S){t&&u(!0);return}if(!(null==c||null==(e=c.isAccessibleLoaded)?void 0:e.call(c)))try{await (null==c||null==(n=c.ensureAccessibleLoaded)?void 0:n.call(c))}catch(e){t&&u(!0);return}if(!t||d.current)return;if(S){let e=null==c||null==(o=c.getRouteBySchemaUid)?void 0:o.call(c,S);if((null==e?void 0:e.type)===eR.q2.page){let t=to({app:r,route:e,layout:x,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===t.navigationMode&&t.runtimePath){d.current=!0,window.location.replace(t.runtimePath);return}}let l=e||null==c||null==(a=c.getRouteById)?void 0:a.call(c,S);if(!e&&(null==l?void 0:l.type)===eR.q2.group){let e=to({app:r,route:l,layout:x});if(e.runtimePath)return(d.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):i(e3(e.runtimePath,r.router.getBasename()),{replace:!0})}t&&u(!0);return}let s=tn((null==c||null==(l=c.listAccessible)?void 0:l.call(c))||[]);if(!s){t&&u(!0);return}let p=to({app:r,route:s,layout:x});if(!p.runtimePath){t&&u(!0);return}(d.current=!0,"document"===p.navigationMode)?window.location.replace(p.runtimePath):i(e3(p.runtimePath,r.router.getBasename()),{replace:!0})})(),()=>{t=!1,null==l||l()}},[r,n,w,v,x,o.hash,o.pathname,o.search,i,S,c]),s)?(0,D.jsx)(D.Fragment,{children:t}):null};class rO extends eW{refreshMenuRouteTree(){this.menuRouteRefreshVersion+=1}syncMenuRoutes(e){t7(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(lu("schema-initializer-Menu-header",this)):t.unshift(lu("schema-initializer-Menu-header",this))),{path:"/",children:t}}createRouteCoordinator(){return new ta(this.flowEngine,this.getRouteCoordinatorOptions())}render(){return(0,D.jsx)(rN,{model:this,children:(0,D.jsx)(rM,{...this.props,model:this})})}constructor(e){super(e),(0,S._)(this,"menuRouteRefreshVersion",0),(0,N.define)(this,{menuRouteRefreshVersion:N.observable.ref})}}function r$(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eH(e,ts,{...t,use:t.use||rO});if(!l&&t.required)throw Error("[NocoBase] FlowRoute requires admin-layout-model. Please render FlowRoute under AdminLayout.");return l}function rB(e){let{flowEngine:t,pageUid:l,active:n,refreshDesktopRoutes:r,layoutContentRef:i,getLayoutModel:o}=e,a=o(t),s=(0,M.useRef)(n),u=(0,M.useRef)(r);if(!a)throw Error("[NocoBase] FlowRoute requires layout model. Please render FlowRoute under Layout.");return s.current=n,u.current=r,(0,M.useEffect)(()=>(a.registerRoutePage(l,{active:s.current??!1,refreshDesktopRoutes:u.current,layoutContentElement:i.current}),()=>{a.unregisterRoutePage(l)}),[a,l,i]),(0,M.useEffect)(()=>{a.updateRoutePage(l,{active:n,refreshDesktopRoutes:r,layoutContentElement:i.current})},[n,a,l,r,i]),a}rO.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,D.jsx)(rD,{actions:l,isMobile:null==e?void 0:e.isMobile},"topbar-actions")]}}}});var rL=l(10159);let rq=e=>{e.context.defineProperty("deviceType",{get:()=>"browser"===rL.deviceType?"computer":rL.deviceType,cache:!1,meta:{type:"string",title:e.translate("Current device type"),interface:"select",uiSchema:{enum:[{label:e.translate("Computer"),value:"computer"},{label:e.translate("Mobile"),value:"mobile"},{label:e.translate("Tablet"),value:"tablet"},{label:e.translate("SmartTv"),value:"smarttv"},{label:e.translate("Console"),value:"console"},{label:e.translate("Wearable"),value:"wearable"},{label:e.translate("Embedded"),value:"embedded"}],"x-component":"Select"}},info:{description:"Current device type (computer/mobile/tablet/...).",detail:"string"}})},rV=e=>r$(e,{required:!0}),rz=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.uid)?eH(e,l.uid,{required:!0}):rV(e)},rK=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.routeName)&&"admin"!==l.routeName?"notFound":"redirect"},rU=e=>(null==e?void 0:e.authCheck)!==!1,rW=(e,t)=>{if(Array.isArray(e))for(let l of e){if(l.type!==eR.q2.group&&l.schemaUid===t||l.type===eR.q2.group&&null!=l.id&&String(l.id)===t)return l;let e=rW(l.children,t);if(e)return e}},rH=(e,t)=>{var l,n;let r=null==e||null==(l=e.getRouteBySchemaUid)?void 0:l.call(e,t);return r&&r.type!==eR.q2.group?r:rW(null==e||null==(n=e.listAccessible)?void 0:n.call(e),t)},rY=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},rG=e=>{let{pageUid:t,active:l,getLayoutModel:n}=e,r=(0,O.useFlowEngine)(),{active:i}=(0,lB.Y)(),o=r.context.routeRepository,a=M.useMemo(()=>null==o?void 0:o.refreshAccessible.bind(o),[o]),s=(0,M.useRef)(null);return(0,M.useEffect)(()=>{r.context.getPropertyOptions("deviceType")||rq(r)},[r]),rB({flowEngine:r,pageUid:t,active:l??i,refreshDesktopRoutes:a,layoutContentRef:s,getLayoutModel:n}),(0,D.jsx)("div",{ref:s})},rJ=(e,t)=>{let l=e.getPublicPath(),n=window.location.pathname.startsWith(l)?window.location:t,r=n.pathname.startsWith(l)?n.pathname.slice(l.length):n.pathname.replace(/^\/+/,"");return`${(0,eX.LL)(l)}${r}${n.search}${n.hash}`},rX=e=>{let{app:t,location:l}=e,{t:n}=(0,eJ.B)(),r=`/${(0,eX.lb)()}/`,i=e=>e.replaceAll("{{modernClientPath}}",r);return(0,D.jsx)(eY.Ay,{status:"warning",title:i(n("This page is not supported in the {{modernClientPath}} branch")),subTitle:i(n("The {{modernClientPath}} branch only supports new pages. This page is a legacy page. Please open it from the original entry.")),extra:(0,D.jsx)(eG.Ay,{href:rJ(t,l),type:"primary",children:n("Open from the original entry")})})},rQ=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{active:t,getLayoutModel:l,legacyPageBehavior:n,pageUid:r}=e,i=(0,O.useFlowEngine)(),o=(0,O.useFlowContext)(),a=null==o?void 0:o.layout,s=(0,M.useMemo)(()=>null==l?void 0:l(i),[i,l]),u=a||(null==s?void 0:s.layout),d=null==u?void 0:u.uid,c=null==u?void 0:u.routeName,p=null==u?void 0:u.routePath,h=null==u?void 0:u.authCheck,f=(0,M.useMemo)(()=>{if(d||c||p||void 0!==h)return{authCheck:h,routeName:c,routePath:p,uid:d}},[h,c,p,d]),m=(0,M.useMemo)(()=>l||(e=>rz(e,f)),[l,f]),g=n||rK(i,f),v=(0,W.n)(),y=(0,K.useLocation)(),b=(0,K.useNavigate)(),x=i.context.routeRepository,w=(0,K.useParams)(),S=r||(null==w?void 0:w.name),A=void 0!==(null==w?void 0:w.tabUid)||void 0!==(null==w?void 0:w["*"]),k=!x,[F,C]=(0,M.useState)({pageUid:void 0,pending:!0,allowBridge:!1,notFound:!1}),P=(0,M.useRef)(!1),j=(0,M.useRef)(0);if(!S)throw Error("[NocoBase] FlowRoute requires pageUid or route.params.name.");return(0,M.useEffect)(()=>{P.current=!1},[y.hash,y.pathname,y.search,S]),(0,M.useEffect)(()=>{let e=!0,t=++j.current,l=rU(f);return(async()=>{var n,r,o,a;if(C({pageUid:S,pending:!0,allowBridge:!1,notFound:!1}),l&&!k&&!(null==x||null==(n=x.isAccessibleLoaded)?void 0:n.call(x)))try{await (null==x||null==(r=x.ensureAccessibleLoaded)?void 0:r.call(x))}catch(l){e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});return}if(!e||t!==j.current)return;let s=k||!l?void 0:rH(x,S);if(!s&&!k&&l)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if(!s&&"notFound"===g){let l=await rY(i,S);e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:l,notFound:!l});return}if((null==s?void 0:s.type)===eR.q2.group){if(A)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});let e=to({app:v,route:s,layout:f});return"emptyGroup"===e.reason?C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):e.runtimePath?P.current?C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):(P.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):b(e3(e.runtimePath,null==(a=v.router)||null==(o=a.getBasename)?void 0:o.call(a)),{replace:!0}):C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0})}if((null==s?void 0:s.type)===eR.q2.page){if("notFound"===g)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if("bridge"===g)return C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});let l=to({app:v,route:s,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===l.navigationMode&&l.runtimePath&&!P.current){P.current=!0,window.location.replace(l.runtimePath);return}if("unsupportedV2Runtime"===l.reason){e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1,legacyPageUnsupported:!0});return}}e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1})})(),()=>{e=!1}},[v,i,A,g,b,S,f,x,k]),(0,M.useMemo)(()=>F.pageUid!==S||F.pending?null:F.notFound?(0,D.jsx)(ep.bM,{}):F.legacyPageUnsupported?(0,D.jsx)(rX,{app:v,location:y}):F.allowBridge?(0,D.jsx)(rG,{pageUid:S,active:t,getLayoutModel:m}):null,[t,v,m,F.allowBridge,F.legacyPageUnsupported,F.notFound,F.pageUid,F.pending,y,S])};rQ.displayName="FlowRoute";let rZ=rQ,r0=e=>e.current,r1=e=>{let{layoutRouteName:t}=e,l=(0,W.n)(),n=(0,O.useFlowEngine)(),r=l.layoutManager.getLayout(t),i=(0,K.useLocation)(),o=(0,K.useMatches)(),a=eH(n,r.uid,{required:!0}),s="admin"===r.routeName?"redirect":"notFound",u=(0,M.useRef)(0),d=(0,M.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,state:i.state,params:(null==e?void 0:e.params)||{},layoutRouteName:r.routeName,layoutBasePathname:null==t?void 0:t.pathname}},[r.routeName,i.pathname,i.state,o]);if(!a)throw Error(`[NocoBase] Layout '${r.routeName}' model '${r.uid}' is not mounted.`);let c=a.resolveLayoutRoute(d),p=(0,M.useMemo)(()=>e=>eH(e,r.uid,{required:!0}),[r.uid]);return((0,M.useEffect)(()=>{let e=++u.current;return a.syncLayoutRoute(d),()=>{Promise.resolve().then(()=>{r0(u)===e&&a.clearLayoutRoute(d)}).catch(()=>{})}},[a,d]),"root"===c.type)?null:"notFound"===c.type?(0,D.jsx)(ep.bM,{}):(0,D.jsx)(rZ,{pageUid:c.pageUid,getLayoutModel:p,legacyPageBehavior:s})};var r2=l(66466),r5=l(42441);function r4(e){return(0,D.jsx)(n1.A,{...e,children:(0,D.jsx)(r5.A,{paragraph:{rows:3}})})}let r8=e=>e.current;function r3(e){return e===eW||(0,O.isInheritedFrom)(e,eW)}function r6(e,t){if(!(e instanceof eW))throw Error(`[NocoBase] Layout '${t.routeName}' requires model '${t.uid}' to be an instance of BaseLayoutModel.`)}async function r9(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(!r3(l))throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' must extend BaseLayoutModel.`)}let r7=e=>{let{layoutRouteName:t}=e,l=(0,W.n)(),n=(0,O.useFlowEngine)(),r=l.layoutManager.getLayout(t),i=(0,K.useLocation)(),o=(0,K.useMatches)(),a=o[o.length-1],s=o.find(e=>e.id===r.routeName),u=JSON.stringify((null==a?void 0:a.params)||{}),d=(0,M.useMemo)(()=>JSON.parse(u),[u]),c=(0,M.useRef)(0),p=(0,M.useMemo)(()=>({id:null==a?void 0:a.id,name:null==a?void 0:a.id,pathname:i.pathname,state:i.state,params:d,layoutRouteName:r.routeName,layoutBasePathname:null==s?void 0:s.pathname}),[null==a?void 0:a.id,d,r.routeName,null==s?void 0:s.pathname,i.pathname,i.state]),{loading:h,data:f,error:m}=(0,r2.A)(async()=>{let e=n.getModel(r.uid);if(e)return r6(e,r),e.setProps({layout:r}),e;await r9(n,r);let t=await n.createModelAsync({uid:r.uid,use:r.layoutModelClass,props:{layout:r}});return r6(t,r),t},{refreshDeps:[n,r]});if((0,M.useEffect)(()=>{if(!f)return;let e=++c.current;return f.syncLayoutRoute(p),()=>{Promise.resolve().then(()=>{r8(c)===e&&f.clearLayoutRoute(p)}).catch(()=>{})}},[f,p]),m)throw m;return h||!f?(0,D.jsx)(r4,{style:{margin:16}}):(0,D.jsx)(O.FlowModelRenderer,{model:f})},ie="RootPageModel",it="ChildPageModel",il=(e,t)=>{if("string"!=typeof e||""===e.trim())throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a non-empty string.`)},ir=(e,t)=>{if("string"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a string.`)},ii=(e,t)=>{void 0!==e&&il(e,t)},io=(e,t)=>{if(void 0!==e&&"boolean"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a boolean.`)};function ia(e){if(e.includes("..")||e.startsWith(".")||e.endsWith("."))throw Error(`[NocoBase] layoutManager.registerLayout() received invalid routeName '${e}'.`)}function is(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 iu(e){il(e.routeName,"routeName"),ir(e.routePath,"routePath"),il(e.uid,"uid"),il(e.layoutModelClass,"layoutModelClass"),ii(e.rootPageModelClass,"rootPageModelClass"),ii(e.childPageModelClass,"childPageModelClass"),io(e.authCheck,"authCheck"),ia(e.routeName);let t=is(e.routeName,e.routePath);return{routeName:e.routeName,rootRouteName:e.routeName.split(".")[0],routePath:t,uid:e.uid,layoutModelClass:e.layoutModelClass,rootPageModelClass:e.rootPageModelClass||ie,childPageModelClass:e.childPageModelClass||it,authCheck:e.authCheck??!0}}class id{registerLayout(e){let t=iu(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,D.jsx)(r7,{layoutRouteName:e.routeName})}),this.app.router.add(eT(t),{path:":name",authCheck:l,skipAuthCheck:n,element:(0,D.jsx)(r1,{layoutRouteName:e.routeName})}),this.app.router.add(eI(t),{path:":name/tab/:tabUid",authCheck:l,skipAuthCheck:n,element:(0,D.jsx)(r1,{layoutRouteName:e.routeName})}),this.app.router.add(e_(t),{path:":name/view/*",authCheck:l,skipAuthCheck:n,element:(0,D.jsx)(r1,{layoutRouteName:e.routeName})}),this.app.router.add(eD(t),{path:":name/tab/:tabUid/view/*",authCheck:l,skipAuthCheck:n,element:(0,D.jsx)(r1,{layoutRouteName:e.routeName})})}constructor(e){(0,S._)(this,"app",void 0),(0,S._)(this,"layouts",new Map),(0,S._)(this,"uidIndex",new Map),this.app=e}}class ic{activateLayout(e){let t=this.normalizeLayoutUid(null==e?void 0:e.uid),l=Symbol("route-layout");return this.layoutActivations.push({token:l,uid:t}),this.syncRoutesProperty(),()=>{let e=this.layoutActivations.findIndex(e=>e.token===l);e>=0&&this.layoutActivations.splice(e,1),this.syncRoutesProperty()}}setRoutes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getCurrentLayoutUid(),l=this.getRouteCache(t);l.routes=e,l.accessibleLoaded=!0,t===this.getCurrentLayoutUid()&&(this.routes=e),this.emitChange(t)}listAccessible(){let e=this.getRouteCache(this.getReadableLayoutUid()).routes;return this.routes=e,e}isAccessibleLoaded(){return this.getRouteCache().accessibleLoaded}async refreshAccessible(){let e=this.getCurrentLayoutUid();return this.refreshAccessibleByLayout(e)}async refreshAccessibleByLayout(e){var t;let l=this.nextRefreshRequestId(e),n=await this.getAPIClient().request({url:"/desktopRoutes:listAccessible",params:{tree:!0,sort:"sort",layout:e}}),r=(null==n||null==(t=n.data)?void 0:t.data)||[];return l===this.getRefreshRequestId(e)&&this.setRoutes(r,e),r}async ensureAccessibleLoaded(){let e=this.getCurrentLayoutUid(),t=this.getRouteCache(e);if(t.accessibleLoaded)return this.routes=t.routes,t.routes;let l=this.accessibleLoadingPromises.get(e);if(l)return l;let n=this.refreshAccessibleByLayout(e).finally(()=>{this.accessibleLoadingPromises.get(e)===n&&this.accessibleLoadingPromises.delete(e)});return this.accessibleLoadingPromises.set(e,n),n}subscribe(e){return this.subscribers.set(e,this.getCurrentLayoutUid()),()=>{this.subscribers.delete(e)}}unsubscribe(e){this.subscribers.delete(e)}async createRoute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshAfterMutation:l=!0}=t,n=await this.getResource("desktopRoutes").create({values:e,layout:this.getCurrentLayoutUid()});return l&&await this.refreshAccessible(),n}async updateRoute(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{refreshAfterMutation:n=!0}=l,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.listAccessible(),e)}getRouteById(e){return this.findRouteById(this.listAccessible(),e)}getAPIClient(){var e;if(!(null==(e=this.ctx)?void 0:e.api))throw Error("[NocoBase] RouteRepository requires context.api.");return this.ctx.api}getResource(e){return this.getAPIClient().resource(e)}emitChange(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid();this.subscribers.forEach((t,l)=>{if(t!==e)return;let n=this.notifiedLayoutUid;this.notifiedLayoutUid=e;try{l()}finally{this.notifiedLayoutUid=n}})}getCurrentLayoutUid(){var e;return(null==(e=this.layoutActivations[this.layoutActivations.length-1])?void 0:e.uid)||ts}normalizeLayoutUid(e){return"string"==typeof e&&e.trim()?e:ts}getReadableLayoutUid(){return this.notifiedLayoutUid||this.getCurrentLayoutUid()}getRouteCache(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid(),t=this.routeCaches.get(e);return t||(t={accessibleLoaded:!1,routes:[]},this.routeCaches.set(e,t)),t}syncRoutesProperty(){this.routes=this.getRouteCache().routes}nextRefreshRequestId(e){let t=this.getRefreshRequestId(e)+1;return this.refreshRequestIds.set(e,t),t}getRefreshRequestId(e){return this.refreshRequestIds.get(e)||0}findRoute(e,t){for(let l of e){if(l.schemaUid===t)return l;if(l.children){let e=this.findRoute(l.children,t);if(e)return e}}}findRouteById(e,t){for(let l of e){if(null!=l.id&&String(l.id)===String(t))return l;if(l.children){let e=this.findRouteById(l.children,t);if(e)return e}}}constructor(e){(0,S._)(this,"ctx",void 0),(0,S._)(this,"routes",void 0),(0,S._)(this,"subscribers",void 0),(0,S._)(this,"accessibleLoadingPromises",void 0),(0,S._)(this,"layoutActivations",void 0),(0,S._)(this,"routeCaches",void 0),(0,S._)(this,"refreshRequestIds",void 0),(0,S._)(this,"notifiedLayoutUid",void 0),this.ctx=e,this.routes=[],this.subscribers=new Map,this.accessibleLoadingPromises=new Map,this.layoutActivations=[],this.routeCaches=new Map,this.refreshRequestIds=new Map}}class ip{getURL(){if(!this.app)return;let e=this.app.getApiUrl();if(!e)return;let t="";if(this.getSubAppName(this.app))t=`?_app=${this.getSubAppName(this.app)}`;else{let e=(0,A.xW)(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,S._)(this,"_ws",void 0),(0,S._)(this,"_reconnectTimes",0),(0,S._)(this,"events",[]),(0,S._)(this,"options",void 0),(0,S._)(this,"app",void 0),(0,S._)(this,"enabled",void 0),(0,S._)(this,"connected",!1),(0,S._)(this,"serverDown",!1),(0,S._)(this,"lastMessage",{}),(0,S._)(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,N.define)(this,{serverDown:N.observable.ref,connected:N.observable.ref,lastMessage:N.observable.ref})}}function ih(){"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,es.getDayRangeByParams)(t)),Array.isArray(t))return n.$dateBetween(e,t);let l=ib(e),r=ib(t);return!!l&&!!r&&l.getTime()===r.getTime()},$dateBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,es.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=ib(e),n=ib(t);return!!l&&!!n&&l.getTime()<n.getTime()},$dateNotBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,es.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=ib(e),n=ib(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,es.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=ib(e),n=ib(t);return l.getTime()>n.getTime()},$dateNotAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,es.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=ib(e),n=ib(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,es.getDayRangeByParams)(t));let l=ib(e),n=im(t[0]),r=im(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,es.getDayRangeByParams)(t)),Array.isArray(t))return!n.$dateBetween(e,t);let l=ib(e),r=ib(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,u=l.getOperator(e),d=e[u];if(Array.isArray(d)||(d=[d]),"if"===u||"?:"==u){for(r=0;r<d.length-1;r+=2)if(l.truthy(l.apply(d[r],t)))return l.apply(d[r+1],t);return d.length===r+1?l.apply(d[r],t):null}if("$and"===u){for(r=0;r<d.length&&(i=l.apply(d[r],t),l.truthy(i));r+=1);return i}if("or"===u){for(r=0;r<d.length&&(i=l.apply(d[r],t),!l.truthy(i));r+=1);return i}if("filter"===u)return(a=l.apply(d[0],t),o=d[1],Array.isArray(a))?a.filter(function(e){return l.truthy(l.apply(o,e))}):[];if("map"===u)return(a=l.apply(d[0],t),o=d[1],Array.isArray(a))?a.map(function(e){return l.apply(o,e)}):[];else if("reduce"===u)return(a=l.apply(d[0],t),o=d[1],s=void 0!==d[2]?d[2]:null,Array.isArray(a))?a.reduce(function(e,t){return l.apply(o,{current:t,accumulator:e})},s):s;else if("all"===u){if(a=l.apply(d[0],t),o=d[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"===u){if(a=l.apply(d[0],t),o=d[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"===u){if(a=l.apply(d[0],t),o=d[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(d=d.map(function(e){return l.apply(e,t)}),Object.prototype.hasOwnProperty.call(n,u)&&"function"==typeof n[u])return n[u].apply(t,d);if(u.indexOf(".")>0){var c=String(u).split("."),p=n;for(r=0;r<c.length;r++){if(!Object.prototype.hasOwnProperty.call(p,c[r]))throw Error("Unrecognized operation "+u+" (failed at "+c.slice(0,r+1).join(".")+")");p=p[c[r]]}return p.apply(t,d)}throw Error("Unrecognized operation "+u)},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 im(e){return new Date(e.includes("T")&&e.endsWith("Z")?e:e.includes(" ")?e.replace(" ","T"):`${e}T00:00:00`)}function ig(e){let[t,l]=e.split("-").map(Number);return new Date(t,l-1)}function iv(e){return new Date(parseInt(e.slice(0,4)),(parseInt(e.slice(5,6))-1)*3)}function iy(e){return new Date(parseInt(e),0)}function ib(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 im(t);if(/^\d{4}-\d{2}$/.test(t))return ig(t);if(/^\d{4}Q[1-4]$/.test(t))return iv(t);else if(/^\d{4}$/.test(t))return iy(t);return null}var ix=l(42524),iw=l(89286),iS=l(36194),iA=l(52582),iM=l(20419),ik=l(78880),iF=l(27253),iC=l(43886),iP=l(5900),ij=l(2543);function iE(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 iR(){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,ij.cloneDeep)(l),r={},i={},o=0;return this(t.trim().replace(/{{\s*([\w$.-]+)\s*}}/g,(t,l)=>{if(l.startsWith("this."))return`{{${l}}}`;iE(n,l);let a=(0,ij.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 iT={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:iR.bind(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=iC._3(e,t);return"number"==typeof l?Number.isNaN(l)||!Number.isFinite(l)?null:iP.LIG(l,9):l instanceof iP.uqu?l.toArray():l},{replaceKey:!0})};var iI=l(8558);l(59961);let i_=Object.keys(iI).filter(e=>"default"!==e);function iD(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=Object.create(null);for(let e of i_)l[e]=iI[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 iN(e,t,l){return new Compartment(iD(t,l.blockedIdentifiers)).evaluate(e)}function iO(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={blockedIdentifiers:e.blockedIdentifiers};return iR.bind(function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=iN(e,l,t);return"number"==typeof n?Number.isNaN(n)||!Number.isFinite(n)?null:(0,iP.LIG)(n,9):n},{})}iO();let i$={label:"Formula.js",tooltip:'{{t("Formula.js supports most Microsoft Excel formula functions.")}}',link:"FORMULAJS_DOC_URL",evaluate:iO({blockedIdentifiers:[...es.BASE_BLOCKED_IDENTIFIERS,"window","document","parent","top","frames","navigator","location","localStorage","sessionStorage"]})},iB={label:"{{t('String template')}}",tooltip:"{{t('Simple string replacement, can be used to interpolate variables in a string.')}}",evaluate:iR.bind(function(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1],e},{replaceValue:!0})},iL=new es.Registry;function iq(){return Array.from(iL.getEntities()).reduce((e,t)=>{let[l,n]=t;return e.concat({value:l,...n})},[])}iL.register("formula.js",i$),iL.register("math.js",iT),iL.register("string",iB);let iV=iL;var iz=l(67377),iK=l(23490),iU=l(4213),iW=l(88909),iH=l(72635),iY=l(68984),iG=l(43627);function iJ(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 iX(e){iJ(e,"react",M),iJ(e,"react-dom",lv),iJ(e,"react/jsx-runtime",D),iJ(e,"react-router",K),iJ(e,"react-router-dom",z),iJ(e,"antd",iK),iJ(e,"@ant-design/icons",iw),iJ(e,"@ant-design/cssinjs",ix),iJ(e,"antd-style",iS),iJ(e,"i18next",iH),iJ(e,"react-i18next",iY),iJ(e,"@formily/antd-v5",iM),iJ(e,"@formily/core",ik),iJ(e,"@formily/react",lH),iJ(e,"@formily/reactive",N),iJ(e,"@formily/shared",iF),iJ(e,"@nocobase/utils",es),iJ(e,"@nocobase/utils/client",es),iJ(e,"@nocobase/client-v2",x),iJ(e,"@nocobase/client-v2/client-v2",x),iJ(e,"@nocobase/flow-engine",O),iJ(e,"@nocobase/evaluators",m),iJ(e,"@nocobase/evaluators/client",m),iJ(e,"@dnd-kit/core",lh),iJ(e,"@dnd-kit/sortable",iG),iJ(e,"@ctrl/tinycolor",iA),iJ(e,"ahooks",iz),iJ(e,"axios",iW.A),iJ(e,"dayjs",es.dayjs),iJ(e,"lodash",B()),iJ(e,"@emotion/css",en),iJ(e,"file-saver",iU)}var iQ=l(40407);let iZ=/^\/+/,i0=/\/+$/,i1=e=>{let t=iZ.exec(e);return t?e.slice(t[0].length):e},i2=e=>{let t=i0.exec(e);return t?e.slice(0,-t[0].length):e},i5=e=>`${i2(e)}/`,i4=e=>(0,U.isValidElementType)(e);class i8{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,N.define)(this,{maintained:N.observable.ref,maintaining:N.observable.ref,error:N.observable.ref,apps:N.observable})}initializeExtendedState(){this.systemSettings=new ef.o(this.apiClient)}afterManagersInitialized(){this.aiManager=new ed(this),this.jsonLogic=ih()}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,iQ.b)(),iX(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 ic(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,N.observable)({version:void 0})}),this.flowEngine.context.defineProperty("systemSettings",{get:()=>this.systemSettings})}addBaseProviders(){this.use(q.x,{i18n:this.i18n}),this.use(O.FlowEngineProvider,{engine:this.flowEngine}),this.use(ea),this.use(J)}addFinalProviders(){this.use(O.FlowEngineGlobalsContextProvider)}addReactRouterComponents(){this.addComponents({Link:z.Link,Navigate:K.Navigate,NavLink:z.NavLink})}addRoutes(){this.router.add("not-found",{path:"*",Component:()=>null})}updateFavicon(e){let t=document.querySelector('link[rel="shortcut icon"]');arguments.length>0&&(this.favicon=e||"");let l=this.favicon||this.getCdnUrl()+"favicon/favicon.ico";t?t.href=l:((t=document.createElement("link")).rel="shortcut icon",t.href=l,document.head.appendChild(t))}setWsAuthorized(e){this.wsAuthorized=e}setMaintaining(e){this.maintaining!==e&&(this.maintaining=e,e||this.eventBus.dispatchEvent(new Event("maintaining:end")))}getOptions(){return this.options}getName(){return(0,A.xW)(this.getPublicPath())||null}getCdnUrl(){return i5(window.__webpack_public_path__||(0,eX.LL)(this.getPublicPath()))}getPublicPath(){return i5(this.options.publicPath||"/")}getApiUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.apiClient.axios.defaults.baseURL??"";if(!t.startsWith("http://")&&!t.startsWith("https://")){let{protocol:e,host:l}=globalThis.window.location;t=`${e}//${l}${t}`}return`${i2(t)}/${i1(e)}`}getRouteUrl(e){return this.getPublicPath()+i1(e)}getHref(e){let t=this.name;return t&&"main"!==t?`${this.getPublicPath()}apps/${t}/${i1(e)}`:this.getPublicPath()+i1(e)}getComposeProviders(){let e=l6(...this.providers)(ep.ct);return e.displayName="Providers",e}use(e,t){return this.addProvider(e,t)}addProvider(e,t){return this.providers.push([e,t])}addProviders(e){e.forEach(e=>{Array.isArray(e)?this.addProvider(e[0],e[1]):this.addProvider(e)})}getComponent(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],l=e=>t&&console.error(e);if(!e)return void l(`getComponent called with ${e}`);if("string"==typeof e){let t=(0,$.get)(this.components,e);return t||void l(`Component ${e} not found`)}if(i4(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?M.createElement(n,t,l):null}addComponent(e,t){let l=e,n=t||l.displayName||l.name;n?(0,$.set)(this.components,n,e):console.error("Component must have a displayName or pass name as second argument")}addComponents(e){Object.keys(e).forEach(t=>{this.addComponent(e[t],t)})}setAppsComponent(e){let{Component:t}=e;this.apps.Component=t}setAppsProvider(e){let{loadAppList:t}=e;this.apps.loadAppList=t}getRootFallback(){return this.renderComponent("AppSpin")}getRootComponent(){let e=this.model,t=this.flowEngine,l=()=>this.getRootFallback();return n=>{let{children:r}=n;return(0,M.useLayoutEffect)(()=>{e.setProps({children:r})},[r]),(0,D.jsx)(O.FlowEngineProvider,{engine:t,children:(0,D.jsx)(O.FlowModelRenderer,{fallback:l(),model:e})})}}mount(e){let t=l3(e);if(t){let e=this.getRootComponent(),l=(0,L.createRoot)(t);return l.render((0,D.jsx)(e,{})),l}}createLayoutManager(e){return new id(this)}createWebSocketClient(e){return new ip(e.ws??!1)}getDefaultComponents(){return{AppNotFound:ep.bM,AppError:ep.uV,AppSpin:ep.gv,AppMaintaining:ep.be,AppMaintainingDialog:ep.tp}}constructor(e={}){(0,S._)(this,"options",void 0),(0,S._)(this,"eventBus",void 0),(0,S._)(this,"providers",void 0),(0,S._)(this,"router",void 0),(0,S._)(this,"scopes",void 0),(0,S._)(this,"i18n",void 0),(0,S._)(this,"ws",void 0),(0,S._)(this,"apiClient",void 0),(0,S._)(this,"components",void 0),(0,S._)(this,"pluginManager",void 0),(0,S._)(this,"pluginSettingsManager",void 0),(0,S._)(this,"layoutManager",void 0),(0,S._)(this,"entryActionManager",void 0),(0,S._)(this,"aiManager",void 0),(0,S._)(this,"devDynamicImport",void 0),(0,S._)(this,"requirejs",void 0),(0,S._)(this,"name",void 0),(0,S._)(this,"favicon",void 0),(0,S._)(this,"flowEngine",void 0),(0,S._)(this,"dataSourceManager",void 0),(0,S._)(this,"jsonLogic",void 0),(0,S._)(this,"context",void 0),(0,S._)(this,"systemSettings",void 0),(0,S._)(this,"maintained",void 0),(0,S._)(this,"maintaining",void 0),(0,S._)(this,"error",void 0),(0,S._)(this,"model",void 0),(0,S._)(this,"wsAuthorized",void 0),(0,S._)(this,"apps",void 0),this.options=e,this.eventBus=new EventTarget,this.providers=[],this.scopes={},this.components={},this.entryActionManager=new eh,this.maintained=!1,this.maintaining=!1,this.error=null,this.wsAuthorized=!1,this.apps={Component:null,loadAppList:null},this.initRequireJs(),this.defineObservableState(),this.devDynamicImport=e.devDynamicImport,this.scopes=(0,$.merge)(this.scopes,e.scopes),this.components=(0,$.merge)(this.getDefaultComponents(),e.components),this.name=this.options.name||(0,A.xW)(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 O.FlowEngine,this.flowEngine.registerModels({ApplicationModel:i9}),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 i3=new WeakMap,i6=new WeakMap;class i9 extends O.FlowModel{get app(){return this.context.app}getProviders(){return(0,_._)(this,i3,(0,T._)(this,i3)||this.app.getComposeProviders()),(0,T._)(this,i3)}getRouter(){return(0,_._)(this,i6,(0,T._)(this,i6)||this.app.router.getRouterComponent()),(0,T._)(this,i6)}render(){return this.app.maintaining&&!this.app.maintained?(0,D.jsx)(D.Fragment,{children:this.renderMaintaining()}):this.app.error&&!this.app.maintaining?(0,D.jsx)(D.Fragment,{children:this.renderError()}):(0,D.jsxs)(D.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,D.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,D.jsx)(V.tH,{FallbackComponent:t=>(0,D.jsx)(e,{app:this.app,...t}),onError:r,children:n})}constructor(...e){super(...e),(0,I._)(this,i3,{writable:!0,value:void 0}),(0,I._)(this,i6,{writable:!0,value:void 0})}}i9.registerFlow({key:"appFlow",steps:{init:{async handler(e){try{await e.app.load()}catch(t){e.model.app.error=t,console.error(t)}}}}});var i7=l(16350);let oe=[{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}],ot=[{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}],ol=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"}],on=[{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}],or=[{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}],oi=[{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}],oo=[{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}],oa=[{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}],os=[{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}],ou=[{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"}}}],od=[{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}],oc=[{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 op{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,S._)(this,"operators",{}),(0,S._)(this,"groups",{}),Object.entries(e).forEach(e=>{let[t,l]=e;this.registerGroup(t,l)})}}let oh=new op(g),of=oh.getGroups(),om=of;function og(e){return oh.resolveOperators(e)}function ov(e){if(!e)return e;let t=Array.isArray(e.operatorOverrides)?e.operatorOverrides:[];e.operatorGroup&&(e.operators=oy(og(e.operatorGroup),t));let l=e.operators;return"string"==typeof l?(e.operatorGroup=l,e.operators=oy(og(l),t)):Array.isArray(l)?e.operators=oy(l,t):t.length>0&&(e.operators=[...t]),Array.isArray(e.children)&&e.children.forEach(e=>{e&&"object"==typeof e&&ov(e)}),e}function oy(){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 ob(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...t,operatorGroup:e,operators:og(e)}}function ox(e,t){return{operators:e.flatMap(e=>{let{types:l,operators:n}=e;return og(n).map(e=>({...e,visible:n=>{let r=l.includes(t(n));return"function"==typeof e.visible?e.visible(n)&&r:r}}))})}}let ow="CollectionSelect",oS=new Set(["name","uiSchema.title"]),oA=new Set(["Grid","Grid.Row","Grid.Col","div"]);function oM(e){return{...e.context,...e.values}}function ok(e,t){if("boolean"==typeof e)return e;if("string"!=typeof e)return!1;let l=e.replace(/^\s*\{\{\s*/,"").replace(/\s*\}\}\s*$/,""),n=oM(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,$.get)(n,e);return"function"==typeof r&&!!r(...t.split(",").map(e=>e.trim()).filter(Boolean).map(e=>e.replace(/^['"]|['"]$/g,"")))}return!!(0,$.get)(n,t)};return l.split("||").some(e=>e.split("&&").every(e=>r(e)))}function oF(e){return"string"==typeof e?t=>ok(e,t):e}function oC(e){return(null==e?void 0:e["x-hidden"])!==void 0?oF(e["x-hidden"]):(null==e?void 0:e["x-visible"])!==void 0?t=>!ok(e["x-visible"],t):void 0}function oP(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 oP((null==o?void 0:o.properties)||{},t,{row:i,column:r,columnIndex:n,span:l})})}return o&&(!a||oA.has(a))?oP(o,t,l):[{name:i,schema:r,layout:l}]})}function oj(e,t){return!oS.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 oE(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return oP(e).filter(e=>{let{name:t,schema:l}=e;return oj(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:oC(r),disabled:oF(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 oR=[{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"}],oT=[{label:'{{t("12 hour")}}',value:"hh:mm:ss a"},{label:'{{t("24 hour")}}',value:"HH:mm:ss"}];function oI(e){return(0,$.get)(e,"uiSchema.x-component-props.picker")||"date"}function o_(e){return(0,$.get)(e,"uiSchema.x-component-props.showTime")}function oD(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("unique"===e||"primaryKey"===e)return{disabled:!l.createMainOnly||!!l.primaryKeyOnly};if("autoIncrement"===e)return{disabled:!l.createMainOnly};if(e.startsWith("reverseField."))return{disabled:"reverseField.type"===e||!l.showReverseFieldConfig,hidden:!l.showReverseFieldConfig};if("autoCreateReverseField"===e&&(0,$.get)(t,"reverseField.key"))return{disabled:!0};if("uiSchema.x-component-props.dateFormat"===e)return{componentProps:{picker:oI(t)}};if("uiSchema.x-component-props.showTime"===e)return{hidden:"date"!==oI(t)};if("uiSchema.x-component-props.timeFormat"===e)return{hidden:"date"!==oI(t)||!1===o_(t)};if("defaultValue"===e){let e=!!(0,$.get)(t,"primaryKey")||!!(0,$.get)(t,"unique")||!!(0,$.get)(t,"autoIncrement")||!!(0,$.get)(t,"defaultToCurrentTime");return{hidden:e,...e?{value:null,hasValue:!0}:null,componentProps:{gmt:(0,$.get)(t,"uiSchema.x-component-props.gmt"),showTime:(0,$.get)(t,"uiSchema.x-component-props.showTime"),dateFormat:(0,$.get)(t,"uiSchema.x-component-props.dateFormat"),timeFormat:(0,$.get)(t,"uiSchema.x-component-props.timeFormat"),picker:(0,$.get)(t,"uiSchema.x-component-props.picker"),format:(0,$.get)(t,"uiSchema.x-component-props.format")},dataSource:(0,$.get)(t,"uiSchema.enum")}}return("precision"===e||"scale"===e)&&"decimal"!==(0,$.get)(t,"type")?{hidden:!0}:{}}function oN(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,$.has)(r,"autoIncrement")&&!0!==l("autoIncrement")&&n("autoIncrement",!0)),t.createMainOnly&&o&&i&&"unique"===e.changedName&&n("primaryKey",!1),(0,$.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,$.has)(r,"uiSchema.x-component-props.picker")||(0,$.has)(r,"uiSchema.x-component-props.dateFormat")||(0,$.has)(r,"uiSchema.x-component-props.showTime")||(0,$.has)(r,"uiSchema.x-component-props.timeFormat")))return;let a=oI(r);"uiSchema.x-component-props.picker"===e.changedName&&(0,$.has)(r,"uiSchema.x-component-props.dateFormat")&&(0,$.get)(r,"uiSchema.x-component-props.dateFormat")!==(0,es.getPickerFormat)(a)&&n("uiSchema.x-component-props.dateFormat",(0,es.getPickerFormat)(a)),(0,$.has)(r,"uiSchema.x-component-props.showTime")&&"date"!==a&&!1!==o_(r)&&n("uiSchema.x-component-props.showTime",!1),(0,$.has)(r,"uiSchema.x-component-props.timeFormat")&&o_(r)&&!(0,$.get)(r,"uiSchema.x-component-props.timeFormat")&&n("uiSchema.x-component-props.timeFormat","HH:mm:ss")}function oO(){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 o$(){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:oR,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:oT,hidden:t=>!!("function"==typeof e.hidden&&e.hidden(t))||("boolean"==typeof e.hidden?e.hidden:!1===o_(t.values))}),t}function oB(){return[{name:"autoCreateReverseField",title:'{{t("Create inverse field in the target collection")}}',component:"Checkbox",defaultValue:!1},{name:"reverseField.type",title:'{{t("Inverse relationship type")}}',component:"Select",required:!0,options:[{label:"{{t('HasOne')}}",value:"hasOne"},{label:"{{t('HasMany')}}",value:"hasMany"},{label:"{{t('BelongsTo')}}",value:"belongsTo"},{label:"{{t('BelongsToMany')}}",value:"belongsToMany"}],hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:!0},{name:"reverseField.uiSchema.title",title:'{{t("Inverse field display name")}}',component:"Input",required:!0,hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}},{name:"reverseField.name",title:'{{t("Inverse field name")}}',component:"Input",required:!0,description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}",hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}}]}let oL=oB;function oq(){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 oV={key:"required",label:"Required",hasValue:!1,params:[]};function oz(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 oK{register(e){this.items.set(e.key,(0,$.cloneDeep)(e))}registerMany(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.forEach(e=>this.register(e))}registerGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,t)}addToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,[...this.groups.get(e)||[],...t])}get(e){return(0,$.cloneDeep)(this.items.get(e))}getGroup(e){return(this.groups.get(e)||[]).map(e=>"string"==typeof e?this.get(e):(0,$.cloneDeep)(e)).filter(Boolean)}constructor(){(0,S._)(this,"items",new Map),(0,S._)(this,"groups",new Map)}}let oU=new oK;function oW(e){oU.register(e)}function oH(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oU.registerGroup(e,t)}function oY(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oU.addToGroup(e,t)}oU.registerMany([oV,{key:"pattern",label:"Pattern",hasValue:!0,params:[{key:"regex",label:"Regular Expression",componentType:"text",required:!0}]},{key:"email",label:"Email",hasValue:!1,params:[],paramsType:"object"},{key:"uuid",label:"UUID",hasValue:!1,params:[],paramsType:"object"},{key:"length",label:"Length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"uri",label:"URI",hasValue:!1,params:[],paramsType:"object"},{key:"multiple",label:"Multiple of",hasValue:!0,params:[{key:"base",label:"Base",componentType:"inputNumber",required:!0}]},{key:"integer",label:"Integer",hasValue:!1,params:[]},{key:"precision",label:"Precision",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"unsafe",label:"Unsafe integer",hasValue:!1,params:[]},{key:"timestamp",label:"Timestamp",hasValue:!0,params:[{key:"type",label:"Type",componentType:"singleSelect",options:[{label:"JavaScript",value:"javascript"},{label:"Unix",value:"unix"}],defaultValue:"javascript"}]}]),oU.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"]),oU.registerGroup("number",["required",...oz("number"),"multiple","integer","precision","unsafe"]),oU.registerGroup("date",["required",...oz("date"),"timestamp"]),oU.registerGroup("object",["required"]);class oG{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)&&(ov(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){oh.register(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oh.registerGroup(e,t),this.normalizeFieldInterfaceFilterables()}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oh.addToGroup(e,t),this.normalizeFieldInterfaceFilterables()}registerFieldValidationConfigure(e){oW(e)}registerFieldValidationConfigureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oH(e,t)}addFieldValidationConfiguresToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oY(e,t)}getFieldValidationConfigureGroup(e){return oU.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:oE(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=>{ov(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,S._)(this,"dataSourceManager",void 0),(0,S._)(this,"collectionFieldInterfaceInstances",void 0),(0,S._)(this,"collectionFieldGroups",void 0),(0,S._)(this,"actionList",void 0),this.dataSourceManager=e,this.collectionFieldInterfaceInstances={},this.collectionFieldGroups={},this.actionList={}}}function oJ(e){return`${e}/client-v2`}function oX(e){return("default"in e?e.default:void 0)||e}function oQ(e,t){window.__nocobase_app_dev_plugins__=window.__nocobase_app_dev_plugins__||{},window.__nocobase_app_dev_plugins__[e]=t}function oZ(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=oJ(t);window.define(n,()=>l),oQ(n,l)})}function o0(e){Object.entries(e).forEach(e=>{let[t,l]=e,n=oJ(t);window.define(n,()=>l),oQ(n,l)})}function o1(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((e,t)=>(e[oJ(t.packageName)]=t.url,e),{})})}function o2(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&&oQ(oJ(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 o5(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];o1(e,t);let l=t.map(e=>oJ(e.packageName));return new Promise((n,r)=>{e.requirejs(l,o2(t,n),r)})}async function o4(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(let l of o8(e)){let e=await import(l.url),n=oX(e);n&&(t.push([l.name,n]),o0({[l.packageName]:e}))}return t}function o8(){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 o3(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=[],n=[],r=async()=>{if(0===n.length)return;let t=await o5(e,n);l.push(...t),n=[]};for(let e of o8(t)){if("esm"===e.devMode){await r();let t=await o4([e]);l.push(...t);continue}n.push(e)}return await r(),l}async function o6(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=oX(t);r.push([e.name,l]),i[e.packageName]=l,o[e.packageName]=t}}oZ(o)}let a=l.filter(e=>!i[e.packageName]),s=a.filter(e=>"esm"===e.devMode),u=a.filter(e=>"esm"!==e.devMode);if(0===s.length){if(0===u.length)return r;let e=await o5(t,u);return r.push(...e),r}let d=await o3(t,a);return r.push(...d),r}class o9{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 o6({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,S._)(this,"_plugins",void 0),(0,S._)(this,"loadRemotePlugins",void 0),(0,S._)(this,"app",void 0),(0,S._)(this,"pluginInstances",void 0),(0,S._)(this,"pluginsAliases",void 0),(0,S._)(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}}let o7="admin.settings.",ae="/admin/settings/",at="pm.";class al{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)??`${at}${e}`}getRouteName(e){return`${o7}${e}`}getRoutePath(e){let{menuName:t,pageName:l}=this.parseName(e),n=`${ae}${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:K.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])}setPluginSettingsLink(e,t){if(!e)throw Error("Plugin settings link pluginName is required");if(!t)throw Error("Plugin settings link settingsName is required");this.pluginSettingsLinks[e]=t}getPluginSettingsName(e){return this.pluginSettingsLinks[e]||e}hasPluginSettings(e){return this.has(this.getPluginSettingsName(e))}getPluginSettingsRoutePath(e){return this.getRoutePath(this.getPluginSettingsName(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,M.createElement)(ep.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:u,Component:d,...c}=e;return{...c,key:u,menuKey:s,pluginKey:u,name:u,title:i,label:i,icon:this.renderIcon(o),path:this.getRoutePath(u),sort:e.sort,isAllow:r,isTopLevel:!0,topLevelName:u,aclSnippet:this.getAclSnippet(u),Component:d,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,...u}=e;return{...u,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:K.Outlet})}syncPageRoute(e){let t=e.Component||K.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,S._)(this,"menus",{}),(0,S._)(this,"pages",{}),(0,S._)(this,"pluginSettingsLinks",{}),(0,S._)(this,"aclSnippets",[]),(0,S._)(this,"app",void 0),(0,S._)(this,"cachedList",{}),this.app=e}}var an=l(45588);function ar(){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 ai(e){let t=(0,K.useParams)(),l=(0,K.useLocation)(),n=(0,K.useMatches)(),r=e.flowEngine;(0,M.useEffect)(()=>{var l,i,o;let a=n[n.length-1];if(!a)return;let s=ar(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,M.useEffect)(()=>{r.context._observableCache.location=l},[r.context,l])}function ao(e){let{app:t}=e;return ai(t),null}let aa="/admin";function as(e){return e.split(/[?#]/)[0]}function au(e){let t=e.match(/^([^?#]*)(.*)$/);return{pathname:(null==t?void 0:t[1])||"",suffix:(null==t?void 0:t[2])||""}}function ad(e){let t=as(e||"").trim();return t&&"/"!==t?`/${t.replace(/^\/+|\/+$/g,"")}`:"/"}function ac(e){return e.startsWith("/")&&!e.startsWith("//")&&!e.startsWith("/\\")}function ap(e,t){let l=ad(e),n=ad(t);return"/"===n?l:l===n?"/":l.startsWith(`${n}/`)?ad(l.slice(n.length)):l}function ah(e){return ad(e).replace(/^\/(?:apps|_app)\/[^/]+(?=\/|$)/,"")||"/"}function af(e,t){return ah(ap(e,t))}function am(e,t){let l=ad(e),n=ad(t);return l===n||l.startsWith(`${n}/`)}function ag(e){if(e.replace||"string"!=typeof e.targetPathname)return!1;let t=e.targetPathname.trim();if(!ac(t))return!1;let l=ad(e.adminRoutePath||aa),n=af(e.currentPathname||"/",e.basePath),r=af(t,e.basePath);return!am(n,l)&&am(r,l)}function av(e,t){if(!t||"/"===t)return e;let l=t.replace(/\/$/,"");return e===l?"/":e.startsWith(`${l}/`)?e.slice(l.length)||"/":e}class ay{get basename(){return this.router.basename}get state(){return this.router.state}get navigate(){return this.navigateWithPortalPolicy}shouldOpenAdminRouteInNewWindow(e,t){var l,n,r;return(!this.options.type||"browser"===this.options.type)&&ag({currentPathname:"u">typeof window?window.location.pathname:null==(r=this.router)||null==(n=r.state)||null==(l=n.location)?void 0:l.pathname,targetPathname:e,basePath:this.getRuntimeBasePath(),adminRoutePath:this.getAdminRoutePath(),replace:null==t?void 0:t.replace})}getRuntimeBasePath(){return(0,eX.IE)(this.app)}getAdminRoutePath(){try{var e,t,l;return(null==(l=this.app.layoutManager)||null==(t=l.getLayout)||null==(e=t.call(l,"admin"))?void 0:e.routePath)||aa}catch{return aa}}getAdminRouteNavigationHref(e){let{pathname:t,suffix:l}=au(e.trim()),n=ad(t),r=this.getRuntimeBasePath(),i=ad(r);return"/"!==i&&(n===i||n.startsWith(`${i}/`))?`${n}${l}`:`${this.app.getHref(af(n,r))}${l}`}resolveLoadedComponent(e){if(e)return"function"==typeof e||"string"==typeof e?e:e.default||e.Component}createRouteLazyComponent(e){let t=M.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,D.jsx)(M.Suspense,{fallback:null,children:(0,D.jsx)(t,{...e})})}}getRoutesTree(){let e={};for(let[t,l]of Object.entries(this.routes))(0,$.set)(e,t.split(".").join(".children."),{...(0,$.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=M.createElement(this.createRouteLazyComponent(r)):n&&(s="string"==typeof n?this.app.renderComponent(n):M.createElement(n));let u={...a,element:s,children:o?t(o):void 0};e.push(u)}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,an.ue)(l,av(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:z.createHashRouter,browser:z.createBrowserRouter,memory:K.createMemoryRouter},r=this.getRoutesTree(),i=(0,M.createContext)(e=>e.children),o=()=>{let t=(0,M.useContext)(i);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(ao,{app:this.app}),(0,D.jsxs)(t,{children:[(0,D.jsx)(K.Outlet,{}),e]})]})},a=()=>{throw(0,K.useRouteError)()};return this.router=n[t]([{element:(0,D.jsx)(o,{}),errorElement:(0,D.jsx)(a,{}),children:r}],l),this.routerNavigate=this.router.navigate.bind(this.router),this.router.navigate=this.navigateWithPortalPolicy,e=>{let{BaseLayout:t=ep.ct}=e;return(0,D.jsx)(i.Provider,{value:t,children:(0,D.jsx)(ep.PK,{children:(0,D.jsx)(z.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,S._)(this,"routes",{}),(0,S._)(this,"options",void 0),(0,S._)(this,"routerNavigate",void 0),(0,S._)(this,"app",void 0),(0,S._)(this,"router",void 0),(0,S._)(this,"navigateWithPortalPolicy",(e,t)=>this.shouldOpenAdminRouteInNewWindow(e,t)?(window.open(this.getAdminRouteNavigationHref(e),"_blank","noopener,noreferrer"),Promise.resolve()):(this.routerNavigate||this.router.navigate.bind(this.router))(e,t)),this.options=e,this.app=t,this.routes=e.routes||{}}}var ab=l(24978);let ax=e=>{let{children:t}=e,{token:l}=X.A.useToken(),n=l.colorFillTertiary,r=new ab.q(l.colorFill).onBackground(l.colorFillSecondary).toHexShortString(),i=new ab.q(l.colorFill).onBackground(l.colorFill).toHexShortString(),o=new ab.q(l.colorFill).onBackground(l.colorFill).onBackground(l.colorFill).toHexShortString();return(0,M.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||Z.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};ax.displayName="CSSVariableProvider";let aw=ax;class aS extends i8{createApiClient(e){let t=new R({withCredentials:!0,...e.apiClient,appName:e.name||(0,A.xW)(e.publicPath)});return t.app=this,t}configureRuntimeAdapters(){this.dataSourceManager=this.flowEngine.context.dataSourceManager,this.dataSourceManager.setRequester(this.apiClient.request.bind(this.apiClient)),this.dataSourceManager.collectionFieldInterfaceManager||this.dataSourceManager.setCollectionFieldInterfaceManager(new oG(this.dataSourceManager))}createI18n(e){if(e.i18n)return e.i18n;let t=(0,iH.createInstance)();return t.use(i7.r9).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1}),t}createRouterManager(e){var t;let l=new ay(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 o9(e.plugins||[],!!e.loadRemotePlugins,this)}createPluginSettingsManager(e){return new al(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(aw)}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,S._)(this,"hasLoadError",!1)}}let aA=(0,M.createContext)(null);aA.displayName="ApplicationContext";var aM=l(36093),ak=l.n(aM);class aF extends aS{constructor(e={}){super({router:{type:"memory",initialEntries:["/"]},...e}),(0,S._)(this,"apiMock",void 0),this.apiMock=new(ak())(this.apiClient.axios),this.ws=new aC(e.ws||{})}}class aC extends ip{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,S._)(this,"eventBus",new EventTarget)}}function aP(e){return new aF(e)}class aj{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,S._)(this,"options",void 0),(0,S._)(this,"app",void 0),this.options=e,this.app=t,this.options=e,this.app=t}}var aE=l(84256),aR=l(47785);function aT(e){return"steps"in e&&e.steps||{}}function aI(e){let t=aT(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 a_(e){if(!aD(e))return;let t=aN(e);if(t())return(0,O.createRecordMetaFactory)(t,e.t("Response record"),()=>{let l=t(),n=aI(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 aD(e){var t;if(Object.prototype.hasOwnProperty.call(aT(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 aN(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 aO(e){let t=a_(e);if(!t){var l;return(null==(l=e.getPropertyMetaTree)?void 0:l.call(e))||[]}let n=new O.FlowContext;return n.addDelegate(e),n.defineProperty("responseRecord",{get:()=>aI(e),cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(aN(e),()=>aI(e)),meta:t}),n.getPropertyMetaTree()}function a$(e){let t=(0,O.useFlowSettingsContext)(),l=(0,M.useMemo)(()=>()=>aO(t),[t]);return(0,D.jsx)(aR.n,{...e,metaTree:l})}let aB=(0,O.defineAction)({name:"afterSuccess",title:(0,O.tExpr)("After successful submission"),defineProperties(e){let t=a_(e);return{responseRecord:{get:()=>aI(e),cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(aN(e),()=>aI(e)),...t?{meta:t}:{}}}},uiSchema:{successMessage:{type:"string",title:(0,O.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,O.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,O.tExpr)("Automatic close"),value:!1},{label:(0,O.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,O.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,O.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,O.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,O.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,O.tExpr)("Link"),"x-decorator":"FormItem","x-component":a$,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,O.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,es.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)}}),aL=(0,O.defineAction)({name:"confirm",title:(0,O.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,O.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,O.tExpr)("Title"),"x-decorator":"FormItem","x-component":aR.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,O.tExpr)("Content"),"x-decorator":"FormItem","x-component":aR.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,O.tExpr)("Please Confirm"),content:(0,O.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 aq=l(58528),aV=l(81486);let az={__nocobaseDataScopeNull__:!0},aK="{{$nRole}}",aU=/^\s*\{\{\s*ctx\.role\s*\}\}\s*$/;function aW(e){return"string"==typeof e&&aU.test(e)}function aH(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function aY(e){return aH(e)?null:Array.isArray(e)?e.map(e=>aY(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=aY(e[l]),t),{}):e}function aG(e){var t;return!!(0,O.isVariableExpression)(e)&&(null==(t=(0,O.extractPropertyPath)(e))?void 0:t[0])==="urlSearchParams"}function aJ(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){if(aW(e.value)){t.value=aK;return}(0,O.isVariableExpression)(e.value)&&!aG(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=az);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{aJ(e,t.items[l])})}}function aX(e,t){let l=B().cloneDeep(t);return aJ(e,l),aY((0,O.pruneFilter)((0,es.transformFilter)(l)))}var aQ=l(12197),aZ=l(47632);function a0(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function a1(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function a2(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,aQ.Qc)(l),l);return Array.from(t.values())}function a5(e){let t=a2(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&a1(e,t)))}function a4(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 a8(e){var t;let l=null==e?void 0:e.model;return a4((null==l||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function a3(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 a6(e,t){let l=a3(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function a9(e){return(0,aQ.EA)(e).filter(e=>"object"!=typeof e)}function a7(e){return(0,aQ.c1)(e)}function se(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,aQ.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,aQ.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,aQ.c1)(e);t.length&&r.push(t)}return r}function st(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 sl(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(st)||null}var sn=l(26866);function sr(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 si(e){var t,l;return sr((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 so(e){var t,l,n,r,i,o,a,s,u,d;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==(u=c.context)||null==(s=u.collectionField)?void 0:s.collection)??(null==c||null==(d=c.context)?void 0:d.collection)}function sa(e){var t,l,n,r,i,o,a,s,u,d,c,p;let h=e.model;return sr((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==(d=h.context)||null==(u=d.collectionField)||null==(s=u.targetCollection)?void 0:s.filterByTk)??(null==h||null==(p=h.context)||null==(c=p.collectionField)?void 0:c.targetKey))}function ss(e,t){let l=so(e),n=sa(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=si(n),l=null==n?void 0:n.targetCollection)}return{...e,filterTargetKey:t}})}function su(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 sd(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 sc(e,t){let l=e;for(let e of t){if(!sd(l,e))return{found:!1};l=l[e]}return{found:!0,value:l}}function sp(e){let t=e;return(null==t?void 0:t.allValuesSnapshot)??(null==t?void 0:t.allValues)}function sh(e,t){return e&&"object"==typeof e?(0,sn.r5)(e,t):null}function sf(e){let t=[];for(let l of e.entries)t.push(l.name,l.index);return t}function sm(e,t,l,n){if(null==l?void 0:l.rowDetached)return!1;let r=sf(t);if(!r.length||!t.identityTailPaths.length)return!1;let i=t.identityTailPaths.map(e=>[...r,...e]);return(n??se(e)).some(e=>i.some(t=>a1(t,e)))}function sg(e,t,l){return Array.isArray(e)&&t?e.findIndex(e=>sh(e,l)===t):-1}function sv(e,t,l,n){let r=[],i=-1,o=[];for(let a=0;a<t.entries.length;a++){let s=t.entries[a],u=[...r,s.name],d=sc(e,u);if(!d.found||!Array.isArray(d.value))return{found:!1};let c=null==l?void 0:l[a],p=sg(d.value,c,s.filterTargetKey),h=p>=0?p:s.index;if(h<0||h>=d.value.length)return c?{found:!1,rowMissing:!0}:{found:!1};let f=d.value[h];if(c&&p<0&&!n)return{found:!1,rowMissing:!0};o.push(sh(f,s.filterTargetKey)),i=h,r=[...u,h]}return{found:!0,path:[...r,...t.tailPath],rowIndex:i,rowIdentities:o}}function sy(e,t,l){var n,r;let i=sc(sp(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)}:sc(null==e||null==(r=e.context)?void 0:r.formValues,l)}function sb(e,t,l,n,r){var i,o;let a=l.rowScope;if(!a)return sy(e,t,l.path);if(null==n?void 0:n.rowDetached)return{found:!1,rowMissing:!0};let s=sm(t,a,n,r);for(let l of[sp(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=sv(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=sc(l,e.path);if(t.found)return{found:!0,value:t.value,rowIdentities:e.rowIdentities}}let u=null==e||null==(o=e.context)?void 0:o.form;return"function"==typeof(null==u?void 0:u.getFieldValue)?{found:!0,value:u.getFieldValue(l.path),rowIdentities:null==n?void 0:n.rowIdentities}:{found:!1}}function sx(e){return Array.isArray(e)?e.length:e}function sw(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=sg(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:[sh(e[o.index],o.filterTargetKey)]}}function sS(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=sm(t,a,n,r);for(let r of[sp(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=sv(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=sy(e,t,l.path);return s.found?{found:!0,value:sx(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=sm(t,a,n,r);for(let r of[sp(t),null==e||null==(o=e.context)?void 0:o.formValues]){let e=sv(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=sy(e,t,l.path);return s.found?sw(s.value,l,n):s}function sA(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,aQ.Qc)(r.path),i=sb(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,$.cloneDeep)(i.value),rowIdentities:i.rowIdentities,rowDetached:!1})}for(let r of e.structuralPaths){let e=sS(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,aQ.Qc)(r.path)}`,{value:(0,$.cloneDeep)(e.value),rowIdentities:e.rowIdentities,rowDetached:!1})}return n}function sM(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,aQ.Qc)(o.path),a=n.values.get(e),s=sb(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,$.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,aQ.Qc)(o.path)}`,a=n.structures.get(e),s=sS(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,$.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}return i}function sk(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e.entries()){var l;if(!t.has(n)||!(0,$.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:sA(e,t,l)};let r=sM(e,t,l,n,se(l));return(null==r?void 0:r.rowMissing)?{status:"unchanged",snapshot:{...r,rowMissing:!1}}:(null==r?void 0:r.complete)?{status:sk(n.values,r.values)&&sk(n.structures,r.structures)?"unchanged":"changed",snapshot:r}:{status:"unknown",snapshot:r}}let sC="formValuesChange",sP="__formValueDrivenDataScopeClearBindings";function sj(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,aQ.Qc)(n.path),n)}return Array.from(t.values())}function sE(e){let t=sj(e);return t.filter((e,l)=>!t.some((t,n)=>n!==l&&a1(e.path,t.path)))}function sR(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,aQ.Qc)(n.path)}`,n)}return Array.from(t.values())}function sT(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,aQ.Qc)(n.path)}`,n)}return Array.from(t.values())}function sI(){return{wildcard:!1,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function s_(){return{wildcard:!0,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function sD(e){let t=e[0];if("value"===t){let t=e.slice(1);return t.length?{wildcard:!1,valuePaths:[{path:t}],structuralPaths:[],triggerPaths:[]}:s_()}return"__is_new__"===t||"__is_stored__"===t?{wildcard:!1,valuePaths:[{path:[t]}],structuralPaths:[],triggerPaths:[]}:sI()}function sN(e,t){var l,n;let r=ss(e,a4((null==(n=e.model)||null==(l=n.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex))),i=0,o=[...t];for(;"parentItem"===o[0];)i+=1,o=o.slice(1);let a=o[0];if(!a)return s_();if(!r.length)return 0===i?sD(o):sI();if(i===r.length)return sD(o);if(i>r.length)return s_();if("value"===a){let e=a3(r,i);if(!e)return s_();let t=a6(r,i),l=o.slice(1);return{wildcard:!1,valuePaths:[{path:[...e,...l],rowScope:su(r,i,l)}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0},...t?[{path:t,includeChildren:!1}]:[]]}}if("index"===a||"length"===a){let e=a6(r,i);return e?{wildcard:!1,valuePaths:[],structuralPaths:[{path:e,kind:a,rowScope:su(r,i,[])}],triggerPaths:[{path:e,includeChildren:!1}]}:s_()}if("__is_new__"===a||"__is_stored__"===a){let e=a3(r,i);return e?{wildcard:!1,valuePaths:[{path:[...e,a],rowScope:su(r,i,[a])}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0}]}:s_()}return s_()}function sO(e,t){let l={deps:new Set,wildcard:!1};(0,aZ.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=sN(e,l?a7(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:a7(l)})}return{wildcard:o,valuePaths:sE(n),structuralPaths:sR(r),triggerPaths:sT(i)}}function s$(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0||e.triggerPaths.length>0}function sB(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 sL(e,t){if(!s$(e))return!1;if(e.wildcard)return!0;let l=se(t);if(!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(a1(l.path,t)||a1(t,l.path))return!0;for(let l of e.structuralPaths)if(a0(l.path,t)||a1(t,l.path))return!0;for(let l of e.triggerPaths)if(l.includeChildren&&(a1(l.path,t)||a1(t,l.path))||!l.includeChildren&&a0(l.path,t))return!0}return!1}function sq(e,t){let l=e=>e.map(e=>(0,aQ.Qc)(e.path)).sort(),n=e=>e.map(e=>`${e.kind}:${(0,aQ.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,aQ.Qc)(e.path)}`).sort()})}function sV(e){var t,l;return(t=e)[l=sP]||(t[l]=new Map)}function sz(e){return sl(e)}function sK(e){var t,l;if(!sB(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 sU(e){var t;return!!e&&"object"==typeof e&&"function"==typeof(null==e||null==(t=e.props)?void 0:t.onChange)}function sW(e,t){let l=sV(e).get(t);l&&l.dispose()}function sH(e,t){var l,n,r,i,o,a;let s=e.model,u=null==e?void 0:e.flowKey;if(!sU(s)||!u)return;let d="dataScope",c=`${u}:${d}`,p=sO(e,t);if(!s$(p))return void sW(s,c);let h=sz(e);if(!h)return void sW(s,c);let f=sq(p,h),m=sV(s),g=m.get(c);if((null==g?void 0:g.signature)===f)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:f,snapshot:sA(p,h),dispose:()=>{}},b=()=>{var e,t,l,n;null==(t=h.emitter)||null==(e=t.off)||e.call(t,sC,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),m.get(c)===y&&m.delete(c)},x=e=>{var t;if(s.disposed||h.disposed)return void b();if(!sL(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||sB(s)&&sK(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,m.set(c,y),h.emitter.on(sC,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 sY=(0,O.defineAction)({name:"dataScope",title:(0,O.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,O.useFlowSettingsContext)();return(0,D.jsx)(aq.I8,{value:e.value,FilterItem:e=>(0,D.jsx)(aq.Et,{...e,model:t.model,rightAsVariable:!0,maxAssociationFieldDepth:t.model instanceof aV.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=aX(t.filter,r);sH(e,t.filter),(0,es.isEmptyFilter)(i)?n.removeFilterGroup(e.model.uid):n.addFilterGroup(e.model.uid,i)}});var sG=l(52717),sJ=l(94130);class sX extends O.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,sJ.GX)(e);return(0,sJ.F3)(n,r)}static async defineChildren(e){let t=this.baseClass?await (0,O.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,O.buildSubModelItem)(r,e);t&&l.push(t)}return B().sortBy([...n,...l],"sort")}}(0,S._)(sX,"baseClass",void 0),(0,S._)(sX,"scene",void 0),(0,S._)(sX,"_models",void 0);class sQ extends sX{}(0,S._)(sQ,"baseClass",sG.S0),(0,S._)(sQ,"scene",sG.s5.collection);class sZ extends sX{}(0,S._)(sZ,"baseClass",sG.S0),(0,S._)(sZ,"scene",sG.s5.record);var s0=l(14252);class s1 extends O.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=O.DisplayItemModel.getDefaultBindingByField(e,n,{fallbackToTargetTitleField:!0});if(!o)return;let u=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:u}}}}}).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 s2(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function s5(e){return e.context}function s4(e,t){var l;let n=e[t]||(null==(l=s5(e))?void 0:l[t]);return n&&"object"==typeof n?n:void 0}function s8(e){var t,l,n;let r=null==(t=s5(e))?void 0:t.dataSourceManager;return r||(null==(n=e.flowEngine)||null==(l=n.context)?void 0:l.dataSourceManager)}function s3(e){return{operatorGroup:e.operatorGroup,operators:Array.isArray(e.operators)?[...e.operators]:e.operators,operatorOverrides:Array.isArray(e.operatorOverrides)?[...e.operatorOverrides]:e.operatorOverrides}}function s6(e){if(!1===e)return[];if(!e||"object"!=typeof e)return;let t=ov(s3(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 s9(e,t){var l;let n="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;if(!n)return;let r=s8(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 s7(e){let t=[null==e?void 0:e.interface,null==e?void 0:e.type].filter(e=>"string"==typeof e),l=eR.II;for(let e of t){let t=l[e];if(null==t?void 0:t.length)return t}return[]}function ue(e){let t=s4(e,"collectionField"),l=s4(e,"filterField"),n=t||l;if((null==n?void 0:n.filterable)===!1)return[];let r=s6(null==n?void 0:n.filterable);if(null==r?void 0:r.length)return r;let i=s9(e,n);if(!1===i)return[];let o=s6(i);return(null==o?void 0:o.length)?o:s7(n)}function ut(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ul(e);if(!t)return null;let l=s4(e,"collectionField")||s4(e,"filterField");return ue(e).find(e=>e.value===t&&(!e.visible||e.visible(l)))||null}function ul(e){var t,l,n,r,i,o;let a=ue(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 un(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 ur(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}(0,S._)(s1,"itemModelName","DetailsItemModel"),(0,S._)(s1,"maxAssociationFieldDepth",2),s1.define({label:'{{t("Display fields")}}'});let ui={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function uo(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 ua(e,t,l){let n=ui[e];if(!n)return e;let r=uo(t,l);return!r||s2(r)?e:n}async function us(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function uu(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class ud{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}": ${uu(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(un(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:ua(e.operator||ul(l),t,n),value:r}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new O.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 O.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{var t,l;this.bindToTarget(e);let n=this.gridModel.flowEngine.getModel(e);if(!n)return void console.error(`Target model with uid "${e}" not found`);if(!n.resource||"function"!=typeof n.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let r=n,i=n.resource,o=n,a=r.getDataLoadingMode();if("manual"===a&&!r.hasActiveFilters()){i.setData([]),i.setMeta({count:0,hasNext:!1}),"function"==typeof i.setPage&&i.setPage(1),i.loading=!1,null==(l=o.resetAfterFilterChange)||l.call(o);return}await us(i),"function"==typeof i.setPage&&i.setPage(1),await i.refresh(),null==(t=o.resetAfterFilterChange)||t.call(o)}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(i)}constructor(e,t){(0,S._)(this,"filterConfigs",void 0),(0,S._)(this,"gridModel",void 0),this.gridModel=e,this.filterConfigs=t||[]}}var uc=l(84626),up=l(47152),uh=l(16370);function uf(e){let{rows:t={},sizes:l={},layout:n,renderItem:r,rowGap:i=16,colGap:o=16,dragOverlayRect:a}=e,s=n||(0,O.normalizeGridLayout)({rows:t,sizes:l});return s.rows.length?(0,D.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:i},"data-grid-root":!0,children:[a&&(0,D.jsx)(uv,{rect:a}),(0,D.jsx)(um,{rows:s.rows,renderItem:r,rowGap:i,colGap:o,parentPath:[]})]}):(0,D.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:a&&(0,D.jsx)(uv,{rect:a})})}function um(e){let{rows:t,renderItem:l,rowGap:n,colGap:r,parentPath:i}=e;return(0,D.jsx)(D.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}],u=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,D.jsx)(up.A,{gutter:r,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,i)=>(0,D.jsx)(ug,{rowKey:e.id,columnIndex:i,span:u[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 ug=M.memo(function(e){var t;let{rowKey:l,columnIndex:n,span:r,rowGap:i,colGap:o,cell:a,path:s,renderItem:u}=e,d=a.items||[];return(0,D.jsx)(uh.A,{span:r,"data-grid-column-row-id":l,"data-grid-column-index":n,"data-grid-path":JSON.stringify(s),children:(0,D.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:i},children:[d.map((e,t)=>e===O.EMPTY_COLUMN_UID?null:(0,D.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:u(e)},e)),(null==(t=a.rows)?void 0:t.length)?(0,D.jsx)(um,{rows:a.rows,renderItem:u,rowGap:i,colGap:o,parentPath:s}):null]})})});function uv(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,D.jsx)("div",{style:{...l,...n[t.type]}})}ug.displayName="GridColumn";var uy=l(95725),ub=l(40919);let ux=e=>{let{value:t,onChange:l,rows:n=10,...r}=e,[i,o]=(0,M.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,M.useState)(null);(0,M.useEffect)(()=>{o(t?JSON.stringify(t,null,2):"")},[t]);let u=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,D.jsxs)("div",{children:[(0,D.jsx)(uy.A.TextArea,{value:i,autoSize:{minRows:n,maxRows:n+10},onChange:u,...r}),a&&(0,D.jsx)(ub.A,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},uw=(0,lH.connect)(ux),uS="gridSettings",uA="grid",uM=new Set(["column-edge","item-edge","empty-column"]),uk=e=>e.filter(e=>!uM.has(e.type)),uF=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 uC extends O.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(uS,uA)||{};return(0,O.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=B().omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,O.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(uS,{[uA]:{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)&&B().isEqual(this.collectCellItemsForResize(e),t));if(-1!==r){l.add(r);let n=e.cells[r];return n.rows&&!n.items?B().cloneDeep(n):{id:n.id,items:[...t]}}return{id:`${e.id}:cell:${n}:${(0,iF.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 B().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!==O.EMPTY_COLUMN_UID),u=a.includes(O.EMPTY_COLUMN_UID);return s||u?{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,O.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,O.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),u=a.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:d,newSizes:c,moveDistance:p}=uj({position:{rowId:a.id,columnIndex:o.cellIndex,itemIndex:o.itemIndex},direction:l,resizeDistance:n,prevMoveDistance:this.prevMoveDistance,oldRows:{[a.id]:u},oldSizes:{[a.id]:a.sizes||[]},gutter:(null==(t=this.context.themeToken)?void 0:t.marginBlock)??16,gridContainerWidth:s}),h=B().cloneDeep(i),f=this.findLayoutRowByPath(h,o.path);return f?(f.cells=this.buildResizedCells(a,d[a.id]||[]),f.sizes=c[a.id]||[],{layout:(0,O.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,O.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(O.EMPTY_COLUMN_UID);let n=new Set,r={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>B().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,iF.uid)()]=[[e.uid]]);return r}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(uS,uA)||{},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=uF(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,O.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=this.context.isMobileLayout?uk(e.slots):e.slots,this.dragState.containerRect=e.containerRect}scheduleSnapshotRefresh(){!this.dragState||this.dragState.refreshTimer||(this.dragState.refreshTimer=setTimeout(()=>{this.dragState&&(this.dragState.refreshTimer=null,this.updateLayoutSnapshot(),this.refreshPreviewFromPointer())},16))}refreshPreviewFromPointer(){if(!this.dragState)return;let e=this.dragState.pointerPosition||this.dragState.pointerOrigin;if(!e)return;let t=this.resolveDragSlot(e);this.applyPreview(t)}computeOverlayRect(e){var t,l,n,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,O.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,O.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,O.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:iF.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,iF.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,O.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:B().cloneDeep(l.rows),sizes:B().cloneDeep(l.sizes),rowOrder:B().cloneDeep(l.rowOrder),layout:B().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,O.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:B().cloneDeep(n.rows),sizes:B().cloneDeep(n.sizes),rowOrder:B().cloneDeep(n.rowOrder),layout:B().cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:uF(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(B().cloneDeep(l.layout)):(this.setProps("rows",B().cloneDeep(l.rows)),this.setProps("sizes",B().cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",B().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,O.normalizeGridLayout)({rows:uP((0,O.projectLayoutToLegacyRows)(t).rows),itemUids:this.getItemUids()}):t,n=(0,O.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===O.EMPTY_COLUMN_UID||(null==(t=a.get(e))?void 0:t.hidden)!==!0}),u=o.some(e=>{if(e===O.EMPTY_COLUMN_UID)return!1;let t=a.get(e);return!t||!t.hidden}),d=o.includes(O.EMPTY_COLUMN_UID);return u||d?{cell:{...t,items:o},size:i,hasVisibleContent:u}: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),u=(0,O.normalizeGridLayout)({layout:{version:2,rows:s(l.rows)}}),d=(0,O.projectLayoutToLegacyRows)(u);return{layout:u,rows:d.rows,sizes:d.sizes}}render(){let{layout:e,rows:t,sizes:l}=this.getVisibleLayout(),n=Object.keys(t||{}).length>0;return(0,D.jsxs)(D.Fragment,{children:[n&&(0,D.jsx)(uc.A,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap,display:"flex"},size:this.props.rowGap,children:(0,D.jsx)(O.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,D.jsx)(uf,{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,u=this.context.getPropertyOptions("item"),d=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==d?void 0:d.meta,resolveOnServer:null==d?void 0:d.resolveOnServer,serverOnlyWhenContextParams:null==d?void 0:d.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}=u||{};return t.context.defineProperty("item",{...n,get:()=>this.context.item,cache:!1}),t})();return(0,D.jsx)(O.Droppable,{model:p,children:(0,D.jsx)(O.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,D.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),(0,S._)(this,"subModelBaseClass","BlockModel"),(0,S._)(this,"gridContainerRef",M.createRef()),(0,S._)(this,"prevMoveDistance",0),(0,S._)(this,"itemSettingsMenuLevel",1),(0,S._)(this,"itemFlowSettings",{}),(0,S._)(this,"dragOverlayConfig",void 0),(0,S._)(this,"itemFallback",(0,D.jsx)(r4,{})),(0,S._)(this,"itemExtraToolbarItems",[{key:"drag-handler",component:O.DragHandler,sort:1}]),(0,S._)(this,"dragState",void 0),(0,S._)(this,"_memoItemFlowSettings",void 0),(0,S._)(this,"updateDragPointerPosition",e=>{if(!this.dragState)return;let t=uF(e);t&&(this.dragState.pointerPosition=t)}),(0,S._)(this,"handleDragScroll",()=>{this.dragState&&this.scheduleSnapshotRefresh()})}}function uP(e,t){let l=(null==t?void 0:t.emptyColumnUid)??O.EMPTY_COLUMN_UID,n={},r=e=>{if(!n[e])return e;let t=1,l=`${e}:duplicate:${t}`;for(;n[l];)t+=1,l=`${e}:duplicate:${t}`;return l};return Object.keys(e).forEach(t=>{let i=e[t].map((e,t)=>({columnIndex:t,items:e.filter(e=>e!==l)})).filter(e=>e.items.length>0);if(1===i.length&&0===i[0].columnIndex){n[r(t)]=[i[0].items];return}i.forEach(e=>{n[r(`mobile:${encodeURIComponent(t)}:${e.columnIndex}`)]=[e.items]})}),n}function uj(e){var t,l;let{position:n,direction:r,resizeDistance:i,prevMoveDistance:o,oldSizes:a,oldRows:s,gridContainerWidth:u,gutter:d=16,columnCount:c=24}=e,p=B().cloneDeep(s),h=B().cloneDeep(a),f=Math.floor(i/(u-d*((h[n.rowId]||[]).length-1))*c);if(f===o)return{newRows:p,newSizes:h,moveDistance:f};(t=h)[l=n.rowId]??(t[l]=[c]);let m=h[n.rowId],g=f-o,v="left"===r&&n.columnIndex>0,y="right"===r&&n.columnIndex<m.length-1;if(!v&&!y&&g>0){let e=c-m.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:h,moveDistance:o};g>e&&(f=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]&&uR({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&&uE({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]&&uR({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&&uE({rows:p,sizes:h,position:n,direction:"right"})}return{newRows:p,newSizes:h,moveDistance:f}}function uE(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(O.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex,0,[O.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(O.EMPTY_COLUMN_UID))return;i.splice(n.columnIndex+1,0,[O.EMPTY_COLUMN_UID]),o.splice(n.columnIndex+1,0,1)}}function uR(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(O.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(O.EMPTY_COLUMN_UID)))return;i.splice(n.columnIndex+1,1),o.splice(n.columnIndex+1,1)}}uC.registerFlow({key:uS,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,O.tExpr)("Layout"),"x-decorator":"FormItem","x-component":uw,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,O.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,n=(0,O.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 uT=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class uI extends uC{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new ud(this,e.filterManager)})}onMount(){var e,t;super.onMount(),(null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)!=="select"||this.viewActivatedListener||(this.viewActivatedListener=()=>{this.mapSubModels("items",e=>{var t;null==(t=e.onActive)||t.call(e)})},this.flowEngine.emitter.on(O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener))}onUnmount(){this.viewActivatedListener&&(this.flowEngine.emitter.off(O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),super.onUnmount()}get subModelBaseClasses(){var e;let t=(null==(e=this.context.view)?void 0:e.inputArgs)??{};return t.collectionName&&!t.filterByTk,["DataBlockModel","FilterBlockModel","BlockModel"]}get filterManager(){return this.context.filterManager}get addBlockItems(){var e,t;if((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)==="select")return async e=>{let t=await (0,O.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=uT.filter(t=>!!e.engine.getModelClass(t)),n=(await Promise.all(l.map(t=>(0,O.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,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(tu.A,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,D.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,S._)(this,"viewActivatedListener",void 0),(0,S._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}})}}uI.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 u_=l(77471),uD=l(72380),uN=l(52175);class uO extends O.FlowModel{}var u$=l(5679);class uB extends u_.z{}uB.define({hide:!0,label:"Filter blocks"});var uL=l(44279),uq=l(33634),uV=l(2117);async function uz(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()))}let uK="__no_active_page_tab__";function uU(e){var t;let{hiddenTabKeys:l,hiddenActiveTabLabel:n,items:r,tabBarProps:i}=e,o=r.filter(e=>!l.has(String(e.key))).map(e=>{let{children:t,className:l,destroyInactiveTabPane:n,forceRender:r,style:i,...o}=e;return{...o,children:null}}),a=o.some(e=>e.key===i.activeKey)?i.activeKey:uK,s=null==(t=o.find(e=>!e.disabled))?void 0:t.key,u=l.has(String(i.activeKey))?String(i.activeKey):void 0,d=u&&i.id?`${i.id}-tab-${u}`:void 0,c=e=>{let t=String(e.key);if(a!==uK||t!==String(s))return e;let l=!1,n=M.Children.map(e.props.children,e=>l||!M.isValidElement(e)||"tab"!==e.props.role?e:(l=!0,M.cloneElement(e,{tabIndex:0})));return M.cloneElement(e,void 0,n)};return(0,D.jsxs)(D.Fragment,{children:[d?(0,D.jsx)("span",{id:d,hidden:!0,children:n||u}):null,(0,D.jsx)(uq.A,{activeKey:uK,animated:{inkBar:i.animated.inkBar,tabPane:!1},destroyInactiveTabPane:!0,id:i.id,items:o,more:i.more,onTabClick:(e,t)=>i.onTabClick(e,t),onTabScroll:i.onTabScroll,renderTabBar:(e,t)=>(0,D.jsx)(t,{...e,activeKey:a,children:c}),tabBarExtraContent:i.extra,tabBarGutter:i.tabBarGutter,tabBarStyle:i.style,tabPosition:i.tabPosition})]})}function uW(e){let{dependencyKey:t,onSync:l}=e,n=M.useRef(),r=M.useRef(!1),i=M.useRef();return M.useEffect(()=>{let e=l({previousEffectiveActiveKey:n.current,previousAllHidden:r.current,lastCorrectionSignature:i.current});n.current=e.effectiveActiveKey,r.current=e.previousAllHidden,i.current=e.lastCorrectionSignature},[t,l]),null}class uH extends O.FlowModel{getEnableTabs(){let e=this.context.currentRoute,t=this.props.routeId;return null!=t&&(null==e?void 0:e.id)!=null&&String(e.id)===String(t)&&"boolean"==typeof e.enableTabs?e.enableTabs:!!this.props.enableTabs}getAllTabs(){var e;return(null==(e=this.subModels)?void 0:e.tabs)||[]}getUnhiddenTabs(){return this.getAllTabs().filter(e=>!e.hidden)}getRequestedTabKey(){var e,t;let l=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;if(l){let e="string"==typeof l.tabUid&&l.tabUid?l.tabUid:void 0;if(e)return this.implicitActiveKey=void 0,{key:e,source:"url"};let t="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return t&&t===this.implicitActiveKey?{key:t,source:"implicit"}:{source:"none"}}let n="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return n?{key:n,source:n===this.implicitActiveKey?"implicit":"props"}:{source:"none"}}resolveTabActiveState(){var e,t;let l=this.getAllTabs(),n=this.getUnhiddenTabs(),r=this.getRequestedTabKey();if(!r.key)return{...r,status:"unspecified",effectiveKey:null==(e=n[0])?void 0:e.uid,allTabs:l,unhiddenTabs:n};let i=l.find(e=>e.uid===r.key);return"implicit"===r.source&&(!i||i.hidden)?{...r,status:"unspecified",effectiveKey:null==(t=n[0])?void 0:t.uid,allTabs:l,unhiddenTabs:n}:i?n.some(e=>e.uid===r.key)?{...r,status:"visible",effectiveKey:r.key,allTabs:l,unhiddenTabs:n}:{...r,status:"hidden",effectiveKey:r.key,allTabs:l,unhiddenTabs:n}:{...r,status:"unknown",effectiveKey:r.key,allTabs:l,unhiddenTabs:n}}getActiveTabKey(){if(!this.getEnableTabs()){var e;let t=null==(e=this.getFirstTab())?void 0:e.uid;if(t)return t}return this.resolveTabActiveState().effectiveKey}getTabActiveKeySyncDependency(){var e,t;let l=this.getAllTabs(),n=this.getUnhiddenTabs(),r=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return JSON.stringify([!!this.context.flowSettingsEnabled,r&&r.tabUid||null,this.props.tabActiveKey||null,l.map(e=>e.uid),n.map(e=>e.uid),this.implicitActiveKey||null])}requestDocumentTitleUpdate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.updateDocumentTitle(e,t).catch(e=>{console.warn("[PageModel] Failed to update document title",e)})}rememberImplicitActiveKey(e){this.implicitActiveKey=e,this.props.tabActiveKey!==e&&this.setProps("tabActiveKey",e)}commitTabActiveKey(e,t){let{previousActiveKey:l,navigate:n,preserveImplicitKey:r=!1,rememberLocalTransition:i=!1}=t;if(i&&e&&(this.locallyCommittedTabTransition={activeKey:e,previousActiveKey:l}),this.implicitActiveKey=e&&r?e:void 0,n){var o,a,s;null==(s=this.context.view)||null==(a=s.navigation)||null==(o=a.changeTo)||o.call(a,{tabUid:e})}e&&e!==l&&this.invokeTabModelLifecycleMethod(e,"onActive"),l&&l!==e&&this.invokeTabModelLifecycleMethod(l,"onInactive"),this.setProps("tabActiveKey",e),e||this.requestDocumentTitleUpdate()}consumeLocallyCommittedTabTransition(e,t){let l=this.locallyCommittedTabTransition;return!!l&&!!t&&(l.activeKey===t&&l.previousActiveKey===e?(this.locallyCommittedTabTransition=void 0,!0):(t!==l.previousActiveKey&&(this.locallyCommittedTabTransition=void 0),!1))}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{this.dirtyRefreshScheduled=!1,this.unmounted||!1!==(0,O.getPageActive)(this.context)&&this.activateCurrentTab(e)}).catch(()=>{}))}activateCurrentTab(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}deactivateCurrentTab(){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onInactive")}onMount(){var e,t,l,n,r,i,o,a,s;super.onMount(),this.unmounted=!1,this.implicitActiveKey=void 0,this.setProps("tabActiveKey",null==(e=this.context.view.inputArgs)?void 0:e.tabUid),(null==(t=this.context)?void 0:t.pageInfo)&&(this.context.pageInfo.version="v2"),this.requestDocumentTitleUpdate(),this.viewActivatedListener||(this.viewActivatedListener=e=>{this.activateCurrentTab()},null==(i=this.flowEngine)||null==(r=i.emitter)||null==(n=r.on)||n.call(r,O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let u=(0,O.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),d=u>0&&u!==this.lastSeenEmitterViewActivatedVersion;this.lastSeenEmitterViewActivatedVersion=u,d&&!1!==(0,O.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,O.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,O.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,O.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,O.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.requestDocumentTitleUpdate(e)}async updateDocumentTitle(e){var t,l,n,r,i,o,a,s,u,d,c,p,h,f,m,g,v,y,b,x;let w=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,O.getPageActive)(this.context))return;let S=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),A=null==(i=this.context)||null==(r=i.view)||null==(n=r.inputArgs)?void 0:n.viewUid,M=null==(s=this.flowEngine)||null==(a=s.context)||null==(o=a.route)?void 0:o.pathname;if(S&&A&&"string"==typeof M){let e=null==(d=this.context)||null==(u=d.layout)?void 0:u.routePath,t=null==(c=(0,O.parsePathnameToViewParams)(M,{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!==A)return}let k=++this.documentTitleUpdateVersion,F=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=this.getUnhiddenTabs(),P=e||this.getActiveTabKey(),j=!this.getEnableTabs()||!P&&0===C.length,E="";if(j)E=await F(null==(x=this.stepParams)||null==(b=x.pageSettings)||null==(y=b.general)?void 0:y.documentTitle)||this.props.title||"";else{let e=P?this.findSubModel("tabs",e=>e.uid===P)||this.flowEngine.getModel(P):this.getFirstTab();if(!e&&w<5)return void window.setTimeout(()=>{this.unmounted||k===this.documentTitleUpdateVersion&&this.requestDocumentTitleUpdate(P,w+1)},0);E=await F(null==e||null==(g=e.stepParams)||null==(m=g.pageTabSettings)||null==(f=m.tab)?void 0:f.documentTitle)||(null==e||null==(v=e.getTabTitle)?void 0:v.call(e))||""}k===this.documentTitleUpdateVersion&&"string"==typeof E&&""!==E&&(document.title=E)}mapTabs(){return this.mapSubModels("tabs",e=>({key:e.uid,label:(0,D.jsx)(O.Droppable,{model:e,children:(0,D.jsx)(O.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:O.DragHandler,sort:1}]})}),children:e.renderChildren()}))}getFirstTab(){var e;return null==(e=this.subModels.tabs)?void 0:e[0]}renderFirstTab(){var e;let t=this.getFirstTab();return null==t||null==(e=t.renderChildren)?void 0:e.call(t)}async handleDragEnd(e){throw Error("Method not implemented.")}renderTabs(){var e,t,l;let n=this.resolveTabActiveState(),r=this.mapTabs(),i=new Set(this.context.flowSettingsEnabled?[]:n.allTabs.filter(e=>e.hidden).map(e=>e.uid)),o="hidden"===n.status?null==(t=n.allTabs.find(e=>e.uid===n.effectiveKey))||null==(e=t.getTabTitle)?void 0:e.call(t):void 0,a=n.effectiveKey||(n.allTabs.length>0?uK:void 0),s=(null==(l=this.context.themeToken)?void 0:l.paddingLG)??16,u=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,D.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:s,height:1}}),d=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,D.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:s},children:(0,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(tu.A,{}),children:this.context.t("Add tab")})})});return(0,D.jsxs)(O.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:[(0,D.jsx)(uW,{dependencyKey:this.getTabActiveKeySyncDependency(),onSync:this.synchronizeTabActiveKey}),(0,D.jsx)(uq.A,{activeKey:a,tabBarStyle:this.props.tabBarStyle,items:r,renderTabBar:i.size>0?e=>(0,D.jsx)(uU,{hiddenTabKeys:i,hiddenActiveTabLabel:o,items:r,tabBarProps:e}):void 0,onChange:e=>{var t;let l=this.getActiveTabKey();this.implicitActiveKey=void 0,this.commitTabActiveKey(e,{previousActiveKey:l,navigate:!!(null==(t=this.context.view)?void 0:t.navigation),rememberLocalTransition:!0})},tabBarExtraContent:{left:u,right:d}})]})}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,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(uL.z,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),(0,S._)(this,"tabBarExtraContent",{}),(0,S._)(this,"viewActivatedListener",void 0),(0,S._)(this,"dataSourceDirtyListener",void 0),(0,S._)(this,"lastSeenEmitterViewActivatedVersion",0),(0,S._)(this,"dirtyRefreshScheduled",!1),(0,S._)(this,"unmounted",!1),(0,S._)(this,"documentTitleUpdateVersion",0),(0,S._)(this,"implicitActiveKey",void 0),(0,S._)(this,"locallyCommittedTabTransition",void 0),(0,S._)(this,"synchronizeTabActiveKey",e=>{let t=this.resolveTabActiveState(),l=t.allTabs.length>0&&0===t.unhiddenTabs.length,n=(e,t)=>({previousEffectiveActiveKey:e,effectiveActiveKey:e,previousAllHidden:l,lastCorrectionSignature:t});if("unknown"===t.status)return n(t.effectiveKey);if("visible"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return n(l);let r=e.previousAllHidden&&"url"!==t.source,i=!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==l;if((r||i)&&l){let r=`visible:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return r!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:"implicit"===t.source}),n(l,r)}return n(l)}if("hidden"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return n(l);if(l&&e.previousEffectiveActiveKey!==l){let r=`hidden:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return r!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),n(l,r)}return n(l)}let r=t.effectiveKey;if(!r){if(!l){if("implicit"!==t.source||!t.key)return n(void 0);let l=`implicit-missing:${e.previousEffectiveActiveKey||""}`;return l!==e.lastCorrectionSignature&&this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),n(void 0,l)}let r=`all-hidden:${e.previousEffectiveActiveKey||""}`;return e.previousAllHidden||r===e.lastCorrectionSignature||(this.implicitActiveKey=void 0,this.props.tabActiveKey||e.previousEffectiveActiveKey?this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}):this.requestDocumentTitleUpdate()),n(void 0,r)}let i=e.previousAllHidden||!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==r,o=`implicit:${e.previousEffectiveActiveKey||""}->${r}`;return i&&o!==e.lastCorrectionSignature?this.commitTabActiveKey(r,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:!0}):this.rememberImplicitActiveKey(r),n(r,i?o:void 0)}),(0,S._)(this,"createPageTabModelOptions",()=>{let e=(0,iF.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,iF.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}})}}uH.registerEvents({close:{title:(0,O.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,O.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":uV.H}},handler:uV.b}}),uH.registerFlow({key:"closeGuard",title:(0,O.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,O.tExpr)("Unsaved changes confirmation"),handler:uz}}}),uH.registerFlow({key:"pageSettings",title:(0,O.tExpr)("Page settings"),steps:{general:{title:(0,O.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,O.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,O.tExpr)("Document title"),description:(0,O.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":aR.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,O.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,O.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})),await e.model.updateDocumentTitle()}}}});var uY=l(68904);class uG extends uH{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,D.jsx)("div",{style:r,children:(0,D.jsx)(uJ,{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,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,D.jsx)(uL.z,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,D.jsxs)(D.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),(0,S._)(this,"tabBarExtraContent",{left:(0,D.jsx)(uJ,{})}),(0,S._)(this,"createPageTabModelOptions",()=>({use:"ChildPageTabModel"}))}}let uJ=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,O.useFlowContext)(),n=l.themeToken,r=32,i=(null==n?void 0:n.paddingLG)??16,o=(0,M.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,D.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,D.jsx)(eG.Ay,{"aria-label":"back-button",type:"text",icon:(0,D.jsx)(uY.A,{}),style:o,onClick:l.view.close})};class uX extends O.FlowModel{}uX.registerFlow({key:"pageSettings",title:(0,O.tExpr)("Page settings"),steps:{general:{title:(0,O.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,O.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,O.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 uQ extends uX{renderFirstTab(){var e;return(0,D.jsx)(O.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(uL.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function uZ(e){let{ctx:t,options:l}=e,{data:n,loading:r}=(0,r2.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,D.jsx)(O.FlowModelRenderer,{model:n,fallback:(0,D.jsx)(r4,{style:{margin:i}})}):(0,D.jsx)(r4,{style:{margin:i}})}function u0(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}function u1(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function u2(e){return u1(e)}let u5=new WeakMap;async function u4(e){let t=(u5.get(e)||Promise.resolve()).catch(()=>void 0).then(()=>e.refreshAccessible());u5.set(e,t);try{await t}finally{u5.get(e)===t&&u5.delete(e)}}class u8 extends O.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:O.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,D.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,D.jsx)(eR.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,D.jsxs)("span",{style:{display:"inline-block"},children:[(0,D.jsx)(eR.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}u8.registerFlow({key:"pageTabSettings",title:(0,O.tExpr)("Tab settings"),steps:{tab:{title:(0,O.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,O.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,O.tExpr)("Document title"),description:(0,O.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":aR.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,O.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);await (null==r||null==(l=r.updateDocumentTitle)?void 0:l.call(r))}},linkageRules:{use:"tabLinkageRules"}}});class u3 extends u8{onInit(e){super.onInit(e),this.shouldHydratePersistedLinkageRules()&&this.hydratePersistedLinkageRules().catch(e=>{console.warn("[RootPageTabModel] Failed to hydrate tab linkage rules",e)})}hasExplicitLinkageRulesStep(){var e;let t=null==(e=this.stepParams)?void 0:e.pageTabSettings;return u1(t)&&Object.prototype.hasOwnProperty.call(t,"linkageRules")}shouldHydratePersistedLinkageRules(){var e,t;return!!this.context.flowSettingsEnabled||(null==(t=this.props.route)||null==(e=t.options)?void 0:e.hasPersistedPageTabFlowModel)===!0}async fetchPersistedAnchor(){var e;let t=await this.context.api.request({url:"flowModels:findOne",params:{uid:this.uid}}),l=null==t||null==(e=t.data)?void 0:e.data;return u1(l)?l:void 0}async performPersistedLinkageRulesHydrate(){if(this.hasExplicitLinkageRulesStep())return;let e=await this.fetchPersistedAnchor();if(this.hasExplicitLinkageRulesStep())return;let t=u1(null==e?void 0:e.stepParams)?e.stepParams:void 0,l=u1(null==t?void 0:t.pageTabSettings)?t.pageTabSettings:void 0,n=null==l?void 0:l.linkageRules;u2(n)&&(this.setStepParams("pageTabSettings","linkageRules",B().cloneDeep(n)),this.invalidateFlowCache("beforeRender",!0),await this.rerender())}hydratePersistedLinkageRules(){if(this.persistedLinkageRulesHydrated)return Promise.resolve();if(this.persistedLinkageRulesHydrating)return this.persistedLinkageRulesHydrating;let e=this.performPersistedLinkageRulesHydrate();return this.persistedLinkageRulesHydrating=e,e.then(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrated=!0,this.persistedLinkageRulesHydrating=void 0)}).catch(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrating=void 0)}),e}async openFlowSettings(e){return(null==e?void 0:e.flowKey)==="pageTabSettings"&&(null==e?void 0:e.stepKey)==="linkageRules"&&await this.hydratePersistedLinkageRules(),super.openFlowSettings(e)}renderChildren(){return(0,D.jsx)(uZ,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){let e=this.hasExplicitLinkageRulesStep(),t=e?B().cloneDeep(this.stepParams.pageTabSettings.linkageRules):void 0;await this.save(),e&&t&&await this.persistLinkageRulesToAnchor(t)}async save(){var e,t,l,n,r,i,o,a,s,u,d,c;let p=this.serialize(),h=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,f=this.props.route||{},m=null!=f.id,g=m&&f.schemaUid?null==(r=this.context.routeRepository)||null==(n=r.getRouteBySchemaUid)?void 0:n.call(r,f.schemaUid):void 0,v={...m?{schemaUid:f.schemaUid}:f,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{...g?g.options:f.options,flowRegistry:p.flowRegistry,documentTitle:h}},y=await this.context.api.request(m?{method:"post",url:`desktopRoutes:update?filter[id]=${f.id}`,data:v}:{method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:v}),b=u0(null==y||null==(i=y.data)?void 0:i.data);b&&this.setProps("route",{...this.props.route,...b,options:{...null==(o=this.props.route)?void 0:o.options,...b.options}});try{(null==(a=this.context.routeRepository)?void 0:a.refreshAccessible)?await u4(this.context.routeRepository):await (null==(s=(u=this.context).refreshDesktopRoutes)?void 0:s.call(u))}catch(e){null==(c=this.context.logger)||null==(d=c.warn)||d.call(c,{err:e},"[client-v2] Failed to refresh desktop routes after saving a page tab")}}buildAnchorPayload(e,t){let l="string"==typeof(null==e?void 0:e.uid)&&e.uid.length>0?B().cloneDeep(e):{uid:this.uid,use:"RouteModel"};delete l.subModels;let n=u1(l.stepParams)?l.stepParams:{},r=u1(n.pageTabSettings)?n.pageTabSettings:{};return{...l,stepParams:{...n,pageTabSettings:{...r,linkageRules:B().cloneDeep(t)}}}}async persistLinkageRulesToAnchor(e){let t=await this.fetchPersistedAnchor(),l=this.buildAnchorPayload(t,e);await this.context.api.request({method:"post",url:"flowModels:save",data:l});let n=Array.isArray(e.value)&&e.value.length>0;await this.syncPersistedPageTabFlowModelMarker(n),this.persistedLinkageRulesHydrated=!0}async syncPersistedPageTabFlowModelMarker(e){var t,l,n;let r=this.props.route;if((null==r?void 0:r.id)==null)throw Error("Cannot persist page tab FlowModel marker before the desktop route is saved.");if("function"!=typeof(null==(t=this.context.routeRepository)?void 0:t.updateRoute))throw Error("Route repository is unavailable while persisting the page tab FlowModel marker.");let i=r.schemaUid?null==(l=(n=this.context.routeRepository).getRouteBySchemaUid)?void 0:l.call(n,r.schemaUid):void 0,o={...(null==i?void 0:i.options)||r.options||{}};e?o.hasPersistedPageTabFlowModel=!0:delete o.hasPersistedPageTabFlowModel;let a=Object.keys(o).length>0?o:void 0;await this.context.routeRepository.updateRoute(r.id,{options:a},{refreshAfterMutation:!1}),this.setProps("route",{...r,options:a})}async destroy(){return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid),await this.context.api.request({method:"post",url:"desktopRoutes:destroy",params:{filter:{schemaUid:this.uid}},data:this.props.route}),!0}constructor(...e){super(...e),(0,S._)(this,"persistedLinkageRulesHydrated",!1),(0,S._)(this,"persistedLinkageRulesHydrating",void 0)}}class u6 extends u8{renderChildren(){return(0,D.jsx)(uZ,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class u9 extends O.FlowModel{render(){return(0,D.jsx)(uZ,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class u7 extends uH{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,O.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,S._)(this,"mounted",!1)}}u7.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),B().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 de extends uX{renderFirstTab(){var e;return(0,D.jsx)(O.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(uL.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}class dt extends s0.S0{constructor(...e){super(...e),(0,S._)(this,"defaultProps",{title:(0,O.tExpr)("Popup"),icon:"ExportOutlined"})}}dt.define({label:(0,O.tExpr)("Popup")}),dt.registerFlow(ey);var dl=l(33297);class dn extends dt{getAclActionName(){return"create"}constructor(...e){super(...e),(0,S._)(this,"defaultPopupTitle",(0,O.tExpr)("Add new")),(0,S._)(this,"defaultProps",{type:"primary",title:(0,O.tExpr)("Add new"),icon:"PlusOutlined"})}}(0,S._)(dn,"scene",s0.s5.collection),dn.define({label:(0,O.tExpr)("Add new"),sort:10});let dr=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"))},di=e=>{var t;return!!(null==(t=dr(e))?void 0:t.associationName)},da=e=>{var t,l,n,r;let i=dr(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)}},ds=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,u=dr(e);return{collectionField:s,sourceId:(null==a||null==(r=a.resource)||null==(n=r.getSourceId)?void 0:n.call(r))??(null==u?void 0:u.sourceId),associatedRecords:(null==a||null==(o=a.resource)||null==(i=o.getData)?void 0:i.call(o))||[]}},du=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}))},dd=async e=>{var t,l,n,r,i,o,a,s,u,d,c,p;let h=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),f=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!di(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(d=e.message)||null==(u=d.error)||u.call(d,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 m=null==f||null==(n=f.getFilterByTK)?void 0:n.call(f,e.record);await du(h,"remove",[m]),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"))},dc=async(e,t)=>{var l,n,r,i,o,a,s,u,d,c,p;let h=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),f=(null==e||null==(n=e.blockModel)?void 0:n.collection)||(null==e?void 0:e.collection);if(!di(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){null==(d=e.message)||null==(u=d.error)||u.call(d,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 m=t.map(e=>{var t;return(null==f||null==(t=f.getFilterByTK)?void 0:t.call(f,e))??e}).filter(e=>null!=e);await du(h,"add",m),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 dp(e){let{options:t}=e,l=(0,O.useFlowViewContext)(),{data:n,loading:r}=(0,r2.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,D.jsx)(O.FlowModelRenderer,{model:n,fallback:(0,D.jsx)(r4,{style:{margin:16}})}):(0,D.jsx)(r4,{style:{margin:16}})}function dh(e){let{model:t}=e,l=(0,O.useFlowViewContext)(),{Header:n,Footer:r,type:i}=l.view;return(0,D.jsxs)("div",{children:[(0,D.jsx)(n,{title:"dialog"===i?(0,D.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,D.jsx)(dp,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,D.jsx)(r,{children:"dialog"===i?(0,D.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,D.jsx)(eG.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,D.jsx)(eG.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class df extends s0.S0{getAclActionName(){return"update"}async associateSelectedRows(){await dc(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),(0,S._)(this,"defaultPopupTitle",(0,O.tExpr)("Select record")),(0,S._)(this,"selectedRows",[]),(0,S._)(this,"defaultProps",{title:(0,O.tExpr)("Associate"),icon:"LinkOutlined"})}}(0,S._)(df,"scene",s0.s5.collection),(0,S._)(df,"capabilityActionName","update"),df.define({label:(0,O.tExpr)("Associate"),sort:15,hide:e=>!di(e)}),df.registerFlow({key:"associateSettings",title:(0,O.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,n,r;let i=da(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,...ds(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,D.jsx)(dh,{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 dm extends s0.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,S._)(this,"defaultProps",{title:(0,O.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,S._)(dm,"scene",s0.s5.collection),(0,S._)(dm,"capabilityActionName","destroyMany"),dm.define({label:(0,O.tExpr)("Delete")}),dm.registerFlow({key:"deleteSettings",title:(0,O.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Delete record"),content:(0,O.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 dg extends s0.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,S._)(this,"defaultProps",{type:"link",title:(0,O.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,S._)(dg,"scene",s0.s5.record),dg.define({label:(0,O.tExpr)("Delete"),sort:60}),dg.registerFlow({key:"deleteSettings",title:(0,O.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Delete record"),content:(0,O.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 dv extends s0.S0{getAclActionName(){return"update"}constructor(...e){super(...e),(0,S._)(this,"defaultProps",{type:"link",title:(0,O.tExpr)("Disassociate"),icon:"DisconnectOutlined"})}}(0,S._)(dv,"scene",s0.s5.record),(0,S._)(dv,"capabilityActionName","update"),dv.define({label:(0,O.tExpr)("Disassociate"),sort:65,hide:e=>!di(e)}),dv.registerFlow({key:"disassociateSettings",title:(0,O.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Disassociate record"),content:(0,O.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await dd(e)}}}});class dy extends dt{getAclActionName(){return"update"}constructor(...e){super(...e),(0,S._)(this,"defaultPopupTitle",(0,O.tExpr)("Edit")),(0,S._)(this,"defaultProps",{title:(0,O.tExpr)("Edit"),icon:"EditOutlined"})}}(0,S._)(dy,"scene",s0.s5.record),dy.define({label:(0,O.tExpr)("Edit"),sort:20});var db=l(94384),dx=l(68669);class dw extends s0.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=dA(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(O.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,D.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,D.jsx)(dx.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,D.jsx)(aq.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),(0,D.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,D.jsx)(lm.A,{open:this.props.open,content:(0,D.jsx)(dx.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,D.jsx)(aq.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,S._)(this,"map",new WeakMap),(0,S._)(this,"defaultProps",{type:"default",title:(0,O.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}})}}function dS(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,eR.w6)(e.interface,...n);return!!(null==t?void 0:t.filterable)})}function dA(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}(0,S._)(dw,"scene","collection"),dw.define({label:(0,O.tExpr)("Filter"),toggleable:!0,sort:5}),dw.registerFlow({key:"filterSettings",title:(0,O.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,O.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,O.useFlowSettingsContext)(),n=dS(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,D.jsx)(db.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:dS(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,O.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,O.useFlowSettingsContext)();return(0,D.jsx)(aq.I8,{value:e.value||{},FilterItem:e=>(0,D.jsx)(aq.Et,{...e,model:t,maxAssociationFieldDepth:2})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",B().cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",B().cloneDeep(t.defaultFilter))}}}}),dw.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,es.transformFilter)(e.model.props.filterValue),i=!(0,es.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)}}}}),dw.registerFlow({key:"resetSettings",title:(0,O.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,es.isEmptyFilter)((0,es.transformFilter)(i));"manual"!==r||o||l.hasActiveFilters()?(o&&(n.addFilterGroup(e.model.uid,(0,es.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",B().cloneDeep(i))}}}}),dw.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var dM=l(89378);function dk(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 dF extends s0.S0{constructor(...e){super(...e),(0,S._)(this,"defaultProps",{type:"default",title:(0,O.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}dF.define({label:(0,O.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),dF.registerFlow({key:"clickSettings",on:"click",title:(0,O.tExpr)("Click settings"),steps:{runJs:{title:(0,O.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":dM.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:`
445
445
  ctx.message.info('Hello JS action.');
446
446
  `}),async handler(e,t){let{code:l,version:n}=dk(e,t);await e.runjs(l,void 0,{version:n})}}}});class dC extends s0.S0{constructor(...e){super(...e),(0,S._)(this,"defaultProps",{title:(0,O.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}(0,S._)(dC,"scene",s0.s5.collection),dC.define({label:(0,O.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSCollectionActionModel"}}),dC.registerFlow({key:"clickSettings",on:"click",title:(0,O.tExpr)("Click settings"),steps:{runJs:{title:(0,O.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":dM.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:`
447
447
  const rows = ctx.resource?.getSelectedRows?.() || [];
@@ -932,7 +932,7 @@ ctx.render(<JsItem />);
932
932
  overflow-y: auto;
933
933
  padding: 10px;
934
934
  }
935
- `,color:"#fff"}},style:{...r||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:n||"auto"}};if(!o)return(0,D.jsx)(n2.A.Text,{...a,children:this.renderInDisplayStyle(e)});{let t=(0,$.castArray)(e).flatMap((t,l)=>{let n=this.renderInDisplayStyle(null==t?void 0:t[o],t,Array.isArray(e)),r=M.isValidElement(n)?M.cloneElement(n,{key:`item-${l}`}):n;return 0===l?[r]:[(0,D.jsx)("span",{children:", "},`sep-${l}`),r]});return(0,D.jsx)(n2.A.Text,{...a,children:t})}}}b_.registerFlow({key:"displayFieldSettings",title:(0,O.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,O.tExpr)("Enable click-to-open"),uiMode:{type:"switch",key:"clickToOpen"},defaultParams:e=>{var t,l;return e.disableFieldClickToOpen?{clickToOpen:!1}:{clickToOpen:(null==(l=e.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))||bI(e)}},hideInSettings:e=>e.disableFieldClickToOpen,async afterParamsSave(e,t){await vh(e,t)},handler(e,t){vc(e,t)}}}}),b_.registerFlow(ey);let bD=M.memo(e=>{let t=(0,O.useFlowEngine)(),l=e=>{let{active:l,over:n}=e;l.id&&(null==n?void 0:n.id)&&l.id!==n.id&&t.moveModel(l.id,n.id)};return(0,D.jsx)(O.DndProvider,{onDragEnd:l,children:(0,D.jsx)("thead",{...e})})}),bN=(0,O.observer)(e=>{let{className:t,title:l,editable:n,width:r,record:i,recordIndex:o,dataIndex:a,children:s,model:u,...d}=e;return(0,D.jsx)("td",{className:f0()(t),...d,children:(0,D.jsxs)("div",{style:{width:r},children:[" ",s]})})}),bO=e=>{let{model:t}=e;return(0,D.jsx)(O.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(na.A,{}),children:t.translate("Fields")})})},b$=e=>{let{pageSize:t,value:l,size:n,collection:r,baseColumns:i,enableIndexColumn:o=!0,model:a}=e,[s,u]=(0,M.useState)(1),[d,c]=(0,M.useState)(t),{t:p}=(0,eJ.B)();(0,M.useEffect)(()=>{c(t)},[t]);let h=(0,M.useMemo)(()=>({current:s,pageSize:d,total:null==l?void 0:l.length,onChange:(e,t)=>{u(e),c(t)},showSizeChanger:!0,showTotal:e=>p("Total {{count}} items",{count:e})}),[s,d,l]),f=()=>{let e=f4([o&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(s-1)*d+l+1},...i.concat({key:"empty"})].filter(Boolean));return a.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,D.jsx)(bO,{model:a})}),e},m=(0,M.useCallback)(async(e,t,l)=>{if(!(0,$.isEmpty)(l)){let e=a.context.blockModel.resource,t=a.props.globalSort,n=a.context.collectionField.name,r=l.order?"ascend"===l.order?[l.field]:[`-${l.field}`]:t,i=r?`${n}(sort=${r})`:n,o=e.getAppends().map(e=>RegExp(`^${n}\\(sort=[^)]+\\)$`).test(e)||e===n?i:e);l&&e.setAppends(o),await e.refresh()}},[a]);return(0,D.jsx)(mP.A,{tableLayout:"fixed",size:n,rowKey:r.filterTargetKey,scroll:{x:"max-content"},dataSource:l,columns:f(),pagination:h,onChange:m,className:(0,en.css)`
935
+ `,color:"#fff"}},style:{...r||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:n||"auto"}};if(!o)return(0,D.jsx)(n2.A.Text,{...a,children:this.renderInDisplayStyle(e)});{let t=(0,$.castArray)(e).flatMap((t,l)=>{let n=this.renderInDisplayStyle(null==t?void 0:t[o],t,Array.isArray(e)),r=M.isValidElement(n)?M.cloneElement(n,{key:`item-${l}`}):n;return 0===l?[r]:[(0,D.jsx)("span",{children:", "},`sep-${l}`),r]});return(0,D.jsx)(n2.A.Text,{...a,children:t})}}}b_.registerFlow({key:"displayFieldSettings",title:(0,O.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,O.tExpr)("Enable click-to-open"),uiMode:{type:"switch",key:"clickToOpen"},defaultParams:e=>{var t,l;return e.disableFieldClickToOpen?{clickToOpen:!1}:{clickToOpen:(null==(l=e.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))||bI(e)}},hideInSettings:e=>e.disableFieldClickToOpen,async afterParamsSave(e,t){await vh(e,t)},handler(e,t){vc(e,t)}}}}),b_.registerFlow(ey);let bD=M.memo(e=>{let t=(0,O.useFlowEngine)(),l=e=>{let{active:l,over:n}=e;l.id&&(null==n?void 0:n.id)&&l.id!==n.id&&t.moveModel(l.id,n.id)};return(0,D.jsx)(O.DndProvider,{onDragEnd:l,children:(0,D.jsx)("thead",{...e})})}),bN=(0,O.observer)(e=>{let{className:t,title:l,editable:n,width:r,record:i,recordIndex:o,dataIndex:a,children:s,model:u,...d}=e;return(0,D.jsx)("td",{className:f0()(t),...d,children:(0,D.jsxs)("div",{style:{width:r},children:[" ",s]})})}),bO=e=>{let{model:t}=e;return(0,D.jsx)(O.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(na.A,{}),children:t.translate("Fields")})})},b$=e=>{let{pageSize:t,value:l,size:n,collection:r,baseColumns:i,enableIndexColumn:o=!0,model:a}=e,s=a.parent instanceof fq,[u,d]=(0,M.useState)(1),[c,p]=(0,M.useState)(t),[h,f]=(0,M.useState)(),{t:m}=(0,eJ.B)(),g=(0,M.useMemo)(()=>!s||Array.isArray(l)?l:l&&Array.isArray(l.rows)?l.rows:l&&"object"==typeof l?[l]:[],[s,l]),v=(0,M.useMemo)(()=>s&&h?(0,$.orderBy)(g,[e=>(0,$.get)(e,h.field)],[h.order]):g,[s,h,g]);(0,M.useEffect)(()=>{s&&d(1)},[s,l]),(0,M.useEffect)(()=>{p(t)},[t]);let y=(0,M.useMemo)(()=>({current:u,pageSize:c,total:null==g?void 0:g.length,onChange:(e,t)=>{d(e),p(t)},showSizeChanger:!0,showTotal:e=>m("Total {{count}} items",{count:e})}),[u,c,g,m]),b=()=>{let e=f4([o&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(u-1)*c+l+1},...i.concat({key:"empty"})].filter(Boolean));return a.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,D.jsx)(bO,{model:a})}),e},x=(0,M.useCallback)(async(e,t,l,n)=>{let r=Array.isArray(l)?l[0]:l;if(s){if("sort"!==n.action)return;let e=null==r?void 0:r.column,t=(null==e?void 0:e.sortField)||(null==r?void 0:r.field),l=Array.isArray(t)?t.join("."):String(t??""),i=`${a.context.fieldPath}.`,o=l.startsWith(i)?l.slice(i.length):l;f((null==r?void 0:r.order)&&o?{field:o,order:"ascend"===r.order?"asc":"desc"}:void 0),d(1);return}if(!(0,$.isEmpty)(r)){let e=a.context.blockModel.resource,t=a.props.globalSort,l=a.context.collectionField.name,n=r.order?"ascend"===r.order?[r.field]:[`-${r.field}`]:t,i=n?`${l}(sort=${n})`:l,o=e.getAppends().map(e=>RegExp(`^${l}\\(sort=[^)]+\\)$`).test(e)||e===l?i:e);r&&e.setAppends(o),await e.refresh()}},[s,a]);return(0,D.jsx)(mP.A,{tableLayout:"fixed",size:n,rowKey:r.filterTargetKey,scroll:{x:"max-content"},dataSource:v,columns:b(),pagination:y,onChange:x,className:(0,en.css)`
936
936
  .ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content {
937
937
  display: inline;
938
938
  }
@@ -942,7 +942,7 @@ ctx.render(<JsItem />);
942
942
  .ant-table-column-sorters .ant-table-column-title {
943
943
  overflow: visible;
944
944
  }
945
- `,components:{header:{wrapper:bD},body:{cell:bN}}})};class bB extends aV.o{get collection(){return this.context.collection}get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.context.fieldPath}),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}getBaseColumns(){return this.mapSubModels("columns",e=>"TableColumnModel"===e.use&&e.getColumnProps()).filter(e=>e&&!(null==e?void 0:e.hidden))}render(){return(0,D.jsx)(b$,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),(0,S._)(this,"disableTitleField",!0),(0,S._)(this,"defaultOverflowMode","ellipsis")}}bB.registerFlow({key:"TableAssociation",title:(0,O.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,O.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}}}}),bB.define({label:(0,O.tExpr)("Sub-table")}),cu.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class bL extends aV.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,D.jsx)(g6,{...this.props})}constructor(...e){super(...e),(0,S._)(this,"disableTitleField",!0),(0,S._)(this,"subModelBaseClasses",{action:"RecordActionGroupModel",field:["DetailsItemModel"]})}}bL.define({label:(0,O.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),cu.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let bq=e=>(0,$.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),bV=e=>{let{parentFieldIndex:t,index:l,blockPage:n}=e,r=t.length>0?t.join("|"):"root";return`row_${r}_${l}_${n}`},bz=e=>{var t;let{name:l,value:n=[]}=e,r=(0,O.useFlowModel)(),i=r.subModels.grid,o=bq(r.context.fieldIndex),a=r.context.record,s=r.context.collectionField.name,u=r.context.flowSettingsEnabled&&0===n.length?[{}]:n,d=r.context.blockModel.resource,c=(null==d||null==(t=d.getPage)?void 0:t.call(d))||0;return u.length>0&&(0,D.jsx)(n1.A,{bordered:!0,style:{position:"relative"},className:(0,en.css)`
945
+ `,components:{header:{wrapper:bD},body:{cell:bN}}})};class bB extends aV.o{get collection(){return this.context.collection}get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.context.fieldPath}),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}getBaseColumns(){return this.mapSubModels("columns",e=>"TableColumnModel"===e.use&&e.getColumnProps()).filter(e=>e&&!(null==e?void 0:e.hidden))}render(){return(0,D.jsx)(b$,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),(0,S._)(this,"disableTitleField",!0),(0,S._)(this,"defaultOverflowMode","ellipsis")}}bB.registerFlow({key:"TableAssociation",title:(0,O.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,O.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}}}}),bB.define({label:(0,O.tExpr)("Sub-table")}),cu.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]),fq.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class bL extends aV.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,D.jsx)(g6,{...this.props})}constructor(...e){super(...e),(0,S._)(this,"disableTitleField",!0),(0,S._)(this,"subModelBaseClasses",{action:"RecordActionGroupModel",field:["DetailsItemModel"]})}}bL.define({label:(0,O.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),cu.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let bq=e=>(0,$.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),bV=e=>{let{parentFieldIndex:t,index:l,blockPage:n}=e,r=t.length>0?t.join("|"):"root";return`row_${r}_${l}_${n}`},bz=e=>{var t;let{name:l,value:n=[]}=e,r=(0,O.useFlowModel)(),i=r.subModels.grid,o=bq(r.context.fieldIndex),a=r.context.record,s=r.context.collectionField.name,u=r.context.flowSettingsEnabled&&0===n.length?[{}]:n,d=r.context.blockModel.resource,c=(null==d||null==(t=d.getPage)?void 0:t.call(d))||0;return u.length>0&&(0,D.jsx)(n1.A,{bordered:!0,style:{position:"relative"},className:(0,en.css)`
946
946
  > .ant-card-body > .ant-divider:last-child {
947
947
  display: none;
948
948
  }
@@ -1536,7 +1536,7 @@ ${r}`,c)}}let n=R(e.issues.filter(e=>"runtime"===e.type)),r=n?`Key runtime issue
1536
1536
  }
1537
1537
  }
1538
1538
  }
1539
- `;function O(e,t){var l;return!!(null==(l=_[e])?void 0:l.has(t))}function $(e){return"hasAvailableData"in e&&"function"==typeof e.hasAvailableData}function B(e){return"submit"in e&&"function"==typeof e.submit}class L extends m.t{serialize(){return{...super.serialize(),variableContractType:{type:"form",use:this.use}}}get form(){return this.context.form}submitFromRunJs(){if($(this)&&!this.hasAvailableData())return;let e=this.mapSubModels("actions",e=>e).find(e=>e.getFlow("submitSettings"));if(e)return e.onClick(void 0);let t=["CreateFormModel","EditFormModel"].some(e=>{let t=this.flowEngine.getModelClass(e);return t&&this instanceof t});!this.context.publicFormRuntime&&t&&B(this)&&this.submit().catch(e=>{this.context.message.error(this.context.t("Save failed")),console.error("Form submission error:",e)})}syncRuntimeAssignRules(){var e,t,l;arguments.length>0&&void 0!==arguments[0]&&arguments[0];let n=this.getStepParams("formModelSettings","assignRules"),r=(null==n?void 0:n.value)||[];null==(t=this.formValueRuntime)||null==(e=t.syncAssignRules)||e.call(t,Array.isArray(r)?r:[]);let i=null==(l=this.context)?void 0:l.resource,o=T(r,this.collection);(null==i?void 0:i.addUpdateAssociationValues)&&o.length&&i.addUpdateAssociationValues(o)}renderConfigureActions(){return(0,r.jsx)(a.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("FormActionGroupModel"),children:(0,r.jsx)(a.FlowSettingsButton,{icon:(0,r.jsx)(i.A,{}),children:this.translate("Actions")})})}setFieldsValue(e){let t=this.context;"function"==typeof t.setFormValues?t.setFormValues(e,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form values via ctx.setFormValues",e)}):this.form.setFieldsValue(e)}setFieldValue(e,t){let l=this.context;"function"==typeof l.setFormValue?l.setFormValue(e,t,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form value via ctx.setFormValue",e)}):this.form.setFieldValue(e,t)}markUserModifiedFields(e){if(e&&"object"==typeof e&&!Array.isArray(e))for(let t of Object.keys(e))t&&this.userModifiedTopLevelFields.add(t)}getUserModifiedFields(){return this.userModifiedTopLevelFields}resetUserModifiedFields(){this.userModifiedTopLevelFields.clear()}resetRuntimeUserEditedState(){var e,t;null==(t=this.formValueRuntime)||null==(e=t.resetUserEditedState)||e.call(t)}async onDispatchEventStart(e,t,l){var n;if("beforeRender"===e){let e=this.subModels.grid;e&&await e.dispatchEvent("beforeRender",l,{useCache:null==t?void 0:t.useCache})}await (null==(n=super.onDispatchEventStart)?void 0:n.call(this,e,t,l))}getStepParams(e,t){let l=this.subModels.grid;if(e&&t&&O(e,t)&&l){let n=l.getStepParams(e,t);return void 0!==n?n:super.getStepParams(e,t)}if(e&&!t&&_[e]&&l){let t=super.getStepParams(e)||{},n=l.getStepParams(e)||{};for(let l of _[e])Object.prototype.hasOwnProperty.call(n,l)&&void 0!==n[l]&&(t[l]=n[l]);return t}return super.getStepParams(e,t)}setStepParams(e,t,l){let n=this.subModels.grid,r=(e,t)=>{let l=_[e];if(!l||!n)return t;let r={};for(let[i,o]of Object.entries(t))l.has(i)?n.setStepParams(e,i,o):r[i]=o;return r};if("string"==typeof e&&"string"==typeof t&&void 0!==l)return void(O(e,t)&&n?n.setStepParams(e,t,l):super.setStepParams(e,t,l));if("string"==typeof e&&"object"==typeof t&&null!==t){let l=r(e,t);Object.keys(l).length>0&&super.setStepParams(e,l);return}if("object"==typeof e&&null!==e){let t={};for(let[l,n]of Object.entries(e)){if("object"!=typeof n||null===n){t[l]=n;continue}let e=r(l,n);Object.keys(e).length>0&&(t[l]=e)}Object.keys(t).length>0&&super.setStepParams(t)}}async saveStepParams(){return await (0,f.ON)(this,async()=>{let e=await super.saveStepParams(),t=this.subModels.grid;return await (null==t?void 0:t.saveStepParams()),e})}createFormValuesMetaFactory(){return(0,a.createAssociationAwareObjectMetaFactory)(()=>this.collection,this.translate("Current form"),()=>{var e,t;return(null==(t=this.form)||null==(e=t.getFieldsValue)?void 0:e.call(t))||{}})}useHooksBeforeRender(){let[e]=s.A.useForm();this.context.defineProperty("form",{get:()=>e}),this.formValueRuntime||(this.formValueRuntime=new R({model:this,getForm:()=>this.context.form}));let t=this.formValueRuntime;t.mount();let l=this.createFormValuesMetaFactory();this.context.defineProperty("formValues",{get:()=>t.formValues,cache:!1,meta:l,resolveOnServer:e=>{var l,n,r,i,o,s,u,d,p,h,f,m,g;if(!e)return!1;let v=(e=>{let t=String(e||"").match(/^([^.[]+)/);return null==t?void 0:t[1]})(e);if(!v||!(null==(n=this.collection)||null==(l=n.getField)?void 0:l.call(n,v)))return!1;if((()=>{var e,t,l,n;let r=(null==(t=this.subModels.grid)||null==(e=t.subModels)?void 0:e.items)??[],i=new Set;for(let e of r){let t=null==e||null==(n=e.getStepParams)||null==(l=n.call(e,"fieldSettings","init"))?void 0:l.fieldPath,r=null==t?void 0:t.toString().split(".")[0];r&&i.add(r)}return i})().has(v)){let l=null==(i=this.form)||null==(r=i.getFieldValue)?void 0:r.call(i,v);if(null==l||Array.isArray(l)&&0===l.length)return!1;let n=t.getFormValuesSnapshot();return(!n||"object"!=typeof n||void 0===(0,c.D)(n,e))&&(0,a.createAssociationSubpathResolver)(()=>this.collection,()=>t.getFormValuesSnapshot())(e)}try{let e=(null==(u=this.context)||null==(s=u.resource)||null==(o=s.getMeta)?void 0:o.call(s,"currentFilterByTk"))??(null==(h=this.context)||null==(p=h.resource)||null==(d=p.getFilterByTk)?void 0:d.call(p))??(null==(g=this.collection)||null==(m=g.getFilterByTK)?void 0:m.call(g,null==(f=this.context)?void 0:f.record));if(null==e)return!1}catch(e){return!1}return!0},serverOnlyWhenContextParams:!0}),this.context.defineMethod("getFormValues",function(){return t.getFormValuesSnapshot()}),this.context.defineMethod("setFormValues",function(e,l){return t.setFormValues(this,e,l)}),this.context.defineMethod("setFormValue",function(e,l,n){return t.setFormValues(this,[{path:e,value:l}],n)})}onInit(e){super.onInit(e),this.emitter.on("onSubModelAdded",e=>{e===this.subModels.grid&&queueMicrotask(()=>this.syncRuntimeAssignRules("onSubModelAdded:grid"))}),this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1}),this.context.resource.on("saved",()=>{this.dispatchEvent("formSubmitSuccess",{})})}onMount(){var e;super.onMount(),null==(e=this.formValueRuntime)||e.mount({sync:!0}),this.syncRuntimeAssignRules("onMount"),setTimeout(()=>{this.applyFlow("eventSettings")},100)}onUnmount(){var e;null==(e=this.formValueRuntime)||e.dispose(),this.formValueRuntime=void 0,super.onUnmount()}getCurrentRecord(){return{}}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of FormModel")}constructor(...e){super(...e),(0,n._)(this,"formValueRuntime",void 0),(0,n._)(this,"userModifiedTopLevelFields",new Set),(0,n._)(this,"_defaultCustomModelClasses",{FormActionGroupModel:"FormActionGroupModel",FormItemModel:"FormItemModel",FormAssociationFieldGroupModel:"FormAssociationFieldGroupModel"}),(0,n._)(this,"customModelClasses",{})}}function q(e){var t,l,n,i;let{model:o,children:a,layoutProps:d={},initialValues:c,...p}=e,h=!!((null==o||null==(t=o.context)?void 0:t.isMobileLayout)&&(null==d?void 0:d.layout)==="horizontal"),f=[p.className,h?D:"",h?N:""].filter(Boolean).join(" ");return(0,r.jsx)(s.A,{form:o.form,initialValues:(null==(i=o.context)||null==(n=i.view)||null==(l=n.inputArgs)?void 0:l.formData)||o.context.record||c,...(0,u.omit)(d,"labelWidth"),labelCol:{style:{width:null==d?void 0:d.labelWidth}},onFieldsChange:e=>{let t=o.formValueRuntime;t&&t.handleFormFieldsChange(e)},onValuesChange:(e,t)=>{var l;null==(l=o.markUserModifiedFields)||l.call(o,e);let n=o.formValueRuntime;n?n.handleFormValuesChange(e,t):(o.dispatchEvent("formValuesChange",{changedValues:e,allValues:t},{debounce:!0}),o.emitter.emit("formValuesChange",{changedValues:e,allValues:t}))},...p,className:f||void 0,children:a})}let V=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},z=e=>{if(null!=e&&""!==e)return"number"==typeof e||/^\d+(\.\d+)?$/.test(e)?`${e}px`:e},K=e=>{let{heightMode:t,containerRef:l,actionsRef:n,footerRef:r,deps:i=[]}=e,[o,a]=(0,p.useState)(),s=(0,p.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void a(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let i=e.getBoundingClientRect().height;if(!i)return;let o=Math.max(0,Math.floor(i-V((null==n?void 0:n.current)||null)-V((null==r?void 0:r.current)||null)));a(e=>e===o?e:o)},[t,l,n,r]);return(0,p.useLayoutEffect)(()=>{s()},[s,...i]),(0,p.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=(null==n?void 0:n.current)||null,i=(null==r?void 0:r.current)||null,o=new ResizeObserver(()=>s());return o.observe(e),t&&o.observe(t),i&&o.observe(i),()=>o.disconnect()},[s,l,n,r,...i]),o},U=e=>{var t,l;let{model:n,gridModel:i,layoutProps:o,onFinish:a,grid:s,actions:u,footer:d,heightMode:c,height:h}=e,f=(0,p.useRef)(null),m=(0,p.useRef)(null),g=(0,p.useRef)(null),v="specifyValue"===c||"fullHeight"===c,y={paddingTop:null==(l=n.context)||null==(t=l.themeToken)?void 0:t.padding},b=(null==o?void 0:o.layout)==="horizontal"?z(null==o?void 0:o.labelWidth):void 0;b&&(y.marginInlineStart=b);let x=K({heightMode:c,containerRef:f,actionsRef:u?m:void 0,footerRef:d?g:void 0,deps:[h]});(0,p.useEffect)(()=>{var e;if(!i)return;let t=v?x:void 0;(null==(e=i.props)?void 0:e.height)!==t&&i.setProps({height:t})},[i,x,v]);let w=v?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,S=v?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,r.jsx)(q,{model:n,layoutProps:o,onFinish:a,style:w,children:(0,r.jsxs)("div",{ref:f,style:S,children:[s,u?(0,r.jsx)("div",{style:y,ref:m,children:u}):null,d?(0,r.jsx)("div",{ref:g,children:d}):null]})})};L.define({hide:!0}),L.registerFlow({key:"formModelSettings",title:(0,a.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,a.tExpr)("Layout")},assignRules:{use:"formAssignRules",title:(0,a.tExpr)("Field values"),beforeParamsSave(e){let t=(0,I.Fp)(e.model);Array.isArray(t)&&t.length&&(0,f.jI)(e.model)},afterParamsSave(e){var t,l,n,r,i,o;let a=e.model.getStepParams("formModelSettings","assignRules"),s=(null==a?void 0:a.value)||[];null==(n=e.model)||null==(l=n.formValueRuntime)||null==(t=l.syncAssignRules)||t.call(l,Array.isArray(s)?s:[]);let u=null==(i=e.model)||null==(r=i.context)?void 0:r.resource,d=T(s,null==(o=e.model)?void 0:o.collection);(null==u?void 0:u.addUpdateAssociationValues)&&d.length&&u.addUpdateAssociationValues(d)}}}}),L.registerFlow({key:"eventSettings",title:(0,a.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"fieldLinkageRules",afterParamsSave(e){setTimeout(()=>{var t;e.model.applyFlow("eventSettings",{changedValues:{},allValues:null==(t=e.form)?void 0:t.getFieldsValue(!0)})},0)}}}}),L.registerEvents({formValuesChange:{title:(0,a.tExpr)("Form values change"),name:"formValuesChange",uiSchema:{condition:{type:"object",title:(0,a.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":h.H}},handler:h.b}});class W extends L{}W.define({hide:!0})},71712(e,t,l){l.d(t,{Fp:()=>s,K7:()=>a,S2:()=>n.S2});var n=l(50314);let r=["editItemSettings","formItemSettings"],i=(0,n.li)(r),o=(0,n.u4)(r);function a(e){return(0,n.TE)(e,i)}function s(e){return(0,n.Co)(e,i,o)}},53831(e,t,l){l.d(t,{submitHandler:()=>a});var n=l(11869),r=l(58428),i=l(18357);function o(e){return e&&"object"==typeof e&&"data"in e?e.data:e}async function a(e,t,a){var s,u,d,c,p,h,f,m;let g=e.resource,v=e.blockModel,{EditFormModel:y}=await Promise.resolve().then(l.bind(l,71616)),b=v instanceof y;await (0,i.D9)({form:null==v?void 0:v.form,blockModel:v,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,i.go)(null==e?void 0:e.model)});let x=v.form.getFieldsValue(!0),w=(0,i.xT)(x,v),S=await (0,r.eu)(e,null==t?void 0:t.assignedValues,"FormSubmitAction");if(!S){null==(s=e.exit)||s.call(e);return}let A=(0,r.GO)(w,S);if(g instanceof n.SingleRecordResource){if(b){let e=g.getMeta("currentFilterByTk");e?g.setFilterByTk(e):g.isNewRecord=!0}let l=o(a?await a(A):await g.save(A,t.requestConfig));return b?(g.isNewRecord=!1,null==(u=v.resetUserModifiedFields)||u.call(v),await g.refresh(),l=l??(null==(d=g.getData)?void 0:d.call(g))):(v.form.resetFields(),v.emitter.emit("onFieldReset"),null==(c=v.resetUserModifiedFields)||c.call(v),null==(h=v.formValueRuntime)||null==(p=h.resetAfterFormReset)||p.call(h),e.view.inputArgs.collectionName===v.collection.name&&e.view.inputArgs.onChange&&e.view.inputArgs.onChange(l)),l}if(g instanceof n.MultiRecordResource){let l=g.getMeta("currentFilterByTk");if(!l)return void e.message.error(e.t("No filterByTk found for multi-record resource."));let n=a?await a(A,l):await g.update(l,A,t.requestConfig);return null==(f=v.resetUserModifiedFields)||f.call(v),o(n)??(null==(m=v.getCurrentRecord)?void 0:m.call(v))}}},18357(e,t,l){l.d(t,{D9:()=>v,go:()=>g,xT:()=>y});var n=l(40098),r=l.n(n),i=l(12197);function o(e,t){var l,n;let r=null==e||null==(n=e.context)||null==(l=n.blockModel)?void 0:l.uid,i=null==t?void 0:t.uid;return!!r&&!!i&&String(r)===String(i)}function a(e){var t,l;let n=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(n)&&n.length)return n;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),n=null==t?void 0:t.fieldPath;if("string"==typeof n&&n)return n}catch{}let r=null==e?void 0:e.fieldPath;if("string"==typeof r&&r)return r;let i="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,o=null==i?void 0:i.name;return"string"==typeof o&&o||Array.isArray(o)&&o.length?o:null}function s(e){return Array.isArray(e)&&e.length&&"string"==typeof e[0]?e:null}function u(e){var t;let l=a(e);return l?s((0,i.IJ)(l,null==e||null==(t=e.context)?void 0:t.fieldIndex)):null}function d(e,t){if(e&&"object"==typeof e&&Array.isArray(t)&&!(t.length<2))for(let l=t.length-1;l>=1;l--){let n=t.slice(0,l);if("number"==typeof n[n.length-1])continue;let i=r().get(e,n);r().isPlainObject(i)&&0===Object.keys(i).length&&r().unset(e,n)}}function c(e,t){(null==e?void 0:e.forEachModel)&&e.forEachModel(e=>{t(e);let l=null==e?void 0:e.forks;l&&"function"==typeof l.forEach&&l.forEach(e=>{e&&!e.disposed&&t(e)})})}function p(e){let t=null==e?void 0:e.flowEngine;if(!(null==t?void 0:t.forEachModel))return[];let l=[],n=new Set;return c(t,t=>{if(!t||"object"!=typeof t||!t.hidden||!o(t,e))return;let r=u(t);if(!r)return;let i=JSON.stringify(r);n.has(i)||(n.add(i),l.push(r))}),l}function h(e){return"string"==typeof e?e?[e]:null:Array.isArray(e)?s(e):null}function f(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length>t.length)return!1;for(let l=0;l<e.length;l++)if(e[l]!==t[l])return!1;return!0}function m(e){let t=null==e?void 0:e.form;if(!t||"function"!=typeof t.getFieldsError)return null;let l=t.getFieldsError();if(!Array.isArray(l))return null;let n=[],r=new Set;for(let e of l){let t=h(null==e?void 0:e.name);if(!t)continue;let l=JSON.stringify(t);r.has(l)||(r.add(l),n.push(t))}if(!n.length)return null;let i=p(e);return i.length?n.filter(e=>!i.some(t=>f(t,e))):n}function g(e){var t,l;return(null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"submitSettings","skipRequiredValidation"))?void 0:t.skipValidator)===!0}async function v(e){let{form:t,blockModel:l,flowSettingsEnabled:n,skipValidator:r}=e;if(r||!t||"function"!=typeof t.validateFields)return;let i=n&&l?m(l):null;if(Array.isArray(i)){i.length&&await t.validateFields(i);return}await t.validateFields()}function y(e,t){if(!e||"object"!=typeof e)return e;let l=p(t);if(!l.length)return e;let n=r().cloneDeep(e);for(let e of l)r().unset(n,e),d(n,e);return n}},29676(e,t,l){l.d(t,{F:()=>r});var n=l(87710);function r(e,t){let l=(t,l,n)=>{var r,i,o;return!l||(null==e||null==(o=e.app)||null==(i=o.jsonLogic)||null==(r=i.apply)?void 0:r.call(i,{[l]:[t,n]}))};try{return(0,n.evaluateConditions)((0,n.removeInvalidFilterItems)(t),l)}catch{return!1}}},47632(e,t,l){l.d(t,{Dd:()=>u,G:()=>c,Wp:()=>p,x3:()=>d});var n=l(95243),r=l(11869),i=l(40098),o=l.n(i),a=l(12197);function s(e){return!!e&&"object"==typeof e&&(Array.isArray(e)||o().isPlainObject(e))}function u(e,t){if(t)for(let l of(0,a.ef)(e))t.deps.add(`fv:${l}`)}function d(e){let{valuesMirror:t,collector:l,basePath:r,getFormValuesSnapshot:i,getFormValueAtPath:a}=e,c=()=>r.length?o().get(t,r):t,p=c(),h=p&&("object"==typeof p||"function"==typeof p)?p:Array.isArray(p)?[]:{},f=e=>d({valuesMirror:t,basePath:e,collector:l,getFormValuesSnapshot:i,getFormValueAtPath:a});return new Proxy(h,{get(e,d){if("toJSON"===d)return(l&&(l.wildcard=!0),0===r.length)?()=>i():()=>(0,n.toJS)(c());if("symbol"==typeof d){l&&(l.wildcard=!0);let e=c();return null==e?void 0:e[d]}let p=c();if(null==p)return;if("__raw"===d)return p;if("__proto__"===d||"prototype"===d||"constructor"===d){l&&(l.wildcard=!0);return}let h=Array.isArray(p),m=h&&("number"==typeof d&&Number.isInteger(d)||"string"==typeof d&&/^\d+$/.test(d));if(h&&!m){l&&(l.wildcard=!0);let e=p[d];return"function"==typeof e?e.bind(p):e}let g=[...r,m?Number(d):d];u(g,l);let v=p[d];if(void 0===v){let e=a(g);o().isEqual(e,v)||(o().set(t,g,e),v=e)}return null==v||"object"!=typeof v?v:s(v)?f(g):v},ownKeys(){l&&(l.wildcard=!0);let e=c();return e?Reflect.ownKeys(e):[]},getOwnPropertyDescriptor(e,t){let l=c();if(l)return Object.getOwnPropertyDescriptor(l,t)},has(e,t){let l=c();return!!l&&t in l}})}function c(e,t){try{let l=(0,r.extractUsedVariablePaths)(e)||{};for(let[e,n]of Object.entries(l)){let l=Array.isArray(n)?n:[];for(let n of l.length?l:[""]){if("formValues"===e){if(!n){t.wildcard=!0;continue}let e=(0,a.EA)(String(n)).filter(e=>"object"!=typeof e);u(e,t);continue}let l=n?`ctx:${e}:${String(n)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function p(e,t){if((0,r.isRunJSValue)(e))try{let l=(0,r.extractUsedVariablePathsFromRunJS)(e.code)||{};for(let[e,n]of Object.entries(l)){let l=Array.isArray(n)?n:[];for(let n of l.length?l:[""]){if("formValues"===e){if(!n){t.wildcard=!0;continue}let e=(0,a.EA)(String(n)).filter(e=>"object"!=typeof e);u(e,t);continue}let l=n?`ctx:${e}:${String(n)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}},12197(e,t,l){function n(e){let t=[],l=0,n=e.length,r=()=>{let r=l;for(;l<n&&"."!==e[l]&&"["!==e[l];)l++;let i=e.slice(r,l);i&&t.push(i)};for(;l<n;){let i=e[l];if("."===i){l++;continue}if("["===i){let r=++l;for(;l<n&&"]"!==e[l];)l++;let i=e.slice(r,l);l++,/^\d+$/.test(i)?t.push(Number(i)):i&&t.push({placeholder:i});continue}r()}return t}function r(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 i(e,t){let l=Array.isArray(e)?[...e]:n(e),i=r(t),o=[],a=0;for(let e=0;e<l.length;e++){let t=l[e];if("object"==typeof t&&t&&"placeholder"in t){let e=o[o.length-1],t="string"==typeof e?e:void 0;if(!t)return null;for(;a<i.length&&i[a].name!==t;)a++;if(a>=i.length)return null;o.push(i[a].index),a++;continue}if(o.push(t),"string"==typeof t&&a<i.length&&i[a].name===t){let t=l[e+1];"number"==typeof t?a++:"object"==typeof t&&t&&"placeholder"in t||(o.push(i[a].index),a++)}}return o}function o(e){let t="";for(let l of e){if("number"==typeof l){t+=`[${l}]`;continue}t?t+=`.${l}`:t=l}return t}function a(e){return n(e).filter(e=>"object"!=typeof e)}function s(e){let t=[],l=[];for(let n of e)l.push(n),t.push(o(l));return t}l.d(t,{EA:()=>n,IJ:()=>i,Qc:()=>o,c1:()=>a,ef:()=>s})},65421(e,t,l){l.d(t,{Po:()=>o,ao:()=>a,li:()=>i});var n=l(40098),r=l.n(n);let i=20;function o(e){return null==e||("string"==typeof e||Array.isArray(e)?0===e.length:!!r().isPlainObject(e)&&0===Object.keys(e).length)}function a(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}},50314(e,t,l){l.d(t,{Co:()=>m,PP:()=>o,S2:()=>f,TE:()=>h,li:()=>u,u4:()=>p});var n=l(40098),r=l.n(n);function i(){return{logic:"$and",items:[]}}function o(e,t,l){var n;let r=null==e||null==(n=e.getStepParams)?void 0:n.call(e,t,l);return!!r&&Object.prototype.hasOwnProperty.call(r,"value")}function a(e){if(!e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(t&&void 0!==t.initialValue)return t.initialValue}function s(e,t){var l,n;if(e)return null==(n=e.getStepParams)||null==(l=n.call(e,t,"initialValue"))?void 0:l.defaultValue}function u(e){return t=>{if(!t)return;let l=a(t);if(void 0!==l)return l;for(let l of e){let e=s(t,l);if(void 0!==e)return e}}}function d(e,t,l){var n,i,o;if(!(null==e||null==(n=e.stepParams)?void 0:n[t]))return;let a=e.stepParams[t];!a||"object"!=typeof a||Object.prototype.hasOwnProperty.call(a,l)&&(delete a[l],r().isEmpty(a)&&delete e.stepParams[t],null==(o=e.emitter)||null==(i=o.emit)||i.call(o,"onStepParamsChanged"))}function c(e){var t,l;if(!e)return;null==(t=e.setProps)||t.call(e,{initialValue:void 0}),e.props&&Object.prototype.hasOwnProperty.call(e.props,"initialValue")&&delete e.props.initialValue;let n=null==(l=e._options)?void 0:l.props;n&&Object.prototype.hasOwnProperty.call(n,"initialValue")&&delete n.initialValue}function p(e){return t=>{if(t)for(let l of(c(t),e))d(t,l,"initialValue")}}function h(e,t){var l,n,r,o,a;let s=null==e||null==(r=e.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items,u=Array.isArray(s)?s:[],d=[];for(let e of u){let l=(null==e||null==(a=e.getStepParams)||null==(o=a.call(e,"fieldSettings","init"))?void 0:o.fieldPath)||(null==e?void 0:e.fieldPath),n=l?String(l):"";if(!n)continue;let r=t(e);void 0!==r&&d.push({key:`legacy-default:${n}`,enable:!0,targetPath:n,mode:"default",condition:i(),value:r})}return d}function f(e,t){let l=Array.isArray(e)?e:[],n=Array.isArray(t)?t:[];if(!n.length)return l;let r=new Set;for(let e of l){if(!e||"object"!=typeof e)continue;let t=e.targetPath?String(e.targetPath):"";if(t){if("default"===e.mode){r.add(t);continue}String(e.key??"").startsWith("legacy-default:")&&r.add(t)}}let i=new Set(l.map(e=>String(e.key??""))),o=[];for(let e of n){let t=e.targetPath?String(e.targetPath):"";if(!t||r.has(t))continue;let l={...e},n=String(l.key??"");n&&i.has(n)&&(l.key=`${n}:${t}`),o.push(l)}return o.length?[...l,...o]:l}function m(e,t,l){var n,r,i;let o=null==e||null==(i=e.subModels)||null==(r=i.grid)||null==(n=r.subModels)?void 0:n.items,a=Array.isArray(o)?o:[],s=[];for(let e of a)void 0!==t(e)&&(l(e),s.push(e));return s}},26866(e,t,l){l.d(t,{$4:()=>a,r5:()=>o});var n=l(27253);let r="__index__";function i(e,t){if(!t)return null;if(Array.isArray(t)){let l=t.map(t=>null==e?void 0:e[t]);return l.some(e=>null==e)?null:l.map(e=>String(e)).join("__")}let l=null==e?void 0:e[t];return null==l?null:String(l)}function o(e,t){let l=null==e?void 0:e[r];if((null==e?void 0:e.__is_new__)&&null!=l&&""!==l)return`tmp:${String(l)}`;let n=i(e,t);return null!=n?`pk:${n}`:null!=l&&""!==l?`tmp:${String(l)}`:null}function a(e){if(!e.length)return e;let t=!1,l=e.map(e=>{let l=null==e?void 0:e[r];return e.__is_new__&&(null==l||""===l)?(t=!0,{...e,[r]:(0,n.uid)()}):e});return t?l:e}},69586(e,t,l){l.d(t,{m:()=>p});var n=l(74848),r=l(11869),i=l(95725),o=l(96540),a=l(44329),s=l(81486),u=l(16860);function d(e){let{value:t,onChange:l,onCompositionStart:r,onCompositionEnd:a,...s}=e,[u,d]=(0,o.useState)(()=>c(t));(0,o.useEffect)(()=>{d(c(t))},[t]);let p=e=>e.currentTarget.value;return(0,n.jsx)(i.A,{...s,value:u,onChange:e=>{d(p(e)),null==l||l(e)},onCompositionStart:e=>{d(p(e)),null==r||r(e)},onCompositionEnd:e=>{d(p(e)),null==a||a(e)}})}function c(e){return"bigint"==typeof e?String(e):null==e?"":e}class p extends s.o{render(){if(this.props.enableScan)return(0,n.jsx)(u.E,{...this.props});let{enableScan:e,disableManualInput:t,...l}=this.props;return(0,n.jsx)(d,{...l})}}p.registerFlow({key:"defaultValueForNanoid",steps:{generateNanoid:{handler(e,t){var l,n;null==(n=e.blockModel)||null==(l=n.emitter)||l.on("onFieldReset",()=>{if("nanoid"===e.collectionField.interface&&!1!==e.collectionField.options.autoFill){let{size:t,customAlphabet:l}=e.collectionField.options||{size:21};e.model.props.onChange((0,a.d_)(l,t)())}})}}}}),p.registerFlow({key:"scanInputSettings",sort:800,title:(0,r.tExpr)("Scan input settings"),steps:{enableScan:{title:(0,r.tExpr)("Enable Scan"),uiMode:{type:"switch",key:"enableScan"},hideInSettings:e=>"readPretty"===e.model.getProps().pattern||e.model.getProps().disabled,defaultParams:e=>({enableScan:!!e.model.props.enableScan}),handler(e,t){e.model.setProps({enableScan:!!t.enableScan,disableManualInput:!!t.enableScan&&e.model.props.disableManualInput})}},disableManualInput:{title:(0,r.tExpr)("Disable manual input"),uiMode:{type:"switch",key:"disableManualInput"},hideInSettings(e){var t,l;let n=null==(t=(l=e.model).getStepParams)?void 0:t.call(l,"scanInputSettings","enableScan");return!(Object.prototype.hasOwnProperty.call(n||{},"enableScan")?!!(null==n?void 0:n.enableScan):!!e.model.props.enableScan)||"readPretty"===e.model.getProps().pattern||!!e.model.getProps().disabled},defaultParams:e=>({disableManualInput:!!e.model.props.disableManualInput}),handler(e,t){e.model.setProps({disableManualInput:!!e.model.props.enableScan&&!!t.disableManualInput})}}}}),p.define({label:(0,r.tExpr)("Input")}),r.EditableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid"],{isDefault:!0}),r.FilterableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid","textarea","markdown","vditor","richText","password","color"],{isDefault:!0})},95267(e,t,l){l.d(t,{o:()=>r,e:()=>u});var n=l(50467);class r{subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async load(){return this.data&&!this.error?this.data:(this.pending||(this.loading=!0,this.notify(),this.pending=this.apiClient.request({url:"systemSettings:get"}).then(e=>(this.data=e.data,this.error=void 0,this.data)).catch(e=>{throw this.error=e,e}).finally(()=>{this.loading=!1,this.pending=void 0,this.notify()})),this.pending)}async refresh(){return this.pending=void 0,this.data=void 0,this.load()}setData(e){this.data=e,this.error=void 0,this.loading=!1,this.notify()}setError(e){this.error=e,this.loading=!1,this.notify()}notify(){for(let e of this.listeners)e()}constructor(e){(0,n._)(this,"apiClient",void 0),(0,n._)(this,"loading",void 0),(0,n._)(this,"data",void 0),(0,n._)(this,"error",void 0),(0,n._)(this,"pending",void 0),(0,n._)(this,"listeners",void 0),this.apiClient=e,this.loading=!1,this.listeners=new Set}}var i=l(11869),o=l(2077),a=l(84256),s=l(96540);let u=()=>{var e,t;let l=(0,o.nm)().systemSettings,n=(0,i.useFlowEngine)({throwError:!1}),[,r]=(0,s.useState)(0),u=null==(t=l.data)||null==(e=t.data)?void 0:e.enabledLanguages,d=(0,s.useMemo)(()=>(Array.isArray(u)?u:[]).filter(e=>a.A[e]).map(e=>({label:a.A[e].label,value:e})),[u]);return(0,s.useEffect)(()=>(l.load(),l.subscribe(()=>{r(e=>e+1)})),[l]),(0,s.useEffect)(()=>{n&&n.context.defineProperty("locale",{get:e=>{var t,l,n;return(null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==(n=e.i18n)?void 0:n.language)},cache:!1,meta:{type:"string",title:'{{t("Current language")}}',sort:970,interface:"select",uiSchema:{enum:d,"x-component":"Select"}}})},[n,d]),{loading:l.loading,data:l.data,error:l.error,refresh:()=>l.refresh(),mutate:e=>{Object.prototype.hasOwnProperty.call(e||{},"data")&&l.setData(null==e?void 0:e.data),Object.prototype.hasOwnProperty.call(e||{},"error")&&l.setError(null==e?void 0:e.error)}}}},94130(e,t,l){l.d(t,{F3:()=>a,GX:()=>s,b1:()=>u});let n={view:"get"},r=e=>e?n[e]||e:null,i=(e,t)=>{for(let l of t){if(!(l in e))continue;let t=e[l];if(null==t)return null;return(Array.isArray(t)?t:[t]).map(e=>r(e)).filter(Boolean)}},o=(e,t)=>{let l=r(t);if(!l||!(null==e?void 0:e.options))return!0;let{availableActions:n,unavailableActions:i}=e.options;return Array.isArray(n)?n.includes(l):!Array.isArray(i)||!i.includes(l)},a=(e,t)=>null==t||!t.length||t.every(t=>o(e,t)),s=e=>{var t;let l=i(e,["capabilityActionNames","capabilityActionName"]);if(void 0!==l)return l;let n=null==e||null==(t=e.prototype)?void 0:t.getAclActionName;if("function"!=typeof n)return null;try{let e=n.call({}),t=r(e);return t?[t]:null}catch{return null}},u=e=>i(e,["blockCapabilityActionNames","blockCapabilityActionName"])??null},42632(e,t,l){l.d(t,{l:()=>n});function n(e){let{blockLabel:t,dsName:l,dsCount:n,collectionTitle:r,sourceCollectionTitle:i,associationTitle:o}=e,a=n>1&&!!l,s=r;if(i&&o){let e=`${i} > ${o} (${r})`;s=`${a?`${l} > `:""}${e}`}else s=`${a?`${l} > `:""}${r}`;return`
1539
+ `;function O(e,t){var l;return!!(null==(l=_[e])?void 0:l.has(t))}function $(e){return"hasAvailableData"in e&&"function"==typeof e.hasAvailableData}function B(e){return"submit"in e&&"function"==typeof e.submit}class L extends m.t{serialize(){return{...super.serialize(),variableContractType:{type:"form",use:this.use}}}get form(){return this.context.form}submitFromRunJs(){if($(this)&&!this.hasAvailableData())return;let e=this.mapSubModels("actions",e=>e).find(e=>e.getFlow("submitSettings"));if(e)return e.onClick(void 0);let t=["CreateFormModel","EditFormModel"].some(e=>{let t=this.flowEngine.getModelClass(e);return t&&this instanceof t});!this.context.publicFormRuntime&&t&&B(this)&&this.submit().catch(e=>{this.context.message.error(this.context.t("Save failed")),console.error("Form submission error:",e)})}syncRuntimeAssignRules(){var e,t,l;arguments.length>0&&void 0!==arguments[0]&&arguments[0];let n=this.getStepParams("formModelSettings","assignRules"),r=(null==n?void 0:n.value)||[];null==(t=this.formValueRuntime)||null==(e=t.syncAssignRules)||e.call(t,Array.isArray(r)?r:[]);let i=null==(l=this.context)?void 0:l.resource,o=T(r,this.collection);(null==i?void 0:i.addUpdateAssociationValues)&&o.length&&i.addUpdateAssociationValues(o)}renderConfigureActions(){return(0,r.jsx)(a.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("FormActionGroupModel"),children:(0,r.jsx)(a.FlowSettingsButton,{icon:(0,r.jsx)(i.A,{}),children:this.translate("Actions")})})}setFieldsValue(e){let t=this.context;"function"==typeof t.setFormValues?t.setFormValues(e,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form values via ctx.setFormValues",e)}):this.form.setFieldsValue(e)}setFieldValue(e,t){let l=this.context;"function"==typeof l.setFormValue?l.setFormValue(e,t,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form value via ctx.setFormValue",e)}):this.form.setFieldValue(e,t)}markUserModifiedFields(e){if(e&&"object"==typeof e&&!Array.isArray(e))for(let t of Object.keys(e))t&&this.userModifiedTopLevelFields.add(t)}getUserModifiedFields(){return this.userModifiedTopLevelFields}resetUserModifiedFields(){this.userModifiedTopLevelFields.clear()}resetRuntimeUserEditedState(){var e,t;null==(t=this.formValueRuntime)||null==(e=t.resetUserEditedState)||e.call(t)}async onDispatchEventStart(e,t,l){var n;if("beforeRender"===e){let e=this.subModels.grid;e&&await e.dispatchEvent("beforeRender",l,{useCache:null==t?void 0:t.useCache})}await (null==(n=super.onDispatchEventStart)?void 0:n.call(this,e,t,l))}getStepParams(e,t){let l=this.subModels.grid;if(e&&t&&O(e,t)&&l){let n=l.getStepParams(e,t);return void 0!==n?n:super.getStepParams(e,t)}if(e&&!t&&_[e]&&l){let t=super.getStepParams(e)||{},n=l.getStepParams(e)||{};for(let l of _[e])Object.prototype.hasOwnProperty.call(n,l)&&void 0!==n[l]&&(t[l]=n[l]);return t}return super.getStepParams(e,t)}setStepParams(e,t,l){let n=this.subModels.grid,r=(e,t)=>{let l=_[e];if(!l||!n)return t;let r={};for(let[i,o]of Object.entries(t))l.has(i)?n.setStepParams(e,i,o):r[i]=o;return r};if("string"==typeof e&&"string"==typeof t&&void 0!==l)return void(O(e,t)&&n?n.setStepParams(e,t,l):super.setStepParams(e,t,l));if("string"==typeof e&&"object"==typeof t&&null!==t){let l=r(e,t);Object.keys(l).length>0&&super.setStepParams(e,l);return}if("object"==typeof e&&null!==e){let t={};for(let[l,n]of Object.entries(e)){if("object"!=typeof n||null===n){t[l]=n;continue}let e=r(l,n);Object.keys(e).length>0&&(t[l]=e)}Object.keys(t).length>0&&super.setStepParams(t)}}async saveStepParams(){return await (0,f.ON)(this,async()=>{let e=await super.saveStepParams(),t=this.subModels.grid;return await (null==t?void 0:t.saveStepParams()),e})}createFormValuesMetaFactory(){return(0,a.createAssociationAwareObjectMetaFactory)(()=>this.collection,this.translate("Current form"),()=>{var e,t;return(null==(t=this.form)||null==(e=t.getFieldsValue)?void 0:e.call(t))||{}})}useHooksBeforeRender(){let[e]=s.A.useForm();this.context.defineProperty("form",{get:()=>e}),this.formValueRuntime||(this.formValueRuntime=new R({model:this,getForm:()=>this.context.form}));let t=this.formValueRuntime;t.mount();let l=this.createFormValuesMetaFactory();this.context.defineProperty("formValues",{get:()=>t.formValues,cache:!1,meta:l,resolveOnServer:e=>{var l,n,r,i,o,s,u,d,p,h,f,m,g,v,y,b;if(!e)return!1;let x=(e=>{let t=String(e||"").match(/^([^.[]+)/);return null==t?void 0:t[1]})(e);if(!x||!(null==(n=this.collection)||null==(l=n.getField)?void 0:l.call(n,x)))return!1;if((()=>{var e,t,l,n;let r=(null==(t=this.subModels.grid)||null==(e=t.subModels)?void 0:e.items)??[],i=new Set;for(let e of r){let t=null==e||null==(n=e.getStepParams)||null==(l=n.call(e,"fieldSettings","init"))?void 0:l.fieldPath,r=null==t?void 0:t.toString().split(".")[0];r&&i.add(r)}return i})().has(x)){let l=null==(i=this.form)||null==(r=i.getFieldValue)?void 0:r.call(i,x);if(null==l||Array.isArray(l)&&0===l.length)return!1;let n=t.getFormValuesSnapshot(),d=!1;if(n&&"object"==typeof n){let t=(0,c.D)(n,e);if(void 0!==t){let l=e.replace(/\[\d+\]/g,"").split(".").filter(e=>!/^\d+$/.test(e)).join("."),n=null==(s=this.collection)||null==(o=s.getFieldByPath)?void 0:o.call(s,l),r=null==n?void 0:n.targetCollectionTitleFieldName,i=e=>!(!e||"object"!=typeof e||Array.isArray(e))&&(!r||void 0!==e[r]),a=null===t||(Array.isArray(t)?0===t.length||t.every(e=>null===e||i(e)):i(t));if(!(null==n||null==(u=n.isAssociationField)?void 0:u.call(n))||a)return!1;d=!0}}return(0,a.createAssociationSubpathResolver)(()=>this.collection,d?void 0:()=>t.getFormValuesSnapshot())(e)}try{let e=(null==(h=this.context)||null==(p=h.resource)||null==(d=p.getMeta)?void 0:d.call(p,"currentFilterByTk"))??(null==(g=this.context)||null==(m=g.resource)||null==(f=m.getFilterByTk)?void 0:f.call(m))??(null==(b=this.collection)||null==(y=b.getFilterByTK)?void 0:y.call(b,null==(v=this.context)?void 0:v.record));if(null==e)return!1}catch(e){return!1}return!0},serverOnlyWhenContextParams:!0}),this.context.defineMethod("getFormValues",function(){return t.getFormValuesSnapshot()}),this.context.defineMethod("setFormValues",function(e,l){return t.setFormValues(this,e,l)}),this.context.defineMethod("setFormValue",function(e,l,n){return t.setFormValues(this,[{path:e,value:l}],n)})}onInit(e){super.onInit(e),this.emitter.on("onSubModelAdded",e=>{e===this.subModels.grid&&queueMicrotask(()=>this.syncRuntimeAssignRules("onSubModelAdded:grid"))}),this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1}),this.context.resource.on("saved",()=>{this.dispatchEvent("formSubmitSuccess",{})})}onMount(){var e;super.onMount(),null==(e=this.formValueRuntime)||e.mount({sync:!0}),this.syncRuntimeAssignRules("onMount"),setTimeout(()=>{this.applyFlow("eventSettings")},100)}onUnmount(){var e;null==(e=this.formValueRuntime)||e.dispose(),this.formValueRuntime=void 0,super.onUnmount()}getCurrentRecord(){return{}}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of FormModel")}constructor(...e){super(...e),(0,n._)(this,"formValueRuntime",void 0),(0,n._)(this,"userModifiedTopLevelFields",new Set),(0,n._)(this,"_defaultCustomModelClasses",{FormActionGroupModel:"FormActionGroupModel",FormItemModel:"FormItemModel",FormAssociationFieldGroupModel:"FormAssociationFieldGroupModel"}),(0,n._)(this,"customModelClasses",{})}}function q(e){var t,l,n,i;let{model:o,children:a,layoutProps:d={},initialValues:c,...p}=e,h=!!((null==o||null==(t=o.context)?void 0:t.isMobileLayout)&&(null==d?void 0:d.layout)==="horizontal"),f=[p.className,h?D:"",h?N:""].filter(Boolean).join(" ");return(0,r.jsx)(s.A,{form:o.form,initialValues:(null==(i=o.context)||null==(n=i.view)||null==(l=n.inputArgs)?void 0:l.formData)||o.context.record||c,...(0,u.omit)(d,"labelWidth"),labelCol:{style:{width:null==d?void 0:d.labelWidth}},onFieldsChange:e=>{let t=o.formValueRuntime;t&&t.handleFormFieldsChange(e)},onValuesChange:(e,t)=>{var l;null==(l=o.markUserModifiedFields)||l.call(o,e);let n=o.formValueRuntime;n?n.handleFormValuesChange(e,t):(o.dispatchEvent("formValuesChange",{changedValues:e,allValues:t},{debounce:!0}),o.emitter.emit("formValuesChange",{changedValues:e,allValues:t}))},...p,className:f||void 0,children:a})}let V=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},z=e=>{if(null!=e&&""!==e)return"number"==typeof e||/^\d+(\.\d+)?$/.test(e)?`${e}px`:e},K=e=>{let{heightMode:t,containerRef:l,actionsRef:n,footerRef:r,deps:i=[]}=e,[o,a]=(0,p.useState)(),s=(0,p.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void a(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let i=e.getBoundingClientRect().height;if(!i)return;let o=Math.max(0,Math.floor(i-V((null==n?void 0:n.current)||null)-V((null==r?void 0:r.current)||null)));a(e=>e===o?e:o)},[t,l,n,r]);return(0,p.useLayoutEffect)(()=>{s()},[s,...i]),(0,p.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=(null==n?void 0:n.current)||null,i=(null==r?void 0:r.current)||null,o=new ResizeObserver(()=>s());return o.observe(e),t&&o.observe(t),i&&o.observe(i),()=>o.disconnect()},[s,l,n,r,...i]),o},U=e=>{var t,l;let{model:n,gridModel:i,layoutProps:o,onFinish:a,grid:s,actions:u,footer:d,heightMode:c,height:h}=e,f=(0,p.useRef)(null),m=(0,p.useRef)(null),g=(0,p.useRef)(null),v="specifyValue"===c||"fullHeight"===c,y={paddingTop:null==(l=n.context)||null==(t=l.themeToken)?void 0:t.padding},b=(null==o?void 0:o.layout)==="horizontal"?z(null==o?void 0:o.labelWidth):void 0;b&&(y.marginInlineStart=b);let x=K({heightMode:c,containerRef:f,actionsRef:u?m:void 0,footerRef:d?g:void 0,deps:[h]});(0,p.useEffect)(()=>{var e;if(!i)return;let t=v?x:void 0;(null==(e=i.props)?void 0:e.height)!==t&&i.setProps({height:t})},[i,x,v]);let w=v?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,S=v?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,r.jsx)(q,{model:n,layoutProps:o,onFinish:a,style:w,children:(0,r.jsxs)("div",{ref:f,style:S,children:[s,u?(0,r.jsx)("div",{style:y,ref:m,children:u}):null,d?(0,r.jsx)("div",{ref:g,children:d}):null]})})};L.define({hide:!0}),L.registerFlow({key:"formModelSettings",title:(0,a.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,a.tExpr)("Layout")},assignRules:{use:"formAssignRules",title:(0,a.tExpr)("Field values"),beforeParamsSave(e){let t=(0,I.Fp)(e.model);Array.isArray(t)&&t.length&&(0,f.jI)(e.model)},afterParamsSave(e){var t,l,n,r,i,o;let a=e.model.getStepParams("formModelSettings","assignRules"),s=(null==a?void 0:a.value)||[];null==(n=e.model)||null==(l=n.formValueRuntime)||null==(t=l.syncAssignRules)||t.call(l,Array.isArray(s)?s:[]);let u=null==(i=e.model)||null==(r=i.context)?void 0:r.resource,d=T(s,null==(o=e.model)?void 0:o.collection);(null==u?void 0:u.addUpdateAssociationValues)&&d.length&&u.addUpdateAssociationValues(d)}}}}),L.registerFlow({key:"eventSettings",title:(0,a.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"fieldLinkageRules",afterParamsSave(e){setTimeout(()=>{var t;e.model.applyFlow("eventSettings",{changedValues:{},allValues:null==(t=e.form)?void 0:t.getFieldsValue(!0)})},0)}}}}),L.registerEvents({formValuesChange:{title:(0,a.tExpr)("Form values change"),name:"formValuesChange",uiSchema:{condition:{type:"object",title:(0,a.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":h.H}},handler:h.b}});class W extends L{}W.define({hide:!0})},71712(e,t,l){l.d(t,{Fp:()=>s,K7:()=>a,S2:()=>n.S2});var n=l(50314);let r=["editItemSettings","formItemSettings"],i=(0,n.li)(r),o=(0,n.u4)(r);function a(e){return(0,n.TE)(e,i)}function s(e){return(0,n.Co)(e,i,o)}},53831(e,t,l){l.d(t,{submitHandler:()=>a});var n=l(11869),r=l(58428),i=l(18357);function o(e){return e&&"object"==typeof e&&"data"in e?e.data:e}async function a(e,t,a){var s,u,d,c,p,h,f,m;let g=e.resource,v=e.blockModel,{EditFormModel:y}=await Promise.resolve().then(l.bind(l,71616)),b=v instanceof y;await (0,i.D9)({form:null==v?void 0:v.form,blockModel:v,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,i.go)(null==e?void 0:e.model)});let x=v.form.getFieldsValue(!0),w=(0,i.xT)(x,v),S=await (0,r.eu)(e,null==t?void 0:t.assignedValues,"FormSubmitAction");if(!S){null==(s=e.exit)||s.call(e);return}let A=(0,r.GO)(w,S);if(g instanceof n.SingleRecordResource){if(b){let e=g.getMeta("currentFilterByTk");e?g.setFilterByTk(e):g.isNewRecord=!0}let l=o(a?await a(A):await g.save(A,t.requestConfig));return b?(g.isNewRecord=!1,null==(u=v.resetUserModifiedFields)||u.call(v),await g.refresh(),l=l??(null==(d=g.getData)?void 0:d.call(g))):(v.form.resetFields(),v.emitter.emit("onFieldReset"),null==(c=v.resetUserModifiedFields)||c.call(v),null==(h=v.formValueRuntime)||null==(p=h.resetAfterFormReset)||p.call(h),e.view.inputArgs.collectionName===v.collection.name&&e.view.inputArgs.onChange&&e.view.inputArgs.onChange(l)),l}if(g instanceof n.MultiRecordResource){let l=g.getMeta("currentFilterByTk");if(!l)return void e.message.error(e.t("No filterByTk found for multi-record resource."));let n=a?await a(A,l):await g.update(l,A,t.requestConfig);return null==(f=v.resetUserModifiedFields)||f.call(v),o(n)??(null==(m=v.getCurrentRecord)?void 0:m.call(v))}}},18357(e,t,l){l.d(t,{D9:()=>v,go:()=>g,xT:()=>y});var n=l(40098),r=l.n(n),i=l(12197);function o(e,t){var l,n;let r=null==e||null==(n=e.context)||null==(l=n.blockModel)?void 0:l.uid,i=null==t?void 0:t.uid;return!!r&&!!i&&String(r)===String(i)}function a(e){var t,l;let n=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(n)&&n.length)return n;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),n=null==t?void 0:t.fieldPath;if("string"==typeof n&&n)return n}catch{}let r=null==e?void 0:e.fieldPath;if("string"==typeof r&&r)return r;let i="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,o=null==i?void 0:i.name;return"string"==typeof o&&o||Array.isArray(o)&&o.length?o:null}function s(e){return Array.isArray(e)&&e.length&&"string"==typeof e[0]?e:null}function u(e){var t;let l=a(e);return l?s((0,i.IJ)(l,null==e||null==(t=e.context)?void 0:t.fieldIndex)):null}function d(e,t){if(e&&"object"==typeof e&&Array.isArray(t)&&!(t.length<2))for(let l=t.length-1;l>=1;l--){let n=t.slice(0,l);if("number"==typeof n[n.length-1])continue;let i=r().get(e,n);r().isPlainObject(i)&&0===Object.keys(i).length&&r().unset(e,n)}}function c(e,t){(null==e?void 0:e.forEachModel)&&e.forEachModel(e=>{t(e);let l=null==e?void 0:e.forks;l&&"function"==typeof l.forEach&&l.forEach(e=>{e&&!e.disposed&&t(e)})})}function p(e){let t=null==e?void 0:e.flowEngine;if(!(null==t?void 0:t.forEachModel))return[];let l=[],n=new Set;return c(t,t=>{if(!t||"object"!=typeof t||!t.hidden||!o(t,e))return;let r=u(t);if(!r)return;let i=JSON.stringify(r);n.has(i)||(n.add(i),l.push(r))}),l}function h(e){return"string"==typeof e?e?[e]:null:Array.isArray(e)?s(e):null}function f(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length>t.length)return!1;for(let l=0;l<e.length;l++)if(e[l]!==t[l])return!1;return!0}function m(e){let t=null==e?void 0:e.form;if(!t||"function"!=typeof t.getFieldsError)return null;let l=t.getFieldsError();if(!Array.isArray(l))return null;let n=[],r=new Set;for(let e of l){let t=h(null==e?void 0:e.name);if(!t)continue;let l=JSON.stringify(t);r.has(l)||(r.add(l),n.push(t))}if(!n.length)return null;let i=p(e);return i.length?n.filter(e=>!i.some(t=>f(t,e))):n}function g(e){var t,l;return(null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"submitSettings","skipRequiredValidation"))?void 0:t.skipValidator)===!0}async function v(e){let{form:t,blockModel:l,flowSettingsEnabled:n,skipValidator:r}=e;if(r||!t||"function"!=typeof t.validateFields)return;let i=n&&l?m(l):null;if(Array.isArray(i)){i.length&&await t.validateFields(i);return}await t.validateFields()}function y(e,t){if(!e||"object"!=typeof e)return e;let l=p(t);if(!l.length)return e;let n=r().cloneDeep(e);for(let e of l)r().unset(n,e),d(n,e);return n}},29676(e,t,l){l.d(t,{F:()=>r});var n=l(87710);function r(e,t){let l=(t,l,n)=>{var r,i,o;return!l||(null==e||null==(o=e.app)||null==(i=o.jsonLogic)||null==(r=i.apply)?void 0:r.call(i,{[l]:[t,n]}))};try{return(0,n.evaluateConditions)((0,n.removeInvalidFilterItems)(t),l)}catch{return!1}}},47632(e,t,l){l.d(t,{Dd:()=>u,G:()=>c,Wp:()=>p,x3:()=>d});var n=l(95243),r=l(11869),i=l(40098),o=l.n(i),a=l(12197);function s(e){return!!e&&"object"==typeof e&&(Array.isArray(e)||o().isPlainObject(e))}function u(e,t){if(t)for(let l of(0,a.ef)(e))t.deps.add(`fv:${l}`)}function d(e){let{valuesMirror:t,collector:l,basePath:r,getFormValuesSnapshot:i,getFormValueAtPath:a}=e,c=()=>r.length?o().get(t,r):t,p=c(),h=p&&("object"==typeof p||"function"==typeof p)?p:Array.isArray(p)?[]:{},f=e=>d({valuesMirror:t,basePath:e,collector:l,getFormValuesSnapshot:i,getFormValueAtPath:a});return new Proxy(h,{get(e,d){if("toJSON"===d)return(l&&(l.wildcard=!0),0===r.length)?()=>i():()=>(0,n.toJS)(c());if("symbol"==typeof d){l&&(l.wildcard=!0);let e=c();return null==e?void 0:e[d]}let p=c();if(null==p)return;if("__raw"===d)return p;if("__proto__"===d||"prototype"===d||"constructor"===d){l&&(l.wildcard=!0);return}let h=Array.isArray(p),m=h&&("number"==typeof d&&Number.isInteger(d)||"string"==typeof d&&/^\d+$/.test(d));if(h&&!m){l&&(l.wildcard=!0);let e=p[d];return"function"==typeof e?e.bind(p):e}let g=[...r,m?Number(d):d];u(g,l);let v=p[d];if(void 0===v){let e=a(g);o().isEqual(e,v)||(o().set(t,g,e),v=e)}return null==v||"object"!=typeof v?v:s(v)?f(g):v},ownKeys(){l&&(l.wildcard=!0);let e=c();return e?Reflect.ownKeys(e):[]},getOwnPropertyDescriptor(e,t){let l=c();if(l)return Object.getOwnPropertyDescriptor(l,t)},has(e,t){let l=c();return!!l&&t in l}})}function c(e,t){try{let l=(0,r.extractUsedVariablePaths)(e)||{};for(let[e,n]of Object.entries(l)){let l=Array.isArray(n)?n:[];for(let n of l.length?l:[""]){if("formValues"===e){if(!n){t.wildcard=!0;continue}let e=(0,a.EA)(String(n)).filter(e=>"object"!=typeof e);u(e,t);continue}let l=n?`ctx:${e}:${String(n)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function p(e,t){if((0,r.isRunJSValue)(e))try{let l=(0,r.extractUsedVariablePathsFromRunJS)(e.code)||{};for(let[e,n]of Object.entries(l)){let l=Array.isArray(n)?n:[];for(let n of l.length?l:[""]){if("formValues"===e){if(!n){t.wildcard=!0;continue}let e=(0,a.EA)(String(n)).filter(e=>"object"!=typeof e);u(e,t);continue}let l=n?`ctx:${e}:${String(n)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}},12197(e,t,l){function n(e){let t=[],l=0,n=e.length,r=()=>{let r=l;for(;l<n&&"."!==e[l]&&"["!==e[l];)l++;let i=e.slice(r,l);i&&t.push(i)};for(;l<n;){let i=e[l];if("."===i){l++;continue}if("["===i){let r=++l;for(;l<n&&"]"!==e[l];)l++;let i=e.slice(r,l);l++,/^\d+$/.test(i)?t.push(Number(i)):i&&t.push({placeholder:i});continue}r()}return t}function r(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 i(e,t){let l=Array.isArray(e)?[...e]:n(e),i=r(t),o=[],a=0;for(let e=0;e<l.length;e++){let t=l[e];if("object"==typeof t&&t&&"placeholder"in t){let e=o[o.length-1],t="string"==typeof e?e:void 0;if(!t)return null;for(;a<i.length&&i[a].name!==t;)a++;if(a>=i.length)return null;o.push(i[a].index),a++;continue}if(o.push(t),"string"==typeof t&&a<i.length&&i[a].name===t){let t=l[e+1];"number"==typeof t?a++:"object"==typeof t&&t&&"placeholder"in t||(o.push(i[a].index),a++)}}return o}function o(e){let t="";for(let l of e){if("number"==typeof l){t+=`[${l}]`;continue}t?t+=`.${l}`:t=l}return t}function a(e){return n(e).filter(e=>"object"!=typeof e)}function s(e){let t=[],l=[];for(let n of e)l.push(n),t.push(o(l));return t}l.d(t,{EA:()=>n,IJ:()=>i,Qc:()=>o,c1:()=>a,ef:()=>s})},65421(e,t,l){l.d(t,{Po:()=>o,ao:()=>a,li:()=>i});var n=l(40098),r=l.n(n);let i=20;function o(e){return null==e||("string"==typeof e||Array.isArray(e)?0===e.length:!!r().isPlainObject(e)&&0===Object.keys(e).length)}function a(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}},50314(e,t,l){l.d(t,{Co:()=>m,PP:()=>o,S2:()=>f,TE:()=>h,li:()=>u,u4:()=>p});var n=l(40098),r=l.n(n);function i(){return{logic:"$and",items:[]}}function o(e,t,l){var n;let r=null==e||null==(n=e.getStepParams)?void 0:n.call(e,t,l);return!!r&&Object.prototype.hasOwnProperty.call(r,"value")}function a(e){if(!e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(t&&void 0!==t.initialValue)return t.initialValue}function s(e,t){var l,n;if(e)return null==(n=e.getStepParams)||null==(l=n.call(e,t,"initialValue"))?void 0:l.defaultValue}function u(e){return t=>{if(!t)return;let l=a(t);if(void 0!==l)return l;for(let l of e){let e=s(t,l);if(void 0!==e)return e}}}function d(e,t,l){var n,i,o;if(!(null==e||null==(n=e.stepParams)?void 0:n[t]))return;let a=e.stepParams[t];!a||"object"!=typeof a||Object.prototype.hasOwnProperty.call(a,l)&&(delete a[l],r().isEmpty(a)&&delete e.stepParams[t],null==(o=e.emitter)||null==(i=o.emit)||i.call(o,"onStepParamsChanged"))}function c(e){var t,l;if(!e)return;null==(t=e.setProps)||t.call(e,{initialValue:void 0}),e.props&&Object.prototype.hasOwnProperty.call(e.props,"initialValue")&&delete e.props.initialValue;let n=null==(l=e._options)?void 0:l.props;n&&Object.prototype.hasOwnProperty.call(n,"initialValue")&&delete n.initialValue}function p(e){return t=>{if(t)for(let l of(c(t),e))d(t,l,"initialValue")}}function h(e,t){var l,n,r,o,a;let s=null==e||null==(r=e.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items,u=Array.isArray(s)?s:[],d=[];for(let e of u){let l=(null==e||null==(a=e.getStepParams)||null==(o=a.call(e,"fieldSettings","init"))?void 0:o.fieldPath)||(null==e?void 0:e.fieldPath),n=l?String(l):"";if(!n)continue;let r=t(e);void 0!==r&&d.push({key:`legacy-default:${n}`,enable:!0,targetPath:n,mode:"default",condition:i(),value:r})}return d}function f(e,t){let l=Array.isArray(e)?e:[],n=Array.isArray(t)?t:[];if(!n.length)return l;let r=new Set;for(let e of l){if(!e||"object"!=typeof e)continue;let t=e.targetPath?String(e.targetPath):"";if(t){if("default"===e.mode){r.add(t);continue}String(e.key??"").startsWith("legacy-default:")&&r.add(t)}}let i=new Set(l.map(e=>String(e.key??""))),o=[];for(let e of n){let t=e.targetPath?String(e.targetPath):"";if(!t||r.has(t))continue;let l={...e},n=String(l.key??"");n&&i.has(n)&&(l.key=`${n}:${t}`),o.push(l)}return o.length?[...l,...o]:l}function m(e,t,l){var n,r,i;let o=null==e||null==(i=e.subModels)||null==(r=i.grid)||null==(n=r.subModels)?void 0:n.items,a=Array.isArray(o)?o:[],s=[];for(let e of a)void 0!==t(e)&&(l(e),s.push(e));return s}},26866(e,t,l){l.d(t,{$4:()=>a,r5:()=>o});var n=l(27253);let r="__index__";function i(e,t){if(!t)return null;if(Array.isArray(t)){let l=t.map(t=>null==e?void 0:e[t]);return l.some(e=>null==e)?null:l.map(e=>String(e)).join("__")}let l=null==e?void 0:e[t];return null==l?null:String(l)}function o(e,t){let l=null==e?void 0:e[r];if((null==e?void 0:e.__is_new__)&&null!=l&&""!==l)return`tmp:${String(l)}`;let n=i(e,t);return null!=n?`pk:${n}`:null!=l&&""!==l?`tmp:${String(l)}`:null}function a(e){if(!e.length)return e;let t=!1,l=e.map(e=>{let l=null==e?void 0:e[r];return e.__is_new__&&(null==l||""===l)?(t=!0,{...e,[r]:(0,n.uid)()}):e});return t?l:e}},69586(e,t,l){l.d(t,{m:()=>p});var n=l(74848),r=l(11869),i=l(95725),o=l(96540),a=l(44329),s=l(81486),u=l(16860);function d(e){let{value:t,onChange:l,onCompositionStart:r,onCompositionEnd:a,...s}=e,[u,d]=(0,o.useState)(()=>c(t));(0,o.useEffect)(()=>{d(c(t))},[t]);let p=e=>e.currentTarget.value;return(0,n.jsx)(i.A,{...s,value:u,onChange:e=>{d(p(e)),null==l||l(e)},onCompositionStart:e=>{d(p(e)),null==r||r(e)},onCompositionEnd:e=>{d(p(e)),null==a||a(e)}})}function c(e){return"bigint"==typeof e?String(e):null==e?"":e}class p extends s.o{render(){if(this.props.enableScan)return(0,n.jsx)(u.E,{...this.props});let{enableScan:e,disableManualInput:t,...l}=this.props;return(0,n.jsx)(d,{...l})}}p.registerFlow({key:"defaultValueForNanoid",steps:{generateNanoid:{handler(e,t){var l,n;null==(n=e.blockModel)||null==(l=n.emitter)||l.on("onFieldReset",()=>{if("nanoid"===e.collectionField.interface&&!1!==e.collectionField.options.autoFill){let{size:t,customAlphabet:l}=e.collectionField.options||{size:21};e.model.props.onChange((0,a.d_)(l,t)())}})}}}}),p.registerFlow({key:"scanInputSettings",sort:800,title:(0,r.tExpr)("Scan input settings"),steps:{enableScan:{title:(0,r.tExpr)("Enable Scan"),uiMode:{type:"switch",key:"enableScan"},hideInSettings:e=>"readPretty"===e.model.getProps().pattern||e.model.getProps().disabled,defaultParams:e=>({enableScan:!!e.model.props.enableScan}),handler(e,t){e.model.setProps({enableScan:!!t.enableScan,disableManualInput:!!t.enableScan&&e.model.props.disableManualInput})}},disableManualInput:{title:(0,r.tExpr)("Disable manual input"),uiMode:{type:"switch",key:"disableManualInput"},hideInSettings(e){var t,l;let n=null==(t=(l=e.model).getStepParams)?void 0:t.call(l,"scanInputSettings","enableScan");return!(Object.prototype.hasOwnProperty.call(n||{},"enableScan")?!!(null==n?void 0:n.enableScan):!!e.model.props.enableScan)||"readPretty"===e.model.getProps().pattern||!!e.model.getProps().disabled},defaultParams:e=>({disableManualInput:!!e.model.props.disableManualInput}),handler(e,t){e.model.setProps({disableManualInput:!!e.model.props.enableScan&&!!t.disableManualInput})}}}}),p.define({label:(0,r.tExpr)("Input")}),r.EditableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid"],{isDefault:!0}),r.FilterableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid","textarea","markdown","vditor","richText","password","color"],{isDefault:!0})},95267(e,t,l){l.d(t,{o:()=>r,e:()=>u});var n=l(50467);class r{subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async load(){return this.data&&!this.error?this.data:(this.pending||(this.loading=!0,this.notify(),this.pending=this.apiClient.request({url:"systemSettings:get"}).then(e=>(this.data=e.data,this.error=void 0,this.data)).catch(e=>{throw this.error=e,e}).finally(()=>{this.loading=!1,this.pending=void 0,this.notify()})),this.pending)}async refresh(){return this.pending=void 0,this.data=void 0,this.load()}setData(e){this.data=e,this.error=void 0,this.loading=!1,this.notify()}setError(e){this.error=e,this.loading=!1,this.notify()}notify(){for(let e of this.listeners)e()}constructor(e){(0,n._)(this,"apiClient",void 0),(0,n._)(this,"loading",void 0),(0,n._)(this,"data",void 0),(0,n._)(this,"error",void 0),(0,n._)(this,"pending",void 0),(0,n._)(this,"listeners",void 0),this.apiClient=e,this.loading=!1,this.listeners=new Set}}var i=l(11869),o=l(2077),a=l(84256),s=l(96540);let u=()=>{var e,t;let l=(0,o.nm)().systemSettings,n=(0,i.useFlowEngine)({throwError:!1}),[,r]=(0,s.useState)(0),u=null==(t=l.data)||null==(e=t.data)?void 0:e.enabledLanguages,d=(0,s.useMemo)(()=>(Array.isArray(u)?u:[]).filter(e=>a.A[e]).map(e=>({label:a.A[e].label,value:e})),[u]);return(0,s.useEffect)(()=>(l.load(),l.subscribe(()=>{r(e=>e+1)})),[l]),(0,s.useEffect)(()=>{n&&n.context.defineProperty("locale",{get:e=>{var t,l,n;return(null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==(n=e.i18n)?void 0:n.language)},cache:!1,meta:{type:"string",title:'{{t("Current language")}}',sort:970,interface:"select",uiSchema:{enum:d,"x-component":"Select"}}})},[n,d]),{loading:l.loading,data:l.data,error:l.error,refresh:()=>l.refresh(),mutate:e=>{Object.prototype.hasOwnProperty.call(e||{},"data")&&l.setData(null==e?void 0:e.data),Object.prototype.hasOwnProperty.call(e||{},"error")&&l.setError(null==e?void 0:e.error)}}}},94130(e,t,l){l.d(t,{F3:()=>a,GX:()=>s,b1:()=>u});let n={view:"get"},r=e=>e?n[e]||e:null,i=(e,t)=>{for(let l of t){if(!(l in e))continue;let t=e[l];if(null==t)return null;return(Array.isArray(t)?t:[t]).map(e=>r(e)).filter(Boolean)}},o=(e,t)=>{let l=r(t);if(!l||!(null==e?void 0:e.options))return!0;let{availableActions:n,unavailableActions:i}=e.options;return Array.isArray(n)?n.includes(l):!Array.isArray(i)||!i.includes(l)},a=(e,t)=>null==t||!t.length||t.every(t=>o(e,t)),s=e=>{var t;let l=i(e,["capabilityActionNames","capabilityActionName"]);if(void 0!==l)return l;let n=null==e||null==(t=e.prototype)?void 0:t.getAclActionName;if("function"!=typeof n)return null;try{let e=n.call({}),t=r(e);return t?[t]:null}catch{return null}},u=e=>i(e,["blockCapabilityActionNames","blockCapabilityActionName"])??null},42632(e,t,l){l.d(t,{l:()=>n});function n(e){let{blockLabel:t,dsName:l,dsCount:n,collectionTitle:r,sourceCollectionTitle:i,associationTitle:o}=e,a=n>1&&!!l,s=r;if(i&&o){let e=`${i} > ${o} (${r})`;s=`${a?`${l} > `:""}${e}`}else s=`${a?`${l} > `:""}${r}`;return`
1540
1540
  ${t}:
1541
1541
  ${s}`}},84759(e,t,l){l.d(t,{SM:()=>s,M6:()=>p,Xi:()=>i,hH:()=>h,NY:()=>c,hO:()=>f,lr:()=>n.l,HZ:()=>u});var n=l(42632),r=l(11869);async function i(e,t,l,n,i){let o=(null==i?void 0:i.includeSelf)??!0,a=(null==i?void 0:i.includeForks)??!0,s=new Set,u=[e],d=[],c=e=>{e&&"function"==typeof e.dispatchEvent&&d.push(e.dispatchEvent(t,l,n))};for(;u.length;){let t=u.pop();if(!t||s.has(t))continue;if(s.add(t),o||t!==e){var p;c(t),a&&(null==(p=t.forks)?void 0:p.size)&&t.forks.forEach(e=>{null!=e&&e.disposed||c(e)})}let l=t.subModels;if(l)for(let e of Object.values(l))if(Array.isArray(e))for(let t of e)t instanceof r.FlowModel&&u.push(t);else e instanceof r.FlowModel&&u.push(e)}await Promise.all(d)}var o=l(22803),a=l(96540);let s=e=>{let t=e.dataLength||0,l=e.pageSize||10,n=e.current||1;return t<l||!e.hasNext?l*n:l*n+1},u=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return(0,o.css)`
1542
1542
  .ant-pagination-simple-pager {
@@ -2004,4 +2004,4 @@ ${o.join("\n")}`:""}function j(e,t){let l=Error(t);l.cause=e;try{let t="string"=
2004
2004
  await ctx.__ensureLibs(${JSON.stringify(t)});
2005
2005
  ${e}`:e}function ts(e,t,l){let n=e6(e,l);if(":"!==e[n])return!1;let r=e9(e,t-1),i=r>=0?e[r]:"";return"{"===i||","===i}function tu(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 td(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!eV.test(e))return e;let l=!1!==t.processBarePlaceholders,n=!1!==t.processStringLiterals;if(l&&n&&eH.test(e)||l&&!n&&eU.test(e)||!l&&n&&eW.test(e))return e;let 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})(eK),u=0,d=()=>{for(;;){let t=`__runjs_ctx_tpl_${u}`;if(u+=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=d();return r.set(e,l),i.push(`const ${l} = await ctx.resolveJsonTemplate(${JSON.stringify(e)});`),l},p="",h=0,f=!1,m=0;for(;h<e.length;){let t=e[h],r=e[h+1];if("/"===t&&"/"===r){let t=e2(e,h);p+=e.slice(h,t),h=t;continue}if("/"===t&&"*"===r){let t=e5(e,h);p+=e.slice(h,t),h=t;continue}if("'"===t||'"'===t){let l=e4(e,h,t),r=e.slice(h,l);if(n&&0===m){let t=e3(r);if(t.length){o=!0;let n=tu(r,t,c,s);p+=ts(e,h,l)?`[${n}]`:n}else p+=r}else p+=r;h=l;continue}if("`"===t){let t=e8(e,h),l=e.slice(h,t);if(n&&0===m){let n=e3(l);if(n.length){o=!0;let r=tu(l,n,c,s);p+=ts(e,h,t)?`[${r}]`:r}else p+=l}else p+=l;h=t;continue}if(0===m&&!f&&e1(e,h)){p+=eq,h+=eq.length,f=!0;continue}if(f){if(/\s/.test(t)){p+=t,h+=1;continue}if("("===t){p+=t,h+=1,f=!1,m=1;continue}f=!1;continue}if(m>0){"("===t?m+=1:")"===t&&(m-=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(e0(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")}
2006
2006
  ${p}`}async function tc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l="string"==typeof e?e:String(e??""),n=!!t.preprocessTemplates,r=n?eJ.withTemplates:eJ.withoutTemplates,i=eX(r,l);if(i)return await i;let o=(async()=>{if(!n)return ta(await (0,eL.W)(l));let e=td(l,{processStringLiterals:!1});return ta(td(await (0,eL.W)(e),{processBarePlaceholders:!1}))})();eQ(r,l,o,eG);try{return await o}catch(e){throw r.delete(l),e}}var tp=l(62572);function th(e){if(Array.isArray(e)){let t=e.map(e=>th(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=th(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 tf=e=>"string"==typeof e.on?"beforeRender"===e.on:"object"==typeof e.on?"beforeRender"===e.on.eventName:!e.on&&!0!==e.manual;var tm=l(47684);let tg="0123456789abcdefghijklmnopqrstuvwxyz";function tv(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:11,l="";for(let e=0;e<t;e++)l+=tg[Math.random()*tg.length|0];return`${e}${l}`}},49773(e,t,l){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:()=>m,gG:()=>a,mv:()=>s,o4:()=>h,pk:()=>f});var n=l(40542),r=l(87710),i=l(2543),o=l.n(i);async function a(e,t){if(!e)return{};if("function"==typeof e)try{return await e(t)||{}}catch(e){return console.error("Error resolving defaultParams function:",e),{}}return e}async function s(e,t,l){if(!e)return{};if("function"==typeof e)try{return await e(t,l)||{}}catch(e){return console.error("Error resolving createModelOptions function:",e),{}}return e}let u={queue:[],timer:null,inflightByRun:new Map},d=10;function c(e){if(Array.isArray(e))return e.map(c);if(o().isPlainObject(e)){let t=Object.entries(e).map(e=>{let[t,l]=e;return[t,c(l)]});return Object.fromEntries(o().sortBy(t,e=>{let[t]=e;return t}))}return e}function p(e){try{return JSON.stringify(c(e))}catch{try{return JSON.stringify(e)}catch{return String(e)}}}function h(e,t){let l,n,r=u,i=e.runId||"GLOBAL",o=p(t),a=r.inflightByRun.get(i);a||(a=new Map,r.inflightByRun.set(i,a));let s=a.get(o);if(s)return s;let c=new Promise((e,t)=>{l=e,n=t});a.set(o,c);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 f=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 u=null==(t=s[0].ctx)?void 0:t.api;if(!u){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,contractRd:e.payload.contractRd,rd:e.payload.rd,template:e.payload.template,contextParams:e.payload.contextParams||{}})),t=await u.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:[],d=new Map;for(let e of a){let t=(null==e?void 0:e.id)!=null?String(e.id):"";t&&d.set(t,null==e?void 0:e.data)}for(let e of s)try{let t=String(e.id),l=d.has(t)?d.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(f,d)),c}function f(e,t){var l,n;return(0,r.generateFlowModelRdFromToken)(t,null==e||null==(n=e.api)||null==(l=n.auth)?void 0:l.token)}async function m(e,t){let l=async e=>{if("string"==typeof e&&/\{\{.*?\}\}/.test(e))return await y(e,t);if(Array.isArray(e))return Promise.all(e.map(l));if(e&&"object"==typeof e){let t={};for(let[n,r]of Object.entries(e))t[n]=await l(r);return t}return e};return l(e)}async function g(e,t){let l=await v(e.trim(),t),n=await t.runjs(`return ${l}`,{t:t.t});return(null==n?void 0:n.success)?n.value:void 0}async function v(e,t){let l,n=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*(?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g,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 y(e,t){let l=e=>{let t=e.trim().match(/^ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*))?$/);return t?t[2]?`${t[1]}.${t[2]}`:t[1]:null},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 g(e,t):l}return await g(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})},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"),u=null==s||null==(o=s.collectionManager)||null==(i=o.getCollection)?void 0:i.call(o,l);return(null==u||null==(a=u.getPrimaryKey)?void 0:a.call(u))||"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",u=void 0!==t.filterByTk?t.filterByTk:void 0!==t.id?t.id:null==(i=t.record)?void 0:i[s];if(void 0!==u)return n({collection:a,filterByTk:u,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],u={};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;u[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 d=Object.keys(u).length>0;i[a]={type:"object",title:e.t(s.title)||a,display:d?"default":"none",properties:d?{params:{type:"object",title:"Parameters",display:"flatten",properties:u}}: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){return!!e&&"object"==typeof e&&!Array.isArray(e)}function r(e){return!!e&&/[a-zA-Z_$]/.test(e)}function i(e){return!!e&&/[a-zA-Z0-9_$]/.test(e)}function o(e,t){let l=t;for(;/\s/.test(e[l]||"");)l+=1;return l}function a(e,t){let l=o(e,t);for(;"!"===e[l];)l=o(e,l+1);return l}function s(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]||"");)l-=1;return l}function u(e,t){let l=s(e,t-1);if("("!==e[l])return!1;let n=s(e,l-1);if(n<0)return!0;let r=e[n];return!i(r)&&")"!==r&&"]"!==r}function d(e,t){let l=o(e,t);if(")"!==e[l])return!1;let n=o(e,l+1);return"."===e[n]||"["===e[n]||e.startsWith("?.",n)}function c(e,t){if(!r(e[t]))return null;let l=t+1;for(;i(e[l]);)l+=1;return{value:e.slice(t,l),next:l}}function p(e,t){let l=e.slice(t).match(/^\d+/);return l?{value:l[0],next:t+l[0].length}:null}function h(e,t){let l=e[t];if('"'!==l&&"'"!==l)return null;let n=t+1,r="";for(;n<e.length;){let t=e[n];if("\\"===t){r+=e.slice(n,n+2),n+=2;continue}if(t===l)return{value:r,next:n+1};r+=t,n+=1}return null}function f(e,t){let l=o(e,t+1),n=h(e,l);if(n)return(l=o(e,n.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"property",next:l+1,value:n.value};let r=p(e,l);return r?(l=o(e,r.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"index",next:l+1,value:r.value}:{dynamic:!0}}function m(e,t,l){if("property"===t)return void e.push(l);if(e.length){e[e.length-1]=`${e[e.length-1]}[${l}]`;return}e.push(`[${l}]`)}function g(e,t){let l=a(e,t);if("["===e[l])return f(e,l);if(e.startsWith("?.",l)){let t=o(e,l+2);if("["===e[t])return f(e,t);let n=c(e,t)||p(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}if("."===e[l]){let t=o(e,l+1),n=c(e,t)||p(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}return null}function v(e){let t=e.trim(),l="(?:[a-zA-Z_$][a-zA-Z0-9_$-]*|\\d+)",n=t.match(RegExp(`^ctx\\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\\.(${l}(?:\\.${l})*))?$`));return n?{methodCall:!1,path:n[2]||void 0,unsupportedDynamicPath:!1,varName:n[1]}:null}function y(e,t){if("ctx"!==e.slice(t,t+3)||i(e[t-1])||i(e[t+3]))return null;if(u(e,t))return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};let l=g(e,t+3);if(!l)return null;if(l.dynamic)return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};if("property"!==l.kind)return null;let n=[],r=l.next,o=!1,s=!1;for(;r<e.length;){let t=a(e,r);if(("("===e[t]||e.startsWith("?.(",t))&&!n.length){o=!0,r=t;break}let l=g(e,r);if(!l){r=t,("["===e[t]||"."===e[t]||e.startsWith("?.",t))&&(s=!0);break}if(l.dynamic){s=!0,r=t;break}m(n,l.kind,l.value),r=l.next}let c=n.join(".");return{next:Math.max(r,l.next),reference:{methodCall:o,path:c||void 0,unsupportedDynamicPath:s||d(e,r),varName:l.value}}}function b(e){let t=v(e);if(t)return[t];let l=[];for(let t=0;t<e.length;t+=1){if("ctx"!==e.slice(t,t+3))continue;let n=y(e,t);n&&(l.push(n.reference),t=Math.max(t,n.next-1))}return l}function x(e,t,l,n){e[t]=e[t]||[],l?e[t].push(l):n&&!e[t].includes("")&&e[t].push("")}function w(e){let t={},l=!1,r=e=>{for(let n of b(e)){if(n.unsupportedDynamicPath){l=!0;continue}n.varName&&x(t,n.varName,n.path,n.methodCall)}},i=e=>{if("string"==typeof e){let t,l=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(t=l.exec(e));)r(t[1]);return}Array.isArray(e)?e.forEach(i):n(e)&&Object.values(e).forEach(i)};return i(e),{unsupportedDynamicPath:l,usage:t}}function S(e){return new Set(Object.keys(w(e).usage))}function A(e){return w(e).usage}l.d(t,{xI:()=>I,vP:()=>O,$S:()=>_,pc:()=>D,Cg:()=>E,nN:()=>$,ju:()=>B,Xx:()=>T,vE:()=>R,XU:()=>j,UX:()=>N});var M=l(22928),k=l(35846),F=l(44476),C=l(2543),P=l.n(C);function j(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)),u=(null==o?void 0:o.dataSourceKey)||(null==i||null==(l=i.getDataSourceKey)?void 0:l.call(i)),d=(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==d)return;let c=String(s).split(".");return{collection:c[c.length-1],dataSourceKey:u,filterByTk:d}}function E(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),u=null==i?void 0:i.associationName,d=null==i?void 0:i.sourceId;if(o&&null!=s)return{collection:o,dataSourceKey:a,filterByTk:s,sourceId:d,associationName:u}}function R(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 P().cloneDeep(i)}function T(e,t){return l=>{var n,r,i,o;if(!("record"===l||l.startsWith("record.")))return!1;let a=t();if(!a)return!0;if("record"===l)return!1;let s=E(e),u=null==s?void 0:s.collection,d=(null==s?void 0:s.dataSourceKey)||"main";if(!u)return!0;let c=null==(r=e.dataSourceManager)||null==(n=r.getDataSource)?void 0:n.call(r,d),p=null==c||null==(o=c.collectionManager)||null==(i=o.getCollection)?void 0:i.call(o,u);if(!p)return!0;let h=(0,F.Hi)(()=>p,()=>a),f=l.startsWith("record.")?l.slice(7):"";return!!f&&h(f)}}function I(e,t){let l=(0,F.Hi)(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 _(e,t,l){let n=await (0,k.H)(e,t,!0)();return n?{...n,buildVariablesParams:e=>l?l(e):j(e)}:null}function D(e,t,l){let n=async()=>_(e,t,l);return n.title=t,n}function N(e,t,l){var n,r;return D(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=>j(e))}let O=S,$=A;async function B(e,t){let l=A(t)||{},n=Object.keys(l);if(!n.length)return;let r={};for(let t of n){var i;let l,n=null==(i=e.getPropertyOptions)?void 0:i.call(e,t),o=null==n?void 0:n.meta;if(o){try{let t="function"==typeof o?await o():o,n=null==t?void 0:t.buildVariablesParams;"function"==typeof n&&(l=await n(e))}catch(e){continue}l&&(r[t]=l)}}let o=l.view||[];if(!r.view&&o.some(e=>"record"===e||e.startsWith("record.")||e.startsWith("record["))){let t=E(e);t&&(r.view={record:t})}return(0,M.d)(e,r)}},67778(e,t,l){l.d(t,{sp:()=>j,bt:()=>I,U:()=>en,N5:()=>U,xB:()=>L,mW:()=>B,fP:()=>G});var n=l(74848),r=l(96540),i=l(99418),o=l(11869),a=l(29007),s=l(52568),u=l(73398);function d(e){if((null==e?void 0:e.sourceId)==null||""===e.sourceId||"string"!=typeof e.associationName)return;let t=e.associationName.split(".")[0];if(t)return{collection:t,dataSourceKey:e.dataSourceKey||"main",filterByTk:e.sourceId}}function c(e){return null!=e}function p(e,t){if(e===t)return!0;if(!c(e)||!c(t))return!1;try{return JSON.stringify(e)===JSON.stringify(t)}catch(l){return String(e)===String(t)}}function h(e){var t;let l=null==e||null==(t=e.navigation)?void 0:t.viewStack;return Array.isArray(l)?l:[]}function f(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h(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,u=-1;for(let{item:e,index:t}of o){let l=0,r=!0;for(let t of a)if(c(n[t])){if(!p(null==e?void 0:e[t],n[t])){r=!1;break}l+=1}r&&l>=u&&(s=t,u=l)}return s}function m(e,t){return t??e.view}function g(e){var t;if(!e)return!1;let l=h(e),n=null==e||null==(t=e.inputArgs)?void 0:t.openerUids,r=Array.isArray(n)&&n.length>0;return f(e,l)>=1||r}function v(e,t){let l=t=>e.t(t),n=function(){let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e;return g(m(l,t))},r=async e=>{let l=m(e,t);if(!l||!g(l))return;let n=await y(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,u.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,u;try{let s=n||e,u=m(s,t),d=h(u),c=f(u,d);if(c<1||l<1)return;let p=c-l;if(p<1)return;let g=d[p];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==(u=(null==n?void 0:n.logger)||e.logger)||null==(s=u.warn)||s.call(u,{err:t},"[FlowEngine] popup.getParentRecordRef failed");return}},a=l=>{try{let n=m(e,t),r=h(n);return f(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,u.$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},c=()=>({type:"object",title:l("Current popup"),disabled:()=>!n(),hidden:()=>!n(),buildVariablesParams:async e=>{var l,i,a,s;if(!n(e))return;let u=await r(e),c=m(e,t),p=null==c?void 0:c.inputArgs,g={};if(u){let e={...u};!e.associationName&&(null==p?void 0:p.associationName)&&(e.associationName=p.associationName),void 0===e.sourceId&&void 0!==(null==p?void 0:p.sourceId)&&(e.sourceId=null==p?void 0:p.sourceId),g.record=e}try{let t=h(c);if(f(c,t)>=2){let t=g,l=1,n=await o(l,e);for(;n;){let r={record:n},i=d(n);i&&(r.sourceRecord=i),t.parent=r,t=r,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=d({sourceId:null==p?void 0:p.sourceId,associationName:null==p?void 0:p.associationName,dataSourceKey:null==p?void 0:p.dataSourceKey});e&&(g.sourceRecord=e)}catch(t){null==(s=e.logger)||null==(a=s.debug)||a.call(s,{err:t},"[FlowEngine] buildVariablesParams: infer sourceRecord failed")}return g},properties:async()=>{var n,a,d,c;let p={};if(p.uid={type:"string",title:l("Popup uid")},await r(e)){let e=async()=>{let e=await i();return e?await (0,u.$S)(()=>e,l("Current popup record"),e=>r(e)):null};e.title=l("Current popup record"),e.hasChildren=!0,p.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,d=(null==i?void 0:i.dataSourceKey)||"main";if(!s||"string"!=typeof s||!s.includes(".")){let t=h(r),l=f(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,d=(null==l?void 0:l.dataSourceKey)||d}}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,d);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,u.$S)(n,l("Current popup parent record"),()=>({collection:t,dataSourceKey:d,filterByTk:o}));r&&(p.sourceRecord=r)}}}catch(t){null==(c=e.logger)||null==(d=c.debug)||d.call(c,{err:t},"[FlowEngine] popup.properties: build sourceRecord failed")}return p.resource={type:"object",title:l("Data source"),properties:async()=>({dataSourceKey:{type:"string",title:l("Data source key")},collectionName:{type:"string",title:l("Collection name")},associationName:{type:"string",title:l("Association name")},filterByTk:{type:"string",title:l("filterByTk")},sourceId:{type:"string",title:l("sourceId")}})},await o(1)&&(p.parent=s(1)),p}});return c.title=l("Current popup"),c.sort=975,c}async function y(e,t){var l,n,r;let i=h(t),o=f(t,i),a=null==t||null==(n=t.inputArgs)||null==(l=n.parentItem)?void 0:l.value,s=null==t||null==(r=t.inputArgs)?void 0:r.openerUids,u=Array.isArray(s)&&s.length>0;if(!(o>=1||u))return;if(!i.length){let e=(null==t?void 0:t.inputArgs)||{};if(!(e.collectionName||null!=e.filterByTk||null!=e.sourceId||e.associationName||e.viewUid))return;return{uid:e.viewUid,resource:{dataSourceKey:e.dataSourceKey||"main",collectionName:e.collectionName,associationName:e.associationName,filterByTk:e.filterByTk,sourceId:e.sourceId},...void 0!==a?{sourceRecord:a}:{}}}let d=async t=>{var l,n,r,o,a,s;if(t<0||!(null==(l=i[t])?void 0:l.viewUid))return;let u=i[t].viewUid,c=null==(n=e.engine)?void 0:n.getModel(u,!0);c||(c=await (null==(s=e.engine)?void 0:s.loadModel({uid:u})));let p=(null==c||null==(r=c.getStepParams)?void 0:r.call(c,"popupSettings","openView"))||{},h=null==p?void 0:p.collectionName,f={uid:u,resource:{dataSourceKey:(null==p?void 0:p.dataSourceKey)||"main",collectionName:h,associationName:null==p?void 0:p.associationName,filterByTk:null==(o=i[t])?void 0:o.filterByTk,sourceId:null==(a=i[t])?void 0:a.sourceId}},m=await d(t-1);return m&&(f.parent=m),f},c=await d(o);return c&&void 0!==a&&(c.sourceRecord=a),c}function b(e,t){let l=/^(?:record|sourceRecord)(?:\.|$)|^parent(?:\.parent)*(?:\.(?:record|sourceRecord))(?:\.|$)/,n=e=>{var l,n;if("sourceRecord"!==e&&!e.startsWith("sourceRecord."))return!1;let r=null==t||null==(l=t.inputArgs)?void 0:l.parentItem;if(void 0===(null==r?void 0:r.value))return!0;let i="sourceRecord"===e?"":e.slice(13);if(!i)return!1;let o=null==t||null==(n=t.inputArgs)?void 0:n.parentItemResolver;if("function"==typeof o)return o(`value.${i}`);let a=i.split(".").filter(Boolean),s=r.value;for(let e of a){if(null===s||"object"!=typeof s||!(e in s))return!0;s=s[e]}return!1};e.defineProperty("popup",{get:async()=>y(e,t),meta:v(e,t),resolveOnServer:e=>{try{if("sourceRecord"===e||e.startsWith("sourceRecord."))return n(e);return!!e&&l.test(e)}catch(e){return!1}}})}var x=l(18182);let w=(0,r.forwardRef)((e,t)=>{let{afterClose:l,footer:i,header:o,hidden:a,...s}=e,[u,d]=(0,r.useState)(!0),[c,p]=(0,r.useState)(s),[h,f]=(0,r.useState)(()=>i),[m,g]=(0,r.useState)(o);(0,r.useImperativeHandle)(t,()=>({destroy:()=>{d(!1),null==l||l()},update:e=>p(t=>({...t,...e})),setFooter:e=>{f(e)},setHeader:e=>{0===Object.values(e||{}).length?g(null):g(e)}}));let v={...c,title:(null==m?void 0:m.title)||c.title,extra:null==m?void 0:m.extra,footer:void 0!==h?h:c.footer??null},y=r.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return(0,n.jsx)(x.A,{closable:!1,rootClassName:a?"nb-hidden":"",getContainer:y,...v,open:u,onCancel:c.onCancel,afterClose:()=>{null==l||l()},children:c.children})});function S(){let[e,t]=r.useState([]);return[e,r.useCallback(e=>(t(t=>[...t,e]),()=>{t(t=>t.filter(t=>t!==e))}),[])]}var A=l(16639),M=l(20616),k=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 C(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 P=0;function j(){let e=r.useRef(null),t=(t,l)=>{var d,c,p;let h,f,m=null==l?void 0:l.engine;P+=1;let g=r.createRef(),v=new Promise(e=>{f=e}),y=null,x=null,S=e=>{let{children:t}=e;return r.useEffect(()=>{var e;return y=t,null==(e=g.current)||e.setFooter(t),()=>{var e;y=null,null==(e=g.current)||e.setFooter(null)}},[t]),null},j=e=>(r.useEffect(()=>{var t;return x=e,null==(t=g.current)||t.setHeader(e),()=>{var e;x=null,null==(e=g.current)||e.setHeader(null)}},[e]),null),E=new a.cB,R=(0,k._)(l.engine),T=(0,A.eX)(m,R);E.defineProperty("engine",{value:R}),E.addDelegate(R.context),!1!==t.inheritContext?E.addDelegate(l):(E.addDelegate(l.engine.context),C(E,l));let I=!1,_={type:"dialog",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,n,r,i;if(I)return;I=!0,null==(l=t.onClose)||l.call(t),null==(n=g.current)||n.destroy(),null==h||h(),null==f||f(e);let o=null==T?void 0:T.emitter;(0,A.Z8)(o),null==o||null==(i=o.emit)||i.call(o,A.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:S,Header:j,setFooter:e=>{var t;y=e,null==(t=g.current)||t.setFooter(e)},setHeader:e=>{var t;x=e,null==(t=g.current)||t.setHeader(e)},navigation:null==(d=t.inputArgs)?void 0:d.navigation,get record(){return(0,u.vE)(l,E)}};E.defineProperty("view",{get:()=>_,resolveOnServer:(0,u.Xx)(E,()=>(0,u.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()}),b(E,_);let D=(0,o.observer)(()=>{var e,l,o,a;let s=r.useRef(!1),u="function"==typeof t.content?t.content(_,E):t.content,d="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,_,E)},[]),(null==(l=t.inputArgs)||null==(e=l.hidden)?void 0:e.value)&&!s.current)?null:(s.current=!0,(0,n.jsx)(w,{className:"nb-dialog-overflow-hidden",ref:g,hidden:null==(a=t.inputArgs)||null==(o=a.hidden)?void 0:o.value,footer:y,header:x,...t,onCancel:()=>{_.close(t.result)},children:d}))},{displayName:"DialogWithContext"}),N=(null==t||null==(c=t.inputArgs)?void 0:c.viewUid)||`page-${P}`,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}),[]),d=r.memo(r.forwardRef((e,t)=>{let[l,i]=S();return r.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(d,{ref:e},"dialog-holder")]}var E=l(82966),R=l(61793);let T=r.forwardRef((e,t)=>{var l;let{children:i,footer:o,title:a,extra:s,hidden:u,isMobile:d,...c}=e,[p,h]=r.useState(!0),[f,m]=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=>{m(e)},setHeader:e=>{0===Object.values(e||{}).length?v(null):v(e)}}),[]);let y=r.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return d?(0,n.jsx)(R.D,{className:u?"nb-hidden":"",visible:p,...c,footer:f,...g,onClose:c.onClose,children:i}):(0,n.jsx)(E.A,{rootClassName:u?"nb-hidden":"",closable:!1,getContainer:y,...c,open:p,footer:f,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 d=(t,l)=>{var d,c;let p,h,f=l.engine,m=r.createRef(),g=new Promise(e=>{h=e}),v=null,y=null,x=e=>{let{children:t}=e;return r.useEffect(()=>{var e;return v=t,null==(e=m.current)||e.setFooter(t),()=>{var e;v=null,null==(e=m.current)||e.setFooter(null)}},[t]),null},w=e=>(r.useEffect(()=>{var t;return y=e,null==(t=m.current)||t.setHeader(e),()=>{var e;y=null,null==(e=m.current)||e.setHeader(null)}},[e]),null),S=new a.cB,P=(0,k._)(l.engine),j=(0,A.eX)(f,P);S.defineProperty("engine",{value:P}),S.addDelegate(P.context),!1!==t.inheritContext?S.addDelegate(l):(S.addDelegate(l.engine.context),C(S,l));let E=!1,R={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=m.current)||n.destroy(),null==p||p(),null==h||h(e);let o=null==j?void 0:j.emitter;(0,A.Z8)(o),null==o||null==(i=o.emit)||i.call(o,A.B9,{type:"drawer",viewUid:null==R||null==(r=R.inputArgs)?void 0:r.viewUid}),P.unlinkFromStack()},update:e=>{var t;return null==(t=m.current)?void 0:t.update(e)},close:async(e,l)=>{var n,r;return(!t.preventClose||!!l)&&!!await F(R,{result:e,force:l})&&(t.triggerByRouter&&(null==(r=t.inputArgs)||null==(n=r.navigation)?void 0:n.back)?t.inputArgs.navigation.back():R.destroy(e),!0)},Footer:x,Header:w,setFooter:e=>{var t;v=e,null==(t=m.current)||t.setFooter(e)},setHeader:e=>{var t;y=e,null==(t=m.current)||t.setHeader(e)},navigation:null==(d=t.inputArgs)?void 0:d.navigation,get record(){return(0,u.vE)(l,S)}};S.defineProperty("view",{get:()=>R,resolveOnServer:(0,u.Xx)(S,()=>(0,u.vE)(l,S))}),P.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),R.destroy()}),b(S,R);let I=r.memo((0,o.observer)(e=>{var l,o,a,s;let u=r.useRef(!1),d="function"==typeof t.content?t.content(R,S):t.content,c="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,R,S)},[]),(null==(o=t.inputArgs)||null==(l=o.hidden)?void 0:l.value)&&!u.current)?(0,n.jsx)(n.Fragment,{children:e.children}):(u.current=!0,(0,n.jsxs)(T,{ref:m,...t,footer:v,header:t.header||y,hidden:null==(s=t.inputArgs)||null==(a=s.hidden)?void 0:a.value,onClose:()=>{R.close(t.result)},isMobile:S.isMobileLayout,children:[c,e.children]}))}));I.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:S,children:(0,n.jsx)(I,{children:t})})})});return _.displayName="RenderDrawer",p=null==(c=e.current)?void 0:c.patchElement(_),Object.assign(g,R)},c=r.useMemo(()=>({open:d}),[]),p=r.memo(r.forwardRef((e,i)=>{let[o,a]=S();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 _=l(40961),D=l(31333),N=l(71021);let O=(0,r.forwardRef)((e,t)=>{let[l,i]=r.useState({}),{visible:o=!0,footer:a=null,header:s=null,children:u,hidden:d,title:c,styles:p={},zIndex:h=4,onClose:f}={...e,...l},m=(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:()=>{m.current||(m.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:d?"none":"flex",flexDirection:"column",height:"100%",zIndex:h}),[d,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)(N.Ay,{type:"text",size:"small",icon:(0,n.jsx)(D.A,{}),onClick:async()=>{m.current||!1!==await (null==f?void 0:f())&&(m.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,f]),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:u}),A]}):null}),$=0,B="nocobase-embed-container",L="nocobaseEmbedReplacing";function q(e){return!!e&&"function"==typeof e.then}function V(e,t){e.dataset[L]="1";try{let l=t.close();if(q(l))return Promise.resolve(l).finally(()=>{delete e.dataset[L]});return delete e.dataset[L],l}catch(t){throw delete e.dataset[L],t}}function z(e,t,l){let n,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 K=r.memo(r.forwardRef((e,t)=>{let[l,i]=S();return r.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,n.jsx)(n.Fragment,{children:l})}));function U(){let e=r.useRef(null),t=r.useRef(null),l=r.useRef(0),i=(i,d)=>{let{target:c,content:p,preventClose:h,inheritContext:f=!0,inputArgs:m={},onOpenCancelled:g,...v}=i,y=c instanceof HTMLElement&&c.id===B,x=()=>{var l,g,x;let w,S,P,j=null==d?void 0:d.engine;$+=1;let E=r.createRef(),R=new Promise(e=>{S=e}),T=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},I=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,N=(0,k._)(d.engine),B=(0,A.eX)(j,N);D.defineProperty("engine",{value:N}),D.addDelegate(N.context),f?D.addDelegate(d):(D.addDelegate(d.engine.context),C(D,d));let q=!1,V={type:"embed",inputArgs:m,preventClose:!!i.preventClose,beforeClose:void 0,destroy:e=>{var l,n,r,o,a;if(!q){if(q=!0,null==(l=i.onClose)||l.call(i),null==S||S(e),null==(n=E.current)||n.destroy(),null==w||w(),y&&t.current===V&&(t.current=null),!(y&&c instanceof HTMLElement&&(null==(r=c.dataset)?void 0:r[L])==="1")){let e=null==B?void 0:B.emitter;(0,A.Z8)(e),null==e||null==(a=e.emit)||a.call(e,A.B9,{type:"embed",viewUid:null==V||null==(o=V.inputArgs)?void 0:o.viewUid})}N.unlinkFromStack()}},update:e=>{var t;return null==(t=E.current)?void 0:t.update(e)},close:(e,t)=>q?Promise.resolve(!0):P||(P=(async()=>{try{var l,n;if(h&&!t)return P=void 0,!1;let r=await F(V,{result:e,force:t});if(q)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 V.destroy(e),!0}catch(e){throw q||(P=void 0),e}})()),Header:I,Footer:T,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,u.vE)(d,D)}};D.defineProperty("view",{get:()=>V,resolveOnServer:(0,u.Xx)(D,()=>(0,u.vE)(d,D))}),b(D,V);let z=(0,o.observer)(()=>{var e,t,l,o;let a=r.useRef(!1),s=r.useMemo(()=>"function"==typeof p?p(V,D):p,[]);return(D.themeToken,r.useEffect(()=>{var e;null==(e=i.onOpen)||e.call(i,V,D)},[]),(null==(t=i.inputArgs)||null==(e=t.hidden)?void 0:e.value)&&!a.current)?null:(a.current=!0,(0,n.jsx)(O,{ref:E,hidden:null==(o=i.inputArgs)||null==(l=o.hidden)?void 0:l.value,...v,onClose:()=>V.close(i.result),children:s}))},{displayName:"PageWithContext"}),K=(null==m?void 0:m.viewUid)||`page-${$}`,U=(0,n.jsx)(M.I6,{engine:N,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(_.createPortal(U,c,K)):null==(x=e.current)?void 0:x.patchElement(U),y&&(t.current=V),Object.assign(R,V)};if(y&&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(q(e))return z(Promise.resolve(e).then(e=>!1===e||n!==l.current?(r(),{page:null}):{page:x()},e=>{throw r(),e}),m,!!i.preventClose);if(!1===e)return r(),z(Promise.resolve({page:null}),m,!!i.preventClose)}return x()};return[r.useMemo(()=>({open:i}),[]),(0,n.jsx)(K,{ref:e},"page-holder")]}var W=l(28073);let H=0,Y=r.forwardRef((e,t)=>{var l,i;let{afterClose:o,content:a,placement:s,rect:u,...d}=e,[c,p]=r.useState(!0),[h,f]=r.useState({content:a,placement:s,rect:u,...d});return r.useImperativeHandle(t,()=>({destroy:()=>p(!1),update:e=>f(t=>({...t,...e})),close:(e,t)=>p(!1)})),r.useEffect(()=>{c||null==o||o()},[c,o]),(0,n.jsx)(W.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;H+=1;let{target:u,placement:d="rightTop",content:c,...p}=t,h=r.createRef(),f=(null==u||null==(l=u.getBoundingClientRect)?void 0:l.call(u))??{top:0,left:0},m=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)(Y,{ref:h,content:y,placement:d,rect:f,afterClose:()=>{var e;null==a||a(),null==(e=t.onClose)||e.call(t),null==s||s(t.result)},...p},`popover-${H}`);return a=null==(o=e.current)?void 0:o.patchElement(b),Object.assign(m,g)},l=r.useMemo(()=>({open:t}),[]),o=r.memo(r.forwardRef((e,t)=>{let[l,i]=S();return r.useImperativeHandle(t,()=>({patchElement:i}),[]),(0,n.jsx)(n.Fragment,{children:l})}));return[l,(0,n.jsx)(o,{ref:e},"popover-holder")]}var J=l(50467),X=l(52847),Q=l(60182);function Z(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 ee(e){return null!=e&&""!==String(e)}function et(e){let t=e||"/admin";return`/${t.replace(/^\/+/,"").replace(/\/+$/,"")}`}function el(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=et(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,Q.Gu)(e.viewUid,e.openViewRouteState);if(l&&n.push("opts",l),e.tabUid&&n.push("tab",e.tabUid),null!=e.filterByTk){let t=Z(e.filterByTk);t&&n.push("filterbytk",t)}ee(e.sourceId)&&n.push("sourceid",String(e.sourceId))}),"/"+n.join("/")}class en{setViewStack(e){this.viewStack=Object.freeze([...e]),this.viewParams=this.viewStack[this.viewStack.length-1]||{}}changeTo(e){let t=el(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=el([...this.viewStack,e],{basePath:this.getLayoutBasePath()});this.ctx.router.navigate(l,t)}back(){let e=el(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,J._)(this,"viewStack",void 0),(0,J._)(this,"ctx",void 0),(0,J._)(this,"viewParams",void 0),(0,J._)(this,"basePath",void 0),this.setViewStack(t),this.ctx=e,this.basePath=l.basePath||l.layoutBasePath,(0,X.E8)(this,{viewParams:X.sH})}}},16639(e,t,l){l.d(t,{B9:()=>r,FH:()=>s,HK:()=>i,Z8:()=>u,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 u(e){let t=s(e);if(!Object.isExtensible(e))return t;let l=t+1;return Reflect.set(e,n,l),l}function d(e){return Reflect.get(e,o)===a}function c(e){let t=e,l=0;for(;t&&l++<50;){if(d(t))return t;t=t.previousEngine}}function p(e,t){if(!e)return;let l=c(e);return l||c(null==t?void 0:t.previousEngine)||e}},12039(e,t,l){l.d(t,{xW:()=>b,bO:()=>c,Q9:()=>y});var n=l(50467),r=l(88909),i=l(55373),o=l.n(i),a=l(87710);function s(e,t){var l,n;if("u"<typeof document)return;let r=(0,a.getAuthCookieName)("role",e),i=t?"":"; Max-Age=0",o=t?encodeURIComponent(t):"",s=(null==(l=globalThis.location)?void 0:l.protocol)==="https:"?"; Secure":"",u=(null==(n=window.__nocobase_public_path__)?void 0:n.replace(/\/+$/g,""))||"/";document.cookie=`${r}=${o}; Path=${u||"/"}; SameSite=Lax${s}${i}`}function u(e,t){var l;if("u"<typeof document)return;let n=`${(0,a.getAuthCookieName)(e,t)}=`;return null==(l=document.cookie.split(";").map(e=>e.trim()).find(e=>e.startsWith(n)))?void 0:l.slice(n.length)}let d=(e,t)=>{if(!e)return;let l="function"==typeof e.toJSON?e.toJSON():e,n=Object.keys(l||{}).find(e=>e.toLowerCase()===t.toLowerCase());return n?l[n]:void 0},c=(e,t)=>{let l=d(e,t);return null!=l&&""!==l},p=new Set(["get","head","options"]);class h{get storagePrefix(){return this.api.storagePrefix}getCookieAppName(){var e;return"function"!=typeof this.api.options&&(null==(e=this.api.options)?void 0:e.appName)||this.api.appName||"main"}get locale(){return this.getLocale()}set locale(e){this.setLocale(e)}get role(){return this.getRole()}set role(e){this.setRole(e)}get token(){return this.getToken()}set token(e){this.setToken(e)}get authenticator(){return this.getAuthenticator()}set authenticator(e){this.setAuthenticator(e)}getOption(e){return this.api.storage.getItem(e)}setOption(e,t){return this.options[e]=t,this.api.storage.setItem(e,t||"")}getLocale(){return this.getOption("locale")}setLocale(e){this.setOption("locale",e)}getRole(){return this.getOption("role")}setRole(e){this.setOption("role",e),s(this.getCookieAppName(),e)}getToken(){return this.getOption("token")}setToken(e){this.setOption("token",e),this.api.app&&this.api.app.eventBus.dispatchEvent(new CustomEvent("auth:tokenChanged",{detail:{token:e,authenticator:this.authenticator}}))}getAuthenticator(){return this.getOption("auth")}setAuthenticator(e){this.setOption("auth",e)}middleware(e){this.locale&&e.headers&&(e.headers["X-Locale"]=this.locale),this.role&&e.headers&&(e.headers["X-Role"]=this.role),this.authenticator&&!c(e.headers,"X-Authenticator")&&e.headers&&(e.headers["X-Authenticator"]=this.authenticator),this.token&&!c(e.headers,"Authorization")&&e.headers&&(e.headers.Authorization=`Bearer ${this.token}`);let t=(e.method||"get").toLowerCase(),l=u("csrfToken",this.getCookieAppName());return!p.has(t)&&l&&!c(e.headers,"X-CSRF-Token")&&e.headers&&(e.headers["X-CSRF-Token"]=l),e}async signIn(e,t){var l;let n=await this.api.request({method:"post",url:"auth:signIn",data:e,headers:{"X-Authenticator":t}}),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 syncCookies(){if(this.token)return await this.api.request({method:"post",url:"auth:syncCookies",skipNotify:!0})}async signOut(){let e=await this.api.request({method:"post",url:"auth:signOut"});return this.setToken(null),this.setRole(null),this.setAuthenticator(null),e}async lostPassword(e){let t=Object.fromEntries(new URLSearchParams(window.location.search).entries());return await this.api.request({method:"post",url:"auth:lostPassword",data:{...e,baseURL:window.location.href.split("/forgot-password")[0]},headers:{"X-Authenticator":t.name}})}async resetPassword(e){return await this.api.request({method:"post",url:"auth:resetPassword",data:e})}async checkResetToken(e){return await this.api.request({method:"post",url:"auth:checkResetToken",data:e})}constructor(e){(0,n._)(this,"api",void 0),(0,n._)(this,"options",{locale:null,role:null,authenticator:null,token:null}),this.api=e,this.api.axios.interceptors.request.use(this.middleware.bind(this))}}class f{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,n._)(this,"storagePrefix",void 0)}}class m extends f{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,n._)(this,"items",new Map)}}class g extends f{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,n._)(this,"storagePrefix",void 0),(0,n._)(this,"baseStoragePrefix",void 0),(0,n._)(this,"shareToken",void 0),(0,n._)(this,"items",void 0),this.storagePrefix=e,this.baseStoragePrefix=t,this.shareToken=l,this.items=window.localStorage}}class v extends g{constructor(e,t="",l=!1){super(e,t,l),(0,n._)(this,"storagePrefix",void 0),(0,n._)(this,"baseStoragePrefix",void 0),(0,n._)(this,"shareToken",void 0),this.storagePrefix=e,this.baseStoragePrefix=t,this.shareToken=l,this.items=window.sessionStorage}}class y{toErrMessages(e){var t,l,n,r,i,o,a,s,u,d,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==(u=e.response)?void 0:u.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==(d=c.data)?void 0:d.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 g(this.storagePrefix,this.baseStoragePrefix,this.shareToken):"sessionStorage"===e&&"u">typeof sessionStorage?new v(this.storagePrefix,this.baseStoragePrefix,this.shareToken):new m}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=>o().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,n._)(this,"options",void 0),(0,n._)(this,"axios",void 0),(0,n._)(this,"auth",void 0),(0,n._)(this,"storage",void 0),(0,n._)(this,"storagePrefix","NOCOBASE_"),(0,n._)(this,"baseStoragePrefix","NOCOBASE_"),(0,n._)(this,"shareToken",!1),(0,n._)(this,"appName",void 0),this.options=e,"function"==typeof e)this.axios=e;else{let{appName:t,authClass:l,storageType:n,storageClass:i,storagePrefix:o="NOCOBASE_",shareToken:a=!1,...s}=e||{};this.appName=t,this.shareToken=a,this.baseStoragePrefix=o,this.storagePrefix=t?`${o}${t.toUpperCase()}_`:o,this.axios=r.A.create(s),this.initStorage(i,n),l&&(this.auth=new l(this))}this.storage||this.initStorage(),this.auth||(this.auth=new h(this)),this.interceptors()}}let b=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]||""}},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]}},87710(e,t,l){l.r(t),l.d(t,{getDayRange:()=>tm,isEmptyFilter:()=>eu,sleep:()=>es,getDateVars:()=>tx,sanitizeRichTextHtml:()=>tV,str2moment:()=>ey,sortTree:()=>ea,unflatten:()=>ts,generateFlowModelRdFromToken:()=>eB,forEach:()=>eP,utc2unit:()=>tv,extractUsedVariablePaths:()=>la,isArray:()=>et,getValuesByPath:()=>eL,moment2str:()=>ew,transformLiquidContext:()=>lu,isURL:()=>tW,isPortalInBody:()=>tT,extractUsedVariableNames:()=>lo,parseHTML:()=>tI,toGmt:()=>ef,isPlainObject:()=>en,lockdownSes:()=>tj,splitPathToTwoParts:()=>tw,transformFilter:()=>G,parseSQLBindParams:()=>lp,getPickerFormat:()=>ek,nextTick:()=>ei,removeNullCondition:()=>ed,CollectionsGraph:()=>V,isValidFilter:()=>eW,evaluateConditions:()=>Z,toUnit:()=>ty,removeInvalidFilterItems:()=>J,getFormatFromDateStr:()=>eC,BASE_BLOCKED_IDENTIFIERS:()=>tF,toLocal:()=>em,getDayRangeByParams:()=>L,getDefaultFormat:()=>eh,transformMultiColumnToSingleColumn:()=>tG,treeFind:()=>eo,transformSQL:()=>lh,parseFilter:()=>tf,flatten:()=>ta,isEmpty:()=>el,getOffsetRangeByParams:()=>N,offsetFromString:()=>eS,getAuthCookieName:()=>ep,error:()=>e0,tval:()=>tE,extractVariableUsage:()=>li,Registry:()=>tA,lodash:()=>r(),parse:()=>eJ,hasEmptyValue:()=>er,toFixedByStep:()=>e7,getDateTimeFormat:()=>eF,showToast:()=>e3,Handlebars:()=>ez(),getLiquidContext:()=>ld,merge:()=>e4,dayjs:()=>o(),parseLiquidContext:()=>lc,uid:()=>tU,isString:()=>ee});var n=l(2543),r=l.n(n),i=l(74353),o=l.n(i),a=l(97375),s=l.n(a),u=l(90445),d=l.n(u),c=l(43522),p=l.n(c),h=l(37872),f=l.n(h),m=l(98867),g=l.n(m),v=l(8906),y=l.n(v),b=l(68313),x=l.n(b),w=l(21840),S=l.n(w),A=l(41816),M=l.n(A),k=l(88569),F=l.n(k),C=l(83826),P=l.n(C),j=l(8134),E=l.n(j),R=l(28623),T=l.n(R),I=l(46986),_=l.n(I);o().extend(_()),o().extend(S()),o().extend(F()),o().extend(P()),o().extend(M()),o().extend(x()),o().extend(f()),o().extend(g()),o().extend(y()),o().extend(E()),o().extend(T()),o().extend(d()),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 q=l(38362);class V{static graphlib(){return q}static connectedNodes(e){let t=(0,n.castArray)(e.nodes),l=(0,n.castArray)(e.excludes||[]),r=V.build(e),i=new Set;for(let e of t)for(let t of q.alg.preorder(r,e))l.includes(t)||i.add(t);return Array.from(i)}static preOrder(e){return V.graphlib().alg.preorder(V.build(e),e.node)}static build(e){let t=e.collections,l="forward"===((null==e?void 0:e.direction)||"forward"),n=new q.Graph;for(let e of t)n.setNode(e.name);for(let e of t){for(let t of e.inherits||[])l?n.setEdge(e.name,t):n.setEdge(t,e.name);for(let t of e.fields||[])if(("hasMany"===t.type||"belongsTo"===t.type||"hasOne"===t.type)&&(l?n.setEdge(e.name,t.target):n.setEdge(t.target,e.name)),"belongsToMany"===t.type){let 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 Y(e){let{logic:t,items:l}=e;return{[t]:l.map(e=>{if(U(e))return H(e);if(W(e))return Y(e);throw Error("Invalid filter item type")})}}function G(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 ed(Y(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 eu(e){return!!(!e||"$and"in e&&r().isEmpty(e.$and)||"$or"in e&&r().isEmpty(e.$or))}let ed=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={authToken:"nb_auth_token",authenticator:"nb_authenticator",role:"nb_role",csrfToken:"nb_csrf_token"};function ep(e,t){return`${ec[e]}_${t||"main"}`}let eh=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",ef=e=>e&&o().isDayjs(e)?`${e.format("YYYY-MM-DD")}T${e.format("HH:mm:ss.SSS")}Z`:e,em=e=>e?Array.isArray(e)?e.map(e=>e.startOf("second").toISOString()):o().isDayjs(e)?e.startOf("second").toISOString():void 0:e,eg=e=>{try{let t=parseInt(e.slice(0,4)),l=parseInt(e.slice(-1));return o()().quarter(l).year(t)}catch(e){return null}},ev=(e,t)=>{if(!e)return;let l=t.utcOffset,{gmt:n,picker:r,utc:i=!0,dateOnly:a}=t;if(!o()(e).isValid())return eg(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(eS(l)):e:n?o()(e).utcOffset(0):l?o()(e).utcOffset(eS(l)):o()(e):o()(e)},ey=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)?e.map(e=>ev(e,t)):e?ev(e,t):e},eb=(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",ex=(e,t)=>e?Array.isArray(e)?e.map(e=>eb(e,t)):o().isDayjs(e)?eb(e,t):void 0:e,ew=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{showTime:l,gmt:n,picker:r}=t;return e?l?n?ef(e):em(e):ex(e,r):e};function eS(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]))+eA(o[2]);return 0===a?0:"+"===o[0]?a:-a}function eA(e){let t=+e,l=0;return 0!==t&&isFinite(t)&&(l=eM(t)),l}function eM(e){return e<0?Math.ceil(e)||0:Math.floor(e)}let ek=e=>{switch(e){case"week":return"YYYY[W]W";case"month":return"YYYY-MM";case"quarter":return"YYYY[Q]Q";case"year":return"YYYY";default:return"YYYY-MM-DD"}},eF=(e,t,l,n)=>"date"===e&&l?`${t} ${n||"HH:mm:ss"}`:t;function eC(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 eP=(e,t)=>{Array.isArray(e)?e.forEach(t):Object.keys(e).forEach(l=>{t(e[l],l)})};var ej=l(48287).Buffer;let eE=new Map;function eR(e){return"function"==typeof btoa?btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,""):ej.from(e,"binary").toString("base64url")}function eT(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),l=t.padEnd(t.length+(4-t.length%4)%4,"=");return"function"==typeof atob?atob(l):ej.from(l,"base64").toString("binary")}function eI(e){let t=0x811c9dc5;for(let l=0;l<e.length;l+=1)t^=e.charCodeAt(l),t=Math.imul(t,0x1000193);return(t>>>0).toString(36)}function e_(e,t){if(!t)return"";let l="";for(let n=0;n<e.length;n+=1)l+=String.fromCharCode(e.charCodeAt(n)^t.charCodeAt(n%t.length));return l}function eD(e){if(!e||"string"!=typeof e)return null;let t=e.split(".");if(t.length<2)return null;try{return JSON.parse(eT(t[1]))}catch{return null}}function eN(e){let t=null==e?void 0:e.userId,l=(null==e?void 0:e.signInTime)||(null==e?void 0:e.jti);return"string"!=typeof t&&"number"!=typeof t||"string"!=typeof l&&"number"!=typeof l?"":`${t}:${l}`}function eO(e){return eN(eD(e))}function e$(e,t){if("string"!=typeof e&&"number"!=typeof e||!t)return;let l=String(e),n=`${t}
2007
- ${l}`,r=eE.get(n);if(r)return r;let i=eR(e_(l,eI(`mask:v1:${t}`))),o=eI(`check:v1:${t}:${l}`),a=`v1.${i}.${o}`;return eE.set(n,a),a}function eB(e,t){return e$(e,eO(t))}let eL=(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=eL(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 eq=l(88835),eV=l(60639),ez=l.n(eV),eK=l(79441);let eU=l.n(eK)()();function eW(e){if(!e)return!1;let t=[e.$and,e.$or].filter(Boolean);return 0==t.length?Object.keys(e).length>0:t.some(e=>{if(Array.isArray(e))return e.some(eW);if(e.$and||e.$or)return eW(e);let[t]=Object.keys(e);if(!t||!e[t])return!1;let[l]=Object.keys(e[t]);return!!l&&void 0!==e[t][l]})}function eH(e){let t=typeof e;return Array.isArray(e)?t="array":e instanceof Date?t="date":null===e&&(t="null"),t}function eY(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 eG(e,t){return e.parameters=Array.from(new Map(t.map(e=>[e.key,e])).values()),e}function eJ(e){switch(eH(e)){case"string":return eX(e);case"object":return eQ(e);case"array":return eZ(e);default:return eG(function(){return e},[])}}Object.keys(eU).forEach(function(e){ez().registerHelper(e,eU[e])}),ez().registerHelper("json",function(e){return JSON.stringify(e)}),ez().registerHelper("urlParse",function(e){try{return JSON.stringify(eq.parse(e))}catch(t){return`Invalid URL: ${e}`}}),ez().registerHelper("dateFormat",(e,t,l)=>"string"==typeof l?o()(e).tz(l).format(t):o()(e).format(t)),ez().registerHelper("isNull",e=>r().isNull(e));let eX=(()=>{let e=/{{(\w|:|[\s-+.,@/()?=*_$])+}}/g;return t=>{let l=[],r=e=>t,i=t.match(e);return i&&(l=i.map(eY),r=e=>(e=e||{},i.reduce((r,o,a)=>{let s=l[a],u=(0,n.get)(e,s.key);return(void 0===u&&(u=s.defaultValue),"function"==typeof u&&(u=u()),1===i.length&&t.startsWith("{{")&&t.endsWith("}}"))?u:(u instanceof Date&&(u=u.toISOString()),r.replace(o,null==u?"":u))},t))),eG(r,l)}})();function eQ(e){let t=Object.keys(e).map(t=>({keyTemplate:eX(t),valueTemplate:eJ(e[t])}));return eG(e=>t.reduce((t,l)=>(t[l.keyTemplate(e)]=l.valueTemplate(e),t),{}),t.reduce((e,t)=>e.concat(t.valueTemplate.parameters,t.keyTemplate.parameters),[]))}function eZ(e){let t=e.map(eJ);return eG(e=>t.map(t=>t(e)),t.reduce((e,t)=>e.concat(t.parameters),[]))}let e0=function(e){for(var t=arguments.length,l=Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];console.error(e,...l)};var e1=l(14744),e2=l.n(e1);let e5=(e,t,l)=>t;function e4(e,t,l){return e2()(e,t,{arrayMerge:e5,...l})}var e8=l(76511);let e3=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;e8.Ay[t]({message:e,duration:l})};var e6=l(5062),e9=l(85738);function e7(e,t){if(null==e||""===e)return"";let l=(0,e6.i5)(t);return(0,e9.Mg)(String(e),".",l)}var te=l(63560),tt=l.n(te),tl=l(95093),tn=l.n(tl);let tr=/^\s*\{\{([\s\S]*)\}\}\s*$/;function ti(e){return e&&e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function to(e){return e}function ta(e,t){let l=(t=t||{}).delimiter||".",n=t.maxDepth,i=t.transformKey||to,o=t.transformValue||to,a={};function s(e,u,d){d=d||1,r().isObjectLike(e)&&Object.keys(e).forEach(function(r){var c;let p=e[r],h=t.safe&&Array.isArray(p),f=Object.prototype.toString.call(p),m=ti(p),g="[object Object]"===f||"[object Array]"===f,v=u?u+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&&!m&&g&&Object.keys(p).length&&(!t.maxDepth||d<n))return s(p,v,d+1);a[v]=o(p,v)})}return s(e),a}function ts(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l={},n=t.transformValue||to;for(let t of Object.keys(e))tt()(l,t,n(e[t],t));return l}let tu=e=>{let t=e.split(".").pop()||"";return t.startsWith("$")||(t=""),{operator:t}},td=e=>["$dateOn","$dateNotOn","$dateBefore","$dateAfter","$dateNotBefore","$dateNotAfter","$dateBetween"].includes(e);function tc(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function tp(e){return(null==e?void 0:e.type)==="dateOnly"||(null==e?void 0:e.type)==="datetimeNoTz"||(null==e?void 0:e.constructor.name)==="DateOnlyField"||(null==e?void 0:e.constructor.name)==="DatetimeNoTzField"}let th=(e,t)=>e?(e.type&&(e=L({...e,timezone:t})),Array.isArray(e))?(2===e.length?e.push("[]",t):3===e.length&&e.push(t),e):"string"==typeof e?!t||/(\+|-)\d\d:\d\d$/.test(e)?e:e+t:tc(e)?e.toISOString():void 0:null,tf=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=ta(e,{breakOn(e){let{key:t}=e;return t.startsWith("$")&&"$and"!==t&&"$or"!==t},transformValue(e){if("string"!=typeof e)return e;let t=tr.exec(e);if(t){let e=t[1].trim();e.startsWith("$user")&&l.add(e.substring(6))}return e}});if(l.size>0){let e=await n.$user({fields:[...l.values()]});Object.assign(n,{$user:e})}return ts(a,{transformValue(e,t){let{operator:l}=tu(t);if("string"==typeof e){let a=tr.exec(e);if(a){let s=eL(n,a[1].trim(),null),u=null==o?void 0:o(t);e="function"==typeof s?null==s?void 0:s({field:u,operator:l,timezone:r,now:i}):s}}if(td(l)){let l=null==o?void 0:o(t);return tp(l)?e.type?L({...e,timezone:(null==l?void 0:l.timezone)||r}):e:th(e,(null==l?void 0:l.timezone)||r)}return e}})};function tm(e){let{now:t,timezone:l="+00:00",offset:n}=e,r=tg(t).utcOffset(eS(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 tg(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?o().isDayjs(e)?e:t?tn()(e):o()(e):t?tn()():o()()}function tv(e){var t;let{now:l,unit:n,timezone:r="+00:00",offset:i}=e,o=tg(l,"isoWeek"===n);o=(o=o.utcOffset(eS(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 ty=(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),tv({now:n,timezone:r,unit:e,offset:t})},tb=e=>t=>{let{now:l,timezone:n,field:r}=t;return(null==r?void 0:r.timezone)&&(n=null==r?void 0:r.timezone),tm({now:l,timezone:n,offset:e})};function tx(){return{now:new Date().toISOString(),today:ty("day"),yesterday:ty("day",-1),tomorrow:ty("day",1),thisWeek:ty("week"),lastWeek:ty("week",-1),nextWeek:ty("week",1),thisIsoWeek:ty("isoWeek"),lastIsoWeek:ty("isoWeek",-1),nextIsoWeek:ty("isoWeek",1),thisMonth:ty("month"),lastMonth:ty("month",-1),nextMonth:ty("month",1),thisQuarter:ty("quarter"),lastQuarter:ty("quarter",-1),nextQuarter:ty("quarter",1),thisYear:ty("year"),lastYear:ty("year",-1),nextYear:ty("year",1),last7Days:tb(-7),next7Days:tb(7),last30Days:tb(-30),next30Days:tb(30),last90Days:tb(-90),next90Days:tb(90)}}function tw(e){let t=e.split(".");return[t.shift(),t.join(".")]}var tS=l(50467);class tA{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,tS._)(this,"map",new Map),(0,tS._)(this,"options",void 0),this.options=e}}l(59961);let tM=Symbol.for("nocobase.utils.sesLockdown"),tk=Symbol.for("nocobase.utils.bufferOverrides"),tF=["globalThis","global","self","Function","AsyncFunction","GeneratorFunction","eval","Compartment","lockdown","harden","assert"];function tC(e){return!!e&&"object"==typeof e&&(e.message||"").includes("(SES_ALREADY_LOCKED_DOWN)")}function tP(){let e=globalThis;if(e[tk])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[tk]=!0}function tj(e){tP();let t=globalThis;if(!t[tM]){if("function"!=typeof lockdown)throw Error("SES lockdown is unavailable in the current runtime environment.");try{lockdown(e)}catch(e){if(!tC(e))throw e}t[tM]=!0}}function tE(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}var tR=l(65606);let tT=e=>{for(;e;){var t;if("root"===e.id||(null==(t=e.classList)?void 0:t.contains("nb-action")))return!1;e=e.parentNode}return!tR.env.__TEST__};function tI(e,t){return e.replace(/\{\{(\w+)\}\}/g,function(e,l){return void 0!==t[l]?t[l]:e})}var t_=l(74728),tD=l.n(t_);let tN=/^data:image\/(?:gif|jpe?g|png|webp);base64,[a-z\d+/=\s]+$/i,tO=/^(?:\d{1,4}(?:\.\d+)?(?:px)?|(?:100|[1-9]?\d)(?:\.\d+)?%)$/,t$=/^(?:\d{1,4}(?:\.\d+)?px|(?:100|[1-9]?\d)(?:\.\d+)?%)$/;function tB(e){let t={...e};return t.target&&!["_blank","_self"].includes(t.target)&&delete t.target,"_blank"===t.target?t.rel="noopener noreferrer":delete t.rel,t}function tL(e){var t;let l={...e};for(let e of((null==(t=l.src)?void 0:t.trim().toLowerCase().startsWith("data:"))&&!tN.test(l.src)&&delete l.src,["width","height"]))l[e]&&!tO.test(l[e])&&delete l[e];return l}let tq={allowedTags:["a","b","blockquote","br","em","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","s","span","strike","strong","u","ul"],allowedAttributes:{a:["href","target","rel"],img:["src","alt","title","width","height","style"],span:["style"]},allowedClasses:{blockquote:[/^ql-indent-[1-9]$/],h1:[/^ql-indent-[1-9]$/],h2:[/^ql-indent-[1-9]$/],h3:[/^ql-indent-[1-9]$/],h4:[/^ql-indent-[1-9]$/],h5:[/^ql-indent-[1-9]$/],h6:[/^ql-indent-[1-9]$/],li:[/^ql-indent-[1-9]$/],p:[/^ql-indent-[1-9]$/]},allowedStyles:{img:{height:[t$],width:[t$]},span:{"font-size":[/^(?:12|14|16|18|20|24|32|48)px$/]}},allowedSchemes:["http","https","mailto","tel"],allowedSchemesByTag:{img:["http","https","data"]},allowProtocolRelative:!1,transformTags:{a:(e,t)=>({tagName:e,attribs:tB(t)}),img:(e,t)=>({tagName:e,attribs:tL(t)})}};function tV(e){return tD()(e,tq)}let tz=36,tK="";for(;tz--;)tK+=tz.toString(36);function tU(e){let t="",l=e||11;for(;l--;)t+=tK[36*Math.random()|0];return t}function tW(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}var tH=l(27153),tY=JSON.parse('{"rE":"2.4.0-alpha.4"}');let tG=(e,t)=>{if(!e)return e;if("Grid"!==e["x-component"])return Object.keys(e.properties||{}).forEach(l=>{e.properties[l]=tG(e.properties[l],t)}),e;let l=e.parent;e=e.toJSON?e.toJSON():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[`${tU()}_${l}`]=tJ(s,l,++o))})}}),e.properties=n,l){let t=new tH.S(e,l);return l.properties&&Object.keys(l.properties).forEach(n=>{n===e.name&&(l.properties[n]=t)}),t}return e};function tJ(e,t,l){return{type:"void",version:"2.0","x-component":"Grid.Row","x-app-version":tY.rE,"x-uid":tU(),"x-async":!1,"x-index":l,_isJSONSchemaObject:!0,properties:{[t]:e}}}function tX(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function tQ(e){return!!e&&/[a-zA-Z_$]/.test(e)}function tZ(e){return!!e&&/[a-zA-Z0-9_$]/.test(e)}function t0(e,t){let l=t;for(;/\s/.test(e[l]||"");)l+=1;return l}function t1(e,t){let l=t0(e,t);for(;"!"===e[l];)l=t0(e,l+1);return l}function t2(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]||"");)l-=1;return l}function t5(e,t){let l=t2(e,t-1);if("("!==e[l])return!1;let n=t2(e,l-1);if(n<0)return!0;let r=e[n];return!tZ(r)&&")"!==r&&"]"!==r}function t4(e,t){let l=t0(e,t);if(")"!==e[l])return!1;let n=t0(e,l+1);return"."===e[n]||"["===e[n]||e.startsWith("?.",n)}function t8(e,t){if(!tQ(e[t]))return null;let l=t+1;for(;tZ(e[l]);)l+=1;return{value:e.slice(t,l),next:l}}function t3(e,t){let l=e.slice(t).match(/^\d+/);return l?{value:l[0],next:t+l[0].length}:null}function t6(e,t){let l=e[t];if('"'!==l&&"'"!==l)return null;let n=t+1,r="";for(;n<e.length;){let t=e[n];if("\\"===t){r+=e.slice(n,n+2),n+=2;continue}if(t===l)return{value:r,next:n+1};r+=t,n+=1}return null}function t9(e,t){let l=t0(e,t+1),n=t6(e,l);if(n)return(l=t0(e,n.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"property",next:l+1,value:n.value};let r=t3(e,l);return r?(l=t0(e,r.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"index",next:l+1,value:r.value}:{dynamic:!0}}function t7(e,t,l){if("property"===t)return void e.push(l);if(e.length){e[e.length-1]=`${e[e.length-1]}[${l}]`;return}e.push(`[${l}]`)}function le(e,t){let l=t1(e,t);if("["===e[l])return t9(e,l);if(e.startsWith("?.",l)){let t=t0(e,l+2);if("["===e[t])return t9(e,t);let n=t8(e,t)||t3(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}if("."===e[l]){let t=t0(e,l+1),n=t8(e,t)||t3(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}return null}function lt(e){let t=e.trim(),l="(?:[a-zA-Z_$][a-zA-Z0-9_$-]*|\\d+)",n=t.match(RegExp(`^ctx\\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\\.(${l}(?:\\.${l})*))?$`));return n?{methodCall:!1,path:n[2]||void 0,unsupportedDynamicPath:!1,varName:n[1]}:null}function ll(e,t){if("ctx"!==e.slice(t,t+3)||tZ(e[t-1])||tZ(e[t+3]))return null;if(t5(e,t))return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};let l=le(e,t+3);if(!l)return null;if(l.dynamic)return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};if("property"!==l.kind)return null;let n=[],r=l.next,i=!1,o=!1;for(;r<e.length;){let t=t1(e,r);if(("("===e[t]||e.startsWith("?.(",t))&&!n.length){i=!0,r=t;break}let l=le(e,r);if(!l){r=t,("["===e[t]||"."===e[t]||e.startsWith("?.",t))&&(o=!0);break}if(l.dynamic){o=!0,r=t;break}t7(n,l.kind,l.value),r=l.next}let a=n.join(".");return{next:Math.max(r,l.next),reference:{methodCall:i,path:a||void 0,unsupportedDynamicPath:o||t4(e,r),varName:l.value}}}function ln(e){let t=lt(e);if(t)return[t];let l=[];for(let t=0;t<e.length;t+=1){if("ctx"!==e.slice(t,t+3))continue;let n=ll(e,t);n&&(l.push(n.reference),t=Math.max(t,n.next-1))}return l}function lr(e,t,l,n){e[t]=e[t]||[],l?e[t].push(l):n&&!e[t].includes("")&&e[t].push("")}function li(e){let t={},l=!1,n=e=>{for(let n of ln(e)){if(n.unsupportedDynamicPath){l=!0;continue}n.varName&&lr(t,n.varName,n.path,n.methodCall)}},r=e=>{if("string"==typeof e){let t,l=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(t=l.exec(e));)n(t[1]);return}Array.isArray(e)?e.forEach(r):tX(e)&&Object.values(e).forEach(r)};return r(e),{unsupportedDynamicPath:l,usage:t}}function lo(e){return new Set(Object.keys(li(e).usage))}function la(e){return li(e).usage}let ls=new(l(23155)).HX;function lu(){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 ld(e){return lu(await ls.fullVariables(e))}async function lc(e,t){return await ls.parseAndRender(e,{ctx:t})}function lp(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 lh(e){let{sql:t,bind:l}=lp(e),n=await ld(t);return{sql:t,bind:l,liquidContext:n}}},59598(){},23005(){},14892(){},2813(){},61511(){},92489(){},52453(){},72522(){},66883(){},9845(){}};import{__webpack_require__}from"./runtime-6b2f3ebe.js";var __webpack_exec__=function(e){return __webpack_require__(__webpack_require__.s=e)};import*as __rspack_chunk_1 from"./6742-0ced661a.js";__webpack_require__.C(__rspack_chunk_1);import*as __rspack_chunk_2 from"./index-9d64e1d0.js";__webpack_require__.C(__rspack_chunk_2),__webpack_exec__(18467);
2007
+ ${l}`,r=eE.get(n);if(r)return r;let i=eR(e_(l,eI(`mask:v1:${t}`))),o=eI(`check:v1:${t}:${l}`),a=`v1.${i}.${o}`;return eE.set(n,a),a}function eB(e,t){return e$(e,eO(t))}let eL=(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=eL(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 eq=l(88835),eV=l(60639),ez=l.n(eV),eK=l(79441);let eU=l.n(eK)()();function eW(e){if(!e)return!1;let t=[e.$and,e.$or].filter(Boolean);return 0==t.length?Object.keys(e).length>0:t.some(e=>{if(Array.isArray(e))return e.some(eW);if(e.$and||e.$or)return eW(e);let[t]=Object.keys(e);if(!t||!e[t])return!1;let[l]=Object.keys(e[t]);return!!l&&void 0!==e[t][l]})}function eH(e){let t=typeof e;return Array.isArray(e)?t="array":e instanceof Date?t="date":null===e&&(t="null"),t}function eY(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 eG(e,t){return e.parameters=Array.from(new Map(t.map(e=>[e.key,e])).values()),e}function eJ(e){switch(eH(e)){case"string":return eX(e);case"object":return eQ(e);case"array":return eZ(e);default:return eG(function(){return e},[])}}Object.keys(eU).forEach(function(e){ez().registerHelper(e,eU[e])}),ez().registerHelper("json",function(e){return JSON.stringify(e)}),ez().registerHelper("urlParse",function(e){try{return JSON.stringify(eq.parse(e))}catch(t){return`Invalid URL: ${e}`}}),ez().registerHelper("dateFormat",(e,t,l)=>"string"==typeof l?o()(e).tz(l).format(t):o()(e).format(t)),ez().registerHelper("isNull",e=>r().isNull(e));let eX=(()=>{let e=/{{(\w|:|[\s-+.,@/()?=*_$])+}}/g;return t=>{let l=[],r=e=>t,i=t.match(e);return i&&(l=i.map(eY),r=e=>(e=e||{},i.reduce((r,o,a)=>{let s=l[a],u=(0,n.get)(e,s.key);return(void 0===u&&(u=s.defaultValue),"function"==typeof u&&(u=u()),1===i.length&&t.startsWith("{{")&&t.endsWith("}}"))?u:(u instanceof Date&&(u=u.toISOString()),r.replace(o,null==u?"":u))},t))),eG(r,l)}})();function eQ(e){let t=Object.keys(e).map(t=>({keyTemplate:eX(t),valueTemplate:eJ(e[t])}));return eG(e=>t.reduce((t,l)=>(t[l.keyTemplate(e)]=l.valueTemplate(e),t),{}),t.reduce((e,t)=>e.concat(t.valueTemplate.parameters,t.keyTemplate.parameters),[]))}function eZ(e){let t=e.map(eJ);return eG(e=>t.map(t=>t(e)),t.reduce((e,t)=>e.concat(t.parameters),[]))}let e0=function(e){for(var t=arguments.length,l=Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];console.error(e,...l)};var e1=l(14744),e2=l.n(e1);let e5=(e,t,l)=>t;function e4(e,t,l){return e2()(e,t,{arrayMerge:e5,...l})}var e8=l(76511);let e3=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;e8.Ay[t]({message:e,duration:l})};var e6=l(5062),e9=l(85738);function e7(e,t){if(null==e||""===e)return"";let l=(0,e6.i5)(t);return(0,e9.Mg)(String(e),".",l)}var te=l(63560),tt=l.n(te),tl=l(95093),tn=l.n(tl);let tr=/^\s*\{\{([\s\S]*)\}\}\s*$/;function ti(e){return e&&e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function to(e){return e}function ta(e,t){let l=(t=t||{}).delimiter||".",n=t.maxDepth,i=t.transformKey||to,o=t.transformValue||to,a={};function s(e,u,d){d=d||1,r().isObjectLike(e)&&Object.keys(e).forEach(function(r){var c;let p=e[r],h=t.safe&&Array.isArray(p),f=Object.prototype.toString.call(p),m=ti(p),g="[object Object]"===f||"[object Array]"===f,v=u?u+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&&!m&&g&&Object.keys(p).length&&(!t.maxDepth||d<n))return s(p,v,d+1);a[v]=o(p,v)})}return s(e),a}function ts(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l={},n=t.transformValue||to;for(let t of Object.keys(e))tt()(l,t,n(e[t],t));return l}let tu=e=>{let t=e.split(".").pop()||"";return t.startsWith("$")||(t=""),{operator:t}},td=e=>["$dateOn","$dateNotOn","$dateBefore","$dateAfter","$dateNotBefore","$dateNotAfter","$dateBetween"].includes(e);function tc(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function tp(e){return(null==e?void 0:e.type)==="dateOnly"||(null==e?void 0:e.type)==="datetimeNoTz"||(null==e?void 0:e.constructor.name)==="DateOnlyField"||(null==e?void 0:e.constructor.name)==="DatetimeNoTzField"}let th=(e,t)=>e?(e.type&&(e=L({...e,timezone:t})),Array.isArray(e))?(2===e.length?e.push("[]",t):3===e.length&&e.push(t),e):"string"==typeof e?!t||/(\+|-)\d\d:\d\d$/.test(e)?e:e+t:tc(e)?e.toISOString():void 0:null,tf=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=ta(e,{breakOn(e){let{key:t}=e;return t.startsWith("$")&&"$and"!==t&&"$or"!==t},transformValue(e){if("string"!=typeof e)return e;let t=tr.exec(e);if(t){let e=t[1].trim();e.startsWith("$user")&&l.add(e.substring(6))}return e}});if(l.size>0){let e=await n.$user({fields:[...l.values()]});Object.assign(n,{$user:e})}return ts(a,{transformValue(e,t){let{operator:l}=tu(t);if("string"==typeof e){let a=tr.exec(e);if(a){let s=eL(n,a[1].trim(),null),u=null==o?void 0:o(t);e="function"==typeof s?null==s?void 0:s({field:u,operator:l,timezone:r,now:i}):s}}if(td(l)){let l=null==o?void 0:o(t);return tp(l)?e.type?L({...e,timezone:(null==l?void 0:l.timezone)||r}):e:th(e,(null==l?void 0:l.timezone)||r)}return e}})};function tm(e){let{now:t,timezone:l="+00:00",offset:n}=e,r=tg(t).utcOffset(eS(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 tg(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?o().isDayjs(e)?e:t?tn()(e):o()(e):t?tn()():o()()}function tv(e){var t;let{now:l,unit:n,timezone:r="+00:00",offset:i}=e,o=tg(l,"isoWeek"===n);o=(o=o.utcOffset(eS(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 ty=(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),tv({now:n,timezone:r,unit:e,offset:t})},tb=e=>t=>{let{now:l,timezone:n,field:r}=t;return(null==r?void 0:r.timezone)&&(n=null==r?void 0:r.timezone),tm({now:l,timezone:n,offset:e})};function tx(){return{now:new Date().toISOString(),today:ty("day"),yesterday:ty("day",-1),tomorrow:ty("day",1),thisWeek:ty("week"),lastWeek:ty("week",-1),nextWeek:ty("week",1),thisIsoWeek:ty("isoWeek"),lastIsoWeek:ty("isoWeek",-1),nextIsoWeek:ty("isoWeek",1),thisMonth:ty("month"),lastMonth:ty("month",-1),nextMonth:ty("month",1),thisQuarter:ty("quarter"),lastQuarter:ty("quarter",-1),nextQuarter:ty("quarter",1),thisYear:ty("year"),lastYear:ty("year",-1),nextYear:ty("year",1),last7Days:tb(-7),next7Days:tb(7),last30Days:tb(-30),next30Days:tb(30),last90Days:tb(-90),next90Days:tb(90)}}function tw(e){let t=e.split(".");return[t.shift(),t.join(".")]}var tS=l(50467);class tA{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,tS._)(this,"map",new Map),(0,tS._)(this,"options",void 0),this.options=e}}l(59961);let tM=Symbol.for("nocobase.utils.sesLockdown"),tk=Symbol.for("nocobase.utils.bufferOverrides"),tF=["globalThis","global","self","Function","AsyncFunction","GeneratorFunction","eval","Compartment","lockdown","harden","assert"];function tC(e){return!!e&&"object"==typeof e&&(e.message||"").includes("(SES_ALREADY_LOCKED_DOWN)")}function tP(){let e=globalThis;if(e[tk])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[tk]=!0}function tj(e){tP();let t=globalThis;if(!t[tM]){if("function"!=typeof lockdown)throw Error("SES lockdown is unavailable in the current runtime environment.");try{lockdown(e)}catch(e){if(!tC(e))throw e}t[tM]=!0}}function tE(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}var tR=l(65606);let tT=e=>{for(;e;){var t;if("root"===e.id||(null==(t=e.classList)?void 0:t.contains("nb-action")))return!1;e=e.parentNode}return!tR.env.__TEST__};function tI(e,t){return e.replace(/\{\{(\w+)\}\}/g,function(e,l){return void 0!==t[l]?t[l]:e})}var t_=l(74728),tD=l.n(t_);let tN=/^data:image\/(?:gif|jpe?g|png|webp);base64,[a-z\d+/=\s]+$/i,tO=/^(?:\d{1,4}(?:\.\d+)?(?:px)?|(?:100|[1-9]?\d)(?:\.\d+)?%)$/,t$=/^(?:\d{1,4}(?:\.\d+)?px|(?:100|[1-9]?\d)(?:\.\d+)?%)$/;function tB(e){let t={...e};return t.target&&!["_blank","_self"].includes(t.target)&&delete t.target,"_blank"===t.target?t.rel="noopener noreferrer":delete t.rel,t}function tL(e){var t;let l={...e};for(let e of((null==(t=l.src)?void 0:t.trim().toLowerCase().startsWith("data:"))&&!tN.test(l.src)&&delete l.src,["width","height"]))l[e]&&!tO.test(l[e])&&delete l[e];return l}let tq={allowedTags:["a","b","blockquote","br","em","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","s","span","strike","strong","u","ul"],allowedAttributes:{a:["href","target","rel"],img:["src","alt","title","width","height","style"],span:["style"]},allowedClasses:{blockquote:[/^ql-indent-[1-9]$/],h1:[/^ql-indent-[1-9]$/],h2:[/^ql-indent-[1-9]$/],h3:[/^ql-indent-[1-9]$/],h4:[/^ql-indent-[1-9]$/],h5:[/^ql-indent-[1-9]$/],h6:[/^ql-indent-[1-9]$/],li:[/^ql-indent-[1-9]$/],p:[/^ql-indent-[1-9]$/]},allowedStyles:{img:{height:[t$],width:[t$]},span:{"font-size":[/^(?:12|14|16|18|20|24|32|48)px$/]}},allowedSchemes:["http","https","mailto","tel"],allowedSchemesByTag:{img:["http","https","data"]},allowProtocolRelative:!1,transformTags:{a:(e,t)=>({tagName:e,attribs:tB(t)}),img:(e,t)=>({tagName:e,attribs:tL(t)})}};function tV(e){return tD()(e,tq)}let tz=36,tK="";for(;tz--;)tK+=tz.toString(36);function tU(e){let t="",l=e||11;for(;l--;)t+=tK[36*Math.random()|0];return t}function tW(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}var tH=l(27153),tY=JSON.parse('{"rE":"2.4.0-alpha.5"}');let tG=(e,t)=>{if(!e)return e;if("Grid"!==e["x-component"])return Object.keys(e.properties||{}).forEach(l=>{e.properties[l]=tG(e.properties[l],t)}),e;let l=e.parent;e=e.toJSON?e.toJSON():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[`${tU()}_${l}`]=tJ(s,l,++o))})}}),e.properties=n,l){let t=new tH.S(e,l);return l.properties&&Object.keys(l.properties).forEach(n=>{n===e.name&&(l.properties[n]=t)}),t}return e};function tJ(e,t,l){return{type:"void",version:"2.0","x-component":"Grid.Row","x-app-version":tY.rE,"x-uid":tU(),"x-async":!1,"x-index":l,_isJSONSchemaObject:!0,properties:{[t]:e}}}function tX(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function tQ(e){return!!e&&/[a-zA-Z_$]/.test(e)}function tZ(e){return!!e&&/[a-zA-Z0-9_$]/.test(e)}function t0(e,t){let l=t;for(;/\s/.test(e[l]||"");)l+=1;return l}function t1(e,t){let l=t0(e,t);for(;"!"===e[l];)l=t0(e,l+1);return l}function t2(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]||"");)l-=1;return l}function t5(e,t){let l=t2(e,t-1);if("("!==e[l])return!1;let n=t2(e,l-1);if(n<0)return!0;let r=e[n];return!tZ(r)&&")"!==r&&"]"!==r}function t4(e,t){let l=t0(e,t);if(")"!==e[l])return!1;let n=t0(e,l+1);return"."===e[n]||"["===e[n]||e.startsWith("?.",n)}function t8(e,t){if(!tQ(e[t]))return null;let l=t+1;for(;tZ(e[l]);)l+=1;return{value:e.slice(t,l),next:l}}function t3(e,t){let l=e.slice(t).match(/^\d+/);return l?{value:l[0],next:t+l[0].length}:null}function t6(e,t){let l=e[t];if('"'!==l&&"'"!==l)return null;let n=t+1,r="";for(;n<e.length;){let t=e[n];if("\\"===t){r+=e.slice(n,n+2),n+=2;continue}if(t===l)return{value:r,next:n+1};r+=t,n+=1}return null}function t9(e,t){let l=t0(e,t+1),n=t6(e,l);if(n)return(l=t0(e,n.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"property",next:l+1,value:n.value};let r=t3(e,l);return r?(l=t0(e,r.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"index",next:l+1,value:r.value}:{dynamic:!0}}function t7(e,t,l){if("property"===t)return void e.push(l);if(e.length){e[e.length-1]=`${e[e.length-1]}[${l}]`;return}e.push(`[${l}]`)}function le(e,t){let l=t1(e,t);if("["===e[l])return t9(e,l);if(e.startsWith("?.",l)){let t=t0(e,l+2);if("["===e[t])return t9(e,t);let n=t8(e,t)||t3(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}if("."===e[l]){let t=t0(e,l+1),n=t8(e,t)||t3(e,t);return n?{dynamic:!1,kind:"property",next:n.next,value:n.value}:null}return null}function lt(e){let t=e.trim(),l="(?:[a-zA-Z_$][a-zA-Z0-9_$-]*|\\d+)",n=t.match(RegExp(`^ctx\\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\\.(${l}(?:\\.${l})*))?$`));return n?{methodCall:!1,path:n[2]||void 0,unsupportedDynamicPath:!1,varName:n[1]}:null}function ll(e,t){if("ctx"!==e.slice(t,t+3)||tZ(e[t-1])||tZ(e[t+3]))return null;if(t5(e,t))return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};let l=le(e,t+3);if(!l)return null;if(l.dynamic)return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};if("property"!==l.kind)return null;let n=[],r=l.next,i=!1,o=!1;for(;r<e.length;){let t=t1(e,r);if(("("===e[t]||e.startsWith("?.(",t))&&!n.length){i=!0,r=t;break}let l=le(e,r);if(!l){r=t,("["===e[t]||"."===e[t]||e.startsWith("?.",t))&&(o=!0);break}if(l.dynamic){o=!0,r=t;break}t7(n,l.kind,l.value),r=l.next}let a=n.join(".");return{next:Math.max(r,l.next),reference:{methodCall:i,path:a||void 0,unsupportedDynamicPath:o||t4(e,r),varName:l.value}}}function ln(e){let t=lt(e);if(t)return[t];let l=[];for(let t=0;t<e.length;t+=1){if("ctx"!==e.slice(t,t+3))continue;let n=ll(e,t);n&&(l.push(n.reference),t=Math.max(t,n.next-1))}return l}function lr(e,t,l,n){e[t]=e[t]||[],l?e[t].push(l):n&&!e[t].includes("")&&e[t].push("")}function li(e){let t={},l=!1,n=e=>{for(let n of ln(e)){if(n.unsupportedDynamicPath){l=!0;continue}n.varName&&lr(t,n.varName,n.path,n.methodCall)}},r=e=>{if("string"==typeof e){let t,l=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(t=l.exec(e));)n(t[1]);return}Array.isArray(e)?e.forEach(r):tX(e)&&Object.values(e).forEach(r)};return r(e),{unsupportedDynamicPath:l,usage:t}}function lo(e){return new Set(Object.keys(li(e).usage))}function la(e){return li(e).usage}let ls=new(l(23155)).HX;function lu(){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 ld(e){return lu(await ls.fullVariables(e))}async function lc(e,t){return await ls.parseAndRender(e,{ctx:t})}function lp(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 lh(e){let{sql:t,bind:l}=lp(e),n=await ld(t);return{sql:t,bind:l,liquidContext:n}}},59598(){},23005(){},14892(){},2813(){},61511(){},92489(){},52453(){},72522(){},66883(){},9845(){}};import{__webpack_require__}from"./runtime-6b2f3ebe.js";var __webpack_exec__=function(e){return __webpack_require__(__webpack_require__.s=e)};import*as __rspack_chunk_1 from"./6742-0ced661a.js";__webpack_require__.C(__rspack_chunk_1);import*as __rspack_chunk_2 from"./index-6bfe35e6.js";__webpack_require__.C(__rspack_chunk_2),__webpack_exec__(18467);