@nocobase/client 1.8.23 → 1.8.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -19,7 +19,7 @@
19
19
  display: flex;
20
20
  margin: 5px 0px;
21
21
  }
22
- `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:"HH:mm:ss",enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}},dataSource={type:"array",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"ArrayTable","x-component-props":{pagination:{pageSize:1e3}},items:{type:"object",properties:{column1:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:50,title:"",align:"center"},properties:{sort:{type:"void","x-component":"ArrayTable.SortHandle"}}},column2:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option value")}}'},properties:{value:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input","x-reactions":e=>{!e.initialValue&&!e.initialized&&(e.initialValue=(0,import_shared.uid)(),e.setValue((0,import_shared.uid)()))}}}},column3:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option label")}}'},properties:{label:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input"}}},column4:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Color")}}'},properties:{color:{type:"string","x-decorator":"FormItem","x-component":"ColorSelect"}}},column5:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:"",dataIndex:"operations",fixed:"right"},properties:{item:{type:"void","x-component":"FormItem",properties:{remove:{type:"void","x-component":"ArrayTable.Remove"}}}}}}},properties:{add:{type:"void","x-component":"ArrayTable.Addition","x-component-props":{randomValue:!0},title:"{{t('Add option')}}"}}},defaultProps={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input","x-validator":"uid",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"}},recordPickerViewer={type:"void",title:'{{ t("View record") }}',"x-component":"RecordPicker.Viewer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},collectionDataSource={type:"string",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},enum:"{{collections}}"},index=Object.freeze(Object.defineProperty({__proto__:null,autoFill,autoIncrement,collectionDataSource,constraintsProps,dataSource,dateTimeProps,defaultProps,operators:operators$1,primaryKey,recordPickerViewer,relationshipType,reverseFieldProperties,timeProps,type,unique},Symbol.toStringTag,{value:"Module"}));class CollectionFieldInterface{constructor(t){A(this,"name"),A(this,"group"),A(this,"title"),A(this,"description"),A(this,"order"),A(this,"default"),A(this,"sortable"),A(this,"availableTypes"),A(this,"supportDataSourceType"),A(this,"notSupportDataSourceType"),A(this,"hasDefaultValue"),A(this,"componentOptions"),A(this,"isAssociation"),A(this,"operators"),A(this,"properties"),A(this,"filterable"),A(this,"titleUsable"),A(this,"hidden"),this.collectionFieldInterfaceManager=t}addComponentOption(t){var o,r,i,n,a,l;if(!this.componentOptions){this.componentOptions=[];const c=(r=(o=this.default)==null?void 0:o.uiSchema)==null?void 0:r["x-component"],u=(n=(i=this.default)==null?void 0:i.uiSchema)==null?void 0:n["x-component-props"];if(c){const m=((l=(a=this.default)==null?void 0:a.uiSchema)==null?void 0:l.type)||"string",d=(0,import_client.tval)(c.startsWith("Input")?(0,import_lodash.capitalize)(m):c.split(".").pop());this.componentOptions=[{label:d,value:c,useProps(){return u||{}}}]}}this.componentOptions.push(t)}getConfigureFormProperties(){const t=this.hasDefaultValue?this.getDefaultValueProperty():{};return x(x({},(0,import_lodash.cloneDeep)(x(x({},defaultProps),this==null?void 0:this.properties))),t)}getDefaultValueProperty(){var t,o;return{defaultValue:P(x(x({},(0,import_lodash.cloneDeep)((t=this==null?void 0:this.default)==null?void 0:t.uiSchema)),(o=this==null?void 0:this.properties)==null?void 0:o.uiSchema),{required:!1,title:'{{ t("Default value") }}',"x-decorator":"FormItem","x-reactions":[{dependencies:["uiSchema.x-component-props.gmt","uiSchema.x-component-props.showTime","uiSchema.x-component-props.dateFormat","uiSchema.x-component-props.timeFormat","uiSchema.x-component-props.picker","uiSchema.x-component-props.format"],fulfill:{state:{componentProps:{gmt:"{{$deps[0]}}",showTime:"{{$deps[1]}}",dateFormat:"{{$deps[2]}}",timeFormat:"{{$deps[3]}}",picker:"{{$deps[4]}}",format:"{{$deps[5]}}"}}}},{dependencies:["uiSchema.x-component-props.picker"],fulfill:{state:{value:null}}},{dependencies:["primaryKey","unique","autoIncrement","defaultToCurrentTime"],when:"{{$deps[0]||$deps[1]||$deps[2]||$deps[3]}}",fulfill:{state:{hidden:!0,value:null}},otherwise:{state:{hidden:!1}}},{dependencies:["uiSchema.enum"],fulfill:{state:{dataSource:"{{$deps[0]}}"}}}]})}}addOperator(t){(0,import_lodash.set)(this,"filterable.operators",[...this.filterable.operators||[]]),!this.filterable.operators.find(o=>o.value===t.value)&&this.filterable.operators.push(t)}}class CollectionFieldInterfaceManager{constructor(t,o,r){A(this,"collectionFieldInterfaceInstances",{}),A(this,"collectionFieldGroups",{}),A(this,"actionList",{}),this.dataSourceManager=r,this.addFieldInterfaces(t),this.addFieldInterfaceGroups(o)}addFieldInterfaces(t=[]){const o=t.reduce((r,i)=>{const n=new i(this);return r[n.name]=n,Array.isArray(this.actionList[n.name])&&(this.actionList[n.name].forEach(a=>{n[a.type](a.data)}),this.actionList[n.name]=void 0),r},{});Object.assign(this.collectionFieldInterfaceInstances,o)}addFieldInterfaceComponentOption(t,o){const r=this.getFieldInterface(t);if(!r){this.actionList[t]||(this.actionList[t]=[]),this.actionList[t].push({type:"addComponentOption",data:o});return}r.addComponentOption(o)}addFieldInterfaceOperator(t,o){const r=this.getFieldInterface(t);r==null||r.addOperator(o)}getFieldInterface(t){return this.collectionFieldInterfaceInstances[t]}getFieldInterfaces(t){return Object.values(this.collectionFieldInterfaceInstances).filter(o=>{var r,i;if(!t||!o.supportDataSourceType&&!o.notSupportDataSourceType)return!0;if(o.supportDataSourceType)return(r=o.supportDataSourceType)==null?void 0:r.includes(t);if(o.notSupportDataSourceType)return!((i=o.notSupportDataSourceType)!=null&&i.includes(t))})}addFieldInterfaceGroups(t){Object.assign(this.collectionFieldGroups,t)}getFieldInterfaceGroups(){return this.collectionFieldGroups}getFieldInterfaceGroup(t){return this.collectionFieldGroups[t]}}const DEFAULT_DATA_SOURCE_KEY="main",DEFAULT_DATA_SOURCE_TITLE='{{t("Main")}}';class DataSourceManager{constructor(t={},o){A(this,"dataSourceInstancesMap",{}),A(this,"multiDataSources",[]),A(this,"collectionMixins",[]),A(this,"collectionTemplateManager"),A(this,"collectionFieldInterfaceManager"),this.options=t,this.app=o,this.collectionTemplateManager=new CollectionTemplateManager(t.collectionTemplates,this),this.collectionFieldInterfaceManager=new CollectionFieldInterfaceManager(t.fieldInterfaces,t.fieldInterfaceGroups,this),this.collectionMixins.push(...t.collectionMixins||[]),this.addDataSource(LocalDataSource,{key:DEFAULT_DATA_SOURCE_KEY,displayName:DEFAULT_DATA_SOURCE_TITLE,collections:t.collections||[]}),(t.dataSources||[]).forEach(r=>{this.addDataSource(LocalDataSource,r)})}addCollectionMixins(t=[]){const o=t.filter(r=>!this.collectionMixins.includes(r));o.length&&(this.collectionMixins.push(...o),this.getDataSources().forEach(r=>r.collectionManager.reAddCollections()))}getDataSources(t){const o=Object.values(this.dataSourceInstancesMap);return t?import_lodash.default.filter(o,t):o}getDataSource(t){return t?this.dataSourceInstancesMap[t]:this.dataSourceInstancesMap[DEFAULT_DATA_SOURCE_KEY]}removeDataSources(t){t.forEach(o=>{delete this.dataSourceInstancesMap[o]})}addDataSource(t,o){const r=new t(o,this);return this.dataSourceInstancesMap[r.key]=r,r}addDataSources(t,o){return z(this,null,function*(){this.multiDataSources.some(([r,i])=>r===t&&i===o)||this.multiDataSources.push([t,o])})}getAllCollections(t={}){const{filterCollection:o,filterDataSource:r}=t;return this.getDataSources(r).reduce((i,n)=>(i.push(P(x({},n.getOptions()),{collections:n.collectionManager.getCollections(o)})),i),[])}addFieldInterfaceGroups(t){this.collectionFieldInterfaceManager.addFieldInterfaceGroups(t)}addCollectionTemplates(t=[]){this.collectionTemplateManager.addCollectionTemplates(t)}addFieldInterfaces(t=[]){this.collectionFieldInterfaceManager.addFieldInterfaces(t)}reload(){return z(this,null,function*(){return yield Promise.all(this.multiDataSources.map(t=>z(this,[t],function*([o,r]){(yield o()).map(i=>this.addDataSource(r,i))}))),Promise.all(this.getDataSources().map(t=>t.reload()))})}}const HEADERS_DATA_SOURCE_KEY="x-data-source",isTitleField=(e,t)=>{var o;return(o=e.collectionFieldInterfaceManager.getFieldInterface(t.interface))==null?void 0:o.titleUsable},useDataSourceHeaders=e=>(0,import_react2.useMemo)(()=>{if(e&&e!==DEFAULT_DATA_SOURCE_KEY)return{[HEADERS_DATA_SOURCE_KEY]:e}},[e]),getDataSourceHeaders=e=>e&&e!==DEFAULT_DATA_SOURCE_KEY?{[HEADERS_DATA_SOURCE_KEY]:e}:{},TreeNode=e=>{const{tag:t,type:o,displayType:r=!0}=e,i={reference:"Reference",duplicate:"Duplicate",preloading:"Preloading"};return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsxs)(import_antd.Tag,{color:{reference:"blue",duplicate:"green",preloading:"cyan"}[o],children:[(0,import_jsx_runtime.jsx)("span",{children:t})," ",r?`(${i[o]})`:""]})})},systemKeys=["sort","createdById","createdBy","createdAt","updatedById","updatedBy","updatedAt","password","sequence"],useCollectionState=(e,t=!0,o)=>{const{getCollectionFields:r,getAllCollectionsInheritChain:i,getCollection:n,getInterface:a}=useCollectionManager_deprecated(),[l]=(0,import_react2.useState)(m),c=useCompile(),u=(0,import_react.useField)();function m(){return(i(e)||[]).map(v=>{var C;return{label:(C=n(v))==null?void 0:C.title,value:v}})}const d=(v,{exclude:C=[],depth:S=0,maxDepth:b,prefix:y=""})=>S>b?[]:r(v).map(F=>{var j;if(C.includes(F.name)||!F.interface||S===0&&["sort","password","sequence"].includes(F.type)||o&&o(F))return;const k={type:"duplicate",tag:c((j=F.uiSchema)==null?void 0:j.title)||F.name},T=P(x({},k),{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},k),{displayType:t})),key:y?`${y}.${F.name}`:F.name,isLeaf:!0,field:F});return["belongsTo","belongsToMany"].includes(F.type)?(k.type="reference",T.type="reference",T.title=import_react2.default.createElement(TreeNode,P(x({},k),{type:"reference",displayType:t})),T.isLeaf=!1,T.children=p(F.target,{depth:S+1,maxDepth:b,prefix:T.key,exclude:systemKeys})):["hasOne","hasMany"].includes(F.type)&&(T.isLeaf=!1,T.children=d(F.target,{depth:S+1,maxDepth:b,prefix:T.key,exclude:["id",...systemKeys.filter(M=>M!=="sort")]})),T}).filter(Boolean),p=(v,{prefix:C,maxDepth:S,depth:b=0,exclude:y=[]})=>b>S?[]:r(v).map(F=>{var j;if(!F.target||!F.interface||y.includes(F.name))return;const k={type:"preloading",tag:c((j=F.uiSchema)==null?void 0:j.title)||F.name},T=C?`${C}.${F.name}`:F.name;return{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},k),{displayType:t})),key:T,isLeaf:!1,field:F,children:p(F.target,{prefix:T,depth:b+1,maxDepth:S,exclude:y})}}).filter(Boolean),h=v=>v.map(C=>P(x({},C),{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},C),{type:C.type,displayType:t})),children:C.children?h(C.children):null})),g=(0,import_react2.useCallback)((v,C,S)=>{var b,y;const F=C.index,j=(y=(b=u.initialValue)==null?void 0:b.items)==null?void 0:y[F];if(!v)return[];if(j!=null&&j.treeData||S)return h(S||j.treeData);try{return d(v,{exclude:["id",...systemKeys],maxDepth:1})}catch(k){return console.error(k),[]}},[]),_=(0,import_react2.useCallback)(v=>C=>new Promise(S=>{if(C.children.length)return C.children.forEach(b=>{loadChildren$1({node:b,traverseAssociations:p,traverseFields:d,systemKeys,fields:v})}),S(void 0);loadChildren$1({node:C,traverseAssociations:p,traverseFields:d,systemKeys,fields:v}),S(void 0)}),[]),f=(0,import_react2.useCallback)(v=>C=>{v.value=C},[]);return{collectionList:l,getEnableFieldTree:g,getOnLoadData:_,getOnCheck:f,getScopeDataSource:v=>{const C=r(v),S=(y,F)=>{var j,k;if(!y.interface)return;const T=a(y.interface);if(!(T!=null&&T.filterable))return;const{nested:M,children:w,operators:L}=T.filterable,D={name:y.name,title:((j=y==null?void 0:y.uiSchema)==null?void 0:j.title)||y.name,schema:y==null?void 0:y.uiSchema,operators:((k=L==null?void 0:L.filter)==null?void 0:k.call(L,R=>!(R!=null&&R.visible)||R.visible(y)))||[],interface:y.interface};if(!(y.target&&F>2)){if(F>2)return D;if(w!=null&&w.length&&(D.children=w),M){const R=r(y.target),N=b(R,F+1).filter(Boolean);D.children=D.children||[],D.children.push(...N)}return D}},b=(y,F)=>{const j=[];return y.forEach(k=>{const T=S(k,F);T&&j.push(T)}),j};return b(C,1)},useTitleFieldDataSource:v=>{const C=v.path.entire.replace("titleField","collection"),S=v.query(C).get("value"),b=r(S).filter(y=>{var F;return(F=a(y.interface))==null?void 0:F.titleUsable}).map(y=>{var F;return{value:y==null?void 0:y.name,label:c((F=y==null?void 0:y.uiSchema)==null?void 0:F.title)||(y==null?void 0:y.name)}});v.dataSource=b}}};function findNode(e,t){const o=[...e];for(;o.length;){const r=o.shift();if(r.key===t.key)return r;r.children&&o.push(...r.children)}}function loadChildren$1({node:e,traverseAssociations:t,traverseFields:o,systemKeys:r,fields:i}){const n=findNode(i.dataSource||i.componentProps.treeData,e);let a=[];return["belongsTo","belongsToMany"].includes(e.field.type)&&(e==null?void 0:e.type)==="reference"?a=t(e.field.target,{exclude:r,prefix:e.key,maxDepth:1}):(["hasOne","hasMany"].includes(e.field.type)||(e==null?void 0:e.type)==="duplicate")&&(a=o(e.field.target,{exclude:["id",...r.filter(l=>l!=="sort")],prefix:e.key,maxDepth:1})),a.length?n.children=a:n.isLeaf=!0,a}const NavigateNoUpdateContext=import_react2.default.createContext(null);NavigateNoUpdateContext.displayName="NavigateNoUpdateContext";const LocationNoUpdateContext=import_react2.default.createContext(null);LocationNoUpdateContext.displayName="LocationNoUpdateContext";const LocationSearchContext=import_react2.default.createContext("");LocationSearchContext.displayName="LocationSearchContext";const IsAdminPageContext=import_react2.default.createContext(!1);IsAdminPageContext.displayName="IsAdminPageContext";const CurrentPageUidContext=import_react2.default.createContext("");CurrentPageUidContext.displayName="CurrentPageUidContext";const IsInSettingsPageContext=import_react2.default.createContext(!1);IsInSettingsPageContext.displayName="IsInSettingsPageContext";const CurrentTabUidContext=import_react2.default.createContext("");CurrentTabUidContext.displayName="CurrentTabUidContext";const SearchParamsContext=import_react2.default.createContext(new URLSearchParams);SearchParamsContext.displayName="SearchParamsContext";const RouterBasenameContext=import_react2.default.createContext("");RouterBasenameContext.displayName="RouterBasenameContext";const IsSubPageClosedByPageMenuContext=import_react2.default.createContext({isSubPageClosedByPageMenu:()=>!1,setFieldSchema:()=>{},reset:()=>{}});IsSubPageClosedByPageMenuContext.displayName="IsSubPageClosedByPageMenuContext";const IsSubPageClosedByPageMenuProvider=({children:e})=>{const t=(0,import_react_router_dom.useParams)(),o=(0,import_react2.useRef)({}),[r,i]=(0,import_react2.useState)(null),n=(0,import_react2.useCallback)(()=>{var c,u;const m=import_lodash.default.isEmpty(t["*"])&&((c=r==null?void 0:r["x-component-props"])==null?void 0:c.openMode)==="page"&&!!((u=o.current["*"])!=null&&u.includes(r["x-uid"]));return o.current=t,m},[r,t]),a=(0,import_react2.useCallback)(()=>{o.current={}},[]),l=(0,import_react2.useMemo)(()=>({isSubPageClosedByPageMenu:n,setFieldSchema:i,reset:a}),[n,a]);return(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuContext.Provider,{value:l,children:e})},RouterBasenameProvider=({children:e})=>{const t=(0,import_react_router_dom.useHref)("/");return(0,import_jsx_runtime.jsx)(RouterBasenameContext.Provider,{value:t,children:e})},SearchParamsProvider=({children:e})=>{const[t]=(0,import_react_router_dom.useSearchParams)();return(0,import_jsx_runtime.jsx)(SearchParamsContext.Provider,{value:t,children:e})},IsInSettingsPageProvider=({children:e})=>{const t=(0,import_react_router_dom.useLocation)().pathname.includes("/settings");return(0,import_jsx_runtime.jsx)(IsInSettingsPageContext.Provider,{value:t,children:e})},IsAdminPageProvider=({children:e})=>{const t=(0,import_react_router_dom.useLocation)().pathname.startsWith("/admin");return(0,import_jsx_runtime.jsx)(IsAdminPageContext.Provider,{value:t,children:e})},CurrentPageUidProvider=({children:e})=>{const t=(0,import_react_router_dom.useParams)();return(0,import_jsx_runtime.jsx)(CurrentPageUidContext.Provider,{value:t.name,children:e})},CurrentTabUidProvider=({children:e})=>{const t=(0,import_react_router_dom.useParams)();return(0,import_jsx_runtime.jsx)(CurrentTabUidContext.Provider,{value:t.tabUid,children:e})},NavigateNoUpdateProvider=({children:e})=>{const t=(0,import_react_router_dom.useNavigate)(),o=import_react2.default.useRef(t);o.current=t;const r=import_react2.default.useCallback((i,n)=>{o.current(i,n)},[]);return(0,import_jsx_runtime.jsx)(NavigateNoUpdateContext.Provider,{value:r,children:e})},LocationNoUpdateProvider=({children:e})=>{const t=(0,import_react_router_dom.useLocation)(),o=import_react2.default.useRef({});return(0,import_react2.useEffect)(()=>{Object.assign(o.current,t)},[t]),(0,import_jsx_runtime.jsx)(LocationNoUpdateContext.Provider,{value:o.current,children:e})},LocationSearchProvider=({children:e})=>{const t=(0,import_react_router_dom.useLocation)();return(0,import_jsx_runtime.jsx)(LocationSearchContext.Provider,{value:t.search,children:e})},useNavigateNoUpdate=()=>import_react2.default.useContext(NavigateNoUpdateContext),useLocationNoUpdate=()=>import_react2.default.useContext(LocationNoUpdateContext),useLocationSearch=()=>import_react2.default.useContext(LocationSearchContext),useIsAdminPage=()=>import_react2.default.useContext(IsAdminPageContext),useCurrentPageUid=()=>import_react2.default.useContext(CurrentPageUidContext),useIsInSettingsPage=()=>import_react2.default.useContext(IsInSettingsPageContext),useCurrentTabUid=()=>import_react2.default.useContext(CurrentTabUidContext),useCurrentSearchParams=()=>import_react2.default.useContext(SearchParamsContext),useRouterBasename=()=>import_react2.default.useContext(RouterBasenameContext),useIsSubPageClosedByPageMenu=e=>{const{isSubPageClosedByPageMenu:t,setFieldSchema:o,reset:r}=import_react2.default.useContext(IsSubPageClosedByPageMenuContext);return(0,import_react2.useEffect)(()=>{o(e)},[e,o]),{isSubPageClosedByPageMenu:t,reset:r}},CustomRouterContextProvider=({children:e})=>(0,import_jsx_runtime.jsx)(NavigateNoUpdateProvider,{children:(0,import_jsx_runtime.jsx)(LocationNoUpdateProvider,{children:(0,import_jsx_runtime.jsx)(IsAdminPageProvider,{children:(0,import_jsx_runtime.jsx)(LocationSearchProvider,{children:(0,import_jsx_runtime.jsx)(SearchParamsProvider,{children:(0,import_jsx_runtime.jsx)(RouterBasenameProvider,{children:(0,import_jsx_runtime.jsx)(IsInSettingsPageProvider,{children:e})})})})})})}),useDefaultDynamicComponentProps=()=>{},getHook=(e,t,o)=>{let r;return import_lodash.default.isFunction(e)?r=e:(r=t[e],r||console.error(`${o} is not registered`)),r||useDefaultDynamicComponentProps},getUseDynamicProps=(e,t)=>{if(!e)return useDefaultDynamicComponentProps;if(import_lodash.default.isFunction(e))return e;const o=e.split(".");let r;for(const i of o)r=getHook(i,r||t,e);return r};function useDynamicComponentProps(e,t){const o=(0,import_react.useExpressionScope)();return getUseDynamicProps(e,o)(t)}function withDynamicSchemaProps(e,t={}){const o=t.displayName||e.displayName||e.name,r=i=>{const{dn:n,findComponent:a}=useDesignable(),l=(0,import_react2.useMemo)(()=>{const m=n.getSchemaAttribute("x-component"),d=n.getSchemaAttribute("x-decorator"),p=n.getSchemaAttribute("x-use-component-props"),h=n.getSchemaAttribute("x-use-decorator-props");if(m&&p&&a(m)===r)return p;if(d&&h&&a(d)===r)return h},[n]),c=useDynamicComponentProps(l,i),u=(0,import_react2.useMemo)(()=>x(x({},i),c),[c,i]);return(0,import_jsx_runtime.jsx)(import_react2.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(e,P(x({},u),{children:i.children}))})};return e.displayName=o,r.displayName=`withSchemaProps(${o})`,r}const TreeRecordContext=(0,import_react2.createContext)(null),TreeRecordProvider=({children:e,parent:t})=>(0,import_jsx_runtime.jsx)(TreeRecordContext.Provider,{value:{parent:t},children:e}),useTreeParentRecord=()=>{const e=import_react2.default.useContext(TreeRecordContext);return e==null?void 0:e.parent},TemplateBlockContext=(0,import_react2.createContext)({});TemplateBlockContext.displayName="TemplateBlockContext";const useTemplateBlockContext=()=>(0,import_react2.useContext)(TemplateBlockContext),_isBlockTemplate=(e,t=1)=>{if(!e||t>=3)return!1;const o=Object.keys(e.properties||{});for(const r of o){const i=e.properties[r];if(i["x-component"]==="BlockTemplate"||_isBlockTemplate(i,t+1))return!0}return!1},TemplateBlockProvider=({onTemplateLoaded:e,children:t})=>{const o=(0,import_react.useFieldSchema)(),[r,i]=(0,import_react2.useState)(!1),n=(0,import_react2.useCallback)(()=>{i(!0),setTimeout(()=>{e==null||e()})},[e]),a=(0,import_react2.useCallback)(()=>_isBlockTemplate(o)||o["x-component"]==="BlockTemplate",[o]),l=(0,import_react2.useMemo)(()=>({templateFinished:r,onTemplateSuccess:n,isBlockTemplate:a}),[n,r,a]);return(0,import_jsx_runtime.jsx)(TemplateBlockContext.Provider,{value:l,children:t})},FormActiveFieldsContext=(0,import_react2.createContext)(null),FormActiveFieldsProvider=({children:e,name:t,getActiveFieldsName:o,addActiveFieldName:r,removeActiveFieldName:i})=>{const n=(0,import_react2.useRef)(new Set),a=(0,import_react2.useContext)(FormActiveFieldsContext),l=(0,import_react2.useMemo)(()=>({getActiveFieldsName:o||(c=>!c||c===t?Array.from(n.current):a==null?void 0:a.getActiveFieldsName(c)),addActiveFieldName:r||(c=>{n.current.add(c)}),removeActiveFieldName:i||(c=>{n.current.delete(c)}),name:t,parent:a}),[r,o,t,i,a]);return(0,import_jsx_runtime.jsx)(FormActiveFieldsContext.Provider,{value:l,children:e})},useFormActiveFields=()=>(0,import_react2.useContext)(FormActiveFieldsContext),FormBlockContext$1=(0,import_react2.createContext)({});FormBlockContext$1.displayName="FormBlockContext";const InternalFormBlockProvider=e=>{var t;const o=useCollectionManager(),r=useFormBlockContext(),{action:i,readPretty:n,params:a,collection:l,association:c}=e,u=(0,import_react.useField)(),m=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({validateFirst:!0,readPretty:n}),[n]),{resource:d,service:p,updateAssociationValues:h}=useBlockRequestContext(),g=(0,import_react2.useRef)(),_=useCollectionRecord(),f=(0,import_react2.useMemo)(()=>{var v;return P(x({},r),{params:a,action:i,form:m,type:i==="get"?"update":"create",field:u,service:p,resource:d,updateAssociationValues:h,formBlockRef:g,collectionName:l||((v=o.getCollectionField(c))==null?void 0:v.target),formRecord:_})},[i,c,o,l,r,u,m,a,_,d,p,h]);return(0,import_jsx_runtime.jsx)(FormBlockContext$1.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:_==null?void 0:_.isNew,parent:(t=_==null?void 0:_.parentRecord)==null?void 0:t.data,record:_==null?void 0:_.data,children:(0,import_jsx_runtime.jsx)("div",{ref:g,children:e.children})})})},useFormBlockType=()=>{const e=useFormBlockContext()||{};return(0,import_react2.useMemo)(()=>({type:e.type}),[e.type])},useIsDetailBlock=()=>{const e=useFormBlockContext(),{fieldSchema:t}=useActionContext();return e.type!=="create"&&(t==null?void 0:t["x-acl-action"])!=="create"&&(t==null?void 0:t["x-action"])!=="create"},FormBlockProvider=withDynamicSchemaProps(e=>{const t=useCollectionParentRecordData(),{parentRecord:o,action:r}=e,i=useCollectionRecordData(),{association:n}=e,a=useCollectionManager(),{__collection:l}=i||{},{designable:c}=useDesignable(),u=e.collection||a.getCollection(n).name,m=(0,import_ahooks.useUpdate)();return!c&&l&&r&&l!==u?null:(0,import_jsx_runtime.jsx)(TemplateBlockProvider,{onTemplateLoaded:m,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:e.name||"form"},e),{block:"form",parentRecord:o||t,children:(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"form",children:(0,import_jsx_runtime.jsx)(InternalFormBlockProvider,x({},e))})}))})}),useFormBlockContext=()=>(0,import_react2.useContext)(FormBlockContext$1),useFormBlockProps$1=()=>{var e,t,o;const r=useFormBlockContext(),i=useTreeParentRecord();return(0,import_react2.useEffect)(()=>{var n;i&&((n=r.form)==null||n.query("parent").take(a=>{a.disabled=!0,a.value=i}))}),(0,import_react2.useEffect)(()=>{var n,a,l;const c=r.form;!c||(n=r.service)!=null&&n.loading||c.setInitialValues((l=(a=r.service)==null?void 0:a.data)==null?void 0:l.data)},[r.form,(t=(e=r.service)==null?void 0:e.data)==null?void 0:t.data,(o=r.service)==null?void 0:o.loading]),{form:r.form}},findFormBlock=e=>{for(;e;){if(e["x-decorator"]==="FormBlockProvider")return e;if(e["x-component"]==="AssociationField.Selector")return null;e=e.parent}return null},REGEX_OF_VARIABLE=/^\s*\{\{\s*([\p{L}0-9_$-.]+?)\s*\}\}\s*$/u,REGEX_OF_VARIABLE_IN_EXPRESSION=/\{\{\s*([a-zA-Z0-9_$-.]+?)\s*\}\}/g,isVariable$1=e=>!(typeof e!="string"||!e.match(REGEX_OF_VARIABLE)),getVariablesFromExpression=e=>e.match(REGEX_OF_VARIABLE_IN_EXPRESSION)||[],transformVariableValue=(e,t)=>{const{targetCollectionField:o}=t;return e==null||!o?e:o.interface==="chinaRegion"&&Array.isArray(e)?e.map(r=>(import_lodash.default.isObject(r),r=x({},r),Object.keys(r).forEach(i=>{import_lodash.default.isObjectLike(r[i])&&delete r[i]}),r)):["hasMany","belongsToMany"].includes(o.type)?Array.isArray(e)?e:[e]:(o.interface,e)},toStringByPicker=(e,t="date",o)=>{if(!import_dayjs.default.isDayjs(e))return e;if(o==="local"){const r=new Date().getTimezoneOffset();return(0,import_dayjs.default)(toStringByPicker(e,t,"gmt")).add(r,"minutes").toISOString()}return t==="year"?e.format("YYYY")+"-01-01T00:00:00.000Z":t==="month"?e.format("YYYY-MM")+"-01T00:00:00.000Z":t==="quarter"?e.startOf("quarter").format("YYYY-MM")+"-01T00:00:00.000Z":t==="week"?e.startOf("week").add(1,"day").format("YYYY-MM-DD")+"T00:00:00.000Z":e.format("YYYY-MM-DDTHH:mm:ss.SSS")+"Z"},toGmtByPicker=(e,t)=>!e||!import_dayjs.default.isDayjs(e)?e:toStringByPicker(e,t,"gmt"),toLocalByPicker=(e,t)=>!e||!import_dayjs.default.isDayjs(e)?e:toStringByPicker(e,t,"local"),moment2str=(e,t={})=>{const{showTime:o,gmt:r,picker:i="date",utc:n=!0}=t;if(!e)return e;if(!n){const a=o?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD";return e.format(a)}return o?r?(0,import_client.toGmt)(e):(0,import_client.toLocal)(e):typeof r=="boolean"&&r?toGmtByPicker(e,i):toLocalByPicker(e,i)},handleChangeOnFilter=(e,t,o)=>{const r=o&&t==="date"?"YYYY-MM-DD HH:mm:ss":(0,import_client.getPickerFormat)(t);return e&&(0,import_dayjs.default)(e).format(r)},handleDateChangeOnForm=(e,t,o,r,i,n)=>{const a=import_dayjs.default.tz.guess(),l=i?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD";if(!e)return e;if(t)return(0,import_builtins.formatDayjsValue)(e,"YYYY-MM-DD");if(o){if(n)return(0,import_client.toGmt)(e);if(r!=="date")return(0,import_dayjs.default)(e).startOf(r).toISOString();const c=(0,import_dayjs.default)(e).format(l);return(0,import_dayjs.default)(c).tz(a,!0).toISOString()}return i?(0,import_dayjs.default)(e).format(l):(0,import_dayjs.default)(e).startOf(r).format(l)},mapDatePicker=function(){const e=isMobile();return t=>{const{dateOnly:o,showTime:r,picker:i="date",utc:n,gmt:a,underFilter:l}=t,c=(0,import_client.getDefaultFormat)(t),u=t.onChange;return P(x({},t),{inputReadOnly:e,format:c,value:(0,import_client.str2moment)(t.value,t),onChange:(m,d)=>{u&&u(l?handleChangeOnFilter(m,i,r):handleDateChangeOnForm(m,o,n,i,r,a))}})}};function isMobile(){return window.matchMedia("(max-width: 768px)").matches}const mapRangePicker=function(){const e=isMobile();return t=>{const o=(0,import_client.getDefaultFormat)(t),r=t.onChange,{dateOnly:i,showTime:n,picker:a="date",utc:l,gmt:c,underFilter:u}=t;return P(x({},t),{format:o,value:(0,import_client.str2moment)(t.value,t),inputReadOnly:e,onChange:m=>{r&&r(u?m?[handleChangeOnFilter(m[0],a,n),handleChangeOnFilter(m[1],a,n)]:[]:m?[moment2str(getRangeStart(m[0],t),t),moment2str(getRangeEnd(m[1],t),t)]:[])}})}};function getRangeStart(e,t){const{showTime:o}=t;return o?e:e.startOf("day")}function getRangeEnd(e,t){const{showTime:o}=t;return o?e:e.endOf("day")}const getStart=(e,t)=>(0,import_dayjs.default)().add(e,t==="isoWeek"?"week":t).startOf(t),getEnd=(e,t)=>(0,import_dayjs.default)().add(e,t==="isoWeek"?"week":t).endOf(t),getDateRanges=e=>{if(e!=null&&e.shouldBeString){const t=o=>Array.isArray(o)?o.map(r=>moment2str(r,{utc:e==null?void 0:e.utc})):moment2str(o,{utc:e==null?void 0:e.utc});return{now:()=>t((0,import_dayjs.default)()),today:o=>withParams(t([getStart(0,"day"),getEnd(0,"day")]),o),yesterday:o=>withParams(t([getStart(-1,"day"),getEnd(-1,"day")]),o),dayBeforeYesterday:o=>withParams(t([getStart(-2,"day"),getEnd(-2,"day")]),o),tomorrow:o=>withParams(t([getStart(1,"day"),getEnd(1,"day")]),o),thisWeek:o=>withParams(t([getStart(0,"isoWeek"),getEnd(0,"isoWeek")]),o),lastWeek:o=>withParams(t([getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")]),o),nextWeek:o=>withParams(t([getStart(1,"isoWeek"),getEnd(1,"isoWeek")]),o),thisIsoWeek:o=>withParams(t([getStart(0,"isoWeek"),getEnd(0,"isoWeek")]),o),lastIsoWeek:o=>withParams(t([getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")]),o),nextIsoWeek:o=>withParams(t([getStart(1,"isoWeek"),getEnd(1,"isoWeek")]),o),thisMonth:o=>withParams(t([getStart(0,"month"),getEnd(0,"month")]),o),lastMonth:o=>withParams(t([getStart(-1,"month"),getEnd(-1,"month")]),o),nextMonth:o=>withParams(t([getStart(1,"month"),getEnd(1,"month")]),o),thisQuarter:o=>withParams(t([getStart(0,"quarter"),getEnd(0,"quarter")]),o),lastQuarter:o=>withParams(t([getStart(-1,"quarter"),getEnd(-1,"quarter")]),o),nextQuarter:o=>withParams(t([getStart(1,"quarter"),getEnd(1,"quarter")]),o),thisYear:o=>withParams(t([getStart(0,"year"),getEnd(0,"year")]),o),lastYear:o=>withParams(t([getStart(-1,"year"),getEnd(-1,"year")]),o),nextYear:o=>withParams(t([getStart(1,"year"),getEnd(1,"year")]),o),last7Days:o=>withParams(t([getStart(-6,"days"),getEnd(0,"days")]),o),next7Days:o=>withParams(t([getStart(1,"day"),getEnd(7,"days")]),o),last30Days:o=>withParams(t([getStart(-29,"days"),getEnd(0,"days")]),o),next30Days:o=>withParams(t([getStart(1,"day"),getEnd(30,"days")]),o),last90Days:o=>withParams(t([getStart(-89,"days"),getEnd(0,"days")]),o),next90Days:o=>withParams(t([getStart(1,"day"),getEnd(90,"days")]),o)}}return{now:()=>(0,import_dayjs.default)().toISOString(),today:t=>withParams([getStart(0,"day"),getEnd(0,"day")],t),yesterday:t=>withParams([getStart(-1,"day"),getEnd(-1,"day")],t),dayBeforeYesterday:t=>withParams([getStart(-2,"day"),getEnd(-2,"day")],t),tomorrow:t=>withParams([getStart(1,"day"),getEnd(1,"day")],t),thisWeek:t=>withParams([getStart(0,"isoWeek"),getEnd(0,"isoWeek")],t),lastWeek:t=>withParams([getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],t),nextWeek:t=>withParams([getStart(1,"isoWeek"),getEnd(1,"isoWeek")],t),thisIsoWeek:t=>withParams([getStart(0,"isoWeek"),getEnd(0,"isoWeek")],t),lastIsoWeek:t=>withParams([getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],t),nextIsoWeek:t=>withParams([getStart(1,"isoWeek"),getEnd(1,"isoWeek")],t),thisMonth:t=>withParams([getStart(0,"month"),getEnd(0,"month")],t),lastMonth:t=>withParams([getStart(-1,"month"),getEnd(-1,"month")],t),nextMonth:t=>withParams([getStart(1,"month"),getEnd(1,"month")],t),thisQuarter:t=>withParams([getStart(0,"quarter"),getEnd(0,"quarter")],t),lastQuarter:t=>withParams([getStart(-1,"quarter"),getEnd(-1,"quarter")],t),nextQuarter:t=>withParams([getStart(1,"quarter"),getEnd(1,"quarter")],t),thisYear:t=>withParams([getStart(0,"year"),getEnd(0,"year")],t),lastYear:t=>withParams([getStart(-1,"year"),getEnd(-1,"year")],t),nextYear:t=>withParams([getStart(1,"year"),getEnd(1,"year")],t),last7Days:t=>withParams([getStart(-6,"days"),getEnd(0,"days")],t),next7Days:t=>withParams([getStart(1,"day"),getEnd(7,"days")],t),last30Days:t=>withParams([getStart(-29,"days"),getEnd(0,"days")],t),next30Days:t=>withParams([getStart(1,"day"),getEnd(30,"days")],t),last90Days:t=>withParams([getStart(-89,"days"),getEnd(0,"days")],t),next90Days:t=>withParams([getStart(1,"day"),getEnd(90,"days")],t)}},getDateExact=()=>({nowUtc:()=>(0,import_dayjs.default)().toISOString(),nowLocal:()=>(0,import_dayjs.default)().format("YYYY-MM-DD HH:mm:ss"),todayUtc:()=>(0,import_dayjs.default)().startOf("day").utc().toISOString(),todayLocal:()=>(0,import_dayjs.default)().startOf("day").format("YYYY-MM-DD HH:mm:ss"),todayDate:()=>(0,import_dayjs.default)().format("YYYY-MM-DD"),yesterdayUtc:()=>(0,import_dayjs.default)().subtract(1,"day").startOf("day").utc().toISOString(),yesterdayLocal:()=>(0,import_dayjs.default)().subtract(1,"day").startOf("day").format("YYYY-MM-DD HH:mm:ss"),yesterdayDate:()=>(0,import_dayjs.default)().subtract(1,"day").format("YYYY-MM-DD"),tomorrowUtc:()=>(0,import_dayjs.default)().add(1,"day").startOf("day").utc().toISOString(),tomorrowLocal:()=>(0,import_dayjs.default)().add(1,"day").startOf("day").format("YYYY-MM-DD HH:mm:ss"),tomorrowDate:()=>(0,import_dayjs.default)().add(1,"day").format("YYYY-MM-DD")});function withParams(e,t){return t!=null&&t.isParsingVariable&&t!=null&&t.fieldOperator&&t.fieldOperator!=="$dateBetween"?e[0]:e}function inferPickerType(e,t){return/^\d{4}$/.test(e)?"year":/^\d{4}-\d{2}$/.test(e)?"month":/^\d{4}Q[1-4]$/.test(e)?"quarter":/^\d{4}-\d{2}-\d{2}$/.test(e)?"date":t||"date"}const NAMESPACE_UI_SCHEMA="ui-schema-storage",parseVariables=(e,t)=>{var o;const r=/{{(.*?)}}/,i=(o=e==null?void 0:e.match)==null?void 0:o.call(e,r);if(i){const n=import_lodash.default.get(t,i[1]);return import_lodash.default.isFunction(n)?n():n}else return e};function getInnermostKeyAndValue(e){if(typeof e!="object"||e===null)return null;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t))return Object.prototype.toString.call(e[t])==="[object Object]"&&e[t]!==null?getInnermostKeyAndValue(e[t]):{key:t,value:e[t]};return null}const getTargetField$1=e=>{const t=getAllKeys(e),o=(0,import_lodash.findIndex)(t,(r,i,n)=>{if(r.includes("$")&&i>0)return!0});return t.slice(0,o)};function getAllKeys(e){const t=[];function o(r){Object.keys(r).sort().forEach(function(i){t.push(i),r[i]&&typeof r[i]=="object"&&o(r[i])})}return o(e),t}const parseVariableValue=(e,t,o)=>z(void 0,null,function*(){const r=isVariable$1(e)?[t.parseVariable(e,o).then(({value:i})=>i)]:[e];try{const[i]=yield Promise.all(r);return i}catch(i){throw console.error("Error in parseVariableValue:",i),i}}),conditionAnalyses=(e,t)=>z(void 0,[e,t],function*({ruleGroup:o,variables:r,localVariables:i,variableNameOfLeftCondition:n,conditionType:a},l){const c=Object.keys(o)[0]||"$and",u=o[c],m=yield Promise.all(u.map(d=>processCondition(d,r,i,n,a,l)));return c==="$and"?(0,import_lodash.every)(m,d=>d):m.length?(0,import_lodash.some)(m,d=>d):!0}),processCondition=(e,t,o,r,i,n)=>z(void 0,null,function*(){return"$and"in e||"$or"in e?yield conditionAnalyses({ruleGroup:e,variables:t,localVariables:o,conditionType:i},n):i==="advanced"?processAdvancedCondition(e,t,o,n):processBasicCondition(e,t,o,r,n)}),processAdvancedCondition=(e,t,o,r)=>z(void 0,null,function*(){const i=e.op,n=yield parseVariableValue(e.rightVar,t,o),a=yield parseVariableValue(e.leftVar,t,o);return i?r.apply({[i]:[a,n]}):!0}),processBasicCondition=(e,t,o,r,i)=>z(void 0,null,function*(){const n=getInnermostKeyAndValue(e),a=n==null?void 0:n.key;if(!a)return!0;const l=targetFieldToVariableString(getTargetField$1(e),r),c=t.parseVariable(l,o,{doNotRequest:!0}).then(({value:m})=>m),u=isVariable$1(n==null?void 0:n.value)?[t.parseVariable(n==null?void 0:n.value,o).then(({value:m})=>m),c]:[n==null?void 0:n.value,c];try{const[m,d]=yield Promise.all(u),p=yield t.getCollectionField(l,o);let h=transformVariableValue(d,{targetCollectionField:p});const g=transformVariableValue(m,{targetCollectionField:p});if(p!=null&&p.type&&["datetime","date","datetimeNoTz","dateOnly","unixTimestamp"].includes(p.type)&&h){const _=inferPickerType(g),f=(0,import_client.getPickerFormat)(_);h=(0,import_client.dayjs)(h).format(f)}return i.apply({[a]:[h,g]})}catch(m){throw m}});function targetFieldToVariableString(e,t="$nForm"){return`{{ ${t}.${e.join(".")} }}`}const getVariablesData=e=>{const t={};return e.map(o=>{t[o.name]=o.ctx}),t};function safeCompile(e){return e.replace(/{{\s*}}/g,'{{"{{}}"}}')}function getRenderContent(e,t,o,r,i,n){return z(this,null,function*(){var a,l;if(t&&e==="handlebars"){import_client.Handlebars.registerHelper("t",function(c){if(typeof c=="string")return n(c,{ns:NAMESPACE_UI_SCHEMA})});try{const c=safeCompile(t),u=import_client.Handlebars.compile(c),m=getVariablesData(r),{$nDate:d}=((a=o==null?void 0:o.ctxRef)==null?void 0:a.current)||{},p={};Object.keys(d||{}).map(g=>{p[g]=d[g]()});const h=u(P(x(x({},(l=o==null?void 0:o.ctxRef)==null?void 0:l.current),m),{$nDate:p}));return console.log(h),yield i(h)}catch(c){return/VariablesProvider: .* is not found/.test(c.message)||console.log(c),console.log(t),t}}else try{const c=yield replaceVariableValue(t,o,r);return yield i(c)}catch(c){return/VariablesProvider: .* is not found/.test(c.message)||console.log(c),t}})}const getPath=e=>e&&e.match(REGEX_OF_VARIABLE)[0].replace(REGEX_OF_VARIABLE,"$1"),getVariableName=e=>import_lodash.default.isString(e)?getPath(e).split(".")[0]:e;var ActionType=(e=>(e.Visible="visible",e.Editable="editable",e.ReadOnly="disabled",e.ReadPretty="readPretty",e.None="none",e.Hidden="hidden",e.Required="required",e.InRequired="notRequired",e.Disabled="disabled",e.Value="value",e.Active="enabled",e.Color="color",e.BackgroundColor="backgroundColor",e.TextAlign="textAlign",e.Options="options",e.DateScope="dateScope",e.FontSize="fontSize",e.FontWeight="fontWeight",e.FontStyle="fontStyle",e))(ActionType||{}),LinkageRuleCategory=(e=>(e.default="default",e.style="style",e.button="button",e.block="block",e))(LinkageRuleCategory||{});const LinkageRuleDataKeyMap={style:"x-linkage-style-rules",default:"x-linkage-rules",button:"x-linkage-rules",block:"x-block-linkage-rules"};function bindLinkageRulesToFiled({field:e,linkageRules:t,formValues:o,localVariables:r,action:i,rule:n,variables:a,variableNameOfLeftCondition:l},c){var u,m,d,p,h,g;return e.initStateOfLinkageRules={display:((u=e.initStateOfLinkageRules)==null?void 0:u.display)||getTempFieldState(!0,e.display),required:((m=e.initStateOfLinkageRules)==null?void 0:m.required)||getTempFieldState(!0,e.required||!1),pattern:((d=e.initStateOfLinkageRules)==null?void 0:d.pattern)||getTempFieldState(!0,e.pattern),value:((p=e.initStateOfLinkageRules)==null?void 0:p.value)||getTempFieldState(!0,e.value||e.initialValue),dataSource:((h=e.initStateOfLinkageRules)==null?void 0:h.dataSource)||getTempFieldState(!0,e.dataSource||e.options),dateScope:((g=e.initStateOfLinkageRules)==null?void 0:g.dateScope)||getTempFieldState(!0,null)},(0,import_reactive.reaction)(()=>{const _=getFieldValuesInCondition({linkageRules:t,formValues:o}),f=getVariableValuesInCondition({linkageRules:t,localVariables:r}),v=getVariableValuesInExpression({action:i,localVariables:r});return[_,f,v].map(C=>JSON.stringify(C)).join(",")},getSubscriber({action:i,field:e,rule:n,variables:a,localVariables:r,variableNameOfLeftCondition:l},c),{fireImmediately:!0,equals:import_lodash.default.isEqual})}function getFieldValuesInCondition({linkageRules:e,formValues:t}){return e.map(o=>{const r=i=>{const n=Object.keys(i)[0]||"$and";return i[n].map(a=>{if("$and"in a||"$or"in a)return r(a);const l=getTargetField$1(a).join(".");return(0,import_client.getValuesByPath)(t,l)}).filter(Boolean)};return r(o.condition)})}function getVariableValuesInCondition({linkageRules:e,localVariables:t}){return e.map(o=>{const r=Object.keys(o.condition)[0]||"$and",i=o.condition[r];return o.conditionType==="advanced"?i.map(n=>{if(!n)return null;if(n.$and||n.$or)return getVariableValuesInCondition({linkageRules:[{conditionType:"advanced",condition:n}],localVariables:t});const a=l=>isVariable$1(l)?getVariableValue$1(l,t):l;return{leftVar:a(n.leftVar),rightVar:a(n.rightVar)}}).filter(Boolean):i.map(n=>{const a=getInnermostKeyAndValue(n);return a?isVariable$1(a.value)?getVariableValue$1(a.value,t):a.value:null}).filter(Boolean)})}function getVariableValuesInExpression({action:e,localVariables:t}){var o;const r=e.value,i=r==null?void 0:r.mode,n=(r==null?void 0:r.value)||(r==null?void 0:r.result);if(i==="express"&&n!=null)return(o=getVariablesFromExpression(n))==null?void 0:o.map(a=>getVariableValue$1(a,t)).filter(Boolean)}function getVariableValue$1(e,t){var o;if(!isVariable$1(e))return;const r=getVariableName(e),i={[r]:(o=t.find(n=>n.name===r))==null?void 0:o.ctx};return(0,import_client.getValuesByPath)(i,getPath(e))}function getSubscriber({action:e,field:t,rule:o,variables:r,localVariables:i,variableNameOfLeftCondition:n},a){return()=>{collectFieldStateOfLinkageRules({operator:e.operator,value:e.value,field:t,condition:o.condition,variables:r,localVariables:i,variableNameOfLeftCondition:n,action:e,conditionType:o.conditionType},a),setTimeout(()=>z(this,null,function*(){var l,c,u,m,d,p,h,g;const _=getFieldNameByOperator(e.operator);if(!((l=t.stateOfLinkageRules)!=null&&l[_]))return;let f=t.stateOfLinkageRules[_];f=yield Promise.all(f),f=f.filter(C=>C.condition);const v=f[f.length-1];if(_==="value")f.length>1&&(t.value=v.value);else if(_==="dateScope")t.setComponentProps({_maxDate:((u=(c=v.value)==null?void 0:c._maxDate)==null?void 0:u.value)||((m=v.value)==null?void 0:m._maxDate),_minDate:((p=(d=v.value)==null?void 0:d._minDate)==null?void 0:p.value)||((h=v.value)==null?void 0:h._minDate)});else{if(_==="display"&&(v==null?void 0:v.value)==="hidden")t.display="visible",t.data=t.data||{},t.data.hidden=!0,t.required&&(t.required=!1,t.data.prevRequired=!0),requestAnimationFrame(()=>{t.setState(C=>{C.display="visible"})});else if(_==="dataSource"){const C=((g=v==null?void 0:v.value)==null?void 0:g.map(S=>S.value))||[];(t.value&&!Array.isArray(t.value)&&!C.includes(t.value)||Array.isArray(t.value)&&import_lodash.default.difference(t.value,C).length>0)&&(t.value=t.initialValue),t[_]=v==null?void 0:v.value,t.data=t.data||{},requestAnimationFrame(()=>{t.setState(S=>{S[_]=v==null?void 0:v.value})})}else _==="display"&&(v==null?void 0:v.value)==="visible"?(t[_]=v==null?void 0:v.value,_==="display"&&(v==null?void 0:v.value)==="visible"&&(t.data=t.data||{},t.data.hidden=!1,t.data.prevRequired&&(delete t.data.prevRequired,t.required=!0)),requestAnimationFrame(()=>{t.setState(C=>{C[_]=v==null?void 0:v.value})})):(t[_]=v==null?void 0:v.value,requestAnimationFrame(()=>{t.setState(C=>{C[_]=v==null?void 0:v.value})}));_==="display"&&(v==null?void 0:v.value)==="none"&&(t.value=null)}t.stateOfLinkageRules[_]=null}))}}function getFieldNameByOperator(e){switch(e){case ActionType.Required:case ActionType.InRequired:return"required";case ActionType.Visible:case ActionType.None:case ActionType.Hidden:return"display";case ActionType.Editable:case ActionType.ReadOnly:case ActionType.ReadPretty:return"pattern";case ActionType.Value:return"value";case ActionType.Options:return"dataSource";case ActionType.DateScope:return"dateScope";default:return null}}const collectFieldStateOfLinkageRules=({operator:e,value:t,field:o,condition:r,variables:i,localVariables:n,variableNameOfLeftCondition:a,action:l,conditionType:c},u)=>{var m,d,p,h,g,_,f,v,C,S,b,y,F,j;const k=((m=o==null?void 0:o.stateOfLinkageRules)==null?void 0:m.required)||[(d=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:d.required],T=((p=o==null?void 0:o.stateOfLinkageRules)==null?void 0:p.display)||[(h=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:h.display],M=((g=o==null?void 0:o.stateOfLinkageRules)==null?void 0:g.pattern)||[(_=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:_.pattern],w=((f=o==null?void 0:o.stateOfLinkageRules)==null?void 0:f.value)||[(v=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:v.value],L=((C=o==null?void 0:o.stateOfLinkageRules)==null?void 0:C.dataSource)||[(S=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:S.dataSource],{evaluate:D}=import_client3.evaluators.get("formula.js"),R={ruleGroup:r,variables:i,localVariables:n,variableNameOfLeftCondition:a,conditionType:c},N=((b=o==null?void 0:o.stateOfLinkageRules)==null?void 0:b.dateScope)||[(y=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:y.dateScope];switch(e){case ActionType.Required:k.push(getTempFieldState(conditionAnalyses(R,u),!0)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{required:k});break;case ActionType.InRequired:k.push(getTempFieldState(conditionAnalyses(R,u),!1)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{required:k});break;case ActionType.Visible:case ActionType.None:case ActionType.Hidden:T.push(getTempFieldState(conditionAnalyses(R,u),e)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{display:T});break;case ActionType.Editable:case ActionType.ReadOnly:case ActionType.ReadPretty:M.push(getTempFieldState(conditionAnalyses(R,u),e)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{pattern:M});break;case ActionType.Value:{const B=()=>z(void 0,null,function*(){var I;if((t==null?void 0:t.mode)==="express"){if((t.value||t.result)==null)return;const{exp:$,scope:E}=yield replaceVariables(t.value||t.result,{variables:i,localVariables:n});try{return D($,x({now:()=>new Date().toString()},E))}catch(O){console.error(O)}}else return(t==null?void 0:t.mode)==="constant"?(I=t==null?void 0:t.value)!=null?I:t:null});isConditionEmpty(r)?w.push(getTempFieldState(!0,B())):w.push(getTempFieldState(conditionAnalyses(R,u),B())),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{value:w})}break;case ActionType.Options:{const B=(j=(F=o.data)==null?void 0:F.dataSource)==null?void 0:j.filter(I=>t.value.includes(I.value));L.push(getTempFieldState(conditionAnalyses(R,u),B||[])),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{dataSource:L})}break;case ActionType.DateScope:{N.push(getTempFieldState(conditionAnalyses(R,u),{_maxDate:l._maxDate,_minDate:l._minDate})),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{dateScope:N});break}default:return null}};function getTempFieldState(e,t){return z(this,null,function*(){return[e,t]=yield Promise.all([e,t]),{condition:e,value:t}})}function isConditionEmpty(e){const t=Object.keys(e)[0]||"$and",o=e[t];return import_lodash.default.isEmpty(o)}function replaceVariables(e,t){return z(this,arguments,function*(o,{variables:r,localVariables:i}){var n;const a={},l={};if(o==null)return{};const c=(n=o.match(REGEX_OF_VARIABLE_IN_EXPRESSION))==null?void 0:n.map(u=>z(this,null,function*(){const{value:m}=yield r.parseVariable(u,i),d=`_${(0,import_client.uid)()}`;return l[d]=m,a[u]=d,m}));return c&&(yield Promise.all(c)),{exp:o.replace(REGEX_OF_VARIABLE_IN_EXPRESSION,u=>`{{${a[u]||u}}}`),scope:l}})}const getVariableValue=(e,t)=>z(void 0,null,function*(){if(!e)return e;const{evaluate:o}=import_client3.evaluators.get("string"),{exp:r,scope:i}=yield replaceVariables(e,t);return o(r,x({now:()=>new Date().toString()},i))}),setDataLoadingModeSettingsItem={name:"setDataLoadingMode",Component:SetDataLoadingMode};function useDataLoadingMode(){const{dataLoadingMode:e}=useDataBlockProps()||{};return e||"auto"}function SetDataLoadingMode(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCollection(),{getEnableFieldTree:a,getOnLoadData:l}=useCollectionState(n==null?void 0:n.name),{getDataBlockRequest:c}=useDataBlockRequestGetter();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:o("Set data loading mode"),scope:{getEnableFieldTree:a,name:n==null?void 0:n.name,getOnLoadData:l},schema:{type:"object",title:o("Data loading mode"),properties:{dataLoadingMode:{"x-decorator":"FormItem","x-component":"Radio.Group",default:((e=i["x-decorator-props"])==null?void 0:e.dataLoadingMode)||"auto",enum:[{value:"auto",label:o("Load all data when filter is empty")},{value:"manual",label:o("Do not load data when filter is empty")}]}}},onSubmit:({dataLoadingMode:u})=>{const m=c();import_lodash.default.set(i,"x-decorator-props.dataLoadingMode",u),r.decoratorProps.dataLoadingMode=u,t.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":x({},i["x-decorator-props"])}}),t.refresh(),u==="auto"?m.run():m.mutate(void 0)}})}const useSourceKey=e=>useCollectionManager().getSourceKeyByAssociation(e),KeepAliveContext=(0,import_react2.createContext)(!0),DesignableInterceptor=({children:e,active:t})=>{const o=(0,import_react2.useContext)(SchemaComponentContext),r=(0,import_react2.useContext)(import_react.SchemaOptionsContext),i=(0,import_react2.useContext)(import_react.SchemaComponentsContext),n=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),a=(0,import_react2.useContext)(ACLContext),l=(0,import_react2.useRef)(o),c=(0,import_react2.useRef)(r),u=(0,import_react2.useRef)(i),m=(0,import_react2.useRef)(n),d=(0,import_react2.useRef)(a);return t&&(l.current=o,c.current=r,u.current=i,m.current=n,d.current=a),(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:l.current,children:(0,import_jsx_runtime.jsx)(import_react.SchemaOptionsContext.Provider,{value:c.current,children:(0,import_jsx_runtime.jsx)(import_react.SchemaComponentsContext.Provider,{value:u.current,children:(0,import_jsx_runtime.jsx)(import_react.SchemaExpressionScopeContext.Provider,{value:m.current,children:(0,import_jsx_runtime.jsx)(ACLContext.Provider,{value:d.current,children:e})})})})})},hidden={display:"none"},KeepAliveProvider=(0,import_react2.memo)(({children:e,active:t,parentActive:o})=>{const r=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_LocationContext),i=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_RouteContext),n=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_DataRouterContext),a=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_DataRouterStateContext),l=(0,import_react2.useContext)(IsSubPageClosedByPageMenuContext),c=(0,import_react2.useContext)(import_context.Context),u=(0,import_react2.useContext)(import_pro_layout.RouteContext),m=(0,import_react2.useRef)(r),d=(0,import_react2.useRef)(i),p=(0,import_react2.useRef)(n),h=(0,import_react2.useRef)(a),g=(0,import_react2.useRef)(l),_=(0,import_react2.useRef)(c),f=(0,import_react2.useRef)(u);t&&(p.current=n,h.current=a,g.current=l,_.current=c,f.current=u),t&&!import_lodash.default.isEqual(import_lodash.default.omit(m.current.location,"key"),import_lodash.default.omit(r.location,"key"))&&(m.current=r),t&&!import_lodash.default.isEqual(d.current,i)&&(d.current=i);const v=(0,import_jsx_runtime.jsx)(import_pro_layout.RouteContext.Provider,{value:f.current,children:(0,import_jsx_runtime.jsx)(import_context.Context.Provider,{value:_.current,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_DataRouterContext.Provider,{value:p.current,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_DataRouterStateContext.Provider,{value:h.current,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_LocationContext.Provider,{value:m.current,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_RouteContext.Provider,{value:d.current,children:(0,import_jsx_runtime.jsx)(KeepAliveContext.Provider,{value:o===!1?!1:t,children:(0,import_jsx_runtime.jsx)(DesignableInterceptor,{active:t,children:(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuContext.Provider,{value:g.current,children:e})})})})})})})})});return(0,import_jsx_runtime.jsx)("div",{style:t?null:hidden,children:v})}),useKeepAlive=()=>({active:(0,import_react2.useContext)(KeepAliveContext)}),getMaxPageCount=()=>{let e=5;try{const t=navigator.deviceMemory;if(t)return Math.min(Math.max(5,t*3),20);const o=performance.memory;if(o!=null&&o.jsHeapSizeLimit){const n=o.jsHeapSizeLimit/1073741824;return Math.min(Math.max(5,Math.floor(n*3)),20)}const r=performance.now();for(let n=0;n<1e6;n++);const i=performance.now()-r;return i<3?e=20:i<5?e=10:i<10&&(e=5),e}catch{return 5}},MAX_RENDERED_PAGE_COUNT=getMaxPageCount(),KeepAlive=import_react2.default.memo(({children:e,uid:t})=>{const{active:o}=useKeepAlive(),r=(0,import_react2.useRef)([]);return r.current.includes(t)||(r.current.push(t),r.current.length>MAX_RENDERED_PAGE_COUNT&&(r.current=r.current.slice(-MAX_RENDERED_PAGE_COUNT))),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:r.current.map(i=>(0,import_jsx_runtime.jsx)(KeepAliveProvider,{active:i===t,parentActive:o,children:e(i)},i))})});KeepAlive.displayName="KeepAlive";const DEBOUNCE_WAIT=100,LOADING_DELAY=void 0,EMPTY_OBJECT=Object.freeze({});class CollectionRecord{constructor(t){A(this,"data"),A(this,"parentRecord"),A(this,"isNew");const{data:o,parentRecord:r,isNew:i}=t;this.isNew=i,this.data=o,this.parentRecord=r}setData(t){this.data=t}setParentRecord(t){this.parentRecord=t}}const CollectionRecordContext=(0,import_react2.createContext)(null);CollectionRecordContext.displayName="CollectionRecordContext";const CollectionRecordProvider=import_react2.default.memo(({isNew:e,record:t,parentRecord:o,children:r})=>{const i=(0,import_react2.useMemo)(()=>{if(o)return o instanceof CollectionRecord?o:new CollectionRecord({data:o});if(t instanceof CollectionRecord)return t.parentRecord},[o,t]),n=(0,import_react2.useMemo)(()=>{let a;return t?t instanceof CollectionRecord?(a=t,a.isNew=t.isNew||e):a=new CollectionRecord({data:t,isNew:e}):a=new CollectionRecord({isNew:e}),a.setParentRecord(i),a},[t,i,e]);return(0,import_jsx_runtime.jsx)(CollectionRecordContext.Provider,{value:n,children:r})});CollectionRecordProvider.displayName="CollectionRecordProvider";function useCollectionRecord(){return(0,import_react2.useContext)(CollectionRecordContext)}function useCollectionRecordData(){const e=useCollectionRecord();return e==null?void 0:e.data}function useCollectionParentRecord(){const e=useCollectionRecord();return e==null?void 0:e.parentRecord}function useCollectionParentRecordData(){var e;const t=useCollectionRecord();return(e=t==null?void 0:t.parentRecord)==null?void 0:e.data}const DataBlockResourceContext$1=(0,import_react2.createContext)(null);DataBlockResourceContext$1.displayName="DataBlockResourceContext";const DataBlockResourceProvider=({children:e})=>{const t=useDataBlockProps(),o=useCollectionManager(),{association:r,collection:i,dataSource:n,sourceId:a,parentRecord:l}=t,c=useAPIClient(),u=useDataSourceHeaders(n),m=(0,import_react2.useMemo)(()=>typeof i=="string"?i:i==null?void 0:i.name,[i]),d=(0,import_react2.useMemo)(()=>{if(a)return a;if(r&&l){const h=o.getSourceKeyByAssociation(r),g=l instanceof CollectionRecord?l.data:l;if((0,import_lodash.isArray)(h)){const _={};for(const f of h)_[f]=g==null?void 0:g[f];return encodeURIComponent(JSON.stringify(_))}else return g[h]}},[r,a,l]),p=(0,import_react2.useMemo)(()=>r?c.resource(r,d,u,!d):c.resource(m,void 0,u),[c,r,i,d,u]);return(0,import_jsx_runtime.jsx)(DataBlockResourceContext$1.Provider,{value:p,children:e})};function useDataBlockResource(){const e=(0,import_react2.useContext)(DataBlockResourceContext$1);if(!e)throw new Error("useDataBlockResource() must be used within a DataBlockResourceProvider");return e}const defaultTheme={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}};function compatOldTheme(e){var t;return(t=e.token)!=null&&t.colorSettings||(e.token=x(x({},e.token),defaultTheme.token)),e}const customAlgorithm=(e,t)=>{const o=t||import_antd.theme.defaultAlgorithm(e);return o.paddingPageHorizontal===void 0&&(o.paddingPageHorizontal=o.sizeLG),o.paddingPageVertical===void 0&&(o.paddingPageVertical=o.sizeLG),o.paddingPopupHorizontal===void 0&&(o.paddingPopupHorizontal=o.sizeLG),o.paddingPopupVertical===void 0&&(o.paddingPopupVertical=o.size),o.marginBlock===void 0&&(o.marginBlock=o.sizeLG),o.borderRadiusBlock===void 0&&(o.borderRadiusBlock=o.borderRadiusLG),o},addCustomAlgorithmToTheme=e=>(Array.isArray(e.algorithm)?e.algorithm.includes(customAlgorithm)||e.algorithm.push(customAlgorithm):e.algorithm=[e.algorithm,customAlgorithm].filter(Boolean),e.algorithm=e.algorithm.filter(Boolean),e),AppInner=(0,import_react2.memo)(({children:e})=>{const t=useApp(),{notification:o}=import_antd.App.useApp(),r=useAPIClient();return(0,import_react2.useEffect)(()=>{r.notification=o,t.notification=o},[o]),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e})});AppInner.displayName="AppInner";const AntdAppProvider=({children:e,className:t,style:o})=>(0,import_jsx_runtime.jsx)(import_antd.App,{className:t,style:x({height:"100%"},o),children:(0,import_jsx_runtime.jsx)(AppInner,{children:e})});AntdAppProvider.displayName="AntdAppProvider";const GlobalThemeContext=(0,import_react2.createContext)(null);GlobalThemeContext.displayName="GlobalThemeContext";const useGlobalTheme=()=>import_react2.default.useContext(GlobalThemeContext)||{theme:{},isDarkTheme:!1},GlobalThemeProvider=({children:e,theme:t})=>{const[o,r]=import_react2.default.useState(t||defaultTheme),i=(0,import_react2.useRef)(null),n=(0,import_react2.useRef)(null),a=(0,import_react2.useMemo)(()=>{const p=o==null?void 0:o.algorithm;return Array.isArray(p)?p.includes(import_antd.theme.darkAlgorithm):p===import_antd.theme.darkAlgorithm},[o==null?void 0:o.algorithm]),l=(0,import_react2.useCallback)(p=>{n.current=p&&import_lodash.default.cloneDeep(p)},[]),c=(0,import_react2.useCallback)(()=>n.current,[]),u=(0,import_react2.useCallback)(p=>{i.current=p&&import_lodash.default.cloneDeep(p)},[]),m=(0,import_react2.useCallback)(()=>i.current,[]),d=(0,import_react2.useMemo)(()=>({theme:addCustomAlgorithmToTheme(o),setTheme:r,setCurrentSettingTheme:u,getCurrentSettingTheme:m,setCurrentEditingTheme:l,getCurrentEditingTheme:c,isDarkTheme:a}),[c,m,a,l,u,o]);return(0,import_jsx_runtime.jsx)(GlobalThemeContext.Provider,{value:d,children:(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{theme:compatOldTheme(d.theme),children:e})})},useToken=()=>import_antd.theme.useToken(),CSSVariableProvider=({children:e})=>{const{token:t}=useToken(),o=t.colorFillTertiary,r=new import_tinycolor.TinyColor(t.colorFill).onBackground(t.colorFillSecondary).toHexShortString(),i=new import_tinycolor.TinyColor(t.colorFill).onBackground(t.colorFill).toHexShortString(),n=new import_tinycolor.TinyColor(t.colorFill).onBackground(t.colorFill).onBackground(t.colorFill).toHexShortString();return(0,import_react2.useEffect)(()=>{document.body.style.setProperty("--nb-spacing",`${t.marginLG}px`),document.body.style.setProperty("--nb-designer-offset",`${t.marginXS}px`),document.body.style.setProperty("--nb-header-height",`${t.sizeXXL-2}px`),document.body.style.setProperty("--nb-box-bg",t.colorBgLayout),document.body.style.setProperty("--nb-box-bg",t.colorBgLayout),document.body.style.setProperty("--controlHeightLG",`${t.controlHeightLG}px`),document.body.style.setProperty("--paddingContentVerticalSM",`${t.paddingContentVerticalSM}px`),document.body.style.setProperty("--marginSM",`${t.marginSM}px`),document.body.style.setProperty("--colorInfoBg",t.colorInfoBg),document.body.style.setProperty("--colorInfoBorder",t.colorInfoBorder),document.body.style.setProperty("--colorWarningBg",t.colorWarningBg),document.body.style.setProperty("--colorWarningBorder",t.colorWarningBorder),document.body.style.setProperty("--colorText",t.colorText),document.body.style.setProperty("--colorTextHeaderMenu",t.colorTextHeaderMenu),document.body.style.setProperty("--colorPrimaryText",t.colorPrimaryText),document.body.style.setProperty("--colorPrimaryTextActive",t.colorPrimaryTextActive),document.body.style.setProperty("--colorPrimaryTextHover",t.colorPrimaryTextHover),document.body.style.setProperty("--colorBgScrollTrack",o),document.body.style.setProperty("--colorBgScrollBar",r),document.body.style.setProperty("--colorBgScrollBarHover",i),document.body.style.setProperty("--colorBgScrollBarActive",n),document.body.style.setProperty("--colorSettings",t.colorSettings||defaultTheme.token.colorSettings),document.body.style.setProperty("--colorBgSettingsHover",t.colorBgSettingsHover),document.body.style.setProperty("--colorTemplateBgSettingsHover",t.colorTemplateBgSettingsHover),document.body.style.setProperty("--colorBorderSettingsHover",t.colorBorderSettingsHover),document.body.style.setProperty("--colorBgMenuItemSelected",t.colorBgHeaderMenuActive),document.body.style.setProperty("background-color",t.colorBgContainer)},[r,n,i,o,t.colorBgContainer,t.colorBgLayout,t.colorBgSettingsHover,t.colorTemplateBgSettingsHover,t.colorBorderSettingsHover,t.colorInfoBg,t.colorInfoBorder,t.colorPrimaryText,t.colorPrimaryTextActive,t.colorPrimaryTextHover,t.colorSettings,t.colorText,t.colorWarningBg,t.colorWarningBorder,t.controlHeightLG,t.marginLG,t.marginSM,t.marginXS,t.paddingContentVerticalSM,t.sizeXXL,t.colorTextHeaderMenu]),e};CSSVariableProvider.displayName="CSSVariableProvider";const dayjsLocale={"ar-EG":"ar","az-AZ":"az","bg-BG":"bg","bn-BD":"bn-bd","by-BY":"en","ca-ES":"ca","cs-CZ":"cs","da-DK":"da","de-DE":"de","el-GR":"el","en-GB":"en-gb","en-US":"en","es-ES":"es","et-EE":"et","fa-IR":"fa","fi-FI":"fi","fr-BE":"fr","fr-CA":"fr","fr-FR":"fr","ga-IE":"ga","gl-ES":"gl","he-IL":"he","hi-IN":"hi","hr-HR":"hr","hu-HU":"hu","hy-AM":"hy-am","id-ID":"id","is-IS":"is","it-IT":"it","ja-JP":"ja","ka-GE":"ka","kk-KZ":"kk","km-KH":"km","kn-IN":"kn","ko-KR":"ko","ku-IQ":"ku","lt-LT":"lt","lv-LV":"lv","mk-MK":"mk","ml-IN":"ml","mn-MN":"mn","ms-MY":"ms","nb-NO":"nb","ne-NP":"ne","nl-BE":"nl-be","nl-NL":"nl","pl-PL":"pl","pt-BR":"pt-br","pt-PT":"pt","ro-RO":"ro","ru-RU":"ru","si-LK":"si","sk-SK":"sk","sl-SI":"sl","sr-RS":"sr","sv-SE":"sv","ta-IN":"ta","th-TH":"th","tk-TK":"tk","tr-TR":"tr","uk-UA":"uk","ur-PK":"ur","vi-VN":"vi","zh-CN":"zh-cn","zh-HK":"zh-hk","zh-TW":"zh-tw"},languageCodes={"ar-EG":{label:"العربية"},"az-AZ":{label:"Azərbaycan dili"},"bg-BG":{label:"Български"},"bn-BD":{label:"Bengali"},"by-BY":{label:"Беларускі"},"ca-ES":{label:"Сatalà/Espanya"},"cs-CZ":{label:"Česky"},"da-DK":{label:"Dansk"},"de-DE":{label:"Deutsch"},"el-GR":{label:"Ελληνικά"},"en-GB":{label:"English(GB)"},"en-US":{label:"English"},"es-ES":{label:"Español"},"et-EE":{label:"Estonian (Eesti)"},"fa-IR":{label:"فارسی"},"fi-FI":{label:"Suomi"},"fr-BE":{label:"Français(BE)"},"fr-CA":{label:"Français(CA)"},"fr-FR":{label:"Français"},"ga-IE":{label:"Gaeilge"},"gl-ES":{label:"Galego"},"he-IL":{label:"עברית"},"hi-IN":{label:"हिन्दी"},"hr-HR":{label:"Hrvatski jezik"},"hu-HU":{label:"Magyar"},"hy-AM":{label:"Հայերեն"},"id-ID":{label:"Bahasa Indonesia"},"is-IS":{label:"Íslenska"},"it-IT":{label:"Italiano"},"ja-JP":{label:"日本語"},"ka-GE":{label:"ქართული"},"kk-KZ":{label:"Қазақ тілі"},"km-KH":{label:"ភាសាខ្មែរ"},"kn-IN":{label:"ಕನ್ನಡ"},"ko-KR":{label:"한국어"},"ku-IQ":{label:"کوردی"},"lt-LT":{label:"lietuvių"},"lv-LV":{label:"Latviešu valoda"},"mk-MK":{label:"македонски јазик"},"ml-IN":{label:"മലയാളം"},"mn-MN":{label:"Монгол хэл"},"ms-MY":{label:"بهاس ملايو"},"nb-NO":{label:"Norsk bokmål"},"ne-NP":{label:"नेपाली"},"nl-BE":{label:"Vlaams"},"nl-NL":{label:"Nederlands"},"pl-PL":{label:"Polski"},"pt-BR":{label:"Português brasileiro"},"pt-PT":{label:"Português"},"ro-RO":{label:"România"},"ru-RU":{label:"Русский"},"si-LK":{label:"සිංහල"},"sk-SK":{label:"Slovenčina"},"sl-SI":{label:"Slovenščina"},"sr-RS":{label:"српски језик"},"sv-SE":{label:"Svenska"},"ta-IN":{label:"Tamil"},"th-TH":{label:"ภาษาไทย"},"tk-TK":{label:"Turkmen"},"tr-TR":{label:"Türkçe"},"uk-UA":{label:"Українська"},"ur-PK":{label:"Oʻzbekcha"},"vi-VN":{label:"Tiếng Việt"},"zh-CN":{label:"简体中文"},"zh-HK":{label:"繁體中文(香港)"},"zh-TW":{label:"繁體中文(台湾)"}};function tval(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}const i18n=import_i18next.default.createInstance();Object.keys(languageCodes).forEach(e=>{languageCodes[e].resources});i18n.use(import_react_i18next.initReactI18next).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1});function defineDevPlugins(e){Object.entries(e).forEach(([t,o])=>{window.define(`${t}/client`,()=>o)})}function definePluginClient(e){window.define(`${e}/client`,["exports",e],function(t,o){Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(o).forEach(function(r){r!=="__esModule"&&(r in t&&t[r]===o[r]||Object.defineProperty(t,r,{enumerable:!0,get:function(){return o[r]}}))})})}function configRequirejs(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((o,r)=>(o[r.packageName]=r.url,o),{})})}function processRemotePlugins(e,t){return(...o)=>{const r=o.map((n,a)=>[e[a].name,(n==null?void 0:n.default)||n]).filter(n=>n[1]);t(r);const i=o.map((n,a)=>n?null:a).filter(n=>n!==null).map(n=>e[n].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
22
+ `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:"HH:mm:ss",enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}},dataSource={type:"array",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"ArrayTable","x-component-props":{pagination:{pageSize:1e3}},items:{type:"object",properties:{column1:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:50,title:"",align:"center"},properties:{sort:{type:"void","x-component":"ArrayTable.SortHandle"}}},column2:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option value")}}'},properties:{value:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input","x-reactions":e=>{!e.initialValue&&!e.initialized&&(e.initialValue=(0,import_shared.uid)(),e.setValue((0,import_shared.uid)()))}}}},column3:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option label")}}'},properties:{label:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input"}}},column4:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Color")}}'},properties:{color:{type:"string","x-decorator":"FormItem","x-component":"ColorSelect"}}},column5:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:"",dataIndex:"operations",fixed:"right"},properties:{item:{type:"void","x-component":"FormItem",properties:{remove:{type:"void","x-component":"ArrayTable.Remove"}}}}}}},properties:{add:{type:"void","x-component":"ArrayTable.Addition","x-component-props":{randomValue:!0},title:"{{t('Add option')}}"}}},defaultProps={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input","x-validator":"uid",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"}},recordPickerViewer={type:"void",title:'{{ t("View record") }}',"x-component":"RecordPicker.Viewer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},collectionDataSource={type:"string",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},enum:"{{collections}}"},index=Object.freeze(Object.defineProperty({__proto__:null,autoFill,autoIncrement,collectionDataSource,constraintsProps,dataSource,dateTimeProps,defaultProps,operators:operators$1,primaryKey,recordPickerViewer,relationshipType,reverseFieldProperties,timeProps,type,unique},Symbol.toStringTag,{value:"Module"}));class CollectionFieldInterface{constructor(t){A(this,"name"),A(this,"group"),A(this,"title"),A(this,"description"),A(this,"order"),A(this,"default"),A(this,"sortable"),A(this,"availableTypes"),A(this,"supportDataSourceType"),A(this,"notSupportDataSourceType"),A(this,"hasDefaultValue"),A(this,"componentOptions"),A(this,"isAssociation"),A(this,"operators"),A(this,"properties"),A(this,"filterable"),A(this,"titleUsable"),A(this,"hidden"),this.collectionFieldInterfaceManager=t}addComponentOption(t){var o,r,i,n,a,l;if(!this.componentOptions){this.componentOptions=[];const c=(r=(o=this.default)==null?void 0:o.uiSchema)==null?void 0:r["x-component"],u=(n=(i=this.default)==null?void 0:i.uiSchema)==null?void 0:n["x-component-props"];if(c){const m=((l=(a=this.default)==null?void 0:a.uiSchema)==null?void 0:l.type)||"string",d=(0,import_client.tval)(c.startsWith("Input")?(0,import_lodash.capitalize)(m):c.split(".").pop());this.componentOptions=[{label:d,value:c,useProps(){return u||{}}}]}}this.componentOptions.push(t)}getConfigureFormProperties(){const t=this.hasDefaultValue?this.getDefaultValueProperty():{};return x(x({},(0,import_lodash.cloneDeep)(x(x({},defaultProps),this==null?void 0:this.properties))),t)}getDefaultValueProperty(){var t,o;return{defaultValue:P(x(x({},(0,import_lodash.cloneDeep)((t=this==null?void 0:this.default)==null?void 0:t.uiSchema)),(o=this==null?void 0:this.properties)==null?void 0:o.uiSchema),{required:!1,title:'{{ t("Default value") }}',"x-decorator":"FormItem","x-reactions":[{dependencies:["uiSchema.x-component-props.gmt","uiSchema.x-component-props.showTime","uiSchema.x-component-props.dateFormat","uiSchema.x-component-props.timeFormat","uiSchema.x-component-props.picker","uiSchema.x-component-props.format"],fulfill:{state:{componentProps:{gmt:"{{$deps[0]}}",showTime:"{{$deps[1]}}",dateFormat:"{{$deps[2]}}",timeFormat:"{{$deps[3]}}",picker:"{{$deps[4]}}",format:"{{$deps[5]}}"}}}},{dependencies:["uiSchema.x-component-props.picker"],fulfill:{state:{value:null}}},{dependencies:["primaryKey","unique","autoIncrement","defaultToCurrentTime"],when:"{{$deps[0]||$deps[1]||$deps[2]||$deps[3]}}",fulfill:{state:{hidden:!0,value:null}},otherwise:{state:{hidden:!1}}},{dependencies:["uiSchema.enum"],fulfill:{state:{dataSource:"{{$deps[0]}}"}}}]})}}addOperator(t){(0,import_lodash.set)(this,"filterable.operators",[...this.filterable.operators||[]]),!this.filterable.operators.find(o=>o.value===t.value)&&this.filterable.operators.push(t)}}class CollectionFieldInterfaceManager{constructor(t,o,r){A(this,"collectionFieldInterfaceInstances",{}),A(this,"collectionFieldGroups",{}),A(this,"actionList",{}),this.dataSourceManager=r,this.addFieldInterfaces(t),this.addFieldInterfaceGroups(o)}addFieldInterfaces(t=[]){const o=t.reduce((r,i)=>{const n=new i(this);return r[n.name]=n,Array.isArray(this.actionList[n.name])&&(this.actionList[n.name].forEach(a=>{n[a.type](a.data)}),this.actionList[n.name]=void 0),r},{});Object.assign(this.collectionFieldInterfaceInstances,o)}addFieldInterfaceComponentOption(t,o){const r=this.getFieldInterface(t);if(!r){this.actionList[t]||(this.actionList[t]=[]),this.actionList[t].push({type:"addComponentOption",data:o});return}r.addComponentOption(o)}addFieldInterfaceOperator(t,o){const r=this.getFieldInterface(t);r==null||r.addOperator(o)}getFieldInterface(t){return this.collectionFieldInterfaceInstances[t]}getFieldInterfaces(t){return Object.values(this.collectionFieldInterfaceInstances).filter(o=>{var r,i;if(!t||!o.supportDataSourceType&&!o.notSupportDataSourceType)return!0;if(o.supportDataSourceType)return(r=o.supportDataSourceType)==null?void 0:r.includes(t);if(o.notSupportDataSourceType)return!((i=o.notSupportDataSourceType)!=null&&i.includes(t))})}addFieldInterfaceGroups(t){Object.assign(this.collectionFieldGroups,t)}getFieldInterfaceGroups(){return this.collectionFieldGroups}getFieldInterfaceGroup(t){return this.collectionFieldGroups[t]}}const DEFAULT_DATA_SOURCE_KEY="main",DEFAULT_DATA_SOURCE_TITLE='{{t("Main")}}';class DataSourceManager{constructor(t={},o){A(this,"dataSourceInstancesMap",{}),A(this,"multiDataSources",[]),A(this,"collectionMixins",[]),A(this,"collectionTemplateManager"),A(this,"collectionFieldInterfaceManager"),this.options=t,this.app=o,this.collectionTemplateManager=new CollectionTemplateManager(t.collectionTemplates,this),this.collectionFieldInterfaceManager=new CollectionFieldInterfaceManager(t.fieldInterfaces,t.fieldInterfaceGroups,this),this.collectionMixins.push(...t.collectionMixins||[]),this.addDataSource(LocalDataSource,{key:DEFAULT_DATA_SOURCE_KEY,displayName:DEFAULT_DATA_SOURCE_TITLE,collections:t.collections||[]}),(t.dataSources||[]).forEach(r=>{this.addDataSource(LocalDataSource,r)})}addCollectionMixins(t=[]){const o=t.filter(r=>!this.collectionMixins.includes(r));o.length&&(this.collectionMixins.push(...o),this.getDataSources().forEach(r=>r.collectionManager.reAddCollections()))}getDataSources(t){const o=Object.values(this.dataSourceInstancesMap);return t?import_lodash.default.filter(o,t):o}getDataSource(t){return t?this.dataSourceInstancesMap[t]:this.dataSourceInstancesMap[DEFAULT_DATA_SOURCE_KEY]}removeDataSources(t){t.forEach(o=>{delete this.dataSourceInstancesMap[o]})}addDataSource(t,o){const r=new t(o,this);return this.dataSourceInstancesMap[r.key]=r,r}addDataSources(t,o){return z(this,null,function*(){this.multiDataSources.some(([r,i])=>r===t&&i===o)||this.multiDataSources.push([t,o])})}getAllCollections(t={}){const{filterCollection:o,filterDataSource:r}=t;return this.getDataSources(r).reduce((i,n)=>(i.push(P(x({},n.getOptions()),{collections:n.collectionManager.getCollections(o)})),i),[])}addFieldInterfaceGroups(t){this.collectionFieldInterfaceManager.addFieldInterfaceGroups(t)}addCollectionTemplates(t=[]){this.collectionTemplateManager.addCollectionTemplates(t)}addFieldInterfaces(t=[]){this.collectionFieldInterfaceManager.addFieldInterfaces(t)}reload(){return z(this,null,function*(){return yield Promise.all(this.multiDataSources.map(t=>z(this,[t],function*([o,r]){(yield o()).map(i=>this.addDataSource(r,i))}))),Promise.all(this.getDataSources().map(t=>t.reload()))})}}const HEADERS_DATA_SOURCE_KEY="x-data-source",isTitleField=(e,t)=>{var o;return(o=e.collectionFieldInterfaceManager.getFieldInterface(t.interface))==null?void 0:o.titleUsable},useDataSourceHeaders=e=>(0,import_react2.useMemo)(()=>{if(e&&e!==DEFAULT_DATA_SOURCE_KEY)return{[HEADERS_DATA_SOURCE_KEY]:e}},[e]),getDataSourceHeaders=e=>e&&e!==DEFAULT_DATA_SOURCE_KEY?{[HEADERS_DATA_SOURCE_KEY]:e}:{},TreeNode=e=>{const{tag:t,type:o,displayType:r=!0}=e,i={reference:"Reference",duplicate:"Duplicate",preloading:"Preloading"};return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsxs)(import_antd.Tag,{color:{reference:"blue",duplicate:"green",preloading:"cyan"}[o],children:[(0,import_jsx_runtime.jsx)("span",{children:t})," ",r?`(${i[o]})`:""]})})},systemKeys=["sort","createdById","createdBy","createdAt","updatedById","updatedBy","updatedAt","password","sequence"],useCollectionState=(e,t=!0,o)=>{const{getCollectionFields:r,getAllCollectionsInheritChain:i,getCollection:n,getInterface:a}=useCollectionManager_deprecated(),[l]=(0,import_react2.useState)(m),c=useCompile(),u=(0,import_react.useField)();function m(){return(i(e)||[]).map(v=>{var C;return{label:(C=n(v))==null?void 0:C.title,value:v}})}const d=(v,{exclude:C=[],depth:S=0,maxDepth:b,prefix:y=""})=>S>b?[]:r(v).map(F=>{var j;if(C.includes(F.name)||!F.interface||S===0&&["sort","password","sequence"].includes(F.type)||o&&o(F))return;const k={type:"duplicate",tag:c((j=F.uiSchema)==null?void 0:j.title)||F.name},T=P(x({},k),{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},k),{displayType:t})),key:y?`${y}.${F.name}`:F.name,isLeaf:!0,field:F});return["belongsTo","belongsToMany"].includes(F.type)?(k.type="reference",T.type="reference",T.title=import_react2.default.createElement(TreeNode,P(x({},k),{type:"reference",displayType:t})),T.isLeaf=!1,T.children=p(F.target,{depth:S+1,maxDepth:b,prefix:T.key,exclude:systemKeys})):["hasOne","hasMany"].includes(F.type)&&(T.isLeaf=!1,T.children=d(F.target,{depth:S+1,maxDepth:b,prefix:T.key,exclude:["id",...systemKeys.filter(M=>M!=="sort")]})),T}).filter(Boolean),p=(v,{prefix:C,maxDepth:S,depth:b=0,exclude:y=[]})=>b>S?[]:r(v).map(F=>{var j;if(!F.target||!F.interface||y.includes(F.name))return;const k={type:"preloading",tag:c((j=F.uiSchema)==null?void 0:j.title)||F.name},T=C?`${C}.${F.name}`:F.name;return{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},k),{displayType:t})),key:T,isLeaf:!1,field:F,children:p(F.target,{prefix:T,depth:b+1,maxDepth:S,exclude:y})}}).filter(Boolean),h=v=>v.map(C=>P(x({},C),{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},C),{type:C.type,displayType:t})),children:C.children?h(C.children):null})),g=(0,import_react2.useCallback)((v,C,S)=>{var b,y;const F=C.index,j=(y=(b=u.initialValue)==null?void 0:b.items)==null?void 0:y[F];if(!v)return[];if(j!=null&&j.treeData||S)return h(S||j.treeData);try{return d(v,{exclude:["id",...systemKeys],maxDepth:1})}catch(k){return console.error(k),[]}},[]),_=(0,import_react2.useCallback)(v=>C=>new Promise(S=>{if(C.children.length)return C.children.forEach(b=>{loadChildren$1({node:b,traverseAssociations:p,traverseFields:d,systemKeys,fields:v})}),S(void 0);loadChildren$1({node:C,traverseAssociations:p,traverseFields:d,systemKeys,fields:v}),S(void 0)}),[]),f=(0,import_react2.useCallback)(v=>C=>{v.value=C},[]);return{collectionList:l,getEnableFieldTree:g,getOnLoadData:_,getOnCheck:f,getScopeDataSource:v=>{const C=r(v),S=(y,F)=>{var j,k;if(!y.interface)return;const T=a(y.interface);if(!(T!=null&&T.filterable))return;const{nested:M,children:w,operators:L}=T.filterable,D={name:y.name,title:((j=y==null?void 0:y.uiSchema)==null?void 0:j.title)||y.name,schema:y==null?void 0:y.uiSchema,operators:((k=L==null?void 0:L.filter)==null?void 0:k.call(L,R=>!(R!=null&&R.visible)||R.visible(y)))||[],interface:y.interface};if(!(y.target&&F>2)){if(F>2)return D;if(w!=null&&w.length&&(D.children=w),M){const R=r(y.target),N=b(R,F+1).filter(Boolean);D.children=D.children||[],D.children.push(...N)}return D}},b=(y,F)=>{const j=[];return y.forEach(k=>{const T=S(k,F);T&&j.push(T)}),j};return b(C,1)},useTitleFieldDataSource:v=>{const C=v.path.entire.replace("titleField","collection"),S=v.query(C).get("value"),b=r(S).filter(y=>{var F;return(F=a(y.interface))==null?void 0:F.titleUsable}).map(y=>{var F;return{value:y==null?void 0:y.name,label:c((F=y==null?void 0:y.uiSchema)==null?void 0:F.title)||(y==null?void 0:y.name)}});v.dataSource=b}}};function findNode(e,t){const o=[...e];for(;o.length;){const r=o.shift();if(r.key===t.key)return r;r.children&&o.push(...r.children)}}function loadChildren$1({node:e,traverseAssociations:t,traverseFields:o,systemKeys:r,fields:i}){const n=findNode(i.dataSource||i.componentProps.treeData,e);let a=[];return["belongsTo","belongsToMany"].includes(e.field.type)&&(e==null?void 0:e.type)==="reference"?a=t(e.field.target,{exclude:r,prefix:e.key,maxDepth:1}):(["hasOne","hasMany"].includes(e.field.type)||(e==null?void 0:e.type)==="duplicate")&&(a=o(e.field.target,{exclude:["id",...r.filter(l=>l!=="sort")],prefix:e.key,maxDepth:1})),a.length?n.children=a:n.isLeaf=!0,a}const NavigateNoUpdateContext=import_react2.default.createContext(null);NavigateNoUpdateContext.displayName="NavigateNoUpdateContext";const LocationNoUpdateContext=import_react2.default.createContext(null);LocationNoUpdateContext.displayName="LocationNoUpdateContext";const LocationSearchContext=import_react2.default.createContext("");LocationSearchContext.displayName="LocationSearchContext";const IsAdminPageContext=import_react2.default.createContext(!1);IsAdminPageContext.displayName="IsAdminPageContext";const CurrentPageUidContext=import_react2.default.createContext("");CurrentPageUidContext.displayName="CurrentPageUidContext";const IsInSettingsPageContext=import_react2.default.createContext(!1);IsInSettingsPageContext.displayName="IsInSettingsPageContext";const CurrentTabUidContext=import_react2.default.createContext("");CurrentTabUidContext.displayName="CurrentTabUidContext";const SearchParamsContext=import_react2.default.createContext(new URLSearchParams);SearchParamsContext.displayName="SearchParamsContext";const RouterBasenameContext=import_react2.default.createContext("");RouterBasenameContext.displayName="RouterBasenameContext";const IsSubPageClosedByPageMenuContext=import_react2.default.createContext({isSubPageClosedByPageMenu:()=>!1,setFieldSchema:()=>{},reset:()=>{}});IsSubPageClosedByPageMenuContext.displayName="IsSubPageClosedByPageMenuContext";const IsSubPageClosedByPageMenuProvider=({children:e})=>{const t=(0,import_react_router_dom.useParams)(),o=(0,import_react2.useRef)({}),[r,i]=(0,import_react2.useState)(null),n=(0,import_react2.useCallback)(()=>{var c,u;const m=import_lodash.default.isEmpty(t["*"])&&((c=r==null?void 0:r["x-component-props"])==null?void 0:c.openMode)==="page"&&!!((u=o.current["*"])!=null&&u.includes(r["x-uid"]));return o.current=t,m},[r,t]),a=(0,import_react2.useCallback)(()=>{o.current={}},[]),l=(0,import_react2.useMemo)(()=>({isSubPageClosedByPageMenu:n,setFieldSchema:i,reset:a}),[n,a]);return(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuContext.Provider,{value:l,children:e})},RouterBasenameProvider=({children:e})=>{const t=(0,import_react_router_dom.useHref)("/");return(0,import_jsx_runtime.jsx)(RouterBasenameContext.Provider,{value:t,children:e})},SearchParamsProvider=({children:e})=>{const[t]=(0,import_react_router_dom.useSearchParams)();return(0,import_jsx_runtime.jsx)(SearchParamsContext.Provider,{value:t,children:e})},IsInSettingsPageProvider=({children:e})=>{const t=(0,import_react_router_dom.useLocation)().pathname.includes("/settings");return(0,import_jsx_runtime.jsx)(IsInSettingsPageContext.Provider,{value:t,children:e})},IsAdminPageProvider=({children:e})=>{const t=(0,import_react_router_dom.useLocation)().pathname.startsWith("/admin");return(0,import_jsx_runtime.jsx)(IsAdminPageContext.Provider,{value:t,children:e})},CurrentPageUidProvider=({children:e})=>{const t=(0,import_react_router_dom.useParams)();return(0,import_jsx_runtime.jsx)(CurrentPageUidContext.Provider,{value:t.name,children:e})},CurrentTabUidProvider=({children:e})=>{const t=(0,import_react_router_dom.useParams)();return(0,import_jsx_runtime.jsx)(CurrentTabUidContext.Provider,{value:t.tabUid,children:e})},NavigateNoUpdateProvider=({children:e})=>{const t=(0,import_react_router_dom.useNavigate)(),o=import_react2.default.useRef(t);o.current=t;const r=import_react2.default.useCallback((i,n)=>{o.current(i,n)},[]);return(0,import_jsx_runtime.jsx)(NavigateNoUpdateContext.Provider,{value:r,children:e})},LocationNoUpdateProvider=({children:e})=>{const t=(0,import_react_router_dom.useLocation)(),o=import_react2.default.useRef({});return(0,import_react2.useEffect)(()=>{Object.assign(o.current,t)},[t]),(0,import_jsx_runtime.jsx)(LocationNoUpdateContext.Provider,{value:o.current,children:e})},LocationSearchProvider=({children:e})=>{const t=(0,import_react_router_dom.useLocation)();return(0,import_jsx_runtime.jsx)(LocationSearchContext.Provider,{value:t.search,children:e})},useNavigateNoUpdate=()=>import_react2.default.useContext(NavigateNoUpdateContext),useLocationNoUpdate=()=>import_react2.default.useContext(LocationNoUpdateContext),useLocationSearch=()=>import_react2.default.useContext(LocationSearchContext),useIsAdminPage=()=>import_react2.default.useContext(IsAdminPageContext),useCurrentPageUid=()=>import_react2.default.useContext(CurrentPageUidContext),useIsInSettingsPage=()=>import_react2.default.useContext(IsInSettingsPageContext),useCurrentTabUid=()=>import_react2.default.useContext(CurrentTabUidContext),useCurrentSearchParams=()=>import_react2.default.useContext(SearchParamsContext),useRouterBasename=()=>import_react2.default.useContext(RouterBasenameContext),useIsSubPageClosedByPageMenu=e=>{const{isSubPageClosedByPageMenu:t,setFieldSchema:o,reset:r}=import_react2.default.useContext(IsSubPageClosedByPageMenuContext);return(0,import_react2.useEffect)(()=>{o(e)},[e,o]),{isSubPageClosedByPageMenu:t,reset:r}},CustomRouterContextProvider=({children:e})=>(0,import_jsx_runtime.jsx)(NavigateNoUpdateProvider,{children:(0,import_jsx_runtime.jsx)(LocationNoUpdateProvider,{children:(0,import_jsx_runtime.jsx)(IsAdminPageProvider,{children:(0,import_jsx_runtime.jsx)(LocationSearchProvider,{children:(0,import_jsx_runtime.jsx)(SearchParamsProvider,{children:(0,import_jsx_runtime.jsx)(RouterBasenameProvider,{children:(0,import_jsx_runtime.jsx)(IsInSettingsPageProvider,{children:e})})})})})})}),useDefaultDynamicComponentProps=()=>{},getHook=(e,t,o)=>{let r;return import_lodash.default.isFunction(e)?r=e:(r=t[e],r||console.error(`${o} is not registered`)),r||useDefaultDynamicComponentProps},getUseDynamicProps=(e,t)=>{if(!e)return useDefaultDynamicComponentProps;if(import_lodash.default.isFunction(e))return e;const o=e.split(".");let r;for(const i of o)r=getHook(i,r||t,e);return r};function useDynamicComponentProps(e,t){const o=(0,import_react.useExpressionScope)();return getUseDynamicProps(e,o)(t)}function withDynamicSchemaProps(e,t={}){const o=t.displayName||e.displayName||e.name,r=i=>{const{dn:n,findComponent:a}=useDesignable(),l=(0,import_react2.useMemo)(()=>{const m=n.getSchemaAttribute("x-component"),d=n.getSchemaAttribute("x-decorator"),p=n.getSchemaAttribute("x-use-component-props"),h=n.getSchemaAttribute("x-use-decorator-props");if(m&&p&&a(m)===r)return p;if(d&&h&&a(d)===r)return h},[n]),c=useDynamicComponentProps(l,i),u=(0,import_react2.useMemo)(()=>x(x({},i),c),[c,i]);return(0,import_jsx_runtime.jsx)(import_react2.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(e,P(x({},u),{children:i.children}))})};return e.displayName=o,r.displayName=`withSchemaProps(${o})`,r}const TreeRecordContext=(0,import_react2.createContext)(null),TreeRecordProvider=({children:e,parent:t})=>(0,import_jsx_runtime.jsx)(TreeRecordContext.Provider,{value:{parent:t},children:e}),useTreeParentRecord=()=>{const e=import_react2.default.useContext(TreeRecordContext);return e==null?void 0:e.parent},TemplateBlockContext=(0,import_react2.createContext)({});TemplateBlockContext.displayName="TemplateBlockContext";const useTemplateBlockContext=()=>(0,import_react2.useContext)(TemplateBlockContext),_isBlockTemplate=(e,t=1)=>{if(!e||t>=3)return!1;const o=Object.keys(e.properties||{});for(const r of o){const i=e.properties[r];if(i["x-component"]==="BlockTemplate"||_isBlockTemplate(i,t+1))return!0}return!1},TemplateBlockProvider=({onTemplateLoaded:e,children:t})=>{const o=(0,import_react.useFieldSchema)(),[r,i]=(0,import_react2.useState)(!1),n=(0,import_react2.useCallback)(()=>{i(!0),setTimeout(()=>{e==null||e()})},[e]),a=(0,import_react2.useCallback)(()=>_isBlockTemplate(o)||o["x-component"]==="BlockTemplate",[o]),l=(0,import_react2.useMemo)(()=>({templateFinished:r,onTemplateSuccess:n,isBlockTemplate:a}),[n,r,a]);return(0,import_jsx_runtime.jsx)(TemplateBlockContext.Provider,{value:l,children:t})},FormActiveFieldsContext=(0,import_react2.createContext)(null),FormActiveFieldsProvider=({children:e,name:t,getActiveFieldsName:o,addActiveFieldName:r,removeActiveFieldName:i})=>{const n=(0,import_react2.useRef)(new Set),a=(0,import_react2.useContext)(FormActiveFieldsContext),l=(0,import_react2.useMemo)(()=>({getActiveFieldsName:o||(c=>!c||c===t?Array.from(n.current):a==null?void 0:a.getActiveFieldsName(c)),addActiveFieldName:r||(c=>{n.current.add(c)}),removeActiveFieldName:i||(c=>{n.current.delete(c)}),name:t,parent:a}),[r,o,t,i,a]);return(0,import_jsx_runtime.jsx)(FormActiveFieldsContext.Provider,{value:l,children:e})},useFormActiveFields=()=>(0,import_react2.useContext)(FormActiveFieldsContext),FormBlockContext$1=(0,import_react2.createContext)({});FormBlockContext$1.displayName="FormBlockContext";const InternalFormBlockProvider=e=>{var t;const o=useCollectionManager(),r=useFormBlockContext(),{action:i,readPretty:n,params:a,collection:l,association:c}=e,u=(0,import_react.useField)(),m=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({validateFirst:!0,readPretty:n}),[n]),{resource:d,service:p,updateAssociationValues:h}=useBlockRequestContext(),g=(0,import_react2.useRef)(),_=useCollectionRecord(),f=(0,import_react2.useMemo)(()=>{var v;return P(x({},r),{params:a,action:i,form:m,type:i==="get"?"update":"create",field:u,service:p,resource:d,updateAssociationValues:h,formBlockRef:g,collectionName:l||((v=o.getCollectionField(c))==null?void 0:v.target),formRecord:_})},[i,c,o,l,r,u,m,a,_,d,p,h]);return(0,import_jsx_runtime.jsx)(FormBlockContext$1.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:_==null?void 0:_.isNew,parent:(t=_==null?void 0:_.parentRecord)==null?void 0:t.data,record:_==null?void 0:_.data,children:(0,import_jsx_runtime.jsx)("div",{ref:g,children:e.children})})})},useFormBlockType=()=>{const e=useFormBlockContext()||{};return(0,import_react2.useMemo)(()=>({type:e.type}),[e.type])},useIsDetailBlock=()=>{const e=useFormBlockContext(),{fieldSchema:t}=useActionContext();return e.type!=="create"&&(t==null?void 0:t["x-acl-action"])!=="create"&&(t==null?void 0:t["x-action"])!=="create"},FormBlockProvider=withDynamicSchemaProps(e=>{const t=useCollectionParentRecordData(),{parentRecord:o,action:r}=e,i=useCollectionRecordData(),{association:n}=e,a=useCollectionManager(),{__collection:l}=i||{},{designable:c}=useDesignable(),u=e.collection||a.getCollection(n).name,m=(0,import_ahooks.useUpdate)();return!c&&l&&r&&l!==u?null:(0,import_jsx_runtime.jsx)(TemplateBlockProvider,{onTemplateLoaded:m,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:e.name||"form"},e),{block:"form",parentRecord:o||t,children:(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"form",children:(0,import_jsx_runtime.jsx)(InternalFormBlockProvider,x({},e))})}))})}),useFormBlockContext=()=>(0,import_react2.useContext)(FormBlockContext$1),useFormBlockProps$1=()=>{var e,t,o;const r=useFormBlockContext(),i=useTreeParentRecord();return(0,import_react2.useEffect)(()=>{var n;i&&((n=r.form)==null||n.query("parent").take(a=>{a.disabled=!0,a.value=i}))}),(0,import_react2.useEffect)(()=>{var n,a,l;const c=r.form;!c||(n=r.service)!=null&&n.loading||c.setInitialValues((l=(a=r.service)==null?void 0:a.data)==null?void 0:l.data)},[r.form,(t=(e=r.service)==null?void 0:e.data)==null?void 0:t.data,(o=r.service)==null?void 0:o.loading]),{form:r.form}},findFormBlock=e=>{for(;e;){if(e["x-decorator"]==="FormBlockProvider")return e;if(e["x-component"]==="AssociationField.Selector")return null;e=e.parent}return null},REGEX_OF_VARIABLE=/^\s*\{\{\s*([\p{L}0-9_$-.]+?)\s*\}\}\s*$/u,REGEX_OF_VARIABLE_IN_EXPRESSION=/\{\{\s*([a-zA-Z0-9_$-.]+?)\s*\}\}/g,isVariable$1=e=>!(typeof e!="string"||!e.match(REGEX_OF_VARIABLE)),getVariablesFromExpression=e=>e.match(REGEX_OF_VARIABLE_IN_EXPRESSION)||[],transformVariableValue=(e,t)=>{const{targetCollectionField:o}=t;return e==null||!o?e:o.interface==="chinaRegion"&&Array.isArray(e)?e.map(r=>(import_lodash.default.isObject(r),r=x({},r),Object.keys(r).forEach(i=>{import_lodash.default.isObjectLike(r[i])&&delete r[i]}),r)):["hasMany","belongsToMany"].includes(o.type)?Array.isArray(e)?e:[e]:(o.interface,e)},toStringByPicker=(e,t="date",o)=>{if(!import_dayjs.default.isDayjs(e))return e;if(o==="local"){const r=new Date().getTimezoneOffset();return(0,import_dayjs.default)(toStringByPicker(e,t,"gmt")).add(r,"minutes").toISOString()}return t==="year"?e.format("YYYY")+"-01-01T00:00:00.000Z":t==="month"?e.format("YYYY-MM")+"-01T00:00:00.000Z":t==="quarter"?e.startOf("quarter").format("YYYY-MM")+"-01T00:00:00.000Z":t==="week"?e.startOf("week").add(1,"day").format("YYYY-MM-DD")+"T00:00:00.000Z":e.format("YYYY-MM-DDTHH:mm:ss.SSS")+"Z"},toGmtByPicker=(e,t)=>!e||!import_dayjs.default.isDayjs(e)?e:toStringByPicker(e,t,"gmt"),toLocalByPicker=(e,t)=>!e||!import_dayjs.default.isDayjs(e)?e:toStringByPicker(e,t,"local"),moment2str=(e,t={})=>{const{showTime:o,gmt:r,picker:i="date",utc:n=!0}=t;if(!e)return e;if(!n){const a=o?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD";return e.format(a)}return o?r?(0,import_client.toGmt)(e):(0,import_client.toLocal)(e):typeof r=="boolean"&&r?toGmtByPicker(e,i):toLocalByPicker(e,i)},handleChangeOnFilter=(e,t,o)=>{const r=o&&t==="date"?"YYYY-MM-DD HH:mm:ss":(0,import_client.getPickerFormat)(t);return e&&(0,import_dayjs.default)(e).format(r)},handleDateChangeOnForm=(e,t,o,r,i,n)=>{const a=import_dayjs.default.tz.guess(),l=i?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD";if(!e)return e;if(t)return(0,import_builtins.formatDayjsValue)(e,"YYYY-MM-DD");if(o){if(n)return(0,import_client.toGmt)(e);if(r!=="date")return(0,import_dayjs.default)(e).startOf(r).toISOString();const c=(0,import_dayjs.default)(e).format(l);return(0,import_dayjs.default)(c).tz(a,!0).toISOString()}return i?(0,import_dayjs.default)(e).format(l):(0,import_dayjs.default)(e).startOf(r).format(l)},mapDatePicker=function(){const e=isMobile();return t=>{const{dateOnly:o,showTime:r,picker:i="date",utc:n,gmt:a,underFilter:l}=t,c=(0,import_client.getDefaultFormat)(t),u=t.onChange;return P(x({},t),{inputReadOnly:e,format:c,value:(0,import_client.str2moment)(t.value,t),onChange:(m,d)=>{u&&u(l?handleChangeOnFilter(m,i,r):handleDateChangeOnForm(m,o,n,i,r,a))}})}};function isMobile(){return window.matchMedia("(max-width: 768px)").matches}const mapRangePicker=function(){const e=isMobile();return t=>{const o=(0,import_client.getDefaultFormat)(t),r=t.onChange,{dateOnly:i,showTime:n,picker:a="date",utc:l,gmt:c,underFilter:u}=t;return P(x({},t),{format:o,value:(0,import_client.str2moment)(t.value,t),inputReadOnly:e,onChange:m=>{r&&r(u?m?[handleChangeOnFilter(m[0],a,n),handleChangeOnFilter(m[1],a,n)]:[]:m?[moment2str(getRangeStart(m[0],t),t),moment2str(getRangeEnd(m[1],t),t)]:[])}})}};function getRangeStart(e,t){const{showTime:o}=t;return o?e:e.startOf("day")}function getRangeEnd(e,t){const{showTime:o}=t;return o?e:e.endOf("day")}const getStart=(e,t)=>(0,import_dayjs.default)().add(e,t==="isoWeek"?"week":t).startOf(t),getEnd=(e,t)=>(0,import_dayjs.default)().add(e,t==="isoWeek"?"week":t).endOf(t),getDateRanges=e=>{if(e!=null&&e.shouldBeString){const t=o=>Array.isArray(o)?o.map(r=>moment2str(r,{utc:e==null?void 0:e.utc})):moment2str(o,{utc:e==null?void 0:e.utc});return{now:()=>t((0,import_dayjs.default)()),today:o=>withParams(t([getStart(0,"day"),getEnd(0,"day")]),o),yesterday:o=>withParams(t([getStart(-1,"day"),getEnd(-1,"day")]),o),dayBeforeYesterday:o=>withParams(t([getStart(-2,"day"),getEnd(-2,"day")]),o),tomorrow:o=>withParams(t([getStart(1,"day"),getEnd(1,"day")]),o),thisWeek:o=>withParams(t([getStart(0,"isoWeek"),getEnd(0,"isoWeek")]),o),lastWeek:o=>withParams(t([getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")]),o),nextWeek:o=>withParams(t([getStart(1,"isoWeek"),getEnd(1,"isoWeek")]),o),thisIsoWeek:o=>withParams(t([getStart(0,"isoWeek"),getEnd(0,"isoWeek")]),o),lastIsoWeek:o=>withParams(t([getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")]),o),nextIsoWeek:o=>withParams(t([getStart(1,"isoWeek"),getEnd(1,"isoWeek")]),o),thisMonth:o=>withParams(t([getStart(0,"month"),getEnd(0,"month")]),o),lastMonth:o=>withParams(t([getStart(-1,"month"),getEnd(-1,"month")]),o),nextMonth:o=>withParams(t([getStart(1,"month"),getEnd(1,"month")]),o),thisQuarter:o=>withParams(t([getStart(0,"quarter"),getEnd(0,"quarter")]),o),lastQuarter:o=>withParams(t([getStart(-1,"quarter"),getEnd(-1,"quarter")]),o),nextQuarter:o=>withParams(t([getStart(1,"quarter"),getEnd(1,"quarter")]),o),thisYear:o=>withParams(t([getStart(0,"year"),getEnd(0,"year")]),o),lastYear:o=>withParams(t([getStart(-1,"year"),getEnd(-1,"year")]),o),nextYear:o=>withParams(t([getStart(1,"year"),getEnd(1,"year")]),o),last7Days:o=>withParams(t([getStart(-6,"days"),getEnd(0,"days")]),o),next7Days:o=>withParams(t([getStart(1,"day"),getEnd(7,"days")]),o),last30Days:o=>withParams(t([getStart(-29,"days"),getEnd(0,"days")]),o),next30Days:o=>withParams(t([getStart(1,"day"),getEnd(30,"days")]),o),last90Days:o=>withParams(t([getStart(-89,"days"),getEnd(0,"days")]),o),next90Days:o=>withParams(t([getStart(1,"day"),getEnd(90,"days")]),o)}}return{now:()=>(0,import_dayjs.default)().toISOString(),today:t=>withParams([getStart(0,"day"),getEnd(0,"day")],t),yesterday:t=>withParams([getStart(-1,"day"),getEnd(-1,"day")],t),dayBeforeYesterday:t=>withParams([getStart(-2,"day"),getEnd(-2,"day")],t),tomorrow:t=>withParams([getStart(1,"day"),getEnd(1,"day")],t),thisWeek:t=>withParams([getStart(0,"isoWeek"),getEnd(0,"isoWeek")],t),lastWeek:t=>withParams([getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],t),nextWeek:t=>withParams([getStart(1,"isoWeek"),getEnd(1,"isoWeek")],t),thisIsoWeek:t=>withParams([getStart(0,"isoWeek"),getEnd(0,"isoWeek")],t),lastIsoWeek:t=>withParams([getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],t),nextIsoWeek:t=>withParams([getStart(1,"isoWeek"),getEnd(1,"isoWeek")],t),thisMonth:t=>withParams([getStart(0,"month"),getEnd(0,"month")],t),lastMonth:t=>withParams([getStart(-1,"month"),getEnd(-1,"month")],t),nextMonth:t=>withParams([getStart(1,"month"),getEnd(1,"month")],t),thisQuarter:t=>withParams([getStart(0,"quarter"),getEnd(0,"quarter")],t),lastQuarter:t=>withParams([getStart(-1,"quarter"),getEnd(-1,"quarter")],t),nextQuarter:t=>withParams([getStart(1,"quarter"),getEnd(1,"quarter")],t),thisYear:t=>withParams([getStart(0,"year"),getEnd(0,"year")],t),lastYear:t=>withParams([getStart(-1,"year"),getEnd(-1,"year")],t),nextYear:t=>withParams([getStart(1,"year"),getEnd(1,"year")],t),last7Days:t=>withParams([getStart(-6,"days"),getEnd(0,"days")],t),next7Days:t=>withParams([getStart(1,"day"),getEnd(7,"days")],t),last30Days:t=>withParams([getStart(-29,"days"),getEnd(0,"days")],t),next30Days:t=>withParams([getStart(1,"day"),getEnd(30,"days")],t),last90Days:t=>withParams([getStart(-89,"days"),getEnd(0,"days")],t),next90Days:t=>withParams([getStart(1,"day"),getEnd(90,"days")],t)}},getDateExact=()=>({nowUtc:()=>(0,import_dayjs.default)().toISOString(),nowLocal:()=>(0,import_dayjs.default)().format("YYYY-MM-DD HH:mm:ss"),todayUtc:()=>(0,import_dayjs.default)().startOf("day").utc().toISOString(),todayLocal:()=>(0,import_dayjs.default)().startOf("day").format("YYYY-MM-DD HH:mm:ss"),todayDate:()=>(0,import_dayjs.default)().format("YYYY-MM-DD"),yesterdayUtc:()=>(0,import_dayjs.default)().subtract(1,"day").startOf("day").utc().toISOString(),yesterdayLocal:()=>(0,import_dayjs.default)().subtract(1,"day").startOf("day").format("YYYY-MM-DD HH:mm:ss"),yesterdayDate:()=>(0,import_dayjs.default)().subtract(1,"day").format("YYYY-MM-DD"),tomorrowUtc:()=>(0,import_dayjs.default)().add(1,"day").startOf("day").utc().toISOString(),tomorrowLocal:()=>(0,import_dayjs.default)().add(1,"day").startOf("day").format("YYYY-MM-DD HH:mm:ss"),tomorrowDate:()=>(0,import_dayjs.default)().add(1,"day").format("YYYY-MM-DD")});function withParams(e,t){return t!=null&&t.isParsingVariable&&t!=null&&t.fieldOperator&&t.fieldOperator!=="$dateBetween"?e[0]:e}function inferPickerType(e,t){return/^\d{4}$/.test(e)?"year":/^\d{4}-\d{2}$/.test(e)?"month":/^\d{4}Q[1-4]$/.test(e)?"quarter":/^\d{4}-\d{2}-\d{2}$/.test(e)?"date":t||"date"}const NAMESPACE_UI_SCHEMA="ui-schema-storage",parseVariables=(e,t)=>{var o;const r=/{{(.*?)}}/,i=(o=e==null?void 0:e.match)==null?void 0:o.call(e,r);if(i){const n=import_lodash.default.get(t,i[1]);return import_lodash.default.isFunction(n)?n():n}else return e};function getInnermostKeyAndValue(e){if(typeof e!="object"||e===null)return null;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t))return Object.prototype.toString.call(e[t])==="[object Object]"&&e[t]!==null?getInnermostKeyAndValue(e[t]):{key:t,value:e[t]};return null}const getTargetField$1=e=>{const t=getAllKeys(e),o=(0,import_lodash.findIndex)(t,(r,i,n)=>{if(r.includes("$")&&i>0)return!0});return t.slice(0,o)};function getAllKeys(e){const t=[];function o(r){Object.keys(r).sort().forEach(function(i){t.push(i),r[i]&&typeof r[i]=="object"&&o(r[i])})}return o(e),t}const parseVariableValue=(e,t,o)=>z(void 0,null,function*(){const r=isVariable$1(e)?[t.parseVariable(e,o).then(({value:i})=>i)]:[e];try{const[i]=yield Promise.all(r);return i}catch(i){throw console.error("Error in parseVariableValue:",i),i}}),conditionAnalyses=(e,t)=>z(void 0,[e,t],function*({ruleGroup:o,variables:r,localVariables:i,variableNameOfLeftCondition:n,conditionType:a},l){const c=Object.keys(o)[0]||"$and",u=o[c],m=yield Promise.all(u.map(d=>processCondition(d,r,i,n,a,l)));return c==="$and"?(0,import_lodash.every)(m,d=>d):m.length?(0,import_lodash.some)(m,d=>d):!0}),processCondition=(e,t,o,r,i,n)=>z(void 0,null,function*(){return"$and"in e||"$or"in e?yield conditionAnalyses({ruleGroup:e,variables:t,localVariables:o,conditionType:i},n):i==="advanced"?processAdvancedCondition(e,t,o,n):processBasicCondition(e,t,o,r,n)}),processAdvancedCondition=(e,t,o,r)=>z(void 0,null,function*(){const i=e.op,n=yield parseVariableValue(e.rightVar,t,o),a=yield parseVariableValue(e.leftVar,t,o);return i?r.apply({[i]:[a,n]}):!0}),processBasicCondition=(e,t,o,r,i)=>z(void 0,null,function*(){const n=getInnermostKeyAndValue(e),a=n==null?void 0:n.key;if(!a)return!0;const l=targetFieldToVariableString(getTargetField$1(e),r),c=t.parseVariable(l,o,{doNotRequest:!0}).then(({value:m})=>m),u=isVariable$1(n==null?void 0:n.value)?[t.parseVariable(n==null?void 0:n.value,o).then(({value:m})=>m),c]:[n==null?void 0:n.value,c];try{const[m,d]=yield Promise.all(u),p=yield t.getCollectionField(l,o);let h=transformVariableValue(d,{targetCollectionField:p});const g=transformVariableValue(m,{targetCollectionField:p});if(p!=null&&p.type&&["datetime","date","datetimeNoTz","dateOnly","unixTimestamp"].includes(p.type)&&h){const _=inferPickerType(g),f=(0,import_client.getPickerFormat)(_);h=(0,import_client.dayjs)(h).format(f)}return i.apply({[a]:[h,g]})}catch(m){throw m}});function targetFieldToVariableString(e,t="$nForm"){return`{{ ${t}.${e.join(".")} }}`}const getVariablesData=e=>{const t={};return e.map(o=>{t[o.name]=o.ctx}),t};function safeCompile(e){return e.replace(/{{\s*}}/g,'{{"{{}}"}}')}function getRenderContent(e,t,o,r,i,n){return z(this,null,function*(){var a,l;if(t&&e==="handlebars"){import_client.Handlebars.registerHelper("t",function(c){if(typeof c=="string")return n(c,{ns:NAMESPACE_UI_SCHEMA})});try{const c=safeCompile(t),u=import_client.Handlebars.compile(c),m=getVariablesData(r),{$nDate:d}=((a=o==null?void 0:o.ctxRef)==null?void 0:a.current)||{},p={};Object.keys(d||{}).map(g=>{p[g]=d[g]()});const h=u(P(x(x({},(l=o==null?void 0:o.ctxRef)==null?void 0:l.current),m),{$nDate:p}));return console.log(h),yield i(h)}catch(c){return/VariablesProvider: .* is not found/.test(c.message)||console.log(c),console.log(t),t}}else try{const c=yield replaceVariableValue(t,o,r);return yield i(c)}catch(c){return/VariablesProvider: .* is not found/.test(c.message)||console.log(c),t}})}const getPath=e=>e&&e.match(REGEX_OF_VARIABLE)[0].replace(REGEX_OF_VARIABLE,"$1"),getVariableName=e=>import_lodash.default.isString(e)?getPath(e).split(".")[0]:e;var ActionType=(e=>(e.Visible="visible",e.Editable="editable",e.ReadOnly="disabled",e.ReadPretty="readPretty",e.None="none",e.Hidden="hidden",e.Required="required",e.InRequired="notRequired",e.Disabled="disabled",e.Value="value",e.Active="enabled",e.Color="color",e.BackgroundColor="backgroundColor",e.TextAlign="textAlign",e.Options="options",e.DateScope="dateScope",e.FontSize="fontSize",e.FontWeight="fontWeight",e.FontStyle="fontStyle",e))(ActionType||{}),LinkageRuleCategory=(e=>(e.default="default",e.style="style",e.button="button",e.block="block",e))(LinkageRuleCategory||{});const LinkageRuleDataKeyMap={style:"x-linkage-style-rules",default:"x-linkage-rules",button:"x-linkage-rules",block:"x-block-linkage-rules"};function bindLinkageRulesToFiled({field:e,linkageRules:t,formValues:o,localVariables:r,action:i,rule:n,variables:a,variableNameOfLeftCondition:l},c){var u,m,d,p,h,g;return e.initStateOfLinkageRules={display:((u=e.initStateOfLinkageRules)==null?void 0:u.display)||getTempFieldState(!0,e.display),required:((m=e.initStateOfLinkageRules)==null?void 0:m.required)||getTempFieldState(!0,e.required||!1),pattern:((d=e.initStateOfLinkageRules)==null?void 0:d.pattern)||getTempFieldState(!0,e.pattern),value:((p=e.initStateOfLinkageRules)==null?void 0:p.value)||getTempFieldState(!0,e.value||e.initialValue),dataSource:((h=e.initStateOfLinkageRules)==null?void 0:h.dataSource)||getTempFieldState(!0,e.dataSource||e.options),dateScope:((g=e.initStateOfLinkageRules)==null?void 0:g.dateScope)||getTempFieldState(!0,null)},(0,import_reactive.reaction)(()=>{const _=getFieldValuesInCondition({linkageRules:t,formValues:o}),f=getVariableValuesInCondition({linkageRules:t,localVariables:r}),v=getVariableValuesInExpression({action:i,localVariables:r});return[_,f,v].map(C=>JSON.stringify(C)).join(",")},getSubscriber({action:i,field:e,rule:n,variables:a,localVariables:r,variableNameOfLeftCondition:l},c),{fireImmediately:!0,equals:import_lodash.default.isEqual})}function getFieldValuesInCondition({linkageRules:e,formValues:t}){return e.map(o=>{const r=i=>{const n=Object.keys(i)[0]||"$and";return i[n].map(a=>{if("$and"in a||"$or"in a)return r(a);const l=getTargetField$1(a).join(".");return(0,import_client.getValuesByPath)(t,l)}).filter(Boolean)};return r(o.condition)})}function getVariableValuesInCondition({linkageRules:e,localVariables:t}){return e.map(o=>{const r=Object.keys(o.condition)[0]||"$and",i=o.condition[r];return o.conditionType==="advanced"?i.map(n=>{if(!n)return null;if(n.$and||n.$or)return getVariableValuesInCondition({linkageRules:[{conditionType:"advanced",condition:n}],localVariables:t});const a=l=>isVariable$1(l)?getVariableValue$1(l,t):l;return{leftVar:a(n.leftVar),rightVar:a(n.rightVar)}}).filter(Boolean):i.map(n=>{const a=getInnermostKeyAndValue(n);return a?isVariable$1(a.value)?getVariableValue$1(a.value,t):a.value:null}).filter(Boolean)})}function getVariableValuesInExpression({action:e,localVariables:t}){var o;const r=e.value,i=r==null?void 0:r.mode,n=(r==null?void 0:r.value)||(r==null?void 0:r.result);if(i==="express"&&n!=null)return(o=getVariablesFromExpression(n))==null?void 0:o.map(a=>getVariableValue$1(a,t)).filter(Boolean)}function getVariableValue$1(e,t){var o;if(!isVariable$1(e))return;const r=getVariableName(e),i={[r]:(o=t.find(n=>n.name===r))==null?void 0:o.ctx};return(0,import_client.getValuesByPath)(i,getPath(e))}function getSubscriber({action:e,field:t,rule:o,variables:r,localVariables:i,variableNameOfLeftCondition:n},a){return()=>{collectFieldStateOfLinkageRules({operator:e.operator,value:e.value,field:t,condition:o.condition,variables:r,localVariables:i,variableNameOfLeftCondition:n,action:e,conditionType:o.conditionType},a),setTimeout(()=>z(this,null,function*(){var l,c,u,m,d,p,h,g;const _=getFieldNameByOperator(e.operator);if(!((l=t.stateOfLinkageRules)!=null&&l[_]))return;let f=t.stateOfLinkageRules[_];f=yield Promise.all(f),f=f.filter(C=>C.condition);const v=f[f.length-1];if(_==="value")f.length>1&&(t.value=v.value);else if(_==="dateScope")t.setComponentProps({_maxDate:((u=(c=v.value)==null?void 0:c._maxDate)==null?void 0:u.value)||((m=v.value)==null?void 0:m._maxDate),_minDate:((p=(d=v.value)==null?void 0:d._minDate)==null?void 0:p.value)||((h=v.value)==null?void 0:h._minDate)});else{if(_==="display"&&(v==null?void 0:v.value)==="hidden")t.display="visible",t.data=t.data||{},t.data.hidden=!0,t.required&&(t.required=!1,t.data.prevRequired=!0),requestAnimationFrame(()=>{t.setState(C=>{C.display="visible"})});else if(_==="dataSource"){const C=((g=v==null?void 0:v.value)==null?void 0:g.map(S=>S.value))||[];(t.value&&!Array.isArray(t.value)&&!C.includes(t.value)||Array.isArray(t.value)&&import_lodash.default.difference(t.value,C).length>0)&&(t.value=t.initialValue),t[_]=v==null?void 0:v.value,t.data=t.data||{},requestAnimationFrame(()=>{t.setState(S=>{S[_]=v==null?void 0:v.value})})}else _==="display"&&(v==null?void 0:v.value)==="visible"?(t[_]=v==null?void 0:v.value,_==="display"&&(v==null?void 0:v.value)==="visible"&&(t.data=t.data||{},t.data.hidden=!1,t.data.prevRequired&&(delete t.data.prevRequired,t.required=!0)),requestAnimationFrame(()=>{t.setState(C=>{C[_]=v==null?void 0:v.value})})):(t[_]=v==null?void 0:v.value,requestAnimationFrame(()=>{t.setState(C=>{C[_]=v==null?void 0:v.value})}));_==="display"&&(v==null?void 0:v.value)==="none"&&(t.value=null)}t.stateOfLinkageRules[_]=null}))}}function getFieldNameByOperator(e){switch(e){case ActionType.Required:case ActionType.InRequired:return"required";case ActionType.Visible:case ActionType.None:case ActionType.Hidden:return"display";case ActionType.Editable:case ActionType.ReadOnly:case ActionType.ReadPretty:return"pattern";case ActionType.Value:return"value";case ActionType.Options:return"dataSource";case ActionType.DateScope:return"dateScope";default:return null}}const collectFieldStateOfLinkageRules=({operator:e,value:t,field:o,condition:r,variables:i,localVariables:n,variableNameOfLeftCondition:a,action:l,conditionType:c},u)=>{var m,d,p,h,g,_,f,v,C,S,b,y,F,j;const k=((m=o==null?void 0:o.stateOfLinkageRules)==null?void 0:m.required)||[(d=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:d.required],T=((p=o==null?void 0:o.stateOfLinkageRules)==null?void 0:p.display)||[(h=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:h.display],M=((g=o==null?void 0:o.stateOfLinkageRules)==null?void 0:g.pattern)||[(_=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:_.pattern],w=((f=o==null?void 0:o.stateOfLinkageRules)==null?void 0:f.value)||[(v=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:v.value],L=((C=o==null?void 0:o.stateOfLinkageRules)==null?void 0:C.dataSource)||[(S=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:S.dataSource],{evaluate:D}=import_client3.evaluators.get("formula.js"),R={ruleGroup:r,variables:i,localVariables:n,variableNameOfLeftCondition:a,conditionType:c},N=((b=o==null?void 0:o.stateOfLinkageRules)==null?void 0:b.dateScope)||[(y=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:y.dateScope];switch(e){case ActionType.Required:k.push(getTempFieldState(conditionAnalyses(R,u),!0)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{required:k});break;case ActionType.InRequired:k.push(getTempFieldState(conditionAnalyses(R,u),!1)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{required:k});break;case ActionType.Visible:case ActionType.None:case ActionType.Hidden:T.push(getTempFieldState(conditionAnalyses(R,u),e)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{display:T});break;case ActionType.Editable:case ActionType.ReadOnly:case ActionType.ReadPretty:M.push(getTempFieldState(conditionAnalyses(R,u),e)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{pattern:M});break;case ActionType.Value:{const B=()=>z(void 0,null,function*(){var I;if((t==null?void 0:t.mode)==="express"){if((t.value||t.result)==null)return;const{exp:$,scope:E}=yield replaceVariables(t.value||t.result,{variables:i,localVariables:n});try{return D($,x({now:()=>new Date().toString()},E))}catch(O){console.error(O)}}else return(t==null?void 0:t.mode)==="constant"?(I=t==null?void 0:t.value)!=null?I:t:null});isConditionEmpty(r)?w.push(getTempFieldState(!0,B())):w.push(getTempFieldState(conditionAnalyses(R,u),B())),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{value:w})}break;case ActionType.Options:{const B=(j=(F=o.data)==null?void 0:F.dataSource)==null?void 0:j.filter(I=>t.value.includes(I.value));L.push(getTempFieldState(conditionAnalyses(R,u),B||[])),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{dataSource:L})}break;case ActionType.DateScope:{N.push(getTempFieldState(conditionAnalyses(R,u),{_maxDate:l._maxDate,_minDate:l._minDate})),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{dateScope:N});break}default:return null}};function getTempFieldState(e,t){return z(this,null,function*(){return[e,t]=yield Promise.all([e,t]),{condition:e,value:t}})}function isConditionEmpty(e){const t=Object.keys(e)[0]||"$and",o=e[t];return import_lodash.default.isEmpty(o)}function replaceVariables(e,t){return z(this,arguments,function*(o,{variables:r,localVariables:i}){var n;const a={},l={};if(o==null)return{};const c=(n=o.match(REGEX_OF_VARIABLE_IN_EXPRESSION))==null?void 0:n.map(u=>z(this,null,function*(){const{value:m}=yield r.parseVariable(u,i),d=`_${(0,import_client.uid)()}`;return l[d]=m,a[u]=d,m}));return c&&(yield Promise.all(c)),{exp:o.replace(REGEX_OF_VARIABLE_IN_EXPRESSION,u=>`{{${a[u]||u}}}`),scope:l}})}const getVariableValue=(e,t)=>z(void 0,null,function*(){if(!e)return e;const{evaluate:o}=import_client3.evaluators.get("string"),{exp:r,scope:i}=yield replaceVariables(e,t);return o(r,x({now:()=>new Date().toString()},i))}),setDataLoadingModeSettingsItem={name:"setDataLoadingMode",Component:SetDataLoadingMode};function useDataLoadingMode(){const{dataLoadingMode:e}=useDataBlockProps()||{};return e||"auto"}function SetDataLoadingMode(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCollection(),{getEnableFieldTree:a,getOnLoadData:l}=useCollectionState(n==null?void 0:n.name),{getDataBlockRequest:c}=useDataBlockRequestGetter();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:o("Set data loading mode"),scope:{getEnableFieldTree:a,name:n==null?void 0:n.name,getOnLoadData:l},schema:{type:"object",title:o("Data loading mode"),properties:{dataLoadingMode:{"x-decorator":"FormItem","x-component":"Radio.Group",default:((e=i["x-decorator-props"])==null?void 0:e.dataLoadingMode)||"auto",enum:[{value:"auto",label:o("Load all data when filter is empty")},{value:"manual",label:o("Do not load data when filter is empty")}]}}},onSubmit:({dataLoadingMode:u})=>{const m=c();import_lodash.default.set(i,"x-decorator-props.dataLoadingMode",u),r.decoratorProps.dataLoadingMode=u,t.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":x({},i["x-decorator-props"])}}),t.refresh(),u==="auto"?m.run():m.mutate(void 0)}})}const useSourceKey=e=>useCollectionManager().getSourceKeyByAssociation(e),KeepAliveContext=(0,import_react2.createContext)(!0),DesignableInterceptor=({children:e,active:t})=>{const o=(0,import_react2.useContext)(SchemaComponentContext),r=(0,import_react2.useContext)(import_react.SchemaOptionsContext),i=(0,import_react2.useContext)(import_react.SchemaComponentsContext),n=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),a=(0,import_react2.useContext)(ACLContext),l=(0,import_react2.useRef)(o),c=(0,import_react2.useRef)(r),u=(0,import_react2.useRef)(i),m=(0,import_react2.useRef)(n),d=(0,import_react2.useRef)(a);return t&&(l.current=o,c.current=r,u.current=i,m.current=n,d.current=a),(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:l.current,children:(0,import_jsx_runtime.jsx)(import_react.SchemaOptionsContext.Provider,{value:c.current,children:(0,import_jsx_runtime.jsx)(import_react.SchemaComponentsContext.Provider,{value:u.current,children:(0,import_jsx_runtime.jsx)(import_react.SchemaExpressionScopeContext.Provider,{value:m.current,children:(0,import_jsx_runtime.jsx)(ACLContext.Provider,{value:d.current,children:e})})})})})},hidden={display:"none"},KeepAliveProvider=(0,import_react2.memo)(({children:e,active:t,parentActive:o})=>{const r=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_LocationContext),i=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_RouteContext),n=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_DataRouterContext),a=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_DataRouterStateContext),l=(0,import_react2.useContext)(IsSubPageClosedByPageMenuContext),c=(0,import_react2.useContext)(import_context.Context),u=(0,import_react2.useContext)(import_pro_layout.RouteContext),m=(0,import_react2.useRef)(r),d=(0,import_react2.useRef)(i),p=(0,import_react2.useRef)(n),h=(0,import_react2.useRef)(a),g=(0,import_react2.useRef)(l),_=(0,import_react2.useRef)(c),f=(0,import_react2.useRef)(u);t&&(p.current=n,h.current=a,g.current=l,_.current=c,f.current=u),t&&!import_lodash.default.isEqual(import_lodash.default.omit(m.current.location,"key"),import_lodash.default.omit(r.location,"key"))&&(m.current=r),t&&!import_lodash.default.isEqual(d.current,i)&&(d.current=i);const v=(0,import_jsx_runtime.jsx)(import_pro_layout.RouteContext.Provider,{value:f.current,children:(0,import_jsx_runtime.jsx)(import_context.Context.Provider,{value:_.current,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_DataRouterContext.Provider,{value:p.current,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_DataRouterStateContext.Provider,{value:h.current,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_LocationContext.Provider,{value:m.current,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_RouteContext.Provider,{value:d.current,children:(0,import_jsx_runtime.jsx)(KeepAliveContext.Provider,{value:o===!1?!1:t,children:(0,import_jsx_runtime.jsx)(DesignableInterceptor,{active:t,children:(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuContext.Provider,{value:g.current,children:e})})})})})})})})});return(0,import_jsx_runtime.jsx)("div",{style:t?null:hidden,children:v})}),useKeepAlive=()=>({active:(0,import_react2.useContext)(KeepAliveContext)}),getMaxPageCount=()=>{let e=5;try{const t=navigator.deviceMemory;if(t)return Math.min(Math.max(5,t*3),20);const o=performance.memory;if(o!=null&&o.jsHeapSizeLimit){const n=o.jsHeapSizeLimit/1073741824;return Math.min(Math.max(5,Math.floor(n*3)),20)}const r=performance.now();for(let n=0;n<1e6;n++);const i=performance.now()-r;return i<3?e=20:i<5?e=10:i<10&&(e=5),e}catch{return 5}},MAX_RENDERED_PAGE_COUNT=getMaxPageCount(),KeepAlive=import_react2.default.memo(({children:e,uid:t})=>{const{active:o}=useKeepAlive(),r=(0,import_react2.useRef)([]);return r.current.includes(t)||(r.current.push(t),r.current.length>MAX_RENDERED_PAGE_COUNT&&(r.current=r.current.slice(-MAX_RENDERED_PAGE_COUNT))),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:r.current.map(i=>(0,import_jsx_runtime.jsx)(KeepAliveProvider,{active:i===t,parentActive:o,children:e(i)},i))})});KeepAlive.displayName="KeepAlive";const DEBOUNCE_WAIT=100,LOADING_DELAY=void 0,EMPTY_OBJECT=Object.freeze({});class CollectionRecord{constructor(t){A(this,"data"),A(this,"parentRecord"),A(this,"isNew");const{data:o,parentRecord:r,isNew:i}=t;this.isNew=i,this.data=o,this.parentRecord=r}setData(t){this.data=t}setParentRecord(t){this.parentRecord=t}}const CollectionRecordContext=(0,import_react2.createContext)(null);CollectionRecordContext.displayName="CollectionRecordContext";const CollectionRecordProvider=import_react2.default.memo(({isNew:e,record:t,parentRecord:o,children:r})=>{const i=(0,import_react2.useMemo)(()=>{if(o)return o instanceof CollectionRecord?o:new CollectionRecord({data:o});if(t instanceof CollectionRecord)return t.parentRecord},[o,t]),n=(0,import_react2.useMemo)(()=>{let a;return t?t instanceof CollectionRecord?(a=t,a.isNew=t.isNew||e):a=new CollectionRecord({data:t,isNew:e}):a=new CollectionRecord({isNew:e}),a.setParentRecord(i),a},[t,i,e]);return(0,import_jsx_runtime.jsx)(CollectionRecordContext.Provider,{value:n,children:r})});CollectionRecordProvider.displayName="CollectionRecordProvider";function useCollectionRecord(){return(0,import_react2.useContext)(CollectionRecordContext)}function useCollectionRecordData(){const e=useCollectionRecord();return e==null?void 0:e.data}function useCollectionParentRecord(){const e=useCollectionRecord();return e==null?void 0:e.parentRecord}function useCollectionParentRecordData(){var e;const t=useCollectionRecord();return(e=t==null?void 0:t.parentRecord)==null?void 0:e.data}const DataBlockResourceContext$1=(0,import_react2.createContext)(null);DataBlockResourceContext$1.displayName="DataBlockResourceContext";const DataBlockResourceProvider=({children:e})=>{const t=useDataBlockProps(),o=useCollectionManager(),{association:r,collection:i,dataSource:n,sourceId:a,parentRecord:l}=t,c=useAPIClient(),u=useDataSourceHeaders(n),m=(0,import_react2.useMemo)(()=>typeof i=="string"?i:i==null?void 0:i.name,[i]),d=(0,import_react2.useMemo)(()=>{if(a)return a;if(r&&l){const h=o.getSourceKeyByAssociation(r),g=l instanceof CollectionRecord?l.data:l;if((0,import_lodash.isArray)(h)){const _={};for(const f of h)_[f]=g==null?void 0:g[f];return encodeURIComponent(JSON.stringify(_))}else return g[h]}},[r,a,l]),p=(0,import_react2.useMemo)(()=>r?c.resource(r,d,u,!d):c.resource(m,void 0,u),[c,r,i,d,u]);return(0,import_jsx_runtime.jsx)(DataBlockResourceContext$1.Provider,{value:p,children:e})};function useDataBlockResource(){const e=(0,import_react2.useContext)(DataBlockResourceContext$1);if(!e)throw new Error("useDataBlockResource() must be used within a DataBlockResourceProvider");return e}const defaultTheme={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}};function compatOldTheme(e){var t;return(t=e.token)!=null&&t.colorSettings||(e.token=x(x({},e.token),defaultTheme.token)),e}const customAlgorithm=(e,t)=>{const o=t||import_antd.theme.defaultAlgorithm(e);return o.paddingPageHorizontal!=null||(o.paddingPageHorizontal=o.sizeLG),o.paddingPageVertical!=null||(o.paddingPageVertical=o.sizeLG),o.paddingPopupHorizontal!=null||(o.paddingPopupHorizontal=o.sizeLG),o.paddingPopupVertical!=null||(o.paddingPopupVertical=o.size),o.marginBlock!=null||(o.marginBlock=o.sizeLG),o.borderRadiusBlock!=null||(o.borderRadiusBlock=o.borderRadiusLG),o.colorBgSider!=null||(o.colorBgSider=o.colorBgElevated),o.colorBgSiderMenuHover!=null||(o.colorBgSiderMenuHover=o.colorBgTextHover||o.colorFillSecondary),o.colorBgSiderMenuActive!=null||(o.colorBgSiderMenuActive=o.colorPrimaryBg),o.colorTextSiderMenu!=null||(o.colorTextSiderMenu=o.colorText),o.colorTextSiderMenuHover!=null||(o.colorTextSiderMenuHover=o.colorText),o.colorTextSiderMenuActive!=null||(o.colorTextSiderMenuActive=o.colorPrimary),o},addCustomAlgorithmToTheme=e=>(Array.isArray(e.algorithm)?e.algorithm.includes(customAlgorithm)||e.algorithm.push(customAlgorithm):e.algorithm=[e.algorithm,customAlgorithm].filter(Boolean),e.algorithm=e.algorithm.filter(Boolean),e),AppInner=(0,import_react2.memo)(({children:e})=>{const t=useApp(),{notification:o}=import_antd.App.useApp(),r=useAPIClient();return(0,import_react2.useEffect)(()=>{r.notification=o,t.notification=o},[o]),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e})});AppInner.displayName="AppInner";const AntdAppProvider=({children:e,className:t,style:o})=>(0,import_jsx_runtime.jsx)(import_antd.App,{className:t,style:x({height:"100%"},o),children:(0,import_jsx_runtime.jsx)(AppInner,{children:e})});AntdAppProvider.displayName="AntdAppProvider";const GlobalThemeContext=(0,import_react2.createContext)(null);GlobalThemeContext.displayName="GlobalThemeContext";const useGlobalTheme=()=>import_react2.default.useContext(GlobalThemeContext)||{theme:{},isDarkTheme:!1},GlobalThemeProvider=({children:e,theme:t})=>{const[o,r]=import_react2.default.useState(t||defaultTheme),i=(0,import_react2.useRef)(null),n=(0,import_react2.useRef)(null),a=(0,import_react2.useMemo)(()=>{const p=o==null?void 0:o.algorithm;return Array.isArray(p)?p.includes(import_antd.theme.darkAlgorithm):p===import_antd.theme.darkAlgorithm},[o==null?void 0:o.algorithm]),l=(0,import_react2.useCallback)(p=>{n.current=p&&import_lodash.default.cloneDeep(p)},[]),c=(0,import_react2.useCallback)(()=>n.current,[]),u=(0,import_react2.useCallback)(p=>{i.current=p&&import_lodash.default.cloneDeep(p)},[]),m=(0,import_react2.useCallback)(()=>i.current,[]),d=(0,import_react2.useMemo)(()=>({theme:addCustomAlgorithmToTheme(o),setTheme:r,setCurrentSettingTheme:u,getCurrentSettingTheme:m,setCurrentEditingTheme:l,getCurrentEditingTheme:c,isDarkTheme:a}),[c,m,a,l,u,o]);return(0,import_jsx_runtime.jsx)(GlobalThemeContext.Provider,{value:d,children:(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{theme:compatOldTheme(d.theme),children:e})})},useToken=()=>import_antd.theme.useToken(),CSSVariableProvider=({children:e})=>{const{token:t}=useToken(),o=t.colorFillTertiary,r=new import_tinycolor.TinyColor(t.colorFill).onBackground(t.colorFillSecondary).toHexShortString(),i=new import_tinycolor.TinyColor(t.colorFill).onBackground(t.colorFill).toHexShortString(),n=new import_tinycolor.TinyColor(t.colorFill).onBackground(t.colorFill).onBackground(t.colorFill).toHexShortString();return(0,import_react2.useEffect)(()=>{document.body.style.setProperty("--nb-spacing",`${t.marginLG}px`),document.body.style.setProperty("--nb-designer-offset",`${t.marginXS}px`),document.body.style.setProperty("--nb-header-height",`${t.sizeXXL-2}px`),document.body.style.setProperty("--nb-box-bg",t.colorBgLayout),document.body.style.setProperty("--nb-box-bg",t.colorBgLayout),document.body.style.setProperty("--controlHeightLG",`${t.controlHeightLG}px`),document.body.style.setProperty("--paddingContentVerticalSM",`${t.paddingContentVerticalSM}px`),document.body.style.setProperty("--marginSM",`${t.marginSM}px`),document.body.style.setProperty("--colorInfoBg",t.colorInfoBg),document.body.style.setProperty("--colorInfoBorder",t.colorInfoBorder),document.body.style.setProperty("--colorWarningBg",t.colorWarningBg),document.body.style.setProperty("--colorWarningBorder",t.colorWarningBorder),document.body.style.setProperty("--colorText",t.colorText),document.body.style.setProperty("--colorTextHeaderMenu",t.colorTextHeaderMenu),document.body.style.setProperty("--colorPrimaryText",t.colorPrimaryText),document.body.style.setProperty("--colorPrimaryTextActive",t.colorPrimaryTextActive),document.body.style.setProperty("--colorPrimaryTextHover",t.colorPrimaryTextHover),document.body.style.setProperty("--colorBgSider",t.colorBgSider),document.body.style.setProperty("--colorBgSiderMenuHover",t.colorBgSiderMenuHover),document.body.style.setProperty("--colorBgSiderMenuActive",t.colorBgSiderMenuActive),document.body.style.setProperty("--colorTextSiderMenu",t.colorTextSiderMenu),document.body.style.setProperty("--colorTextSiderMenuHover",t.colorTextSiderMenuHover),document.body.style.setProperty("--colorTextSiderMenuActive",t.colorTextSiderMenuActive),document.body.style.setProperty("--colorBgScrollTrack",o),document.body.style.setProperty("--colorBgScrollBar",r),document.body.style.setProperty("--colorBgScrollBarHover",i),document.body.style.setProperty("--colorBgScrollBarActive",n),document.body.style.setProperty("--colorSettings",t.colorSettings||defaultTheme.token.colorSettings),document.body.style.setProperty("--colorBgSettingsHover",t.colorBgSettingsHover),document.body.style.setProperty("--colorTemplateBgSettingsHover",t.colorTemplateBgSettingsHover),document.body.style.setProperty("--colorBorderSettingsHover",t.colorBorderSettingsHover),document.body.style.setProperty("--colorBgMenuItemSelected",t.colorBgHeaderMenuActive),document.body.style.setProperty("background-color",t.colorBgContainer)},[r,n,i,o,t.colorBgContainer,t.colorBgLayout,t.colorBgSettingsHover,t.colorTemplateBgSettingsHover,t.colorBorderSettingsHover,t.colorInfoBg,t.colorInfoBorder,t.colorPrimaryText,t.colorPrimaryTextActive,t.colorPrimaryTextHover,t.colorSettings,t.colorText,t.colorWarningBg,t.colorWarningBorder,t.controlHeightLG,t.marginLG,t.marginSM,t.marginXS,t.paddingContentVerticalSM,t.sizeXXL,t.colorTextHeaderMenu,t.colorBgSider,t.colorBgSiderMenuHover,t.colorBgSiderMenuActive,t.colorTextSiderMenu,t.colorTextSiderMenuHover,t.colorTextSiderMenuActive]),e};CSSVariableProvider.displayName="CSSVariableProvider";const dayjsLocale={"ar-EG":"ar","az-AZ":"az","bg-BG":"bg","bn-BD":"bn-bd","by-BY":"en","ca-ES":"ca","cs-CZ":"cs","da-DK":"da","de-DE":"de","el-GR":"el","en-GB":"en-gb","en-US":"en","es-ES":"es","et-EE":"et","fa-IR":"fa","fi-FI":"fi","fr-BE":"fr","fr-CA":"fr","fr-FR":"fr","ga-IE":"ga","gl-ES":"gl","he-IL":"he","hi-IN":"hi","hr-HR":"hr","hu-HU":"hu","hy-AM":"hy-am","id-ID":"id","is-IS":"is","it-IT":"it","ja-JP":"ja","ka-GE":"ka","kk-KZ":"kk","km-KH":"km","kn-IN":"kn","ko-KR":"ko","ku-IQ":"ku","lt-LT":"lt","lv-LV":"lv","mk-MK":"mk","ml-IN":"ml","mn-MN":"mn","ms-MY":"ms","nb-NO":"nb","ne-NP":"ne","nl-BE":"nl-be","nl-NL":"nl","pl-PL":"pl","pt-BR":"pt-br","pt-PT":"pt","ro-RO":"ro","ru-RU":"ru","si-LK":"si","sk-SK":"sk","sl-SI":"sl","sr-RS":"sr","sv-SE":"sv","ta-IN":"ta","th-TH":"th","tk-TK":"tk","tr-TR":"tr","uk-UA":"uk","ur-PK":"ur","vi-VN":"vi","zh-CN":"zh-cn","zh-HK":"zh-hk","zh-TW":"zh-tw"},languageCodes={"ar-EG":{label:"العربية"},"az-AZ":{label:"Azərbaycan dili"},"bg-BG":{label:"Български"},"bn-BD":{label:"Bengali"},"by-BY":{label:"Беларускі"},"ca-ES":{label:"Сatalà/Espanya"},"cs-CZ":{label:"Česky"},"da-DK":{label:"Dansk"},"de-DE":{label:"Deutsch"},"el-GR":{label:"Ελληνικά"},"en-GB":{label:"English(GB)"},"en-US":{label:"English"},"es-ES":{label:"Español"},"et-EE":{label:"Estonian (Eesti)"},"fa-IR":{label:"فارسی"},"fi-FI":{label:"Suomi"},"fr-BE":{label:"Français(BE)"},"fr-CA":{label:"Français(CA)"},"fr-FR":{label:"Français"},"ga-IE":{label:"Gaeilge"},"gl-ES":{label:"Galego"},"he-IL":{label:"עברית"},"hi-IN":{label:"हिन्दी"},"hr-HR":{label:"Hrvatski jezik"},"hu-HU":{label:"Magyar"},"hy-AM":{label:"Հայերեն"},"id-ID":{label:"Bahasa Indonesia"},"is-IS":{label:"Íslenska"},"it-IT":{label:"Italiano"},"ja-JP":{label:"日本語"},"ka-GE":{label:"ქართული"},"kk-KZ":{label:"Қазақ тілі"},"km-KH":{label:"ភាសាខ្មែរ"},"kn-IN":{label:"ಕನ್ನಡ"},"ko-KR":{label:"한국어"},"ku-IQ":{label:"کوردی"},"lt-LT":{label:"lietuvių"},"lv-LV":{label:"Latviešu valoda"},"mk-MK":{label:"македонски јазик"},"ml-IN":{label:"മലയാളം"},"mn-MN":{label:"Монгол хэл"},"ms-MY":{label:"بهاس ملايو"},"nb-NO":{label:"Norsk bokmål"},"ne-NP":{label:"नेपाली"},"nl-BE":{label:"Vlaams"},"nl-NL":{label:"Nederlands"},"pl-PL":{label:"Polski"},"pt-BR":{label:"Português brasileiro"},"pt-PT":{label:"Português"},"ro-RO":{label:"România"},"ru-RU":{label:"Русский"},"si-LK":{label:"සිංහල"},"sk-SK":{label:"Slovenčina"},"sl-SI":{label:"Slovenščina"},"sr-RS":{label:"српски језик"},"sv-SE":{label:"Svenska"},"ta-IN":{label:"Tamil"},"th-TH":{label:"ภาษาไทย"},"tk-TK":{label:"Turkmen"},"tr-TR":{label:"Türkçe"},"uk-UA":{label:"Українська"},"ur-PK":{label:"Oʻzbekcha"},"vi-VN":{label:"Tiếng Việt"},"zh-CN":{label:"简体中文"},"zh-HK":{label:"繁體中文(香港)"},"zh-TW":{label:"繁體中文(台湾)"}};function tval(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}const i18n=import_i18next.default.createInstance();Object.keys(languageCodes).forEach(e=>{languageCodes[e].resources});i18n.use(import_react_i18next.initReactI18next).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1});function defineDevPlugins(e){Object.entries(e).forEach(([t,o])=>{window.define(`${t}/client`,()=>o)})}function definePluginClient(e){window.define(`${e}/client`,["exports",e],function(t,o){Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(o).forEach(function(r){r!=="__esModule"&&(r in t&&t[r]===o[r]||Object.defineProperty(t,r,{enumerable:!0,get:function(){return o[r]}}))})})}function configRequirejs(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((o,r)=>(o[r.packageName]=r.url,o),{})})}function processRemotePlugins(e,t){return(...o)=>{const r=o.map((n,a)=>[e[a].name,(n==null?void 0:n.default)||n]).filter(n=>n[1]);t(r);const i=o.map((n,a)=>n?null:a).filter(n=>n!==null).map(n=>e[n].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
23
23
  `))}}function getRemotePlugins(e,t=[]){configRequirejs(e,t);const o=t.map(r=>r.packageName);return o.forEach(r=>{definePluginClient(r)}),new Promise((r,i)=>{e.requirejs(o,processRemotePlugins(t,r),i)})}function getPlugins(e){return z(this,null,function*(){const{requirejs:t,pluginData:o,devDynamicImport:r}=e;if(o.length===0)return[];const i=[],n={};if(r){try{for(var a=Re(o),l,c,u;l=!(c=yield a.next()).done;l=!1){const d=c.value,p=yield r(d.packageName);p&&(i.push([d.name,p.default]),n[d.packageName]=p.default)}}catch(d){u=[d]}finally{try{l&&(c=a.return)&&(yield c.call(a))}finally{if(u)throw u[0]}}defineDevPlugins(n)}const m=o.filter(d=>!n[d.packageName]);if(m.length===0)return i;if(i.length===0){const d=yield getRemotePlugins(t,m);i.push(...d)}return i})}let PluginManager$1=class{constructor(e,t,o){A(this,"pluginInstances",new Map),A(this,"pluginsAliases",{}),A(this,"initPlugins"),this._plugins=e,this.loadRemotePlugins=t,this.app=o,this.app=o,this.initPlugins=this.init(e)}init(e){return z(this,null,function*(){yield this.initStaticPlugins(e),this.loadRemotePlugins&&(yield this.initRemotePlugins())})}initStaticPlugins(){return z(this,arguments,function*(e=[]){try{for(var t=Re(e),o,r,i;o=!(r=yield t.next()).done;o=!1){const n=r.value,a=Array.isArray(n)?n[0]:n,l=Array.isArray(n)?n[1]:void 0;yield this.add(a,l)}}catch(n){i=[n]}finally{try{o&&(r=t.return)&&(yield r.call(t))}finally{if(i)throw i[0]}}})}initRemotePlugins(){return z(this,null,function*(){var e;const t=yield this.app.apiClient.request({url:"pm:listEnabled"}),o=((e=t==null?void 0:t.data)==null?void 0:e.data)||[],r=yield getPlugins({requirejs:this.app.requirejs,pluginData:o,devDynamicImport:this.app.devDynamicImport});try{for(var i=Re(r),n,a,l;n=!(a=yield i.next()).done;n=!1){const[c,u]=a.value,m=o.find(d=>d.name===c);yield this.add(u,m)}}catch(c){l=[c]}finally{try{n&&(a=i.return)&&(yield a.call(i))}finally{if(l)throw l[0]}}})}add(e){return z(this,arguments,function*(t,o={}){const r=this.getInstance(t,o);this.pluginInstances.set(t,r),o.name&&(this.pluginsAliases[o.name]=r),o.packageName&&(this.pluginsAliases[o.packageName]=r),yield r.afterAdd()})}get(e){return typeof e=="string"?this.pluginsAliases[e]:this.pluginInstances.get(e.default||e)}getInstance(e,t){return new e(t,this.app)}load(){return z(this,null,function*(){yield this.initPlugins;for(const e of this.pluginInstances.values())yield e.beforeLoad();for(const e of this.pluginInstances.values())yield e.load(),this.app.eventBus.dispatchEvent(new CustomEvent(`plugin:${e.options.name}:loaded`,{detail:e}))})}},IconFont;const icons=new Map;function registerIcon(e,t=IconFont){icons.set(e.toLowerCase(),t)}function hasIcon(e){return e?icons.has(e.toLowerCase()):!1}function registerIcons(e){Object.keys(e).forEach(t=>{registerIcon(t,e[t])})}Object.keys(antIcons).forEach(e=>{registerIcon(e,antIcons[e])});const Icon=e=>{const t=e,{type:o="",component:r}=t,i=Y(t,["type","component"]);if(r)return(0,import_jsx_runtime.jsx)(import_icons.default,x({component:r},i));if(o&&icons.has(o.toLowerCase())){const n=icons.get(o.toLowerCase());return(0,import_jsx_runtime.jsx)(n,x({},i))}return o&&IconFont?(0,import_jsx_runtime.jsx)(IconFont,{type:o}):null};Icon.createFromIconfontCN=e=>{IconFont=(0,import_icons.createFromIconfontCN)(e)};Icon.register=e=>{registerIcons(e)};const ADMIN_SETTINGS_KEY="admin.settings.",ADMIN_SETTINGS_PATH="/admin/settings/",SNIPPET_PREFIX="pm.";class PluginSettingsManager{constructor(t,o){A(this,"settings",{}),A(this,"aclSnippets",[]),A(this,"app"),A(this,"cachedList",{}),this.app=o,Object.entries(t||{}).forEach(([r,i])=>{this.add(r,i)})}clearCache(){this.cachedList={}}setAclSnippets(t){this.aclSnippets=t}getAclSnippet(t){const o=this.settings[t];return o!=null&&o.skipAclConfigure?null:o!=null&&o.aclSnippet?o.aclSnippet:`${SNIPPET_PREFIX}${t}`}getRouteName(t){return`${ADMIN_SETTINGS_KEY}${t}`}getRoutePath(t){return`${ADMIN_SETTINGS_PATH}${t.replaceAll(".","/")}`}add(t,o){const r=t.split("."),i=r[0];this.settings[t]=P(x(P(x({},this.settings[t]),{Component:import_react_router_dom.Outlet}),o),{name:t,topLevelName:o.topLevelName||i}),r.length>1&&(0,import_lodash.set)(this.settings,r.join(".children."),this.settings[t]),this.app.router.add(this.getRouteName(t),{path:this.getRoutePath(t),Component:this.settings[t].Component})}remove(t){Object.keys(this.settings).forEach(o=>{o.startsWith(t)&&(delete this.settings[o],this.app.router.remove(`${ADMIN_SETTINGS_KEY}${o}`))})}hasAuth(t){return this.aclSnippets.includes(`!${this.getAclSnippet("*")}`)?!1:this.aclSnippets.includes(`!${this.getAclSnippet(t)}`)===!1}getSetting(t){return this.settings[t]}has(t){return this.hasAuth(t)?!!this.getSetting(t):!1}get(t,o=!0){const r=this.hasAuth(t),i=this.getSetting(t);if(o&&!r||!i)return null;const n=Object.keys(i.children||{}).sort((d,p)=>d.localeCompare(p)).map(d=>this.get(i.children[d].name,o)).filter(Boolean).sort((d,p)=>(d.sort||0)-(p.sort||0)),a=i,{title:l,icon:c,aclSnippet:u}=a,m=Y(a,["title","icon","aclSnippet"]);return P(x({isTopLevel:t===i.topLevelName},m),{aclSnippet:this.getAclSnippet(t),title:l,isAllow:r,label:l,icon:typeof c=="string"?(0,import_react2.createElement)(Icon,{type:c}):c,path:this.getRoutePath(t),key:t,children:n.length?n:void 0})}getList(t=!0){const o=JSON.stringify(t);return this.cachedList[o]?this.cachedList[o]:this.cachedList[o]=Array.from(new Set(Object.values(this.settings).map(r=>r.topLevelName))).sort((r,i)=>r.localeCompare(i)).map(r=>this.get(r,t)).filter(Boolean).sort((r,i)=>(r.sort||0)-(i.sort||0))}getAclSnippets(){return Object.keys(this.settings).map(t=>this.getAclSnippet(t)).filter(Boolean)}}const ApplicationContext=(0,import_react2.createContext)(null);ApplicationContext.displayName="ApplicationContext";const AppComponent=(0,import_reactive_react.observer)(e=>{var t=e,{children:o}=t,r=Y(t,["children"]),i;const{app:n}=r,a=(0,import_react2.useCallback)((c,u)=>{console.error(c);const m=new Error;m.stack=u.componentStack.trim(),console.error(m)},[]);(0,import_react2.useEffect)(()=>{n.load()},[n]);const l=n.getComponent("AppError");return n.loading?n.renderComponent("AppSpin",{app:n}):!n.maintained&&n.maintaining?n.renderComponent("AppMaintaining",{app:n}):(i=n.error)!=null&&i.code&&!(n.maintained&&n.maintaining)?(0,import_jsx_runtime.jsx)(l,{app:n,error:n.error}):(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:c=>(0,import_jsx_runtime.jsx)(l,x({app:n,error:n.error},c)),onError:a,children:(0,import_jsx_runtime.jsxs)(ApplicationContext.Provider,{value:n,children:[n.maintained&&n.maintaining&&n.renderComponent("AppMaintainingDialog",{app:n}),n.renderComponent("AppMain",void 0,o)]})})},{displayName:"AppComponent"}),BlankComponent=({children:e})=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e}),useApp=()=>(0,import_react2.useContext)(ApplicationContext)||{},useAppSpin=()=>{const e=useApp();return{render:(0,import_react2.useCallback)(()=>{var t;return e!=null&&e.renderComponent?(t=e==null?void 0:e.renderComponent)==null?void 0:t.call(e,"AppSpin"):import_react2.default.createElement(import_antd.Spin)},[e])}};function usePlugin(e){return useApp().pm.get(e)}const useRouter=()=>useApp().router,useGlobalVariable=e=>{const t=useApp(),o=(0,import_react2.useMemo)(()=>t.getGlobalVar(e),[t,e]);if((0,import_lodash.isFunction)(o))try{return o()}catch(r){console.error(`Error calling global variable function for key: ${e}`,r);return}return o},useGlobalVariableCtx=e=>{const t=useApp(),o=(0,import_react2.useMemo)(()=>{var r;return(r=t==null?void 0:t.getGlobalVarCtx)==null?void 0:r.call(t,e)},[t,e]);if((0,import_lodash.isFunction)(o))try{return o()}catch(r){console.error(`Error calling global variable function for key: ${e}`,r);return}return o},useAclSnippets=()=>{const{allowAll:e,snippets:t}=useACLRoleContext();return{allow:o=>{if(o){const r=(0,import_ignore.default)().add(t);return e||r.ignores(o)}return!0}}},MainComponent=import_react2.default.memo(({children:e})=>{const t=useApp(),o=(0,import_react2.useMemo)(()=>t.router.getRouterComponent(e),[t]),r=(0,import_react2.useMemo)(()=>t.getComposeProviders(),[t]);return(0,import_jsx_runtime.jsx)(o,{BaseLayout:r})});MainComponent.displayName="MainComponent";const Loading=()=>(0,import_jsx_runtime.jsx)("div",{children:"Loading..."}),AppError$1=({error:e})=>{const t=(e==null?void 0:e.title)||"App Error";return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)("div",{children:t}),e==null?void 0:e.message,!1]})},AppNotFound$1=()=>(0,import_jsx_runtime.jsx)("div",{}),defaultAppComponents={AppMain:MainComponent,AppSpin:Loading,AppError:AppError$1,AppNotFound:AppNotFound$1},RouterContextCleaner=import_react2.default.memo(e=>(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_RouteContext.Provider,{value:{outlet:null,matches:[],isDataRoute:!1},children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_LocationContext.Provider,{value:null,children:e.children})}));RouterContextCleaner.displayName="RouterContextCleaner";class RouterManager{constructor(t={},o){A(this,"routes",{}),A(this,"options"),A(this,"app"),A(this,"router"),this.options=t,this.app=o,this.routes=t.routes||{}}get basename(){return this.router.basename}get state(){return this.router.state}get navigate(){return this.router.navigate}getRoutesTree(){const t={};for(const[r,i]of Object.entries(this.routes))(0,import_lodash.set)(t,r.split(".").join(".children."),x(x({},(0,import_lodash.get)(t,r.split(".").join(".children."))),i));const o=r=>Object.values(r).reduce((i,n)=>{if(Object.keys(n).length===1&&n.children)i.push(...o(n.children));else{const a=n,{Component:l,element:c,children:u}=a,m=Y(a,["Component","element","children"]);let d=c;l&&(typeof l=="string"?d=this.app.renderComponent(l):d=import_react2.default.createElement(l));const p=P(x({},m),{element:d,children:u?o(u):void 0});i.push(p)}return i},[]);return o(t)}getRoutes(){return this.routes}setType(t){this.options.type=t}getBasename(){return this.options.basename}setBasename(t){this.options.basename=t}matchRoutes(t){const o=Object.values(this.routes);return(0,import_react_router.matchRoutes)(o,t,this.basename)}isSkippedAuthCheckRoute(t){return this.matchRoutes(t).some(o=>{var r;return((r=o==null?void 0:o.route)==null?void 0:r.skipAuthCheck)===!0})}getRouterComponent(t){const o=this.options,{type:r="browser"}=o,i=Y(o,["type"]),n={hash:import_react_router_dom.createHashRouter,browser:import_react_router_dom.createBrowserRouter,memory:import_react_router_dom.createMemoryRouter},a=this.getRoutesTree(),l=(0,import_react2.createContext)(null),c=()=>{const m=(0,import_react2.useContext)(l);return(0,import_jsx_runtime.jsx)(CustomRouterContextProvider,{children:(0,import_jsx_runtime.jsx)(m,{children:(0,import_jsx_runtime.jsxs)(VariablesProvider$1,{children:[(0,import_jsx_runtime.jsx)(import_react_router_dom.Outlet,{}),t]})})})},u=()=>{throw(0,import_react_router_dom.useRouteError)()};return this.router=n[r]([{element:(0,import_jsx_runtime.jsx)(c,{}),errorElement:(0,import_jsx_runtime.jsx)(u,{}),children:a}],i),({BaseLayout:m=BlankComponent})=>(0,import_jsx_runtime.jsx)(l.Provider,{value:m,children:(0,import_jsx_runtime.jsx)(RouterContextCleaner,{children:(0,import_jsx_runtime.jsx)(import_react_router_dom.RouterProvider,{router:this.router})})})}add(t,o){this.routes[t]=o}get(t){return this.routes[t]}has(t){return!!this.get(t)}remove(t){delete this.routes[t]}}function createRouterManager(e,t){return new RouterManager(e,t)}class WebSocketClient{constructor(t){if(A(this,"_ws"),A(this,"_reconnectTimes",0),A(this,"events",[]),A(this,"options"),A(this,"app"),A(this,"enabled"),A(this,"connected",!1),A(this,"serverDown",!1),A(this,"lastMessage",{}),!t){this.enabled=!1;return}this.options=t===!0?{}:t,this.enabled=!0,(0,import_reactive.define)(this,{serverDown:import_reactive.observable.ref,connected:import_reactive.observable.ref,lastMessage:import_reactive.observable.ref})}getURL(){if(!this.app)return;const t=this.app.getApiUrl();if(!t)return;const o=(0,import_sdk.getSubAppName)(this.app.getPublicPath()),r=o?`?__appName=${o}`:"",i=this.options.basename||"/ws";if(this.options.url){const n=new URL(this.options.url);return n.hostname==="localhost"?`${location.protocol==="https:"?"wss":"ws"}://${location.hostname}:${n.port}${i}${r}`:`${this.options.url}${r}`}try{const n=new URL(t);return`${n.protocol==="https:"?"wss":"ws"}://${n.host}${i}${r}`}catch{return`${location.protocol==="https:"?"wss":"ws"}://${location.host}${i}${r}`}}get reconnectAttempts(){var t;return((t=this.options)==null?void 0:t.reconnectAttempts)||30}get reconnectInterval(){var t;return((t=this.options)==null?void 0:t.reconnectInterval)||1e3}get pingInterval(){var t;return((t=this.options)==null?void 0:t.pingInterval)||3e4}get readyState(){return this._ws?this._ws.readyState:-1}connect(){if(!this.enabled||(this._reconnectTimes===0&&console.log("[nocobase-ws]: connecting..."),this._reconnectTimes>=this.reconnectAttempts)||this.readyState===WebSocket.OPEN)return;this._reconnectTimes++;const t=new WebSocket(this.getURL(),this.options.protocols);let o;t.onopen=()=>{console.log("[nocobase-ws]: connected."),this.serverDown=!1,this._ws&&this.removeAllListeners(),this._reconnectTimes=0,this._ws=t;for(const{type:r,listener:i,options:n}of this.events)this._ws.addEventListener(r,i,n);o=setInterval(()=>this.send("ping"),this.pingInterval),this.connected=!0,this.emit("open",{})},t.onerror=()=>z(this,null,function*(){console.log("onerror",this.readyState,this._reconnectTimes)}),t.onclose=r=>z(this,null,function*(){setTimeout(()=>this.connect(),this.reconnectInterval),console.log("onclose",this.readyState,this._reconnectTimes,this.serverDown),this.connected=!1,clearInterval(o)})}reconnect(){this._reconnectTimes=0,this.connect()}close(){if(this._ws)return this._reconnectTimes=this.reconnectAttempts,this._ws.close()}send(t){if(this._ws)return this._ws.send(t)}on(t,o,r){this.events.push({type:t,listener:o,options:r}),this._ws&&this._ws.addEventListener(t,o,r)}emit(t,o){for(const r of this.events)r.type===t&&r.listener(o)}off(t,o,r){let i=0;for(const n of this.events){if(n.type===t&&n.listener===o){this.events.splice(i,1);break}i++}this._ws&&this._ws.removeEventListener(t,o,r)}removeAllListeners(){if(this._ws)for(const{type:t,listener:o,options:r}of this.events)this._ws.removeEventListener(t,o,r)}}const useNiceDropdownMaxHeight=(e=[])=>{const t=(0,import_react2.useRef)(0);return(0,import_react2.useEffect)(()=>{const o=r=>{const{clientY:i}=r,n=Math.max(i,window.innerHeight-i);t.current=n};return window.addEventListener("mousemove",o),()=>{window.removeEventListener("mousemove",o)}},[]),(0,import_react2.useMemo)(()=>t.current-40,e)},FlagContext=import_react2.default.createContext(null),FlagProvider=e=>(0,import_jsx_runtime.jsx)(FlagContext.Provider,{value:e,children:e.children}),useFlag=()=>(0,import_react2.useContext)(FlagContext)||{},useSchemaInitializerStyles=genStyleHook("nb-schema-initializer",e=>{const{componentCls:t}=e;return{[t]:{".ant-menu":{background:"transparent",borderInlineEnd:"none !important"},":not(.ant-menu)":{[`${t}-group-title`]:{color:e.colorTextDescription,lineHeight:`${e.controlHeight}px`,paddingLeft:e.padding,paddingRight:e.paddingSM},[`${t}-menu-item`]:{marginInline:e.marginXXS,paddingLeft:e.padding,paddingRight:e.paddingSM,lineHeight:`${e.controlHeight}px`,color:e.colorText,[`&:not(${t}-menu-item-disabled)`]:{cursor:"pointer","&:hover":{borderRadius:e.borderRadiusSM,backgroundColor:e.colorBgTextHover}},[`&${t}-menu-item-disabled`]:{cursor:"not-allowed",color:e.colorTextDisabled}}}},[`${t}-item-content`]:{marginLeft:e.controlHeightSM-e.fontSize}}}),SchemaInitializerContext=(0,import_react2.createContext)({});SchemaInitializerContext.displayName="SchemaInitializerContext";const useSchemaInitializer=()=>import_react2.default.useContext(SchemaInitializerContext),SchemaInitializerItemContext=(0,import_react2.createContext)({});SchemaInitializerItemContext.displayName="SchemaInitializerItemContext";const useSchemaInitializerItem=()=>import_react2.default.useContext(SchemaInitializerItemContext),defaultWrap$1=e=>e,useWrapDefault=(e=defaultWrap$1)=>e;function withInitializer(e){return(0,import_react.observer)(t=>{const{designable:o,insertAdjacent:r}=useDesignable(),{isInSubTable:i}=useFlag()||{},{insert:n,useInsert:a,useWrap:l=useWrapDefault,wrap:c=defaultWrap$1,insertPosition:u="beforeEnd",onSuccess:m,designable:d,popoverProps:p,children:h,popover:g=!0,style:_,componentProps:f}=t,v=a?a():n,C=l(c),S=(0,import_react2.useCallback)(R=>{v?v(C(R,{isInSubTable:i})):r(u,C(R,{isInSubTable:i}),{onSuccess:m})},[v,C,i,r,u,m]),{wrapSSR:b,hashId:y,componentCls:F}=useSchemaInitializerStyles(),[j,k]=(0,import_react2.useState)(!1),{token:T}=import_antd.theme.useToken(),M=useNiceDropdownMaxHeight([j]),w=(0,import_react2.useMemo)(()=>x({options:t,style:_},f),[f,t,_]),L=(0,import_react2.useMemo)(()=>import_css.css`
24
24
  .ant-popover-inner {
25
25
  padding: ${`${T.paddingXXS}px 0`};
@@ -62,7 +62,7 @@
62
62
  width: 100%;
63
63
  }
64
64
  }
65
- `,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),h=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),g=useSchemaInitializerMenuItems(h,a),_=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:m(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:g})],[g,m,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:_})},SchemaInitializerSubMenuInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenu,x({},e))},useAriaAttributeOfMenuItem=()=>{const{isInMenu:e}=useSchemaInitializerSubMenuContext();return{attribute:(0,import_react2.useMemo)(()=>e?{}:{role:"menuitem"},[e])}},{Paragraph:Paragraph$1,Text:Text$2}=import_antd.Typography,ErrorFallbackModal=e=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_jsx_runtime.jsx)(Paragraph$1,{style:{display:"flex",marginBottom:0},copyable:{text:e.error.message},children:(0,import_jsx_runtime.jsxs)(Text$2,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",e.error.message]})});return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{onMouseOver:()=>o(!0),children:e.children||r}),(0,import_jsx_runtime.jsx)(import_antd.Modal,{zIndex:1e4,open:t,footer:null,onCancel:()=>o(!1),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})]})},{Paragraph,Text:Text$1,Link}=import_antd.Typography,useDownloadLogs=(e,t={})=>{const o=useLocationNoUpdate(),[r,i]=import_react2.default.useState(!1),n=useAPIClient();return{loading:r,download:()=>z(void 0,null,function*(){i(!0);try{const a=yield n.request({url:"logger:collect",method:"post",responseType:"blob",data:x({error:{message:e.message,stack:e.stack},location:o},t)}),l=window.URL.createObjectURL(new Blob([a.data],{type:"application/gzip"})),c=document.createElement("a");c.setAttribute("href",l),c.setAttribute("download","logs.tar.gz"),c.click(),c.remove()}catch(a){console.log(a)}i(!1)})}},ErrorFallback=({error:e})=>{const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{loading:r,download:i}=useDownloadLogs(e,{schema:t}),n=(0,import_jsx_runtime.jsxs)(import_react_i18next.Trans,{children:["This is likely a NocoBase internals bug. Please open an issue at ",(0,import_jsx_runtime.jsx)(Link,{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:"here"})]});return(0,import_jsx_runtime.jsx)("div",{style:{backgroundColor:"white"},children:(0,import_jsx_runtime.jsx)(import_antd.Result,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:o("Render Failed"),subTitle:n,extra:[(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:o("Feedback")},"feedback"),(0,import_jsx_runtime.jsx)(import_antd.Button,{loading:r,onClick:i,children:o("Download logs")},"log")],children:(0,import_jsx_runtime.jsx)(Paragraph,{copyable:{text:e.stack},children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const AppNotFound=()=>{const e=(0,import_react_router_dom.useNavigate)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Result,{status:"404",title:"404",subTitle:t("Sorry, the page you visited does not exist."),extra:(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:()=>e("/",{replace:!0}),type:"primary",children:"Back Home"})})};class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}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}afterAdd(){return z(this,null,function*(){})}beforeLoad(){return z(this,null,function*(){})}load(){return z(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}const titleWrapperStyle={display:"flex",alignItems:"center",gap:4},withTooltipComponent=e=>t=>{const{tooltip:o}=t;return o?(0,import_jsx_runtime.jsxs)("div",{style:titleWrapperStyle,children:[(0,import_jsx_runtime.jsx)(e,x({},t)),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o,children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{zIndex:1}})})]}):(0,import_jsx_runtime.jsx)(e,x({},t))},{evaluate}=import_client3.evaluators.get("formula.js"),useEvaluatedExpression=e=>{const t=useVariables$1(),o=useLocalVariables$1(),[r,i]=(0,import_react2.useState)();return(0,import_react2.useEffect)(()=>{z(void 0,null,function*(){if(e==null||e===""){i(void 0);return}const{exp:n,scope:a}=yield replaceVariables(e,{variables:t,localVariables:o});try{const l=evaluate(n,x({now:()=>new Date().toString()},a));i(l)}catch(l){console.error(l)}})},[t.parseVariable,e,o]),r};class SchemaInitializer{constructor(t){A(this,"options"),A(this,"name"),this.options=Object.assign({items:[]},t),this.name=t.name}get items(){return this.options.items}add(t,o){const r=t.split("."),i=r[r.length-1],n=P(x({},o),{name:i}),a=(u,m)=>{const d=this.items.findIndex(p=>p.name===u);d===-1?this.items.push(m):this.items[d]=m};if(r.length===1){a(i,n);return}const l=r.slice(0,-1).join("."),c=this.get(l);if(c){c.children||(c.children=[]);const u=t.replace(`${c.name}.`,""),m=c.children.findIndex(d=>d.name===u);m===-1?c.children.push(n):c.children[m]=n}else a(i,n)}get(t){var o;if(!t)return;const r=t.split(".");let i={children:this.items};for(let n=0;n<r.length;n++){const a=r[n],l=(o=i.children)==null?void 0:o.find(c=>c.name===a);if(l&&(i=l),n===r.length-1)return l}}remove(t){const o=t.split(".");if(o.length===1){const i=this.items.findIndex(n=>n.name===o[0]);i!==-1&&this.items.splice(i,1);return}const r=this.get(o.slice(0,-1).join("."));if(r&&r.children){const i=o[o.length-1],n=r.children.findIndex(a=>a.name===i);n!==-1&&r.children.splice(n,1)}}}var NocoBaseDesktopRouteType=(e=>(e.group="group",e.page="page",e.link="link",e.tabs="tabs",e))(NocoBaseDesktopRouteType||{});const useStyles$h=genStyleHook("nb-menu-item",e=>{const{componentCls:t}=e;return{[t]:{paddingLeft:`${e.padding}px !important`,paddingRight:`${e.padding}px !important`}}}),useAttach=e=>{const t=(0,import_react2.useRef)(null);return(0,import_react2.useEffect)(()=>(t.current&&e!==t.current&&t.current.onUnmount(),t.current=e,e.onMount(),()=>{e.onUnmount()}),[e]),e},compileCache={},hasVariable=e=>/{{.*?}}/g.test(e),useCompile=({noCache:e}={noCache:!1})=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext);return(r,i)=>{let n=!1,a;if(typeof r=="string"&&r.startsWith("{{")&&(n=!0,a=r),r&&typeof r=="object"&&!(0,import_react2.isValidElement)(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(Array.isArray(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(n){const l=x(x(x({},t.scope),o),i);if(!a)return import_react.Schema.compile(r,l);try{return e?import_react.Schema.compile(r,l):(compileCache[a]=compileCache[a]||import_react.Schema.compile(r,l),compileCache[a])}catch(c){return console.log("useCompile error",r,c),import_react.Schema.compile(r,l)}}return r}},useComponent=(e,t)=>{const{components:o}=(0,import_react2.useContext)(import_react.SchemaOptionsContext);return e?typeof e!="string"?e:(0,import_lodash.get)(o,e)||t:t},LAZY_COMPONENT_KEY=Symbol("LAZY_COMPONENT_KEY");function lazy(e,...t){if(t.length===0){const o=(0,import_react2.lazy)(()=>e().then(i=>{const n=i.default;return r[LAZY_COMPONENT_KEY]=n,{default:n}})),r=i=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(o,x({},i))});return r}return t.reduce((o,r)=>{const i=(0,import_react2.lazy)(()=>e().then(n=>{const a=(0,import_lodash.get)(n,r);return o[r][LAZY_COMPONENT_KEY]=a,{default:a}}));return o[r]=n=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(i,x({},n))}),o},{})}function useLazy(e,t){const o=typeof t=="function"?t:i=>i[t],r=(0,import_react_imported_component.loadableResource)(e);if(!r.payload)throw new Promise((i,n)=>{r.loadIfNeeded(),r.resolution.then(i).catch(n)});return o(r.payload)}function addAppVersion(e,t){if(e)return e["x-app-version"]||(e["x-app-version"]=t),Object.keys(e.properties||{}).forEach(o=>{var r;addAppVersion((r=e.properties)==null?void 0:r[o],t)}),e}const name="@nocobase/client",version="1.8.23",license="AGPL-3.0",main="lib/index.js",module$1="es/index.mjs",types="es/index.d.ts",dependencies={"@ahooksjs/use-url-state":"3.5.1","@ant-design/cssinjs":"^1.11.1","@ant-design/icons":"^5.6.1","@ant-design/pro-layout":"^7.22.1","@antv/g2plot":"^2.4.18","@budibase/handlebars-helpers":"0.14.0","@ctrl/tinycolor":"^3.6.0","@dnd-kit/core":"^6.0.0","@dnd-kit/sortable":"^7.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.2.3","@formily/core":"^2.2.27","@formily/grid":"^2.2.27","@formily/json-schema":"^2.2.27","@formily/path":"^2.2.27","@formily/react":"^2.2.27","@formily/reactive":"^2.2.27","@formily/reactive-react":"^2.2.27","@formily/shared":"^2.2.27","@formily/validator":"^2.2.27","@nocobase/evaluators":"1.8.23","@nocobase/sdk":"1.8.23","@nocobase/utils":"1.8.23",ahooks:"^3.7.2",antd:"5.24.2","antd-style":"3.7.1",axios:"^1.7.0","bignumber.js":"^9.1.2",classnames:"^2.3.1",cronstrue:"^2.11.0","file-saver":"^2.0.5",filesize:"9.0.11",flat:"^5.0.2","html5-qrcode":"^2.3.8",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",ignore:"^5.2.0",json5:"^2.2.3",lodash:"4.17.21","lru-cache":"6.0.0","markdown-it":"14.1.0","markdown-it-highlightjs":"3.3.1",mathjs:"^10.6.0",mermaid:"9.4.3",mime:"^4.0.4","mime-match":"^1.0.2","react-beautiful-dnd":"^13.1.0","react-device-detect":"2.2.3","react-drag-listview":"^0.1.9","react-error-boundary":"^4.0.10","react-helmet":"^6.1.0","react-hotkeys-hook":"^3.4.7","react-i18next":"^11.15.1","react-iframe":"~1.8.5","react-image-lightbox":"^5.1.4","react-intersection-observer":"9.14.0","react-js-cron":"^3.1.0","react-quill":"^2.0.0","react-router-dom":"^6.11.2","react-to-print":"^2.14.7","sanitize-html":"2.13.0","use-deep-compare-effect":"^1.8.1"},peerDependencies={react:">=18.0.0","react-dom":">=18.0.0","react-is":">=18.0.0"},devDependencies={"@testing-library/react":"^14.0.0","@types/markdown-it":"14.1.1","@types/markdown-it-highlightjs":"3.3.1","@types/react-big-calendar":"^1.6.4","axios-mock-adapter":"^1.20.0",dumi:"2.2.14","dumi-theme-nocobase":"^0.2.28"},clientPkg={name,version,license,main,module:module$1,types,dependencies,peerDependencies,devDependencies};function createDesignable(e){return new Designable(e)}const generateUid=e=>{e&&(e["x-uid"]||(e["x-uid"]=(0,import_shared.uid)()),Object.keys(e.properties||{}).forEach(t=>{generateUid(e.properties[t])}))},defaultWrap=e=>e,matchSchema=(e,t)=>{if(!(!e||!t)){for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&t[o]!==(e==null?void 0:e[o]))return!1;return!0}},splitWrapSchema=(e,t)=>{if(e["x-uid"]&&e["x-uid"]===t["x-uid"])return[null,e.toJSON()];const o=e.toJSON(),r=P(x({},o),{properties:{}});let i=null;const n=(a,l)=>{Object.keys(a||{}).forEach(c=>{const u=a[c];if(u["x-uid"]===t["x-uid"]){i=a[c];return}else l.properties[c]=P(x({},u),{properties:{}}),n(u==null?void 0:u.properties,l.properties[c])})};return n(o.properties,r),[r,i]},translate=e=>e;class Designable{constructor(t){A(this,"current"),A(this,"options"),A(this,"appVersion"),A(this,"events",{}),this.options=t,this.current=t.current,this.appVersion=t.appVersion}get model(){return this.options.model}get query(){return this.options.query}loadAPIClientEvents(){const{api:t,t:o=translate}=this.options;if(!t)return;const r=i=>{if(!i)return[];const n=Object.values(i.properties).length,a=[];return i.mapProperties(l=>{l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].width=100/n,l["x-uid"]&&a.push({"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]})}),i["x-uid"]&&a.length?a:[]};this.on("insertAdjacent",i=>z(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let h=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(h=h.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(h=h.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const g=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});h.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:h})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=g==null?void 0:g.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>z(this,[i],function*({schema:n}){this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:patch",method:"post",data:x({},n)}),import_antd.message.success(o("Saved successfully"),.2))})),this.on("initializeActionContext",i=>z(this,[i],function*({schema:n}){n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:initializeActionContext",method:"post",data:x({},n)}))})),this.on("batchPatch",i=>z(this,[i],function*({schemas:n}){this.refresh(),yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:n}),import_antd.message.success(o("Saved successfully"),.2)})),this.on("remove",i=>z(this,[i],function*({removed:n}){let a=[];(n==null?void 0:n["x-component"])==="Grid.Col"&&(a=r(n.parent)),this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${n["x-uid"]}`,method:"post"}),a.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:a})),import_antd.message.success(o("Saved successfully"),.2))}))}prepareProperty(t){t.type||(t.type="void"),t.name||(t.name=(0,import_shared.uid)()),this.current["x-uid"]&&generateUid(t)}on(t,o){this.events[t]||(this.events[t]=[]),this.events[t].push(o)}emit(t,...o){return z(this,null,function*(){if(!this.events[t])return;const[r,...i]=o;return Promise.all(this.events[t].map(n=>n.bind(this)(x({current:this.current},r),...i)))})}parentsIn(t){if(!t||!import_react.Schema.isSchemaInstance(t))return!1;let o=this.current;for(;o!=null&&o.parent;){if(o.parent===t)return!0;o=o.parent}return!1}refresh(t){const{refresh:o}=this.options;return o==null?void 0:o(t)}deepMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},r={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(i=>{o[i]?(this.current[i]=t[i],this.updateModel(o[i],t[i])):r[i]?Object.keys(t[i]).forEach(n=>{(0,import_set.default)(this.current,[i,n],t[i][n]),this.updateModel([r[i],n],t[i][n])}):this.current[i]=t[i]}),this.emit("patch",{schema:t})}getSchemaAttribute(t,o){return(0,import_get.default)(this.current,t,o)}shallowMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(r=>{this.current[r]=t[r],o[r]&&this.updateModel(o[r],t[r])}),this.emit("patch",{schema:t})}updateModel(t,o){const r=i=>{(0,import_set.default)(i,t,o)};this.model&&r(this.model),this.query&&this.query.take(r)}insertAdjacent(t,o,r={}){switch(t){case"beforeBegin":return this.insertBeforeBegin(o,r);case"afterBegin":return this.insertAfterBegin(o,r);case"beforeEnd":return this.insertBeforeEnd(o,r);case"afterEnd":return this.insertAfterEnd(o,r)}}recursiveRemoveIfNoChildren(t,o){if(!t)return;let r=t,i;const n=o==null?void 0:o.breakRemoveOn;for(;r;){if(typeof n=="function"){if(n(r))break}else if(matchSchema(r,n))break;if(Object.keys(r.properties||{}).length>0)break;r.parent&&(i=r.parent.removeProperty(r.name)),r=r.parent}return i}remove(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return this.emit("remove",{removed:a})}removeWithoutEmit(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return a}insertBeforeBeginOrAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current)||!import_react.Schema.isSchemaInstance(t)||this.current.parent!==t.parent)return;let r=0,i=0;return this.current.parent.mapProperties((n,a,l)=>{this.current.name===a&&(i=l),t.name===a&&(r=l)}),r>i?this.insertBeforeBegin(t,o):this.insertAfterEnd(t,o)}insertBeforeBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=!1,u=0,m=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(m=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p["x-index"]=m,p.parent=this.current.parent,this.current.parent.setProperties(l);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:g,wrapped:d,wrap:h},r))}insertAfterBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=1;this.current.mapProperties((h,g)=>{h["x-index"]=c,++c,l[g]=h}),this.current.properties={},this.prepareProperty(t);const u=i(t),m=this.current.addProperty(u.name||(0,import_shared.uid)(),u);m["x-index"]=0,m.parent=this.current,this.current.setProperties(l);const[d,p]=splitWrapSchema(m,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:d,wrapped:u},r))}insertBeforeEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;delete t["x-index"];const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const l=i(t),c=this.current.addProperty(l.name||(0,import_shared.uid)(),l);c.parent=this.current;const[u,m]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:m,wrap:u,wrapped:l},r))}insertAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o==null?void 0:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;let l=0,c=0,u=!1;const m={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(m[f]=_,this.current.parent.removeProperty(f))}),import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n})),t.parent=null}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(m);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:g,wrap:h,wrapped:d},r))}}function useFindComponent(){const e=(0,import_react2.useContext)(import_react.SchemaOptionsContext),t=(0,import_react2.useMemo)(()=>(e==null?void 0:e.components)||{},[e]);return o=>{if(!o)return null;if(typeof o!="string")return o;const r=(0,import_get.default)(t,o);return r||console.error(`[nocobase]: Component "${o}" not found`),r}}function useDesignable(){const{designable:e,setDesignable:t,refresh:o,reset:r}=(0,import_react2.useContext)(SchemaComponentContext),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i.components)||{},[i]),a=(0,import_react2.useMemo)(()=>()=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{}),[]),l=(0,import_ahooks.useUpdate)(),c=useRefreshFieldSchema(),u=useRefreshComponent(),m=(0,import_react2.useCallback)(v=>{o==null||o(),l(),c==null||c(v),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),h=useAPIClient(),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:g,api:h,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[g,h,m,p,d]);(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]);const{isMobileLayout:f}=useMobileLayout();return{dn:_,designable:f?!1:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(v=>{var C;if(!v)return null;if(typeof v!="string")return v;const S=(0,import_get.default)(n,v);return(C=S==null?void 0:S[LAZY_COMPONENT_KEY])!=null?C:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,C)=>{const S=b=>{Object.keys(b).forEach(y=>{const F=b[y];y==="title"&&(d.title=F,p.title=F),y==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(F).forEach(j=>{d.decoratorProps[j]=F[j],p["x-decorator-props"][j]=F[j]})),y==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(j=>{d.componentProps[j]=F[j],p["x-component-props"][j]=F[j]}))})};if(typeof v=="string"){const b={};return(0,import_set.default)(b,v,C),S(b)}S(v),m()},[_]),shallowMerge:(0,import_react2.useCallback)(v=>{_.shallowMerge(v)},[_]),deepMerge:(0,import_react2.useCallback)(v=>{_.deepMerge(v)},[_]),remove:(0,import_react2.useCallback)((v,C)=>{_.remove(v,C)},[_]),insertAdjacent:(0,import_react2.useCallback)((v,C,S)=>{_.insertAdjacent(v,C,S)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(v=>{_.insertBeforeBegin(v)},[_]),insertAfterBegin:(0,import_react2.useCallback)(v=>{_.insertAfterBegin(v)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(v=>{_.insertBeforeEnd(v)},[_]),insertAfterEnd:(0,import_react2.useCallback)(v=>{_.insertAfterEnd(v)},[_])}}const DefaultSchemaToolbar=()=>null;DefaultSchemaToolbar.isNullComponent=!0;const useDesigner=()=>{const{designable:e}=useDesignable(),t=(0,import_react.useFieldSchema)(),o=(0,import_react2.useMemo)(()=>t["x-designer"]||t["x-toolbar"]?t["x-designer"]||t["x-toolbar"]:t["x-settings"]?SchemaToolbar:DefaultSchemaToolbar,[t]),r=useComponent(o);return e&&r||DefaultSchemaToolbar},useFieldProps$1=e=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),r=(0,import_react2.useRef)();return r.current=o,e.toFieldProps(P(x({},t),{get scope(){return x(x({},t.scope),r.current)}}))};function useSchemaComponentContext(){return(0,import_react2.useContext)(SchemaComponentContext)}const useFieldComponentOptions=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useFieldSchema)(),{getField:i}=useCollection_deprecated(),n=i(r.name)||t(r["x-collection-field"]),{t:a}=(0,import_react_i18next.useTranslation)(),{label:l}=((e=r["x-component-props"])==null?void 0:e.fieldNames)||{};return(0,import_react2.useMemo)(()=>{if(!n||!(n!=null&&n.interface)||!["o2o","oho","obo","o2m","linkTo","m2o","m2m"].includes(n.interface))return;const c=o(n.target);if((c==null?void 0:c.template)==="file")return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];switch(n.interface){case"o2m":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subtable"),value:"TableField"},{label:a("Select"),value:"AssociationSelect"}];case"m2o":case"m2m":case"linkTo":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];default:return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subform"),value:"FormField"},{label:a("Select"),value:"AssociationSelect"}]}},[a,n==null?void 0:n.interface,l])},useFieldTitle=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useCollection(),i=useCollectionManager(),n=(r==null?void 0:r.getField(o.name))||(i==null?void 0:i.getCollectionField(o["x-collection-field"])),a=useCompile();(0,import_react2.useEffect)(()=>{var l;t!=null&&t.title||(t.title=a((l=n==null?void 0:n.uiSchema)==null?void 0:l.title))},[(e=n==null?void 0:n.uiSchema)==null?void 0:e.title])},useDef$4=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$4}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$4);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e,onFilterChange:t}){const{parseFilter:o,findVariable:r}=useParseDataScopeFilter(),[i,n]=(0,import_react2.useState)({}),[a,l]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const c=()=>z(this,null,function*(){l(!0);const m=yield o(e);l(!1),n(m),t==null||t(m)});c();const u=import_lodash.default.debounce(c,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:m}){return m.startsWith("$")&&m!=="$and"&&m!=="$or"},transformValue(m){if(!isVariable$1(m))return m;const d=getVariableName(m),p=r(d);let h=null;const g=getPath(m).split(".");return g.forEach((_,f)=>{const v=g.slice(0,f+1).join("."),C=(0,import_client.getValuesByPath)({[d]:(p==null?void 0:p.ctx)||{}},v);import_lodash.default.isEmpty(C)||(h=C)}),h}}),u,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),o,r]),{filter:i,parseVariableLoading:a}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{var t;const{params:o,parseVariableLoading:r}=useTableBlockParams(e),i=useParentRecordCommon(e.association),n=(t=useDataSourceManager().getDataSource(e.dataSource))==null?void 0:t.collectionManager.getCollection(e.collection);return{params:o,parentRecord:i,parseVariableLoading:r,rowKey:(n==null?void 0:n.filterTargetKey)||"id"}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1),u=(0,import_react2.useDeferredValue)(l);return!c.current&&u?(0,import_jsx_runtime.jsx)(i,{}):(c.current=!0,(0,import_jsx_runtime.jsx)(e,x({},a)))});return n.displayName=r||`${e.displayName}(withSkeletonComponent)`||`${e.name}(withSkeletonComponent)`,n},getActionValue=(e,t)=>{const o=r=>(r==null?void 0:r.mode)==="constant"?r.value:null;switch(!0){case[ActionType.Color,ActionType.BackgroundColor,ActionType.TextAlign,ActionType.FontSize,ActionType.FontWeight,ActionType.FontStyle].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>z(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i,conditionType:a.conditionType},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedActions({rules:o,variables:r,localVariables:i},n)).map(a=>P(x({},a),{value:getActionValue(a.operator,a.value)}))}),getSatisfiedValueMap=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedValues({rules:o,variables:r,localVariables:i},n)).reduce((a,l)=>P(x({},a),{[l.operator]:l.value}),{})});function useSatisfiedActionValues({formValues:e,category:t="default",rules:o,schema:r,form:i}){const[n,a]=(0,import_react2.useState)({}),l=(0,import_react.useFieldSchema)(),c=useVariables$1(),u=useLocalVariables$1({currentForm:{values:e}}),m=r??l,d=o??(m[LinkageRuleDataKeyMap[t]]||(m==null?void 0:m.parent[LinkageRuleDataKeyMap[t]])),p=useApp(),h=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(g=>{(0,import_lodash.isEmpty)(g)?a({}):a(g)}).catch(g=>{throw new Error(g.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(h(),i){const g=(0,import_shared.uid)();return i.addEffects(g,()=>{(0,import_core.onFormValuesChange)(()=>{h()})}),()=>{i.removeEffects(g)}}},[i,h,e]),{valueMap:n}}const GetStyleRules=import_react2.default.memo(({record:e,schema:t,onStyleChange:o})=>{const{valueMap:r}=useSatisfiedActionValues({formValues:e,category:"style",schema:t});return(0,import_react2.useEffect)(()=>{o(r)},[o,r]),null});GetStyleRules.displayName="GetStyleRules";const opacityStyle={opacity:.5},containerStyle={position:"relative"},spinStyle={display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:0,right:0,height:"100%",maxHeight:400,zIndex:1e3},displayNone$3={display:"none"},HighPerformanceSpin=import_react2.default.memo(e=>(0,import_jsx_runtime.jsxs)("div",{style:containerStyle,children:[(0,import_jsx_runtime.jsx)(import_antd.Spin,P(x({},import_lodash.default.omit(e,"children")),{style:e.spinning?spinStyle:displayNone$3})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]}));var FilterBlockType=(e=>(e[e.FORM=0]="FORM",e[e.TABLE=1]="TABLE",e[e.TREE=2]="TREE",e[e.COLLAPSE=3]="COLLAPSE",e))(FilterBlockType||{});const mergeFilter=(e,t="$and")=>{const o=e.filter(r=>{if(r&&typeof r=="object"&&!Array.isArray(r))return Object.values(r).filter(i=>i!==void 0).length});return o.length===0?{}:o.length===1?o[0]:{[t]:o}},getSupportFieldsByAssociation=(e,t)=>{var o;return(o=t.associatedFields)==null?void 0:o.filter(r=>e==null?void 0:e.some(i=>i===r.target))},getSupportFieldsByForeignKey=(e,t)=>{var o;return(o=t.foreignKeyFields)==null?void 0:o.filter(r=>e.fields.some(i=>i.type!=="belongsTo"&&i.foreignKey===r.name&&i.target===r.collectionName))},useSupportedBlocks=e=>{const{getDataBlocks:t}=useFilterBlock(),o=(0,import_react.useFieldSchema)(),r=useCollection(),{getAllCollectionsInheritChain:i}=useAllCollectionsInheritChainGetter();if(e===0||e===3)return t().filter(n=>isSameCollection(n.collection,r));if(e===1||e===2)return t().filter(n=>{var a,l;return o["x-uid"]!==n.uid&&(isSameCollection(n.collection,r)||((a=getSupportFieldsByAssociation(i(r.name,r.dataSource),n))==null?void 0:a.length)||((l=getSupportFieldsByForeignKey(r,n))==null?void 0:l.length))})},transformToFilter=(e,t,o,r)=>(e=(0,import_client.flatten)(e,{breakOn({value:i,path:n}){if(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$dateBetween","$in","$notIn"].includes(t[n]))return!0;const a=o(`${r}.${n}`);if(["datetime","datetimeNoTz","date","unixTimestamp","createdAt","updatedAt"].includes(a==null?void 0:a.interface))return!0;if(a!=null&&a.target){if(Array.isArray(i))return!0;const l=a.targetKey||"id";if(i&&i[l]!=null)return!0}return!1}}),{$and:Object.keys(e).map(i=>{let n=import_lodash.default.get(e,i);const a=o(`${r}.${i}`);return a!=null&&a.target&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(a.type)&&(n=(0,import_client.getValuesByPath)(n,a.targetKey||"id"),i=`${i}.${a.targetKey||"id"}`,(a==null?void 0:a.interface)==="chinaRegion"&&(n=import_lodash.default.last(n))),!n&&n!==0&&n!==!1?null:{[i]:{[t[i]||"$eq"]:n}}}).filter(Boolean)}),useAssociatedFields=()=>{var e;return((e=useCollection())==null?void 0:e.fields.filter(t=>isAssocField(t)))||[]},isAssocField=e=>["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"].includes(e==null?void 0:e.interface),isSameCollection=(e,t)=>e.name===t.name&&e.dataSource===t.dataSource,useFilterAPI=()=>{const e=(0,import_react.useFieldSchema)(),{getDataBlocks:t}=useFilterBlock(),{targets:o,uid:r}=findFilterTargets(e),i=t(),[n,a]=(0,import_react2.useState)(()=>o&&o.some(u=>i.some(m=>m.uid===u.uid))),l=Object.keys(o||{});(0,import_react2.useEffect)(()=>{a(o&&o.some(u=>i.some(m=>m.uid===u.uid)))},[l.length,o,i]);const c=(0,import_react2.useCallback)((u,m="id",d="$eq")=>{const p=i.find(h=>h.uid===e.parent["x-uid"]);i.forEach(h=>{var g,_,f,v;let C=m;const S=o.find(j=>j.uid===h.uid);if(!S)return;import_lodash.default.isFunction(u)&&(u=u(S,h,getSourceKey$1(p,S.field))),import_lodash.default.isFunction(m)&&(C=m(S,h)),import_lodash.default.isFunction(d)&&(d=d(S));const b=((g=h.service.params)==null?void 0:g[0])||{},y=((f=(_=h.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};if(u!=null)y[r]={$and:[{[C]:{[d]:u}}]};else if((v=h.clearSelection)==null||v.call(h),delete y[r],h.dataLoadingMode==="manual")return h.clearData();const F=mergeFilter([...Object.values(y).map(j=>removeNullCondition(j)),h.defaultFilter]);h.doFilter(P(x({},b),{page:1,filter:F}),{filters:y})})},[i,o,r,e]);return{isConnected:n,doFilter:c}},isInFilterFormBlock=e=>{for(;e;){if(e["x-filter-targets"])return e["x-decorator"]==="FilterFormBlockProvider";e=e.parent}return!1};function getSourceKey$1(e,t){var o,r,i;const n=(o=e==null?void 0:e.associatedFields)==null?void 0:o.find(a=>a.foreignKey===t);return(n==null?void 0:n.sourceKey)||((i=(r=t==null?void 0:t.split)==null?void 0:r.call(t,"."))==null?void 0:i[1])}const AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable(),{isMobileLayout:r}=useMobileLayout();return(0,import_react2.useCallback)(i=>{r||t.reduceProperties((n,a)=>a["x-component"]==="AssociationField."+e?a:n,null)||o((0,import_cloneDeep.default)(i))},[e,t,o,r])};function useAssociationFieldContext(){return(0,import_react2.useContext)(AssociationFieldContext)}function useServiceOptions$1(e){var t,o,r,i,n,a,l,c,u,m;const{action:d="list",service:p,useOriginalFilter:h}=e,g=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),C=useRecord(),{isNew:S}=useCollectionRecord()||{},b=((0,import_lodash.isString)((r=(o=(t=g==null?void 0:g["x-component-props"])==null?void 0:t.service)==null?void 0:o.params)==null?void 0:r.filter)?(a=(n=(i=_.componentProps)==null?void 0:i.service)==null?void 0:n.params)==null?void 0:a.filter:(u=(c=(l=g==null?void 0:g["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||((m=p==null?void 0:p.params)==null?void 0:m.filter),{filter:y}=useParsedFilter({filterOption:b,onFilterChange:()=>{S&&_.reset()}}),F=(0,import_react2.useMemo)(()=>f(g.name)||v(g==null?void 0:g["x-collection-field"]),[g]),j=C==null?void 0:C[F==null?void 0:F.sourceKey],k=(0,import_react2.useMemo)(()=>{const T=["oho","o2m"].includes(F==null?void 0:F.interface);return mergeFilter([mergeFilter([T&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$is:null}}:null,y]),T&&j!==void 0&&j!==null&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$eq:j}}:null],"$or")},[F==null?void 0:F.interface,F==null?void 0:F.foreignKey,g,y,j,h]);return(0,import_react2.useMemo)(()=>P(x({resource:F==null?void 0:F.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:k})}),[F==null?void 0:F.target,d,k,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
65
+ `,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),h=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),g=useSchemaInitializerMenuItems(h,a),_=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:m(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:g})],[g,m,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:_})},SchemaInitializerSubMenuInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenu,x({},e))},useAriaAttributeOfMenuItem=()=>{const{isInMenu:e}=useSchemaInitializerSubMenuContext();return{attribute:(0,import_react2.useMemo)(()=>e?{}:{role:"menuitem"},[e])}},{Paragraph:Paragraph$1,Text:Text$2}=import_antd.Typography,ErrorFallbackModal=e=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_jsx_runtime.jsx)(Paragraph$1,{style:{display:"flex",marginBottom:0},copyable:{text:e.error.message},children:(0,import_jsx_runtime.jsxs)(Text$2,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",e.error.message]})});return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{onMouseOver:()=>o(!0),children:e.children||r}),(0,import_jsx_runtime.jsx)(import_antd.Modal,{zIndex:1e4,open:t,footer:null,onCancel:()=>o(!1),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})]})},{Paragraph,Text:Text$1,Link}=import_antd.Typography,useDownloadLogs=(e,t={})=>{const o=useLocationNoUpdate(),[r,i]=import_react2.default.useState(!1),n=useAPIClient();return{loading:r,download:()=>z(void 0,null,function*(){i(!0);try{const a=yield n.request({url:"logger:collect",method:"post",responseType:"blob",data:x({error:{message:e.message,stack:e.stack},location:o},t)}),l=window.URL.createObjectURL(new Blob([a.data],{type:"application/gzip"})),c=document.createElement("a");c.setAttribute("href",l),c.setAttribute("download","logs.tar.gz"),c.click(),c.remove()}catch(a){console.log(a)}i(!1)})}},ErrorFallback=({error:e})=>{const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{loading:r,download:i}=useDownloadLogs(e,{schema:t}),n=(0,import_jsx_runtime.jsxs)(import_react_i18next.Trans,{children:["This is likely a NocoBase internals bug. Please open an issue at ",(0,import_jsx_runtime.jsx)(Link,{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:"here"})]});return(0,import_jsx_runtime.jsx)("div",{style:{backgroundColor:"white"},children:(0,import_jsx_runtime.jsx)(import_antd.Result,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:o("Render Failed"),subTitle:n,extra:[(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:o("Feedback")},"feedback"),(0,import_jsx_runtime.jsx)(import_antd.Button,{loading:r,onClick:i,children:o("Download logs")},"log")],children:(0,import_jsx_runtime.jsx)(Paragraph,{copyable:{text:e.stack},children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const AppNotFound=()=>{const e=(0,import_react_router_dom.useNavigate)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Result,{status:"404",title:"404",subTitle:t("Sorry, the page you visited does not exist."),extra:(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:()=>e("/",{replace:!0}),type:"primary",children:"Back Home"})})};class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}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}afterAdd(){return z(this,null,function*(){})}beforeLoad(){return z(this,null,function*(){})}load(){return z(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}const titleWrapperStyle={display:"flex",alignItems:"center",gap:4},withTooltipComponent=e=>t=>{const{tooltip:o}=t;return o?(0,import_jsx_runtime.jsxs)("div",{style:titleWrapperStyle,children:[(0,import_jsx_runtime.jsx)(e,x({},t)),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o,children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{zIndex:1}})})]}):(0,import_jsx_runtime.jsx)(e,x({},t))},{evaluate}=import_client3.evaluators.get("formula.js"),useEvaluatedExpression=e=>{const t=useVariables$1(),o=useLocalVariables$1(),[r,i]=(0,import_react2.useState)();return(0,import_react2.useEffect)(()=>{z(void 0,null,function*(){if(e==null||e===""){i(void 0);return}const{exp:n,scope:a}=yield replaceVariables(e,{variables:t,localVariables:o});try{const l=evaluate(n,x({now:()=>new Date().toString()},a));i(l)}catch(l){console.error(l)}})},[t.parseVariable,e,o]),r};class SchemaInitializer{constructor(t){A(this,"options"),A(this,"name"),this.options=Object.assign({items:[]},t),this.name=t.name}get items(){return this.options.items}add(t,o){const r=t.split("."),i=r[r.length-1],n=P(x({},o),{name:i}),a=(u,m)=>{const d=this.items.findIndex(p=>p.name===u);d===-1?this.items.push(m):this.items[d]=m};if(r.length===1){a(i,n);return}const l=r.slice(0,-1).join("."),c=this.get(l);if(c){c.children||(c.children=[]);const u=t.replace(`${c.name}.`,""),m=c.children.findIndex(d=>d.name===u);m===-1?c.children.push(n):c.children[m]=n}else a(i,n)}get(t){var o;if(!t)return;const r=t.split(".");let i={children:this.items};for(let n=0;n<r.length;n++){const a=r[n],l=(o=i.children)==null?void 0:o.find(c=>c.name===a);if(l&&(i=l),n===r.length-1)return l}}remove(t){const o=t.split(".");if(o.length===1){const i=this.items.findIndex(n=>n.name===o[0]);i!==-1&&this.items.splice(i,1);return}const r=this.get(o.slice(0,-1).join("."));if(r&&r.children){const i=o[o.length-1],n=r.children.findIndex(a=>a.name===i);n!==-1&&r.children.splice(n,1)}}}var NocoBaseDesktopRouteType=(e=>(e.group="group",e.page="page",e.link="link",e.tabs="tabs",e))(NocoBaseDesktopRouteType||{});const useStyles$h=genStyleHook("nb-menu-item",e=>{const{componentCls:t}=e;return{[t]:{paddingLeft:`${e.padding}px !important`,paddingRight:`${e.padding}px !important`}}}),useAttach=e=>{const t=(0,import_react2.useRef)(null);return(0,import_react2.useEffect)(()=>(t.current&&e!==t.current&&t.current.onUnmount(),t.current=e,e.onMount(),()=>{e.onUnmount()}),[e]),e},compileCache={},hasVariable=e=>/{{.*?}}/g.test(e),useCompile=({noCache:e}={noCache:!1})=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext);return(r,i)=>{let n=!1,a;if(typeof r=="string"&&r.startsWith("{{")&&(n=!0,a=r),r&&typeof r=="object"&&!(0,import_react2.isValidElement)(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(Array.isArray(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(n){const l=x(x(x({},t.scope),o),i);if(!a)return import_react.Schema.compile(r,l);try{return e?import_react.Schema.compile(r,l):(compileCache[a]=compileCache[a]||import_react.Schema.compile(r,l),compileCache[a])}catch(c){return console.log("useCompile error",r,c),import_react.Schema.compile(r,l)}}return r}},useComponent=(e,t)=>{const{components:o}=(0,import_react2.useContext)(import_react.SchemaOptionsContext);return e?typeof e!="string"?e:(0,import_lodash.get)(o,e)||t:t},LAZY_COMPONENT_KEY=Symbol("LAZY_COMPONENT_KEY");function lazy(e,...t){if(t.length===0){const o=(0,import_react2.lazy)(()=>e().then(i=>{const n=i.default;return r[LAZY_COMPONENT_KEY]=n,{default:n}})),r=i=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(o,x({},i))});return r}return t.reduce((o,r)=>{const i=(0,import_react2.lazy)(()=>e().then(n=>{const a=(0,import_lodash.get)(n,r);return o[r][LAZY_COMPONENT_KEY]=a,{default:a}}));return o[r]=n=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(i,x({},n))}),o},{})}function useLazy(e,t){const o=typeof t=="function"?t:i=>i[t],r=(0,import_react_imported_component.loadableResource)(e);if(!r.payload)throw new Promise((i,n)=>{r.loadIfNeeded(),r.resolution.then(i).catch(n)});return o(r.payload)}function addAppVersion(e,t){if(e)return e["x-app-version"]||(e["x-app-version"]=t),Object.keys(e.properties||{}).forEach(o=>{var r;addAppVersion((r=e.properties)==null?void 0:r[o],t)}),e}const name="@nocobase/client",version="1.8.24",license="AGPL-3.0",main="lib/index.js",module$1="es/index.mjs",types="es/index.d.ts",dependencies={"@ahooksjs/use-url-state":"3.5.1","@ant-design/cssinjs":"^1.11.1","@ant-design/icons":"^5.6.1","@ant-design/pro-layout":"^7.22.1","@antv/g2plot":"^2.4.18","@budibase/handlebars-helpers":"0.14.0","@ctrl/tinycolor":"^3.6.0","@dnd-kit/core":"^6.0.0","@dnd-kit/sortable":"^7.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.2.3","@formily/core":"^2.2.27","@formily/grid":"^2.2.27","@formily/json-schema":"^2.2.27","@formily/path":"^2.2.27","@formily/react":"^2.2.27","@formily/reactive":"^2.2.27","@formily/reactive-react":"^2.2.27","@formily/shared":"^2.2.27","@formily/validator":"^2.2.27","@nocobase/evaluators":"1.8.24","@nocobase/sdk":"1.8.24","@nocobase/utils":"1.8.24",ahooks:"^3.7.2",antd:"5.24.2","antd-style":"3.7.1",axios:"^1.7.0","bignumber.js":"^9.1.2",classnames:"^2.3.1",cronstrue:"^2.11.0","file-saver":"^2.0.5",filesize:"9.0.11",flat:"^5.0.2","html5-qrcode":"^2.3.8",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",ignore:"^5.2.0",json5:"^2.2.3",lodash:"4.17.21","lru-cache":"6.0.0","markdown-it":"14.1.0","markdown-it-highlightjs":"3.3.1",mathjs:"^10.6.0",mermaid:"9.4.3",mime:"^4.0.4","mime-match":"^1.0.2","react-beautiful-dnd":"^13.1.0","react-device-detect":"2.2.3","react-drag-listview":"^0.1.9","react-error-boundary":"^4.0.10","react-helmet":"^6.1.0","react-hotkeys-hook":"^3.4.7","react-i18next":"^11.15.1","react-iframe":"~1.8.5","react-image-lightbox":"^5.1.4","react-intersection-observer":"9.14.0","react-js-cron":"^3.1.0","react-quill":"^2.0.0","react-router-dom":"^6.11.2","react-to-print":"^2.14.7","sanitize-html":"2.13.0","use-deep-compare-effect":"^1.8.1"},peerDependencies={react:">=18.0.0","react-dom":">=18.0.0","react-is":">=18.0.0"},devDependencies={"@testing-library/react":"^14.0.0","@types/markdown-it":"14.1.1","@types/markdown-it-highlightjs":"3.3.1","@types/react-big-calendar":"^1.6.4","axios-mock-adapter":"^1.20.0",dumi:"2.2.14","dumi-theme-nocobase":"^0.2.28"},clientPkg={name,version,license,main,module:module$1,types,dependencies,peerDependencies,devDependencies};function createDesignable(e){return new Designable(e)}const generateUid=e=>{e&&(e["x-uid"]||(e["x-uid"]=(0,import_shared.uid)()),Object.keys(e.properties||{}).forEach(t=>{generateUid(e.properties[t])}))},defaultWrap=e=>e,matchSchema=(e,t)=>{if(!(!e||!t)){for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&t[o]!==(e==null?void 0:e[o]))return!1;return!0}},splitWrapSchema=(e,t)=>{if(e["x-uid"]&&e["x-uid"]===t["x-uid"])return[null,e.toJSON()];const o=e.toJSON(),r=P(x({},o),{properties:{}});let i=null;const n=(a,l)=>{Object.keys(a||{}).forEach(c=>{const u=a[c];if(u["x-uid"]===t["x-uid"]){i=a[c];return}else l.properties[c]=P(x({},u),{properties:{}}),n(u==null?void 0:u.properties,l.properties[c])})};return n(o.properties,r),[r,i]},translate=e=>e;class Designable{constructor(t){A(this,"current"),A(this,"options"),A(this,"appVersion"),A(this,"events",{}),this.options=t,this.current=t.current,this.appVersion=t.appVersion}get model(){return this.options.model}get query(){return this.options.query}loadAPIClientEvents(){const{api:t,t:o=translate}=this.options;if(!t)return;const r=i=>{if(!i)return[];const n=Object.values(i.properties).length,a=[];return i.mapProperties(l=>{l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].width=100/n,l["x-uid"]&&a.push({"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]})}),i["x-uid"]&&a.length?a:[]};this.on("insertAdjacent",i=>z(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let h=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(h=h.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(h=h.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const g=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});h.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:h})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=g==null?void 0:g.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>z(this,[i],function*({schema:n}){this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:patch",method:"post",data:x({},n)}),import_antd.message.success(o("Saved successfully"),.2))})),this.on("initializeActionContext",i=>z(this,[i],function*({schema:n}){n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:initializeActionContext",method:"post",data:x({},n)}))})),this.on("batchPatch",i=>z(this,[i],function*({schemas:n}){this.refresh(),yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:n}),import_antd.message.success(o("Saved successfully"),.2)})),this.on("remove",i=>z(this,[i],function*({removed:n}){let a=[];(n==null?void 0:n["x-component"])==="Grid.Col"&&(a=r(n.parent)),this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${n["x-uid"]}`,method:"post"}),a.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:a})),import_antd.message.success(o("Saved successfully"),.2))}))}prepareProperty(t){t.type||(t.type="void"),t.name||(t.name=(0,import_shared.uid)()),this.current["x-uid"]&&generateUid(t)}on(t,o){this.events[t]||(this.events[t]=[]),this.events[t].push(o)}emit(t,...o){return z(this,null,function*(){if(!this.events[t])return;const[r,...i]=o;return Promise.all(this.events[t].map(n=>n.bind(this)(x({current:this.current},r),...i)))})}parentsIn(t){if(!t||!import_react.Schema.isSchemaInstance(t))return!1;let o=this.current;for(;o!=null&&o.parent;){if(o.parent===t)return!0;o=o.parent}return!1}refresh(t){const{refresh:o}=this.options;return o==null?void 0:o(t)}deepMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},r={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(i=>{o[i]?(this.current[i]=t[i],this.updateModel(o[i],t[i])):r[i]?Object.keys(t[i]).forEach(n=>{(0,import_set.default)(this.current,[i,n],t[i][n]),this.updateModel([r[i],n],t[i][n])}):this.current[i]=t[i]}),this.emit("patch",{schema:t})}getSchemaAttribute(t,o){return(0,import_get.default)(this.current,t,o)}shallowMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(r=>{this.current[r]=t[r],o[r]&&this.updateModel(o[r],t[r])}),this.emit("patch",{schema:t})}updateModel(t,o){const r=i=>{(0,import_set.default)(i,t,o)};this.model&&r(this.model),this.query&&this.query.take(r)}insertAdjacent(t,o,r={}){switch(t){case"beforeBegin":return this.insertBeforeBegin(o,r);case"afterBegin":return this.insertAfterBegin(o,r);case"beforeEnd":return this.insertBeforeEnd(o,r);case"afterEnd":return this.insertAfterEnd(o,r)}}recursiveRemoveIfNoChildren(t,o){if(!t)return;let r=t,i;const n=o==null?void 0:o.breakRemoveOn;for(;r;){if(typeof n=="function"){if(n(r))break}else if(matchSchema(r,n))break;if(Object.keys(r.properties||{}).length>0)break;r.parent&&(i=r.parent.removeProperty(r.name)),r=r.parent}return i}remove(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return this.emit("remove",{removed:a})}removeWithoutEmit(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return a}insertBeforeBeginOrAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current)||!import_react.Schema.isSchemaInstance(t)||this.current.parent!==t.parent)return;let r=0,i=0;return this.current.parent.mapProperties((n,a,l)=>{this.current.name===a&&(i=l),t.name===a&&(r=l)}),r>i?this.insertBeforeBegin(t,o):this.insertAfterEnd(t,o)}insertBeforeBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=!1,u=0,m=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(m=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p["x-index"]=m,p.parent=this.current.parent,this.current.parent.setProperties(l);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:g,wrapped:d,wrap:h},r))}insertAfterBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=1;this.current.mapProperties((h,g)=>{h["x-index"]=c,++c,l[g]=h}),this.current.properties={},this.prepareProperty(t);const u=i(t),m=this.current.addProperty(u.name||(0,import_shared.uid)(),u);m["x-index"]=0,m.parent=this.current,this.current.setProperties(l);const[d,p]=splitWrapSchema(m,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:d,wrapped:u},r))}insertBeforeEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;delete t["x-index"];const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const l=i(t),c=this.current.addProperty(l.name||(0,import_shared.uid)(),l);c.parent=this.current;const[u,m]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:m,wrap:u,wrapped:l},r))}insertAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o==null?void 0:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;let l=0,c=0,u=!1;const m={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(m[f]=_,this.current.parent.removeProperty(f))}),import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n})),t.parent=null}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(m);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:g,wrap:h,wrapped:d},r))}}function useFindComponent(){const e=(0,import_react2.useContext)(import_react.SchemaOptionsContext),t=(0,import_react2.useMemo)(()=>(e==null?void 0:e.components)||{},[e]);return o=>{if(!o)return null;if(typeof o!="string")return o;const r=(0,import_get.default)(t,o);return r||console.error(`[nocobase]: Component "${o}" not found`),r}}function useDesignable(){const{designable:e,setDesignable:t,refresh:o,reset:r}=(0,import_react2.useContext)(SchemaComponentContext),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i.components)||{},[i]),a=(0,import_react2.useMemo)(()=>()=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{}),[]),l=(0,import_ahooks.useUpdate)(),c=useRefreshFieldSchema(),u=useRefreshComponent(),m=(0,import_react2.useCallback)(v=>{o==null||o(),l(),c==null||c(v),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),h=useAPIClient(),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:g,api:h,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[g,h,m,p,d]);(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]);const{isMobileLayout:f}=useMobileLayout();return{dn:_,designable:f?!1:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(v=>{var C;if(!v)return null;if(typeof v!="string")return v;const S=(0,import_get.default)(n,v);return(C=S==null?void 0:S[LAZY_COMPONENT_KEY])!=null?C:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,C)=>{const S=b=>{Object.keys(b).forEach(y=>{const F=b[y];y==="title"&&(d.title=F,p.title=F),y==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(F).forEach(j=>{d.decoratorProps[j]=F[j],p["x-decorator-props"][j]=F[j]})),y==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(j=>{d.componentProps[j]=F[j],p["x-component-props"][j]=F[j]}))})};if(typeof v=="string"){const b={};return(0,import_set.default)(b,v,C),S(b)}S(v),m()},[_]),shallowMerge:(0,import_react2.useCallback)(v=>{_.shallowMerge(v)},[_]),deepMerge:(0,import_react2.useCallback)(v=>{_.deepMerge(v)},[_]),remove:(0,import_react2.useCallback)((v,C)=>{_.remove(v,C)},[_]),insertAdjacent:(0,import_react2.useCallback)((v,C,S)=>{_.insertAdjacent(v,C,S)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(v=>{_.insertBeforeBegin(v)},[_]),insertAfterBegin:(0,import_react2.useCallback)(v=>{_.insertAfterBegin(v)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(v=>{_.insertBeforeEnd(v)},[_]),insertAfterEnd:(0,import_react2.useCallback)(v=>{_.insertAfterEnd(v)},[_])}}const DefaultSchemaToolbar=()=>null;DefaultSchemaToolbar.isNullComponent=!0;const useDesigner=()=>{const{designable:e}=useDesignable(),t=(0,import_react.useFieldSchema)(),o=(0,import_react2.useMemo)(()=>t["x-designer"]||t["x-toolbar"]?t["x-designer"]||t["x-toolbar"]:t["x-settings"]?SchemaToolbar:DefaultSchemaToolbar,[t]),r=useComponent(o);return e&&r||DefaultSchemaToolbar},useFieldProps$1=e=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),r=(0,import_react2.useRef)();return r.current=o,e.toFieldProps(P(x({},t),{get scope(){return x(x({},t.scope),r.current)}}))};function useSchemaComponentContext(){return(0,import_react2.useContext)(SchemaComponentContext)}const useFieldComponentOptions=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useFieldSchema)(),{getField:i}=useCollection_deprecated(),n=i(r.name)||t(r["x-collection-field"]),{t:a}=(0,import_react_i18next.useTranslation)(),{label:l}=((e=r["x-component-props"])==null?void 0:e.fieldNames)||{};return(0,import_react2.useMemo)(()=>{if(!n||!(n!=null&&n.interface)||!["o2o","oho","obo","o2m","linkTo","m2o","m2m"].includes(n.interface))return;const c=o(n.target);if((c==null?void 0:c.template)==="file")return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];switch(n.interface){case"o2m":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subtable"),value:"TableField"},{label:a("Select"),value:"AssociationSelect"}];case"m2o":case"m2m":case"linkTo":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];default:return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subform"),value:"FormField"},{label:a("Select"),value:"AssociationSelect"}]}},[a,n==null?void 0:n.interface,l])},useFieldTitle=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useCollection(),i=useCollectionManager(),n=(r==null?void 0:r.getField(o.name))||(i==null?void 0:i.getCollectionField(o["x-collection-field"])),a=useCompile();(0,import_react2.useEffect)(()=>{var l;t!=null&&t.title||(t.title=a((l=n==null?void 0:n.uiSchema)==null?void 0:l.title))},[(e=n==null?void 0:n.uiSchema)==null?void 0:e.title])},useDef$4=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$4}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$4);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e,onFilterChange:t}){const{parseFilter:o,findVariable:r}=useParseDataScopeFilter(),[i,n]=(0,import_react2.useState)({}),[a,l]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const c=()=>z(this,null,function*(){l(!0);const m=yield o(e);l(!1),n(m),t==null||t(m)});c();const u=import_lodash.default.debounce(c,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:m}){return m.startsWith("$")&&m!=="$and"&&m!=="$or"},transformValue(m){if(!isVariable$1(m))return m;const d=getVariableName(m),p=r(d);let h=null;const g=getPath(m).split(".");return g.forEach((_,f)=>{const v=g.slice(0,f+1).join("."),C=(0,import_client.getValuesByPath)({[d]:(p==null?void 0:p.ctx)||{}},v);import_lodash.default.isEmpty(C)||(h=C)}),h}}),u,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),o,r]),{filter:i,parseVariableLoading:a}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{var t;const{params:o,parseVariableLoading:r}=useTableBlockParams(e),i=useParentRecordCommon(e.association),n=(t=useDataSourceManager().getDataSource(e.dataSource))==null?void 0:t.collectionManager.getCollection(e.collection);return{params:o,parentRecord:i,parseVariableLoading:r,rowKey:(n==null?void 0:n.filterTargetKey)||"id"}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1),u=(0,import_react2.useDeferredValue)(l);return!c.current&&u?(0,import_jsx_runtime.jsx)(i,{}):(c.current=!0,(0,import_jsx_runtime.jsx)(e,x({},a)))});return n.displayName=r||`${e.displayName}(withSkeletonComponent)`||`${e.name}(withSkeletonComponent)`,n},getActionValue=(e,t)=>{const o=r=>(r==null?void 0:r.mode)==="constant"?r.value:null;switch(!0){case[ActionType.Color,ActionType.BackgroundColor,ActionType.TextAlign,ActionType.FontSize,ActionType.FontWeight,ActionType.FontStyle].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>z(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i,conditionType:a.conditionType},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedActions({rules:o,variables:r,localVariables:i},n)).map(a=>P(x({},a),{value:getActionValue(a.operator,a.value)}))}),getSatisfiedValueMap=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedValues({rules:o,variables:r,localVariables:i},n)).reduce((a,l)=>P(x({},a),{[l.operator]:l.value}),{})});function useSatisfiedActionValues({formValues:e,category:t="default",rules:o,schema:r,form:i}){const[n,a]=(0,import_react2.useState)({}),l=(0,import_react.useFieldSchema)(),c=useVariables$1(),u=useLocalVariables$1({currentForm:{values:e}}),m=r??l,d=o??(m[LinkageRuleDataKeyMap[t]]||(m==null?void 0:m.parent[LinkageRuleDataKeyMap[t]])),p=useApp(),h=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(g=>{(0,import_lodash.isEmpty)(g)?a({}):a(g)}).catch(g=>{throw new Error(g.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(h(),i){const g=(0,import_shared.uid)();return i.addEffects(g,()=>{(0,import_core.onFormValuesChange)(()=>{h()})}),()=>{i.removeEffects(g)}}},[i,h,e]),{valueMap:n}}const GetStyleRules=import_react2.default.memo(({record:e,schema:t,onStyleChange:o})=>{const{valueMap:r}=useSatisfiedActionValues({formValues:e,category:"style",schema:t});return(0,import_react2.useEffect)(()=>{o(r)},[o,r]),null});GetStyleRules.displayName="GetStyleRules";const opacityStyle={opacity:.5},containerStyle={position:"relative"},spinStyle={display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:0,right:0,height:"100%",maxHeight:400,zIndex:1e3},displayNone$3={display:"none"},HighPerformanceSpin=import_react2.default.memo(e=>(0,import_jsx_runtime.jsxs)("div",{style:containerStyle,children:[(0,import_jsx_runtime.jsx)(import_antd.Spin,P(x({},import_lodash.default.omit(e,"children")),{style:e.spinning?spinStyle:displayNone$3})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]}));var FilterBlockType=(e=>(e[e.FORM=0]="FORM",e[e.TABLE=1]="TABLE",e[e.TREE=2]="TREE",e[e.COLLAPSE=3]="COLLAPSE",e))(FilterBlockType||{});const mergeFilter=(e,t="$and")=>{const o=e.filter(r=>{if(r&&typeof r=="object"&&!Array.isArray(r))return Object.values(r).filter(i=>i!==void 0).length});return o.length===0?{}:o.length===1?o[0]:{[t]:o}},getSupportFieldsByAssociation=(e,t)=>{var o;return(o=t.associatedFields)==null?void 0:o.filter(r=>e==null?void 0:e.some(i=>i===r.target))},getSupportFieldsByForeignKey=(e,t)=>{var o;return(o=t.foreignKeyFields)==null?void 0:o.filter(r=>e.fields.some(i=>i.type!=="belongsTo"&&i.foreignKey===r.name&&i.target===r.collectionName))},useSupportedBlocks=e=>{const{getDataBlocks:t}=useFilterBlock(),o=(0,import_react.useFieldSchema)(),r=useCollection(),{getAllCollectionsInheritChain:i}=useAllCollectionsInheritChainGetter();if(e===0||e===3)return t().filter(n=>isSameCollection(n.collection,r));if(e===1||e===2)return t().filter(n=>{var a,l;return o["x-uid"]!==n.uid&&(isSameCollection(n.collection,r)||((a=getSupportFieldsByAssociation(i(r.name,r.dataSource),n))==null?void 0:a.length)||((l=getSupportFieldsByForeignKey(r,n))==null?void 0:l.length))})},transformToFilter=(e,t,o,r)=>(e=(0,import_client.flatten)(e,{breakOn({value:i,path:n}){if(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$dateBetween","$in","$notIn"].includes(t[n]))return!0;const a=o(`${r}.${n}`);if(["datetime","datetimeNoTz","date","unixTimestamp","createdAt","updatedAt"].includes(a==null?void 0:a.interface))return!0;if(a!=null&&a.target){if(Array.isArray(i))return!0;const l=a.targetKey||"id";if(i&&i[l]!=null)return!0}return!1}}),{$and:Object.keys(e).map(i=>{let n=import_lodash.default.get(e,i);const a=o(`${r}.${i}`);return a!=null&&a.target&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(a.type)&&(n=(0,import_client.getValuesByPath)(n,a.targetKey||"id"),i=`${i}.${a.targetKey||"id"}`,(a==null?void 0:a.interface)==="chinaRegion"&&(n=import_lodash.default.last(n))),!n&&n!==0&&n!==!1?null:{[i]:{[t[i]||"$eq"]:n}}}).filter(Boolean)}),useAssociatedFields=()=>{var e;return((e=useCollection())==null?void 0:e.fields.filter(t=>isAssocField(t)))||[]},isAssocField=e=>["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"].includes(e==null?void 0:e.interface),isSameCollection=(e,t)=>e.name===t.name&&e.dataSource===t.dataSource,useFilterAPI=()=>{const e=(0,import_react.useFieldSchema)(),{getDataBlocks:t}=useFilterBlock(),{targets:o,uid:r}=findFilterTargets(e),i=t(),[n,a]=(0,import_react2.useState)(()=>o&&o.some(u=>i.some(m=>m.uid===u.uid))),l=Object.keys(o||{});(0,import_react2.useEffect)(()=>{a(o&&o.some(u=>i.some(m=>m.uid===u.uid)))},[l.length,o,i]);const c=(0,import_react2.useCallback)((u,m="id",d="$eq")=>{const p=i.find(h=>h.uid===e.parent["x-uid"]);i.forEach(h=>{var g,_,f,v;let C=m;const S=o.find(j=>j.uid===h.uid);if(!S)return;import_lodash.default.isFunction(u)&&(u=u(S,h,getSourceKey$1(p,S.field))),import_lodash.default.isFunction(m)&&(C=m(S,h)),import_lodash.default.isFunction(d)&&(d=d(S));const b=((g=h.service.params)==null?void 0:g[0])||{},y=((f=(_=h.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};if(u!=null)y[r]={$and:[{[C]:{[d]:u}}]};else if((v=h.clearSelection)==null||v.call(h),delete y[r],h.dataLoadingMode==="manual")return h.clearData();const F=mergeFilter([...Object.values(y).map(j=>removeNullCondition(j)),h.defaultFilter]);h.doFilter(P(x({},b),{page:1,filter:F}),{filters:y})})},[i,o,r,e]);return{isConnected:n,doFilter:c}},isInFilterFormBlock=e=>{for(;e;){if(e["x-filter-targets"])return e["x-decorator"]==="FilterFormBlockProvider";e=e.parent}return!1};function getSourceKey$1(e,t){var o,r,i;const n=(o=e==null?void 0:e.associatedFields)==null?void 0:o.find(a=>a.foreignKey===t);return(n==null?void 0:n.sourceKey)||((i=(r=t==null?void 0:t.split)==null?void 0:r.call(t,"."))==null?void 0:i[1])}const AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable(),{isMobileLayout:r}=useMobileLayout();return(0,import_react2.useCallback)(i=>{r||t.reduceProperties((n,a)=>a["x-component"]==="AssociationField."+e?a:n,null)||o((0,import_cloneDeep.default)(i))},[e,t,o,r])};function useAssociationFieldContext(){return(0,import_react2.useContext)(AssociationFieldContext)}function useServiceOptions$1(e){var t,o,r,i,n,a,l,c,u,m;const{action:d="list",service:p,useOriginalFilter:h}=e,g=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),C=useRecord(),{isNew:S}=useCollectionRecord()||{},b=((0,import_lodash.isString)((r=(o=(t=g==null?void 0:g["x-component-props"])==null?void 0:t.service)==null?void 0:o.params)==null?void 0:r.filter)?(a=(n=(i=_.componentProps)==null?void 0:i.service)==null?void 0:n.params)==null?void 0:a.filter:(u=(c=(l=g==null?void 0:g["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||((m=p==null?void 0:p.params)==null?void 0:m.filter),{filter:y}=useParsedFilter({filterOption:b,onFilterChange:()=>{S&&_.reset()}}),F=(0,import_react2.useMemo)(()=>f(g.name)||v(g==null?void 0:g["x-collection-field"]),[g]),j=C==null?void 0:C[F==null?void 0:F.sourceKey],k=(0,import_react2.useMemo)(()=>{const T=["oho","o2m"].includes(F==null?void 0:F.interface);return mergeFilter([mergeFilter([T&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$is:null}}:null,y]),T&&j!==void 0&&j!==null&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$eq:j}}:null],"$or")},[F==null?void 0:F.interface,F==null?void 0:F.foreignKey,g,y,j,h]);return(0,import_react2.useMemo)(()=>P(x({resource:F==null?void 0:F.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:k})}),[F==null?void 0:F.target,d,k,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
66
66
  &.skeleton-wrapper {
67
67
  width: 100%;
68
68
  background: ${o.colorBgContainer};
@@ -288,7 +288,7 @@ ${JSON.stringify(E,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,S,k,b,y,h]),M=(0,import_
288
288
  display: flex;
289
289
  margin: 5px 0px;
290
290
  }
291
- `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:y,enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}}},onSubmit:k=>{const T={"x-uid":h["x-uid"]};(g.componentProps.picker||"date")!==k.picker&&!j&&g.value&&(g.value=void 0,g.initialValue=void 0,h.default=void 0,T.default=void 0),T["x-component-props"]=g.componentProps||{},h["x-component-props"]=x(x({},g.componentProps||{}),k),T["x-component-props"]=h["x-component-props"],g.componentProps=h["x-component-props"];const M=g.path.entire.split(".");M.pop();const w=M.join(".");g.query(`${w}.*[0:].${h.name}`).forEach(L=>{L.props.name===h.name&&((g.componentProps.picker||"date")!==k.picker&&!j&&(L.value=void 0,L.initialValue=void 0),L.setComponentProps(x({},k)))}),_.emit("patch",{schema:T}),_.refresh()}})};function formatVariableScop(e){return e.map(t=>P(x({},t),{value:t.name,key:t.name,label:t.title,disabled:t.disabled,children:t.children?formatVariableScop(t.children):void 0}))}const getActionContext=e=>{var t;return((t=e.fieldSchema)==null?void 0:t["x-action-context"])||{}},SchemaSettingsDefaultValue=function(e){var t,o,r;const i=(0,import_react.useFieldSchema)(),n=(t=e==null?void 0:e.fieldSchema)!=null?t:i,a=(0,import_react.useField)(),{dn:l}=useDesignable(),{t:c}=(0,import_react_i18next.useTranslation)(),u=useActionContext(),m=getActionContext(u).collection;let d;const{getField:p}=useCollection_deprecated(),{getCollectionJoinField:h,getCollectionFields:g,getAllCollectionsInheritChain:_}=useCollectionManager_deprecated(),f=useVariables$1(),v=useLocalVariables$1(),C=useCollection_deprecated(),S=useRecord(),{form:b,type:y}=useFormBlockContext(),{getFields:F}=useCollectionFilterOptionsV2(C),{isInSubForm:j,isInSubTable:k}=useFlag()||{},{name:T}=C,M=(0,import_react2.useMemo)(()=>p(n.name)||h(n["x-collection-field"]),[n,h,p]),w=import_lodash.default.omit(n,"required");M!=null&&M.target&&(d=h(`${M.target}.${((r=(o=n["x-component-props"])==null?void 0:o.fieldNames)==null?void 0:r.label)||"id"}`));const L=(M==null?void 0:M.interface)==="m2o"&&findParentFieldSchema(n),D=L&&h(L==null?void 0:L["x-collection-field"]),R=useTableBlockContext(),N=(M==null?void 0:M.interface)==="m2m"||(M==null?void 0:M.interface)==="mbm"||(D==null?void 0:D.type)==="hasMany"&&(M==null?void 0:M.interface)==="m2o",B=(0,import_react2.useCallback)(O=>{const V=O.find(q=>q.value==="$nForm"),U=g(T);return!(U!=null&&U.length)&&V&&(V.children=formatVariableScop(F())),O},[F,T]),I=(0,import_react2.useMemo)(()=>({ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout,VariableInput:O=>(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:{designable:!1},children:(0,import_jsx_runtime.jsx)(VariableInput,P(x({},O),{value:O.value||void 0,hideVariableButton:e==null?void 0:e.hideVariableButton}))})}),[]),$=(0,import_react2.useMemo)(()=>({type:"object",title:c("Set default value"),properties:{default:{"x-decorator":"FormItem","x-component":"VariableInput","x-component-props":P(x({},(n==null?void 0:n["x-component-props"])||{}),{collectionField:M,contextCollectionName:N?m:"",schema:M==null?void 0:M.uiSchema,targetFieldSchema:n,className:defaultInputStyle,form:b,record:S,returnScope:B,shouldChange:getShouldChange({collectionField:M,variables:f,localVariables:v,getAllCollectionsInheritChain:_}),renderSchemaComponent:function(O){const V=(0,import_react2.useMemo)(()=>import_lodash.default.cloneDeep(w)||{},[]);V["x-read-pretty"]=!1,V["x-disabled"]=!1,import_lodash.default.set(V,"x-decorator-props.showTitle",!1);const U=getFieldDefaultValue(V,M);M.target&&V["x-component-props"]&&(V["x-component-props"].mode="Select"),M!=null&&M.uiSchema.type&&(V.type=M.uiSchema.type),(M==null?void 0:M.uiSchema["x-component"])==="Checkbox"&&(import_lodash.default.set(V,"x-component-props.defaultChecked",U),V.type="void");const q=(0,import_react2.useMemo)(()=>P(x({},V||{}),{"x-decorator":"FormItem","x-component-props":P(x({},V["x-component-props"]),{collectionName:M==null?void 0:M.collectionName,targetField:d,defaultValue:isVariable$1(U)?"":U,style:{width:"100%",verticalAlign:"top",minWidth:"200px"}}),default:isVariable$1(U)?"":U}),[V,U]);return import_lodash.default.set(q,"x-component-props.onChange",O.onChange),(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:q})})}}),title:c("Default value"),default:getFieldDefaultValue(n,M)}}}),[M,n,w,b,_,N,v,S,B,c,R.collection,d,f]),E=(0,import_react2.useCallback)(O=>{var V,U,q;const G={"x-uid":n["x-uid"]};n.default=(V=O.default)!=null?V:null,isVariable$1(O.default)||(S.__isNewRecord__||y==="create")&&((U=a.setInitialValue)==null||U.call(a,O.default)),G.default=(q=O.default)!=null?q:null,l.emit("patch",{schema:G,currentSchema:i})},[i,l,a,n]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:c("Set default value"),components:I,width:800,schema:$,onSubmit:E,ModalContextProvider:O=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:j,isInSubTable:k,isInSetDefaultValueDialog:!0,collectionField:M,children:O.children})})},SchemaSettingsSortingRule=function(e){var t,o,r,i;const n=(0,import_react.useField)(),{dn:a}=useDesignable(),{t:l}=(0,import_react_i18next.useTranslation)(),c=(0,import_react.useFieldSchema)(),{getField:u}=useCollection_deprecated(),{getCollectionJoinField:m}=useCollectionManager_deprecated(),d=(t=e==null?void 0:e.fieldSchema)!=null?t:c,p=u(d.name)||m(d["x-collection-field"]),h=useSortFields(p==null?void 0:p.target),g=((i=(r=(o=d["x-component-props"])==null?void 0:o.service)==null?void 0:r.params)==null?void 0:i.sort)||[],_=g==null?void 0:g.map(f=>f!=null&&f.startsWith("-")?{field:f.substring(1),direction:"desc"}:{field:f,direction:"asc"});return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:l("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:l("Set default sorting rules"),properties:{sort:{type:"array",default:_,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:h,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:l("ASC"),value:"asc"},{label:l("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:l("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:f})=>{var v;const C=f.map(S=>S.direction==="desc"?`-${S.field}`:S.field);n.query(new RegExp(`[0-9]+\\.${d.name}$`)).forEach(S=>{import_lodash.default.set(S,"componentProps.service.params.sort",C)}),import_lodash.default.set(d,"x-component-props.service.params.sort",C),(v=e==null?void 0:e.onSubmitCallBack)==null||v.call(e,C),a.emit("patch",{schema:{"x-uid":d["x-uid"],"x-component-props":d["x-component-props"]}})}})},isPatternDisabled=e=>{var t;return((t=e==null?void 0:e["x-component-props"])==null?void 0:t["pattern-disable"])==!0},DefaultValueContext=import_react2.default.createContext(null),DefaultValueProvider=e=>{const t=(0,import_react2.useMemo)(()=>({isAllowToSetDefaultValue:e.isAllowToSetDefaultValue}),[e.isAllowToSetDefaultValue]);return(0,import_jsx_runtime.jsx)(DefaultValueContext.Provider,{value:t,children:e.children})},useIsAllowToSetDefaultValue=({form:e,fieldSchema:t,collectionField:o}={})=>{const r=useDataSourceManager(),i=useCollectionManager(),n=useCollection(),{form:a}=useFormBlockContext(),l=(0,import_react.useFieldSchema)(),{type:c}=useFormBlockType(),{isAllowToSetDefaultValue:u=_isAllowToSetDefaultValue}=(0,import_react2.useContext)(DefaultValueContext)||{};return{isAllowToSetDefaultValue:(0,import_react2.useCallback)(m=>{const d=n.getField(l.name)||i.getCollectionField(l["x-collection-field"]);return u({collectionField:o||d,getInterface:r==null?void 0:r.collectionFieldInterfaceManager.getFieldInterface.bind(r==null?void 0:r.collectionFieldInterfaceManager),form:e||a,formBlockType:c,fieldSchema:t||l,isSubTableColumn:m})},[i,n,o,r==null?void 0:r.collectionFieldInterfaceManager,t,e,l,a,u,c])}},interfacesOfUnsupportedDefaultValue=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"];function _isAllowToSetDefaultValue({collectionField:e,getInterface:t,formBlockType:o,form:r,fieldSchema:i,isSubTableColumn:n}){var a;return n?!interfacesOfUnsupportedDefaultValue.includes(e==null?void 0:e.interface)&&!isSystemField(e,t):!e||e.target&&(a=i["x-component-props"])!=null&&a.mode&&!["Picker","Select"].includes(i["x-component-props"].mode)||o!=="create"?!1:!(r!=null&&r.readPretty)&&!isPatternDisabled(i)&&!interfacesOfUnsupportedDefaultValue.includes(e==null?void 0:e.interface)&&!isSystemField(e,t)}function useIsShowMultipleSwitch(){var e,t;const o=(0,import_react.useField)(),{getCollectionField:r}=useCollectionManager_deprecated(),{fieldSchema:i}=useColumnSchema$1(),n=(0,import_react.useFieldSchema)(),a=i||n,l=a["x-collection-field"]?r(a["x-collection-field"]):null,c=((e=((l==null?void 0:l.uiSchema)||a)["x-component-props"])==null?void 0:e.multiple)===!0,u=(t=o==null?void 0:o.componentProps)==null?void 0:t.mode;return function(){return!o.readPretty&&a["x-component"]!=="TableField"&&c&&u!=="SubTable"}}const useFilterableFields=e=>{var t;const{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated(),i=o(e);return(t=i==null?void 0:i.filter)==null?void 0:t.call(i,n=>{if(!n.interface)return!1;const a=r(n.interface);return!!(a!=null&&a.filterable)})},FilterableFieldsSchemaSettingsItem=()=>{var e;const t=(0,import_react.useFieldSchema)(),{dn:o}=useDesignable(),{name:r}=useCollection_deprecated(),i=useFilterableFields(r),n=useCompile(),{t:a}=(0,import_react_i18next.useTranslation)(),l=((e=t==null?void 0:t["x-component-props"])==null?void 0:e.nonfilterable)||[];return(0,import_jsx_runtime.jsx)(SchemaSettingsItemGroup,{title:a("Filterable fields"),children:i.map(c=>{var u;const m=!l.includes(c.name);return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{checked:m,title:n((u=c==null?void 0:c.uiSchema)==null?void 0:u.title),onChange:d=>{var p;t["x-component-props"]=(t==null?void 0:t["x-component-props"])||{};const h=((p=t==null?void 0:t["x-component-props"])==null?void 0:p.nonfilterable)||[];if(!d)h.push(c.name);else{const g=h.indexOf(c.name);h.splice(g,1)}t["x-component-props"].nonfilterable=h,o.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":x({},t["x-component-props"])}}),o.refresh()}},c.name)})})},FilterActionDesigner=e=>{var t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,P(x({},e),{disableInitializer:!0,children:[(0,import_jsx_runtime.jsx)(FilterableFieldsSchemaSettingsItem,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit button"),schema:{type:"object",title:n("Edit button"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:n("Button title"),default:r.title,"x-component-props":{}},icon:{"x-decorator":"FormItem","x-component":"IconPicker",title:n("Button icon"),default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.icon,"x-component-props":{}}}},onSubmit:({title:a,icon:l})=>{r.title=a,o.title=a,o.componentProps.icon=l,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].icon=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],title:a,"x-component-props":x({},r["x-component-props"])}}),i.refresh()}}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:a=>a["x-component"]==="Space"||a["x-component"]==="ActionBar"})]}))},StablePopover=e=>{const t=(0,import_react2.useRef)(null),o=(0,import_react2.useCallback)(i=>{t.current=i.target},[]),r=(0,import_react2.useCallback)(i=>{setTimeout(()=>{var n;if(!i&&t.current!==null&&!isTargetInPopover(t.current)){t.current=null;return}(n=e.onOpenChange)==null||n.call(e,i)})},[e]);return(0,import_jsx_runtime.jsx)("div",{className:"popover-with-stop-propagation",onClick:o,children:(0,import_jsx_runtime.jsx)(import_antd.Popover,P(x({},e),{onOpenChange:r}))})};function isTargetInPopover(e){var t;if(!e)return!1;for(;e;){if((t=e.classList)!=null&&t.contains("popover-with-stop-propagation"))return!0;e=e.parentNode}return!1}const FilterActionContext=(0,import_react2.createContext)(null);FilterActionContext.displayName="FilterActionContext";const InternalFilterAction=import_react2.default.memo(e=>{const t=(0,import_react.useField)(),[o,r]=(0,import_react2.useState)(!1),{designable:i,dn:n}=useDesignable(),a=(0,import_react.useFieldSchema)(),l=(0,import_react2.useMemo)(()=>e.form||(0,import_core.createForm)(),[]),{options:c,onSubmit:u,onReset:m,Container:d=StablePopover,icon:p,onlyIcon:h}=useProps(e),g=(0,import_react2.useCallback)(C=>{r(C)},[]),_=(0,import_react2.useMemo)(()=>({field:t,fieldSchema:a,designable:i,dn:n}),[i,n,t,a]),f=(0,import_react2.useCallback)(()=>r(C=>!C),[]),v=(0,import_react2.useMemo)(()=>(0,import_jsx_runtime.jsx)(FilterActionContent,{form:l,options:c,field:t,fieldSchema:a,onReset:m,setVisible:r,onSubmit:u}),[t,a,l,m,u,c]);return(0,import_jsx_runtime.jsx)(FilterActionContext.Provider,{value:_,children:(0,import_jsx_runtime.jsx)(d,{destroyTooltipOnHide:!0,placement:"bottomLeft",open:o,onOpenChange:g,trigger:"click",content:v,children:(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(Action,{onClick:f,icon:p,onlyIcon:h})})})})});InternalFilterAction.displayName="InternalFilterAction";const FilterAction=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(InternalFilterAction,P(x({},e),{disabled:!!e.disabled})));FilterAction.displayName="FilterAction";const SaveConditions=()=>{const{fieldSchema:e,designable:t,dn:o}=(0,import_react2.useContext)(FilterActionContext),r=(0,import_react.useForm)(),{t:i}=(0,import_react_i18next.useTranslation)();return t?(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"dashed",className:import_css.css`
291
+ `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:y,enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}}},onSubmit:k=>{const T={"x-uid":h["x-uid"]};(g.componentProps.picker||"date")!==k.picker&&!j&&g.value&&(g.value=void 0,g.initialValue=void 0,h.default=void 0,T.default=void 0),T["x-component-props"]=g.componentProps||{},h["x-component-props"]=x(x({},g.componentProps||{}),k),T["x-component-props"]=h["x-component-props"],g.componentProps=h["x-component-props"];const M=g.path.entire.split(".");M.pop();const w=M.join(".");g.query(`${w}.*[0:].${h.name}`).forEach(L=>{L.props.name===h.name&&((g.componentProps.picker||"date")!==k.picker&&!j&&(L.value=void 0,L.initialValue=void 0),L.setComponentProps(x({},k)))}),_.emit("patch",{schema:T}),_.refresh()}})};function formatVariableScop(e){return e.map(t=>P(x({},t),{value:t.name,key:t.name,label:t.title,disabled:t.disabled,children:t.children?formatVariableScop(t.children):void 0}))}const getActionContext=e=>{var t;return((t=e.fieldSchema)==null?void 0:t["x-action-context"])||{}},SchemaSettingsDefaultValue=function(e){var t,o,r;const i=(0,import_react.useFieldSchema)(),n=(t=e==null?void 0:e.fieldSchema)!=null?t:i,a=(0,import_react.useField)(),{dn:l}=useDesignable(),{t:c}=(0,import_react_i18next.useTranslation)(),u=useActionContext(),m=getActionContext(u).collection;let d;const{getField:p}=useCollection_deprecated(),{getCollectionJoinField:h,getCollectionFields:g,getAllCollectionsInheritChain:_}=useCollectionManager_deprecated(),f=useVariables$1(),v=useLocalVariables$1(),C=useCollection_deprecated(),S=useRecord(),{form:b,type:y}=useFormBlockContext(),{getFields:F}=useCollectionFilterOptionsV2(C),{isInSubForm:j,isInSubTable:k}=useFlag()||{},{name:T}=C,M=(0,import_react2.useMemo)(()=>p(n.name)||h(n["x-collection-field"]),[n,h,p]),w=import_lodash.default.omit(n,"required");M!=null&&M.target&&(d=h(`${M.target}.${((r=(o=n["x-component-props"])==null?void 0:o.fieldNames)==null?void 0:r.label)||"id"}`));const L=(M==null?void 0:M.interface)==="m2o"&&findParentFieldSchema(n),D=L&&h(L==null?void 0:L["x-collection-field"]),R=useTableBlockContext(),N=(M==null?void 0:M.interface)==="m2m"||(M==null?void 0:M.interface)==="mbm"||(D==null?void 0:D.type)==="hasMany"&&(M==null?void 0:M.interface)==="m2o",B=(0,import_react2.useCallback)(O=>{const V=O.find(q=>q.value==="$nForm"),U=g(T);return!(U!=null&&U.length)&&V&&(V.children=formatVariableScop(F())),O},[F,T]),I=(0,import_react2.useMemo)(()=>({ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout,VariableInput:O=>(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:{designable:!1},children:(0,import_jsx_runtime.jsx)(VariableInput,P(x({},O),{value:O.value||void 0,hideVariableButton:e==null?void 0:e.hideVariableButton}))})}),[]),$=(0,import_react2.useMemo)(()=>({type:"object",title:c("Set default value"),properties:{default:{"x-decorator":"FormItem","x-component":"VariableInput","x-component-props":P(x({},(n==null?void 0:n["x-component-props"])||{}),{collectionField:M,contextCollectionName:N?m:"",schema:M==null?void 0:M.uiSchema,targetFieldSchema:n,className:defaultInputStyle,form:b,record:S,returnScope:B,shouldChange:getShouldChange({collectionField:M,variables:f,localVariables:v,getAllCollectionsInheritChain:_}),renderSchemaComponent:function(O){const V=(0,import_react2.useMemo)(()=>import_lodash.default.cloneDeep(w)||{},[]);V["x-read-pretty"]=!1,V["x-disabled"]=!1,import_lodash.default.set(V,"x-decorator-props.showTitle",!1);const U=getFieldDefaultValue(V,M);M.target&&V["x-component-props"]&&(V["x-component-props"].mode="Select"),M!=null&&M.uiSchema.type&&(V.type=M.uiSchema.type),(M==null?void 0:M.uiSchema["x-component"])==="Checkbox"&&(import_lodash.default.set(V,"x-component-props.defaultChecked",U),V.type="void");const q=(0,import_react2.useMemo)(()=>P(x({},V||{}),{"x-decorator":"FormItem","x-component-props":P(x({},V["x-component-props"]),{collectionName:M==null?void 0:M.collectionName,targetField:d,defaultValue:isVariable$1(U)?"":U,style:{width:"100%",verticalAlign:"top",minWidth:"200px"}}),default:isVariable$1(U)?"":U}),[V,U]);return import_lodash.default.set(q,"x-component-props.onChange",O.onChange),(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:q})})}}),title:c("Default value"),default:getFieldDefaultValue(n,M)}}}),[M,n,w,b,_,N,v,S,B,c,R.collection,d,f]),E=(0,import_react2.useCallback)(O=>{var V,U,q;const G={"x-uid":n["x-uid"]};n.default=(V=O.default)!=null?V:null,isVariable$1(O.default)||(S.__isNewRecord__||y==="create")&&((U=a.setInitialValue)==null||U.call(a,O.default)),G.default=(q=O.default)!=null?q:null,l.emit("patch",{schema:G,currentSchema:i})},[i,l,a,n]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:c("Set default value"),components:I,width:800,schema:$,onSubmit:E,ModalContextProvider:O=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:j,isInSubTable:k,isInSetDefaultValueDialog:!0,collectionField:M,children:O.children})})},SchemaSettingsSortingRule=function(e){var t,o,r,i;const n=(0,import_react.useField)(),{dn:a}=useDesignable(),{t:l}=(0,import_react_i18next.useTranslation)(),c=(0,import_react.useFieldSchema)(),{getField:u}=useCollection_deprecated(),{getCollectionJoinField:m}=useCollectionManager_deprecated(),d=(t=e==null?void 0:e.fieldSchema)!=null?t:c,p=u(d.name)||m(d["x-collection-field"]),h=useSortFields(p==null?void 0:p.target),g=((i=(r=(o=d["x-component-props"])==null?void 0:o.service)==null?void 0:r.params)==null?void 0:i.sort)||[],_=g==null?void 0:g.map(f=>f!=null&&f.startsWith("-")?{field:f.substring(1),direction:"desc"}:{field:f,direction:"asc"});return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:l("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:l("Set default sorting rules"),properties:{sort:{type:"array",default:_,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:h,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:l("ASC"),value:"asc"},{label:l("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:l("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:f})=>{var v;const C=f.map(S=>S.direction==="desc"?`-${S.field}`:S.field);n.query(new RegExp(`[0-9]+\\.${d.name}$`)).forEach(S=>{import_lodash.default.set(S,"componentProps.service.params.sort",C)}),import_lodash.default.set(d,"x-component-props.service.params.sort",C),(v=e==null?void 0:e.onSubmitCallBack)==null||v.call(e,C),a.emit("patch",{schema:{"x-uid":d["x-uid"],"x-component-props":d["x-component-props"]}})}})},isPatternDisabled=e=>{var t;return((t=e==null?void 0:e["x-component-props"])==null?void 0:t["pattern-disable"])==!0},DefaultValueContext=import_react2.default.createContext(null),DefaultValueProvider=e=>{const t=(0,import_react2.useMemo)(()=>({isAllowToSetDefaultValue:e.isAllowToSetDefaultValue}),[e.isAllowToSetDefaultValue]);return(0,import_jsx_runtime.jsx)(DefaultValueContext.Provider,{value:t,children:e.children})},useIsAllowToSetDefaultValue=({form:e,fieldSchema:t,collectionField:o}={})=>{const r=useDataSourceManager(),i=useCollectionManager(),n=useCollection(),{form:a}=useFormBlockContext(),l=(0,import_react.useFieldSchema)(),{type:c}=useFormBlockType(),{isAllowToSetDefaultValue:u=_isAllowToSetDefaultValue}=(0,import_react2.useContext)(DefaultValueContext)||{};return{isAllowToSetDefaultValue:(0,import_react2.useCallback)(m=>{const d=n.getField(l.name)||i.getCollectionField(l["x-collection-field"]);return u({collectionField:o||d,getInterface:r==null?void 0:r.collectionFieldInterfaceManager.getFieldInterface.bind(r==null?void 0:r.collectionFieldInterfaceManager),form:e||a,formBlockType:c,fieldSchema:t||l,isSubTableColumn:m})},[i,n,o,r==null?void 0:r.collectionFieldInterfaceManager,t,e,l,a,u,c])}},interfacesOfUnsupportedDefaultValue=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"];function _isAllowToSetDefaultValue({collectionField:e,getInterface:t,formBlockType:o,form:r,fieldSchema:i,isSubTableColumn:n}){var a;return n?!interfacesOfUnsupportedDefaultValue.includes(e==null?void 0:e.interface)&&!isSystemField(e,t):!e||e.target&&(a=i["x-component-props"])!=null&&a.mode&&!["Picker","Select"].includes(i["x-component-props"].mode)||o!=="create"?!1:!(r!=null&&r.readPretty)&&!isPatternDisabled(i)&&!interfacesOfUnsupportedDefaultValue.includes(e==null?void 0:e.interface)&&!isSystemField(e,t)}function useIsShowMultipleSwitch(){var e,t;const o=(0,import_react.useField)(),{getCollectionField:r}=useCollectionManager_deprecated(),{fieldSchema:i}=useColumnSchema$1(),n=(0,import_react.useFieldSchema)(),a=i||n,l=a["x-collection-field"]?r(a["x-collection-field"]):null,c=((e=((l==null?void 0:l.uiSchema)||a)["x-component-props"])==null?void 0:e.multiple)===!0,u=(t=o==null?void 0:o.componentProps)==null?void 0:t.mode;return function(){return!o.readPretty&&a["x-component"]!=="TableField"&&c&&u!=="SubTable"}}const useFilterableFields=e=>{var t;const{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated(),i=o(e);return(t=i==null?void 0:i.filter)==null?void 0:t.call(i,n=>{if(!n.interface)return!1;const a=r(n.interface);return!!(a!=null&&a.filterable)})},FilterableFieldsSchemaSettingsItem=()=>{var e;const t=(0,import_react.useFieldSchema)(),{dn:o}=useDesignable(),{name:r}=useCollection_deprecated(),i=useFilterableFields(r),n=useCompile(),{t:a}=(0,import_react_i18next.useTranslation)(),l=((e=t==null?void 0:t["x-component-props"])==null?void 0:e.nonfilterable)||[];return(0,import_jsx_runtime.jsx)(SchemaSettingsItemGroup,{title:a("Filterable fields"),children:i.map(c=>{var u;const m=!l.includes(c.name);return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{checked:m,title:n((u=c==null?void 0:c.uiSchema)==null?void 0:u.title),onChange:d=>{var p;t["x-component-props"]=(t==null?void 0:t["x-component-props"])||{};const h=((p=t==null?void 0:t["x-component-props"])==null?void 0:p.nonfilterable)||[];if(!d)h.push(c.name);else{const g=h.indexOf(c.name);h.splice(g,1)}t["x-component-props"].nonfilterable=h,o.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":x({},t["x-component-props"])}}),o.refresh()}},c.name)})})},FilterActionDesigner=e=>{var t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,P(x({},e),{disableInitializer:!0,children:[(0,import_jsx_runtime.jsx)(FilterableFieldsSchemaSettingsItem,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit button"),schema:{type:"object",title:n("Edit button"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:n("Button title"),default:r.title,"x-component-props":{}},icon:{"x-decorator":"FormItem","x-component":"IconPicker",title:n("Button icon"),default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.icon,"x-component-props":{}}}},onSubmit:({title:a,icon:l})=>{r.title=a,o.title=a,o.componentProps.icon=l,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].icon=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],title:a,"x-component-props":x({},r["x-component-props"])}}),i.refresh()}}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:a=>a["x-component"]==="Space"||a["x-component"]==="ActionBar"})]}))},zIndexContext=import_react2.default.createContext(100),useZIndexContext=()=>import_react2.default.useContext(zIndexContext),getZIndex=(e,t,o)=>{let r=t;return e==="page"&&!window.location.pathname.includes("/embed/")?(r=t+o,r>200?r-200:r):(r=t+o,r<200?r+200:r)},StablePopover=e=>{const t=useZIndexContext(),o=getZIndex("drawer",t,1),r=(0,import_react2.useRef)(null),i=(0,import_react2.useCallback)(a=>{r.current=a.target},[]),n=(0,import_react2.useCallback)(a=>{setTimeout(()=>{var l;if(!a&&r.current!==null&&!isTargetInPopover(r.current)){r.current=null;return}(l=e.onOpenChange)==null||l.call(e,a)})},[e]);return(0,import_jsx_runtime.jsx)("div",{className:"popover-with-stop-propagation",onClick:i,children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd.Popover,P(x({},e),{zIndex:o,onOpenChange:n}))})})};function isTargetInPopover(e){var t;if(!e)return!1;for(;e;){if((t=e.classList)!=null&&t.contains("popover-with-stop-propagation"))return!0;e=e.parentNode}return!1}const FilterActionContext=(0,import_react2.createContext)(null);FilterActionContext.displayName="FilterActionContext";const InternalFilterAction=import_react2.default.memo(e=>{const t=(0,import_react.useField)(),[o,r]=(0,import_react2.useState)(!1),{designable:i,dn:n}=useDesignable(),a=(0,import_react.useFieldSchema)(),l=(0,import_react2.useMemo)(()=>e.form||(0,import_core.createForm)(),[]),{options:c,onSubmit:u,onReset:m,Container:d=StablePopover,icon:p,onlyIcon:h}=useProps(e),g=(0,import_react2.useCallback)(C=>{r(C)},[]),_=(0,import_react2.useMemo)(()=>({field:t,fieldSchema:a,designable:i,dn:n}),[i,n,t,a]),f=(0,import_react2.useCallback)(()=>r(C=>!C),[]),v=(0,import_react2.useMemo)(()=>(0,import_jsx_runtime.jsx)(FilterActionContent,{form:l,options:c,field:t,fieldSchema:a,onReset:m,setVisible:r,onSubmit:u}),[t,a,l,m,u,c]);return(0,import_jsx_runtime.jsx)(FilterActionContext.Provider,{value:_,children:(0,import_jsx_runtime.jsx)(d,{destroyTooltipOnHide:!0,placement:"bottomLeft",open:o,onOpenChange:g,trigger:"click",content:v,children:(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(Action,{onClick:f,icon:p,onlyIcon:h})})})})});InternalFilterAction.displayName="InternalFilterAction";const FilterAction=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(InternalFilterAction,P(x({},e),{disabled:!!e.disabled})));FilterAction.displayName="FilterAction";const SaveConditions=()=>{const{fieldSchema:e,designable:t,dn:o}=(0,import_react2.useContext)(FilterActionContext),r=(0,import_react.useForm)(),{t:i}=(0,import_react_i18next.useTranslation)();return t?(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"dashed",className:import_css.css`
292
292
  border-color: var(--colorSettings);
293
293
  color: var(--colorSettings);
294
294
  `,onClick:()=>{const n=x({},r.values.filter);e.default=n,o.emit("patch",{schema:{"x-uid":e["x-uid"],default:undefinedToNull(n)}}),o.refresh()},children:i("Save conditions")}):null},utcValue={utc:!1},className1$2=import_css.css`
@@ -603,7 +603,7 @@ ${JSON.stringify(E,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,S,k,b,y,h]),M=(0,import_
603
603
  z-index: 200;
604
604
  transition: left 0.2s;
605
605
  }
606
- `,children:e.children}),document.body)})},collapsedButtonRender=(e,t)=>(0,import_jsx_runtime.jsx)(CollapsedButton,{collapsed:e,children:t}),useHeaderStyle=(0,import_antd_style.createStyles)(({token:e})=>({headerPopup:{"&.ant-menu-submenu-popup>.ant-menu":{backgroundColor:`${e.colorBgHeader}`}},headerMenuActive:{"& .ant-menu-submenu-selected>.ant-menu-submenu-title":{color:e.colorTextHeaderMenuActive}}})),headerContextValue={inHeader:!0},HeaderWrapper=e=>{const{styles:t}=useHeaderStyle();return(0,import_jsx_runtime.jsx)("span",{className:t.headerMenuActive,children:(0,import_jsx_runtime.jsx)(HeaderContext.Provider,{value:headerContextValue,children:e.children})})},headerRender=(e,t)=>(0,import_jsx_runtime.jsx)(HeaderWrapper,{children:t}),IsMobileLayoutContext=import_react2.default.createContext({isMobileLayout:!1,setIsMobileLayout:()=>{}}),MobileLayoutProvider=e=>{const[t,o]=(0,import_react2.useState)(!1),r=(0,import_react2.useMemo)(()=>({isMobileLayout:t,setIsMobileLayout:o}),[t]);return(0,import_jsx_runtime.jsx)(IsMobileLayoutContext.Provider,{value:r,children:e.children})},useMobileLayout=()=>{const{isMobileLayout:e,setIsMobileLayout:t}=(0,import_react2.useContext)(IsMobileLayoutContext);return{isMobileLayout:e,setIsMobileLayout:t}},InternalAdminLayout=()=>{const{allAccessRoutes:e}=useAllAccessDesktopRoutes(),{designable:t}=useDesignable(),o=(0,import_react_router_dom.useLocation)(),{onDragEnd:r}=useMenuDragEnd(),{token:i}=useToken(),{isMobileLayout:n}=useMobileLayout(),[a,l]=(0,import_react2.useState)(n),c=(0,import_react2.useRef)(!1),{t:u}=useMenuTranslation(),m=n?!1:t,{styles:d}=useHeaderStyle(),p=(0,import_react2.useMemo)(()=>({path:"/",children:convertRoutesToLayout(e,{designable:m,isMobile:n,t:u})}),[e,m,n,u]),h=(0,import_react2.useMemo)(()=>({header:{colorBgHeader:i.colorBgHeader,colorTextMenu:i.colorTextHeaderMenu,colorTextMenuSelected:i.colorTextHeaderMenuActive,colorTextMenuActive:i.colorTextHeaderMenuHover,colorBgMenuItemHover:i.colorBgHeaderMenuHover,colorBgMenuItemSelected:i.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:i.colorTextHeaderMenu},sider:{colorMenuBackground:i.colorBgContainer,colorTextMenu:i.colorText,colorTextMenuSelected:i.colorPrimary,colorBgMenuItemSelected:i.colorPrimaryBg,colorBgMenuItemActive:i.colorPrimaryBg,colorBgMenuItemHover:i.colorBgTextHover},bgLayout:i.colorBgLayout}),[i]),{theme:g,isDarkTheme:_}=useGlobalTheme(),f=(0,import_react2.useMemo)(()=>P(x({},g),{token:P(x({},g.token),{paddingPageHorizontal:8,paddingPageVertical:8,marginBlock:12,borderRadiusBlock:8,fontSize:16}),algorithm:_?[import_antd.theme.compactAlgorithm,import_antd.theme.darkAlgorithm]:import_antd.theme.compactAlgorithm}),[g,_]),v=(0,import_react2.useCallback)(b=>{c.current||l(b)},[]),C=(0,import_react2.useCallback)(()=>{c.current=!0,setTimeout(()=>{c.current=!1})},[]),S=(0,import_react2.useMemo)(()=>({overflowedIndicatorPopupClassName:d.headerPopup}),[d.headerPopup]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:r,children:(0,import_jsx_runtime.jsx)(import_pro_layout.default,{contentStyle,siderWidth:i.siderWidth||200,className:resetStyle,location:o,route:p,actionsRender,logo:(0,import_jsx_runtime.jsx)(NocoBaseLogo,{}),title:"",layout:"mix",splitMenus:!0,token:h,headerRender,menuItemRender,subMenuItemRender,collapsedButtonRender,onCollapse:v,collapsed:a,onPageChange:C,menu:{autoClose:!1},menuProps:S,children:(0,import_jsx_runtime.jsx)(import_pro_layout.RouteContext.Consumer,{children:b=>{const{isMobile:y}=b;return(0,import_jsx_runtime.jsx)(SetIsMobileLayout,{isMobile:y,children:(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{theme:y?f:g,children:(0,import_jsx_runtime.jsx)(LayoutContent,{})})})}})})})};function SetIsMobileLayout(e){const{setIsMobileLayout:t}=useMobileLayout();return(0,import_react2.useEffect)(()=>{t(e.isMobile)},[e.isMobile,t]),e.children}const NavigateToDefaultPage=e=>{var t;const{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=useLocationNoUpdate(),i=(t=findFirstPageRoute(o))==null?void 0:t.schemaUid;return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[e.children,i&&(r.pathname==="/admin"||r.pathname==="/admin/")&&(0,import_jsx_runtime.jsx)(import_react_router_dom.Navigate,{replace:!0,to:`/admin/${i}`})]})},findRouteByMenuSchemaUid=(e,t)=>{var o;if(t)for(const r of t){if(r.menuSchemaUid===e)return r;if((o=r.children)!=null&&o.length){const i=findRouteByMenuSchemaUid(e,r.children);if(i)return i}}},LegacyRouteCompat=e=>{const t=useCurrentPageUid(),{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=(0,import_react_router_dom.useLocation)(),i=(0,import_react_router_dom.useNavigate)();return(0,import_react2.useEffect)(()=>{const n=findRouteByMenuSchemaUid(t,o);n&&i(r.pathname.replace(t,n.schemaUid)+r.search)},[o,t,r.pathname,r.search,i]),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},AdminProvider=e=>(0,import_jsx_runtime.jsx)(CurrentPageUidProvider,{children:(0,import_jsx_runtime.jsx)(CurrentTabUidProvider,{children:(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuProvider,{children:(0,import_jsx_runtime.jsx)(ACLRolesCheckProvider,{children:(0,import_jsx_runtime.jsx)(RoutesRequestProvider,{children:(0,import_jsx_runtime.jsx)(NavigateToDefaultPage,{children:(0,import_jsx_runtime.jsx)(LegacyRouteCompat,{children:(0,import_jsx_runtime.jsx)(RemoteCollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CurrentAppInfoProvider,{children:(0,import_jsx_runtime.jsx)(RemoteSchemaTemplateManagerProvider,{children:e.children})})})})})})})})})}),AdminLayout=e=>(0,import_jsx_runtime.jsx)(AdminProvider,{children:(0,import_jsx_runtime.jsx)(InternalAdminLayout,x({},e))});class AdminLayoutPlugin extends Plugin{afterAdd(){return z(this,null,function*(){yield this.app.pm.add(RemoteSchemaTemplateManagerPlugin)})}load(){return z(this,null,function*(){this.app.schemaSettingsManager.add(userCenterSettings),this.app.addComponents({AdminLayout,AdminDynamicPage}),this.app.use(MobileLayoutProvider)})}}function findRouteBySchemaUid(e,t){var o;if(t){for(const r of t){if(e===r.schemaUid||e===r.menuSchemaUid)return r;if((o=r.children)!=null&&o.length){const i=findRouteBySchemaUid(e,r.children);if(i)return i}}return null}}const MenuDesignerButton=e=>{const{render:t}=useSchemaInitializerRender(menuItemInitializer);return t({style:{background:"none"},"data-testid":e.testId})},MenuTitleWithIcon=e=>e.icon?(0,import_jsx_runtime.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,import_jsx_runtime.jsx)(Icon,{type:e.icon}),(0,import_jsx_runtime.jsx)("span",{children:e.title})]}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.title});function convertRoutesToLayout(e,{designable:t,parentRoute:o,isMobile:r,t:i,depth:n=0}){if(!e)return;const a=c=>({key:"x-designer-button",name:(0,import_jsx_runtime.jsx)(MenuDesignerButton,{testId:c}),path:"/",disabled:!0,_route:{},_parentRoute:{},icon:(0,import_jsx_runtime.jsx)(Icon,{type:"setting"})}),l=e.map(c=>{var u,m;const d=n>1?(0,import_jsx_runtime.jsx)(MenuTitleWithIcon,{icon:c.icon,title:i(c.title)}):i(c.title);if(c.type===NocoBaseDesktopRouteType.link)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:"/",hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.page)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.schemaUid}`,redirect:`/admin/${c.schemaUid}`,hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.group){const p=convertRoutesToLayout(c.children,{designable:t,parentRoute:c,depth:n+1,t:i})||[];return t&&n===0&&p.push(P(x({},a("schema-initializer-Menu-side")),{_parentRoute:c})),{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.id}`,redirect:((u=p[0])==null?void 0:u.key)==="x-designer-button"?void 0:`/admin/${((m=findFirstPageRoute(c.children))==null?void 0:m.schemaUid)||c.id}`,routes:p.length===0?[{path:"/",name:" ",disabled:!0,_hidden:!0}]:p,hideInMenu:c.hideInMenu,_route:c,_depth:n}}});return t&&n===0&&(r?l.push(x({},a("schema-initializer-Menu-header"))):l.unshift(x({},a("schema-initializer-Menu-header")))),l}function isGroup(e,t){const o=findRouteById(e,t);return(o==null?void 0:o.type)===NocoBaseDesktopRouteType.group}function findRouteById(e,t){var o;for(const r of t){if(Number(e)===Number(r.id))return r;if((o=r.children)!=null&&o.length){const i=findRouteById(e,r.children);if(i)return i}}return null}function findFirstPageRoute(e){var t;if(e)for(const o of e.filter(r=>!r.hideInMenu)){if(o.type===NocoBaseDesktopRouteType.page)return o;if(o.type===NocoBaseDesktopRouteType.group&&(t=o.children)!=null&&t.length){const r=findFirstPageRoute(o.children);if(r)return r}}}const designableStyle={backgroundColor:"var(--colorSettings) !important"},unDesignableStyle={backgroundColor:"transparent"},DesignableSwitch=e=>{const{designable:t,setDesignable:o}=useDesignable(),{t:r}=(0,import_react_i18next.useTranslation)(),{token:i}=useToken(),n=t?designableStyle:unDesignableStyle,{isMobileLayout:a}=useMobileLayout();return(0,import_react_hotkeys_hook.useHotkeys)("Ctrl+Shift+U",()=>o(!t),[t]),a?null:(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:r("UI Editor"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"ui-editor-button",icon:(0,import_jsx_runtime.jsx)(import_icons.HighlightOutlined,{style:{color:i.colorTextHeaderMenu}}),title:r("UI Editor"),style:x(x({},n),e.style),onClick:()=>{o(!t)}})})},randomString=(e="")=>`${e}${(0,import_shared.uid)()}`;import_react.Schema.silent(!0);const results={},Registry={silent:!0,compile(e,t={}){const o=()=>{try{return new Function("$root",`with($root) { return (${e}); }`)(t)}catch{return`{{${e}}}`}};return results[e]?results[e]:e.trim().startsWith("t(")?(results[e]=o(),results[e]):o()}};import_react.Schema.registerCompiler(Registry.compile);const SchemaComponentProvider=e=>{const{designable:t,onDesignableChange:o,components:r,children:i}=e,n=(0,import_react2.useContext)(SchemaComponentContext),a=useSchemaOptionsContext(),[l,c]=(0,import_react2.useState)(()=>(0,import_shared.uid)()),u=(0,import_react2.useMemo)(()=>e.form||(0,import_core.createForm)(),[l]),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useMemo)(()=>P(x({},e.scope),{t:m,randomString}),[e.scope,m,a==null?void 0:a.scope]),[p,h]=(0,import_react2.useState)(t),g=(0,import_react2.useMemo)(()=>typeof t=="boolean"?t:p,[t,p,n.designable]),_=(0,import_react2.useMemo)(()=>C=>{typeof g!="boolean"&&h(C),o==null||o(C)},[g,o]),f=(0,import_react2.useCallback)(()=>{c((0,import_shared.uid)())},[]),v=(0,import_react2.useMemo)(()=>({scope:d,components:r,reset:f,refresh:import_lodash.default.noop,designable:g,setDesignable:_}),[r,g,f,d,_]);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:u,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{inherit:!0,scope:d,components:r,children:i})})})};SchemaComponentProvider.displayName="SchemaComponentProvider";class SchemaComponentPlugin extends Plugin{load(){return z(this,null,function*(){this.addComponents()})}addComponents(){this.app.addComponents({DesignableSwitch})}}const TabsContext=import_react2.default.createContext({}),TabsContextProvider=e=>{var t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(TabsContext.Provider,{value:r,children:o})},useTabsContext=()=>import_react2.default.useContext(TabsContext),randomNestedSchemaKeyStorage={},getRandomNestedSchemaKey=e=>randomNestedSchemaKeyStorage[e]||(randomNestedSchemaKeyStorage[e]=(0,import_shared.uid)()),deleteRandomNestedSchemaKey=e=>delete randomNestedSchemaKeyStorage[e],PopupVisibleProviderContext=import_react2.default.createContext(null),PopupParamsProviderContext=import_react2.default.createContext(null),AllPopupsPropsProviderContext=import_react2.default.createContext(null);PopupVisibleProviderContext.displayName="PopupVisibleProviderContext";PopupParamsProviderContext.displayName="PopupParamsProviderContext";AllPopupsPropsProviderContext.displayName="AllPopupsPropsProviderContext";const PopupVisibleProvider=import_react2.default.memo(({children:e,visible:t,setVisible:o})=>{const r=(0,import_react2.useMemo)(()=>({visible:t,setVisible:o}),[t,o]);return(0,import_jsx_runtime.jsx)(PopupVisibleProviderContext.Provider,{value:r,children:e})});PopupVisibleProvider.displayName="PopupVisibleProvider";const VisibleProvider=import_react2.default.memo(({children:e,popupuid:t})=>{const{closePopup:o}=usePopupUtils(),[r,i]=(0,import_react2.useState)(!0),n=(0,import_react2.useCallback)(a=>{a||(i(!1),setTimeout(()=>{o(),deleteRandomNestedSchemaKey(t)},300))},[o,t]);return(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:r,setVisible:n,children:e})}),PopupParamsProvider=e=>{const t=(0,import_react2.useMemo)(()=>({params:e.params,context:e.context,currentLevel:e.currentLevel}),[e.params,e.context,e.currentLevel]);return(0,import_jsx_runtime.jsx)(PopupParamsProviderContext.Provider,{value:t,children:e.children})},PopupTabsPropsProvider=({children:e})=>{const{params:t}=useCurrentPopupContext(),{changeTab:o}=usePopupUtils(),r=(0,import_react2.useCallback)(n=>{o(n)},[o]),{isPopupVisibleControlledByURL:i}=usePopupSettings();return i()?(0,import_jsx_runtime.jsx)(TabsContextProvider,{activeKey:t==null?void 0:t.tab,onChange:r,children:e}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e})},displayNone$1={display:"none"},PagePopupsItemProvider=({params:e,context:t,currentLevel:o,children:r})=>{const i=x({},getStoredPopupContext(e.popupuid));return(0,import_react2.useEffect)(()=>()=>{removePopupLayerState(o)},[o]),t||(t=import_lodash.default.omitBy({dataSource:i.dataSource,collection:i.collection,association:i.association},import_lodash.default.isNil)),import_lodash.default.isEmpty(t)?(0,import_jsx_runtime.jsx)(PopupParamsProvider,{params:e,context:t,currentLevel:o,children:(0,import_jsx_runtime.jsx)(PopupTabsPropsProvider,{children:(0,import_jsx_runtime.jsx)(VisibleProvider,{popupuid:e.popupuid,children:(0,import_jsx_runtime.jsx)("div",{style:displayNone$1,children:r})})})}):(0,import_jsx_runtime.jsx)(PopupParamsProvider,{params:e,context:t,currentLevel:o,children:(0,import_jsx_runtime.jsx)(DataBlockProvider,{dataSource:t.dataSource,collection:e.collection||t.collection,association:t.association,sourceId:e.sourceid,filterByTk:parseQueryString(e.filterbytk),record:i.record,parentRecord:i.parentRecord,action:"get",children:(0,import_jsx_runtime.jsx)(BlockRequestContextProvider,{recordRequest:i.service,children:(0,import_jsx_runtime.jsx)(PopupTabsPropsProvider,{children:(0,import_jsx_runtime.jsx)(VisibleProvider,{popupuid:e.popupuid,children:(0,import_jsx_runtime.jsx)("div",{style:displayNone$1,children:r})})})})})})},insertChildToParentSchema=({childSchema:e,props:t,parentSchema:o,getPopupSchema:r=i=>import_lodash.default.get(i.properties,Object.keys(i.properties)[0])})=>{const{params:i,context:n,currentLevel:a}=t,l={type:"void","x-component":"PagePopupsItemProvider","x-component-props":{params:i,context:n,currentLevel:a},properties:{popupAction:e}},c=getRandomNestedSchemaKey(i.popupuid);if(o.properties){const u=r(o);import_lodash.default.isEmpty(import_lodash.default.get(u,`properties.${c}`))&&import_lodash.default.set(u,`properties.${c}`,l)}},InternalPagePopups=e=>{const t=(0,import_react.useFieldSchema)(),o=(0,import_react_router_dom.useLocation)(),r=e.paramsList||getPopupParamsFromPath(getPopupPath(o)),{requestSchema:i}=useRequestSchema(),[n,a]=(0,import_react2.useState)(null),l=(0,import_react2.useRef)([]),{savePopupSchemaToSchema:c,getPopupSchemaFromSchema:u}=usePopupUtils();(0,import_react2.useEffect)(()=>{z(void 0,null,function*(){const d=r.map(_=>{var f;return((f=getStoredPopupContext(_.popupuid))==null?void 0:f.schema)||findSchemaByUid(_.popupuid,t==null?void 0:t.root)||i(_.popupuid)}),p=yield Promise.all(d),h=yield Promise.all(p.map((_,f)=>z(void 0,null,function*(){if(import_lodash.default.isEmpty(_))return get404Schema();const v=r[f];if(v.puid){const S=findSchemaByUid(v.puid,t==null?void 0:t.root);if(S)c(import_lodash.default.omit(S,"parent"),_);else try{const b=yield i(v.puid);b&&c(b,_)}catch(b){console.error("Failed to fetch schema for puid:",v.puid,b)}}const C=import_lodash.default.cloneDeepWith(import_lodash.default.omit(_,"parent"),S=>{if((S==null?void 0:S["x-component"])==="Tabs")return S});return C["x-read-pretty"]=!0,C})));l.current=h.map((_,f,v)=>{const C=getPopupContextFromActionOrAssociationFieldSchema(_);let S=!1;for(let b=f+1;b<v.length;b++)if(isSubPageSchema(v[b])){S=!0;break}return{params:r[f],context:C,hidden:S,currentLevel:f+1,isSubPage:isSubPageSchema(_)}});const g=h[0];for(let _=1;_<h.length;_++)insertChildToParentSchema({childSchema:h[_],props:l.current[_],parentSchema:h[_-1],getPopupSchema:f=>u(f)||import_lodash.default.get(f.properties,Object.keys(f.properties)[0])});a(g)})},[t,u,r,i,c]);const m=(0,import_react2.useMemo)(()=>({PagePopupsItemProvider}),[]);return n?(0,import_jsx_runtime.jsx)(AllPopupsPropsProviderContext.Provider,{value:l.current,children:(0,import_jsx_runtime.jsx)(PagePopupsItemProvider,{params:l.current[0].params,context:l.current[0].context,currentLevel:1,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:m,schema:n,onlyRenderProperties:!0})})}):null},PagePopups=e=>{const{active:t}=useKeepAlive();return t?(0,import_jsx_runtime.jsx)(InternalPagePopups,x({},e)):null},useRequestSchema=()=>{const e=useAPIClient();return{requestSchema:(0,import_react2.useCallback)(t=>z(void 0,null,function*(){var o;try{return(o=(yield e.request({url:`/uiSchemas:getJsonSchema/${t}`})).data)==null?void 0:o.data}catch(r){return console.error(r),null}}),[])}},getPopupPath=e=>{const[,...t]=e.pathname.split("/popups/");return t.join("/popups/")};function isSubPageSchema(e){return import_lodash.default.get(e,"x-component-props.openMode")==="page"}const useCurrentPopupContext=()=>{const{currentLevel:e}=import_react2.default.useContext(PopupParamsProviderContext)||{},t=import_react2.default.useContext(AllPopupsPropsProviderContext),o=(t==null?void 0:t[e-1])||{};return o.context?Object.setPrototypeOf(o.context,{get blockService(){var r,i;return(r=o==null?void 0:o.params)!=null&&r.popupuid?(i=getBlockService(o.params.popupuid))==null?void 0:i.service:null}}):o.context={get blockService(){var r,i;return(r=o==null?void 0:o.params)!=null&&r.popupuid?(i=getBlockService(o.params.popupuid))==null?void 0:i.service:null}},o};function get404Schema(){return{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:'{{ t("Error message") }}',"x-action":"view","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:view","x-component":"Action.Link","x-component-props":{openMode:"drawer"},"x-action-context":{},"x-decorator":"ACLActionProvider","x-designer-props":{linkageAction:!0},properties:{drawer:{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:"Error message","x-component":"Action.Container","x-component-props":{className:"nb-action-popup",level:99},properties:{tabs:{_isJSONSchemaObject:!0,version:"2.0",type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:"404","x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{_isJSONSchemaObject:!0,version:"2.0",type:"void","x-component":function(){return(0,import_jsx_runtime.jsx)(AppNotFound,{})},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},name:(0,import_shared.uid)(),"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":2,"x-read-pretty":!0}}function findSchemaByUid(e,t,o={value:null}){var r;return o=o||{value:null},(r=t==null?void 0:t.mapProperties)==null||r.call(t,i=>{i["x-uid"]===e?o.value=i:findSchemaByUid(e,i,o)}),o.value}function parseQueryString(e){var t;return(t=e==null?void 0:e.includes)!=null&&t.call(e,"=")?decodeURIComponent(e).split("&").reduce((o,r)=>{const[i,n]=r.split("=");return o[i]=n,o},{}):e}const useStyles$b=genStyleHook("nb-action-drawer",e=>{const{componentCls:t}=e;return{[t]:{overflow:"hidden","&.reset":{"&.nb-action-popup":{".ant-drawer-header":{display:"none"},".ant-drawer-body":{paddingTop:e.paddingContentVerticalLG,backgroundColor:e.colorBgLayout,paddingBottom:0}},"&.nb-record-picker-selector":{".ant-drawer-content":{backgroundColor:e.colorBgLayout},".nb-block-item":{marginBottom:e.marginBlock,".general-schema-designer":{top:-e.sizeXS,bottom:-e.sizeXS,left:-e.sizeXS,right:-e.sizeXS}}}},".footer":{display:"flex",justifyContent:"flex-end",width:"100%",".ant-btn":{marginRight:e.marginXS}},".ant-drawer-content-wrapper":{borderLeft:"1px solid rgba(255, 255, 255, 0.1)"},".ant-tabs-nav":{paddingLeft:e.paddingLG-e.paddingPageHorizontal,paddingRight:e.paddingLG-e.paddingPageHorizontal,marginLeft:e.paddingPageHorizontal-e.paddingLG,marginRight:e.paddingPageHorizontal-e.paddingLG}}}}),useActionContext=()=>{const e=(0,import_react2.useContext)(ActionContext),{t}=(0,import_react_i18next.useTranslation)(),{modal:o}=import_antd.App.useApp();return P(x({},e),{setVisible:(0,import_react2.useCallback)((r,i=!1)=>{var n,a;r?(a=e.setVisible)==null||a.call(e,r):i&&e.formValueChanged?o.confirm({title:t("Unsaved changes"),content:t("Are you sure you don't want to save?"),onOk(){return z(this,null,function*(){var l;e.setFormValueChanged(!1),(l=e.setVisible)==null||l.call(e,!1)})}}):(n=e.setVisible)==null||n.call(e,!1)},[o,t,e.formValueChanged,e.setVisible,e.setFormValueChanged])})},useCloseAction$1=()=>{const{setVisible:e}=(0,import_react2.useContext)(ActionContext),t=(0,import_react.useForm)();return{run(){return z(this,null,function*(){e(!1),t.submit(o=>{console.log(o)})})}}},useLinkageAction=()=>{const e=(0,import_react.useFieldSchema)(),t=useIsDetailBlock();return["Action.Link","Action"].includes(e["x-component"])&&t&&e["x-action"]},useGetAriaLabelOfDrawer=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`drawer-${o}${i}${n}${a}`),[i,o,n])}},zIndexContext=import_react2.default.createContext(100),useZIndexContext=()=>import_react2.default.useContext(zIndexContext),getZIndex=(e,t,o)=>{let r=t;return e==="page"&&!window.location.pathname.includes("/embed/")?(r=t+o,r>200?r-200:r):(r=t+o,r<200?r+200:r)},MemoizeRecursionField$1=import_react2.default.memo(import_react.RecursionField);MemoizeRecursionField$1.displayName="MemoizeRecursionField";const DrawerErrorFallback=e=>{const{visible:t,setVisible:o}=useActionContext();return(0,import_jsx_runtime.jsx)(import_antd.Drawer,{open:t,onClose:()=>o(!1,!0),width:"50%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})},openSizeWidthMap$1=new Map([["small","30%"],["middle","50%"],["large","70%"]]),ActionDrawerContent=import_react2.default.memo(({footerNodeName:e,field:t,schema:o})=>{const[r,i]=(0,import_react2.useState)(!1),n=(0,import_react2.useCallback)(a=>a["x-component"]!==e,[e]);return(0,import_react2.useEffect)(()=>{(0,import_react2.startTransition)(()=>{i(!0)})},[]),r?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:t.address,schema:o,onlyRenderProperties:!0,filterProperties:n}):null});ActionDrawerContent.displayName="ActionDrawerContent";const InternalActionDrawer=(0,import_react.observer)(e=>{const t=e,{footerNodeName:o="Action.Drawer.Footer",zIndex:r,onClose:i}=t,n=Y(t,["footerNodeName","zIndex","onClose"]),{visible:a,setVisible:l,openSize:c="middle",drawerProps:u}=useActionContext(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),{t:p}=(0,import_react_i18next.useTranslation)(),{componentCls:h,hashId:g}=useStyles$b(),_=useTabsContext(),f=useZIndexContext(),v=m.reduceProperties((j,k)=>k["x-component"]===o?k:j),{hidden:C}=useCurrentPopupContext(),S=(0,import_react2.useMemo)(()=>P(x(x({},u==null?void 0:u.style),n==null?void 0:n.style),{display:C?"none":"block"}),[C,u==null?void 0:u.style,n==null?void 0:n.style]),b=getZIndex("drawer",r||f,e.level||0),y=(0,import_react2.useCallback)(j=>{l(!1,!0),i==null||i(j)},[l,i]),F=(0,import_react2.useCallback)(j=>j["x-component"]===o,[o]);return(0,import_jsx_runtime.jsx)(ActionContextNoRerender,{children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:b,children:(0,import_jsx_runtime.jsx)(TabsContextProvider,P(x({},_),{tabBarExtraContent:null,children:(0,import_jsx_runtime.jsx)(import_antd.Drawer,P(x(x({zIndex:b,width:openSizeWidthMap$1.get(c),title:typeof d.title=="string"?p(d.title,{ns:NAMESPACE_UI_SCHEMA}):d.title},n),u),{rootStyle:S,destroyOnClose:!0,open:a,onClose:y,rootClassName:(0,import_classnames.default)(h,g,u==null?void 0:u.className,n.className,"reset"),footer:v&&(0,import_jsx_runtime.jsx)("div",{className:"footer",children:(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:d.address,schema:m,onlyRenderProperties:!0,filterProperties:F})}),children:(0,import_jsx_runtime.jsx)(ActionDrawerContent,{footerNodeName:o,field:d,schema:m})}))}))})})},{displayName:"InternalActionDrawer"}),ActionDrawer=import_react2.default.memo(e=>(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:DrawerErrorFallback,onError:console.log,children:(0,import_jsx_runtime.jsx)(InternalActionDrawer,x({},e))}));ActionDrawer.displayName="ActionDrawer";ActionDrawer.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionDrawer.Footer"});ActionDrawer.FootBar=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)("div",{className:"ant-drawer-footer",style:{position:"absolute",bottom:0,right:0,left:0},children:(0,import_jsx_runtime.jsx)("div",{className:"footer",children:(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:e.address,schema:t,onlyRenderProperties:!0})})})},{displayName:"ActionDrawer.FootBar"});const useGetAriaLabelOfModal=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`modal-${o}${i}${n}${a}`),[i,o,n])}},ModalErrorFallback=e=>{const{visible:t,setVisible:o}=useActionContext();return(0,import_jsx_runtime.jsx)(import_antd.Modal,{open:t,onCancel:()=>o(!1,!0),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})},openSizeWidthMap=new Map([["small","40%"],["middle","60%"],["large","80%"]]),ActionModalContent=import_react2.default.memo(({footerNodeName:e,field:t,schema:o})=>{const[r,i]=(0,import_react2.useState)(!1);return(0,import_react2.useEffect)(()=>{(0,import_react2.startTransition)(()=>{i(!0)})},[]),r?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:t.address,schema:o,onlyRenderProperties:!0,filterProperties:n=>n["x-component"]!==e}):null});function useDelayedVisible(e,t=200){const[o,r]=(0,import_react2.useState)(t===0);return(0,import_react2.useEffect)(()=>{if(!o)if(e){const i=setTimeout(()=>r(!0),t);return()=>clearTimeout(i)}else r(!1)},[t,o,e]),o}const InternalActionModal=(0,import_react.observer)(e=>{const t=e,{footerNodeName:o="Action.Modal.Footer",width:r,zIndex:i,delay:n=200}=t,a=Y(t,["footerNodeName","width","zIndex","delay"]),{visible:l,setVisible:c,openSize:u="middle",modalProps:m}=useActionContext(),d=r??openSizeWidthMap.get(u),p=(0,import_react.useFieldSchema)(),h=(0,import_react.useField)(),{token:g}=useToken(),_=useTabsContext(),f=useZIndexContext(),v=p.reduceProperties((F,j)=>j["x-component"]===o?j:F),{hidden:C}=useCurrentPopupContext(),S=!!v,b=getZIndex("modal",i||f,e.level||0),y=useDelayedVisible(l,n);return(0,import_jsx_runtime.jsx)(ActionContextNoRerender,{children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:b,children:(0,import_jsx_runtime.jsx)(TabsContextProvider,P(x({},_),{tabBarExtraContent:null,children:(0,import_jsx_runtime.jsx)(import_antd.Modal,P(x(x({zIndex:C?-1:b,width:d,title:h.title},a),m),{style:x(x({},m==null?void 0:m.style),a==null?void 0:a.style),destroyOnClose:!0,open:l,onCancel:()=>{c(!1,!0)},className:(0,import_classnames.default)(a.className,m==null?void 0:m.className,import_css.css`
606
+ `,children:e.children}),document.body)})},collapsedButtonRender=(e,t)=>(0,import_jsx_runtime.jsx)(CollapsedButton,{collapsed:e,children:t}),useHeaderStyle=(0,import_antd_style.createStyles)(({token:e})=>({headerPopup:{"&.ant-menu-submenu-popup>.ant-menu":{backgroundColor:`${e.colorBgHeader}`}},headerMenuActive:{"& .ant-menu-submenu-selected>.ant-menu-submenu-title":{color:e.colorTextHeaderMenuActive}}})),headerContextValue={inHeader:!0},HeaderWrapper=e=>{const{styles:t}=useHeaderStyle();return(0,import_jsx_runtime.jsx)("span",{className:t.headerMenuActive,children:(0,import_jsx_runtime.jsx)(HeaderContext.Provider,{value:headerContextValue,children:e.children})})},headerRender=(e,t)=>(0,import_jsx_runtime.jsx)(HeaderWrapper,{children:t}),IsMobileLayoutContext=import_react2.default.createContext({isMobileLayout:!1,setIsMobileLayout:()=>{}}),MobileLayoutProvider=e=>{const[t,o]=(0,import_react2.useState)(!1),r=(0,import_react2.useMemo)(()=>({isMobileLayout:t,setIsMobileLayout:o}),[t]);return(0,import_jsx_runtime.jsx)(IsMobileLayoutContext.Provider,{value:r,children:e.children})},useMobileLayout=()=>{const{isMobileLayout:e,setIsMobileLayout:t}=(0,import_react2.useContext)(IsMobileLayoutContext);return{isMobileLayout:e,setIsMobileLayout:t}},InternalAdminLayout=()=>{const{allAccessRoutes:e}=useAllAccessDesktopRoutes(),{designable:t}=useDesignable(),o=(0,import_react_router_dom.useLocation)(),{onDragEnd:r}=useMenuDragEnd(),{token:i}=useToken(),{isMobileLayout:n}=useMobileLayout(),[a,l]=(0,import_react2.useState)(n),c=(0,import_react2.useRef)(!1),{t:u}=useMenuTranslation(),m=n?!1:t,{styles:d}=useHeaderStyle(),p=(0,import_react2.useMemo)(()=>({path:"/",children:convertRoutesToLayout(e,{designable:m,isMobile:n,t:u})}),[e,m,n,u]),h=(0,import_react2.useMemo)(()=>({header:{colorBgHeader:i.colorBgHeader,colorTextMenu:i.colorTextHeaderMenu,colorTextMenuSelected:i.colorTextHeaderMenuActive,colorTextMenuActive:i.colorTextHeaderMenuHover,colorBgMenuItemHover:i.colorBgHeaderMenuHover,colorBgMenuItemSelected:i.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:i.colorTextHeaderMenu},sider:{colorMenuBackground:i.colorBgSider,colorTextMenu:i.colorTextSiderMenu,colorTextMenuSelected:i.colorTextSiderMenuActive,colorBgMenuItemSelected:i.colorBgSiderMenuActive,colorBgMenuItemActive:i.colorBgSiderMenuActive,colorBgMenuItemHover:i.colorBgSiderMenuHover},bgLayout:i.colorBgLayout}),[i]),{theme:g,isDarkTheme:_}=useGlobalTheme(),f=(0,import_react2.useMemo)(()=>P(x({},g),{token:P(x({},g.token),{paddingPageHorizontal:8,paddingPageVertical:8,marginBlock:12,borderRadiusBlock:8,fontSize:16}),algorithm:_?[import_antd.theme.compactAlgorithm,import_antd.theme.darkAlgorithm]:import_antd.theme.compactAlgorithm}),[g,_]),v=(0,import_react2.useCallback)(b=>{c.current||l(b)},[]),C=(0,import_react2.useCallback)(()=>{c.current=!0,setTimeout(()=>{c.current=!1})},[]),S=(0,import_react2.useMemo)(()=>({overflowedIndicatorPopupClassName:d.headerPopup}),[d.headerPopup]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:r,children:(0,import_jsx_runtime.jsx)(import_pro_layout.default,{contentStyle,siderWidth:i.siderWidth||200,className:resetStyle,location:o,route:p,actionsRender,logo:(0,import_jsx_runtime.jsx)(NocoBaseLogo,{}),title:"",layout:"mix",splitMenus:!0,token:h,headerRender,menuItemRender,subMenuItemRender,collapsedButtonRender,onCollapse:v,collapsed:a,onPageChange:C,menu:{autoClose:!1},menuProps:S,children:(0,import_jsx_runtime.jsx)(import_pro_layout.RouteContext.Consumer,{children:b=>{const{isMobile:y}=b;return(0,import_jsx_runtime.jsx)(SetIsMobileLayout,{isMobile:y,children:(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{theme:y?f:g,children:(0,import_jsx_runtime.jsx)(LayoutContent,{})})})}})})})};function SetIsMobileLayout(e){const{setIsMobileLayout:t}=useMobileLayout();return(0,import_react2.useEffect)(()=>{t(e.isMobile)},[e.isMobile,t]),e.children}const NavigateToDefaultPage=e=>{var t;const{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=useLocationNoUpdate(),i=(t=findFirstPageRoute(o))==null?void 0:t.schemaUid;return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[e.children,i&&(r.pathname==="/admin"||r.pathname==="/admin/")&&(0,import_jsx_runtime.jsx)(import_react_router_dom.Navigate,{replace:!0,to:`/admin/${i}`})]})},findRouteByMenuSchemaUid=(e,t)=>{var o;if(t)for(const r of t){if(r.menuSchemaUid===e)return r;if((o=r.children)!=null&&o.length){const i=findRouteByMenuSchemaUid(e,r.children);if(i)return i}}},LegacyRouteCompat=e=>{const t=useCurrentPageUid(),{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=(0,import_react_router_dom.useLocation)(),i=(0,import_react_router_dom.useNavigate)();return(0,import_react2.useEffect)(()=>{const n=findRouteByMenuSchemaUid(t,o);n&&i(r.pathname.replace(t,n.schemaUid)+r.search)},[o,t,r.pathname,r.search,i]),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},AdminProvider=e=>(0,import_jsx_runtime.jsx)(CurrentPageUidProvider,{children:(0,import_jsx_runtime.jsx)(CurrentTabUidProvider,{children:(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuProvider,{children:(0,import_jsx_runtime.jsx)(ACLRolesCheckProvider,{children:(0,import_jsx_runtime.jsx)(RoutesRequestProvider,{children:(0,import_jsx_runtime.jsx)(NavigateToDefaultPage,{children:(0,import_jsx_runtime.jsx)(LegacyRouteCompat,{children:(0,import_jsx_runtime.jsx)(RemoteCollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CurrentAppInfoProvider,{children:(0,import_jsx_runtime.jsx)(RemoteSchemaTemplateManagerProvider,{children:e.children})})})})})})})})})}),AdminLayout=e=>(0,import_jsx_runtime.jsx)(AdminProvider,{children:(0,import_jsx_runtime.jsx)(InternalAdminLayout,x({},e))});class AdminLayoutPlugin extends Plugin{afterAdd(){return z(this,null,function*(){yield this.app.pm.add(RemoteSchemaTemplateManagerPlugin)})}load(){return z(this,null,function*(){this.app.schemaSettingsManager.add(userCenterSettings),this.app.addComponents({AdminLayout,AdminDynamicPage}),this.app.use(MobileLayoutProvider)})}}function findRouteBySchemaUid(e,t){var o;if(t){for(const r of t){if(e===r.schemaUid||e===r.menuSchemaUid)return r;if((o=r.children)!=null&&o.length){const i=findRouteBySchemaUid(e,r.children);if(i)return i}}return null}}const MenuDesignerButton=e=>{const{render:t}=useSchemaInitializerRender(menuItemInitializer);return t({style:{background:"none"},"data-testid":e.testId})},MenuTitleWithIcon=e=>e.icon?(0,import_jsx_runtime.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,import_jsx_runtime.jsx)(Icon,{type:e.icon}),(0,import_jsx_runtime.jsx)("span",{children:e.title})]}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.title});function convertRoutesToLayout(e,{designable:t,parentRoute:o,isMobile:r,t:i,depth:n=0}){if(!e)return;const a=c=>({key:"x-designer-button",name:(0,import_jsx_runtime.jsx)(MenuDesignerButton,{testId:c}),path:"/",disabled:!0,_route:{},_parentRoute:{},icon:(0,import_jsx_runtime.jsx)(Icon,{type:"setting"})}),l=e.map(c=>{var u,m;const d=n>1?(0,import_jsx_runtime.jsx)(MenuTitleWithIcon,{icon:c.icon,title:i(c.title)}):i(c.title);if(c.type===NocoBaseDesktopRouteType.link)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:"/",hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.page)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.schemaUid}`,redirect:`/admin/${c.schemaUid}`,hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.group){const p=convertRoutesToLayout(c.children,{designable:t,parentRoute:c,depth:n+1,t:i})||[];return t&&n===0&&p.push(P(x({},a("schema-initializer-Menu-side")),{_parentRoute:c})),{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.id}`,redirect:((u=p[0])==null?void 0:u.key)==="x-designer-button"?void 0:`/admin/${((m=findFirstPageRoute(c.children))==null?void 0:m.schemaUid)||c.id}`,routes:p.length===0?[{path:"/",name:" ",disabled:!0,_hidden:!0}]:p,hideInMenu:c.hideInMenu,_route:c,_depth:n}}});return t&&n===0&&(r?l.push(x({},a("schema-initializer-Menu-header"))):l.unshift(x({},a("schema-initializer-Menu-header")))),l}function isGroup(e,t){const o=findRouteById(e,t);return(o==null?void 0:o.type)===NocoBaseDesktopRouteType.group}function findRouteById(e,t){var o;for(const r of t){if(Number(e)===Number(r.id))return r;if((o=r.children)!=null&&o.length){const i=findRouteById(e,r.children);if(i)return i}}return null}function findFirstPageRoute(e){var t;if(e)for(const o of e.filter(r=>!r.hideInMenu)){if(o.type===NocoBaseDesktopRouteType.page)return o;if(o.type===NocoBaseDesktopRouteType.group&&(t=o.children)!=null&&t.length){const r=findFirstPageRoute(o.children);if(r)return r}}}const designableStyle={backgroundColor:"var(--colorSettings) !important"},unDesignableStyle={backgroundColor:"transparent"},DesignableSwitch=e=>{const{designable:t,setDesignable:o}=useDesignable(),{t:r}=(0,import_react_i18next.useTranslation)(),{token:i}=useToken(),n=t?designableStyle:unDesignableStyle,{isMobileLayout:a}=useMobileLayout();return(0,import_react_hotkeys_hook.useHotkeys)("Ctrl+Shift+U",()=>o(!t),[t]),a?null:(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:r("UI Editor"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"ui-editor-button",icon:(0,import_jsx_runtime.jsx)(import_icons.HighlightOutlined,{style:{color:i.colorTextHeaderMenu}}),title:r("UI Editor"),style:x(x({},n),e.style),onClick:()=>{o(!t)}})})},randomString=(e="")=>`${e}${(0,import_shared.uid)()}`;import_react.Schema.silent(!0);const results={},Registry={silent:!0,compile(e,t={}){const o=()=>{try{return new Function("$root",`with($root) { return (${e}); }`)(t)}catch{return`{{${e}}}`}};return results[e]?results[e]:e.trim().startsWith("t(")?(results[e]=o(),results[e]):o()}};import_react.Schema.registerCompiler(Registry.compile);const SchemaComponentProvider=e=>{const{designable:t,onDesignableChange:o,components:r,children:i}=e,n=(0,import_react2.useContext)(SchemaComponentContext),a=useSchemaOptionsContext(),[l,c]=(0,import_react2.useState)(()=>(0,import_shared.uid)()),u=(0,import_react2.useMemo)(()=>e.form||(0,import_core.createForm)(),[l]),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useMemo)(()=>P(x({},e.scope),{t:m,randomString}),[e.scope,m,a==null?void 0:a.scope]),[p,h]=(0,import_react2.useState)(t),g=(0,import_react2.useMemo)(()=>typeof t=="boolean"?t:p,[t,p,n.designable]),_=(0,import_react2.useMemo)(()=>C=>{typeof g!="boolean"&&h(C),o==null||o(C)},[g,o]),f=(0,import_react2.useCallback)(()=>{c((0,import_shared.uid)())},[]),v=(0,import_react2.useMemo)(()=>({scope:d,components:r,reset:f,refresh:import_lodash.default.noop,designable:g,setDesignable:_}),[r,g,f,d,_]);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:u,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{inherit:!0,scope:d,components:r,children:i})})})};SchemaComponentProvider.displayName="SchemaComponentProvider";class SchemaComponentPlugin extends Plugin{load(){return z(this,null,function*(){this.addComponents()})}addComponents(){this.app.addComponents({DesignableSwitch})}}const TabsContext=import_react2.default.createContext({}),TabsContextProvider=e=>{var t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(TabsContext.Provider,{value:r,children:o})},useTabsContext=()=>import_react2.default.useContext(TabsContext),randomNestedSchemaKeyStorage={},getRandomNestedSchemaKey=e=>randomNestedSchemaKeyStorage[e]||(randomNestedSchemaKeyStorage[e]=(0,import_shared.uid)()),deleteRandomNestedSchemaKey=e=>delete randomNestedSchemaKeyStorage[e],PopupVisibleProviderContext=import_react2.default.createContext(null),PopupParamsProviderContext=import_react2.default.createContext(null),AllPopupsPropsProviderContext=import_react2.default.createContext(null);PopupVisibleProviderContext.displayName="PopupVisibleProviderContext";PopupParamsProviderContext.displayName="PopupParamsProviderContext";AllPopupsPropsProviderContext.displayName="AllPopupsPropsProviderContext";const PopupVisibleProvider=import_react2.default.memo(({children:e,visible:t,setVisible:o})=>{const r=(0,import_react2.useMemo)(()=>({visible:t,setVisible:o}),[t,o]);return(0,import_jsx_runtime.jsx)(PopupVisibleProviderContext.Provider,{value:r,children:e})});PopupVisibleProvider.displayName="PopupVisibleProvider";const VisibleProvider=import_react2.default.memo(({children:e,popupuid:t})=>{const{closePopup:o}=usePopupUtils(),[r,i]=(0,import_react2.useState)(!0),n=(0,import_react2.useCallback)(a=>{a||(i(!1),setTimeout(()=>{o(),deleteRandomNestedSchemaKey(t)},300))},[o,t]);return(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:r,setVisible:n,children:e})}),PopupParamsProvider=e=>{const t=(0,import_react2.useMemo)(()=>({params:e.params,context:e.context,currentLevel:e.currentLevel}),[e.params,e.context,e.currentLevel]);return(0,import_jsx_runtime.jsx)(PopupParamsProviderContext.Provider,{value:t,children:e.children})},PopupTabsPropsProvider=({children:e})=>{const{params:t}=useCurrentPopupContext(),{changeTab:o}=usePopupUtils(),r=(0,import_react2.useCallback)(n=>{o(n)},[o]),{isPopupVisibleControlledByURL:i}=usePopupSettings();return i()?(0,import_jsx_runtime.jsx)(TabsContextProvider,{activeKey:t==null?void 0:t.tab,onChange:r,children:e}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e})},displayNone$1={display:"none"},PagePopupsItemProvider=({params:e,context:t,currentLevel:o,children:r})=>{const i=x({},getStoredPopupContext(e.popupuid));return(0,import_react2.useEffect)(()=>()=>{removePopupLayerState(o)},[o]),t||(t=import_lodash.default.omitBy({dataSource:i.dataSource,collection:i.collection,association:i.association},import_lodash.default.isNil)),import_lodash.default.isEmpty(t)?(0,import_jsx_runtime.jsx)(PopupParamsProvider,{params:e,context:t,currentLevel:o,children:(0,import_jsx_runtime.jsx)(PopupTabsPropsProvider,{children:(0,import_jsx_runtime.jsx)(VisibleProvider,{popupuid:e.popupuid,children:(0,import_jsx_runtime.jsx)("div",{style:displayNone$1,children:r})})})}):(0,import_jsx_runtime.jsx)(PopupParamsProvider,{params:e,context:t,currentLevel:o,children:(0,import_jsx_runtime.jsx)(DataBlockProvider,{dataSource:t.dataSource,collection:e.collection||t.collection,association:t.association,sourceId:e.sourceid,filterByTk:parseQueryString(e.filterbytk),record:i.record,parentRecord:i.parentRecord,action:"get",children:(0,import_jsx_runtime.jsx)(BlockRequestContextProvider,{recordRequest:i.service,children:(0,import_jsx_runtime.jsx)(PopupTabsPropsProvider,{children:(0,import_jsx_runtime.jsx)(VisibleProvider,{popupuid:e.popupuid,children:(0,import_jsx_runtime.jsx)("div",{style:displayNone$1,children:r})})})})})})},insertChildToParentSchema=({childSchema:e,props:t,parentSchema:o,getPopupSchema:r=i=>import_lodash.default.get(i.properties,Object.keys(i.properties)[0])})=>{const{params:i,context:n,currentLevel:a}=t,l={type:"void","x-component":"PagePopupsItemProvider","x-component-props":{params:i,context:n,currentLevel:a},properties:{popupAction:e}},c=getRandomNestedSchemaKey(i.popupuid);if(o.properties){const u=r(o);import_lodash.default.isEmpty(import_lodash.default.get(u,`properties.${c}`))&&import_lodash.default.set(u,`properties.${c}`,l)}},InternalPagePopups=e=>{const t=(0,import_react.useFieldSchema)(),o=(0,import_react_router_dom.useLocation)(),r=e.paramsList||getPopupParamsFromPath(getPopupPath(o)),{requestSchema:i}=useRequestSchema(),[n,a]=(0,import_react2.useState)(null),l=(0,import_react2.useRef)([]),{savePopupSchemaToSchema:c,getPopupSchemaFromSchema:u}=usePopupUtils();(0,import_react2.useEffect)(()=>{z(void 0,null,function*(){const d=r.map(_=>{var f;return((f=getStoredPopupContext(_.popupuid))==null?void 0:f.schema)||findSchemaByUid(_.popupuid,t==null?void 0:t.root)||i(_.popupuid)}),p=yield Promise.all(d),h=yield Promise.all(p.map((_,f)=>z(void 0,null,function*(){if(import_lodash.default.isEmpty(_))return get404Schema();const v=r[f];if(v.puid){const S=findSchemaByUid(v.puid,t==null?void 0:t.root);if(S)c(import_lodash.default.omit(S,"parent"),_);else try{const b=yield i(v.puid);b&&c(b,_)}catch(b){console.error("Failed to fetch schema for puid:",v.puid,b)}}const C=import_lodash.default.cloneDeepWith(import_lodash.default.omit(_,"parent"),S=>{if((S==null?void 0:S["x-component"])==="Tabs")return S});return C["x-read-pretty"]=!0,C})));l.current=h.map((_,f,v)=>{const C=getPopupContextFromActionOrAssociationFieldSchema(_);let S=!1;for(let b=f+1;b<v.length;b++)if(isSubPageSchema(v[b])){S=!0;break}return{params:r[f],context:C,hidden:S,currentLevel:f+1,isSubPage:isSubPageSchema(_)}});const g=h[0];for(let _=1;_<h.length;_++)insertChildToParentSchema({childSchema:h[_],props:l.current[_],parentSchema:h[_-1],getPopupSchema:f=>u(f)||import_lodash.default.get(f.properties,Object.keys(f.properties)[0])});a(g)})},[t,u,r,i,c]);const m=(0,import_react2.useMemo)(()=>({PagePopupsItemProvider}),[]);return n?(0,import_jsx_runtime.jsx)(AllPopupsPropsProviderContext.Provider,{value:l.current,children:(0,import_jsx_runtime.jsx)(PagePopupsItemProvider,{params:l.current[0].params,context:l.current[0].context,currentLevel:1,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:m,schema:n,onlyRenderProperties:!0})})}):null},PagePopups=e=>{const{active:t}=useKeepAlive();return t?(0,import_jsx_runtime.jsx)(InternalPagePopups,x({},e)):null},useRequestSchema=()=>{const e=useAPIClient();return{requestSchema:(0,import_react2.useCallback)(t=>z(void 0,null,function*(){var o;try{return(o=(yield e.request({url:`/uiSchemas:getJsonSchema/${t}`})).data)==null?void 0:o.data}catch(r){return console.error(r),null}}),[])}},getPopupPath=e=>{const[,...t]=e.pathname.split("/popups/");return t.join("/popups/")};function isSubPageSchema(e){return import_lodash.default.get(e,"x-component-props.openMode")==="page"}const useCurrentPopupContext=()=>{const{currentLevel:e}=import_react2.default.useContext(PopupParamsProviderContext)||{},t=import_react2.default.useContext(AllPopupsPropsProviderContext),o=(t==null?void 0:t[e-1])||{};return o.context?Object.setPrototypeOf(o.context,{get blockService(){var r,i;return(r=o==null?void 0:o.params)!=null&&r.popupuid?(i=getBlockService(o.params.popupuid))==null?void 0:i.service:null}}):o.context={get blockService(){var r,i;return(r=o==null?void 0:o.params)!=null&&r.popupuid?(i=getBlockService(o.params.popupuid))==null?void 0:i.service:null}},o};function get404Schema(){return{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:'{{ t("Error message") }}',"x-action":"view","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:view","x-component":"Action.Link","x-component-props":{openMode:"drawer"},"x-action-context":{},"x-decorator":"ACLActionProvider","x-designer-props":{linkageAction:!0},properties:{drawer:{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:"Error message","x-component":"Action.Container","x-component-props":{className:"nb-action-popup",level:99},properties:{tabs:{_isJSONSchemaObject:!0,version:"2.0",type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:"404","x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{_isJSONSchemaObject:!0,version:"2.0",type:"void","x-component":function(){return(0,import_jsx_runtime.jsx)(AppNotFound,{})},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},name:(0,import_shared.uid)(),"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":2,"x-read-pretty":!0}}function findSchemaByUid(e,t,o={value:null}){var r;return o=o||{value:null},(r=t==null?void 0:t.mapProperties)==null||r.call(t,i=>{i["x-uid"]===e?o.value=i:findSchemaByUid(e,i,o)}),o.value}function parseQueryString(e){var t;return(t=e==null?void 0:e.includes)!=null&&t.call(e,"=")?decodeURIComponent(e).split("&").reduce((o,r)=>{const[i,n]=r.split("=");return o[i]=n,o},{}):e}const useStyles$b=genStyleHook("nb-action-drawer",e=>{const{componentCls:t}=e;return{[t]:{overflow:"hidden","&.reset":{"&.nb-action-popup":{".ant-drawer-header":{display:"none"},".ant-drawer-body":{paddingTop:e.paddingContentVerticalLG,backgroundColor:e.colorBgLayout,paddingBottom:0}},"&.nb-record-picker-selector":{".ant-drawer-content":{backgroundColor:e.colorBgLayout},".nb-block-item":{marginBottom:e.marginBlock,".general-schema-designer":{top:-e.sizeXS,bottom:-e.sizeXS,left:-e.sizeXS,right:-e.sizeXS}}}},".footer":{display:"flex",justifyContent:"flex-end",width:"100%",".ant-btn":{marginRight:e.marginXS}},".ant-drawer-content-wrapper":{borderLeft:"1px solid rgba(255, 255, 255, 0.1)"},".ant-tabs-nav":{paddingLeft:e.paddingLG-e.paddingPageHorizontal,paddingRight:e.paddingLG-e.paddingPageHorizontal,marginLeft:e.paddingPageHorizontal-e.paddingLG,marginRight:e.paddingPageHorizontal-e.paddingLG}}}}),useActionContext=()=>{const e=(0,import_react2.useContext)(ActionContext),{t}=(0,import_react_i18next.useTranslation)(),{modal:o}=import_antd.App.useApp();return P(x({},e),{setVisible:(0,import_react2.useCallback)((r,i=!1)=>{var n,a;r?(a=e.setVisible)==null||a.call(e,r):i&&e.formValueChanged?o.confirm({title:t("Unsaved changes"),content:t("Are you sure you don't want to save?"),onOk(){return z(this,null,function*(){var l;e.setFormValueChanged(!1),(l=e.setVisible)==null||l.call(e,!1)})}}):(n=e.setVisible)==null||n.call(e,!1)},[o,t,e.formValueChanged,e.setVisible,e.setFormValueChanged])})},useCloseAction$1=()=>{const{setVisible:e}=(0,import_react2.useContext)(ActionContext),t=(0,import_react.useForm)();return{run(){return z(this,null,function*(){e(!1),t.submit(o=>{console.log(o)})})}}},useLinkageAction=()=>{const e=(0,import_react.useFieldSchema)(),t=useIsDetailBlock();return["Action.Link","Action"].includes(e["x-component"])&&t&&e["x-action"]},useGetAriaLabelOfDrawer=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`drawer-${o}${i}${n}${a}`),[i,o,n])}},MemoizeRecursionField$1=import_react2.default.memo(import_react.RecursionField);MemoizeRecursionField$1.displayName="MemoizeRecursionField";const DrawerErrorFallback=e=>{const{visible:t,setVisible:o}=useActionContext();return(0,import_jsx_runtime.jsx)(import_antd.Drawer,{open:t,onClose:()=>o(!1,!0),width:"50%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})},openSizeWidthMap$1=new Map([["small","30%"],["middle","50%"],["large","70%"]]),ActionDrawerContent=import_react2.default.memo(({footerNodeName:e,field:t,schema:o})=>{const[r,i]=(0,import_react2.useState)(!1),n=(0,import_react2.useCallback)(a=>a["x-component"]!==e,[e]);return(0,import_react2.useEffect)(()=>{(0,import_react2.startTransition)(()=>{i(!0)})},[]),r?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:t.address,schema:o,onlyRenderProperties:!0,filterProperties:n}):null});ActionDrawerContent.displayName="ActionDrawerContent";const InternalActionDrawer=(0,import_react.observer)(e=>{const t=e,{footerNodeName:o="Action.Drawer.Footer",zIndex:r,onClose:i}=t,n=Y(t,["footerNodeName","zIndex","onClose"]),{visible:a,setVisible:l,openSize:c="middle",drawerProps:u}=useActionContext(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),{t:p}=(0,import_react_i18next.useTranslation)(),{componentCls:h,hashId:g}=useStyles$b(),_=useTabsContext(),f=useZIndexContext(),v=m.reduceProperties((j,k)=>k["x-component"]===o?k:j),{hidden:C}=useCurrentPopupContext(),S=(0,import_react2.useMemo)(()=>P(x(x({},u==null?void 0:u.style),n==null?void 0:n.style),{display:C?"none":"block"}),[C,u==null?void 0:u.style,n==null?void 0:n.style]),b=getZIndex("drawer",r||f,e.level||0),y=(0,import_react2.useCallback)(j=>{l(!1,!0),i==null||i(j)},[l,i]),F=(0,import_react2.useCallback)(j=>j["x-component"]===o,[o]);return(0,import_jsx_runtime.jsx)(ActionContextNoRerender,{children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:b,children:(0,import_jsx_runtime.jsx)(TabsContextProvider,P(x({},_),{tabBarExtraContent:null,children:(0,import_jsx_runtime.jsx)(import_antd.Drawer,P(x(x({zIndex:b,width:openSizeWidthMap$1.get(c),title:typeof d.title=="string"?p(d.title,{ns:NAMESPACE_UI_SCHEMA}):d.title},n),u),{rootStyle:S,destroyOnClose:!0,open:a,onClose:y,rootClassName:(0,import_classnames.default)(h,g,u==null?void 0:u.className,n.className,"reset"),footer:v&&(0,import_jsx_runtime.jsx)("div",{className:"footer",children:(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:d.address,schema:m,onlyRenderProperties:!0,filterProperties:F})}),children:(0,import_jsx_runtime.jsx)(ActionDrawerContent,{footerNodeName:o,field:d,schema:m})}))}))})})},{displayName:"InternalActionDrawer"}),ActionDrawer=import_react2.default.memo(e=>(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:DrawerErrorFallback,onError:console.log,children:(0,import_jsx_runtime.jsx)(InternalActionDrawer,x({},e))}));ActionDrawer.displayName="ActionDrawer";ActionDrawer.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionDrawer.Footer"});ActionDrawer.FootBar=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)("div",{className:"ant-drawer-footer",style:{position:"absolute",bottom:0,right:0,left:0},children:(0,import_jsx_runtime.jsx)("div",{className:"footer",children:(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:e.address,schema:t,onlyRenderProperties:!0})})})},{displayName:"ActionDrawer.FootBar"});const useGetAriaLabelOfModal=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`modal-${o}${i}${n}${a}`),[i,o,n])}},ModalErrorFallback=e=>{const{visible:t,setVisible:o}=useActionContext();return(0,import_jsx_runtime.jsx)(import_antd.Modal,{open:t,onCancel:()=>o(!1,!0),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})},openSizeWidthMap=new Map([["small","40%"],["middle","60%"],["large","80%"]]),ActionModalContent=import_react2.default.memo(({footerNodeName:e,field:t,schema:o})=>{const[r,i]=(0,import_react2.useState)(!1);return(0,import_react2.useEffect)(()=>{(0,import_react2.startTransition)(()=>{i(!0)})},[]),r?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:t.address,schema:o,onlyRenderProperties:!0,filterProperties:n=>n["x-component"]!==e}):null});function useDelayedVisible(e,t=200){const[o,r]=(0,import_react2.useState)(t===0);return(0,import_react2.useEffect)(()=>{if(!o)if(e){const i=setTimeout(()=>r(!0),t);return()=>clearTimeout(i)}else r(!1)},[t,o,e]),o}const InternalActionModal=(0,import_react.observer)(e=>{const t=e,{footerNodeName:o="Action.Modal.Footer",width:r,zIndex:i,delay:n=200}=t,a=Y(t,["footerNodeName","width","zIndex","delay"]),{visible:l,setVisible:c,openSize:u="middle",modalProps:m}=useActionContext(),d=r??openSizeWidthMap.get(u),p=(0,import_react.useFieldSchema)(),h=(0,import_react.useField)(),{token:g}=useToken(),_=useTabsContext(),f=useZIndexContext(),v=p.reduceProperties((F,j)=>j["x-component"]===o?j:F),{hidden:C}=useCurrentPopupContext(),S=!!v,b=getZIndex("modal",i||f,e.level||0),y=useDelayedVisible(l,n);return(0,import_jsx_runtime.jsx)(ActionContextNoRerender,{children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:b,children:(0,import_jsx_runtime.jsx)(TabsContextProvider,P(x({},_),{tabBarExtraContent:null,children:(0,import_jsx_runtime.jsx)(import_antd.Modal,P(x(x({zIndex:C?-1:b,width:d,title:h.title},a),m),{style:x(x({},m==null?void 0:m.style),a==null?void 0:a.style),destroyOnClose:!0,open:l,onCancel:()=>{c(!1,!0)},className:(0,import_classnames.default)(a.className,m==null?void 0:m.className,import_css.css`
607
607
  &.nb-action-popup {
608
608
  .ant-modal-header {
609
609
  display: none;
@@ -628,7 +628,7 @@ ${JSON.stringify(E,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,S,k,b,y,h]),M=(0,import_
628
628
  }
629
629
  }
630
630
  `),footer:S?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:h.address,schema:p,onlyRenderProperties:!0,filterProperties:F=>F["x-component"]===o}):!1,children:y?(0,import_jsx_runtime.jsx)(ActionModalContent,{footerNodeName:o,field:h,schema:p}):(0,import_jsx_runtime.jsx)(import_antd.Skeleton,{active:!0,paragraph:{rows:6}})}))}))})})},{displayName:"ActionModal"}),ActionModal=e=>(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ModalErrorFallback,onError:console.log,children:(0,import_jsx_runtime.jsx)(InternalActionModal,x({},e))});ActionModal.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionModal.Footer"});ActionModal.FootBar=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)("div",{className:"ant-modal-footer",children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:e.address,schema:t,onlyRenderProperties:!0})})},{displayName:"ActionModal.FootBar"});const useBackButton=()=>{const{setVisible:e}=useActionContext();return{goBack:(0,import_react2.useCallback)(()=>{e==null||e(!1)},[e])}},BackButtonUsedInSubPage=()=>{const{token:e}=useToken(),{goBack:t}=useBackButton(),o=32,r=(0,import_react2.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:e.paddingXS,marginRight:o-e.paddingXS}),[e.paddingXS]);return(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":"back-button",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.ArrowLeftOutlined,{}),style:r,onClick:t})},useActionPageStyle=genStyleHook("nb-action-page",e=>{const{componentCls:t}=e;return{[t]:{position:"absolute !important",top:0,left:0,right:0,bottom:0,backgroundColor:e.colorBgLayout,overflowX:"hidden",overflowY:"auto",".ant-tabs-nav":{background:e.colorBgContainer,padding:`0 ${e.paddingPageVertical}px`,marginBottom:0},".ant-tabs-content-holder":{padding:`${e.paddingPageVertical}px`,paddingBottom:"0px"}}}}),usePopupOrSubpagesContainerDOM=()=>{const e=(0,import_react2.useMemo)(()=>document.querySelector(".nb-subpages-slot-without-header-and-side"),[]);return{getContainerDOM:(0,import_react2.useCallback)(()=>e,[e])}},ActionPageContent=import_react2.default.memo(({schema:e})=>{const[t,o]=(0,import_react2.useState)(!1);return(0,import_react2.useEffect)(()=>{(0,import_react2.startTransition)(()=>{o(!0)})},[]),t?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:e,onlyRenderProperties:!0}):null});function ActionPage({level:e}){const t=(0,import_react.useFieldSchema)(),o=useActionContext(),{getContainerDOM:r}=usePopupOrSubpagesContainerDOM(),{componentCls:i,hashId:n}=useActionPageStyle(),a=useTabsContext(),l=useZIndexContext(),c=(0,import_react2.useMemo)(()=>({zIndex:getZIndex("page",l,e||0)}),[l,e]);if(!o.visible)return null;const u=(0,import_jsx_runtime.jsx)("div",{className:`${i} ${n}`,style:c,children:(0,import_jsx_runtime.jsx)(ActionContextNoRerender,{children:(0,import_jsx_runtime.jsx)(TabsContextProvider,P(x({},a),{tabBarExtraContent:(0,import_jsx_runtime.jsx)(BackButtonUsedInSubPage,{}),children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:c.zIndex,children:(0,import_jsx_runtime.jsx)(ActionPageContent,{schema:t})})}))})}),m=r();return(0,import_react_dom.createPortal)(u,m||document.body)}ActionPage.Footer=(0,import_react.observer)(()=>null,{displayName:"ActionPage.Footer"});const defaultContext={defaultOpenMode:"drawer",openModeToComponent:{drawer:ActionDrawer,page:ActionPage,modal:ActionModal},hideOpenMode:!1},OpenModeContext=import_react2.default.createContext(null),OpenModeProvider=e=>{const t=(0,import_react2.useMemo)(()=>{const i=x({},defaultContext);return e.defaultOpenMode!==void 0&&(i.defaultOpenMode=e.defaultOpenMode),e.openModeToComponent!==void 0&&(i.openModeToComponent=e.openModeToComponent),e.hideOpenMode!==void 0&&(i.hideOpenMode=e.hideOpenMode),e.isMobile&&(i.isMobile=e.isMobile),i},[e.defaultOpenMode,e.openModeToComponent,e.hideOpenMode]),o=(0,import_react2.useCallback)(i=>{const n=t.openModeToComponent[i];return n||console.error(`OpenModeProvider: openModeToComponent[${i}] is not defined`),n},[t]),r=(0,import_react2.useMemo)(()=>({defaultOpenMode:t.defaultOpenMode,hideOpenMode:t.hideOpenMode,getComponentByOpenMode:o,isMobile:t.isMobile}),[t.defaultOpenMode,t.hideOpenMode,o,t.isMobile]);return(0,import_jsx_runtime.jsx)(OpenModeContext.Provider,{value:r,children:e.children})},useOpenModeContext=()=>import_react2.default.useContext(OpenModeContext),SchemaInitializerItem=(0,import_react2.memo)(import_react2.default.forwardRef((e,t)=>{const{style:o,closeInitializerMenuWhenClick:r=!0,name:i=(0,import_shared.uid)(),applyMenuStyle:n=!0,className:a,disabled:l,items:c,icon:u,title:m,onClick:d,children:p}=e,h=useCompile(),g=useSchemaInitializerMenuItems(c,i,d),{componentCls:_,hashId:f}=useSchemaInitializerStyles(),{attribute:v}=useAriaAttributeOfMenuItem(),{setVisible:C}=useSchemaInitializer(),S=(0,import_react2.useMemo)(()=>{if(c&&c.length>0)return[{key:i,style:o,className:a,label:p||h(m),onClick:b=>{l||b.key!==i||(r&&(C==null||C(!1)),d==null||d(P(x({},b),{item:e})))},icon:typeof u=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:u}):u,children:g}]},[i,l,o,a,p,m,d,u,g]);return c&&c.length>0?(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{disabled:l,items:S}):(0,import_jsx_runtime.jsx)("div",{ref:t,onClick:b=>{b.stopPropagation(),r&&(C==null||C(!1)),d==null||d({event:b,item:e})},children:(0,import_jsx_runtime.jsx)("div",P(x({},v),{className:(0,import_classnames.default)({[`${_}-menu-item`]:n,[`${_}-menu-item-disabled`]:l},a),style:o,children:p||(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[typeof u=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:u}):u,(0,import_jsx_runtime.jsx)("span",{className:(0,import_classnames.default)({[`${f} ${_}-item-content`]:!!u}),children:h(m)})]})}))})}));SchemaInitializerItem.displayName="SchemaInitializerItem";const SchemaInitializerItemInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,x({},e))},switchStyle={marginLeft:20},itemStyle={display:"flex",alignItems:"center",justifyContent:"space-between"},SchemaInitializerSwitch=e=>{const t=e,{title:o,checked:r}=t,i=Y(t,["title","checked"]),n=useCompile();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},i),{closeInitializerMenuWhenClick:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:itemStyle,children:[n(o),(0,import_jsx_runtime.jsx)(import_antd.Switch,{disabled:e.disabled,style:switchStyle,size:"small",checked:r})]})}))},SchemaInitializerSwitchInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSwitch,x({},e))},SchemaInitializerChildren=e=>{const{children:t}=e;return t?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:t.sort((o,r)=>(o.sort||0)-(r.sort||0)).map((o,r)=>(0,import_jsx_runtime.jsx)(SchemaInitializerChild,x({},o),o.name||o.key||r))}):null},typeComponentMap={item:"SchemaInitializerItemInternal",itemGroup:"SchemaInitializerItemGroupInternal",divider:"SchemaInitializerDivider",switch:"SchemaInitializerSwitchInternal",subMenu:"SchemaInitializerSubMenuInternal",actionModal:"SchemaInitializerActionModalInternal"},useChildrenDefault=()=>{},useVisibleDefault=()=>!0,useComponentPropsDefault=()=>{},SchemaInitializerChild=(0,import_react2.memo)(e=>{const t=e,{type:o,Component:r,component:i,children:n,useVisible:a=useVisibleDefault,useChildren:l=useChildrenDefault,useComponentProps:c=useComponentPropsDefault,hideIfNoChildren:u,componentProps:m,sort:d}=t,p=Y(t,["type","Component","component","children","useVisible","useChildren","useComponentProps","hideIfNoChildren","componentProps","sort"]),h=l(),g=c(),_=useFindComponent(),f=r||i,v=!f&&o&&typeComponentMap[o],C=(0,import_react2.useMemo)(()=>{const y=[...h||[],...n||[]];return y.length===0?void 0:y},[h,n]),S=(0,import_react2.useMemo)(()=>P(x(x(x({},p),v?g:{}),v?m:{}),{children:C}),[p,v,g,m,C]);if(!a()||!o&&!f)return null;const b=_(v?typeComponentMap[o]:f);return!b||u&&!C?null:(0,import_jsx_runtime.jsx)(SchemaInitializerItemContext.Provider,{value:S,children:(0,import_jsx_runtime.jsx)(b,P(x(x({},m),g),{children:C}))})});SchemaInitializerChild.displayName="SchemaInitializerChild";const SchemaInitializerDivider=()=>{const{token:e}=import_antd.theme.useToken();return(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{marginTop:e.marginXXS,marginBottom:e.marginXXS}})};function getPrefixAndCompare(e,t){const o=e.replace(/-displayCollectionFields$/,""),r=t.replace(/-displayCollectionFields$/,"");return!o.includes(r)}const SearchFields=({value:e,onChange:t,name:o})=>{const{t:r}=(0,import_react_i18next.useTranslation)(),[i,n]=(0,import_react2.useState)(e),a=(0,import_react2.useRef)(""),l=(0,import_react2.useRef)(`${o||Math.random().toString(10).substr(2,9)}`);(0,import_react2.useEffect)(()=>{n(e)},[e]),(0,import_react2.useEffect)(()=>{var d;const p=()=>{var g,_;a.current&&((g=document.activeElement)==null?void 0:g.id)!==a.current.input.id&&getPrefixAndCompare((_=document.activeElement)==null?void 0:_.id,a.current.input.id)&&a.current.focus()},h=new IntersectionObserver(g=>{g.some(_=>_.isIntersecting)&&p()});return(d=a.current)!=null&&d.input&&(a.current.input.id=l.current,h.observe(a.current.input)),()=>{h.disconnect()}},[]);const c=(0,import_react2.useRef)(!1),u=d=>{c.current||(t(d.target.value),n(d.target.value))},m=d=>{d.type==="compositionend"?(c.current=!1,u(d)):c.current=!0};return(0,import_jsx_runtime.jsxs)("div",{onClick:d=>d.stopPropagation(),children:[(0,import_jsx_runtime.jsx)(import_antd.Input,{ref:a,allowClear:!0,style:{padding:"0 4px 6px 16px",boxShadow:"none"},bordered:!1,placeholder:r("Search"),defaultValue:i,onClick:d=>{d.stopPropagation()},onChange:u,onCompositionStart:m,onCompositionEnd:m,onCompositionUpdate:m}),(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}})]})};let currentName=null;const useMenuSearch$1=e=>{const{children:t,showType:o,hideSearch:r,name:i}=e,n=useCompile(),[a,l]=(0,import_react2.useState)(null),c=(d,p)=>{if(!a||a===""||currentName&&currentName!==p)return d;const h=a.toLocaleLowerCase();return d.filter(g=>(g.title||g.label)&&String(n(g.title||g.label)).toLocaleLowerCase().includes(h))},u=(d,p,h=new Set)=>{var g;const _=[];return!r&&(d.length>10||a)&&!["subMenu","itemGroup"].includes((g=d[0])==null?void 0:g.type)&&_.push(x({key:`search-${(0,import_shared.uid)()}`,Component:()=>(0,import_jsx_runtime.jsx)(SearchFields,{name:p,value:!currentName||currentName===p?a:"",onChange:f=>{currentName=p,l(f)}}),onClick({domEvent:f}){f.stopPropagation()}},o?{isMenuType:!0}:{})),d.forEach(f=>{if(!h.has(f))if(h.add(f),["subMenu","itemGroup"].includes(f.type)){const v=!currentName||currentName===f.name?c(f.children.concat(),f.name):f.children,C=u(v,f.name,h);_.push(P(x({},f),{children:C}))}else _.push(f)}),d.length===0&&_.push(x({key:"empty",style:{height:150},Component:()=>(0,import_jsx_runtime.jsx)("div",{onClick:f=>f.stopPropagation(),children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE})})},o?{isMenuType:!0}:{})),_},m=u(c((t==null?void 0:t.concat())||[],i),i);return t?m:void 0},SchemaInitializerItemGroup=({children:e,items:t,title:o,divider:r})=>{const i=useCompile(),{componentCls:n}=useSchemaInitializerStyles(),{token:a}=import_antd.theme.useToken();return(0,import_jsx_runtime.jsxs)("div",{style:{marginInline:a.marginXXS},children:[r&&(0,import_jsx_runtime.jsx)(SchemaInitializerDivider,{}),(0,import_jsx_runtime.jsx)("div",{className:`${n}-group-title`,children:i(o)}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:t||e})]})},SchemaInitializerItemGroupInternal=()=>{const e=useSchemaInitializerItem(),t=useMenuSearch$1(e);return e.name&&e.name!=="displayFields"?(0,import_jsx_runtime.jsx)(SchemaInitializerItemGroup,x({},e)):(0,import_jsx_runtime.jsx)(SchemaInitializerItemGroup,P(x({},e),{children:t}))},SchemaInitializerItems=e=>{const{items:t}=e;return t.length===0?null:(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:t})},SchemaInitializerActionModalItemComponent=import_react2.default.forwardRef((e,t)=>{const o=e,{onClick:r}=o,i=Y(o,["onClick"]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({ref:t},i),{onClick:n=>r==null?void 0:r(n.event,!1)}))}),SchemaInitializerActionModal=e=>{const{title:t,icon:o,width:r,schema:i,buttonText:n,btnStyles:a,isItem:l,component:c,onCancel:u,onSubmit:m}=e,{setVisible:d}=useSchemaInitializer(),p=(0,import_react2.useCallback)(()=>{const v=(0,import_react.useForm)(),C=useActionContext();return{run(){return z(this,null,function*(){yield u==null?void 0:u(),C.setVisible(!1),v.reset()})}}},[u]),h=(0,import_react2.useCallback)(()=>{const v=(0,import_react.useForm)(),C=useActionContext();return{run(){return z(this,null,function*(){yield v.validate();try{yield m==null?void 0:m(v.values),C.setVisible(!1),v.reset()}catch(S){console.error(S)}})}}},[m]),g=(0,import_react2.useMemo)(()=>import_react2.default.forwardRef(({onClick:v},C)=>(0,import_jsx_runtime.jsx)(SchemaInitializerActionModalItemComponent,{onClick:v,ref:C,title:n,icon:o})),[n,o]),_=(0,import_react2.useMemo)(()=>(0,import_shared.uid)(),[]),f=(0,import_react2.useMemo)(()=>({type:"void",properties:{[_]:{type:"void","x-component":"Action","x-component-props":c?{component:c,icon:o}:l?{component:g}:{icon:o||"PlusOutlined",style:x({borderColor:"var(--colorSettings)",color:"var(--colorSettings)"},a||{}),title:n,type:"dashed"},properties:{drawer1:{"x-decorator":"Form","x-component":"Action.Modal","x-component-props":{width:r,style:{maxWidth:r||"520px",width:"100%"},afterOpenChange:()=>{d(!1)}},type:"void",title:t,properties:P(x({},(i==null?void 0:i.properties)||i),{footer:{"x-component":"Action.Modal.Footer",type:"void",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:p}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:h}}}}})}}}}}),[n,c,_,i,t,p,h]);return(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:f})},SchemaInitializerActionModalInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerActionModal,x({},e))},SchemaInitializerSelect=e=>{const t=e,{title:o,options:r,value:i,onChange:n,openOnHover:a,onClick:l}=t,c=Y(t,["title","options","value","onChange","openOnHover","onClick"]),[u,m]=(0,import_react2.useState)(!1),d=(0,import_react2.useCallback)((...g)=>{m(!1),l==null||l(...g)},[m,l]),p=(0,import_react2.useCallback)(()=>m(!0),[]),h=(0,import_react2.useMemo)(()=>a?{onMouseEnter:p,open:u}:{},[p,u,a]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({closeInitializerMenuWhenClick:!1},c),{children:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[o,(0,import_jsx_runtime.jsx)(import_antd.Select,x({"data-testid":"antd-select",popupMatchSelectWidth:!1,bordered:!1,defaultValue:i,onChange:(...g)=>(m(!1),n(...g)),options:r,style:{textAlign:"right",minWidth:100},onClick:d},h))]})}))},SchemaInitializerSelectInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSelect,x({},e))},schemaInitializerComponents=Object.freeze(Object.defineProperty({__proto__:null,SchemaInitializerActionModal,SchemaInitializerActionModalInternal,SchemaInitializerChild,SchemaInitializerChildren,SchemaInitializerDivider,SchemaInitializerItem,SchemaInitializerItemGroup,SchemaInitializerItemGroupInternal,SchemaInitializerItemInternal,SchemaInitializerItems,SchemaInitializerMenu,SchemaInitializerMenuProvider,SchemaInitializerSelect,SchemaInitializerSelectInternal,SchemaInitializerSubMenu,SchemaInitializerSubMenuInternal,SchemaInitializerSwitch,SchemaInitializerSwitchInternal,useSchemaInitializerStyles,useSchemaInitializerSubMenuContext},Symbol.toStringTag,{value:"Module"})),useGetAriaLabelOfSchemaInitializer=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection()||{};return{getAriaLabel:(0,import_react2.useCallback)(o=>{if(!e)return"";const r=e["x-component"],i=typeof r=="string"?r:(r==null?void 0:r.displayName)||r.name,n=e["x-initializer"]?`-${e["x-initializer"]}`:"",a=t?`-${t}`:"";return o=o?`-${o}`:"",`schema-initializer-${i}${n}${a}${o}`},[e,t])}},SchemaInitializerButton=import_react2.default.memo(e=>{const t=e,{style:o,options:r}=t,i=Y(t,["style","options"]),n=useCompile(),{getAriaLabel:a}=useGetAriaLabelOfSchemaInitializer();return(0,import_jsx_runtime.jsx)(import_antd.Button,P(x({"data-testid":r["data-testid"],"aria-label":a(),"aria-disabled":"false",type:"dashed",style:x({borderColor:"var(--colorSettings)",color:"var(--colorSettings)",flex:"none"},o),icon:typeof r.icon=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:r.icon}):r.icon},i),{children:r.title&&(0,import_jsx_runtime.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"inline-block",width:r.icon?"calc(100% - 14px)":"100%",verticalAlign:"bottom"},children:n(r.title)})}))});SchemaInitializerButton.displayName="SchemaInitializerButton(memo)";const InitializerComponent=e=>{const t=e.Component||SchemaInitializerButton,o=e.ItemsComponent||SchemaInitializerItems,r=P(x({},e.itemsComponentProps),{options:e,items:e.items,style:e.itemsComponentStyle}),i=(0,import_react2.useMemo)(()=>withInitializer(t),[t]);return import_react2.default.createElement(i,e,import_react2.default.createElement(o,r))};InitializerComponent.displayName="InitializerComponent";function useSchemaInitializerRender(e,t){const o=useApp(),{isMobile:r}=useOpenModeContext()||{};e==="popup:common:addBlock"&&o.schemaInitializerManager.has("mobile:popup:common:addBlock")&&r&&(e="mobile:popup:common:addBlock");const i=(0,import_react2.useMemo)(()=>typeof e=="object"?e:o.schemaInitializerManager.get(e),[o.schemaInitializerManager,e]);return(0,import_react2.useMemo)(()=>e?i?{exists:!0,render:n=>import_react2.default.createElement(InitializerComponent,x(x(x({},i.options),t),n))}:(console.error(`[nocobase]: SchemaInitializer "${e}" not found`),{exists:!1,render:()=>null}):{exists:!1,render:()=>null},[i,e,t])}function useSchemaInitializerMenuItems(e,t,o){const r=useGetSchemaInitializerMenuItems(o);return(0,import_react2.useMemo)(()=>r(e,t),[r,e,t])}function useGetSchemaInitializerMenuItems(e){const t=useCompile(),o=(0,import_react2.useCallback)((r,i)=>r!=null&&r.length?r.map((n,a)=>{var l,c;const u=n.component||n.Component;let m;const d=n.title||n.label?t(n.title||n.label):void 0;if(u&&(m=import_react2.default.createElement(SchemaInitializerChild,P(x({},n),{title:d}))),n.type==="divider")return{type:"divider",key:n.key||`divider-${a}`};if(n.type==="item"&&u)return n.key||(n.key=`${d}-${a}`),n.associationField?{key:n.key,label:m,associationField:n.associationField}:{key:n.key,label:m};if(n.type==="itemGroup"){const _=typeof d=="string"?d:n.title,f=n.key||`${i}-item-group-${a}`;return{type:"group",key:f,label:_,children:(l=n==null?void 0:n.children)!=null&&l.length?o(n.children,f):[]}}if(n.type==="subMenu"){const _=d,f=n.key||n.name||`${i}-sub-menu-${a}`;return{key:f,label:_,children:(c=n==null?void 0:n.children)!=null&&c.length?o(n.children,f):[]}}if(n.isMenuType)return Y(n,["isMenuType"]);const p=m||d,h=n.key||`${i}-${d}-${a}`,g=_=>{_.domEvent.stopPropagation(),_.key===h&&(n.onClick?n.onClick(P(x({},_),{item:n})):e==null||e(P(x({},_),{item:n})))};return n.associationField?{key:h,label:p,associationField:n.associationField,onClick:g}:{style:n.style,key:h,label:p,onClick:g}}):[],[t,e]);return o}class CompatibleSchemaInitializer extends SchemaInitializer{constructor(t,o){super(t),A(this,"otherInstance",null),o&&(this.otherInstance=o,o.otherInstance=this)}add(t,o){super.get(t)||(super.add(t,o),this.otherInstance&&this.otherInstance.add(t,o))}remove(t){super.get(t)&&(super.remove(t),this.otherInstance&&this.otherInstance.remove(t))}}const oldToNewNameMap={BlockInitializers:"page:addBlock",MBlockInitializers:"mobilePage:addBlock",CreateFormBlockInitializers:"popup:addNew:addBlock",CusomeizeCreateFormBlockInitializers:"popup:addRecord:addBlock",RecordBlockInitializers:"popup:common:addBlock",BulkEditBlockInitializers:"popup:bulkEdit:addBlock",TableColumnInitializers:"table:configureColumns",TableActionColumnInitializers:"table:configureItemActions",TableActionInitializers:"table:configureActions",SubTableActionInitializers:"subTable:configureActions",FormItemInitializers:"form:configureFields",CreateFormActionInitializers:"createForm:configureActions",UpdateFormActionInitializers:"editForm:configureActions",ReadPrettyFormItemInitializers:"details:configureFields",DetailsActionInitializers:"detailsWithPaging:configureActions",ReadPrettyFormActionInitializers:"details:configureActions",KanbanCardInitializers:"kanban:configureItemFields",KanbanActionInitializers:"kanban:configureActions",GridCardActionInitializers:"gridCard:configureActions",GridCardItemActionInitializers:"gridCard:configureItemActions",ListActionInitializers:"list:configureActions",ListItemActionInitializers:"list:configureItemActions",CalendarActionInitializers:"calendar:configureActions",GanttActionInitializers:"gantt:configureActions",MapActionInitializers:"map:configureActions",TableSelectorInitializers:"popup:tableSelector:addBlock",ChartInitializers:"charts:addBlock",ChartFilterItemInitializers:"chartFilterForm:configureFields",ChartFilterActionInitializers:"chartFilterForm:configureActions",AssociationFilterInitializers:"filterCollapse:configureFields",FilterFormItemInitializers:"filterForm:configureFields",FilterFormActionInitializers:"filterForm:configureActions",CustomFormItemInitializers:"assignFieldValuesForm:configureFields",BulkEditFormItemInitializers:"bulkEditForm:configureFields",BulkEditFormActionInitializers:"bulkEditForm:configureActions",AuditLogsTableColumnInitializers:"auditLogsTable:configureColumns",AuditLogsTableActionColumnInitializers:"auditLogsTable:configureItemActions",AuditLogsTableActionInitializers:"auditLogsTable:configureActions",SnapshotBlockInitializers:"popup:snapshot:addBlock",AddBlockButton:"workflowManual:popup:configureUserInterface:addBlock",AddCustomFormField:"workflowManual:customForm:configureFields",AddActionButton:"workflowManual:form:configureActions"};function isInitializersSame(e,t){return e===t||oldToNewNameMap[e]===t}class SchemaInitializerManager{constructor(t=[],o){A(this,"schemaInitializers",{}),A(this,"actionList",{}),this._schemaInitializers=t,this.app=o,this.app=o,this.add(...t)}add(...t){t.forEach(o=>{this.schemaInitializers[o.name]=o,Array.isArray(this.actionList[o.name])&&(this.actionList[o.name].forEach(r=>{o[r.type](r.itemName,r.data)}),this.actionList[o.name]=void 0)})}addItem(t,o,r){const i=this.get(t);i?i.add(o,r):(this.actionList[t]||(this.actionList[t]=[]),this.actionList[t].push({type:"add",itemName:o,data:r}))}get(t){return this.schemaInitializers[t]}getAll(){return this.schemaInitializers}has(t){return!!this.get(t)}remove(t){delete this.schemaInitializers[t]}removeItem(t,o){const r=this.get(t);r?r.remove(o):(this.actionList[t]||(this.actionList[t]=[]),this.actionList[t].push({type:"remove",itemName:o}))}}function normalizeContainer(e){if(!e)return console.warn("Failed to mount app: mount target should not be null or undefined."),null;if(typeof e=="string"){const t=document.querySelector(e);return t||console.warn(`Failed to mount app: mount target selector "${e}" returned null.`),t}return window.ShadowRoot&&e instanceof window.ShadowRoot&&e.mode==="closed"&&console.warn('mounting on a ShadowRoot with `{mode: "closed"}` may lead to unpredictable bugs'),e}const compose=(...e)=>{const t=e.reduce((o,r)=>{const[i,n]=r,a=({children:l})=>(0,import_jsx_runtime.jsx)(o,{children:(0,import_jsx_runtime.jsx)(i,P(x({},n),{children:l}))});return a.displayName=`compose(${i.displayName||i.name})`,a},BlankComponent);return o=>r=>(0,import_jsx_runtime.jsx)(t,{children:o&&(0,import_jsx_runtime.jsx)(o,x({},r))})};function defineGlobalDeps(e){e.define("react",()=>import_react2.default),e.define("react-dom",()=>import_react_dom.default),e.define("react/jsx-runtime",()=>import_jsx_runtime.default),e.define("react-router",()=>ReactRouter),e.define("react-router-dom",()=>ReactRouterDom),e.define("antd",()=>antd),e.define("antd-style",()=>antdStyle),e.define("@ant-design/icons",()=>antIcons),e.define("@ant-design/cssinjs",()=>antdCssinjs),e.define("i18next",()=>i18next),e.define("react-i18next",()=>reactI18next),e.define("@formily/antd-v5",()=>formilyAntdV5),e.define("@formily/core",()=>formilyCore),e.define("@formily/react",()=>formilyReact),e.define("@formily/shared",()=>formilyShared),e.define("@formily/json-schema",()=>formilyJsonSchema),e.define("@formily/reactive",()=>formilyJsonReactive),e.define("@formily/path",()=>formilyPath),e.define("@formily/validator",()=>formilyValidator),e.define("@formily/reactive-react",()=>formilyReactiveReact),e.define("@nocobase/utils",()=>nocobaseClientUtils),e.define("@nocobase/utils/client",()=>nocobaseClientUtils),e.define("@nocobase/client",()=>nocobaseClient),e.define("@nocobase/client/client",()=>nocobaseClient),e.define("@nocobase/evaluators",()=>nocobaseEvaluators),e.define("@nocobase/evaluators/client",()=>nocobaseEvaluators),e.define("@nocobase/sdk",()=>nocobaseSDK),e.define("@dnd-kit/core",()=>dndKitCore),e.define("@dnd-kit/sortable",()=>dndKitSortable),e.define("axios",()=>import_axios.default),e.define("dayjs",()=>import_client.dayjs),e.define("lodash",()=>import_lodash.default),e.define("ahooks",()=>ahooks),e.define("@emotion/css",()=>emotionCss),e.define("file-saver",()=>FileSaver)}/* istanbul ignore file -- @preserve */function getRequireJs(){var requirejs,require,define,req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.6",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!!(typeof window<"u"&&typeof navigator<"u"&&window.document),isWebWorker=!isBrowser&&typeof importScripts<"u",readyRegExp=isBrowser&&navigator.platform==="PLAYSTATION 3"?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera=typeof opera<"u"&&opera.toString()==="[object Opera]",contexts={},cfg={},globalDefQueue=[],useInteractive=!1;function commentReplace(e,t){return t||""}function isFunction(e){return ostring.call(e)==="[object Function]"}function isArray(e){return ostring.call(e)==="[object Array]"}function each(e,t){if(e){var o;for(o=0;o<e.length&&!(e[o]&&t(e[o],o,e));o+=1);}}function eachReverse(e,t){if(e){var o;for(o=e.length-1;o>-1&&!(e[o]&&t(e[o],o,e));o-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var o;for(o in e)if(hasProp(e,o)&&t(e[o],o))break}function mixin(e,t,o,r){return t&&eachProp(t,function(i,n){(o||!hasProp(e,n))&&(r&&typeof i=="object"&&i&&!isArray(i)&&!isFunction(i)&&!(i instanceof RegExp)?(e[n]||(e[n]={}),mixin(e[n],i,o,r)):e[n]=i)}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=global;return each(e.split("."),function(o){t=t[o]}),t}function makeError(e,t,o,r){var i=new Error(t+`
631
- https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModules=r,o&&(i.originalError=o),i}if(typeof define<"u")return;if(typeof requirejs<"u"){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}typeof require<"u"&&!isFunction(require)&&(cfg=require,require=void 0);function newContext(e){var t,o,r,i,n,a={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},l={},c={},u={},m=[],d={},p={},h={},g=1,_=1;function f(I){var $,E;for($=0;$<I.length;$++)if(E=I[$],E===".")I.splice($,1),$-=1;else if(E===".."){if($===0||$===1&&I[2]===".."||I[$-1]==="..")continue;$>0&&(I.splice($-1,2),$-=2)}}function v(I,$,E){var O,V,U,q,G,W,H,K,J,Q,X,te,ee=$&&$.split("/"),re=a.map,ae=re&&re["*"];if(I&&(I=I.split("/"),H=I.length-1,a.nodeIdCompat&&jsSuffixRegExp.test(I[H])&&(I[H]=I[H].replace(jsSuffixRegExp,"")),I[0].charAt(0)==="."&&ee&&(te=ee.slice(0,ee.length-1),I=te.concat(I)),f(I),I=I.join("/")),E&&re&&(ee||ae)){U=I.split("/");e:for(q=U.length;q>0;q-=1){if(W=U.slice(0,q).join("/"),ee){for(G=ee.length;G>0;G-=1)if(V=getOwn(re,ee.slice(0,G).join("/")),V&&(V=getOwn(V,W),V)){K=V,J=q;break e}}!Q&&ae&&getOwn(ae,W)&&(Q=getOwn(ae,W),X=q)}!K&&Q&&(K=Q,J=X),K&&(U.splice(0,J,K),I=U.join("/"))}return O=getOwn(a.pkgs,I),O||I}function C(I){isBrowser&&each(scripts(),function($){if($.getAttribute("data-requiremodule")===I&&$.getAttribute("data-requirecontext")===r.contextName)return $.parentNode.removeChild($),!0})}function S(I){var $=getOwn(a.paths,I);if($&&isArray($)&&$.length>1)return $.shift(),r.require.undef(I),r.makeRequire(null,{skipMap:!0})([I]),!0}function b(I){var $,E=I?I.indexOf("!"):-1;return E>-1&&($=I.substring(0,E),I=I.substring(E+1,I.length)),[$,I]}function y(I,$,E,O){var V,U,q,G,W=null,H=$?$.name:null,K=I,J=!0,Q="";return I||(J=!1,I="_@r"+(g+=1)),G=b(I),W=G[0],I=G[1],W&&(W=v(W,H,O),U=getOwn(d,W)),I&&(W?E?Q=I:U&&U.normalize?Q=U.normalize(I,function(X){return v(X,H,O)}):Q=I.indexOf("!")===-1?v(I,H,O):I:(Q=v(I,H,O),G=b(Q),W=G[0],Q=G[1],E=!0,V=r.nameToUrl(Q))),q=W&&!U&&!E?"_unnormalized"+(_+=1):"",{prefix:W,name:Q,parentMap:$,unnormalized:!!q,url:V,originalName:K,isDefine:J,id:(W?W+"!"+Q:Q)+q}}function F(I){var $=I.id,E=getOwn(l,$);return E||(E=l[$]=new r.Module(I)),E}function j(I,$,E){var O=I.id,V=getOwn(l,O);hasProp(d,O)&&(!V||V.defineEmitComplete)?$==="defined"&&E(d[O]):(V=F(I),V.error&&$==="error"?E(V.error):V.on($,E))}function k(I,$){var E=I.requireModules,O=!1;$?$(I):(each(E,function(V){var U=getOwn(l,V);U&&(U.error=I,U.events.error&&(O=!0,U.emit("error",I)))}),O||req.onError(I))}function T(){globalDefQueue.length&&(each(globalDefQueue,function(I){var $=I[0];typeof $=="string"&&(r.defQueueMap[$]=!0),m.push(I)}),globalDefQueue=[])}i={require:function(I){return I.require?I.require:I.require=r.makeRequire(I.map)},exports:function(I){if(I.usingExports=!0,I.map.isDefine)return I.exports?d[I.map.id]=I.exports:I.exports=d[I.map.id]={}},module:function(I){return I.module?I.module:I.module={id:I.map.id,uri:I.map.url,config:function(){return getOwn(a.config,I.map.id)||{}},exports:I.exports||(I.exports={})}}};function M(I){delete l[I],delete c[I]}function w(I,$,E){var O=I.map.id;I.error?I.emit("error",I.error):($[O]=!0,each(I.depMaps,function(V,U){var q=V.id,G=getOwn(l,q);G&&!I.depMatched[U]&&!E[q]&&(getOwn($,q)?(I.defineDep(U,d[q]),I.check()):w(G,$,E))}),E[O]=!0)}function L(){var I,$,E=a.waitSeconds*1e3,O=E&&r.startTime+E<new Date().getTime(),V=[],U=[],q=!1,G=!0;if(!t){if(t=!0,eachProp(c,function(W){var H=W.map,K=H.id;if(W.enabled&&(H.isDefine||U.push(W),!W.error)){if(!W.inited&&O)S(K)?($=!0,q=!0):(V.push(K),C(K));else if(!W.inited&&W.fetched&&H.isDefine&&(q=!0,!H.prefix))return G=!1}}),O&&V.length)return I=makeError("timeout","Load timeout for modules: "+V,null,V),I.contextName=r.contextName,k(I);G&&each(U,function(W){w(W,{},{})}),(!O||$)&&q&&(isBrowser||isWebWorker)&&!n&&(n=setTimeout(function(){n=0,L()},50)),t=!1}}o=function(I){this.events=getOwn(u,I.id)||{},this.map=I,this.shim=getOwn(a.shim,I.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},o.prototype={init:function(I,$,E,O){O=O||{},!this.inited&&(this.factory=$,E?this.on("error",E):this.events.error&&(E=bind(this,function(V){this.emit("error",V)})),this.depMaps=I&&I.slice(0),this.errback=E,this.inited=!0,this.ignore=O.ignore,O.enabled||this.enabled?this.enable():this.check())},defineDep:function(I,$){this.depMatched[I]||(this.depMatched[I]=!0,this.depCount-=1,this.depExports[I]=$)},fetch:function(){if(!this.fetched){this.fetched=!0,r.startTime=new Date().getTime();var I=this.map;if(this.shim)r.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return I.prefix?this.callPlugin():this.load()}));else return I.prefix?this.callPlugin():this.load()}},load:function(){var I=this.map.url;p[I]||(p[I]=!0,r.load(this.map.id,I))},check:function(){if(!(!this.enabled||this.enabling)){var I,$,E=this.map.id,O=this.depExports,V=this.exports,U=this.factory;if(!this.inited)hasProp(r.defQueueMap,E)||this.fetch();else if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(U)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{V=r.execCb(E,U,O,V)}catch(G){I=G}else V=r.execCb(E,U,O,V);if(this.map.isDefine&&V===void 0&&($=this.module,$?V=$.exports:this.usingExports&&(V=this.exports)),I)return I.requireMap=this.map,I.requireModules=this.map.isDefine?[this.map.id]:null,I.requireType=this.map.isDefine?"define":"require",k(this.error=I)}else V=U;if(this.exports=V,this.map.isDefine&&!this.ignore&&(d[E]=V,req.onResourceLoad)){var q=[];each(this.depMaps,function(G){q.push(G.normalizedMap||G)}),req.onResourceLoad(r,this.map,q)}M(E),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var I=this.map,$=I.id,E=y(I.prefix);this.depMaps.push(E),j(E,"defined",bind(this,function(O){var V,U,q,G=getOwn(h,this.map.id),W=this.map.name,H=this.map.parentMap?this.map.parentMap.name:null,K=r.makeRequire(I.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){O.normalize&&(W=O.normalize(W,function(J){return v(J,H,!0)})||""),U=y(I.prefix+"!"+W,this.map.parentMap,!0),j(U,"defined",bind(this,function(J){this.map.normalizedMap=U,this.init([],function(){return J},null,{enabled:!0,ignore:!0})})),q=getOwn(l,U.id),q&&(this.depMaps.push(U),this.events.error&&q.on("error",bind(this,function(J){this.emit("error",J)})),q.enable());return}if(G){this.map.url=r.nameToUrl(G),this.load();return}V=bind(this,function(J){this.init([],function(){return J},null,{enabled:!0})}),V.error=bind(this,function(J){this.inited=!0,this.error=J,J.requireModules=[$],eachProp(l,function(Q){Q.map.id.indexOf($+"_unnormalized")===0&&M(Q.map.id)}),k(J)}),V.fromText=bind(this,function(J,Q){var X=I.name,te=y(X),ee=useInteractive;Q&&(J=Q),ee&&(useInteractive=!1),F(te),hasProp(a.config,$)&&(a.config[X]=a.config[$]);try{req.exec(J)}catch(re){return k(makeError("fromtexteval","fromText eval for "+$+" failed: "+re,re,[$]))}ee&&(useInteractive=!0),this.depMaps.push(te),r.completeLoad(X),K([X],V)}),O.load(I.name,K,V,a)})),r.enable(E,this),this.pluginMaps[E.id]=E},enable:function(){c[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(I,$){var E,O,V;if(typeof I=="string"){if(I=y(I,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[$]=I,V=getOwn(i,I.id),V){this.depExports[$]=V(this);return}this.depCount+=1,j(I,"defined",bind(this,function(U){this.undefed||(this.defineDep($,U),this.check())})),this.errback?j(I,"error",bind(this,this.errback)):this.events.error&&j(I,"error",bind(this,function(U){this.emit("error",U)}))}E=I.id,O=l[E],!hasProp(i,E)&&O&&!O.enabled&&r.enable(I,this)})),eachProp(this.pluginMaps,bind(this,function(I){var $=getOwn(l,I.id);$&&!$.enabled&&r.enable(I,this)})),this.enabling=!1,this.check()},on:function(I,$){var E=this.events[I];E||(E=this.events[I]=[]),E.push($)},emit:function(I,$){each(this.events[I],function(E){E($)}),I==="error"&&delete this.events[I]}};function D(I){hasProp(d,I[0])||F(y(I[0],null,!0)).init(I[1],I[2])}function R(I,$,E,O){I.detachEvent&&!isOpera?O&&I.detachEvent(O,$):I.removeEventListener(E,$,!1)}function N(I){var $=I.currentTarget||I.srcElement;return R($,r.onScriptLoad,"load","onreadystatechange"),R($,r.onScriptError,"error"),{node:$,id:$&&$.getAttribute("data-requiremodule")}}function B(){var I;for(T();m.length;){if(I=m.shift(),I[0]===null)return k(makeError("mismatch","Mismatched anonymous define() module: "+I[I.length-1]));D(I)}r.defQueueMap={}}return r={config:a,contextName:e,registry:l,defined:d,urlFetched:p,defQueue:m,defQueueMap:{},Module:o,makeModuleMap:y,nextTick:req.nextTick,onError:k,configure:function(I){if(I.baseUrl&&I.baseUrl.charAt(I.baseUrl.length-1)!=="/"&&(I.baseUrl+="/"),typeof I.urlArgs=="string"){var $=I.urlArgs;I.urlArgs=function(V,U){return(U.indexOf("?")===-1?"?":"&")+$}}var E=a.shim,O={paths:!0,bundles:!0,config:!0,map:!0};eachProp(I,function(V,U){O[U]?(a[U]||(a[U]={}),mixin(a[U],V,!0,!0)):a[U]=V}),I.bundles&&eachProp(I.bundles,function(V,U){each(V,function(q){q!==U&&(h[q]=U)})}),I.shim&&(eachProp(I.shim,function(V,U){isArray(V)&&(V={deps:V}),(V.exports||V.init)&&!V.exportsFn&&(V.exportsFn=r.makeShimExports(V)),E[U]=V}),a.shim=E),I.packages&&each(I.packages,function(V){var U,q;V=typeof V=="string"?{name:V}:V,q=V.name,U=V.location,U&&(a.paths[q]=V.location),a.pkgs[q]=V.name+"/"+(V.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(l,function(V,U){!V.inited&&!V.map.unnormalized&&(V.map=y(U,null,!0))}),(I.deps||I.callback)&&r.require(I.deps||[],I.callback)},makeShimExports:function(I){function $(){var E;return I.init&&(E=I.init.apply(global,arguments)),E||I.exports&&getGlobal(I.exports)}return $},makeRequire:function(I,$){$=$||{};function E(O,V,U){var q,G,W;return $.enableBuildCallback&&V&&isFunction(V)&&(V.__requireJsBuild=!0),typeof O=="string"?isFunction(V)?k(makeError("requireargs","Invalid require call"),U):I&&hasProp(i,O)?i[O](l[I.id]):req.get?req.get(r,O,I,E):(G=y(O,I,!1,!0),q=G.id,hasProp(d,q)?d[q]:k(makeError("notloaded",'Module name "'+q+'" has not been loaded yet for context: '+e+(I?"":". Use require([])")))):(B(),r.nextTick(function(){B(),W=F(y(null,I)),W.skipMap=$.skipMap,W.init(O,V,U,{enabled:!0}),L()}),E)}return mixin(E,{isBrowser,toUrl:function(O){var V,U=O.lastIndexOf("."),q=O.split("/")[0],G=q==="."||q==="..";return U!==-1&&(!G||U>1)&&(V=O.substring(U,O.length),O=O.substring(0,U)),r.nameToUrl(v(O,I&&I.id,!0),V,!0)},defined:function(O){return hasProp(d,y(O,I,!1,!0).id)},specified:function(O){return O=y(O,I,!1,!0).id,hasProp(d,O)||hasProp(l,O)}}),I||(E.undef=function(O){T();var V=y(O,I,!0),U=getOwn(l,O);U.undefed=!0,C(O),delete d[O],delete p[V.url],delete u[O],eachReverse(m,function(q,G){q[0]===O&&m.splice(G,1)}),delete r.defQueueMap[O],U&&(U.events.defined&&(u[O]=U.events),M(O))}),E},enable:function(I){var $=getOwn(l,I.id);$&&F(I).enable()},completeLoad:function(I){var $,E,O,V=getOwn(a.shim,I)||{},U=V.exports;for(T();m.length;){if(E=m.shift(),E[0]===null){if(E[0]=I,$)break;$=!0}else E[0]===I&&($=!0);D(E)}if(r.defQueueMap={},O=getOwn(l,I),!$&&!hasProp(d,I)&&O&&!O.inited){if(a.enforceDefine&&(!U||!getGlobal(U)))return S(I)?void 0:k(makeError("nodefine","No define call for "+I,null,[I]));D([I,V.deps||[],V.exportsFn])}L()},nameToUrl:function(I,$,E){var O,V,U,q,G,W,H,K=getOwn(a.pkgs,I);if(K&&(I=K),H=getOwn(h,I),H)return r.nameToUrl(H,$,E);if(req.jsExtRegExp.test(I))G=I+($||"");else{for(O=a.paths,V=I.split("/"),U=V.length;U>0;U-=1)if(q=V.slice(0,U).join("/"),W=getOwn(O,q),W){isArray(W)&&(W=W[0]),V.splice(0,U,W);break}G=V.join("/"),G+=$||(/^data\:|^blob\:|\?/.test(G)||E?"":".js"),G=(G.charAt(0)==="/"||G.match(/^[\w\+\.\-]+:/)?"":a.baseUrl)+G}return a.urlArgs&&!/^blob\:/.test(G)?G+a.urlArgs(I,G):G},load:function(I,$){req.load(r,I,$)},execCb:function(I,$,E,O){return $.apply(O,E)},onScriptLoad:function(I){if(I.type==="load"||readyRegExp.test((I.currentTarget||I.srcElement).readyState)){interactiveScript=null;var $=N(I);r.completeLoad($.id)}},onScriptError:function(I){var $=N(I);if(!S($.id)){var E=[];return eachProp(l,function(O,V){V.indexOf("_@r")!==0&&each(O.depMaps,function(U){if(U.id===$.id)return E.push(V),!0})}),k(makeError("scripterror",'Script error for "'+$.id+(E.length?'", needed by: '+E.join(", "):'"'),I,[$.id]))}}},r.require=r.makeRequire(),r}req=requirejs=function(e,t,o,r){var i,n,a=defContextName;return!isArray(e)&&typeof e!="string"&&(n=e,isArray(t)?(e=t,t=o,o=r):e=[]),n&&n.context&&(a=n.context),i=getOwn(contexts,a),i||(i=contexts[a]=req.s.newContext(a)),n&&i.configure(n),i.require(e,t,o)},req.config=function(e){return req(e)},req.nextTick=typeof setTimeout<"u"?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts,newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,o){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,o){var r=e&&e.config||{},i;if(isBrowser)return i=req.createNode(r,t,o),i.setAttribute("data-requirecontext",e.contextName),i.setAttribute("data-requiremodule",t),i.attachEvent&&!(i.attachEvent.toString&&i.attachEvent.toString().indexOf("[native code")<0)&&!isOpera?(useInteractive=!0,i.attachEvent("onreadystatechange",e.onScriptLoad)):(i.addEventListener("load",e.onScriptLoad,!1),i.addEventListener("error",e.onScriptError,!1)),i.src=o,r.onNodeCreated&&r.onNodeCreated(i,r,t,o),currentlyAddingScript=i,baseElement?head.insertBefore(i,baseElement):head.appendChild(i),currentlyAddingScript=null,i;if(isWebWorker)try{setTimeout(function(){},0),importScripts(o),e.completeLoad(t)}catch(n){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+o,n,[t]))}};function getInteractiveScript(){return interactiveScript&&interactiveScript.readyState==="interactive"||eachReverse(scripts(),function(e){if(e.readyState==="interactive")return interactiveScript=e}),interactiveScript}return isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"),dataMain)return mainScript=dataMain,!cfg.baseUrl&&mainScript.indexOf("!")===-1&&(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,o){var r,i;typeof e!="string"&&(o=t,t=e,e=null),isArray(t)||(o=t,t=null),!t&&isFunction(o)&&(t=[],o.length&&(o.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(n,a){t.push(a)}),t=(o.length===1?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript(),r&&(e||(e=r.getAttribute("data-requiremodule")),i=contexts[r.getAttribute("data-requirecontext")])),i?(i.defQueue.push([e,t,o]),i.defQueueMap[e]=!0):globalDefQueue.push([e,t,o])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg),{requirejs,require,define}}const setFieldProps=(e,t,o)=>{(0,import_reactive.untracked)(()=>{e[t]===void 0&&(e[t]=o)})},setRequired=(e,t,o)=>{typeof t.required>"u"&&(e.required=!!o.required)},CollectionFieldInternalField_deprecated=e=>{var t;const o=useCompile(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{uiSchema:n,defaultValue:a}=useCollectionField(),{isAllowToSetDefaultValue:l}=useIsAllowToSetDefaultValue(),c=useComponent(((t=i["x-component-props"])==null?void 0:t.component)||(n==null?void 0:n["x-component"])||"Input"),u=useFormBlockContext(),m=useDynamicComponentProps(n==null?void 0:n["x-use-component-props"],e);return(0,import_react2.useEffect)(()=>{if(!n)return;const d=o(n);if(setFieldProps(r,"content",d["x-content"]),setFieldProps(r,"title",d.title),setFieldProps(r,"description",d.description),u!=null&&u.form){const h=l()?i.default||a:void 0;h!=null&&setFieldProps(r,"initialValue",h)}if(!r.validator&&(d["x-validator"]||i["x-validator"])){const h=(0,import_lodash.concat)([],d["x-validator"]||[],i["x-validator"]||[]);r.validator=h}i["x-disabled"]===!0&&(r.disabled=!0),i["x-read-pretty"]===!0&&(r.readPretty=!0),setRequired(r,i,d),r.dataSource=d.enum,r.data=r.data||{},r.data.dataSource=d==null?void 0:d.enum;const p=o(d["x-component-props"])||{};r.componentProps=(0,import_shared.merge)(p,r.componentProps||{},m||{})},[n]),n?(0,import_jsx_runtime.jsx)(c,x(x({},e),m)):null},CollectionFieldInternalField=e=>{var t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{uiSchema:i}=useCollectionFieldUISchema(),n=useComponent(((t=r["x-component-props"])==null?void 0:t.component)||(i==null?void 0:i["x-component"])||"Input"),a=useDynamicComponentProps(i==null?void 0:i["x-use-component-props"],e);if((0,import_react2.useEffect)(()=>{r["x-read-pretty"]===!0&&!o.readPretty&&(o.readPretty=!0),r["x-disabled"]===!0&&(o.disabled=!0),o.data=o.data||{},o.data.dataSource=i==null?void 0:i.enum},[o,r]),!i)return null;const l=x(x({},e),a);return isVariable$1(l.value)&&l.value===r.default&&(l.value=void 0),(0,import_jsx_runtime.jsx)(n,x({},l))},CollectionField$1=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)(),o=useIsInNocoBaseRecursionFieldContext();return(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:o?(0,import_jsx_runtime.jsx)(CollectionFieldInternalField,x({},e)):(0,import_jsx_runtime.jsx)(CollectionFieldInternalField_deprecated,x({},e))})});CollectionField$1.displayName="CollectionField";const getKeyByName=e=>e?`nocobase_${e}_designable`.toUpperCase():"nocobase_designable".toUpperCase(),SchemaComponentProviderWithLocalStorageState=e=>{const[t,o]=(0,import_ahooks.useLocalStorageState)(getKeyByName(e.appName),{defaultValue:!!e.designable});return(0,import_jsx_runtime.jsx)(SchemaComponentProvider,P(x({},e),{designable:t,onDesignableChange:r=>{o(r)}}))},AppSchemaComponentProvider=e=>typeof e.designable=="boolean"?(0,import_jsx_runtime.jsx)(SchemaComponentProvider,x({},e)):(0,import_jsx_runtime.jsx)(SchemaComponentProviderWithLocalStorageState,x({},e));function getOperators(){Array.isArray||(Array.isArray=function(i){return Object.prototype.toString.call(i)==="[object Array]"});function e(i){for(var n=[],a=0,l=i.length;a<l;a++)n.indexOf(i[a])===-1&&n.push(i[a]);return n}function t(i,n){return JSON.stringify(i)===JSON.stringify(n)}var o={},r={$is:function(i,n){return i===n},$match:function(i,n){return Array.isArray(i)&&Array.isArray(n)&&i.some(a=>Array.isArray(a))?i.some(a=>(a==null?void 0:a.length)===n.length&&(a==null?void 0:a.every((l,c)=>l===n[c]))):JSON.stringify(i)===JSON.stringify(n)},$eq:function(i,n){return Array.isArray(i)&&Array.isArray(n)?t(i,n):Array.isArray(i)?i.includes(n):i==n},$ne:function(i,n){return i!=n},"!==":function(i,n){return i!==n},$gt:function(i,n){return Array.isArray(i)?i.some(a=>a>n):i>n},$gte:function(i,n){return i>=n},$lt:function(i,n,a){return Array.isArray(i)?i.some(l=>l<n):a===void 0?i<n:i<n&&n<a},$lte:function(i,n,a){return a===void 0?i<=n:i<=n&&n<=a},$exists:function(i){return o.truthy(i)},$notEmpty:function(i){return o.truthy(i)},$empty:function(i){return Array.isArray(i)||typeof i=="string"?i.length===0:i==null},$notExists:function(i){return!o.truthy(i)},"%":function(i,n){return i%n},log:function(i){return i},$in:function(i,n){return!n||typeof n.indexOf>"u"?!1:Array.isArray(i)&&Array.isArray(n)?n.some(a=>i.includes(a)):n.indexOf(i)!==-1},$notIn:function(i,n){return!n||typeof n.indexOf>"u"?!1:n.indexOf(i)===-1},$includes:function(i,n){return!i||typeof i.indexOf>"u"?!1:Array.isArray(i)?i.some(a=>a==null?void 0:a.includes(n)):i.indexOf(n)!==-1},$notIncludes:function(i,n){return Array.isArray(i)?!i.some(a=>(a||"").includes(n)):(i=i||"",!i.includes(n))},$anyOf:function(i,n){return i==null||i.length===0?!1:Array.isArray(i)&&Array.isArray(n)&&i.some(a=>Array.isArray(a))?i.some(a=>a.some(l=>n.includes(l))):i.some(a=>n.includes(a))},$noneOf:function(i,n){return!i||i.length===0||!n||n.length===0?!0:(Array.isArray(i)||(i=[i]),Array.isArray(n)||(n=[n]),!n.some(a=>i.includes(a)))},$notMatch:function(i,n){if((i==null?void 0:i.length)!==(n==null?void 0:n.length))return!0;for(let a=0;a<((i==null?void 0:i.length)||0);a++)if((i==null?void 0:i[a])!==(n==null?void 0:n[a]))return!0;return!1},$dateOn:function(i,n){if(!i||!n)return!1;if(n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n))return r.$dateBetween(i,n);const a=parseDate(i),l=parseDate(n);return!a||!l?!1:a.getTime()===l.getTime()},$dateBefore:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[0]);const a=parseDate(i),l=parseDate(n);return!a||!l?!1:a.getTime()<l.getTime()},$dateNotBefore:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[0]);const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a.getTime()>=l.getTime()},$dateAfter:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[1]);const a=parseDate(i),l=parseDate(n);return a.getTime()>l.getTime()},$dateNotAfter:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[1]);const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a.getTime()<=l.getTime()},$dateBetween:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n));const a=parseDate(i),l=parseFullDate(n[0]),c=parseFullDate(n[1]);if(!a||!l||!c)throw new Error("Invalid date format");return a.getTime()>=l.getTime()&&a.getTime()<=c.getTime()},$dateNotOn:function(i,n){if(!i||!n)return!1;if(n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n))return!r.$dateBetween(i,n);const a=parseDate(i),l=parseDate(n);return a.getTime()!==l.getTime()},$isTruly:function(i){return Array.isArray(i)?i.some(n=>n===!0||n===1):i===!0||i===1},$isFalsy:function(i){return Array.isArray(i)?i.some(n=>!o.truthy(n)):!o.truthy(i)},cat:function(){return Array.prototype.join.call(arguments,"")},substr:function(i,n,a){if(a<0){var l=String(i).substr(n);return l.substr(0,l.length+a)}return String(i).substr(n,a)},"+":function(){return Array.prototype.reduce.call(arguments,function(i,n){return parseFloat(i,10)+parseFloat(n,10)},0)},"*":function(){return Array.prototype.reduce.call(arguments,function(i,n){return parseFloat(i,10)*parseFloat(n,10)})},"-":function(i,n){return n===void 0?-i:i-n},"/":function(i,n){return i/n},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(i,n){return i.concat(n)},[])},var:function(i,n){var a=n===void 0?null:n,l=this;if(typeof i>"u"||i===""||i===null)return l;for(var c=String(i).split("."),u=0;u<c.length;u++)if(l==null||(l=l[c[u]],l===void 0))return a;return l},missing:function(){for(var i=[],n=Array.isArray(arguments[0])?arguments[0]:arguments,a=0;a<n.length;a++){var l=n[a],c=o.apply({var:l},this);(c===null||c==="")&&i.push(l)}return i},missing_some:function(i,n){var a=o.apply({missing:n},this);return n.length-a.length>=i?[]:a}};return o.is_logic=function(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)&&Object.keys(i).length===1&&!i.type},o.truthy=function(i){return Array.isArray(i)&&i.length===0?!1:!!i},o.getOperator=function(i){return Object.keys(i)[0]},o.getValues=function(i){return i[o.getOperator(i)]},o.apply=function(i,n){if(Array.isArray(i))return i.map(function(_){return o.apply(_,n)});if(!o.is_logic(i))return i;var a=o.getOperator(i),l=i[a],c,u,m,d,p;if(Array.isArray(l)||(l=[l]),a==="if"||a=="?:"){for(c=0;c<l.length-1;c+=2)if(o.truthy(o.apply(l[c],n)))return o.apply(l[c+1],n);return l.length===c+1?o.apply(l[c],n):null}else if(a==="$and"){for(c=0;c<l.length;c+=1)if(u=o.apply(l[c],n),!o.truthy(u))return u;return u}else if(a==="or"){for(c=0;c<l.length;c+=1)if(u=o.apply(l[c],n),o.truthy(u))return u;return u}else{if(a==="filter")return d=o.apply(l[0],n),m=l[1],Array.isArray(d)?d.filter(function(_){return o.truthy(o.apply(m,_))}):[];if(a==="map")return d=o.apply(l[0],n),m=l[1],Array.isArray(d)?d.map(function(_){return o.apply(m,_)}):[];if(a==="reduce")return d=o.apply(l[0],n),m=l[1],p=typeof l[2]<"u"?l[2]:null,Array.isArray(d)?d.reduce(function(_,f){return o.apply(m,{current:f,accumulator:_})},p):p;if(a==="all"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!1;for(c=0;c<d.length;c+=1)if(!o.truthy(o.apply(m,d[c])))return!1;return!0}else if(a==="none"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!0;for(c=0;c<d.length;c+=1)if(o.truthy(o.apply(m,d[c])))return!1;return!0}else if(a==="some"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!1;for(c=0;c<d.length;c+=1)if(o.truthy(o.apply(m,d[c])))return!0;return!1}}if(l=l.map(function(_){return o.apply(_,n)}),r.hasOwnProperty(a)&&typeof r[a]=="function")return r[a].apply(n,l);if(a.indexOf(".")>0){var h=String(a).split("."),g=r;for(c=0;c<h.length;c++){if(!g.hasOwnProperty(h[c]))throw new Error("Unrecognized operation "+a+" (failed at "+h.slice(0,c+1).join(".")+")");g=g[h[c]]}return g.apply(n,l)}throw new Error("Unrecognized operation "+a)},o.uses_data=function(i){var n=[];if(o.is_logic(i)){var a=o.getOperator(i),l=i[a];Array.isArray(l)||(l=[l]),a==="var"?n.push(l[0]):l.forEach(function(c){n.push.apply(n,o.uses_data(c))})}return e(n)},o.addOperation=function(i,n){r[i]=n},o.rmOperation=function(i){delete r[i]},o.rule_like=function(i,n){if(n===i||n==="@")return!0;if(n==="number")return typeof i=="number";if(n==="string")return typeof i=="string";if(n==="array")return Array.isArray(i)&&!o.is_logic(i);if(o.is_logic(n)){if(o.is_logic(i)){var a=o.getOperator(n),l=o.getOperator(i);if(a==="@"||a===l)return o.rule_like(o.get_values(i,!1),o.get_values(n,!1))}return!1}if(Array.isArray(n))if(Array.isArray(i)){if(n.length!==i.length)return!1;for(var c=0;c<n.length;c+=1)if(!o.rule_like(i[c],n[c]))return!1;return!0}else return!1;return!1},o}function parseFullDate(e){return e.includes("T")&&e.endsWith("Z")?new Date(e):e.includes(" ")?new Date(e.replace(" ","T")):new Date(`${e}T00:00:00`)}function parseMonth(e){const[t,o]=e.split("-").map(Number);return new Date(t,o-1)}function parseQuarter(e){const t=parseInt(e.slice(0,4)),o=(parseInt(e.slice(5,6))-1)*3;return new Date(t,o)}function parseYear(e){const t=parseInt(e);return new Date(t,0)}function parseDate(e){var t;let o=Array.isArray(e)?(t=e[1])!=null?t:e[0]:e;return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(o)?new Date(o):/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(o)?new Date(o.replace(" ","T")):/^\d{4}-\d{2}-\d{2}$/.test(o)?parseFullDate(o):/^\d{4}-\d{2}$/.test(o)?parseMonth(o):/^\d{4}Q[1-4]$/.test(o)?parseQuarter(o):/^\d{4}$/.test(o)?parseYear(o):null}class Application{constructor(t={}){A(this,"eventBus",new EventTarget),A(this,"providers",[]),A(this,"router"),A(this,"scopes",{}),A(this,"i18n"),A(this,"ws"),A(this,"apiClient"),A(this,"components",P(x(x({DataBlockProvider},defaultAppComponents),schemaInitializerComponents),{CollectionField:CollectionField$1})),A(this,"pluginManager"),A(this,"pluginSettingsManager"),A(this,"devDynamicImport"),A(this,"requirejs"),A(this,"notification"),A(this,"schemaInitializerManager"),A(this,"schemaSettingsManager"),A(this,"dataSourceManager"),A(this,"name"),A(this,"favicon"),A(this,"globalVars",{}),A(this,"globalVarCtxs",{}),A(this,"jsonLogic"),A(this,"loading",!0),A(this,"maintained",!1),A(this,"maintaining",!1),A(this,"error",null),A(this,"hasLoadError",!1),A(this,"wsAuthorized",!1),A(this,"variables",[]),this.options=t,this.initRequireJs(),(0,import_reactive.define)(this,{maintained:import_reactive.observable.ref,loading:import_reactive.observable.ref,maintaining:import_reactive.observable.ref,error:import_reactive.observable.ref}),this.devDynamicImport=t.devDynamicImport,this.scopes=(0,import_merge.default)(this.scopes,t.scopes),this.components=(0,import_merge.default)(this.components,t.components),this.apiClient=t.apiClient instanceof APIClient?t.apiClient:new APIClient(t.apiClient),this.apiClient.app=this,this.i18n=t.i18n||i18n,this.router=new RouterManager(t.router,this),this.schemaSettingsManager=new SchemaSettingsManager(t.schemaSettings,this),this.pluginManager=new PluginManager$1(t.plugins,t.loadRemotePlugins,this),this.schemaInitializerManager=new SchemaInitializerManager(t.schemaInitializers,this),this.dataSourceManager=new DataSourceManager(t.dataSourceManager,this),this.addDefaultProviders(),this.addReactRouterComponents(),this.addProviders(t.providers||[]),this.ws=new WebSocketClient(t.ws),this.ws.app=this,this.pluginSettingsManager=new PluginSettingsManager(t.pluginSettings,this),this.addRoutes(),this.name=this.options.name||(0,import_sdk.getSubAppName)(t.publicPath)||"main",this.i18n.on("languageChanged",o=>{this.apiClient.auth.locale=o}),this.initListeners(),this.jsonLogic=getOperators()}get pm(){return this.pluginManager}get disableAcl(){return this.options.disableAcl}get isWsAuthorized(){return this.wsAuthorized}updateFavicon(t){let o=document.querySelector('link[rel="shortcut icon"]');t&&(this.favicon=t),o?o.href=this.favicon||"/favicon/favicon.ico":(o=document.createElement("link"),o.rel="shortcut icon",o.href=this.favicon||"/favicon/favicon.ico",document.head.appendChild(o))}setWsAuthorized(t){this.wsAuthorized=t}initListeners(){this.eventBus.addEventListener("auth:tokenChanged",t=>{this.setTokenInWebSocket(t.detail)}),this.eventBus.addEventListener("maintaining:end",()=>{this.apiClient.auth.token&&this.setTokenInWebSocket({token:this.apiClient.auth.token,authenticator:this.apiClient.auth.getAuthenticator()})})}setTokenInWebSocket(t){const{token:o,authenticator:r}=t;this.maintaining||this.ws.send(JSON.stringify({type:"auth:token",payload:{token:o,authenticator:r}}))}setMaintaining(t){this.maintaining!==t&&(this.maintaining=t,t||this.eventBus.dispatchEvent(new Event("maintaining:end")))}initRequireJs(){this.requirejs=getRequireJs(),defineGlobalDeps(this.requirejs),window.define=this.requirejs.define}addDefaultProviders(){this.use(APIClientProvider,{apiClient:this.apiClient}),this.use(import_react_i18next.I18nextProvider,{i18n:this.i18n}),this.use(GlobalThemeProvider),this.use(CSSVariableProvider),this.use(AppSchemaComponentProvider,{designable:this.options.designable,appName:this.name,components:this.components,scope:this.scopes}),this.use(AntdAppProvider),this.use(DataSourceApplicationProvider,{dataSourceManager:this.dataSourceManager}),this.use(OpenModeProvider)}addReactRouterComponents(){this.addComponents({Link:import_react_router_dom.Link,Navigate:import_react_router_dom.Navigate,NavLink:import_react_router_dom.NavLink})}addRoutes(){this.router.add("not-found",{path:"*",Component:this.components.AppNotFound})}getOptions(){return this.options}getName(){return(0,import_sdk.getSubAppName)(this.getPublicPath())||null}getPublicPath(){let t=this.options.publicPath||"/";return t.endsWith("/")||(t+="/"),t}getApiUrl(t=""){let o=this.apiClient.axios.defaults.baseURL;if(!o.startsWith("http://")&&!o.startsWith("https://")){const{protocol:r,host:i}=window.location;o=`${r}//${i}${o}`}return o.replace(/\/$/g,"")+"/"+t.replace(/^\//g,"")}getRouteUrl(t){return this.getPublicPath()+t.replace(/^\//g,"")}getHref(t){const o=this.name;return o&&o!=="main"?this.getPublicPath()+"apps/"+o+"/"+t.replace(/^\//g,""):this.getPublicPath()+t.replace(/^\//g,"")}getCollectionManager(t){var o;return(o=this.dataSourceManager.getDataSource(t))==null?void 0:o.collectionManager}getComposeProviders(){const t=compose(...this.providers)(BlankComponent);return t.displayName="Providers",t}use(t,o){return this.addProvider(t,o)}addProvider(t,o){return this.providers.push([t,o])}addProviders(t){t.forEach(o=>{Array.isArray(o)?this.addProvider(o[0],o[1]):this.addProvider(o)})}load(){return z(this,null,function*(){var t,o,r,i,n;try{this.loading=!0,yield this.loadWebSocket(),yield this.pm.load()}catch(a){this.hasLoadError=!0,((i=(r=(o=(t=a==null?void 0:a.response)==null?void 0:t.data)==null?void 0:o.errors)==null?void 0:r[0])==null?void 0:i.code)==="BLOCKED_IP"&&(this.hasLoadError=!1),this.ws.enabled&&(yield new Promise(l=>{setTimeout(()=>l(null),1e3)})),this.error=x({code:"LOAD_ERROR"},(n=this.apiClient.toErrMessages(a))==null?void 0:n[0]),console.error(a,this.error)}this.loading=!1,this.updateFavicon()})}loadWebSocket(){return z(this,null,function*(){this.eventBus.addEventListener("ws:message:authorized",()=>{this.setWsAuthorized(!0)}),this.ws.on("message",t=>{var o,r,i;const n=JSON.parse(t.data);if((o=n==null?void 0:n.payload)!=null&&o.refresh){window.location.reload();return}if(n.type==="notification"){this.notification[((r=n.payload)==null?void 0:r.type)||"info"]({message:(i=n.payload)==null?void 0:i.message});return}if(n.type==="maintaining"&&n.payload.code!=="APP_RUNNING")this.setMaintaining(!0),this.error=n.payload;else{this.hasLoadError&&window.location.reload(),this.setMaintaining(!1),this.maintained=!0,this.error=null;const a=n.type;if(!a)return;const l=`ws:message:${a}`;this.eventBus.dispatchEvent(new CustomEvent(l,{detail:n.payload}))}}),this.ws.on("serverDown",()=>{this.maintaining=!0,this.maintained=!1}),this.ws.on("open",()=>{const t=this.apiClient.auth.token;t&&this.setTokenInWebSocket({token:t,authenticator:this.apiClient.auth.getAuthenticator()})}),this.ws.connect()})}getComponent(t,o=!0){const r=i=>o&&console.error(i);if(!t){r(`getComponent called with ${t}`);return}if(typeof t=="function")return t;if(typeof t=="string"){const i=(0,import_get.default)(this.components,t);if(!i){r(`Component ${t} not found`);return}return i}r(`Component ${t} should be a string or a React component`)}renderComponent(t,o,r){return import_react2.default.createElement(this.getComponent(t),o,r)}addComponent(t,o){const r=o||t.displayName||t.name;if(!r){console.error("Component must have a displayName or pass name as second argument");return}(0,import_set.default)(this.components,r,t)}addComponents(t){Object.keys(t).forEach(o=>{this.addComponent(t[o],o)})}addScopes(t){this.scopes=(0,import_merge.default)(this.scopes,t)}getRootComponent(){return({children:t})=>(0,import_jsx_runtime.jsx)(AppComponent,{app:this,children:t})}mount(t){const o=normalizeContainer(t);if(!o)return;const r=this.getRootComponent(),i=(0,import_client2.createRoot)(o);return i.render((0,import_jsx_runtime.jsx)(r,{})),i}addFieldInterfaces(t=[]){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaces(t)}addFieldInterfaceComponentOption(t,o){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption(t,o)}addFieldInterfaceOperator(t,o){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceOperator(t,o)}addGlobalVar(t,o,r){(0,import_set.default)(this.globalVars,t,o),r&&(0,import_set.default)(this.globalVarCtxs,t,r)}getGlobalVar(t){return(0,import_get.default)(this.globalVars,t)}getGlobalVarCtx(t){return(0,import_get.default)(this.globalVarCtxs,t)}addUserCenterSettingsItem(t){const o=t.useVisible||(()=>!0),r=()=>{const{allow:i}=useAclSnippets();return o()?t.aclSnippet?i(t.aclSnippet):!0:!1};this.schemaSettingsManager.addItem("userCenterSettings",t.name,P(x({},t),{useVisible:r}))}registerVariable(t){if(this.variables.find(o=>o.name===t.name)){console.warn(`Variable ${t.name} already registered`);return}this.variables.push(t)}getVariables(){return this.variables}}function getNewSchema(e){const{fieldSchema:t,schemaKey:o,parentSchemaKey:r,value:i,valueKeys:n}=e;if(o)import_lodash.default.set(t,o,i);else if(r){if(i==null)return t;typeof i=="object"?Object.keys(i).forEach(a=>{n&&!n.includes(a)||import_lodash.default.set(t,`${r}.${a}`,i[a])}):console.error("value must be object")}return t}const useHookDefault=e=>e,useSchemaByType=(e="common")=>{const t=(0,import_react.useFieldSchema)(),{fieldSchema:o}=useColumnSchema$1()||{};return e==="field"&&o||t};function createModalSettingsItem(e){const{name:t,parentSchemaKey:o,valueKeys:r,schema:i,title:n,useSubmit:a=useHookDefault,useVisible:l,defaultValue:c,useDefaultValue:u=useHookDefault,width:m,type:d="common"}=e;return{name:t,type:"actionModal",useVisible:l,useComponentProps(){const p=useSchemaByType(d),{dn:h}=useDesignable(),g=u(c),_=o?import_lodash.default.get(p,o):void 0,f=useCompile(),{t:v}=(0,import_react_i18next.useTranslation)(),C=a(),{fieldSchema:S}=useColumnSchema$1()||{};return{title:typeof n=="function"?n(v):f(n),width:m,schema:i(x(x({},g),_)),onSubmit(b){const y=getNewSchema({fieldSchema:p,parentSchemaKey:o,value:b,valueKeys:r});return S?(h.emit("patch",{schema:y}),h.refresh()):h.deepMerge(y),C==null?void 0:C(b)}}}}}const createSelectSchemaSettingsItem=e=>{const{name:t,title:o,options:r,useOptions:i=useHookDefault,schemaKey:n,useVisible:a,type:l="common",defaultValue:c,useDefaultValue:u=useHookDefault}=e;return{name:t,type:"select",useVisible:a,useComponentProps(){const m=useSchemaByType(l),{fieldSchema:d}=useColumnSchema$1()||{},{dn:p}=useDesignable(),h=i(r),g=u(c),_=useCompile(),{t:f}=(0,import_react_i18next.useTranslation)();return{title:typeof o=="function"?o(f):_(o),options:h,value:import_lodash.default.get(m,n,g),onChange(v){const C=getNewSchema({fieldSchema:m,schemaKey:n,value:v});d?(p.emit("patch",{schema:C}),p.refresh()):p.deepMerge(C)}}}}};function createSwitchSettingsItem(e){const{name:t,useVisible:o,schemaKey:r,title:i,type:n="common",defaultValue:a,useDefaultValue:l=useHookDefault,useComponentProps:c}=e;return{name:t,useVisible:o,type:"switch",useComponentProps(){const u=useSchemaByType(n),{dn:m}=useDesignable(),d=l(a),p=useCompile(),{t:h}=(0,import_react_i18next.useTranslation)(),{fieldSchema:g}=useColumnSchema$1()||{},_=c==null?void 0:c();return{title:typeof i=="function"?i(h):p(i),checked:(_==null?void 0:_.checked)===void 0?!!import_lodash.default.get(u,r,d):_==null?void 0:_.checked,onChange(f){var v;(v=_==null?void 0:_.onChange)==null||v.call(_,f);const C=getNewSchema({fieldSchema:u,schemaKey:r,value:f});g?(m.emit("patch",{schema:C}),m.refresh()):m.deepMerge(C)}}}}}function createTextSettingsItem(e){const{name:t,useVisible:o,title:r,useTextClick:i=useHookDefault}=e;return{name:t,type:"item",useVisible:o,useComponentProps(){const n=useCompile(),{t:a}=(0,import_react_i18next.useTranslation)(),l=i();return{title:typeof r=="function"?r(a):n(r),onClick:l}}}}const linkageAction$1=(e,t)=>z(void 0,[e,t],function*({operator:o,condition:r,variables:i,localVariables:n,conditionType:a,displayResult:l},c){switch(o){case"visible":return(yield conditionAnalyses({ruleGroup:r,variables:i,localVariables:n,conditionType:a},c))&&l.push("visible"),l;case"hidden":return(yield conditionAnalyses({ruleGroup:r,variables:i,localVariables:n,conditionType:a},c))&&l.push("hidden"),l;default:return null}}),useReactiveLinkageEffect=(e,t,o,r)=>{const i=useApp().jsonLogic,[n,a]=(0,import_react2.useState)(null),l=useCollectionRecord();return(0,import_react2.useEffect)(()=>{z(void 0,null,function*(){const c=[];for(const u of e.filter(m=>!m.disabled))for(const m of u.actions||[])yield linkageAction$1({operator:m.operator,condition:u.condition,variables:t,localVariables:o,conditionType:u.conditionType,displayResult:c},i);a(c)})},[e,r,l]),n};function forEachLinkageRule(e,t){e.forEach(o=>{var r;(r=o.actions)==null||r.forEach(i=>{t(i,o)})})}const getLinkageRules$2=e=>{if(!e)return[];let t=(e==null?void 0:e["x-block-linkage-rules"])||[];return e.mapProperties(o=>{o["x-block-linkage-rules"]&&(t=o["x-block-linkage-rules"])}),t==null?void 0:t.filter(o=>!o.disabled)},BlockLinkageRuleProvider=e=>{const t=(0,import_react.useFieldSchema)(),o=useVariables$1(),r=useLocalVariables$1(),{designable:i}=useDesignable(),n=(0,import_react.useForm)(),a=(0,import_react2.useMemo)(()=>getLinkageRules$2(t),[t]),[l,c]=(0,import_react2.useState)(null),u=useReactiveLinkageEffect(a,o,r,l),m=(t==null?void 0:t["x-decorator"])==="FormItem"&&!n.readPretty&&a.length;return(0,import_react2.useEffect)(()=>{if(m){const d=(0,import_shared.uid)();return setTimeout(()=>{n.addEffects(d,()=>{forEachLinkageRule(a,(p,h)=>(0,import_reactive.reaction)(()=>{const g=getVariableValuesInCondition({linkageRules:a,localVariables:r}),_=getVariableValuesInExpression({action:p,localVariables:r});return[g,_].map(f=>JSON.stringify(f)).join(",")},()=>{c((0,import_shared.uid)())},{fireImmediately:!0,equals:import_lodash.isEqual}))})}),()=>{n.removeEffects(d)}}},[a,m]),a.length?u===null?null:(0,import_lodash.last)(u)==="hidden"?i?(0,import_jsx_runtime.jsx)("div",{style:{opacity:.3},children:e.children}):null:e.children:e.children},DataBlockContext=(0,import_react2.createContext)({});DataBlockContext.displayName="DataBlockContext";const DataBlockResourceContext=(0,import_react2.createContext)(null),RerenderDataBlockProvider=({children:e})=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_react2.useMemo)(()=>({rerenderDataBlock:()=>{o(!0),setTimeout(()=>{o(!1)})}}),[]);return t?null:(0,import_jsx_runtime.jsx)(DataBlockResourceContext.Provider,{value:r,children:e})},AssociationOrCollectionProvider=e=>{const{collection:t,association:o,allowNull:r=!1}=e,i=(0,import_react2.useMemo)(()=>o?{Component:AssociationProvider,name:o}:{Component:SanitizedCollectionProvider,name:t},[t,o]);return(0,import_jsx_runtime.jsx)(i.Component,{name:i.name,allowNull:r,children:e.children})},DataBlockProvider=withDynamicSchemaProps(import_react2.default.memo(e=>{const t=e,{collection:o,association:r,dataSource:i,children:n,hidden:a}=t,l=Y(t,["collection","association","dataSource","children","hidden"]),{dn:c}=useDesignable(),u=(0,import_react.useFieldSchema)();return a?null:(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:u==null?void 0:u["x-uid"],type:"dataBlock",children:(0,import_jsx_runtime.jsx)(DataBlockContext.Provider,{value:{dn:c,props:P(x({},l),{collection:o,association:r,dataSource:i})},children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{dataSource:i,children:(0,import_jsx_runtime.jsx)(AssociationOrCollectionProvider,{collection:o,association:r,children:(0,import_jsx_runtime.jsx)(ACLCollectionProvider,{children:(0,import_jsx_runtime.jsx)(BlockLinkageRuleProvider,{children:(0,import_jsx_runtime.jsx)(DataBlockResourceProvider,{children:(0,import_jsx_runtime.jsx)(BlockRequestProvider,{children:(0,import_jsx_runtime.jsx)(DataBlockCollector,{params:e.params,children:(0,import_jsx_runtime.jsx)(RerenderDataBlockProvider,{children:n})})})})})})})})})})}),{displayName:"DataBlockProvider"}),useDataBlock=()=>{const e=(0,import_react2.useContext)(DataBlockContext);if(!e)throw new Error("useDataBlock() must be used within a DataBlockProvider");return e},useDataBlockProps=()=>useDataBlock().props,useRerenderDataBlock=()=>{const e=(0,import_react2.useContext)(DataBlockResourceContext);if(!e)throw new Error("useRerenderDataBlock() must be used within a DataBlockProvider");return e},BlockRequestRefContext=(0,import_react2.createContext)(null);BlockRequestRefContext.displayName="BlockRequestRefContext";const BlockRequestLoadingContext=(0,import_react2.createContext)(!1);BlockRequestLoadingContext.displayName="BlockRequestLoadingContext";const BlockRequestDataContext=(0,import_react2.createContext)(null);BlockRequestDataContext.displayName="BlockRequestDataContext";function useRecordRequest(e){const t=useDataLoadingMode(),o=useDataBlockResource(),{action:r,params:i={},record:n,requestService:a,requestOptions:l,sourceId:c,association:u,parentRecord:m}=e,d=useAPIClient(),p=useDataBlockProps(),h=useDataSourceHeaders(p.dataSource),g=useSourceKey(u),[_,f]=(0,import_react2.useMemo)(()=>[JSON.stringify(i),JSON.stringify(n)],[i,n]),{isBlockTemplate:v,templateFinished:C}=useTemplateBlockContext(),S=F=>{var j;if(n)return Promise.resolve({data:n});if(!r)throw new Error("[nocobase]: The 'action' parameter is missing in the 'DataBlockRequestProvider' component");if(r==="get"&&import_lodash.default.isNil(i.filterByTk))return console.warn('[nocobase]: The "filterByTk" parameter is missing in the "DataBlockRequestProvider" component');const k=i.filterByTk===void 0?import_lodash.default.omit(i,"filterByTk"):i,T=x(x({},k),F);return(j=o[r])==null?void 0:j.call(o,T).then(M=>M.data)},b=(...F)=>v!=null&&v()&&!C?null:(a||S)(...F),y=useRequest((...F)=>z(this,null,function*(){const[j,k]=yield Promise.all([b(...F),requestParentRecordData({sourceId:c,association:u,parentRecord:m,api:d,headers:h,sourceKey:g})]);return j&&(j.parentRecord=k==null?void 0:k.data),j}),P(x({},l),{manual:t==="manual",ready:!!r,refreshDeps:[r,_,f,o,u,m,c,C]}));return y._defaultParams=i,y}function requestParentRecordData(e){return z(this,arguments,function*({sourceId:t,association:o,parentRecord:r,api:i,headers:n,sourceKey:a}){if(r)return Promise.resolve({data:r});if(!o||!a||!t)return Promise.resolve({data:void 0});const l=`${o.split(".")[0]}:get?filter[${a}]=${t}`;return(yield i.request({url:l,headers:n})).data})}const BlockRequestContextProvider=e=>{var t,o,r,i,n,a;const l=(0,import_react2.useRef)(e.recordRequest),c=(0,import_react2.useRef)((t=e.recordRequest)==null?void 0:t.data),{active:u}=useKeepAlive(),m=(0,import_react2.useRef)(u),d=(0,import_react2.useDeferredValue)(u),p=useDataBlockProps();return d&&!m.current&&(import_lodash.default.isNil(p.dataLoadingMode)||p.dataLoadingMode==="auto")&&((o=e.recordRequest)==null||o.refresh()),d&&m.current&&!((r=e.recordRequest)!=null&&r.loading)&&!import_lodash.default.isEqual(c.current,(i=e.recordRequest)==null?void 0:i.data)&&(c.current=(n=e.recordRequest)==null?void 0:n.data),d!==m.current&&(m.current=d),l.current=e.recordRequest,(0,import_jsx_runtime.jsx)(BlockRequestRefContext.Provider,{value:l,children:(0,import_jsx_runtime.jsx)(BlockRequestLoadingContext.Provider,{value:(a=e.recordRequest)==null?void 0:a.loading,children:(0,import_jsx_runtime.jsx)(BlockRequestDataContext.Provider,{value:c.current,children:e.children})})})},BlockRequestProvider=import_react2.default.memo(({children:e})=>{var t,o;const r=useDataBlockProps(),{action:i,filterByTk:n,sourceId:a,params:l=EMPTY_OBJECT,association:c,collection:u,record:m,parentRecord:d,requestOptions:p,requestService:h}=r,g=(0,import_react2.useMemo)(()=>P(x({},l),{filterByTk:n||l.filterByTk}),[n,l]),_=useRecordRequest({action:i,sourceId:a,record:m,association:c,collection:u,requestOptions:p,requestService:h,params:g,parentRecord:d}),f=(t=_.data)==null?void 0:t.parentRecord,v=(0,import_react2.useMemo)(()=>f&&new CollectionRecord({isNew:!1,data:f instanceof CollectionRecord?f.data:f}),[f]);return(0,import_jsx_runtime.jsx)(BlockRequestContextProvider,{recordRequest:_,children:i!=="list"?(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:i==null,record:((o=_.data)==null?void 0:o.data)||m,parentRecord:v||d,children:e}):(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:!1,record:null,parentRecord:v||d,children:e})})});BlockRequestProvider.displayName="DataBlockRequestProvider";const useDataBlockRequest=()=>{const e=(0,import_react2.useContext)(BlockRequestRefContext),t=(0,import_react2.useContext)(BlockRequestLoadingContext),o=(0,import_react2.useContext)(BlockRequestDataContext);return(0,import_react2.useMemo)(()=>e?P(x({},e.current),{loading:t,data:o}):null,[e,o,t])},useDataBlockRequestGetter=()=>{const e=(0,import_react2.useContext)(BlockRequestRefContext);return(0,import_react2.useMemo)(()=>({getDataBlockRequest:()=>e?e.current:null}),[e])},useDataBlockRequestData=()=>(0,import_react2.useContext)(BlockRequestDataContext),FilterContext$1=(0,import_react2.createContext)(null);FilterContext$1.displayName="FilterContext";const FilterBlockProvider=import_react2.default.memo(({children:e})=>{const t=import_react2.default.useRef([]),o=(0,import_react2.useCallback)(n=>{typeof n=="function"?t.current=n(t.current):t.current=n},[]),r=(0,import_react2.useCallback)(()=>t.current,[]),i=(0,import_react2.useMemo)(()=>({getDataBlocks:r,setDataBlocks:o}),[r,o]);return(0,import_jsx_runtime.jsx)(FilterContext$1.Provider,{value:i,children:e})});FilterBlockProvider.displayName="FilterBlockProvider";const DataBlockCollector=({children:e,params:t})=>{const o=useCollection(),{recordDataBlocks:r}=useFilterBlock(),{getDataBlockRequest:i}=useDataBlockRequestGetter(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAssociatedFields(),c=(0,import_react2.useRef)(null),u=useDataLoadingMode(),m=n&&n.decoratorType!=="FilterFormBlockProvider"&&n.decoratorType!=="FormBlockProvider"&&n.decoratorProps.blockType!=="filter",d=(0,import_react2.useCallback)(()=>{const p=i();r({uid:a["x-uid"],title:n.componentProps.title,doFilter:p.runAsync,collection:o,associatedFields:l,foreignKeyFields:o==null?void 0:o.getFields("isForeignKey"),defaultFilter:(t==null?void 0:t.filter)||{},service:p,dom:c.current,dataLoadingMode:u,clearFilter(h){var g,_,f;const v=((g=this.service.params)==null?void 0:g[0])||{},C=((f=(_=this.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};delete C[h];const S=mergeFilter([...Object.values(C).map(b=>removeNullCondition(b)),(t==null?void 0:t.filter)||{}]);this.service.run(P(x({},v),{page:1,filter:S}),{filters:C})},clearData(){this.service.mutate(void 0)},clearSelection(){var h,g;n&&((g=(h=n.data)==null?void 0:h.clearSelectedRowKeys)==null||g.call(h))},highlightBlock(){var h;const g=c.current;if(!g)return;const _=g.querySelector(".ant-nb-schema-toolbar");_&&_.classList.remove("hidden"),g.style.boxShadow="0 3px 12px rgba(0, 0, 0, 0.15)",g.style.transition="box-shadow 0.3s ease, transform 0.2s ease",(h=g.scrollIntoView)==null||h.call(g,{behavior:"smooth",block:"start"})},unhighlightBlock(){const h=c.current;if(!h)return;const g=h.querySelector(".ant-nb-schema-toolbar");g&&g.classList.add("hidden"),h.style.boxShadow="none",h.style.transition="box-shadow 0.3s ease, transform 0.2s ease"}})},[l,o,u,a,t==null?void 0:t.filter,r,i,n]);return(0,import_react2.useEffect)(()=>{m&&d()},[d,m]),(0,import_jsx_runtime.jsx)("div",{ref:c,children:e})},useFilterBlock=()=>{const e=import_react2.default.useContext(FilterContext$1),t=useAllDataBlocks(),o=(0,import_react2.useCallback)(()=>(e==null?void 0:e.getDataBlocks())||[],[e]),r=(0,import_react2.useCallback)(n=>{t.recordDataBlocks(n);const a=e==null?void 0:e.getDataBlocks().find(l=>l.uid===n.uid);if(a){Object.assign(a,n);return}e==null||e.setDataBlocks(l=>[...l,n])},[e]),i=(0,import_react2.useCallback)(n=>{t.removeDataBlock(n),!(e!=null&&e.getDataBlocks().every(a=>a.uid!==n))&&(e==null||e.setDataBlocks(a=>a.filter(l=>l.uid!==n)))},[e]);return e?{recordDataBlocks:r,getDataBlocks:o,removeDataBlock:i,inProvider:!0}:{inProvider:!1,recordDataBlocks:import_lodash.default.noop,getDataBlocks:o,removeDataBlock:import_lodash.default.noop}},MarkdownVoidDesigner=()=>{const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{children:[(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:t("Edit markdown"),onClick:()=>{e.editable=!0}}),(0,import_jsx_runtime.jsx)(SchemaSettingsRenderEngine,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsBlockHeightItem,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};class QRCodeWebComponent extends HTMLElement{constructor(){super(),A(this,"root"),this.attachShadow({mode:"open"}),this.root=null}getProps(t,o={}){return[...t].filter(r=>r.name!=="style").map(r=>this.convert(o,r.name,r.value)).reduce((r,i)=>P(x({},r),{[i.name]:i.value}),{})}convert(t,o,r){const i=Object.keys(t).find(a=>a.toLowerCase()==o);let n=r;return r==="true"||r==="false"?n=r=="true":!isNaN(r)&&r!==""?n=+r:/^{.*}/.exec(r)&&(n=JSON.parse(r)),{name:i||o,value:n}}connectedCallback(){const t=x({},this.getProps(this.attributes));this.root=(0,import_client2.createRoot)(this.shadowRoot),this.root.render((0,import_jsx_runtime.jsx)(import_antd.QRCode,x({},t)))}disconnectedCallback(){this.root.unmount()}}function registerQrcodeWebComponent(){customElements.get("qr-code")||customElements.define("qr-code",QRCodeWebComponent)}const useStyles$a=genStyleHook("nb-markdown",(e,{isDarkTheme:t})=>{const{componentCls:o}=e,r=new import_tinycolor.TinyColor(e.colorFillAlter).onBackground(e.colorBgContainer).toHexShortString(),i={lineHeight:"inherit","&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:e.colorFillQuaternary,border:`1px solid ${e.colorBorder}`,borderRadius:e.borderRadiusSM},blockquote:{borderLeft:"4px solid #ccc",paddingLeft:"20px",marginLeft:"0",color:"#666",fontStyle:"italic"},img:{maxWidth:"100%"},".hljs":{background:"#f8f8f8",color:"#444"},".hljs-comment":{color:"#697070"},".hljs-punctuation,.hljs-tag":{color:"#444a"},".hljs-tag .hljs-attr,.hljs-tag .hljs-name":{color:"#444"},".hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag":{fontWeight:700},".hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type":{color:"#800"},".hljs-section,.hljs-title":{color:"#800",fontWeight:700},".hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable":{color:"#ab5656"},".hljs-literal":{color:"#695"},".hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code":{color:"#397300"},".hljs-meta":{color:"#1f7199"},".hljs-meta .hljs-string":{color:"#38a"},".hljs-emphasis":{fontStyle:"italic"},".hljs-strong":{fontWeight:700}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${e.colorBorderSecondary}`,padding:`${e.paddingContentVertical}px ${e.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:r,fontWeight:"bold",color:e.colorText},"tr:hover":{backgroundColor:e.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}},n={"&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:e.colorFillQuaternary,border:`1px solid ${e.colorBorder}`,borderRadius:e.borderRadiusSM},".hljs":{color:"#adbac7",background:"#22272e"},".hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_":{color:"#f47067"},".hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_":{color:"#dcbdfb"},".hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable":{color:"#6cb6ff"},".hljs-meta .hljs-string,.hljs-regexp,.hljs-string":{color:"#96d0ff"},".hljs-built_in,.hljs-symbol":{color:"#f69d50"},".hljs-code,.hljs-comment,.hljs-formula":{color:"#768390"},".hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag":{color:"#8ddb8c"},".hljs-subst":{color:"#adbac7"},".hljs-section":{color:"#316dca",fontWeight:700},".hljs-bullet":{color:"#eac55f"},".hljs-emphasis":{color:"#adbac7",fontStyle:"italic"},".hljs-strong":{color:"#adbac7",fontWeight:700},".hljs-addition":{color:"#b4f1b4",backgroundColor:"#1b4721"},".hljs-deletion":{color:"#ffd8d3",backgroundColor:"#78191b"}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${e.colorBorderSecondary}`,padding:`${e.paddingContentVertical}px ${e.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:r,fontWeight:"bold",color:e.colorText},"tr:hover":{backgroundColor:e.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return{[o]:x({lineHeight:e.lineHeight,"& > *:last-child":{marginBottom:"0"},".ant-description-textarea, .ant-description-input":{lineHeight:e.lineHeight},".field-interface-datetime":{minWidth:"100px"}},t?n:i)}}),parseMarkdown=import_lodash.default.memoize(e=>z(void 0,null,function*(){return e&&(yield Promise.resolve().then(()=>require("./md-oH2RssNY-IQIU5F3r.js"))).default.render(e)}));function useParseMarkdown(e){const[t,o]=(0,import_react2.useState)(""),[r,i]=(0,import_react2.useState)(!0);return(0,import_react2.useEffect)(()=>{i(!0),parseMarkdown(e).then(n=>{o(n),i(!1)}).catch(n=>console.log(n))},[e]),{html:t,loading:r}}function convertToText(e){const t=e;let o=document.createElement("div");o.innerHTML=t;const r=o.innerText;return o=null,(r==null?void 0:r.replace(/[\n\r]/g,""))||""}const MarkdownEditor=e=>{const{scope:t}=e,{t:o,i18n:r}=(0,import_react_i18next.useTranslation)(),[i,n]=(0,import_react2.useState)(e.defaultValue),a=(0,import_react2.useRef)(null),[l,c]=(0,import_react2.useState)([]),[u,m]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{c(t)},[t]),(0,import_react2.useEffect)(()=>{var p,h;const g=(h=(p=a==null?void 0:a.current)==null?void 0:p.resizableTextArea)==null?void 0:h.textArea;u&&g&&g.setSelectionRange(u,u)},[u]);const d=(0,import_react2.useCallback)(function(p){var h;const g=p.filter(y=>!!y.trim()),{current:_}=a,f=(h=_==null?void 0:_.resizableTextArea)==null?void 0:h.textArea;if(!f||!g)return;_.focus();const v=`{{${p.join(".")}}}`,C=f.selectionStart||0,S=i.substring(0,C)+v+i.substring(C,i.length),b=C+v.length;n(S),m(b)},[i]);return(0,import_jsx_runtime.jsxs)("div",{className:"mb-markdown",style:{position:"relative",paddingTop:"20px"},children:[(0,import_jsx_runtime.jsx)(import_antd.Input.TextArea,P(x({ref:a,autoSize:{minRows:3}},e),{value:i,onChange:p=>{n(p.target.value)},style:{paddingBottom:"40px"}})),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsxs)("span",{style:{marginLeft:".25em"},className:"ant-formily-item-extra",children:[o("Syntax references"),":"]}),(0,import_jsx_runtime.jsx)("a",{href:`https://${r.language==="zh-CN"?"docs-cn":"docs"}.nocobase.com/handbook/template-handlebars`,target:"_blank",rel:"noreferrer",children:"Handlebars.js"})]}),(0,import_jsx_runtime.jsx)("div",{style:{position:"absolute",top:21,right:1},children:(0,import_jsx_runtime.jsx)(VariableSelect,{options:l,setOptions:c,onInsert:d})}),(0,import_jsx_runtime.jsxs)(import_antd.Space,{style:{position:"absolute",bottom:30,right:5},children:[(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:p=>{var h;(h=e.onCancel)==null||h.call(e,p)},children:o("Cancel")}),(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",onClick:()=>{var p;(p=e.onSubmit)==null||p.call(e,i)},children:o("Save")})]})]})},useMarkdownHeight=()=>{const{token:e}=import_antd.theme.useToken(),t=useBlockHeight();if(t)return t-2*e.paddingLG};function extractNFormPaths(e){const t=/\{\{\$nForm\.([\w.]+)\}\}/g;return[...e.matchAll(t)].map(o=>o[1])}function getValuesByPaths(e,t){const o={};for(const r of t){const i=r.split(".");let n=e;for(const a of i)if(n&&typeof n=="object"&&a in n)n=n[a];else{n=void 0;break}o[r]=n}return o}const MarkdownVoidInner=withDynamicSchemaProps((0,import_react.observer)(e=>{const{isDarkTheme:t}=useGlobalTheme(),{componentCls:o,hashId:r}=useStyles$a({isDarkTheme:t}),{content:i,className:n}=e,a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{dn:c}=useDesignable(),{onSave:u,onCancel:m,form:d}=e,p=useCollectionRecord(),[h,g]=(0,import_react2.useState)(""),_=useVariables$1(),f=useLocalVariables$1(),{engine:v}=(l==null?void 0:l["x-decorator-props"])||{},[C,S]=(0,import_react2.useState)(!1),{t:b,i18n:y}=(0,import_react_i18next.useTranslation)(),F=(0,import_react.useForm)(),j=extractNFormPaths(i),[k,T]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{if(j.length>0){const L=(0,import_shared.uid)();return setTimeout(()=>{F.addEffects(L,()=>(0,import_reactive.reaction)(()=>{const D=getValuesByPaths(F.values,j);return JSON.stringify(D)},()=>{T((0,import_shared.uid)())},{fireImmediately:!0,equals:import_lodash.isEqual}))}),()=>{F.removeEffects(L)}}},[]),(0,import_react2.useEffect)(()=>{S(!0),z(void 0,null,function*(){setTimeout(()=>z(void 0,null,function*(){const L=yield getRenderContent(v,i,_,f,parseMarkdown,b);g(L)})),S(!1)})},[i,_,f,v,k]);const M=useMarkdownHeight(),w=useVariableOptions({collectionField:{uiSchema:l},form:d,record:p,uiSchema:l,noDisabled:!0});return(0,import_react2.useEffect)(()=>{registerQrcodeWebComponent()},[]),C?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):a!=null&&a.editable?(0,import_jsx_runtime.jsx)(MarkdownEditor,P(x({scope:w},e),{className:!0,defaultValue:i,onCancel:()=>{a.editable=!1,m==null||m()},onSubmit:L=>z(void 0,null,function*(){a.editable=!1,l["x-component-props"]!=null||(l["x-component-props"]={}),l["x-component-props"].content=L,a.componentProps.content=L,u==null||u(l),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":{content:L}}})})})):(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)([o,r,"nb-markdown nb-markdown-default nb-markdown-table",n]),style:P(x({},e.style),{height:M||"100%",overflowY:M?"auto":"null"}),dangerouslySetInnerHTML:{__html:h}})}),{displayName:"MarkdownVoid"}),MarkdownVoid=e=>{const t=useFlag(),o=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:o==null?void 0:o["x-uid"],type:"markdownBlock",children:(0,import_jsx_runtime.jsx)(FlagProvider,P(x({},t),{collectionField:!0,children:(0,import_jsx_runtime.jsx)(MarkdownVoidInner,x({},e))}))})};MarkdownVoid.Designer=MarkdownVoidDesigner;const Markdown=(0,import_react.connect)(import_antd.Input.TextArea,(0,import_react.mapProps)((e,t)=>P(x({autoSize:{maxRows:10,minRows:3}},e),{suffix:(0,import_jsx_runtime.jsx)("span",{children:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffix})})),(0,import_react.mapReadPretty)(e=>(0,import_jsx_runtime.jsx)(MarkdownReadPretty,x({},e)))),MarkdownReadPretty=e=>{const{isDarkTheme:t}=useGlobalTheme(),{wrapSSR:o,hashId:r,componentCls:i}=useStyles$a({isDarkTheme:t}),{html:n="",loading:a}=useParseMarkdown(e.value),l=(0,import_react2.useMemo)(()=>convertToText(n),[n]);if(a)return o((0,import_jsx_runtime.jsx)(import_antd.Spin,{}));const c=(0,import_jsx_runtime.jsx)("div",{className:`${r} ${i} nb-markdown nb-markdown-default nb-markdown-table`,dangerouslySetInnerHTML:{__html:n}});return o((0,import_jsx_runtime.jsx)(ReadPretty$c.TextArea,P(x({},e),{autop:!1,text:l,value:c})))};Markdown.Void=MarkdownVoid;const BlockItemCardContext=(0,import_react2.createContext)({}),BlockItemCard=import_react2.default.forwardRef((e,t)=>{var o=e,{children:r}=o,i=Y(o,["children"]);const{token:n}=useToken(),a=i,{title:l,description:c}=a,u=Y(a,["title","description"]),m=(0,import_react2.useMemo)(()=>({marginBottom:n.marginBlock,height:"100%"}),[n.marginBlock]),[d,p]=(0,import_react2.useState)(0),h=(0,import_react2.useRef)(null),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react.useFieldSchema)(),f=_==null?void 0:_["x-block-linkage-rules"];(0,import_react2.useEffect)(()=>{const S=setTimeout(()=>{if(h.current){const b=c?h.current.parentElement.parentElement.parentElement.offsetHeight:n.fontSizeLG*n.lineHeightLG+n.padding*2-1;p(b)}else d&&p(0)},500);return()=>clearTimeout(S)},[l,c]);const v=(l||c)&&(0,import_jsx_runtime.jsxs)("div",{ref:h,style:{padding:"8px 0px 8px"},children:[(0,import_jsx_runtime.jsxs)("span",{children:[" ",g(l,{ns:NAMESPACE_UI_SCHEMA})]}),c&&(0,import_jsx_runtime.jsx)(MarkdownReadPretty,{value:g(c,{ns:NAMESPACE_UI_SCHEMA}),style:{overflowWrap:"break-word",whiteSpace:"normal",fontWeight:400,color:n.colorTextDescription,borderRadius:"4px"}})]}),C=(0,import_jsx_runtime.jsx)(BlockItemCardContext.Provider,{value:{titleHeight:d},children:(0,import_jsx_runtime.jsx)(import_antd.Card,P(x({ref:t,variant:"borderless",style:m},u),{title:v,children:r}))});return f?(0,import_jsx_runtime.jsx)(BlockLinkageRuleProvider,{children:C}):C});BlockItemCard.displayName="BlockItemCard";const useBlockHeightProps=()=>{var e,t,o;const r=(0,import_react.useFieldSchema)(),i=getCardItemSchema(r),n=(e=useBlockTemplateContext())==null?void 0:e.fieldSchema,a=(0,import_react2.useMemo)(()=>getPageSchema(n||r),[]),{disablePageHeader:l,enablePageTabs:c,hidePageTitle:u}=(a==null?void 0:a["x-component-props"])||{},{titleHeight:m}=(0,import_react2.useContext)(BlockItemCardContext)||{},{allAccessRoutes:d}=useAllAccessDesktopRoutes(),p=useCurrentPageUid(),h=(0,import_react2.useMemo)(()=>findRouteBySchemaUid(p,d),[p,d]);return{heightProps:P(x({},i==null?void 0:i["x-component-props"]),{title:((t=i==null?void 0:i["x-component-props"])==null?void 0:t.title)||((o=i==null?void 0:i["x-component-props"])==null?void 0:o.description),disablePageHeader:l,enablePageTabs:(h==null?void 0:h.enableTabs)||c,hidePageTitle:u,titleHeight:m})}},getPageSchema=e=>e?e["x-component"]==="Page"?e:getPageSchema(e.parent):null,getCardItemSchema=e=>e?["BlockItem","CardItem"].includes(e["x-component"])?e:getCardItemSchema(e.parent):null,useDataBlockParentRecord=({association:e})=>{var t;const o=useCollectionRecordData(),r=useCollectionParentRecordData(),i=useCollectionManager(),n=useCollection();if(!e)return;const a=i.getCollection(e.split(".")[0]);return n.name===a.name||(t=n.getParentCollectionsName)!=null&&t.call(n).includes(a.name)?o:r},usePickActionProps$1=()=>{const e=(0,import_react.useForm)();return{onClick(){console.log("usePickActionProps",e.values)}}};function renderTemplate(e,t){const o=/\{\{\s*((\w+\.?)+)\s*\}\}/g;return e.replace(o,function(r,i){return(0,import_get.default)(t,i)||""})}function getFilteredFormValues(e){const t=import_lodash.default.cloneDeep(e.values),o=[];return e.query("*").forEach(r=>{r&&o.push(r)}),import_lodash.default.uniq(o.filter(r=>{var i,n;const a=((i=r.path)==null?void 0:i.segments)||[],l=a.length<=1?a.join("."):a.slice(0,-1).join(".");return((n=r==null?void 0:r.componentProps)==null?void 0:n.readOnlySubmit)&&!(0,import_get.default)(t,l)[r==null?void 0:r.componentProps.filterTargetKey]}).map(r=>{var i;const n=((i=r.path)==null?void 0:i.segments)||[];return n.length<=1?n.join("."):n.slice(0,-1).join(".")})).forEach((r,i)=>{(i!==0||r.includes("."))&&!t[r]&&import_lodash.default.unset(t,r)}),t}function getFormValues({filterByTk:e,field:t,form:o,fieldNames:r,getField:i,resource:n,actionFields:a}){if(e&&a){const l=Object.keys(o.values).filter(c=>{const u=i(c);return!a.includes(c)&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(u==null?void 0:u.type)});return(0,import_omit.default)(x({},o.values),l)}return getFilteredFormValues(o)}function useCollectValuesToSubmit(){const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r}=useBlockRequestContext(),{fields:i,getField:n,getTreeParentField:a,name:l}=useCollection_deprecated(),c=i.map(_=>_.name),{fieldSchema:u}=useActionContext(),{getActiveFieldsName:m}=useFormActiveFields()||{},d=useVariables$1(),p=useLocalVariables$1({currentForm:e}),h=(0,import_react.useFieldSchema)(),g=useTreeParentRecord();return(0,import_react2.useCallback)(()=>z(this,null,function*(){var _,f,v,C;const{assignedValues:S={},overwriteValues:b}=(_=h==null?void 0:h["x-action-settings"])!=null?_:{},y=getFormValues({filterByTk:t,field:o,form:e,fieldNames:c,getField:n,resource:r,actionFields:(m==null?void 0:m("form"))||[]}),F={},j=Object.keys(S).map(k=>z(this,null,function*(){const T=S[k],M=n(k);if(isVariable$1(T)){const{value:w}=(yield d==null?void 0:d.parseVariable(T,p))||{};F[k]=transformVariableValue(w,{targetCollectionField:M})}else T!==""&&(F[k]=T)}));if(yield Promise.all(j),(f=u==null?void 0:u["x-component-props"])==null?void 0:f.addChild){const k=a();y[(v=k==null?void 0:k.name)!=null?v:"parent"]=g,y[(C=k==null?void 0:k.foreignKey)!=null?C:"parentId"]=g==null?void 0:g.id}return x(x(x({},y),b),F)}),[h,o,c,u,t,e,m,n,a,p,l,r,g,d])}const useCreateActionProps=()=>{var e;const t=useFilterByTk(),o=useCollectionRecord(),r=(0,import_react.useForm)(),{field:i,resource:n}=useBlockRequestContext(),{setVisible:a,setSubmitted:l,setFormValueChanged:c}=useActionContext(),u=useNavigateNoUpdate(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),p=useCompile(),{modal:h}=import_antd.App.useApp(),{t:g}=(0,import_react_i18next.useTranslation)(),{updateAssociationValues:_}=useFormBlockContext(),f=useCollectValuesToSubmit(),v=o.isNew?d.componentProps.saveMode||"create":"update",C=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[],S=useLocalVariables$1(),b=useVariables$1();return{onClick(){return z(this,null,function*(){var y,F;const{onSuccess:j,skipValidator:k,triggerWorkflows:T}=(y=m==null?void 0:m["x-action-settings"])!=null?y:{},{manualClose:M,redirecting:w,redirectTo:L,successMessage:D,actionAfterSuccess:R}=j||{};k||(yield r.submit());const N=yield f();d.data=i.data||{},d.data.loading=!0;try{const B=yield n[v]({values:N,filterKeys:C,filterByTk:t,triggerWorkflows:T!=null&&T.length?T.map($=>[$.workflowKey,$.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});let I=L;if(L&&(I=yield getVariableValue(L,{variables:b,localVariables:[...S,{name:"$record",ctx:new Proxy((F=B==null?void 0:B.data)==null?void 0:F.data,{})}]})),(R==="previous"||!R&&w!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=B,!D){import_antd.message.success(g("Saved successfully")),yield resetFormCorrectly(r),(w&&!R||R==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I));return}M?h.success({title:p(D),onOk:()=>z(this,null,function*(){yield resetFormCorrectly(r),(w&&!R||R==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I))})}):(import_antd.message.success(p(D)),yield resetFormCorrectly(r),(w&&!R||R==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I)))}catch{d.data.loading=!1}})}}},useAssociationCreateActionProps=()=>{var e;const t=(0,import_react.useForm)(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,fieldSchema:a,setSubmitted:l}=useActionContext(),c=(0,import_react.useFieldSchema)(),u=(0,import_react.useField)(),{fields:m,getField:d,getTreeParentField:p,name:h}=useCollection_deprecated(),g=useCompile(),_=useFilterByTk(),f=useRecord(),v=useVariables$1(),C=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},b=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return z(this,null,function*(){var F,j,k,T,M,w;const L=m.map(q=>q.name),{assignedValues:D={},onSuccess:R,overwriteValues:N,skipValidator:B,triggerWorkflows:I}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},$=(j=a==null?void 0:a["x-component-props"])==null?void 0:j.addChild,{successMessage:E}=R||{},O={},V=Object.keys(D).map(q=>z(this,null,function*(){const G=D[q],W=d(q);if(isVariable$1(G)){const{value:H}=(yield v==null?void 0:v.parseVariable(G,C))||{};O[q]=transformVariableValue(H,{targetCollectionField:W})}else G!==""&&(O[q]=G)}));yield Promise.all(V),B||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:L,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if($){const q=p();U[(k=q==null?void 0:q.name)!=null?k:"parent"]=f,U[(T=q==null?void 0:q.foreignKey)!=null?T:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const q=yield r[b]({values:x(x(x({},U),N),O),filterKeys:y,triggerWorkflows:I!=null&&I.length?I.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0});if(u.data.loading=!1,u.data.data=q,(w=(M=i==null?void 0:i.service)==null?void 0:M.refresh)==null||w.call(M),n==null||n(!1),l==null||l(!0),!E)return;import_antd.message.success(g(E))}catch{u.data.data=null,u.data.loading=!1}})}}},findFilterTargets=e=>{for(;e;){if(e["x-filter-targets"])return{targets:e["x-filter-targets"],uid:e["x-uid"]};e=e.parent}return{}},updateFilterTargets=(e,t)=>{for(;e;){if(e["x-filter-targets"]){e["x-filter-targets"]=t;return}e=e.parent}},useDoFilter=()=>{const e=(0,import_react.useForm)(),{getDataBlocks:t}=useFilterBlock(),o=useCollectionManager(),{getOperators:r}=useOperators(),i=(0,import_react.useFieldSchema)(),{name:n}=useCollection(),{targets:a=[],uid:l}=(0,import_react2.useMemo)(()=>findFilterTargets(i),[i]),c=(0,import_react2.useCallback)(()=>removeNullCondition(transformToFilter(e.values,r(),o.getCollectionField.bind(o),n)),[e.values,o,r,n]),u=(0,import_react2.useCallback)((...m)=>z(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>z(void 0,null,function*(){var h,g,_,f;if(!a.find(b=>b.uid===p.uid))return;const v=((h=p.service.params)==null?void 0:h[0])||{},C=((_=(g=p.service.params)==null?void 0:g[1])==null?void 0:_.filters)||{};C[l]=c();const S=mergeFilter([...Object.values(C).map(b=>removeNullCondition(b)),p.defaultFilter]);if(import_lodash.default.isEmpty(C[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(C[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(C[l])?p.clearData():(import_lodash.default.set(p.service.params,"1.filters",C),p.doFilter(P(x({},v),{page:1,filter:S}),{filters:C}))})))}catch(p){console.error(p)}}),[t,c,a,l]);return(0,import_react2.useEffect)(()=>{setTimeout(()=>{u({doNothingWhenFilterIsEmpty:!0})},500)},[u]),{doFilter:u,getFilterFromCurrentForm:c}},useFilterBlockActionProps=()=>{const{doFilter:e}=useDoFilter(),t=(0,import_react.useField)();return t.data=t.data||{},{onClick(){return z(this,null,function*(){t.data.loading=!0,yield e(),t.data.loading=!1})}}},useDoReset=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getDataBlocks:o}=useFilterBlock(),{targets:r,uid:i}=findFilterTargets(t),{doFilter:n,getFilterFromCurrentForm:a}=useDoFilter();return{doReset:()=>z(void 0,null,function*(){var l;if(yield e.reset(void 0,{forceClear:!!((l=t==null?void 0:t["x-component-props"])!=null&&l.clearDefaultValue)}),import_lodash.default.isEmpty(a()))return doReset({getDataBlocks:o,targets:r,uid:i});yield n()})}},useResetBlockActionProps=()=>{const e=(0,import_react.useField)(),{doReset:t}=useDoReset();return e.data=e.data||{},{onClick(){return z(this,null,function*(){e.data.loading=!0,yield t(),e.data.loading=!1})}}},useCustomizeUpdateActionProps=()=>{const{resource:e,__parent:t,service:o}=useBlockRequestContext(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useNavigateNoUpdate(),a=useCompile(),l=(0,import_react.useForm)(),{modal:c}=import_antd.App.useApp(),u=useVariables$1(),m=useLocalVariables$1({currentForm:l}),{name:d,getField:p}=useCollection_deprecated(),{setVisible:h}=useActionContext();return{onClick(g,_){return z(this,null,function*(){var f,v,C,S;const{assignedValues:b={},onSuccess:y,skipValidator:F,triggerWorkflows:j}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:k,redirecting:T,redirectTo:M,successMessage:w,actionAfterSuccess:L}=y||{},D={},R=Object.keys(b).map(I=>z(this,null,function*(){const $=b[I],E=p(I);if(isVariable$1($)){const{value:O}=(yield u==null?void 0:u.parseVariable($,m))||{};D[I]=transformVariableValue(O,{targetCollectionField:E})}else $!==""&&(D[I]=$)}));yield Promise.all(R),F===!1&&(yield l.submit());const N=yield e.update({filterByTk:r,values:x({},D),triggerWorkflows:j!=null&&j.length?j.map(I=>[I.workflowKey,I.context].filter(Boolean).join("!")).join(","):void 0});let B=M;M&&(B=yield getVariableValue(M,{variables:u,localVariables:[...m,{name:"$record",ctx:new Proxy((v=N==null?void 0:N.data)==null?void 0:v.data,{})}]})),(L==="previous"||!L&&T!==!0)&&(h==null||h(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(S=(C=t==null?void 0:t.service)==null?void 0:C.refresh)==null||S.call(C),w&&(k?c.success({title:a(w),onOk:()=>z(this,null,function*(){(T&&!L||L==="redirect")&&B&&((0,import_client.isURL)(B)?window.location.href=B:n(B))})}):(import_antd.message.success(a(w)),(T&&!L||L==="redirect")&&B&&((0,import_client.isURL)(B)?window.location.href=B:n(B))))})}}},useCustomizeBulkUpdateActionProps=()=>{var e,t,o,r;const{field:i,resource:n,__parent:a,service:l}=useBlockRequestContext(),c=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),u=(0,import_react.useFieldSchema)(),m=useTableBlockContext(),{rowKey:d}=m,p=(r=(o=(t=(e=m.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys)!=null?o:c==null?void 0:c.selectedRecordKeys)!=null?r:{},h=useNavigateNoUpdate(),g=useCompile(),{t:_}=(0,import_react_i18next.useTranslation)(),f=(0,import_react.useField)(),{modal:v}=import_antd.App.useApp(),C=useVariables$1();useRecord();const{name:S,getField:b}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return z(this,null,function*(){var j;const{assignedValues:k={},onSuccess:T,updateMode:M}=(j=u==null?void 0:u["x-action-settings"])!=null?j:{},{manualClose:w,redirecting:L,redirectTo:D,successMessage:R,actionAfterSuccess:N}=T||{};f.data=i.data||{},f.data.loading=!0;const B={},I=Object.keys(k).map($=>z(this,null,function*(){const E=k[$],O=b($);if(isVariable$1(E)){const{value:V}=(yield C==null?void 0:C.parseVariable(E,y))||{};B[$]=transformVariableValue(V,{targetCollectionField:O})}else E!==""&&(B[$]=E)}));yield Promise.all(I),(N==="previous"||!N&&L!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_(M==="selected"?"Update selected data?":"Update all data?"),onOk(){return z(this,null,function*(){var $,E,O,V;const{filter:U}=(E=($=l.params)==null?void 0:$[0])!=null?E:{},q={values:x({},B),filter:U,forceUpdate:!1};if(M==="selected"){if(!(p!=null&&p.length)){import_antd.message.error(_("Please select the records to be updated")),f.data.loading=!1;return}q.filter={$and:[{[d||"id"]:{$in:p}}]}}q.filter||(q.forceUpdate=!0);try{yield n.update(q)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(V=(O=a==null?void 0:a.service)==null?void 0:O.refresh)==null||V.call(O),R&&(w?v.success({title:g(R),onOk:()=>z(this,null,function*(){(L&&!N||N==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:h(D))})}):(import_antd.message.success(g(R)),(L&&!N||N==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:h(D))))})},onCancel(){return z(this,null,function*(){f.data.loading=!1})}})})}}},useCustomizeRequestActionProps=()=>{var e;const t=useAPIClient(),o=useNavigateNoUpdate(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useCompile(),a=(0,import_react.useForm)(),{fields:l,getField:c}=useCollection_deprecated(),{field:u,resource:m,__parent:d,service:p}=useBlockRequestContext(),h=useRecord(),g=useCurrentUserContext(),_=(e=g==null?void 0:g.data)==null?void 0:e.data,f=(0,import_react.useField)(),{t:v}=(0,import_react_i18next.useTranslation)(),{setVisible:C}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:b}=useFormActiveFields()||{};return{onClick(){return z(this,null,function*(){var y,F,j,k;const{skipValidator:T,onSuccess:M,requestSettings:w}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:L,redirecting:D,redirectTo:R,successMessage:N,actionAfterSuccess:B}=M||{},I=i==null?void 0:i["x-action"];if(!w.url)return;T!==!0&&I==="customize:form:request"&&(yield a.submit());const $=w.headers?JSON.parse(w.headers):{},E=w.params?JSON.parse(w.params):{},O=w.data?JSON.parse(w.data):{};if(I==="customize:form:request"&&["POST","PUT","PATCH"].includes(w.method)){const U=l.map(G=>G.name),q=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(b==null?void 0:b("form"))||[]});Object.assign(O,q)}const V={url:renderTemplate(w.url,{currentRecord:h,currentUser:_}),method:w.method,headers:(0,import_client.parse)($)({currentRecord:h,currentUser:_}),params:(0,import_client.parse)(E)({currentRecord:h,currentUser:_}),data:(0,import_client.parse)(O)({currentRecord:h,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},V)),f.data.loading=!1,m instanceof TableFieldResource||(j=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||j.call(F),(k=p==null?void 0:p.refresh)==null||k.call(p),I==="customize:form:request"&&(B==="previous"||!B&&D!==!0)&&(C==null||C(!1)),N||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(D&&!B||B==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:o(R))),L?S.success({title:n(N),onOk:()=>z(this,null,function*(){(D&&!B||B==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:o(R))})}):import_antd.message.success(n(N))}finally{f.data.loading=!1}})}}},useUpdateActionProps=()=>{const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setFormValueChanged:a}=useActionContext(),l=(0,import_react.useFieldSchema)(),c=useNavigateNoUpdate(),{fields:u,getField:m,name:d}=useCollection_deprecated(),p=useCompile(),h=(0,import_react.useField)(),{updateAssociationValues:g}=useFormBlockContext(),{modal:_}=import_antd.App.useApp(),f=useParamsFromRecord(),v=useVariables$1(),C=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(b,y){return z(this,null,function*(){var F,j;const{assignedValues:k={},onSuccess:T,overwriteValues:M,skipValidator:w,triggerWorkflows:L}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:D,redirecting:R,redirectTo:N,successMessage:B,actionAfterSuccess:I}=T||{},$={},E=Object.keys(k).map(U=>z(this,null,function*(){const q=k[U],G=m(U);if(isVariable$1(q)){const{value:W}=(yield v==null?void 0:v.parseVariable(q,C))||{};$[U]=transformVariableValue(W,{targetCollectionField:G})}else q!==""&&($[U]=q)}));yield Promise.all(E),w||(yield e.submit());const O=u.map(U=>U.name),V=getFormValues({filterByTk:t,field:o,form:e,fieldNames:O,getField:m,resource:r,actionFields:(S==null?void 0:S("form"))||[]});h.data=o.data||{},h.data.loading=!0;try{const U=yield r.update(P(x({filterByTk:t,values:x(x(x({},V),M),$)},f),{updateAssociationValues:g,triggerWorkflows:L!=null&&L.length?L.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0}));h.data.loading=!1,y&&(y==null||y());let q=N;if(N&&(q=yield getVariableValue(N,{variables:v,localVariables:[...C,{name:"$record",ctx:new Proxy((j=U==null?void 0:U.data)==null?void 0:j.data,{})}]})),(I==="previous"||!I&&R!==!0)&&(n==null||n(!1)),a==null||a(!1),!B)return;D?_.success({title:p(B),onOk:()=>z(this,null,function*(){yield e.reset(),(R&&!I||I==="redirect")&&q&&((0,import_client.isURL)(q)?window.location.href=q:c(q))})}):(import_antd.message.success(p(B)),(R&&!I||I==="redirect"||I==="redirect")&&q&&((0,import_client.isURL)(q)?window.location.href=q:c(q)))}catch{h.data.loading=!1}})}}},useDestroyActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a}=useActionContext(),l=useParamsFromRecord(),c=(0,import_react.useFieldSchema)();return{onClick(u,m){return z(this,null,function*(){var d,p,h,g,_,f,v;const{triggerWorkflows:C}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:C!=null&&C.length?C.map(F=>[F.workflowKey,F.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:S=0,page:b=0,pageSize:y=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};if(S%y===1&&b!==1){const F=(h=o.params[0])==null?void 0:h.page,j=(_=(g=o.data)==null?void 0:g.meta)==null?void 0:_.totalPage;F===j&&o.params[0]&&F!==1&&(o.params[0].page=F-1)}m&&(m==null||m()),a==null||a(!0),r&&r!=="TableField"&&((v=(f=i==null?void 0:i.service)==null?void 0:f.refresh)==null||v.call(f),n==null||n(!1),a==null||a(!0))})}}},useRemoveActionProps=e=>{const t=useFilterByTk(),o=useAPIClient().resource(e,t);return{onClick(r){return z(this,null,function*(){yield o.remove({values:[r.id]})})}}},useDisassociateActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a,setFormValueChanged:l}=useActionContext();return{onClick(c,u){return z(this,null,function*(){var m,d,p,h;yield t.remove({values:[e]});const{count:g=0,page:_=0,pageSize:f=0}=((m=o==null?void 0:o.data)==null?void 0:m.meta)||{};g%f===1&&_!==1?o.run(P(x({},(d=o==null?void 0:o.params)==null?void 0:d[0]),{page:_-1})):u&&(u==null||u()),a==null||a(!0),r&&r!=="TableField"&&((h=(p=i==null?void 0:i.service)==null?void 0:p.refresh)==null||h.call(p),n==null||n(!1),l==null||l(!1))})}}},useBulkDestroyActionProps=()=>{const{field:e}=useBlockRequestContext(),{resource:t,service:o}=useBlockRequestContext(),{setSubmitted:r}=useActionContext(),i=useCollection_deprecated(),{filterTargetKey:n}=i;return{onClick(a,l){return z(this,null,function*(){var c,u,m,d,p,h,g;let _=(c=e.data)==null?void 0:c.selectedRowKeys;if(Array.isArray(n)&&(_=e.data.selectedRowData.map(C=>{const S={};return n.map(b=>{S[b]=C[b]}),S})),!((m=(u=e==null?void 0:e.data)==null?void 0:u.selectedRowKeys)!=null&&m.length))return;yield t.destroy({filterByTk:_}),e.data.selectedRowKeys=[];const f=(d=o.params[0])==null?void 0:d.page,v=(h=(p=o.data)==null?void 0:p.meta)==null?void 0:h.totalPage;f===v&&o.params[0]&&f!==1&&(o.params[0].page=f-1),l&&(l==null||l()),r==null||r(!0),(g=o==null?void 0:o.refresh)==null||g.call(o)})}}},useRefreshActionProps=()=>{const{service:e}=useBlockRequestContext();return{onClick(){return z(this,null,function*(){var t;(t=e==null?void 0:e.refresh)==null||t.call(e)})}}},useDetailsPaginationProps=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,h,g;const _=useDetailsBlockContext(),f=((o=(t=(e=_.service)==null?void 0:e.data)==null?void 0:t.meta)==null?void 0:o.count)||0,v=(n=(i=(r=_.service)==null?void 0:r.data)==null?void 0:i.meta)==null?void 0:n.page;return!f&&v?{simple:!0,current:((c=(l=(a=_.service)==null?void 0:a.data)==null?void 0:l.meta)==null?void 0:c.page)||1,pageSize:1,showSizeChanger:!1,align:"center",onChange(C){return z(this,null,function*(){var S,b;const y=(b=(S=_.service)==null?void 0:S.params)==null?void 0:b[0];_.service.run(P(x({},y),{page:C}))})},style:{marginTop:24,textAlign:"center"},showTotal:!1,showTitle:!1,total:(d=(m=(u=_.service)==null?void 0:u.data)==null?void 0:m.data)!=null&&d.length?1*v+1:1*v,className:import_css.css`
631
+ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModules=r,o&&(i.originalError=o),i}if(typeof define<"u")return;if(typeof requirejs<"u"){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}typeof require<"u"&&!isFunction(require)&&(cfg=require,require=void 0);function newContext(e){var t,o,r,i,n,a={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},l={},c={},u={},m=[],d={},p={},h={},g=1,_=1;function f(I){var $,E;for($=0;$<I.length;$++)if(E=I[$],E===".")I.splice($,1),$-=1;else if(E===".."){if($===0||$===1&&I[2]===".."||I[$-1]==="..")continue;$>0&&(I.splice($-1,2),$-=2)}}function v(I,$,E){var O,V,U,q,G,W,H,K,J,Q,X,te,ee=$&&$.split("/"),re=a.map,ae=re&&re["*"];if(I&&(I=I.split("/"),H=I.length-1,a.nodeIdCompat&&jsSuffixRegExp.test(I[H])&&(I[H]=I[H].replace(jsSuffixRegExp,"")),I[0].charAt(0)==="."&&ee&&(te=ee.slice(0,ee.length-1),I=te.concat(I)),f(I),I=I.join("/")),E&&re&&(ee||ae)){U=I.split("/");e:for(q=U.length;q>0;q-=1){if(W=U.slice(0,q).join("/"),ee){for(G=ee.length;G>0;G-=1)if(V=getOwn(re,ee.slice(0,G).join("/")),V&&(V=getOwn(V,W),V)){K=V,J=q;break e}}!Q&&ae&&getOwn(ae,W)&&(Q=getOwn(ae,W),X=q)}!K&&Q&&(K=Q,J=X),K&&(U.splice(0,J,K),I=U.join("/"))}return O=getOwn(a.pkgs,I),O||I}function C(I){isBrowser&&each(scripts(),function($){if($.getAttribute("data-requiremodule")===I&&$.getAttribute("data-requirecontext")===r.contextName)return $.parentNode.removeChild($),!0})}function S(I){var $=getOwn(a.paths,I);if($&&isArray($)&&$.length>1)return $.shift(),r.require.undef(I),r.makeRequire(null,{skipMap:!0})([I]),!0}function b(I){var $,E=I?I.indexOf("!"):-1;return E>-1&&($=I.substring(0,E),I=I.substring(E+1,I.length)),[$,I]}function y(I,$,E,O){var V,U,q,G,W=null,H=$?$.name:null,K=I,J=!0,Q="";return I||(J=!1,I="_@r"+(g+=1)),G=b(I),W=G[0],I=G[1],W&&(W=v(W,H,O),U=getOwn(d,W)),I&&(W?E?Q=I:U&&U.normalize?Q=U.normalize(I,function(X){return v(X,H,O)}):Q=I.indexOf("!")===-1?v(I,H,O):I:(Q=v(I,H,O),G=b(Q),W=G[0],Q=G[1],E=!0,V=r.nameToUrl(Q))),q=W&&!U&&!E?"_unnormalized"+(_+=1):"",{prefix:W,name:Q,parentMap:$,unnormalized:!!q,url:V,originalName:K,isDefine:J,id:(W?W+"!"+Q:Q)+q}}function F(I){var $=I.id,E=getOwn(l,$);return E||(E=l[$]=new r.Module(I)),E}function j(I,$,E){var O=I.id,V=getOwn(l,O);hasProp(d,O)&&(!V||V.defineEmitComplete)?$==="defined"&&E(d[O]):(V=F(I),V.error&&$==="error"?E(V.error):V.on($,E))}function k(I,$){var E=I.requireModules,O=!1;$?$(I):(each(E,function(V){var U=getOwn(l,V);U&&(U.error=I,U.events.error&&(O=!0,U.emit("error",I)))}),O||req.onError(I))}function T(){globalDefQueue.length&&(each(globalDefQueue,function(I){var $=I[0];typeof $=="string"&&(r.defQueueMap[$]=!0),m.push(I)}),globalDefQueue=[])}i={require:function(I){return I.require?I.require:I.require=r.makeRequire(I.map)},exports:function(I){if(I.usingExports=!0,I.map.isDefine)return I.exports?d[I.map.id]=I.exports:I.exports=d[I.map.id]={}},module:function(I){return I.module?I.module:I.module={id:I.map.id,uri:I.map.url,config:function(){return getOwn(a.config,I.map.id)||{}},exports:I.exports||(I.exports={})}}};function M(I){delete l[I],delete c[I]}function w(I,$,E){var O=I.map.id;I.error?I.emit("error",I.error):($[O]=!0,each(I.depMaps,function(V,U){var q=V.id,G=getOwn(l,q);G&&!I.depMatched[U]&&!E[q]&&(getOwn($,q)?(I.defineDep(U,d[q]),I.check()):w(G,$,E))}),E[O]=!0)}function L(){var I,$,E=a.waitSeconds*1e3,O=E&&r.startTime+E<new Date().getTime(),V=[],U=[],q=!1,G=!0;if(!t){if(t=!0,eachProp(c,function(W){var H=W.map,K=H.id;if(W.enabled&&(H.isDefine||U.push(W),!W.error)){if(!W.inited&&O)S(K)?($=!0,q=!0):(V.push(K),C(K));else if(!W.inited&&W.fetched&&H.isDefine&&(q=!0,!H.prefix))return G=!1}}),O&&V.length)return I=makeError("timeout","Load timeout for modules: "+V,null,V),I.contextName=r.contextName,k(I);G&&each(U,function(W){w(W,{},{})}),(!O||$)&&q&&(isBrowser||isWebWorker)&&!n&&(n=setTimeout(function(){n=0,L()},50)),t=!1}}o=function(I){this.events=getOwn(u,I.id)||{},this.map=I,this.shim=getOwn(a.shim,I.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},o.prototype={init:function(I,$,E,O){O=O||{},!this.inited&&(this.factory=$,E?this.on("error",E):this.events.error&&(E=bind(this,function(V){this.emit("error",V)})),this.depMaps=I&&I.slice(0),this.errback=E,this.inited=!0,this.ignore=O.ignore,O.enabled||this.enabled?this.enable():this.check())},defineDep:function(I,$){this.depMatched[I]||(this.depMatched[I]=!0,this.depCount-=1,this.depExports[I]=$)},fetch:function(){if(!this.fetched){this.fetched=!0,r.startTime=new Date().getTime();var I=this.map;if(this.shim)r.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return I.prefix?this.callPlugin():this.load()}));else return I.prefix?this.callPlugin():this.load()}},load:function(){var I=this.map.url;p[I]||(p[I]=!0,r.load(this.map.id,I))},check:function(){if(!(!this.enabled||this.enabling)){var I,$,E=this.map.id,O=this.depExports,V=this.exports,U=this.factory;if(!this.inited)hasProp(r.defQueueMap,E)||this.fetch();else if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(U)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{V=r.execCb(E,U,O,V)}catch(G){I=G}else V=r.execCb(E,U,O,V);if(this.map.isDefine&&V===void 0&&($=this.module,$?V=$.exports:this.usingExports&&(V=this.exports)),I)return I.requireMap=this.map,I.requireModules=this.map.isDefine?[this.map.id]:null,I.requireType=this.map.isDefine?"define":"require",k(this.error=I)}else V=U;if(this.exports=V,this.map.isDefine&&!this.ignore&&(d[E]=V,req.onResourceLoad)){var q=[];each(this.depMaps,function(G){q.push(G.normalizedMap||G)}),req.onResourceLoad(r,this.map,q)}M(E),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var I=this.map,$=I.id,E=y(I.prefix);this.depMaps.push(E),j(E,"defined",bind(this,function(O){var V,U,q,G=getOwn(h,this.map.id),W=this.map.name,H=this.map.parentMap?this.map.parentMap.name:null,K=r.makeRequire(I.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){O.normalize&&(W=O.normalize(W,function(J){return v(J,H,!0)})||""),U=y(I.prefix+"!"+W,this.map.parentMap,!0),j(U,"defined",bind(this,function(J){this.map.normalizedMap=U,this.init([],function(){return J},null,{enabled:!0,ignore:!0})})),q=getOwn(l,U.id),q&&(this.depMaps.push(U),this.events.error&&q.on("error",bind(this,function(J){this.emit("error",J)})),q.enable());return}if(G){this.map.url=r.nameToUrl(G),this.load();return}V=bind(this,function(J){this.init([],function(){return J},null,{enabled:!0})}),V.error=bind(this,function(J){this.inited=!0,this.error=J,J.requireModules=[$],eachProp(l,function(Q){Q.map.id.indexOf($+"_unnormalized")===0&&M(Q.map.id)}),k(J)}),V.fromText=bind(this,function(J,Q){var X=I.name,te=y(X),ee=useInteractive;Q&&(J=Q),ee&&(useInteractive=!1),F(te),hasProp(a.config,$)&&(a.config[X]=a.config[$]);try{req.exec(J)}catch(re){return k(makeError("fromtexteval","fromText eval for "+$+" failed: "+re,re,[$]))}ee&&(useInteractive=!0),this.depMaps.push(te),r.completeLoad(X),K([X],V)}),O.load(I.name,K,V,a)})),r.enable(E,this),this.pluginMaps[E.id]=E},enable:function(){c[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(I,$){var E,O,V;if(typeof I=="string"){if(I=y(I,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[$]=I,V=getOwn(i,I.id),V){this.depExports[$]=V(this);return}this.depCount+=1,j(I,"defined",bind(this,function(U){this.undefed||(this.defineDep($,U),this.check())})),this.errback?j(I,"error",bind(this,this.errback)):this.events.error&&j(I,"error",bind(this,function(U){this.emit("error",U)}))}E=I.id,O=l[E],!hasProp(i,E)&&O&&!O.enabled&&r.enable(I,this)})),eachProp(this.pluginMaps,bind(this,function(I){var $=getOwn(l,I.id);$&&!$.enabled&&r.enable(I,this)})),this.enabling=!1,this.check()},on:function(I,$){var E=this.events[I];E||(E=this.events[I]=[]),E.push($)},emit:function(I,$){each(this.events[I],function(E){E($)}),I==="error"&&delete this.events[I]}};function D(I){hasProp(d,I[0])||F(y(I[0],null,!0)).init(I[1],I[2])}function R(I,$,E,O){I.detachEvent&&!isOpera?O&&I.detachEvent(O,$):I.removeEventListener(E,$,!1)}function N(I){var $=I.currentTarget||I.srcElement;return R($,r.onScriptLoad,"load","onreadystatechange"),R($,r.onScriptError,"error"),{node:$,id:$&&$.getAttribute("data-requiremodule")}}function B(){var I;for(T();m.length;){if(I=m.shift(),I[0]===null)return k(makeError("mismatch","Mismatched anonymous define() module: "+I[I.length-1]));D(I)}r.defQueueMap={}}return r={config:a,contextName:e,registry:l,defined:d,urlFetched:p,defQueue:m,defQueueMap:{},Module:o,makeModuleMap:y,nextTick:req.nextTick,onError:k,configure:function(I){if(I.baseUrl&&I.baseUrl.charAt(I.baseUrl.length-1)!=="/"&&(I.baseUrl+="/"),typeof I.urlArgs=="string"){var $=I.urlArgs;I.urlArgs=function(V,U){return(U.indexOf("?")===-1?"?":"&")+$}}var E=a.shim,O={paths:!0,bundles:!0,config:!0,map:!0};eachProp(I,function(V,U){O[U]?(a[U]||(a[U]={}),mixin(a[U],V,!0,!0)):a[U]=V}),I.bundles&&eachProp(I.bundles,function(V,U){each(V,function(q){q!==U&&(h[q]=U)})}),I.shim&&(eachProp(I.shim,function(V,U){isArray(V)&&(V={deps:V}),(V.exports||V.init)&&!V.exportsFn&&(V.exportsFn=r.makeShimExports(V)),E[U]=V}),a.shim=E),I.packages&&each(I.packages,function(V){var U,q;V=typeof V=="string"?{name:V}:V,q=V.name,U=V.location,U&&(a.paths[q]=V.location),a.pkgs[q]=V.name+"/"+(V.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(l,function(V,U){!V.inited&&!V.map.unnormalized&&(V.map=y(U,null,!0))}),(I.deps||I.callback)&&r.require(I.deps||[],I.callback)},makeShimExports:function(I){function $(){var E;return I.init&&(E=I.init.apply(global,arguments)),E||I.exports&&getGlobal(I.exports)}return $},makeRequire:function(I,$){$=$||{};function E(O,V,U){var q,G,W;return $.enableBuildCallback&&V&&isFunction(V)&&(V.__requireJsBuild=!0),typeof O=="string"?isFunction(V)?k(makeError("requireargs","Invalid require call"),U):I&&hasProp(i,O)?i[O](l[I.id]):req.get?req.get(r,O,I,E):(G=y(O,I,!1,!0),q=G.id,hasProp(d,q)?d[q]:k(makeError("notloaded",'Module name "'+q+'" has not been loaded yet for context: '+e+(I?"":". Use require([])")))):(B(),r.nextTick(function(){B(),W=F(y(null,I)),W.skipMap=$.skipMap,W.init(O,V,U,{enabled:!0}),L()}),E)}return mixin(E,{isBrowser,toUrl:function(O){var V,U=O.lastIndexOf("."),q=O.split("/")[0],G=q==="."||q==="..";return U!==-1&&(!G||U>1)&&(V=O.substring(U,O.length),O=O.substring(0,U)),r.nameToUrl(v(O,I&&I.id,!0),V,!0)},defined:function(O){return hasProp(d,y(O,I,!1,!0).id)},specified:function(O){return O=y(O,I,!1,!0).id,hasProp(d,O)||hasProp(l,O)}}),I||(E.undef=function(O){T();var V=y(O,I,!0),U=getOwn(l,O);U.undefed=!0,C(O),delete d[O],delete p[V.url],delete u[O],eachReverse(m,function(q,G){q[0]===O&&m.splice(G,1)}),delete r.defQueueMap[O],U&&(U.events.defined&&(u[O]=U.events),M(O))}),E},enable:function(I){var $=getOwn(l,I.id);$&&F(I).enable()},completeLoad:function(I){var $,E,O,V=getOwn(a.shim,I)||{},U=V.exports;for(T();m.length;){if(E=m.shift(),E[0]===null){if(E[0]=I,$)break;$=!0}else E[0]===I&&($=!0);D(E)}if(r.defQueueMap={},O=getOwn(l,I),!$&&!hasProp(d,I)&&O&&!O.inited){if(a.enforceDefine&&(!U||!getGlobal(U)))return S(I)?void 0:k(makeError("nodefine","No define call for "+I,null,[I]));D([I,V.deps||[],V.exportsFn])}L()},nameToUrl:function(I,$,E){var O,V,U,q,G,W,H,K=getOwn(a.pkgs,I);if(K&&(I=K),H=getOwn(h,I),H)return r.nameToUrl(H,$,E);if(req.jsExtRegExp.test(I))G=I+($||"");else{for(O=a.paths,V=I.split("/"),U=V.length;U>0;U-=1)if(q=V.slice(0,U).join("/"),W=getOwn(O,q),W){isArray(W)&&(W=W[0]),V.splice(0,U,W);break}G=V.join("/"),G+=$||(/^data\:|^blob\:|\?/.test(G)||E?"":".js"),G=(G.charAt(0)==="/"||G.match(/^[\w\+\.\-]+:/)?"":a.baseUrl)+G}return a.urlArgs&&!/^blob\:/.test(G)?G+a.urlArgs(I,G):G},load:function(I,$){req.load(r,I,$)},execCb:function(I,$,E,O){return $.apply(O,E)},onScriptLoad:function(I){if(I.type==="load"||readyRegExp.test((I.currentTarget||I.srcElement).readyState)){interactiveScript=null;var $=N(I);r.completeLoad($.id)}},onScriptError:function(I){var $=N(I);if(!S($.id)){var E=[];return eachProp(l,function(O,V){V.indexOf("_@r")!==0&&each(O.depMaps,function(U){if(U.id===$.id)return E.push(V),!0})}),k(makeError("scripterror",'Script error for "'+$.id+(E.length?'", needed by: '+E.join(", "):'"'),I,[$.id]))}}},r.require=r.makeRequire(),r}req=requirejs=function(e,t,o,r){var i,n,a=defContextName;return!isArray(e)&&typeof e!="string"&&(n=e,isArray(t)?(e=t,t=o,o=r):e=[]),n&&n.context&&(a=n.context),i=getOwn(contexts,a),i||(i=contexts[a]=req.s.newContext(a)),n&&i.configure(n),i.require(e,t,o)},req.config=function(e){return req(e)},req.nextTick=typeof setTimeout<"u"?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts,newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,o){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,o){var r=e&&e.config||{},i;if(isBrowser)return i=req.createNode(r,t,o),i.setAttribute("data-requirecontext",e.contextName),i.setAttribute("data-requiremodule",t),i.attachEvent&&!(i.attachEvent.toString&&i.attachEvent.toString().indexOf("[native code")<0)&&!isOpera?(useInteractive=!0,i.attachEvent("onreadystatechange",e.onScriptLoad)):(i.addEventListener("load",e.onScriptLoad,!1),i.addEventListener("error",e.onScriptError,!1)),i.src=o,r.onNodeCreated&&r.onNodeCreated(i,r,t,o),currentlyAddingScript=i,baseElement?head.insertBefore(i,baseElement):head.appendChild(i),currentlyAddingScript=null,i;if(isWebWorker)try{setTimeout(function(){},0),importScripts(o),e.completeLoad(t)}catch(n){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+o,n,[t]))}};function getInteractiveScript(){return interactiveScript&&interactiveScript.readyState==="interactive"||eachReverse(scripts(),function(e){if(e.readyState==="interactive")return interactiveScript=e}),interactiveScript}return isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"),dataMain)return mainScript=dataMain,!cfg.baseUrl&&mainScript.indexOf("!")===-1&&(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,o){var r,i;typeof e!="string"&&(o=t,t=e,e=null),isArray(t)||(o=t,t=null),!t&&isFunction(o)&&(t=[],o.length&&(o.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(n,a){t.push(a)}),t=(o.length===1?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript(),r&&(e||(e=r.getAttribute("data-requiremodule")),i=contexts[r.getAttribute("data-requirecontext")])),i?(i.defQueue.push([e,t,o]),i.defQueueMap[e]=!0):globalDefQueue.push([e,t,o])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg),{requirejs,require,define}}const setFieldProps=(e,t,o)=>{(0,import_reactive.untracked)(()=>{e[t]===void 0&&(e[t]=o)})},setRequired=(e,t,o)=>{typeof t.required>"u"&&(e.required=!!o.required)},CollectionFieldInternalField_deprecated=e=>{var t;const o=useCompile(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{uiSchema:n,defaultValue:a}=useCollectionField(),{isAllowToSetDefaultValue:l}=useIsAllowToSetDefaultValue(),c=useComponent(((t=i["x-component-props"])==null?void 0:t.component)||(n==null?void 0:n["x-component"])||"Input"),u=useFormBlockContext(),m=useDynamicComponentProps(n==null?void 0:n["x-use-component-props"],e);return(0,import_react2.useEffect)(()=>{if(!n)return;const d=o(n);if(setFieldProps(r,"content",d["x-content"]),setFieldProps(r,"title",d.title),setFieldProps(r,"description",d.description),u!=null&&u.form){const h=l()?i.default||a:void 0;h!=null&&setFieldProps(r,"initialValue",h)}if(!r.validator&&(d["x-validator"]||i["x-validator"])){const h=(0,import_lodash.concat)([],d["x-validator"]||[],i["x-validator"]||[]);r.validator=h}i["x-disabled"]===!0&&(r.disabled=!0),i["x-read-pretty"]===!0&&(r.readPretty=!0),setRequired(r,i,d),r.dataSource=d.enum,r.data=r.data||{},r.data.dataSource=d==null?void 0:d.enum;const p=o(d["x-component-props"])||{};r.componentProps=(0,import_shared.merge)(p,r.componentProps||{},m||{})},[n]),n?(0,import_jsx_runtime.jsx)(c,x(x({},e),m)):null},CollectionFieldInternalField=e=>{var t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{uiSchema:i}=useCollectionFieldUISchema(),n=useComponent(((t=r["x-component-props"])==null?void 0:t.component)||(i==null?void 0:i["x-component"])||"Input"),a=useDynamicComponentProps(i==null?void 0:i["x-use-component-props"],e);if((0,import_react2.useEffect)(()=>{r["x-read-pretty"]===!0&&!o.readPretty&&(o.readPretty=!0),r["x-disabled"]===!0&&(o.disabled=!0),o.data=o.data||{},o.data.dataSource=i==null?void 0:i.enum},[o,r]),!i)return null;const l=x(x({},e),a);return isVariable$1(l.value)&&l.value===r.default&&(l.value=void 0),(0,import_jsx_runtime.jsx)(n,x({},l))},CollectionField$1=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)(),o=useIsInNocoBaseRecursionFieldContext();return(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:o?(0,import_jsx_runtime.jsx)(CollectionFieldInternalField,x({},e)):(0,import_jsx_runtime.jsx)(CollectionFieldInternalField_deprecated,x({},e))})});CollectionField$1.displayName="CollectionField";const getKeyByName=e=>e?`nocobase_${e}_designable`.toUpperCase():"nocobase_designable".toUpperCase(),SchemaComponentProviderWithLocalStorageState=e=>{const[t,o]=(0,import_ahooks.useLocalStorageState)(getKeyByName(e.appName),{defaultValue:!!e.designable});return(0,import_jsx_runtime.jsx)(SchemaComponentProvider,P(x({},e),{designable:t,onDesignableChange:r=>{o(r)}}))},AppSchemaComponentProvider=e=>typeof e.designable=="boolean"?(0,import_jsx_runtime.jsx)(SchemaComponentProvider,x({},e)):(0,import_jsx_runtime.jsx)(SchemaComponentProviderWithLocalStorageState,x({},e));function getOperators(){Array.isArray||(Array.isArray=function(i){return Object.prototype.toString.call(i)==="[object Array]"});function e(i){for(var n=[],a=0,l=i.length;a<l;a++)n.indexOf(i[a])===-1&&n.push(i[a]);return n}function t(i,n){return JSON.stringify(i)===JSON.stringify(n)}var o={},r={$is:function(i,n){return i===n},$match:function(i,n){return Array.isArray(i)&&Array.isArray(n)&&i.some(a=>Array.isArray(a))?i.some(a=>(a==null?void 0:a.length)===n.length&&(a==null?void 0:a.every((l,c)=>l===n[c]))):JSON.stringify(i)===JSON.stringify(n)},$eq:function(i,n){return Array.isArray(i)&&Array.isArray(n)?t(i,n):Array.isArray(i)?i.includes(n):i==n},$ne:function(i,n){return i!=n},"!==":function(i,n){return i!==n},$gt:function(i,n){return Array.isArray(i)?i.some(a=>a>n):i>n},$gte:function(i,n){return i>=n},$lt:function(i,n,a){return Array.isArray(i)?i.some(l=>l<n):a===void 0?i<n:i<n&&n<a},$lte:function(i,n,a){return a===void 0?i<=n:i<=n&&n<=a},$exists:function(i){return o.truthy(i)},$notEmpty:function(i){return i===0||o.truthy(i)},$empty:function(i){return Array.isArray(i)||typeof i=="string"?i.length===0:i==null},$notExists:function(i){return!o.truthy(i)},"%":function(i,n){return i%n},log:function(i){return i},$in:function(i,n){return!n||typeof n.indexOf>"u"?!1:Array.isArray(i)&&Array.isArray(n)?n.some(a=>i.includes(a)):n.indexOf(i)!==-1},$notIn:function(i,n){return!n||typeof n.indexOf>"u"?!1:n.indexOf(i)===-1},$includes:function(i,n){return!i||typeof i.indexOf>"u"?!1:Array.isArray(i)?i.some(a=>a==null?void 0:a.includes(n)):i.indexOf(n)!==-1},$notIncludes:function(i,n){return Array.isArray(i)?!i.some(a=>(a||"").includes(n)):(i=i||"",!i.includes(n))},$anyOf:function(i,n){return i==null||i.length===0?!1:Array.isArray(i)&&Array.isArray(n)&&i.some(a=>Array.isArray(a))?i.some(a=>a.some(l=>n.includes(l))):i.some(a=>n.includes(a))},$noneOf:function(i,n){return!i||i.length===0||!n||n.length===0?!0:(Array.isArray(i)||(i=[i]),Array.isArray(n)||(n=[n]),!n.some(a=>i.includes(a)))},$notMatch:function(i,n){if((i==null?void 0:i.length)!==(n==null?void 0:n.length))return!0;for(let a=0;a<((i==null?void 0:i.length)||0);a++)if((i==null?void 0:i[a])!==(n==null?void 0:n[a]))return!0;return!1},$dateOn:function(i,n){if(!i||!n)return!1;if(n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n))return r.$dateBetween(i,n);const a=parseDate(i),l=parseDate(n);return!a||!l?!1:a.getTime()===l.getTime()},$dateBefore:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[0]);const a=parseDate(i),l=parseDate(n);return!a||!l?!1:a.getTime()<l.getTime()},$dateNotBefore:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[0]);const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a.getTime()>=l.getTime()},$dateAfter:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[1]);const a=parseDate(i),l=parseDate(n);return a.getTime()>l.getTime()},$dateNotAfter:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[1]);const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a.getTime()<=l.getTime()},$dateBetween:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n));const a=parseDate(i),l=parseFullDate(n[0]),c=parseFullDate(n[1]);if(!a||!l||!c)throw new Error("Invalid date format");return a.getTime()>=l.getTime()&&a.getTime()<=c.getTime()},$dateNotOn:function(i,n){if(!i||!n)return!1;if(n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n))return!r.$dateBetween(i,n);const a=parseDate(i),l=parseDate(n);return a.getTime()!==l.getTime()},$isTruly:function(i){return Array.isArray(i)?i.some(n=>n===!0||n===1):i===!0||i===1},$isFalsy:function(i){return Array.isArray(i)?i.some(n=>!o.truthy(n)):!o.truthy(i)},cat:function(){return Array.prototype.join.call(arguments,"")},substr:function(i,n,a){if(a<0){var l=String(i).substr(n);return l.substr(0,l.length+a)}return String(i).substr(n,a)},"+":function(){return Array.prototype.reduce.call(arguments,function(i,n){return parseFloat(i,10)+parseFloat(n,10)},0)},"*":function(){return Array.prototype.reduce.call(arguments,function(i,n){return parseFloat(i,10)*parseFloat(n,10)})},"-":function(i,n){return n===void 0?-i:i-n},"/":function(i,n){return i/n},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(i,n){return i.concat(n)},[])},var:function(i,n){var a=n===void 0?null:n,l=this;if(typeof i>"u"||i===""||i===null)return l;for(var c=String(i).split("."),u=0;u<c.length;u++)if(l==null||(l=l[c[u]],l===void 0))return a;return l},missing:function(){for(var i=[],n=Array.isArray(arguments[0])?arguments[0]:arguments,a=0;a<n.length;a++){var l=n[a],c=o.apply({var:l},this);(c===null||c==="")&&i.push(l)}return i},missing_some:function(i,n){var a=o.apply({missing:n},this);return n.length-a.length>=i?[]:a}};return o.is_logic=function(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)&&Object.keys(i).length===1&&!i.type},o.truthy=function(i){return Array.isArray(i)&&i.length===0?!1:!!i},o.getOperator=function(i){return Object.keys(i)[0]},o.getValues=function(i){return i[o.getOperator(i)]},o.apply=function(i,n){if(Array.isArray(i))return i.map(function(_){return o.apply(_,n)});if(!o.is_logic(i))return i;var a=o.getOperator(i),l=i[a],c,u,m,d,p;if(Array.isArray(l)||(l=[l]),a==="if"||a=="?:"){for(c=0;c<l.length-1;c+=2)if(o.truthy(o.apply(l[c],n)))return o.apply(l[c+1],n);return l.length===c+1?o.apply(l[c],n):null}else if(a==="$and"){for(c=0;c<l.length;c+=1)if(u=o.apply(l[c],n),!o.truthy(u))return u;return u}else if(a==="or"){for(c=0;c<l.length;c+=1)if(u=o.apply(l[c],n),o.truthy(u))return u;return u}else{if(a==="filter")return d=o.apply(l[0],n),m=l[1],Array.isArray(d)?d.filter(function(_){return o.truthy(o.apply(m,_))}):[];if(a==="map")return d=o.apply(l[0],n),m=l[1],Array.isArray(d)?d.map(function(_){return o.apply(m,_)}):[];if(a==="reduce")return d=o.apply(l[0],n),m=l[1],p=typeof l[2]<"u"?l[2]:null,Array.isArray(d)?d.reduce(function(_,f){return o.apply(m,{current:f,accumulator:_})},p):p;if(a==="all"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!1;for(c=0;c<d.length;c+=1)if(!o.truthy(o.apply(m,d[c])))return!1;return!0}else if(a==="none"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!0;for(c=0;c<d.length;c+=1)if(o.truthy(o.apply(m,d[c])))return!1;return!0}else if(a==="some"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!1;for(c=0;c<d.length;c+=1)if(o.truthy(o.apply(m,d[c])))return!0;return!1}}if(l=l.map(function(_){return o.apply(_,n)}),r.hasOwnProperty(a)&&typeof r[a]=="function")return r[a].apply(n,l);if(a.indexOf(".")>0){var h=String(a).split("."),g=r;for(c=0;c<h.length;c++){if(!g.hasOwnProperty(h[c]))throw new Error("Unrecognized operation "+a+" (failed at "+h.slice(0,c+1).join(".")+")");g=g[h[c]]}return g.apply(n,l)}throw new Error("Unrecognized operation "+a)},o.uses_data=function(i){var n=[];if(o.is_logic(i)){var a=o.getOperator(i),l=i[a];Array.isArray(l)||(l=[l]),a==="var"?n.push(l[0]):l.forEach(function(c){n.push.apply(n,o.uses_data(c))})}return e(n)},o.addOperation=function(i,n){r[i]=n},o.rmOperation=function(i){delete r[i]},o.rule_like=function(i,n){if(n===i||n==="@")return!0;if(n==="number")return typeof i=="number";if(n==="string")return typeof i=="string";if(n==="array")return Array.isArray(i)&&!o.is_logic(i);if(o.is_logic(n)){if(o.is_logic(i)){var a=o.getOperator(n),l=o.getOperator(i);if(a==="@"||a===l)return o.rule_like(o.get_values(i,!1),o.get_values(n,!1))}return!1}if(Array.isArray(n))if(Array.isArray(i)){if(n.length!==i.length)return!1;for(var c=0;c<n.length;c+=1)if(!o.rule_like(i[c],n[c]))return!1;return!0}else return!1;return!1},o}function parseFullDate(e){return e.includes("T")&&e.endsWith("Z")?new Date(e):e.includes(" ")?new Date(e.replace(" ","T")):new Date(`${e}T00:00:00`)}function parseMonth(e){const[t,o]=e.split("-").map(Number);return new Date(t,o-1)}function parseQuarter(e){const t=parseInt(e.slice(0,4)),o=(parseInt(e.slice(5,6))-1)*3;return new Date(t,o)}function parseYear(e){const t=parseInt(e);return new Date(t,0)}function parseDate(e){var t;let o=Array.isArray(e)?(t=e[1])!=null?t:e[0]:e;return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(o)?new Date(o):/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(o)?new Date(o.replace(" ","T")):/^\d{4}-\d{2}-\d{2}$/.test(o)?parseFullDate(o):/^\d{4}-\d{2}$/.test(o)?parseMonth(o):/^\d{4}Q[1-4]$/.test(o)?parseQuarter(o):/^\d{4}$/.test(o)?parseYear(o):null}class Application{constructor(t={}){A(this,"eventBus",new EventTarget),A(this,"providers",[]),A(this,"router"),A(this,"scopes",{}),A(this,"i18n"),A(this,"ws"),A(this,"apiClient"),A(this,"components",P(x(x({DataBlockProvider},defaultAppComponents),schemaInitializerComponents),{CollectionField:CollectionField$1})),A(this,"pluginManager"),A(this,"pluginSettingsManager"),A(this,"devDynamicImport"),A(this,"requirejs"),A(this,"notification"),A(this,"schemaInitializerManager"),A(this,"schemaSettingsManager"),A(this,"dataSourceManager"),A(this,"name"),A(this,"favicon"),A(this,"globalVars",{}),A(this,"globalVarCtxs",{}),A(this,"jsonLogic"),A(this,"loading",!0),A(this,"maintained",!1),A(this,"maintaining",!1),A(this,"error",null),A(this,"hasLoadError",!1),A(this,"wsAuthorized",!1),A(this,"variables",[]),this.options=t,this.initRequireJs(),(0,import_reactive.define)(this,{maintained:import_reactive.observable.ref,loading:import_reactive.observable.ref,maintaining:import_reactive.observable.ref,error:import_reactive.observable.ref}),this.devDynamicImport=t.devDynamicImport,this.scopes=(0,import_merge.default)(this.scopes,t.scopes),this.components=(0,import_merge.default)(this.components,t.components),this.apiClient=t.apiClient instanceof APIClient?t.apiClient:new APIClient(t.apiClient),this.apiClient.app=this,this.i18n=t.i18n||i18n,this.router=new RouterManager(t.router,this),this.schemaSettingsManager=new SchemaSettingsManager(t.schemaSettings,this),this.pluginManager=new PluginManager$1(t.plugins,t.loadRemotePlugins,this),this.schemaInitializerManager=new SchemaInitializerManager(t.schemaInitializers,this),this.dataSourceManager=new DataSourceManager(t.dataSourceManager,this),this.addDefaultProviders(),this.addReactRouterComponents(),this.addProviders(t.providers||[]),this.ws=new WebSocketClient(t.ws),this.ws.app=this,this.pluginSettingsManager=new PluginSettingsManager(t.pluginSettings,this),this.addRoutes(),this.name=this.options.name||(0,import_sdk.getSubAppName)(t.publicPath)||"main",this.i18n.on("languageChanged",o=>{this.apiClient.auth.locale=o}),this.initListeners(),this.jsonLogic=getOperators()}get pm(){return this.pluginManager}get disableAcl(){return this.options.disableAcl}get isWsAuthorized(){return this.wsAuthorized}updateFavicon(t){let o=document.querySelector('link[rel="shortcut icon"]');t&&(this.favicon=t),o?o.href=this.favicon||"/favicon/favicon.ico":(o=document.createElement("link"),o.rel="shortcut icon",o.href=this.favicon||"/favicon/favicon.ico",document.head.appendChild(o))}setWsAuthorized(t){this.wsAuthorized=t}initListeners(){this.eventBus.addEventListener("auth:tokenChanged",t=>{this.setTokenInWebSocket(t.detail)}),this.eventBus.addEventListener("maintaining:end",()=>{this.apiClient.auth.token&&this.setTokenInWebSocket({token:this.apiClient.auth.token,authenticator:this.apiClient.auth.getAuthenticator()})})}setTokenInWebSocket(t){const{token:o,authenticator:r}=t;this.maintaining||this.ws.send(JSON.stringify({type:"auth:token",payload:{token:o,authenticator:r}}))}setMaintaining(t){this.maintaining!==t&&(this.maintaining=t,t||this.eventBus.dispatchEvent(new Event("maintaining:end")))}initRequireJs(){this.requirejs=getRequireJs(),defineGlobalDeps(this.requirejs),window.define=this.requirejs.define}addDefaultProviders(){this.use(APIClientProvider,{apiClient:this.apiClient}),this.use(import_react_i18next.I18nextProvider,{i18n:this.i18n}),this.use(GlobalThemeProvider),this.use(CSSVariableProvider),this.use(AppSchemaComponentProvider,{designable:this.options.designable,appName:this.name,components:this.components,scope:this.scopes}),this.use(AntdAppProvider),this.use(DataSourceApplicationProvider,{dataSourceManager:this.dataSourceManager}),this.use(OpenModeProvider)}addReactRouterComponents(){this.addComponents({Link:import_react_router_dom.Link,Navigate:import_react_router_dom.Navigate,NavLink:import_react_router_dom.NavLink})}addRoutes(){this.router.add("not-found",{path:"*",Component:this.components.AppNotFound})}getOptions(){return this.options}getName(){return(0,import_sdk.getSubAppName)(this.getPublicPath())||null}getPublicPath(){let t=this.options.publicPath||"/";return t.endsWith("/")||(t+="/"),t}getApiUrl(t=""){let o=this.apiClient.axios.defaults.baseURL;if(!o.startsWith("http://")&&!o.startsWith("https://")){const{protocol:r,host:i}=window.location;o=`${r}//${i}${o}`}return o.replace(/\/$/g,"")+"/"+t.replace(/^\//g,"")}getRouteUrl(t){return this.getPublicPath()+t.replace(/^\//g,"")}getHref(t){const o=this.name;return o&&o!=="main"?this.getPublicPath()+"apps/"+o+"/"+t.replace(/^\//g,""):this.getPublicPath()+t.replace(/^\//g,"")}getCollectionManager(t){var o;return(o=this.dataSourceManager.getDataSource(t))==null?void 0:o.collectionManager}getComposeProviders(){const t=compose(...this.providers)(BlankComponent);return t.displayName="Providers",t}use(t,o){return this.addProvider(t,o)}addProvider(t,o){return this.providers.push([t,o])}addProviders(t){t.forEach(o=>{Array.isArray(o)?this.addProvider(o[0],o[1]):this.addProvider(o)})}load(){return z(this,null,function*(){var t,o,r,i,n;try{this.loading=!0,yield this.loadWebSocket(),yield this.pm.load()}catch(a){this.hasLoadError=!0,((i=(r=(o=(t=a==null?void 0:a.response)==null?void 0:t.data)==null?void 0:o.errors)==null?void 0:r[0])==null?void 0:i.code)==="BLOCKED_IP"&&(this.hasLoadError=!1),this.ws.enabled&&(yield new Promise(l=>{setTimeout(()=>l(null),1e3)})),this.error=x({code:"LOAD_ERROR"},(n=this.apiClient.toErrMessages(a))==null?void 0:n[0]),console.error(a,this.error)}this.loading=!1,this.updateFavicon()})}loadWebSocket(){return z(this,null,function*(){this.eventBus.addEventListener("ws:message:authorized",()=>{this.setWsAuthorized(!0)}),this.ws.on("message",t=>{var o,r,i;const n=JSON.parse(t.data);if((o=n==null?void 0:n.payload)!=null&&o.refresh){window.location.reload();return}if(n.type==="notification"){this.notification[((r=n.payload)==null?void 0:r.type)||"info"]({message:(i=n.payload)==null?void 0:i.message});return}if(n.type==="maintaining"&&n.payload.code!=="APP_RUNNING")this.setMaintaining(!0),this.error=n.payload;else{this.hasLoadError&&window.location.reload(),this.setMaintaining(!1),this.maintained=!0,this.error=null;const a=n.type;if(!a)return;const l=`ws:message:${a}`;this.eventBus.dispatchEvent(new CustomEvent(l,{detail:n.payload}))}}),this.ws.on("serverDown",()=>{this.maintaining=!0,this.maintained=!1}),this.ws.on("open",()=>{const t=this.apiClient.auth.token;t&&this.setTokenInWebSocket({token:t,authenticator:this.apiClient.auth.getAuthenticator()})}),this.ws.connect()})}getComponent(t,o=!0){const r=i=>o&&console.error(i);if(!t){r(`getComponent called with ${t}`);return}if(typeof t=="function")return t;if(typeof t=="string"){const i=(0,import_get.default)(this.components,t);if(!i){r(`Component ${t} not found`);return}return i}r(`Component ${t} should be a string or a React component`)}renderComponent(t,o,r){return import_react2.default.createElement(this.getComponent(t),o,r)}addComponent(t,o){const r=o||t.displayName||t.name;if(!r){console.error("Component must have a displayName or pass name as second argument");return}(0,import_set.default)(this.components,r,t)}addComponents(t){Object.keys(t).forEach(o=>{this.addComponent(t[o],o)})}addScopes(t){this.scopes=(0,import_merge.default)(this.scopes,t)}getRootComponent(){return({children:t})=>(0,import_jsx_runtime.jsx)(AppComponent,{app:this,children:t})}mount(t){const o=normalizeContainer(t);if(!o)return;const r=this.getRootComponent(),i=(0,import_client2.createRoot)(o);return i.render((0,import_jsx_runtime.jsx)(r,{})),i}addFieldInterfaces(t=[]){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaces(t)}addFieldInterfaceComponentOption(t,o){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption(t,o)}addFieldInterfaceOperator(t,o){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceOperator(t,o)}addGlobalVar(t,o,r){(0,import_set.default)(this.globalVars,t,o),r&&(0,import_set.default)(this.globalVarCtxs,t,r)}getGlobalVar(t){return(0,import_get.default)(this.globalVars,t)}getGlobalVarCtx(t){return(0,import_get.default)(this.globalVarCtxs,t)}addUserCenterSettingsItem(t){const o=t.useVisible||(()=>!0),r=()=>{const{allow:i}=useAclSnippets();return o()?t.aclSnippet?i(t.aclSnippet):!0:!1};this.schemaSettingsManager.addItem("userCenterSettings",t.name,P(x({},t),{useVisible:r}))}registerVariable(t){if(this.variables.find(o=>o.name===t.name)){console.warn(`Variable ${t.name} already registered`);return}this.variables.push(t)}getVariables(){return this.variables}}function getNewSchema(e){const{fieldSchema:t,schemaKey:o,parentSchemaKey:r,value:i,valueKeys:n}=e;if(o)import_lodash.default.set(t,o,i);else if(r){if(i==null)return t;typeof i=="object"?Object.keys(i).forEach(a=>{n&&!n.includes(a)||import_lodash.default.set(t,`${r}.${a}`,i[a])}):console.error("value must be object")}return t}const useHookDefault=e=>e,useSchemaByType=(e="common")=>{const t=(0,import_react.useFieldSchema)(),{fieldSchema:o}=useColumnSchema$1()||{};return e==="field"&&o||t};function createModalSettingsItem(e){const{name:t,parentSchemaKey:o,valueKeys:r,schema:i,title:n,useSubmit:a=useHookDefault,useVisible:l,defaultValue:c,useDefaultValue:u=useHookDefault,width:m,type:d="common"}=e;return{name:t,type:"actionModal",useVisible:l,useComponentProps(){const p=useSchemaByType(d),{dn:h}=useDesignable(),g=u(c),_=o?import_lodash.default.get(p,o):void 0,f=useCompile(),{t:v}=(0,import_react_i18next.useTranslation)(),C=a(),{fieldSchema:S}=useColumnSchema$1()||{};return{title:typeof n=="function"?n(v):f(n),width:m,schema:i(x(x({},g),_)),onSubmit(b){const y=getNewSchema({fieldSchema:p,parentSchemaKey:o,value:b,valueKeys:r});return S?(h.emit("patch",{schema:y}),h.refresh()):h.deepMerge(y),C==null?void 0:C(b)}}}}}const createSelectSchemaSettingsItem=e=>{const{name:t,title:o,options:r,useOptions:i=useHookDefault,schemaKey:n,useVisible:a,type:l="common",defaultValue:c,useDefaultValue:u=useHookDefault}=e;return{name:t,type:"select",useVisible:a,useComponentProps(){const m=useSchemaByType(l),{fieldSchema:d}=useColumnSchema$1()||{},{dn:p}=useDesignable(),h=i(r),g=u(c),_=useCompile(),{t:f}=(0,import_react_i18next.useTranslation)();return{title:typeof o=="function"?o(f):_(o),options:h,value:import_lodash.default.get(m,n,g),onChange(v){const C=getNewSchema({fieldSchema:m,schemaKey:n,value:v});d?(p.emit("patch",{schema:C}),p.refresh()):p.deepMerge(C)}}}}};function createSwitchSettingsItem(e){const{name:t,useVisible:o,schemaKey:r,title:i,type:n="common",defaultValue:a,useDefaultValue:l=useHookDefault,useComponentProps:c}=e;return{name:t,useVisible:o,type:"switch",useComponentProps(){const u=useSchemaByType(n),{dn:m}=useDesignable(),d=l(a),p=useCompile(),{t:h}=(0,import_react_i18next.useTranslation)(),{fieldSchema:g}=useColumnSchema$1()||{},_=c==null?void 0:c();return{title:typeof i=="function"?i(h):p(i),checked:(_==null?void 0:_.checked)===void 0?!!import_lodash.default.get(u,r,d):_==null?void 0:_.checked,onChange(f){var v;(v=_==null?void 0:_.onChange)==null||v.call(_,f);const C=getNewSchema({fieldSchema:u,schemaKey:r,value:f});g?(m.emit("patch",{schema:C}),m.refresh()):m.deepMerge(C)}}}}}function createTextSettingsItem(e){const{name:t,useVisible:o,title:r,useTextClick:i=useHookDefault}=e;return{name:t,type:"item",useVisible:o,useComponentProps(){const n=useCompile(),{t:a}=(0,import_react_i18next.useTranslation)(),l=i();return{title:typeof r=="function"?r(a):n(r),onClick:l}}}}const linkageAction$1=(e,t)=>z(void 0,[e,t],function*({operator:o,condition:r,variables:i,localVariables:n,conditionType:a,displayResult:l},c){switch(o){case"visible":return(yield conditionAnalyses({ruleGroup:r,variables:i,localVariables:n,conditionType:a},c))&&l.push("visible"),l;case"hidden":return(yield conditionAnalyses({ruleGroup:r,variables:i,localVariables:n,conditionType:a},c))&&l.push("hidden"),l;default:return null}}),useReactiveLinkageEffect=(e,t,o,r)=>{const i=useApp().jsonLogic,[n,a]=(0,import_react2.useState)(null),l=useCollectionRecord();return(0,import_react2.useEffect)(()=>{z(void 0,null,function*(){const c=[];for(const u of e.filter(m=>!m.disabled))for(const m of u.actions||[])yield linkageAction$1({operator:m.operator,condition:u.condition,variables:t,localVariables:o,conditionType:u.conditionType,displayResult:c},i);a(c)})},[e,r,l]),n};function forEachLinkageRule(e,t){e.forEach(o=>{var r;(r=o.actions)==null||r.forEach(i=>{t(i,o)})})}const getLinkageRules$2=e=>{if(!e)return[];let t=(e==null?void 0:e["x-block-linkage-rules"])||[];return e.mapProperties(o=>{o["x-block-linkage-rules"]&&(t=o["x-block-linkage-rules"])}),t==null?void 0:t.filter(o=>!o.disabled)},BlockLinkageRuleProvider=e=>{const t=(0,import_react.useFieldSchema)(),o=useVariables$1(),r=useLocalVariables$1(),{designable:i}=useDesignable(),n=(0,import_react.useForm)(),a=(0,import_react2.useMemo)(()=>getLinkageRules$2(t),[t]),[l,c]=(0,import_react2.useState)(null),u=useReactiveLinkageEffect(a,o,r,l),m=(t==null?void 0:t["x-decorator"])==="FormItem"&&!n.readPretty&&a.length;return(0,import_react2.useEffect)(()=>{if(m){const d=(0,import_shared.uid)();return setTimeout(()=>{n.addEffects(d,()=>{forEachLinkageRule(a,(p,h)=>(0,import_reactive.reaction)(()=>{const g=getVariableValuesInCondition({linkageRules:a,localVariables:r}),_=getVariableValuesInExpression({action:p,localVariables:r});return[g,_].map(f=>JSON.stringify(f)).join(",")},()=>{c((0,import_shared.uid)())},{fireImmediately:!0,equals:import_lodash.isEqual}))})}),()=>{n.removeEffects(d)}}},[a,m]),a.length?u===null?null:(0,import_lodash.last)(u)==="hidden"?i?(0,import_jsx_runtime.jsx)("div",{style:{opacity:.3},children:e.children}):null:e.children:e.children},DataBlockContext=(0,import_react2.createContext)({});DataBlockContext.displayName="DataBlockContext";const DataBlockResourceContext=(0,import_react2.createContext)(null),RerenderDataBlockProvider=({children:e})=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_react2.useMemo)(()=>({rerenderDataBlock:()=>{o(!0),setTimeout(()=>{o(!1)})}}),[]);return t?null:(0,import_jsx_runtime.jsx)(DataBlockResourceContext.Provider,{value:r,children:e})},AssociationOrCollectionProvider=e=>{const{collection:t,association:o,allowNull:r=!1}=e,i=(0,import_react2.useMemo)(()=>o?{Component:AssociationProvider,name:o}:{Component:SanitizedCollectionProvider,name:t},[t,o]);return(0,import_jsx_runtime.jsx)(i.Component,{name:i.name,allowNull:r,children:e.children})},DataBlockProvider=withDynamicSchemaProps(import_react2.default.memo(e=>{const t=e,{collection:o,association:r,dataSource:i,children:n,hidden:a}=t,l=Y(t,["collection","association","dataSource","children","hidden"]),{dn:c}=useDesignable(),u=(0,import_react.useFieldSchema)();return a?null:(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:u==null?void 0:u["x-uid"],type:"dataBlock",children:(0,import_jsx_runtime.jsx)(DataBlockContext.Provider,{value:{dn:c,props:P(x({},l),{collection:o,association:r,dataSource:i})},children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{dataSource:i,children:(0,import_jsx_runtime.jsx)(AssociationOrCollectionProvider,{collection:o,association:r,children:(0,import_jsx_runtime.jsx)(ACLCollectionProvider,{children:(0,import_jsx_runtime.jsx)(BlockLinkageRuleProvider,{children:(0,import_jsx_runtime.jsx)(DataBlockResourceProvider,{children:(0,import_jsx_runtime.jsx)(BlockRequestProvider,{children:(0,import_jsx_runtime.jsx)(DataBlockCollector,{params:e.params,children:(0,import_jsx_runtime.jsx)(RerenderDataBlockProvider,{children:n})})})})})})})})})})}),{displayName:"DataBlockProvider"}),useDataBlock=()=>{const e=(0,import_react2.useContext)(DataBlockContext);if(!e)throw new Error("useDataBlock() must be used within a DataBlockProvider");return e},useDataBlockProps=()=>useDataBlock().props,useRerenderDataBlock=()=>{const e=(0,import_react2.useContext)(DataBlockResourceContext);if(!e)throw new Error("useRerenderDataBlock() must be used within a DataBlockProvider");return e},BlockRequestRefContext=(0,import_react2.createContext)(null);BlockRequestRefContext.displayName="BlockRequestRefContext";const BlockRequestLoadingContext=(0,import_react2.createContext)(!1);BlockRequestLoadingContext.displayName="BlockRequestLoadingContext";const BlockRequestDataContext=(0,import_react2.createContext)(null);BlockRequestDataContext.displayName="BlockRequestDataContext";function useRecordRequest(e){const t=useDataLoadingMode(),o=useDataBlockResource(),{action:r,params:i={},record:n,requestService:a,requestOptions:l,sourceId:c,association:u,parentRecord:m}=e,d=useAPIClient(),p=useDataBlockProps(),h=useDataSourceHeaders(p.dataSource),g=useSourceKey(u),[_,f]=(0,import_react2.useMemo)(()=>[JSON.stringify(i),JSON.stringify(n)],[i,n]),{isBlockTemplate:v,templateFinished:C}=useTemplateBlockContext(),S=F=>{var j;if(n)return Promise.resolve({data:n});if(!r)throw new Error("[nocobase]: The 'action' parameter is missing in the 'DataBlockRequestProvider' component");if(r==="get"&&import_lodash.default.isNil(i.filterByTk))return console.warn('[nocobase]: The "filterByTk" parameter is missing in the "DataBlockRequestProvider" component');const k=i.filterByTk===void 0?import_lodash.default.omit(i,"filterByTk"):i,T=x(x({},k),F);return(j=o[r])==null?void 0:j.call(o,T).then(M=>M.data)},b=(...F)=>v!=null&&v()&&!C?null:(a||S)(...F),y=useRequest((...F)=>z(this,null,function*(){const[j,k]=yield Promise.all([b(...F),requestParentRecordData({sourceId:c,association:u,parentRecord:m,api:d,headers:h,sourceKey:g})]);return j&&(j.parentRecord=k==null?void 0:k.data),j}),P(x({},l),{manual:t==="manual",ready:!!r,refreshDeps:[r,_,f,o,u,m,c,C]}));return y._defaultParams=i,y}function requestParentRecordData(e){return z(this,arguments,function*({sourceId:t,association:o,parentRecord:r,api:i,headers:n,sourceKey:a}){if(r)return Promise.resolve({data:r});if(!o||!a||!t)return Promise.resolve({data:void 0});const l=`${o.split(".")[0]}:get?filter[${a}]=${t}`;return(yield i.request({url:l,headers:n})).data})}const BlockRequestContextProvider=e=>{var t,o,r,i,n,a;const l=(0,import_react2.useRef)(e.recordRequest),c=(0,import_react2.useRef)((t=e.recordRequest)==null?void 0:t.data),{active:u}=useKeepAlive(),m=(0,import_react2.useRef)(u),d=(0,import_react2.useDeferredValue)(u),p=useDataBlockProps();return d&&!m.current&&(import_lodash.default.isNil(p.dataLoadingMode)||p.dataLoadingMode==="auto")&&((o=e.recordRequest)==null||o.refresh()),d&&m.current&&!((r=e.recordRequest)!=null&&r.loading)&&!import_lodash.default.isEqual(c.current,(i=e.recordRequest)==null?void 0:i.data)&&(c.current=(n=e.recordRequest)==null?void 0:n.data),d!==m.current&&(m.current=d),l.current=e.recordRequest,(0,import_jsx_runtime.jsx)(BlockRequestRefContext.Provider,{value:l,children:(0,import_jsx_runtime.jsx)(BlockRequestLoadingContext.Provider,{value:(a=e.recordRequest)==null?void 0:a.loading,children:(0,import_jsx_runtime.jsx)(BlockRequestDataContext.Provider,{value:c.current,children:e.children})})})},BlockRequestProvider=import_react2.default.memo(({children:e})=>{var t,o;const r=useDataBlockProps(),{action:i,filterByTk:n,sourceId:a,params:l=EMPTY_OBJECT,association:c,collection:u,record:m,parentRecord:d,requestOptions:p,requestService:h}=r,g=(0,import_react2.useMemo)(()=>P(x({},l),{filterByTk:n||l.filterByTk}),[n,l]),_=useRecordRequest({action:i,sourceId:a,record:m,association:c,collection:u,requestOptions:p,requestService:h,params:g,parentRecord:d}),f=(t=_.data)==null?void 0:t.parentRecord,v=(0,import_react2.useMemo)(()=>f&&new CollectionRecord({isNew:!1,data:f instanceof CollectionRecord?f.data:f}),[f]);return(0,import_jsx_runtime.jsx)(BlockRequestContextProvider,{recordRequest:_,children:i!=="list"?(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:i==null,record:((o=_.data)==null?void 0:o.data)||m,parentRecord:v||d,children:e}):(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:!1,record:null,parentRecord:v||d,children:e})})});BlockRequestProvider.displayName="DataBlockRequestProvider";const useDataBlockRequest=()=>{const e=(0,import_react2.useContext)(BlockRequestRefContext),t=(0,import_react2.useContext)(BlockRequestLoadingContext),o=(0,import_react2.useContext)(BlockRequestDataContext);return(0,import_react2.useMemo)(()=>e?P(x({},e.current),{loading:t,data:o}):null,[e,o,t])},useDataBlockRequestGetter=()=>{const e=(0,import_react2.useContext)(BlockRequestRefContext);return(0,import_react2.useMemo)(()=>({getDataBlockRequest:()=>e?e.current:null}),[e])},useDataBlockRequestData=()=>(0,import_react2.useContext)(BlockRequestDataContext),FilterContext$1=(0,import_react2.createContext)(null);FilterContext$1.displayName="FilterContext";const FilterBlockProvider=import_react2.default.memo(({children:e})=>{const t=import_react2.default.useRef([]),o=(0,import_react2.useCallback)(n=>{typeof n=="function"?t.current=n(t.current):t.current=n},[]),r=(0,import_react2.useCallback)(()=>t.current,[]),i=(0,import_react2.useMemo)(()=>({getDataBlocks:r,setDataBlocks:o}),[r,o]);return(0,import_jsx_runtime.jsx)(FilterContext$1.Provider,{value:i,children:e})});FilterBlockProvider.displayName="FilterBlockProvider";const DataBlockCollector=({children:e,params:t})=>{const o=useCollection(),{recordDataBlocks:r}=useFilterBlock(),{getDataBlockRequest:i}=useDataBlockRequestGetter(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAssociatedFields(),c=(0,import_react2.useRef)(null),u=useDataLoadingMode(),m=n&&n.decoratorType!=="FilterFormBlockProvider"&&n.decoratorType!=="FormBlockProvider"&&n.decoratorProps.blockType!=="filter",d=(0,import_react2.useCallback)(()=>{const p=i();r({uid:a["x-uid"],title:n.componentProps.title,doFilter:p.runAsync,collection:o,associatedFields:l,foreignKeyFields:o==null?void 0:o.getFields("isForeignKey"),defaultFilter:(t==null?void 0:t.filter)||{},service:p,dom:c.current,dataLoadingMode:u,clearFilter(h){var g,_,f;const v=((g=this.service.params)==null?void 0:g[0])||{},C=((f=(_=this.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};delete C[h];const S=mergeFilter([...Object.values(C).map(b=>removeNullCondition(b)),(t==null?void 0:t.filter)||{}]);this.service.run(P(x({},v),{page:1,filter:S}),{filters:C})},clearData(){this.service.mutate(void 0)},clearSelection(){var h,g;n&&((g=(h=n.data)==null?void 0:h.clearSelectedRowKeys)==null||g.call(h))},highlightBlock(){var h;const g=c.current;if(!g)return;const _=g.querySelector(".ant-nb-schema-toolbar");_&&_.classList.remove("hidden"),g.style.boxShadow="0 3px 12px rgba(0, 0, 0, 0.15)",g.style.transition="box-shadow 0.3s ease, transform 0.2s ease",(h=g.scrollIntoView)==null||h.call(g,{behavior:"smooth",block:"start"})},unhighlightBlock(){const h=c.current;if(!h)return;const g=h.querySelector(".ant-nb-schema-toolbar");g&&g.classList.add("hidden"),h.style.boxShadow="none",h.style.transition="box-shadow 0.3s ease, transform 0.2s ease"}})},[l,o,u,a,t==null?void 0:t.filter,r,i,n]);return(0,import_react2.useEffect)(()=>{m&&d()},[d,m]),(0,import_jsx_runtime.jsx)("div",{ref:c,children:e})},useFilterBlock=()=>{const e=import_react2.default.useContext(FilterContext$1),t=useAllDataBlocks(),o=(0,import_react2.useCallback)(()=>(e==null?void 0:e.getDataBlocks())||[],[e]),r=(0,import_react2.useCallback)(n=>{t.recordDataBlocks(n);const a=e==null?void 0:e.getDataBlocks().find(l=>l.uid===n.uid);if(a){Object.assign(a,n);return}e==null||e.setDataBlocks(l=>[...l,n])},[e]),i=(0,import_react2.useCallback)(n=>{t.removeDataBlock(n),!(e!=null&&e.getDataBlocks().every(a=>a.uid!==n))&&(e==null||e.setDataBlocks(a=>a.filter(l=>l.uid!==n)))},[e]);return e?{recordDataBlocks:r,getDataBlocks:o,removeDataBlock:i,inProvider:!0}:{inProvider:!1,recordDataBlocks:import_lodash.default.noop,getDataBlocks:o,removeDataBlock:import_lodash.default.noop}},MarkdownVoidDesigner=()=>{const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{children:[(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:t("Edit markdown"),onClick:()=>{e.editable=!0}}),(0,import_jsx_runtime.jsx)(SchemaSettingsRenderEngine,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsBlockHeightItem,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};class QRCodeWebComponent extends HTMLElement{constructor(){super(),A(this,"root"),this.attachShadow({mode:"open"}),this.root=null}getProps(t,o={}){return[...t].filter(r=>r.name!=="style").map(r=>this.convert(o,r.name,r.value)).reduce((r,i)=>P(x({},r),{[i.name]:i.value}),{})}convert(t,o,r){const i=Object.keys(t).find(a=>a.toLowerCase()==o);let n=r;return r==="true"||r==="false"?n=r=="true":!isNaN(r)&&r!==""?n=+r:/^{.*}/.exec(r)&&(n=JSON.parse(r)),{name:i||o,value:n}}connectedCallback(){const t=x({},this.getProps(this.attributes));this.root=(0,import_client2.createRoot)(this.shadowRoot),this.root.render((0,import_jsx_runtime.jsx)(import_antd.QRCode,x({},t)))}disconnectedCallback(){this.root.unmount()}}function registerQrcodeWebComponent(){customElements.get("qr-code")||customElements.define("qr-code",QRCodeWebComponent)}const useStyles$a=genStyleHook("nb-markdown",(e,{isDarkTheme:t})=>{const{componentCls:o}=e,r=new import_tinycolor.TinyColor(e.colorFillAlter).onBackground(e.colorBgContainer).toHexShortString(),i={lineHeight:"inherit","&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:e.colorFillQuaternary,border:`1px solid ${e.colorBorder}`,borderRadius:e.borderRadiusSM},blockquote:{borderLeft:"4px solid #ccc",paddingLeft:"20px",marginLeft:"0",color:"#666",fontStyle:"italic"},img:{maxWidth:"100%"},".hljs":{background:"#f8f8f8",color:"#444"},".hljs-comment":{color:"#697070"},".hljs-punctuation,.hljs-tag":{color:"#444a"},".hljs-tag .hljs-attr,.hljs-tag .hljs-name":{color:"#444"},".hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag":{fontWeight:700},".hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type":{color:"#800"},".hljs-section,.hljs-title":{color:"#800",fontWeight:700},".hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable":{color:"#ab5656"},".hljs-literal":{color:"#695"},".hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code":{color:"#397300"},".hljs-meta":{color:"#1f7199"},".hljs-meta .hljs-string":{color:"#38a"},".hljs-emphasis":{fontStyle:"italic"},".hljs-strong":{fontWeight:700}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${e.colorBorderSecondary}`,padding:`${e.paddingContentVertical}px ${e.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:r,fontWeight:"bold",color:e.colorText},"tr:hover":{backgroundColor:e.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}},n={"&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:e.colorFillQuaternary,border:`1px solid ${e.colorBorder}`,borderRadius:e.borderRadiusSM},".hljs":{color:"#adbac7",background:"#22272e"},".hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_":{color:"#f47067"},".hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_":{color:"#dcbdfb"},".hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable":{color:"#6cb6ff"},".hljs-meta .hljs-string,.hljs-regexp,.hljs-string":{color:"#96d0ff"},".hljs-built_in,.hljs-symbol":{color:"#f69d50"},".hljs-code,.hljs-comment,.hljs-formula":{color:"#768390"},".hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag":{color:"#8ddb8c"},".hljs-subst":{color:"#adbac7"},".hljs-section":{color:"#316dca",fontWeight:700},".hljs-bullet":{color:"#eac55f"},".hljs-emphasis":{color:"#adbac7",fontStyle:"italic"},".hljs-strong":{color:"#adbac7",fontWeight:700},".hljs-addition":{color:"#b4f1b4",backgroundColor:"#1b4721"},".hljs-deletion":{color:"#ffd8d3",backgroundColor:"#78191b"}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${e.colorBorderSecondary}`,padding:`${e.paddingContentVertical}px ${e.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:r,fontWeight:"bold",color:e.colorText},"tr:hover":{backgroundColor:e.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return{[o]:x({lineHeight:e.lineHeight,"& > *:last-child":{marginBottom:"0"},".ant-description-textarea, .ant-description-input":{lineHeight:e.lineHeight},".field-interface-datetime":{minWidth:"100px"}},t?n:i)}}),parseMarkdown=import_lodash.default.memoize(e=>z(void 0,null,function*(){return e&&(yield Promise.resolve().then(()=>require("./md-oH2RssNY-IQIU5F3r.js"))).default.render(e)}));function useParseMarkdown(e){const[t,o]=(0,import_react2.useState)(""),[r,i]=(0,import_react2.useState)(!0);return(0,import_react2.useEffect)(()=>{i(!0),parseMarkdown(e).then(n=>{o(n),i(!1)}).catch(n=>console.log(n))},[e]),{html:t,loading:r}}function convertToText(e){const t=e;let o=document.createElement("div");o.innerHTML=t;const r=o.innerText;return o=null,(r==null?void 0:r.replace(/[\n\r]/g,""))||""}const MarkdownEditor=e=>{const{scope:t}=e,{t:o,i18n:r}=(0,import_react_i18next.useTranslation)(),[i,n]=(0,import_react2.useState)(e.defaultValue),a=(0,import_react2.useRef)(null),[l,c]=(0,import_react2.useState)([]),[u,m]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{c(t)},[t]),(0,import_react2.useEffect)(()=>{var p,h;const g=(h=(p=a==null?void 0:a.current)==null?void 0:p.resizableTextArea)==null?void 0:h.textArea;u&&g&&g.setSelectionRange(u,u)},[u]);const d=(0,import_react2.useCallback)(function(p){var h;const g=p.filter(y=>!!y.trim()),{current:_}=a,f=(h=_==null?void 0:_.resizableTextArea)==null?void 0:h.textArea;if(!f||!g)return;_.focus();const v=`{{${p.join(".")}}}`,C=f.selectionStart||0,S=i.substring(0,C)+v+i.substring(C,i.length),b=C+v.length;n(S),m(b)},[i]);return(0,import_jsx_runtime.jsxs)("div",{className:"mb-markdown",style:{position:"relative",paddingTop:"20px"},children:[(0,import_jsx_runtime.jsx)(import_antd.Input.TextArea,P(x({ref:a,autoSize:{minRows:3}},e),{value:i,onChange:p=>{n(p.target.value)},style:{paddingBottom:"40px"}})),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsxs)("span",{style:{marginLeft:".25em"},className:"ant-formily-item-extra",children:[o("Syntax references"),":"]}),(0,import_jsx_runtime.jsx)("a",{href:`https://${r.language==="zh-CN"?"docs-cn":"docs"}.nocobase.com/handbook/template-handlebars`,target:"_blank",rel:"noreferrer",children:"Handlebars.js"})]}),(0,import_jsx_runtime.jsx)("div",{style:{position:"absolute",top:21,right:1},children:(0,import_jsx_runtime.jsx)(VariableSelect,{options:l,setOptions:c,onInsert:d})}),(0,import_jsx_runtime.jsxs)(import_antd.Space,{style:{position:"absolute",bottom:30,right:5},children:[(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:p=>{var h;(h=e.onCancel)==null||h.call(e,p)},children:o("Cancel")}),(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",onClick:()=>{var p;(p=e.onSubmit)==null||p.call(e,i)},children:o("Save")})]})]})},useMarkdownHeight=()=>{const{token:e}=import_antd.theme.useToken(),t=useBlockHeight();if(t)return t-2*e.paddingLG};function extractNFormPaths(e){const t=/\{\{\$nForm\.([\w.]+)\}\}/g;return[...e.matchAll(t)].map(o=>o[1])}function getValuesByPaths(e,t){const o={};for(const r of t){const i=r.split(".");let n=e;for(const a of i)if(n&&typeof n=="object"&&a in n)n=n[a];else{n=void 0;break}o[r]=n}return o}const MarkdownVoidInner=withDynamicSchemaProps((0,import_react.observer)(e=>{const{isDarkTheme:t}=useGlobalTheme(),{componentCls:o,hashId:r}=useStyles$a({isDarkTheme:t}),{content:i,className:n}=e,a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{dn:c}=useDesignable(),{onSave:u,onCancel:m,form:d}=e,p=useCollectionRecord(),[h,g]=(0,import_react2.useState)(""),_=useVariables$1(),f=useLocalVariables$1(),{engine:v}=(l==null?void 0:l["x-decorator-props"])||{},[C,S]=(0,import_react2.useState)(!1),{t:b,i18n:y}=(0,import_react_i18next.useTranslation)(),F=(0,import_react.useForm)(),j=extractNFormPaths(i),[k,T]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{if(j.length>0){const L=(0,import_shared.uid)();return setTimeout(()=>{F.addEffects(L,()=>(0,import_reactive.reaction)(()=>{const D=getValuesByPaths(F.values,j);return JSON.stringify(D)},()=>{T((0,import_shared.uid)())},{fireImmediately:!0,equals:import_lodash.isEqual}))}),()=>{F.removeEffects(L)}}},[]),(0,import_react2.useEffect)(()=>{S(!0),z(void 0,null,function*(){setTimeout(()=>z(void 0,null,function*(){const L=yield getRenderContent(v,i,_,f,parseMarkdown,b);g(L)})),S(!1)})},[i,_,f,v,k]);const M=useMarkdownHeight(),w=useVariableOptions({collectionField:{uiSchema:l},form:d,record:p,uiSchema:l,noDisabled:!0});return(0,import_react2.useEffect)(()=>{registerQrcodeWebComponent()},[]),C?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):a!=null&&a.editable?(0,import_jsx_runtime.jsx)(MarkdownEditor,P(x({scope:w},e),{className:!0,defaultValue:i,onCancel:()=>{a.editable=!1,m==null||m()},onSubmit:L=>z(void 0,null,function*(){a.editable=!1,l["x-component-props"]!=null||(l["x-component-props"]={}),l["x-component-props"].content=L,a.componentProps.content=L,u==null||u(l),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":{content:L}}})})})):(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)([o,r,"nb-markdown nb-markdown-default nb-markdown-table",n]),style:P(x({},e.style),{height:M||"100%",overflowY:M?"auto":"null"}),dangerouslySetInnerHTML:{__html:h}})}),{displayName:"MarkdownVoid"}),MarkdownVoid=e=>{const t=useFlag(),o=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:o==null?void 0:o["x-uid"],type:"markdownBlock",children:(0,import_jsx_runtime.jsx)(FlagProvider,P(x({},t),{collectionField:!0,children:(0,import_jsx_runtime.jsx)(MarkdownVoidInner,x({},e))}))})};MarkdownVoid.Designer=MarkdownVoidDesigner;const Markdown=(0,import_react.connect)(import_antd.Input.TextArea,(0,import_react.mapProps)((e,t)=>P(x({autoSize:{maxRows:10,minRows:3}},e),{suffix:(0,import_jsx_runtime.jsx)("span",{children:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffix})})),(0,import_react.mapReadPretty)(e=>(0,import_jsx_runtime.jsx)(MarkdownReadPretty,x({},e)))),MarkdownReadPretty=e=>{const{isDarkTheme:t}=useGlobalTheme(),{wrapSSR:o,hashId:r,componentCls:i}=useStyles$a({isDarkTheme:t}),{html:n="",loading:a}=useParseMarkdown(e.value),l=(0,import_react2.useMemo)(()=>convertToText(n),[n]);if(a)return o((0,import_jsx_runtime.jsx)(import_antd.Spin,{}));const c=(0,import_jsx_runtime.jsx)("div",{className:`${r} ${i} nb-markdown nb-markdown-default nb-markdown-table`,dangerouslySetInnerHTML:{__html:n}});return o((0,import_jsx_runtime.jsx)(ReadPretty$c.TextArea,P(x({},e),{autop:!1,text:l,value:c})))};Markdown.Void=MarkdownVoid;const BlockItemCardContext=(0,import_react2.createContext)({}),BlockItemCard=import_react2.default.forwardRef((e,t)=>{var o=e,{children:r}=o,i=Y(o,["children"]);const{token:n}=useToken(),a=i,{title:l,description:c}=a,u=Y(a,["title","description"]),m=(0,import_react2.useMemo)(()=>({marginBottom:n.marginBlock,height:"100%"}),[n.marginBlock]),[d,p]=(0,import_react2.useState)(0),h=(0,import_react2.useRef)(null),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react.useFieldSchema)(),f=_==null?void 0:_["x-block-linkage-rules"];(0,import_react2.useEffect)(()=>{const S=setTimeout(()=>{if(h.current){const b=c?h.current.parentElement.parentElement.parentElement.offsetHeight:n.fontSizeLG*n.lineHeightLG+n.padding*2-1;p(b)}else d&&p(0)},500);return()=>clearTimeout(S)},[l,c]);const v=(l||c)&&(0,import_jsx_runtime.jsxs)("div",{ref:h,style:{padding:"8px 0px 8px"},children:[(0,import_jsx_runtime.jsxs)("span",{children:[" ",g(l,{ns:NAMESPACE_UI_SCHEMA})]}),c&&(0,import_jsx_runtime.jsx)(MarkdownReadPretty,{value:g(c,{ns:NAMESPACE_UI_SCHEMA}),style:{overflowWrap:"break-word",whiteSpace:"normal",fontWeight:400,color:n.colorTextDescription,borderRadius:"4px"}})]}),C=(0,import_jsx_runtime.jsx)(BlockItemCardContext.Provider,{value:{titleHeight:d},children:(0,import_jsx_runtime.jsx)(import_antd.Card,P(x({ref:t,variant:"borderless",style:m},u),{title:v,children:r}))});return f?(0,import_jsx_runtime.jsx)(BlockLinkageRuleProvider,{children:C}):C});BlockItemCard.displayName="BlockItemCard";const useBlockHeightProps=()=>{var e,t,o;const r=(0,import_react.useFieldSchema)(),i=getCardItemSchema(r),n=(e=useBlockTemplateContext())==null?void 0:e.fieldSchema,a=(0,import_react2.useMemo)(()=>getPageSchema(n||r),[]),{disablePageHeader:l,enablePageTabs:c,hidePageTitle:u}=(a==null?void 0:a["x-component-props"])||{},{titleHeight:m}=(0,import_react2.useContext)(BlockItemCardContext)||{},{allAccessRoutes:d}=useAllAccessDesktopRoutes(),p=useCurrentPageUid(),h=(0,import_react2.useMemo)(()=>findRouteBySchemaUid(p,d),[p,d]);return{heightProps:P(x({},i==null?void 0:i["x-component-props"]),{title:((t=i==null?void 0:i["x-component-props"])==null?void 0:t.title)||((o=i==null?void 0:i["x-component-props"])==null?void 0:o.description),disablePageHeader:l,enablePageTabs:(h==null?void 0:h.enableTabs)||c,hidePageTitle:u,titleHeight:m})}},getPageSchema=e=>e?e["x-component"]==="Page"?e:getPageSchema(e.parent):null,getCardItemSchema=e=>e?["BlockItem","CardItem"].includes(e["x-component"])?e:getCardItemSchema(e.parent):null,useDataBlockParentRecord=({association:e})=>{var t;const o=useCollectionRecordData(),r=useCollectionParentRecordData(),i=useCollectionManager(),n=useCollection();if(!e)return;const a=i.getCollection(e.split(".")[0]);return n.name===a.name||(t=n.getParentCollectionsName)!=null&&t.call(n).includes(a.name)?o:r},usePickActionProps$1=()=>{const e=(0,import_react.useForm)();return{onClick(){console.log("usePickActionProps",e.values)}}};function renderTemplate(e,t){const o=/\{\{\s*((\w+\.?)+)\s*\}\}/g;return e.replace(o,function(r,i){return(0,import_get.default)(t,i)||""})}function getFilteredFormValues(e){const t=import_lodash.default.cloneDeep(e.values),o=[];return e.query("*").forEach(r=>{r&&o.push(r)}),import_lodash.default.uniq(o.filter(r=>{var i,n;const a=((i=r.path)==null?void 0:i.segments)||[],l=a.length<=1?a.join("."):a.slice(0,-1).join(".");return((n=r==null?void 0:r.componentProps)==null?void 0:n.readOnlySubmit)&&!(0,import_get.default)(t,l)[r==null?void 0:r.componentProps.filterTargetKey]}).map(r=>{var i;const n=((i=r.path)==null?void 0:i.segments)||[];return n.length<=1?n.join("."):n.slice(0,-1).join(".")})).forEach((r,i)=>{(i!==0||r.includes("."))&&!t[r]&&import_lodash.default.unset(t,r)}),t}function getFormValues({filterByTk:e,field:t,form:o,fieldNames:r,getField:i,resource:n,actionFields:a}){if(e&&a){const l=Object.keys(o.values).filter(c=>{const u=i(c);return!a.includes(c)&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(u==null?void 0:u.type)});return(0,import_omit.default)(x({},o.values),l)}return getFilteredFormValues(o)}function useCollectValuesToSubmit(){const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r}=useBlockRequestContext(),{fields:i,getField:n,getTreeParentField:a,name:l}=useCollection_deprecated(),c=i.map(_=>_.name),{fieldSchema:u}=useActionContext(),{getActiveFieldsName:m}=useFormActiveFields()||{},d=useVariables$1(),p=useLocalVariables$1({currentForm:e}),h=(0,import_react.useFieldSchema)(),g=useTreeParentRecord();return(0,import_react2.useCallback)(()=>z(this,null,function*(){var _,f,v,C;const{assignedValues:S={},overwriteValues:b}=(_=h==null?void 0:h["x-action-settings"])!=null?_:{},y=getFormValues({filterByTk:t,field:o,form:e,fieldNames:c,getField:n,resource:r,actionFields:(m==null?void 0:m("form"))||[]}),F={},j=Object.keys(S).map(k=>z(this,null,function*(){const T=S[k],M=n(k);if(isVariable$1(T)){const{value:w}=(yield d==null?void 0:d.parseVariable(T,p))||{};F[k]=transformVariableValue(w,{targetCollectionField:M})}else T!==""&&(F[k]=T)}));if(yield Promise.all(j),(f=u==null?void 0:u["x-component-props"])==null?void 0:f.addChild){const k=a();y[(v=k==null?void 0:k.name)!=null?v:"parent"]=g,y[(C=k==null?void 0:k.foreignKey)!=null?C:"parentId"]=g==null?void 0:g.id}return x(x(x({},y),b),F)}),[h,o,c,u,t,e,m,n,a,p,l,r,g,d])}const useCreateActionProps=()=>{var e;const t=useFilterByTk(),o=useCollectionRecord(),r=(0,import_react.useForm)(),{field:i,resource:n}=useBlockRequestContext(),{setVisible:a,setSubmitted:l,setFormValueChanged:c}=useActionContext(),u=useNavigateNoUpdate(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),p=useCompile(),{modal:h}=import_antd.App.useApp(),{t:g}=(0,import_react_i18next.useTranslation)(),{updateAssociationValues:_}=useFormBlockContext(),f=useCollectValuesToSubmit(),v=o.isNew?d.componentProps.saveMode||"create":"update",C=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[],S=useLocalVariables$1(),b=useVariables$1();return{onClick(){return z(this,null,function*(){var y,F;const{onSuccess:j,skipValidator:k,triggerWorkflows:T}=(y=m==null?void 0:m["x-action-settings"])!=null?y:{},{manualClose:M,redirecting:w,redirectTo:L,successMessage:D,actionAfterSuccess:R}=j||{};k||(yield r.submit());const N=yield f();d.data=i.data||{},d.data.loading=!0;try{const B=yield n[v]({values:N,filterKeys:C,filterByTk:t,triggerWorkflows:T!=null&&T.length?T.map($=>[$.workflowKey,$.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});let I=L;if(L&&(I=yield getVariableValue(L,{variables:b,localVariables:[...S,{name:"$record",ctx:new Proxy((F=B==null?void 0:B.data)==null?void 0:F.data,{})}]})),(R==="previous"||!R&&w!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=B,!D){import_antd.message.success(g("Saved successfully")),yield resetFormCorrectly(r),(w&&!R||R==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I));return}M?h.success({title:p(D),onOk:()=>z(this,null,function*(){yield resetFormCorrectly(r),(w&&!R||R==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I))})}):(import_antd.message.success(p(D)),yield resetFormCorrectly(r),(w&&!R||R==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I)))}catch{d.data.loading=!1}})}}},useAssociationCreateActionProps=()=>{var e;const t=(0,import_react.useForm)(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,fieldSchema:a,setSubmitted:l}=useActionContext(),c=(0,import_react.useFieldSchema)(),u=(0,import_react.useField)(),{fields:m,getField:d,getTreeParentField:p,name:h}=useCollection_deprecated(),g=useCompile(),_=useFilterByTk(),f=useRecord(),v=useVariables$1(),C=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},b=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return z(this,null,function*(){var F,j,k,T,M,w;const L=m.map(q=>q.name),{assignedValues:D={},onSuccess:R,overwriteValues:N,skipValidator:B,triggerWorkflows:I}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},$=(j=a==null?void 0:a["x-component-props"])==null?void 0:j.addChild,{successMessage:E}=R||{},O={},V=Object.keys(D).map(q=>z(this,null,function*(){const G=D[q],W=d(q);if(isVariable$1(G)){const{value:H}=(yield v==null?void 0:v.parseVariable(G,C))||{};O[q]=transformVariableValue(H,{targetCollectionField:W})}else G!==""&&(O[q]=G)}));yield Promise.all(V),B||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:L,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if($){const q=p();U[(k=q==null?void 0:q.name)!=null?k:"parent"]=f,U[(T=q==null?void 0:q.foreignKey)!=null?T:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const q=yield r[b]({values:x(x(x({},U),N),O),filterKeys:y,triggerWorkflows:I!=null&&I.length?I.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0});if(u.data.loading=!1,u.data.data=q,(w=(M=i==null?void 0:i.service)==null?void 0:M.refresh)==null||w.call(M),n==null||n(!1),l==null||l(!0),!E)return;import_antd.message.success(g(E))}catch{u.data.data=null,u.data.loading=!1}})}}},findFilterTargets=e=>{for(;e;){if(e["x-filter-targets"])return{targets:e["x-filter-targets"],uid:e["x-uid"]};e=e.parent}return{}},updateFilterTargets=(e,t)=>{for(;e;){if(e["x-filter-targets"]){e["x-filter-targets"]=t;return}e=e.parent}},useDoFilter=()=>{const e=(0,import_react.useForm)(),{getDataBlocks:t}=useFilterBlock(),o=useCollectionManager(),{getOperators:r}=useOperators(),i=(0,import_react.useFieldSchema)(),{name:n}=useCollection(),{targets:a=[],uid:l}=(0,import_react2.useMemo)(()=>findFilterTargets(i),[i]),c=(0,import_react2.useCallback)(()=>removeNullCondition(transformToFilter(e.values,r(),o.getCollectionField.bind(o),n)),[e.values,o,r,n]),u=(0,import_react2.useCallback)((...m)=>z(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>z(void 0,null,function*(){var h,g,_,f;if(!a.find(b=>b.uid===p.uid))return;const v=((h=p.service.params)==null?void 0:h[0])||{},C=((_=(g=p.service.params)==null?void 0:g[1])==null?void 0:_.filters)||{};C[l]=c();const S=mergeFilter([...Object.values(C).map(b=>removeNullCondition(b)),p.defaultFilter]);if(import_lodash.default.isEmpty(C[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(C[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(C[l])?p.clearData():(import_lodash.default.set(p.service.params,"1.filters",C),p.doFilter(P(x({},v),{page:1,filter:S}),{filters:C}))})))}catch(p){console.error(p)}}),[t,c,a,l]);return(0,import_react2.useEffect)(()=>{setTimeout(()=>{u({doNothingWhenFilterIsEmpty:!0})},500)},[u]),{doFilter:u,getFilterFromCurrentForm:c}},useFilterBlockActionProps=()=>{const{doFilter:e}=useDoFilter(),t=(0,import_react.useField)();return t.data=t.data||{},{onClick(){return z(this,null,function*(){t.data.loading=!0,yield e(),t.data.loading=!1})}}},useDoReset=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getDataBlocks:o}=useFilterBlock(),{targets:r,uid:i}=findFilterTargets(t),{doFilter:n,getFilterFromCurrentForm:a}=useDoFilter();return{doReset:()=>z(void 0,null,function*(){var l;if(yield e.reset(void 0,{forceClear:!!((l=t==null?void 0:t["x-component-props"])!=null&&l.clearDefaultValue)}),import_lodash.default.isEmpty(a()))return doReset({getDataBlocks:o,targets:r,uid:i});yield n()})}},useResetBlockActionProps=()=>{const e=(0,import_react.useField)(),{doReset:t}=useDoReset();return e.data=e.data||{},{onClick(){return z(this,null,function*(){e.data.loading=!0,yield t(),e.data.loading=!1})}}},useCustomizeUpdateActionProps=()=>{const{resource:e,__parent:t,service:o}=useBlockRequestContext(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useNavigateNoUpdate(),a=useCompile(),l=(0,import_react.useForm)(),{modal:c}=import_antd.App.useApp(),u=useVariables$1(),m=useLocalVariables$1({currentForm:l}),{name:d,getField:p}=useCollection_deprecated(),{setVisible:h}=useActionContext();return{onClick(g,_){return z(this,null,function*(){var f,v,C,S;const{assignedValues:b={},onSuccess:y,skipValidator:F,triggerWorkflows:j}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:k,redirecting:T,redirectTo:M,successMessage:w,actionAfterSuccess:L}=y||{},D={},R=Object.keys(b).map(I=>z(this,null,function*(){const $=b[I],E=p(I);if(isVariable$1($)){const{value:O}=(yield u==null?void 0:u.parseVariable($,m))||{};D[I]=transformVariableValue(O,{targetCollectionField:E})}else $!==""&&(D[I]=$)}));yield Promise.all(R),F===!1&&(yield l.submit());const N=yield e.update({filterByTk:r,values:x({},D),triggerWorkflows:j!=null&&j.length?j.map(I=>[I.workflowKey,I.context].filter(Boolean).join("!")).join(","):void 0});let B=M;M&&(B=yield getVariableValue(M,{variables:u,localVariables:[...m,{name:"$record",ctx:new Proxy((v=N==null?void 0:N.data)==null?void 0:v.data,{})}]})),(L==="previous"||!L&&T!==!0)&&(h==null||h(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(S=(C=t==null?void 0:t.service)==null?void 0:C.refresh)==null||S.call(C),w&&(k?c.success({title:a(w),onOk:()=>z(this,null,function*(){(T&&!L||L==="redirect")&&B&&((0,import_client.isURL)(B)?window.location.href=B:n(B))})}):(import_antd.message.success(a(w)),(T&&!L||L==="redirect")&&B&&((0,import_client.isURL)(B)?window.location.href=B:n(B))))})}}},useCustomizeBulkUpdateActionProps=()=>{var e,t,o,r;const{field:i,resource:n,__parent:a,service:l}=useBlockRequestContext(),c=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),u=(0,import_react.useFieldSchema)(),m=useTableBlockContext(),{rowKey:d}=m,p=(r=(o=(t=(e=m.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys)!=null?o:c==null?void 0:c.selectedRecordKeys)!=null?r:{},h=useNavigateNoUpdate(),g=useCompile(),{t:_}=(0,import_react_i18next.useTranslation)(),f=(0,import_react.useField)(),{modal:v}=import_antd.App.useApp(),C=useVariables$1();useRecord();const{name:S,getField:b}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return z(this,null,function*(){var j;const{assignedValues:k={},onSuccess:T,updateMode:M}=(j=u==null?void 0:u["x-action-settings"])!=null?j:{},{manualClose:w,redirecting:L,redirectTo:D,successMessage:R,actionAfterSuccess:N}=T||{};f.data=i.data||{},f.data.loading=!0;const B={},I=Object.keys(k).map($=>z(this,null,function*(){const E=k[$],O=b($);if(isVariable$1(E)){const{value:V}=(yield C==null?void 0:C.parseVariable(E,y))||{};B[$]=transformVariableValue(V,{targetCollectionField:O})}else E!==""&&(B[$]=E)}));yield Promise.all(I),(N==="previous"||!N&&L!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_(M==="selected"?"Update selected data?":"Update all data?"),onOk(){return z(this,null,function*(){var $,E,O,V;const{filter:U}=(E=($=l.params)==null?void 0:$[0])!=null?E:{},q={values:x({},B),filter:U,forceUpdate:!1};if(M==="selected"){if(!(p!=null&&p.length)){import_antd.message.error(_("Please select the records to be updated")),f.data.loading=!1;return}q.filter={$and:[{[d||"id"]:{$in:p}}]}}q.filter||(q.forceUpdate=!0);try{yield n.update(q)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(V=(O=a==null?void 0:a.service)==null?void 0:O.refresh)==null||V.call(O),R&&(w?v.success({title:g(R),onOk:()=>z(this,null,function*(){(L&&!N||N==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:h(D))})}):(import_antd.message.success(g(R)),(L&&!N||N==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:h(D))))})},onCancel(){return z(this,null,function*(){f.data.loading=!1})}})})}}},useCustomizeRequestActionProps=()=>{var e;const t=useAPIClient(),o=useNavigateNoUpdate(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useCompile(),a=(0,import_react.useForm)(),{fields:l,getField:c}=useCollection_deprecated(),{field:u,resource:m,__parent:d,service:p}=useBlockRequestContext(),h=useRecord(),g=useCurrentUserContext(),_=(e=g==null?void 0:g.data)==null?void 0:e.data,f=(0,import_react.useField)(),{t:v}=(0,import_react_i18next.useTranslation)(),{setVisible:C}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:b}=useFormActiveFields()||{};return{onClick(){return z(this,null,function*(){var y,F,j,k;const{skipValidator:T,onSuccess:M,requestSettings:w}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:L,redirecting:D,redirectTo:R,successMessage:N,actionAfterSuccess:B}=M||{},I=i==null?void 0:i["x-action"];if(!w.url)return;T!==!0&&I==="customize:form:request"&&(yield a.submit());const $=w.headers?JSON.parse(w.headers):{},E=w.params?JSON.parse(w.params):{},O=w.data?JSON.parse(w.data):{};if(I==="customize:form:request"&&["POST","PUT","PATCH"].includes(w.method)){const U=l.map(G=>G.name),q=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(b==null?void 0:b("form"))||[]});Object.assign(O,q)}const V={url:renderTemplate(w.url,{currentRecord:h,currentUser:_}),method:w.method,headers:(0,import_client.parse)($)({currentRecord:h,currentUser:_}),params:(0,import_client.parse)(E)({currentRecord:h,currentUser:_}),data:(0,import_client.parse)(O)({currentRecord:h,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},V)),f.data.loading=!1,m instanceof TableFieldResource||(j=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||j.call(F),(k=p==null?void 0:p.refresh)==null||k.call(p),I==="customize:form:request"&&(B==="previous"||!B&&D!==!0)&&(C==null||C(!1)),N||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(D&&!B||B==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:o(R))),L?S.success({title:n(N),onOk:()=>z(this,null,function*(){(D&&!B||B==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:o(R))})}):import_antd.message.success(n(N))}finally{f.data.loading=!1}})}}},useUpdateActionProps=()=>{const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setFormValueChanged:a}=useActionContext(),l=(0,import_react.useFieldSchema)(),c=useNavigateNoUpdate(),{fields:u,getField:m,name:d}=useCollection_deprecated(),p=useCompile(),h=(0,import_react.useField)(),{updateAssociationValues:g}=useFormBlockContext(),{modal:_}=import_antd.App.useApp(),f=useParamsFromRecord(),v=useVariables$1(),C=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(b,y){return z(this,null,function*(){var F,j;const{assignedValues:k={},onSuccess:T,overwriteValues:M,skipValidator:w,triggerWorkflows:L}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:D,redirecting:R,redirectTo:N,successMessage:B,actionAfterSuccess:I}=T||{},$={},E=Object.keys(k).map(U=>z(this,null,function*(){const q=k[U],G=m(U);if(isVariable$1(q)){const{value:W}=(yield v==null?void 0:v.parseVariable(q,C))||{};$[U]=transformVariableValue(W,{targetCollectionField:G})}else q!==""&&($[U]=q)}));yield Promise.all(E),w||(yield e.submit());const O=u.map(U=>U.name),V=getFormValues({filterByTk:t,field:o,form:e,fieldNames:O,getField:m,resource:r,actionFields:(S==null?void 0:S("form"))||[]});h.data=o.data||{},h.data.loading=!0;try{const U=yield r.update(P(x({filterByTk:t,values:x(x(x({},V),M),$)},f),{updateAssociationValues:g,triggerWorkflows:L!=null&&L.length?L.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0}));h.data.loading=!1,y&&(y==null||y());let q=N;if(N&&(q=yield getVariableValue(N,{variables:v,localVariables:[...C,{name:"$record",ctx:new Proxy((j=U==null?void 0:U.data)==null?void 0:j.data,{})}]})),(I==="previous"||!I&&R!==!0)&&(n==null||n(!1)),a==null||a(!1),!B)return;D?_.success({title:p(B),onOk:()=>z(this,null,function*(){yield e.reset(),(R&&!I||I==="redirect")&&q&&((0,import_client.isURL)(q)?window.location.href=q:c(q))})}):(import_antd.message.success(p(B)),(R&&!I||I==="redirect"||I==="redirect")&&q&&((0,import_client.isURL)(q)?window.location.href=q:c(q)))}catch{h.data.loading=!1}})}}},useDestroyActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a}=useActionContext(),l=useParamsFromRecord(),c=(0,import_react.useFieldSchema)();return{onClick(u,m){return z(this,null,function*(){var d,p,h,g,_,f,v;const{triggerWorkflows:C}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:C!=null&&C.length?C.map(F=>[F.workflowKey,F.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:S=0,page:b=0,pageSize:y=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};if(S%y===1&&b!==1){const F=(h=o.params[0])==null?void 0:h.page,j=(_=(g=o.data)==null?void 0:g.meta)==null?void 0:_.totalPage;F===j&&o.params[0]&&F!==1&&(o.params[0].page=F-1)}m&&(m==null||m()),a==null||a(!0),r&&r!=="TableField"&&((v=(f=i==null?void 0:i.service)==null?void 0:f.refresh)==null||v.call(f),n==null||n(!1),a==null||a(!0))})}}},useRemoveActionProps=e=>{const t=useFilterByTk(),o=useAPIClient().resource(e,t);return{onClick(r){return z(this,null,function*(){yield o.remove({values:[r.id]})})}}},useDisassociateActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a,setFormValueChanged:l}=useActionContext();return{onClick(c,u){return z(this,null,function*(){var m,d,p,h;yield t.remove({values:[e]});const{count:g=0,page:_=0,pageSize:f=0}=((m=o==null?void 0:o.data)==null?void 0:m.meta)||{};g%f===1&&_!==1?o.run(P(x({},(d=o==null?void 0:o.params)==null?void 0:d[0]),{page:_-1})):u&&(u==null||u()),a==null||a(!0),r&&r!=="TableField"&&((h=(p=i==null?void 0:i.service)==null?void 0:p.refresh)==null||h.call(p),n==null||n(!1),l==null||l(!1))})}}},useBulkDestroyActionProps=()=>{const{field:e}=useBlockRequestContext(),{resource:t,service:o}=useBlockRequestContext(),{setSubmitted:r}=useActionContext(),i=useCollection_deprecated(),{filterTargetKey:n}=i;return{onClick(a,l){return z(this,null,function*(){var c,u,m,d,p,h,g;let _=(c=e.data)==null?void 0:c.selectedRowKeys;if(Array.isArray(n)&&(_=e.data.selectedRowData.map(C=>{const S={};return n.map(b=>{S[b]=C[b]}),S})),!((m=(u=e==null?void 0:e.data)==null?void 0:u.selectedRowKeys)!=null&&m.length))return;yield t.destroy({filterByTk:_}),e.data.selectedRowKeys=[];const f=(d=o.params[0])==null?void 0:d.page,v=(h=(p=o.data)==null?void 0:p.meta)==null?void 0:h.totalPage;f===v&&o.params[0]&&f!==1&&(o.params[0].page=f-1),l&&(l==null||l()),r==null||r(!0),(g=o==null?void 0:o.refresh)==null||g.call(o)})}}},useRefreshActionProps=()=>{const{service:e}=useBlockRequestContext();return{onClick(){return z(this,null,function*(){var t;(t=e==null?void 0:e.refresh)==null||t.call(e)})}}},useDetailsPaginationProps=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,h,g;const _=useDetailsBlockContext(),f=((o=(t=(e=_.service)==null?void 0:e.data)==null?void 0:t.meta)==null?void 0:o.count)||0,v=(n=(i=(r=_.service)==null?void 0:r.data)==null?void 0:i.meta)==null?void 0:n.page;return!f&&v?{simple:!0,current:((c=(l=(a=_.service)==null?void 0:a.data)==null?void 0:l.meta)==null?void 0:c.page)||1,pageSize:1,showSizeChanger:!1,align:"center",onChange(C){return z(this,null,function*(){var S,b;const y=(b=(S=_.service)==null?void 0:S.params)==null?void 0:b[0];_.service.run(P(x({},y),{page:C}))})},style:{marginTop:24,textAlign:"center"},showTotal:!1,showTitle:!1,total:(d=(m=(u=_.service)==null?void 0:u.data)==null?void 0:m.data)!=null&&d.length?1*v+1:1*v,className:import_css.css`
632
632
  .ant-pagination-simple-pager {
633
633
  display: none !important;
634
634
  }
@@ -919,7 +919,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
919
919
  width: ${a}px !important;
920
920
  height: ${a}px !important;
921
921
  }
922
- `),style:p,children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${m}-list`,`${m}-list-picture-card`),style:p,children:(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:i,readPretty:!0,multiple:n,value:o,onChange:r},l))})}))}const Upload=(0,import_react.connect)(InternalUpload,(0,import_react.mapProps)({value:"fileList"}),(0,import_react.mapReadPretty)(ReadPretty$9));Upload.ReadPretty=ReadPretty$9;function useSizeHint(e){const t=e??FILE_SIZE_LIMIT_DEFAULT,{t:o,i18n:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_filesize.default)(t,{base:2,standard:"jedec",locale:r.language});return t!==0?o("File size should not exceed {{size}}.",{size:i}):""}function DefaultThumbnailPreviewer({file:e}){var t;const{componentCls:o}=useStyles$6(),{getThumbnailURL:r=getThumbnailPlaceholderURL}=(t=attachmentFileTypes.getTypeByFile(e))!=null?t:{},i=r(e);return(0,import_jsx_runtime.jsx)("img",{src:i,alt:e.title,className:`${o}-list-item-image`})}function AttachmentListItem(e){var t,o;const{file:r,disabled:i,onPreview:n,onDelete:a,readPretty:l,showFileName:c}=e,{componentCls:u}=useStyles$6(),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useCallback)(C=>{C.preventDefault(),C.stopPropagation(),n==null||n(r)},[r,n]),p=(0,import_react2.useCallback)(()=>{a==null||a(r)},[r,a]),h=(0,import_react2.useCallback)(()=>{(0,import_file_saver.saveAs)(r.url,`${r.title}${r.extname}`)},[r]),{ThumbnailPreviewer:g=DefaultThumbnailPreviewer}=(t=attachmentFileTypes.getTypeByFile(r))!=null?t:{},_=[(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-thumbnail`,children:(0,import_jsx_runtime.jsx)(g,{file:r})},"thumbnail"),c!==!1&&r.title?(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-name`,title:r.title,children:r.status==="uploading"?m("Uploading"):r.title},"title"):null],f=r.url?(0,import_jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:r.url,onClick:d,children:_}):(0,import_jsx_runtime.jsx)("span",{className:`${u}-span`,children:_}),v=(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${u}-list-item`,`${u}-list-item-${(o=r.status)!=null?o:"done"}`,`${u}-list-item-list-type-picture-card`),children:[(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-info`,children:f}),(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-actions`,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,children:[!l&&r.url&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DownloadOutlined,{}),onClick:h}),!l&&!i&&r.status!=="uploading"&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DeleteOutlined,{}),onClick:p})]})}),r.status==="uploading"&&(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-progress`,children:(0,import_jsx_runtime.jsx)(import_antd.Progress,{strokeWidth:4,type:"line",showInfo:!1,percent:Number(r.percent)})})]});return(0,import_jsx_runtime.jsx)("div",{style:{marginBottom:c!==!1&&r.title?"28px":"0px"},className:`${u}-list-picture-card-container ${u}-list-item-container`,children:r.status==="error"?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:r.response,getPopupContainer:C=>C.parentNode,children:v}):v})}function Previewer({index:e,onSwitchIndex:t,list:o}){var r;if(e==null)return null;const i=o[e],{Previewer:n=IframePreviewer}=(r=attachmentFileTypes.getTypeByFile(i))!=null?r:{};return(0,import_jsx_runtime.jsx)(n,{index:e,list:o,onSwitchIndex:t})}function AttachmentList(e){const{disabled:t,multiple:o,value:r,onChange:i,readPretty:n,showFileName:a}=e,[l,c]=(0,import_react2.useState)([]),[u,m]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{const h=toFileList(r);c(h)},[r]);const d=(0,import_react2.useCallback)(h=>{const g=l.findIndex(_=>_.id===h.id);m(g)},[l]),p=(0,import_react2.useCallback)(h=>{i(o?r.filter(g=>g.id!==h.id):null)},[o,i,r]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[l.map((h,g)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:h,index:g,disabled:t,onPreview:d,onDelete:p,readPretty:n,showFileName:a},h.id||h.url)),(0,import_jsx_runtime.jsx)(Previewer,{index:u,onSwitchIndex:m,list:l})]})}function Uploader(e){var t=e,{rules:o}=t,r=Y(t,["rules"]);const{disabled:i,multiple:n,value:a,onChange:l,toValueItem:c=toValueItem}=r,[u,m]=(0,import_react2.useState)([]),[d,p]=(0,import_react2.useState)([]),{t:h}=(0,import_react_i18next.useTranslation)(),{componentCls:g}=useStyles$6(),_=(0,import_react.useField)(),f=useUploadProps(r),v=useBeforeUpload(o);(0,import_react2.useEffect)(()=>{if(d.length){const M=d.filter(w=>w.status==="error");_.setFeedback({type:"error",code:"ValidateError",messages:[M.length?h("Some files are not uploaded correctly, please check."):" "]})}else _.setFeedback({})},[_,d,h]);const C=(0,import_react2.useCallback)(M=>{var w;const L=M.fileList.filter(D=>D.status!=="done").map(normalizeFile);if(p(L),n){const D=M.fileList.filter(R=>R.status==="done");if(D.length){const R=[...u,...D.map(N=>{var B;return c((B=N.response)==null?void 0:B.data)})];L.length?m(R):(l==null||l([...a||[],...R]),m([]))}}else{const D=M.fileList.find(R=>R.uid===M.file.uid);D.status==="done"&&(l==null||l(c((w=D.response)==null?void 0:w.data)),p([]))}},[n,a,u,c,l]),S=(0,import_react2.useCallback)(M=>{p(w=>{const L=w.indexOf(M);return w.splice(L,1),[...w]})},[]),b=(0,import_react2.useCallback)(M=>{m(w=>{const L=w.indexOf(M);return w.splice(L,1),[...w]})},[]),y=useComponent("QRCodeUploader"),{mimetype:F,size:j}=o??{},k=useSizeHint(j),T=!i&&(n||(!a||Array.isArray(a)&&!a.length)&&!d.length);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[u.map((M,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:M,index:w,disabled:i,onDelete:b},M.id)),d.map((M,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:M,index:w,disabled:i,onDelete:S},M.uid)),(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-list-picture-card-container`,`${g}-list-item-container`),style:T?{}:{display:"none"},children:(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:k,children:(0,import_jsx_runtime.jsx)(import_antd.Upload,P(x({accept:F},f),{disabled:i,multiple:n,listType:"picture-card",fileList:d,beforeUpload:v,onChange:C,showUploadList:!1,children:T?(0,import_jsx_runtime.jsxs)("span",{children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("br",{})," ",h("Upload")]}):null}))})}),T&&y&&(0,import_jsx_runtime.jsx)(y,{disabled:i,multiple:n,value:a,onChange:l})]})}function Attachment(e){const{wrapSSR:t,hashId:o,componentCls:r}=useStyles$6();return t((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${r}-wrapper`,`${r}-picture-card-wrapper`,"nb-upload",o),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${r}-list`,`${r}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({},e)),(0,import_jsx_runtime.jsx)(Uploader,x({},e))]})}))}Attachment.ReadPretty=ReadPretty$9;Upload.Attachment=withDynamicSchemaProps((0,import_react.connect)(Attachment,(0,import_react.mapReadPretty)(Attachment.ReadPretty)),{displayName:"Upload.Attachment"});Upload.Dragger=(0,import_react.connect)(e=>{const t=e,{tipContent:o,onChange:r}=t,i=Y(t,["tipContent","onChange"]),{wrapSSR:n,hashId:a,componentCls:l}=useStyles$6(),c=(0,import_react2.useCallback)(u=>{r==null||r(toFileList(u.fileList))},[r]);return n((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${l}-dragger`,a),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(i)),{onChange:c,children:[o,e.children]}))}))},(0,import_react.mapProps)({value:"fileList"}));Upload.DraggerV2=withDynamicSchemaProps((0,import_react.connect)(e=>{var t=e,{rules:o}=t,r=Y(t,["rules"]);const{t:i}=(0,import_react_i18next.useTranslation)(),n=i("Click or drag file to this area to upload"),a=useProps(r),{title:l=n}=a,c=Y(a,["title"]),[u,m]=(0,import_react2.useState)(!1),{wrapSSR:d,hashId:p,componentCls:h}=useStyles$6(),g=useBeforeUpload(o),{size:_,mimetype:f}=o??{},v=useSizeHint(_),C=(0,import_react2.useCallback)(({fileList:S})=>{const{onChange:b}=c;b==null||b(S),S.some(y=>y.status==="uploading")?m(!0):m(!1)},[c]);return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-dragger`,p),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(P(x(x({},r),c),{accept:f,onChange:C,beforeUpload:g}))),{children:[(0,import_jsx_runtime.jsx)("p",{className:`${h}-drag-icon`,children:u?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{style:{fontSize:36},spin:!0}):(0,import_jsx_runtime.jsx)(import_icons.InboxOutlined,{})}),(0,import_jsx_runtime.jsx)("p",{className:`${h}-text`,children:l}),(0,import_jsx_runtime.jsxs)("ul",{children:[(0,import_jsx_runtime.jsx)("li",{className:`${h}-hint`,children:i("Support for a single or bulk upload.")}),(0,import_jsx_runtime.jsx)("li",{className:`${h}-hint`,children:v})]})]}))}))},(0,import_react.mapProps)({value:"fileList"})),{displayName:"Upload.DraggerV2"});const schema$1={Nester:{type:"void","x-component":"AssociationField.Nester",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"form:configureFields"}}},AddNewer:{type:"void","x-component":"AssociationField.AddNewer","x-action":"create",title:'{{ t("Add record") }}',"x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab","x-initializer-props":{gridInitializer:"popup:addNew:addBlock"},properties:{tab1:{type:"void",title:'{{t("Add new")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:addNew:addBlock",properties:{}}}}}}}},Selector:{type:"void","x-component":"AssociationField.Selector",title:'{{ t("Select record") }}',"x-component-props":{className:"nb-record-picker-selector"},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:tableSelector:addBlock",properties:{}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}},Viewer:{type:"void",title:'{{ t("View record") }}',"x-component":"AssociationField.Viewer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},SubTable:{type:"void","x-component":"AssociationField.SubTable","x-initializer":"table:configureColumns","x-initializer-props":{action:!1},properties:{}}},useTableSelectorProps$3=()=>{const e=(0,import_react.useField)(),{multiple:t,options:o=[],setSelectedRows:r,selectedRows:i=[],onChange:n}=(0,import_react2.useContext)(RecordPickerContext),a=useTableSelectorProps$4(),{onRowSelectionChange:l,rowKey:c="id"}=a,u=Y(a,["onRowSelectionChange","rowKey"]),{setVisible:m}=useActionContext();return P(x({},u),{rowKey:c,rowSelection:{type:t?"checkbox":"radio",selectedRowKeys:i==null?void 0:i.filter(d=>o.every(p=>p[c]!==d[c])).map(d=>d[c])},onRowSelectionChange(d,p){if(t){const h=flatData$2(e.value)||[],g=(0,import_lodash.differenceBy)(i||[],h,c),_=(0,import_lodash.unionBy)(g,p,c),f=_.map(v=>v[c]);r==null||r(_),l==null||l(f,_)}else r==null||r(p),l==null||l(d,p),n((p==null?void 0:p[0])||null),m(!1)}})};function FileSelector(e){const t=e,{disabled:o,multiple:r,value:i,onChange:n,action:a,onSelect:l,quickUpload:c,selectFile:u}=t,m=Y(t,["disabled","multiple","value","onChange","action","onSelect","quickUpload","selectFile"]),{wrapSSR:d,hashId:p,componentCls:h}=useStyles$6(),{useFileCollectionStorageRules:g,useAttachmentFieldProps:_}=(0,import_react.useExpressionScope)(),{t:f}=(0,import_react_i18next.useTranslation)(),v=g(),C=_(),S=u===void 0&&c===void 0;return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-wrapper`,`${h}-picture-card-wrapper`,"nb-upload",p),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${h}-list`,`${h}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:o,multiple:r,value:i,onChange:n},m)),S?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-list-picture-card-container`,`${h}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null,c?(0,import_jsx_runtime.jsx)(Uploader,x(P(x({},C),{value:i,multiple:r,onChange:n,action:a,rules:v,disabled:o}),m)):null,u&&(r||!i)?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-list-picture-card-container`,`${h}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null]})}))}const InternalFileManager=e=>{var t,o;const r=e,{value:i,multiple:n,onChange:a}=r,l=Y(r,["value","multiple","onChange"]),c=(0,import_react.useFieldSchema)(),[u,m]=(0,import_react2.useState)(!1),[d,p]=(0,import_react2.useState)([]),h=useInsertSchema$1("Selector"),g=useFieldNames$1(e),{designable:_}=useDesignable(),f=(0,import_react.useField)(),[v,C]=(0,import_react2.useState)([]),{getField:S}=useCollection_deprecated(),b=S(f.props.name),y=useLabelUiSchema$1(b==null?void 0:b.target,(g==null?void 0:g.label)||"label"),F=useCompile(),{modalProps:j}=useActionContext(),k=w=>{w.stopPropagation(),w.preventDefault(),_?h(schema$1.Selector):c.reduceProperties((L,D)=>D["x-component"]==="AssociationField.Selector"?D:L,null)||c.addProperty("selector",schema$1.Selector),m(!0),p([])};(0,import_react2.useEffect)(()=>{if(i&&Object.keys(i).length>0){const w=(Array.isArray(i)?i:i?[i]:[]).filter(Boolean).map(L=>{const D=L[g.label];return P(x({},L),{[g.label]:getLabelFormatValue$1(F(y),F(D))})});C(w)}else C([])},[i,g==null?void 0:g.label]);const T={size:"small",fieldNames:g,multiple:["o2m","m2m","mbm"].includes(b==null?void 0:b.interface)&&n,association:{target:b==null?void 0:b.target},options:v,onChange:e==null?void 0:e.onChange,selectedRows:d,setSelectedRows:p,collectionField:b},M=()=>{const{setVisible:w}=useActionContext(),{multiple:L,selectedRows:D,onChange:R,options:N,collectionField:B}=(0,import_react2.useContext)(RecordPickerContext);return{onClick(){R(L?(0,import_lodash.unionBy)(D,N,(B==null?void 0:B.targetKey)||"id"):(D==null?void 0:D[0])||null),w(!1)}}};return(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",overflow:"auto"},children:[(0,import_jsx_runtime.jsx)(FileSelector,P(x({},l),{value:n?v:v==null?void 0:v[0],multiple:n,quickUpload:((t=c["x-component-props"])==null?void 0:t.quickUpload)!==!1,selectFile:((o=c["x-component-props"])==null?void 0:o.selectFile)!==!1,action:`${b==null?void 0:b.target}:create`,onSelect:k,onChange:a})),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openMode:"drawer",visible:u,setVisible:m,modalProps:{getContainer:(l==null?void 0:l.getContainer)||(j==null?void 0:j.getContainer)},formValueChanged:!1},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},T),{children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{name:b==null?void 0:b.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:M,useTableSelectorProps:useTableSelectorProps$3},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:f.address,schema:c,filterProperties:w=>w["x-component"]==="AssociationField.Selector"})})})})})}))})]})},FileManageReadPretty=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)(),{getField:o}=useCollection_deprecated(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),i=o(t.name)||r(t["x-collection-field"]);return(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:!0,children:i?(0,import_jsx_runtime.jsx)(Upload.ReadPretty,x({},e)):null})}),EMPTY="N/A",SchemaField=(0,import_react.createSchemaField)({components:{Space:import_antd.Space,Input:import_antd.Input,ArrayItems:import_antd_v5.ArrayItems,FormItem:import_antd_v5.FormItem}}),CascadeSelect=(0,import_react.connect)(e=>{var t;const{data:o,mapOptions:r,onChange:i,value:n}=e,[a,l]=(0,import_react2.useState)([{key:void 0,children:[],value:null}]),[c,u]=(0,import_react2.useState)(o),[m,d]=(0,import_react2.useState)(!1),p=useCompile(),h=useAPIClient(),g=useServiceOptions$1(e),{options:_,field:f}=useAssociationFieldContext(),v=h.resource(_.target),{getCollectionJoinField:C,getInterface:S}=useCollectionManager_deprecated(),b=(t=f==null?void 0:f.componentProps)==null?void 0:t.fieldNames,y=(_==null?void 0:_.target)&&(b==null?void 0:b.label)&&C(`${_.target}.${b.label}`),F=(0,import_react2.useMemo)(()=>{var D,R;return y!=null&&y.interface&&((R=(D=S(y.interface))==null?void 0:D.filterable)==null?void 0:R.operators[0].value)||"$includes"},[y]),j=(0,import_react.useField)();(0,import_react2.useEffect)(()=>{var D;if(n){const R=Array.isArray(n)?extractLastNonNullValueObjects(n==null?void 0:n.filter(B=>B.value),!0):transformNestedData(n),N=(D=R==null?void 0:R.map)==null?void 0:D.call(R,B=>({key:B.parentId,children:[],value:B}));l(N)}},[]);const k=(0,import_react2.useCallback)(D=>{try{return D==null?void 0:D.filter(R=>["number","string"].includes(typeof R[b.value])).map(R=>{var N,B,I;let $=p(R[b.label]);if((N=y==null?void 0:y.uiSchema)!=null&&N.enum)if(Array.isArray($))$=$.map((E,O)=>{var V,U;const q=(U=(V=y.uiSchema.enum).find)==null?void 0:U.call(V,G=>G.value===E);return q?(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:q.color,style:{marginRight:3},children:(q==null?void 0:q.label)||E},O):(0,import_jsx_runtime.jsx)(import_antd.Tag,{children:E},E)}).reverse();else{const E=(I=(B=y.uiSchema.enum).find)==null?void 0:I.call(B,O=>O.value===$);E&&($=(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:E.color,children:E.label}))}return(y==null?void 0:y.type)==="date"&&($=(0,import_dayjs.default)($).format("YYYY-MM-DD")),r?r({[b.label]:$||EMPTY,[b.value]:R[b.value]}):P(x({},R),{[b.label]:$||EMPTY,[b.value]:R[b.value]})}).filter(Boolean)}catch(R){return console.error(R),D}},[y==null?void 0:y.uiSchema,b]),T=D=>z(void 0,null,function*(){var R,N;const B=yield v.list({pageSize:200,params:g==null?void 0:g.params,filter:mergeFilter([D,(R=g==null?void 0:g.params)==null?void 0:R.filter]),tree:D.parentId?void 0:!0});return(N=B==null?void 0:B.data)==null?void 0:N.data}),M=(D,R,N)=>z(void 0,null,function*(){const B=yield T({parentId:R==null?void 0:R.id}),I=[...a];if(I.splice(N+1),I[N]=P(x({},I[N]),{value:R}),R!=null&&R.id&&(I[N+1]={key:R==null?void 0:R.id,children:(B==null?void 0:B.length)>0?B:null}),l(I),["o2m","m2m"].includes(_.interface)){const $=Array.isArray(f.fieldValue)?f.fieldValue:[];$[j.index]=R,f.fieldValue=$}else f.value=R;I.length===1&&!I[0].value?i==null||i(null):i==null||i(I)}),w=(D,R,N)=>z(void 0,null,function*(){var B,I,$;if(D){d(!0);const E=yield T({parentId:R==null?void 0:R.key});if(d(!1),u(E),N===(a==null?void 0:a.length)-1&&(B=R==null?void 0:R.value)!=null&&B.id){const O=yield T({parentId:(I=R==null?void 0:R.value)==null?void 0:I.id}),V=[...a];V.splice(N+1),V[N]=P(x({},V[N]),{value:R==null?void 0:R.value}),V[N+1]={key:($=R==null?void 0:R.value)==null?void 0:$.id,children:(O==null?void 0:O.length)>0?O:null},l(V),i==null||i(V)}}}),L=(D,R)=>z(void 0,null,function*(){const N=D?{[b.label]:{[F]:D}}:{};d(!0);const B=yield T(P(x({},N),{parentId:R==null?void 0:R.key}));d(!1),u(B)});return(0,import_jsx_runtime.jsx)(import_antd.Space,{wrap:!0,children:a.map((D,R)=>{var N,B,I;return D.children&&(0,import_jsx_runtime.jsx)(import_antd.Select,{disabled:f.disabled,allowClear:!0,showSearch:!0,autoClearSearchValue:!0,filterOption:!1,filterSort:null,defaultValue:{label:(N=D==null?void 0:D.value)==null?void 0:N[b.label],value:(B=D==null?void 0:D.value)==null?void 0:B[b.value]},labelInValue:!0,onSearch:$=>L($,D),fieldNames:b,style:{minWidth:150},onChange:($,E)=>M($,E,R),options:m?[]:k(c),onDropdownVisibleChange:$=>w($,D,R),notFoundContent:m?(0,import_jsx_runtime.jsx)(import_antd.Spin,{size:"small"}):null},`${(I=D.value)==null?void 0:I.id}+ ${D.key} + ${b.label}`)})})}),AssociationCascadeSelect=(0,import_react.connect)(e=>(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(CascadeSelect,x({},e))})),InternalCascadeSelect=(0,import_react.observer)(e=>{const{options:t}=useAssociationFieldContext(),o=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{loading:a,data:l}=useDataBlockRequest()||{},c=(0,import_react2.useMemo)(()=>{var p;return(p=l==null?void 0:l.data)==null?void 0:p[n.name]},[a]),u=!l||n.name in((l==null?void 0:l.data)||{}),m=(0,import_lodash.debounce)(p=>{var h,g;if(t.interface==="m2o"){const _=extractLastNonNullValueObjects((h=p.values)==null?void 0:h[n.name]);setTimeout(()=>{p.setValuesIn(n.name,_),i.value=_})}else{const _=extractLastNonNullValueObjects((g=p.values)==null?void 0:g.select_array).filter(f=>f&&Object.keys(f).length>0);setTimeout(()=>{i.value=_})}},300);(0,import_react2.useEffect)(()=>{const p=(0,import_shared.uid)();return o.addEffects(p,()=>{(0,import_core.onFormValuesChange)(h=>{m(h)})}),()=>{o.removeEffects(p),m.cancel()}},[]);const d={type:"object",properties:{select_array:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",default:Array.isArray(c)&&c.length>0?c:[{}],items:{type:"void","x-component":"Space","x-component-props":{style:{width:"100%",display:"flex"},className:import_css.css`
922
+ `),style:p,children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${m}-list`,`${m}-list-picture-card`),style:p,children:(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:i,readPretty:!0,multiple:n,value:o,onChange:r},l))})}))}const Upload=(0,import_react.connect)(InternalUpload,(0,import_react.mapProps)({value:"fileList"}),(0,import_react.mapReadPretty)(ReadPretty$9));Upload.ReadPretty=ReadPretty$9;function useSizeHint(e){const t=e??FILE_SIZE_LIMIT_DEFAULT,{t:o,i18n:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_filesize.default)(t,{base:2,standard:"jedec",locale:r.language});return t!==0?o("File size should not exceed {{size}}.",{size:i}):""}function DefaultThumbnailPreviewer({file:e}){var t;const{componentCls:o}=useStyles$6(),{getThumbnailURL:r=getThumbnailPlaceholderURL}=(t=attachmentFileTypes.getTypeByFile(e))!=null?t:{},i=r(e);return(0,import_jsx_runtime.jsx)("img",{src:i,alt:e.title,className:`${o}-list-item-image`})}function AttachmentListItem(e){var t,o;const{file:r,disabled:i,onPreview:n,onDelete:a,readPretty:l,showFileName:c}=e,{componentCls:u}=useStyles$6(),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useCallback)(C=>{C.preventDefault(),C.stopPropagation(),n==null||n(r)},[r,n]),p=(0,import_react2.useCallback)(()=>{a==null||a(r)},[r,a]),h=(0,import_react2.useCallback)(()=>{(0,import_file_saver.saveAs)(r.url,`${r.title}${r.extname}`)},[r]),{ThumbnailPreviewer:g=DefaultThumbnailPreviewer}=(t=attachmentFileTypes.getTypeByFile(r))!=null?t:{},_=[(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-thumbnail`,children:(0,import_jsx_runtime.jsx)(g,{file:r})},"thumbnail"),c!==!1&&r.title?(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-name`,title:r.title,children:r.status==="uploading"?m("Uploading"):r.title},"title"):null],f=r.url?(0,import_jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:r.url,onClick:d,children:_}):(0,import_jsx_runtime.jsx)("span",{className:`${u}-span`,children:_}),v=(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${u}-list-item`,`${u}-list-item-${(o=r.status)!=null?o:"done"}`,`${u}-list-item-list-type-picture-card`),children:[(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-info`,children:f}),(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-actions`,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,children:[!l&&r.url&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DownloadOutlined,{}),onClick:h}),!l&&!i&&r.status!=="uploading"&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DeleteOutlined,{}),onClick:p})]})}),r.status==="uploading"&&(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-progress`,children:(0,import_jsx_runtime.jsx)(import_antd.Progress,{strokeWidth:4,type:"line",showInfo:!1,percent:Number(r.percent)})})]});return(0,import_jsx_runtime.jsx)("div",{style:{marginBottom:c!==!1&&r.title?"28px":"0px"},className:`${u}-list-picture-card-container ${u}-list-item-container`,children:r.status==="error"?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:r.response,getPopupContainer:C=>C.parentNode,children:v}):v})}function Previewer({index:e,onSwitchIndex:t,list:o}){var r;if(e==null)return null;const i=o[e],{Previewer:n=IframePreviewer}=(r=attachmentFileTypes.getTypeByFile(i))!=null?r:{};return(0,import_jsx_runtime.jsx)(n,{index:e,list:o,onSwitchIndex:t})}function AttachmentList(e){const{disabled:t,multiple:o,value:r,onChange:i,readPretty:n,showFileName:a}=e,[l,c]=(0,import_react2.useState)([]),[u,m]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{const h=toFileList(r);c(h)},[r]);const d=(0,import_react2.useCallback)(h=>{const g=l.findIndex(_=>_.id===h.id);m(g)},[l]),p=(0,import_react2.useCallback)(h=>{i(o?r.filter(g=>g.id!==h.id):null)},[o,i,r]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[l.map((h,g)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:h,index:g,disabled:t,onPreview:d,onDelete:p,readPretty:n,showFileName:a},h.id||h.url)),(0,import_jsx_runtime.jsx)(Previewer,{index:u,onSwitchIndex:m,list:l})]})}function Uploader(e){var t=e,{rules:o}=t,r=Y(t,["rules"]);const{disabled:i,multiple:n,value:a,onChange:l,toValueItem:c=toValueItem}=r,[u,m]=(0,import_react2.useState)([]),[d,p]=(0,import_react2.useState)([]),{t:h}=(0,import_react_i18next.useTranslation)(),{componentCls:g}=useStyles$6(),_=(0,import_react.useField)(),f=useUploadProps(r),v=useBeforeUpload(o);(0,import_react2.useEffect)(()=>{if(d.length){const M=d.filter(w=>w.status==="error");_.setFeedback({type:"error",code:"ValidateError",messages:[M.length?h("Some files are not uploaded correctly, please check."):" "]})}else _.setFeedback({})},[_,d,h]);const C=(0,import_react2.useCallback)(M=>{var w;const L=M.fileList.filter(D=>D.status!=="done").map(normalizeFile);if(p(L),n){const D=M.fileList.filter(R=>R.status==="done");if(D.length){const R=[...u,...D.map(N=>{var B;return c((B=N.response)==null?void 0:B.data)})];L.length?m(R):(l==null||l([...a||[],...R]),m([]))}}else{const D=M.fileList.find(R=>R.uid===M.file.uid);D.status==="done"&&(l==null||l(c((w=D.response)==null?void 0:w.data)),p([]))}},[n,a,u,c,l]),S=(0,import_react2.useCallback)(M=>{p(w=>{const L=w.indexOf(M);return w.splice(L,1),[...w]})},[]),b=(0,import_react2.useCallback)(M=>{m(w=>{const L=w.indexOf(M);return w.splice(L,1),[...w]})},[]),y=useComponent("QRCodeUploader"),{mimetype:F,size:j}=o??{},k=useSizeHint(j),T=!i&&(n||(!a||Array.isArray(a)&&!a.length)&&!d.length);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[u.map((M,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:M,index:w,disabled:i,onDelete:b},M.id)),d.map((M,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:M,index:w,disabled:i,onDelete:S},M.uid)),(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-list-picture-card-container`,`${g}-list-item-container`),style:T?{}:{display:"none"},children:(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:k,children:(0,import_jsx_runtime.jsx)(import_antd.Upload,P(x({accept:F},f),{disabled:i,multiple:n,listType:"picture-card",fileList:d,beforeUpload:v,onChange:C,showUploadList:!1,children:T?(0,import_jsx_runtime.jsxs)("span",{children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("br",{})," ",h("Upload")]}):null}))})}),T&&y&&(0,import_jsx_runtime.jsx)(y,{disabled:i,multiple:n,value:a,onChange:l})]})}function Attachment(e){const{wrapSSR:t,hashId:o,componentCls:r}=useStyles$6();return t((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${r}-wrapper`,`${r}-picture-card-wrapper`,"nb-upload",o),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${r}-list`,`${r}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({},e)),(0,import_jsx_runtime.jsx)(Uploader,x({},e))]})}))}Attachment.ReadPretty=ReadPretty$9;Upload.Attachment=withDynamicSchemaProps((0,import_react.connect)(Attachment,(0,import_react.mapReadPretty)(Attachment.ReadPretty)),{displayName:"Upload.Attachment"});Upload.Dragger=(0,import_react.connect)(e=>{const t=e,{tipContent:o,onChange:r}=t,i=Y(t,["tipContent","onChange"]),{wrapSSR:n,hashId:a,componentCls:l}=useStyles$6(),c=(0,import_react2.useCallback)(u=>{r==null||r(toFileList(u.fileList))},[r]);return n((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${l}-dragger`,a),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(i)),{onChange:c,children:[o,e.children]}))}))},(0,import_react.mapProps)({value:"fileList"}));Upload.DraggerV2=withDynamicSchemaProps((0,import_react.connect)(e=>{var t=e,{rules:o}=t,r=Y(t,["rules"]);const{t:i}=(0,import_react_i18next.useTranslation)(),n=i("Click or drag file to this area to upload"),a=useProps(r),{title:l=n}=a,c=Y(a,["title"]),[u,m]=(0,import_react2.useState)(!1),{wrapSSR:d,hashId:p,componentCls:h}=useStyles$6(),g=useBeforeUpload(o),{size:_,mimetype:f}=o??{},v=useSizeHint(_),C=(0,import_react2.useCallback)(({fileList:S})=>{const{onChange:b}=c;b==null||b(S),S.some(y=>y.status==="uploading")?m(!0):m(!1)},[c]);return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-dragger`,p),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(P(x(x({},r),c),{accept:f,onChange:C,beforeUpload:g}))),{children:[(0,import_jsx_runtime.jsx)("p",{className:`${h}-drag-icon`,children:u?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{style:{fontSize:36},spin:!0}):(0,import_jsx_runtime.jsx)(import_icons.InboxOutlined,{})}),(0,import_jsx_runtime.jsx)("p",{className:`${h}-text`,children:l}),(0,import_jsx_runtime.jsxs)("ul",{children:[(0,import_jsx_runtime.jsx)("li",{className:`${h}-hint`,children:i("Support for a single or bulk upload.")}),(0,import_jsx_runtime.jsx)("li",{className:`${h}-hint`,children:v})]})]}))}))},(0,import_react.mapProps)({value:"fileList"})),{displayName:"Upload.DraggerV2"});const schema$1={Nester:{type:"void","x-component":"AssociationField.Nester",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"form:configureFields"}}},AddNewer:{type:"void","x-component":"AssociationField.AddNewer","x-action":"create",title:'{{ t("Add record") }}',"x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab","x-initializer-props":{gridInitializer:"popup:addNew:addBlock"},properties:{tab1:{type:"void",title:'{{t("Add new")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:addNew:addBlock",properties:{}}}}}}}},Selector:{type:"void","x-component":"AssociationField.Selector",title:'{{ t("Select record") }}',"x-component-props":{className:"nb-record-picker-selector"},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:tableSelector:addBlock",properties:{}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}},Viewer:{type:"void",title:'{{ t("View record") }}',"x-component":"AssociationField.Viewer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},SubTable:{type:"void","x-component":"AssociationField.SubTable","x-initializer":"table:configureColumns","x-initializer-props":{action:!1},properties:{}}},useTableSelectorProps$3=()=>{const e=(0,import_react.useField)(),{multiple:t,options:o=[],setSelectedRows:r,selectedRows:i=[],onChange:n}=(0,import_react2.useContext)(RecordPickerContext),a=useTableSelectorProps$4(),{onRowSelectionChange:l,rowKey:c="id"}=a,u=Y(a,["onRowSelectionChange","rowKey"]),{setVisible:m}=useActionContext();return P(x({},u),{rowKey:c,rowSelection:{type:t?"checkbox":"radio",selectedRowKeys:i==null?void 0:i.filter(d=>o.every(p=>p[c]!==d[c])).map(d=>d[c])},onRowSelectionChange(d,p){if(t){const h=flatData$2(e.value)||[],g=(0,import_lodash.differenceBy)(i||[],h,c),_=(0,import_lodash.unionBy)(g,p,c),f=_.map(v=>v[c]);r==null||r(_),l==null||l(f,_)}else r==null||r(p),l==null||l(d,p),n((p==null?void 0:p[0])||null),m(!1)}})};function FileSelector(e){const t=e,{disabled:o,multiple:r,value:i,onChange:n,action:a,onSelect:l,quickUpload:c,selectFile:u}=t,m=Y(t,["disabled","multiple","value","onChange","action","onSelect","quickUpload","selectFile"]),{wrapSSR:d,hashId:p,componentCls:h}=useStyles$6(),{useFileCollectionStorageRules:g,useAttachmentFieldProps:_}=(0,import_react.useExpressionScope)(),{t:f}=(0,import_react_i18next.useTranslation)(),v=g(),C=_(),S=u===void 0&&c===void 0;return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-wrapper`,`${h}-picture-card-wrapper`,"nb-upload",p),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${h}-list`,`${h}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:o,multiple:r,value:i,onChange:n},m)),S?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-list-picture-card-container`,`${h}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null,c?(0,import_jsx_runtime.jsx)(Uploader,x(P(x({},C),{value:i,multiple:r,onChange:n,action:a,rules:v,disabled:o}),m)):null,u&&(r||!i)?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-list-picture-card-container`,`${h}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null]})}))}const InternalFileManager=e=>{var t,o;const r=e,{value:i,multiple:n,onChange:a}=r,l=Y(r,["value","multiple","onChange"]),c=(0,import_react.useFieldSchema)(),[u,m]=(0,import_react2.useState)(!1),[d,p]=(0,import_react2.useState)([]),h=useInsertSchema$1("Selector"),g=useFieldNames$1(e),{designable:_}=useDesignable(),f=(0,import_react.useField)(),[v,C]=(0,import_react2.useState)([]),{getField:S}=useCollection_deprecated(),b=S(f.props.name),y=useLabelUiSchema$1(b==null?void 0:b.target,(g==null?void 0:g.label)||"label"),F=useCompile(),{modalProps:j}=useActionContext(),k=w=>{w.stopPropagation(),w.preventDefault(),_?h(schema$1.Selector):c.reduceProperties((L,D)=>D["x-component"]==="AssociationField.Selector"?D:L,null)||c.addProperty("selector",schema$1.Selector),m(!0),p([])};(0,import_react2.useEffect)(()=>{if(i&&Object.keys(i).length>0){const w=(Array.isArray(i)?i:i?[i]:[]).filter(Boolean).map(L=>{const D=L[g.label];return P(x({},L),{[g.label]:getLabelFormatValue$1(F(y),F(D))})});C(w)}else C([])},[i,g==null?void 0:g.label]);const T={size:"small",fieldNames:g,multiple:["o2m","m2m","mbm"].includes(b==null?void 0:b.interface)&&n,association:{target:b==null?void 0:b.target},options:v,onChange:e==null?void 0:e.onChange,selectedRows:d,setSelectedRows:p,collectionField:b},M=()=>{const{setVisible:w}=useActionContext(),{multiple:L,selectedRows:D,onChange:R,options:N,collectionField:B}=(0,import_react2.useContext)(RecordPickerContext);return{onClick(){R(L?(0,import_lodash.unionBy)(D,N,(B==null?void 0:B.targetKey)||"id"):(D==null?void 0:D[0])||null),w(!1)}}};return(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",overflow:"auto"},children:[(0,import_jsx_runtime.jsx)(FileSelector,P(x({},l),{value:n?v:v==null?void 0:v[0],multiple:n,quickUpload:((t=c["x-component-props"])==null?void 0:t.quickUpload)!==!1,selectFile:((o=c["x-component-props"])==null?void 0:o.selectFile)!==!1,action:`${b==null?void 0:b.target}:create`,onSelect:k,onChange:a})),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openMode:"drawer",visible:u,setVisible:m,modalProps:{getContainer:(l==null?void 0:l.getContainer)||(j==null?void 0:j.getContainer)},formValueChanged:!1},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},T),{children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{name:b==null?void 0:b.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:M,useTableSelectorProps:useTableSelectorProps$3},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:f.address,schema:c,filterProperties:w=>w["x-component"]==="AssociationField.Selector"})})})})})}))})]})},FileManageReadPretty=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)(),{getField:o}=useCollection_deprecated(),{getCollectionJoinField:r}=useCollectionManager_deprecated();return o(t.name)||r(t["x-collection-field"])?(0,import_jsx_runtime.jsx)(Upload.ReadPretty,x({},e)):null}),EMPTY="N/A",SchemaField=(0,import_react.createSchemaField)({components:{Space:import_antd.Space,Input:import_antd.Input,ArrayItems:import_antd_v5.ArrayItems,FormItem:import_antd_v5.FormItem}}),CascadeSelect=(0,import_react.connect)(e=>{var t;const{data:o,mapOptions:r,onChange:i,value:n}=e,[a,l]=(0,import_react2.useState)([{key:void 0,children:[],value:null}]),[c,u]=(0,import_react2.useState)(o),[m,d]=(0,import_react2.useState)(!1),p=useCompile(),h=useAPIClient(),g=useServiceOptions$1(e),{options:_,field:f}=useAssociationFieldContext(),v=h.resource(_.target),{getCollectionJoinField:C,getInterface:S}=useCollectionManager_deprecated(),b=(t=f==null?void 0:f.componentProps)==null?void 0:t.fieldNames,y=(_==null?void 0:_.target)&&(b==null?void 0:b.label)&&C(`${_.target}.${b.label}`),F=(0,import_react2.useMemo)(()=>{var D,R;return y!=null&&y.interface&&((R=(D=S(y.interface))==null?void 0:D.filterable)==null?void 0:R.operators[0].value)||"$includes"},[y]),j=(0,import_react.useField)();(0,import_react2.useEffect)(()=>{var D;if(n){const R=Array.isArray(n)?extractLastNonNullValueObjects(n==null?void 0:n.filter(B=>B.value),!0):transformNestedData(n),N=(D=R==null?void 0:R.map)==null?void 0:D.call(R,B=>({key:B.parentId,children:[],value:B}));l(N)}},[]);const k=(0,import_react2.useCallback)(D=>{try{return D==null?void 0:D.filter(R=>["number","string"].includes(typeof R[b.value])).map(R=>{var N,B,I;let $=p(R[b.label]);if((N=y==null?void 0:y.uiSchema)!=null&&N.enum)if(Array.isArray($))$=$.map((E,O)=>{var V,U;const q=(U=(V=y.uiSchema.enum).find)==null?void 0:U.call(V,G=>G.value===E);return q?(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:q.color,style:{marginRight:3},children:(q==null?void 0:q.label)||E},O):(0,import_jsx_runtime.jsx)(import_antd.Tag,{children:E},E)}).reverse();else{const E=(I=(B=y.uiSchema.enum).find)==null?void 0:I.call(B,O=>O.value===$);E&&($=(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:E.color,children:E.label}))}return(y==null?void 0:y.type)==="date"&&($=(0,import_dayjs.default)($).format("YYYY-MM-DD")),r?r({[b.label]:$||EMPTY,[b.value]:R[b.value]}):P(x({},R),{[b.label]:$||EMPTY,[b.value]:R[b.value]})}).filter(Boolean)}catch(R){return console.error(R),D}},[y==null?void 0:y.uiSchema,b]),T=D=>z(void 0,null,function*(){var R,N;const B=yield v.list({pageSize:200,params:g==null?void 0:g.params,filter:mergeFilter([D,(R=g==null?void 0:g.params)==null?void 0:R.filter]),tree:D.parentId?void 0:!0});return(N=B==null?void 0:B.data)==null?void 0:N.data}),M=(D,R,N)=>z(void 0,null,function*(){const B=yield T({parentId:R==null?void 0:R.id}),I=[...a];if(I.splice(N+1),I[N]=P(x({},I[N]),{value:R}),R!=null&&R.id&&(I[N+1]={key:R==null?void 0:R.id,children:(B==null?void 0:B.length)>0?B:null}),l(I),["o2m","m2m"].includes(_.interface)){const $=Array.isArray(f.fieldValue)?f.fieldValue:[];$[j.index]=R,f.fieldValue=$}else f.value=R;I.length===1&&!I[0].value?i==null||i(null):i==null||i(I)}),w=(D,R,N)=>z(void 0,null,function*(){var B,I,$;if(D){d(!0);const E=yield T({parentId:R==null?void 0:R.key});if(d(!1),u(E),N===(a==null?void 0:a.length)-1&&(B=R==null?void 0:R.value)!=null&&B.id){const O=yield T({parentId:(I=R==null?void 0:R.value)==null?void 0:I.id}),V=[...a];V.splice(N+1),V[N]=P(x({},V[N]),{value:R==null?void 0:R.value}),V[N+1]={key:($=R==null?void 0:R.value)==null?void 0:$.id,children:(O==null?void 0:O.length)>0?O:null},l(V),i==null||i(V)}}}),L=(D,R)=>z(void 0,null,function*(){const N=D?{[b.label]:{[F]:D}}:{};d(!0);const B=yield T(P(x({},N),{parentId:R==null?void 0:R.key}));d(!1),u(B)});return(0,import_jsx_runtime.jsx)(import_antd.Space,{wrap:!0,children:a.map((D,R)=>{var N,B,I;return D.children&&(0,import_jsx_runtime.jsx)(import_antd.Select,{disabled:f.disabled,allowClear:!0,showSearch:!0,autoClearSearchValue:!0,filterOption:!1,filterSort:null,defaultValue:{label:(N=D==null?void 0:D.value)==null?void 0:N[b.label],value:(B=D==null?void 0:D.value)==null?void 0:B[b.value]},labelInValue:!0,onSearch:$=>L($,D),fieldNames:b,style:{minWidth:150},onChange:($,E)=>M($,E,R),options:m?[]:k(c),onDropdownVisibleChange:$=>w($,D,R),notFoundContent:m?(0,import_jsx_runtime.jsx)(import_antd.Spin,{size:"small"}):null},`${(I=D.value)==null?void 0:I.id}+ ${D.key} + ${b.label}`)})})}),AssociationCascadeSelect=(0,import_react.connect)(e=>(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(CascadeSelect,x({},e))})),InternalCascadeSelect=(0,import_react.observer)(e=>{const{options:t}=useAssociationFieldContext(),o=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{loading:a,data:l}=useDataBlockRequest()||{},c=(0,import_react2.useMemo)(()=>{var p;return(p=l==null?void 0:l.data)==null?void 0:p[n.name]},[a]),u=!l||n.name in((l==null?void 0:l.data)||{}),m=(0,import_lodash.debounce)(p=>{var h,g;if(t.interface==="m2o"){const _=extractLastNonNullValueObjects((h=p.values)==null?void 0:h[n.name]);setTimeout(()=>{p.setValuesIn(n.name,_),i.value=_})}else{const _=extractLastNonNullValueObjects((g=p.values)==null?void 0:g.select_array).filter(f=>f&&Object.keys(f).length>0);setTimeout(()=>{i.value=_})}},300);(0,import_react2.useEffect)(()=>{const p=(0,import_shared.uid)();return o.addEffects(p,()=>{(0,import_core.onFormValuesChange)(h=>{m(h)})}),()=>{o.removeEffects(p),m.cancel()}},[]);const d={type:"object",properties:{select_array:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",default:Array.isArray(c)&&c.length>0?c:[{}],items:{type:"void","x-component":"Space","x-component-props":{style:{width:"100%",display:"flex"},className:import_css.css`
923
923
  .ant-formily-item-control {
924
924
  max-width: 100% !important;
925
925
  }
@@ -1344,7 +1344,17 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
1344
1344
  * https://quilljs.com/
1345
1345
  * Copyright (c) 2014, Jason Chen
1346
1346
  * Copyright (c) 2013, salesforce.com
1347
- */const useStyles$2=genStyleHook("nb-rich-text",e=>{const{componentCls:t}=e;return{[t]:{".ql-container":{boxSizing:"border-box",height:"100%",margin:"0px",position:"relative"},".ql-container.ql-disabled .ql-tooltip":{visibility:"hidden"},".ql-container.ql-disabled .ql-editor ul[data-checked] > li::before":{pointerEvents:"none"},".ql-clipboard":{left:"-100000px",height:"1px",overflowY:"hidden",position:"absolute",top:"50%"},".ql-clipboard p":{margin:"0",padding:"0"},".ql-editor":{minHeight:"10em",boxSizing:"border-box",lineHeight:1.42,height:"100%",outline:"none",overflowY:"auto",padding:"12px 15px",tabSize:4,MozTabSize:"4",textAlign:"left",whiteSpace:"pre-wrap",wordWrap:"break-word"},".ql-snow.ql-toolbar:after,\n.ql-snow .ql-toolbar:after":{clear:"both",content:"''",display:"table"},".ql-snow.ql-toolbar button,\n.ql-snow .ql-toolbar button":{background:"none",border:"none",cursor:"pointer",display:"inline-block",cssFloat:"left",height:"24px",padding:"3px 5px",width:"28px"},".ql-snow.ql-toolbar button svg,\n.ql-snow .ql-toolbar button svg":{cssFloat:"left",height:"100%"},".ql-snow.ql-toolbar button:active:hover,\n.ql-snow .ql-toolbar button:active:hover":{outline:"none"},".ql-snow.ql-toolbar input.ql-image[type='file'],\n.ql-snow .ql-toolbar input.ql-image[type='file']":{display:"none"},".ql-snow.ql-toolbar button:hover,\n.ql-snow .ql-toolbar button:hover,\n.ql-snow.ql-toolbar button:focus,\n.ql-snow .ql-toolbar button:focus,\n.ql-snow.ql-toolbar button.ql-active,\n.ql-snow .ql-toolbar button.ql-active,\n.ql-snow.ql-toolbar .ql-picker-label:hover,\n.ql-snow .ql-toolbar .ql-picker-label:hover,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active,\n.ql-snow.ql-toolbar .ql-picker-item:hover,\n.ql-snow .ql-toolbar .ql-picker-item:hover,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected":{color:e.colorPrimaryTextHover},".ql-snow.ql-toolbar button:hover .ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill":{fill:e.colorPrimaryTextHover},".ql-snow.ql-toolbar button:hover .ql-stroke,\n.ql-snow .ql-toolbar button:hover .ql-stroke,\n.ql-snow.ql-toolbar button:focus .ql-stroke,\n.ql-snow .ql-toolbar button:focus .ql-stroke,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow.ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow .ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter":{stroke:e.colorPrimaryTextHover},"@media (pointer: coarse)":{".ql-snow.ql-toolbar button:hover:not(.ql-active),\n .ql-snow .ql-toolbar button:hover:not(.ql-active)":{color:e.colorTextSecondary},".ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,\n .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill":{fill:e.colorTextSecondary},".ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter":{stroke:e.colorTextSecondary}},".ql-snow":{boxSizing:"border-box"},".ql-snow *":{boxSizing:"border-box"},".ql-snow .ql-hidden":{display:"none"},".ql-snow .ql-out-bottom,\n.ql-snow .ql-out-top":{visibility:"hidden"},".ql-snow .ql-tooltip":{position:"absolute",transform:"translateY(10px)",backgroundColor:"#fff",border:`1px solid ${e.colorBorder}`,boxShadow:"0px 0px 5px #ddd",color:e.colorTextSecondary,padding:"5px 12px",whiteSpace:"nowrap"},".ql-snow .ql-tooltip a":{cursor:"pointer",textDecoration:"none",lineHeight:"26px"},".ql-snow .ql-tooltip.ql-flip":{transform:"translateY(-10px)"},".ql-snow .ql-formats":{display:"inline-block",verticalAlign:"middle"},".ql-snow .ql-formats:after":{clear:"both",content:"''",display:"table"},".ql-snow .ql-stroke":{fill:"none",stroke:e.colorTextSecondary,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2},".ql-snow .ql-stroke-miter":{fill:"none",stroke:e.colorTextSecondary,strokeMiterlimit:"10",strokeWidth:2},".ql-snow .ql-fill,\n.ql-snow .ql-stroke.ql-fill":{fill:e.colorTextSecondary},".ql-snow .ql-empty":{fill:"none"},".ql-snow .ql-even":{fillRule:"evenodd"},".ql-snow .ql-thin,\n.ql-snow .ql-stroke.ql-thin":{strokeWidth:1},".ql-snow .ql-transparent":{opacity:.4},".ql-snow .ql-direction svg:last-child":{display:"none"},".ql-snow .ql-direction.ql-active svg:last-child":{display:"inline"},".ql-snow .ql-direction.ql-active svg:first-child":{display:"none"},".ql-snow .ql-editor h1":{fontSize:"2em"},".ql-snow .ql-editor h2":{fontSize:"1.5em"},".ql-snow .ql-editor h3":{fontSize:"1.17em"},".ql-snow .ql-editor h4":{fontSize:"1em"},".ql-snow .ql-editor h5":{fontSize:"0.83em"},".ql-snow .ql-editor h6":{fontSize:"0.67em"},".ql-snow .ql-editor blockquote":{borderLeft:"4px solid #ccc",marginBottom:"5px",marginTop:"5px",paddingLeft:"16px"},".ql-snow .ql-editor code,\n.ql-snow .ql-editor pre":{backgroundColor:"#f0f0f0",borderRadius:"3px"},".ql-snow .ql-editor pre":{whiteSpace:"pre-wrap",marginBottom:"5px",marginTop:"5px",padding:"5px 10px"},".ql-snow .ql-editor code":{fontSize:"85%",padding:"2px 4px"},".ql-snow .ql-editor pre.ql-syntax":{backgroundColor:"#23241f",color:"#f8f8f2",overflow:"visible"},".ql-snow .ql-editor img":{maxWidth:"100%"},".ql-snow .ql-picker":{color:e.colorTextSecondary,display:"inline-block",cssFloat:"left",fontSize:"14px",fontWeight:500,height:"24px",position:"relative",verticalAlign:"middle"},".ql-snow .ql-picker-label":{cursor:"pointer",display:"inline-block",height:"100%",paddingLeft:"8px",paddingRight:"2px",position:"relative",width:"100%"},".ql-snow .ql-picker-label::before":{display:"inline-block",lineHeight:"22px"},".ql-snow .ql-picker-options":{backgroundColor:"#fff",display:"none",minWidth:"100%",padding:"4px 8px",position:"absolute",whiteSpace:"nowrap"},".ql-snow .ql-picker-options .ql-picker-item":{cursor:"pointer",display:"block",paddingBottom:"5px",paddingTop:"5px"},".ql-snow .ql-picker.ql-expanded .ql-picker-label":{color:"#ccc",zIndex:2},".ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill":{fill:"#ccc"},".ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke":{stroke:"#ccc"},".ql-snow .ql-picker.ql-expanded .ql-picker-options":{display:"block",marginTop:"-1px",top:"100%",zIndex:1},".ql-snow .ql-color-picker,\n.ql-snow .ql-icon-picker":{width:"28px"},".ql-snow .ql-color-picker .ql-picker-label,\n.ql-snow .ql-icon-picker .ql-picker-label":{padding:"2px 4px"},".ql-snow .ql-color-picker .ql-picker-label svg,\n.ql-snow .ql-icon-picker .ql-picker-label svg":{right:"4px"},".ql-snow .ql-icon-picker .ql-picker-options":{padding:"4px 0px"},".ql-snow .ql-icon-picker .ql-picker-item":{height:"24px",width:"24px",padding:"2px 4px"},".ql-snow .ql-color-picker .ql-picker-options":{padding:"3px 5px",width:"152px"},".ql-snow .ql-color-picker .ql-picker-item":{border:"1px solid transparent",cssFloat:"left",height:"16px",margin:"2px",padding:"0px",width:"16px"},".ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg":{position:"absolute",marginTop:"-9px",right:"0",top:"50%",width:"18px"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before":{content:"attr(data-label)"},".ql-snow .ql-picker.ql-header":{width:"98px"},".ql-snow .ql-picker.ql-header .ql-picker-label::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item::before":{content:"'Normal'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='1']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before":{content:"'Heading 1'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='2']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before":{content:"'Heading 2'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='3']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before":{content:"'Heading 3'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='4']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='4']::before":{content:"'Heading 4'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='5']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='5']::before":{content:"'Heading 5'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='6']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='6']::before":{content:"'Heading 6'"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before":{fontSize:"2em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before":{fontSize:"1.5em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before":{fontSize:"1.17em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='4']::before":{fontSize:"1em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='5']::before":{fontSize:"0.83em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='6']::before":{fontSize:"0.67em"},".ql-snow .ql-picker.ql-font":{width:"108px"},".ql-snow .ql-picker.ql-font .ql-picker-label::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item::before":{content:"'Sans Serif'"},".ql-snow .ql-picker.ql-font .ql-picker-label[data-value='serif']::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='serif']::before":{content:"'Serif'"},".ql-snow .ql-picker.ql-font .ql-picker-label[data-value='monospace']::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='monospace']::before":{content:"'Monospace'"},".ql-snow .ql-picker.ql-font .ql-picker-item[data-value='serif']::before":{fontFamily:"Georgia, Times New Roman, serif"},".ql-snow .ql-picker.ql-font .ql-picker-item[data-value='monospace']::before":{fontFamily:"Monaco, Courier New, monospace"},".ql-snow .ql-picker.ql-size":{width:"98px"},".ql-snow .ql-picker.ql-size .ql-picker-label::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item::before":{content:"'Normal'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='small']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='small']::before":{content:"'Small'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='large']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='large']::before":{content:"'Large'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='huge']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='huge']::before":{content:"'Huge'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='small']::before":{fontSize:"10px"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='large']::before":{fontSize:"18px"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='huge']::before":{fontSize:"32px"},".ql-snow .ql-color-picker.ql-background .ql-picker-item":{backgroundColor:"#fff"},".ql-snow .ql-color-picker.ql-color .ql-picker-item":{backgroundColor:"#000"},".ql-toolbar.ql-snow":{border:`1px solid ${e.colorBorder}`,boxSizing:"border-box",padding:"8px",borderTopLeftRadius:"2px",borderTopRightRadius:"2px",lineHeight:1.6},".ql-toolbar.ql-snow .ql-formats":{marginRight:"15px"},".ql-toolbar.ql-snow .ql-picker-label":{border:"1px solid transparent"},".ql-toolbar.ql-snow .ql-picker-options":{border:"1px solid transparent",boxShadow:"rgba(0, 0, 0, 0.2) 0 2px 8px"},".ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label":{borderColor:e.colorBorder},".ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options":{borderColor:e.colorBorder},".ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,\n.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover":{borderColor:"#000"},".ql-toolbar.ql-snow + .ql-container.ql-snow":{borderTop:"0px"},".ql-snow .ql-tooltip::before":{content:"'Visit URL:'",lineHeight:"26px",marginRight:"8px"},".ql-snow .ql-tooltip input[type='text']":{display:"none",border:`1px solid ${e.colorBorder}`,fontSize:"13px",height:"26px",margin:"0px",padding:"3px 5px",width:"170px"},".ql-snow .ql-tooltip a.ql-preview":{display:"inline-block",maxWidth:"200px",overflowX:"hidden",textOverflow:"ellipsis",verticalAlign:"top"},".ql-snow .ql-tooltip a.ql-action::after":{borderRight:"1px solid #ccc",content:"'Edit'",marginLeft:"16px",paddingRight:"8px"},".ql-snow .ql-tooltip a.ql-remove::before":{content:"'Remove'",marginLeft:"8px"},".ql-snow .ql-tooltip.ql-editing a.ql-preview,\n.ql-snow .ql-tooltip.ql-editing a.ql-remove":{display:"none"},".ql-snow .ql-tooltip.ql-editing input[type='text']":{display:"inline-block"},".ql-snow .ql-tooltip.ql-editing a.ql-action::after":{borderRight:"0px",content:"'Save'",paddingRight:"0px"},".ql-snow .ql-tooltip[data-mode='link']::before":{content:"'Enter link:'"},".ql-snow .ql-tooltip[data-mode='formula']::before":{content:"'Enter formula:'"},".ql-snow .ql-tooltip[data-mode='video']::before":{content:"'Enter video:'"},".ql-snow a":{color:e.colorPrimaryTextHover},".ql-container.ql-snow":{border:`1px solid ${e.colorBorder}`,borderBottomLeftRadius:"2px",borderBottomRightRadius:"2px"}}}}),ReactQuill=lazy(()=>import("react-quill")),RichText=(0,import_react.connect)(e=>{const{wrapSSR:t,hashId:o,componentCls:r}=useStyles$2(),i={toolbar:[["bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]]},n=["header","bold","italic","underline","strike","blockquote","list","bullet","indent","link","image"],{value:a,defaultValue:l,onChange:c,disabled:u,modules:m,formats:d}=e,p=isVariable$1(a||l)?void 0:a||"";return t((0,import_jsx_runtime.jsx)(ReactQuill,{className:`${r} ${o}`,modules:m||i,formats:d||n,value:p,onChange:h=>{c(h==="<p><br></p>"?"":h)},readOnly:u}))},(0,import_react.mapProps)({initialValue:"defaultValue"}),(0,import_react.mapReadPretty)(e=>(0,import_jsx_runtime.jsx)(ReadPretty$c.Html,x({},e)))),Space=e=>{var t;let{split:o}=e;o==="|"&&(o="");const r=(0,import_antd_v5.useFormLayout)();return import_react2.default.createElement(import_antd.Space,P(x({size:(t=e.size)!=null?t:r==null?void 0:r.spaceGap},e),{split:o}))},isColumnComponent=e=>{var t;return((t=e["x-component"])==null?void 0:t.endsWith(".Column"))>-1},useTableColumns=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{exists:o,render:r}=useSchemaInitializerRender(t["x-initializer"],t["x-initializer-props"]),i=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),n=useCollectionParentRecordData(),a=useCollectionRecordData(),l=t.reduceProperties((c,u)=>isColumnComponent(u)&&i[u["x-visible"]]!==!1?c.concat([u]):c,[]).map(c=>({title:(0,import_jsx_runtime.jsx)(import_react.RecursionField,{name:c.name,schema:c,onlyRenderSelf:!0}),dataIndex:c.name,key:c.name,render:(u,m)=>{var d;const p=(d=e.value)==null?void 0:d.indexOf(m);return(0,import_jsx_runtime.jsx)(RecordIndexProvider,{index:p,children:(0,import_jsx_runtime.jsx)(RecordProvider,{record:m,parent:n||a,children:(0,import_jsx_runtime.jsx)("span",{role:"button",className:import_css.css`
1347
+ */const useStyles$2=genStyleHook("nb-rich-text",e=>{const{componentCls:t}=e;return{[t]:{".ql-container":{boxSizing:"border-box",height:"100%",margin:"0px",position:"relative"},".ql-container.ql-disabled .ql-tooltip":{visibility:"hidden"},".ql-container.ql-disabled .ql-editor ul[data-checked] > li::before":{pointerEvents:"none"},".ql-clipboard":{left:"-100000px",height:"1px",overflowY:"hidden",position:"absolute",top:"50%"},".ql-clipboard p":{margin:"0",padding:"0"},".ql-editor":{minHeight:"10em",boxSizing:"border-box",lineHeight:1.42,height:"100%",outline:"none",overflowY:"auto",padding:"12px 15px",tabSize:4,MozTabSize:"4",textAlign:"left",whiteSpace:"pre-wrap",wordWrap:"break-word"},".ql-snow.ql-toolbar:after,\n.ql-snow .ql-toolbar:after":{clear:"both",content:"''",display:"table"},".ql-snow.ql-toolbar button,\n.ql-snow .ql-toolbar button":{background:"none",border:"none",cursor:"pointer",display:"inline-block",cssFloat:"left",height:"24px",padding:"3px 5px",width:"28px"},".ql-snow.ql-toolbar button svg,\n.ql-snow .ql-toolbar button svg":{cssFloat:"left",height:"100%"},".ql-snow.ql-toolbar button:active:hover,\n.ql-snow .ql-toolbar button:active:hover":{outline:"none"},".ql-snow.ql-toolbar input.ql-image[type='file'],\n.ql-snow .ql-toolbar input.ql-image[type='file']":{display:"none"},".ql-snow.ql-toolbar button:hover,\n.ql-snow .ql-toolbar button:hover,\n.ql-snow.ql-toolbar button:focus,\n.ql-snow .ql-toolbar button:focus,\n.ql-snow.ql-toolbar button.ql-active,\n.ql-snow .ql-toolbar button.ql-active,\n.ql-snow.ql-toolbar .ql-picker-label:hover,\n.ql-snow .ql-toolbar .ql-picker-label:hover,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active,\n.ql-snow.ql-toolbar .ql-picker-item:hover,\n.ql-snow .ql-toolbar .ql-picker-item:hover,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected":{color:e.colorPrimaryTextHover},".ql-snow.ql-toolbar button:hover .ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill":{fill:e.colorPrimaryTextHover},".ql-snow.ql-toolbar button:hover .ql-stroke,\n.ql-snow .ql-toolbar button:hover .ql-stroke,\n.ql-snow.ql-toolbar button:focus .ql-stroke,\n.ql-snow .ql-toolbar button:focus .ql-stroke,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow.ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow .ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter":{stroke:e.colorPrimaryTextHover},"@media (pointer: coarse)":{".ql-snow.ql-toolbar button:hover:not(.ql-active),\n .ql-snow .ql-toolbar button:hover:not(.ql-active)":{color:e.colorTextSecondary},".ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,\n .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill":{fill:e.colorTextSecondary},".ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter":{stroke:e.colorTextSecondary}},".ql-snow":{boxSizing:"border-box"},".ql-snow *":{boxSizing:"border-box"},".ql-snow .ql-hidden":{display:"none"},".ql-snow .ql-out-bottom,\n.ql-snow .ql-out-top":{visibility:"hidden"},".ql-snow .ql-tooltip":{position:"absolute",transform:"translateY(10px)",backgroundColor:"#fff",border:`1px solid ${e.colorBorder}`,boxShadow:"0px 0px 5px #ddd",color:e.colorTextSecondary,padding:"5px 12px",whiteSpace:"nowrap"},".ql-snow .ql-tooltip a":{cursor:"pointer",textDecoration:"none",lineHeight:"26px"},".ql-snow .ql-tooltip.ql-flip":{transform:"translateY(-10px)"},".ql-snow .ql-formats":{display:"inline-block",verticalAlign:"middle"},".ql-snow .ql-formats:after":{clear:"both",content:"''",display:"table"},".ql-snow .ql-stroke":{fill:"none",stroke:e.colorTextSecondary,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2},".ql-snow .ql-stroke-miter":{fill:"none",stroke:e.colorTextSecondary,strokeMiterlimit:"10",strokeWidth:2},".ql-snow .ql-fill,\n.ql-snow .ql-stroke.ql-fill":{fill:e.colorTextSecondary},".ql-snow .ql-empty":{fill:"none"},".ql-snow .ql-even":{fillRule:"evenodd"},".ql-snow .ql-thin,\n.ql-snow .ql-stroke.ql-thin":{strokeWidth:1},".ql-snow .ql-transparent":{opacity:.4},".ql-snow .ql-direction svg:last-child":{display:"none"},".ql-snow .ql-direction.ql-active svg:last-child":{display:"inline"},".ql-snow .ql-direction.ql-active svg:first-child":{display:"none"},".ql-snow .ql-editor h1":{fontSize:"2em"},".ql-snow .ql-editor h2":{fontSize:"1.5em"},".ql-snow .ql-editor h3":{fontSize:"1.17em"},".ql-snow .ql-editor h4":{fontSize:"1em"},".ql-snow .ql-editor h5":{fontSize:"0.83em"},".ql-snow .ql-editor h6":{fontSize:"0.67em"},".ql-snow .ql-editor blockquote":{borderLeft:"4px solid #ccc",marginBottom:"5px",marginTop:"5px",paddingLeft:"16px"},".ql-snow .ql-editor code,\n.ql-snow .ql-editor pre":{backgroundColor:"#f0f0f0",borderRadius:"3px"},".ql-snow .ql-editor pre":{whiteSpace:"pre-wrap",marginBottom:"5px",marginTop:"5px",padding:"5px 10px"},".ql-snow .ql-editor code":{fontSize:"85%",padding:"2px 4px"},".ql-snow .ql-editor pre.ql-syntax":{backgroundColor:"#23241f",color:"#f8f8f2",overflow:"visible"},".ql-snow .ql-editor img":{maxWidth:"100%"},".ql-snow .ql-picker":{color:e.colorTextSecondary,display:"inline-block",cssFloat:"left",fontSize:"14px",fontWeight:500,height:"24px",position:"relative",verticalAlign:"middle"},".ql-snow .ql-picker-label":{cursor:"pointer",display:"inline-block",height:"100%",paddingLeft:"8px",paddingRight:"2px",position:"relative",width:"100%"},".ql-snow .ql-picker-label::before":{display:"inline-block",lineHeight:"22px"},".ql-snow .ql-picker-options":{backgroundColor:"#fff",display:"none",minWidth:"100%",padding:"4px 8px",position:"absolute",whiteSpace:"nowrap"},".ql-snow .ql-picker-options .ql-picker-item":{cursor:"pointer",display:"block",paddingBottom:"5px",paddingTop:"5px"},".ql-snow .ql-picker.ql-expanded .ql-picker-label":{color:"#ccc",zIndex:2},".ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill":{fill:"#ccc"},".ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke":{stroke:"#ccc"},".ql-snow .ql-picker.ql-expanded .ql-picker-options":{display:"block",marginTop:"-1px",top:"100%",zIndex:1},".ql-snow .ql-color-picker,\n.ql-snow .ql-icon-picker":{width:"28px"},".ql-snow .ql-color-picker .ql-picker-label,\n.ql-snow .ql-icon-picker .ql-picker-label":{padding:"2px 4px"},".ql-snow .ql-color-picker .ql-picker-label svg,\n.ql-snow .ql-icon-picker .ql-picker-label svg":{right:"4px"},".ql-snow .ql-icon-picker .ql-picker-options":{padding:"4px 0px"},".ql-snow .ql-icon-picker .ql-picker-item":{height:"24px",width:"24px",padding:"2px 4px"},".ql-snow .ql-color-picker .ql-picker-options":{padding:"3px 5px",width:"152px"},".ql-snow .ql-color-picker .ql-picker-item":{border:"1px solid transparent",cssFloat:"left",height:"16px",margin:"2px",padding:"0px",width:"16px"},".ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg":{position:"absolute",marginTop:"-9px",right:"0",top:"50%",width:"18px"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before":{content:"attr(data-label)"},".ql-snow .ql-picker.ql-header":{width:"98px"},".ql-snow .ql-picker.ql-header .ql-picker-label::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item::before":{content:"'Normal'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='1']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before":{content:"'Heading 1'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='2']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before":{content:"'Heading 2'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='3']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before":{content:"'Heading 3'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='4']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='4']::before":{content:"'Heading 4'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='5']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='5']::before":{content:"'Heading 5'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='6']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='6']::before":{content:"'Heading 6'"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before":{fontSize:"2em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before":{fontSize:"1.5em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before":{fontSize:"1.17em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='4']::before":{fontSize:"1em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='5']::before":{fontSize:"0.83em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='6']::before":{fontSize:"0.67em"},".ql-snow .ql-picker.ql-font":{width:"108px"},".ql-snow .ql-picker.ql-font .ql-picker-label::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item::before":{content:"'Sans Serif'"},".ql-snow .ql-picker.ql-font .ql-picker-label[data-value='serif']::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='serif']::before":{content:"'Serif'"},".ql-snow .ql-picker.ql-font .ql-picker-label[data-value='monospace']::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='monospace']::before":{content:"'Monospace'"},".ql-snow .ql-picker.ql-font .ql-picker-item[data-value='serif']::before":{fontFamily:"Georgia, Times New Roman, serif"},".ql-snow .ql-picker.ql-font .ql-picker-item[data-value='monospace']::before":{fontFamily:"Monaco, Courier New, monospace"},".ql-snow .ql-picker.ql-size":{width:"98px"},".ql-snow .ql-picker.ql-size .ql-picker-label::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item::before":{content:"'Normal'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='small']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='small']::before":{content:"'Small'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='large']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='large']::before":{content:"'Large'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='huge']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='huge']::before":{content:"'Huge'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='small']::before":{fontSize:"10px"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='large']::before":{fontSize:"18px"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='huge']::before":{fontSize:"32px"},".ql-snow .ql-color-picker.ql-background .ql-picker-item":{backgroundColor:"#fff"},".ql-snow .ql-color-picker.ql-color .ql-picker-item":{backgroundColor:"#000"},".ql-toolbar.ql-snow":{border:`1px solid ${e.colorBorder}`,boxSizing:"border-box",padding:"8px",borderTopLeftRadius:"2px",borderTopRightRadius:"2px",lineHeight:1.6},".ql-toolbar.ql-snow .ql-formats":{marginRight:"15px"},".ql-toolbar.ql-snow .ql-picker-label":{border:"1px solid transparent"},".ql-toolbar.ql-snow .ql-picker-options":{border:"1px solid transparent",boxShadow:"rgba(0, 0, 0, 0.2) 0 2px 8px"},".ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label":{borderColor:e.colorBorder},".ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options":{borderColor:e.colorBorder},".ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,\n.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover":{borderColor:"#000"},".ql-toolbar.ql-snow + .ql-container.ql-snow":{borderTop:"0px"},".ql-snow .ql-tooltip::before":{content:"'Visit URL:'",lineHeight:"26px",marginRight:"8px"},".ql-snow .ql-tooltip input[type='text']":{display:"none",border:`1px solid ${e.colorBorder}`,fontSize:"13px",height:"26px",margin:"0px",padding:"3px 5px",width:"170px"},".ql-snow .ql-tooltip a.ql-preview":{display:"inline-block",maxWidth:"200px",overflowX:"hidden",textOverflow:"ellipsis",verticalAlign:"top"},".ql-snow .ql-tooltip a.ql-action::after":{borderRight:"1px solid #ccc",content:"'Edit'",marginLeft:"16px",paddingRight:"8px"},".ql-snow .ql-tooltip a.ql-remove::before":{content:"'Remove'",marginLeft:"8px"},".ql-snow .ql-tooltip.ql-editing a.ql-preview,\n.ql-snow .ql-tooltip.ql-editing a.ql-remove":{display:"none"},".ql-snow .ql-tooltip.ql-editing input[type='text']":{display:"inline-block"},".ql-snow .ql-tooltip.ql-editing a.ql-action::after":{borderRight:"0px",content:"'Save'",paddingRight:"0px"},".ql-snow .ql-tooltip[data-mode='link']::before":{content:"'Enter link:'"},".ql-snow .ql-tooltip[data-mode='formula']::before":{content:"'Enter formula:'"},".ql-snow .ql-tooltip[data-mode='video']::before":{content:"'Enter video:'"},".ql-snow a":{color:e.colorPrimaryTextHover},".ql-container.ql-snow":{border:`1px solid ${e.colorBorder}`,borderBottomLeftRadius:"2px",borderBottomRightRadius:"2px"}}}}),ReactQuill=lazy(()=>import("react-quill")),RichText=(0,import_react.connect)(e=>{const{wrapSSR:t,hashId:o,componentCls:r}=useStyles$2(),i={toolbar:[["bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]]},n=["header","bold","italic","underline","strike","blockquote","list","bullet","indent","link","image"],{value:a,defaultValue:l,onChange:c,disabled:u,modules:m,formats:d}=e,p=isVariable$1(a||l)?void 0:a||"",h=import_css.css`
1348
+ .ql-container.ql-disabled {
1349
+ background-color: #f5f5f5; /* 灰色背景 */
1350
+ color: #999;
1351
+ opacity: 0.7;
1352
+ cursor: not-allowed;
1353
+ pointer-events: none;
1354
+ border: 1px solid #d9d9d9; /* 模拟 input 的禁用边框 */
1355
+ border-radius: 6px;
1356
+ }
1357
+ `;return t((0,import_jsx_runtime.jsx)(ReactQuill,{className:(0,import_classnames.default)(r,o,h,{"is-disabled":u}),modules:m||i,formats:d||n,value:p,onChange:g=>{c(g==="<p><br></p>"?"":g)},readOnly:u}))},(0,import_react.mapProps)({initialValue:"defaultValue"}),(0,import_react.mapReadPretty)(e=>(0,import_jsx_runtime.jsx)(ReadPretty$c.Html,x({},e)))),Space=e=>{var t;let{split:o}=e;o==="|"&&(o="");const r=(0,import_antd_v5.useFormLayout)();return import_react2.default.createElement(import_antd.Space,P(x({size:(t=e.size)!=null?t:r==null?void 0:r.spaceGap},e),{split:o}))},isColumnComponent=e=>{var t;return((t=e["x-component"])==null?void 0:t.endsWith(".Column"))>-1},useTableColumns=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{exists:o,render:r}=useSchemaInitializerRender(t["x-initializer"],t["x-initializer-props"]),i=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),n=useCollectionParentRecordData(),a=useCollectionRecordData(),l=t.reduceProperties((c,u)=>isColumnComponent(u)&&i[u["x-visible"]]!==!1?c.concat([u]):c,[]).map(c=>({title:(0,import_jsx_runtime.jsx)(import_react.RecursionField,{name:c.name,schema:c,onlyRenderSelf:!0}),dataIndex:c.name,key:c.name,render:(u,m)=>{var d;const p=(d=e.value)==null?void 0:d.indexOf(m);return(0,import_jsx_runtime.jsx)(RecordIndexProvider,{index:p,children:(0,import_jsx_runtime.jsx)(RecordProvider,{record:m,parent:n||a,children:(0,import_jsx_runtime.jsx)("span",{role:"button",className:import_css.css`
1348
1358
  .ant-space-gap-col-small {
1349
1359
  column-gap: 10px;
1350
1360
  }
@@ -1537,7 +1547,6 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
1537
1547
  height: 100%;
1538
1548
  left: 0;
1539
1549
  top: 0;
1540
- background: rgba(0, 0, 0, 0);
1541
1550
  z-index: 100;
1542
1551
  .ant-layout-sider-children {
1543
1552
  top: 46px;
@@ -1545,7 +1554,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
1545
1554
  width: 200px;
1546
1555
  height: calc(100vh - 46px);
1547
1556
  }
1548
- `,theme:"light",children:(0,import_jsx_runtime.jsx)(import_antd.Menu,{selectedKeys:[(g==null?void 0:g.pluginKey)||g.topLevelName],style:{height:"calc(100vh - 46px)",overflowY:"auto",overflowX:"hidden"},onClick:({key:v})=>{var C;const S=m.find(b=>b.name===v);if(S.link){window.open(S.link,"_blank");return}return(C=S.children)!=null&&C.length?a(d(S.children)):a(S.path)},items:f})}),(0,import_jsx_runtime.jsxs)(import_antd.Layout.Content,{children:[g&&(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{className:r.pageHeader,style:{paddingBottom:((t=_.children)==null?void 0:t.length)>0&&_.showTabs!==!1?0:i.paddingSM},ghost:!1,title:_.title,footer:((o=_.children)==null?void 0:o.length)>0&&_.showTabs!==!1&&(0,import_jsx_runtime.jsx)(import_antd.Menu,{style:{marginLeft:-i.margin},onClick:({key:v})=>{const C=replaceRouteParams(n.pluginSettingsManager.getRoutePath(v),c);l.pathname!==C&&a(C)},selectedKeys:[g==null?void 0:g.name],mode:"horizontal",items:getMenuItems(_.children)})}),(0,import_jsx_runtime.jsx)("div",{className:r.pageContent,children:g?(0,import_jsx_runtime.jsx)(import_react_router_dom.Outlet,{}):(0,import_jsx_runtime.jsx)(AppNotFound,{})})]})]})})};class PMPlugin extends Plugin{load(){return z(this,null,function*(){this.addComponents(),this.addRoutes(),this.addSettings()})}addSettings(){this.app.pluginSettingsManager.add("system-settings",{icon:"SettingOutlined",title:'{{t("System settings")}}',Component:SystemSettingsPane,aclSnippet:"pm.system-settings.system-settings"})}addComponents(){this.app.addComponents({PluginManagerLink,SettingsCenterDropdown})}addRoutes(){this.app.router.add("admin.pm.list",{path:"/admin/pm/list",element:(0,import_jsx_runtime.jsx)(PluginManager,{})}),this.app.router.add("admin.pm.list-tab",{path:"/admin/pm/list/:tabName",element:(0,import_jsx_runtime.jsx)(PluginManager,{})}),this.app.router.add("admin.pm.list-tab-mdfile",{path:"/admin/pm/list/:tabName/:mdfile",element:(0,import_jsx_runtime.jsx)(PluginManager,{})}),this.app.router.add("admin.settings",{path:ADMIN_SETTINGS_PATH,element:(0,import_jsx_runtime.jsx)(AdminSettingsLayout,{})})}}const getChildrenKeys=(e=[],t=[])=>{for(const o of e)t.push(o.aclSnippet),o.children&&o.children.length&&getChildrenKeys(o.children,t);return t},SettingMenuContext=(0,import_react2.createContext)(null);SettingMenuContext.displayName="SettingMenuContext";const SettingCenterProvider=e=>{const t=(0,import_react2.useContext)(SettingsCenterContext);return(0,import_jsx_runtime.jsx)(SettingMenuContext.Provider,{value:t,children:e.children})},SettingsCenterConfigure=()=>{const e=useApp(),t=useRecord(),o=useAPIClient(),r=useCompile(),i=e.pluginSettingsManager.getList(!1),n=e.pluginSettingsManager.getAclSnippets(),[a,l]=(0,import_react2.useState)([]),c=(0,import_react2.useMemo)(()=>a.includes("pm.*")&&a.every(g=>!g.startsWith("!pm.")),[a]),{t:u}=(0,import_react_i18next.useTranslation)(),{loading:m,refresh:d}=useRequest({resource:"roles.snippets",resourceOf:t.name,action:"list",params:{paginate:!1}},{onSuccess(g){l((g==null?void 0:g.data)||[])}}),p=o.resource("roles.snippets",t.name),h=(g,_)=>z(void 0,null,function*(){const f=getChildrenKeys(_==null?void 0:_.children,[]).concat(_.aclSnippet);g?(yield p.add({values:f.map(v=>"!"+v)}),d()):(yield p.remove({values:f.map(v=>"!"+v)}),d()),import_antd.message.success(u("Saved successfully"))});return(0,import_jsx_runtime.jsx)(import_antd.Table,{className:antTableCell,loading:m,rowKey:"key",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:u("Plugin name"),render:g=>r(g)},{dataIndex:"accessible",title:(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:c,onChange:()=>z(void 0,null,function*(){const g=n.map(_=>"!"+_);c?yield p.add({values:g}):yield p.remove({values:g}),d(),import_antd.message.success(u("Saved successfully"))})})," ",u("Accessible")]}),render:(g,_)=>{const f=!a.includes("!"+_.aclSnippet);return(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:f,onChange:()=>h(f,_)})}}],dataSource:i.filter(g=>g.isTopLevel!==!1).map(g=>g.showTabs!==!1?g:(0,import_lodash.omit)(g,"children"))})},components=Object.freeze(Object.defineProperty({__proto__:null,MenuConfigure,PermissionContext,PermissionProvider,RoleConfigure,RoleResourceCollectionContext,RoleTable,RolesResourcesActions,ScopeSelect,SettingCenterPermissionProvider,SettingCenterProvider,SettingsCenterConfigure,StrategyActions,useRolesResourcesScopesSelectedRowKeys},Symbol.toStringTag,{value:"Module"})),schema2={type:"object",properties:{[(0,import_shared.uid)()]:{"x-component":"RoleTable"}}},ACLPane=()=>(0,import_jsx_runtime.jsx)(import_antd.Card,{"data-testid":"acl-pane-card",bordered:!1,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components,schema:schema2})});class ACLPlugin extends Plugin{load(){return z(this,null,function*(){this.app.addComponents({ACLCollectionFieldProvider,ACLActionProvider,ACLMenuItemProvider,ACLCollectionProvider})})}}class CronstrueLocale{constructor(t){this.data=t}atX0SecondsPastTheMinuteGt20(){return this.data.atX0SecondsPastTheMinuteGt20}atX0MinutesPastTheHourGt20(){return this.data.atX0MinutesPastTheHourGt20}commaMonthX0ThroughMonthX1(){return this.data.commaMonthX0ThroughMonthX1}commaYearX0ThroughYearX1(){return this.data.commaYearX0ThroughYearX1}use24HourTimeFormatByDefault(){return this.data.use24HourTimeFormatByDefault}anErrorOccuredWhenGeneratingTheExpressionD(){return this.data.anErrorOccuredWhenGeneratingTheExpressionD}everyMinute(){return this.data.everyMinute}everyHour(){return this.data.everyHour}atSpace(){return this.data.atSpace}everyMinuteBetweenX0AndX1(){return this.data.everyMinuteBetweenX0AndX1}at(){return this.data.at}spaceAnd(){return this.data.spaceAnd}everySecond(){return this.data.everySecond}everyX0Seconds(){return this.data.everyX0Seconds}secondsX0ThroughX1PastTheMinute(){return this.data.secondsX0ThroughX1PastTheMinute}atX0SecondsPastTheMinute(){return this.data.atX0SecondsPastTheMinute}everyX0Minutes(){return this.data.everyX0Minutes}minutesX0ThroughX1PastTheHour(){return this.data.minutesX0ThroughX1PastTheHour}atX0MinutesPastTheHour(){return this.data.atX0MinutesPastTheHour}everyX0Hours(){return this.data.everyX0Hours}betweenX0AndX1(){return this.data.betweenX0AndX1}atX0(){return this.data.atX0}commaEveryDay(){return this.data.commaEveryDay}commaEveryX0DaysOfTheWeek(){return this.data.commaEveryX0DaysOfTheWeek}commaX0ThroughX1(){return this.data.commaX0ThroughX1}commaAndX0ThroughX1(){return this.data.commaAndX0ThroughX1}first(){return this.data.first}second(){return this.data.second}third(){return this.data.third}fourth(){return this.data.fourth}fifth(){return this.data.fifth}commaOnThe(){return this.data.commaOnThe}spaceX0OfTheMonth(){return this.data.spaceX0OfTheMonth}lastDay(){return this.data.lastDay}commaOnTheLastX0OfTheMonth(){return this.data.commaOnTheLastX0OfTheMonth}commaOnlyOnX0(){return this.data.commaOnlyOnX0}commaAndOnX0(){return this.data.commaAndOnX0}commaEveryX0Months(){return this.data.commaEveryX0Months}commaOnlyInX0(){return this.data.commaOnlyInX0}commaOnTheLastDayOfTheMonth(){return this.data.commaOnTheLastDayOfTheMonth}commaOnTheLastWeekdayOfTheMonth(){return this.data.commaOnTheLastWeekdayOfTheMonth}commaDaysBeforeTheLastDayOfTheMonth(){return this.data.commaDaysBeforeTheLastDayOfTheMonth}firstWeekday(){return this.data.firstWeekday}weekdayNearestDayX0(){return this.data.weekdayNearestDayX0}commaOnTheX0OfTheMonth(){return this.data.commaOnTheX0OfTheMonth}commaEveryX0Days(){return this.data.commaEveryX0Days}commaBetweenDayX0AndX1OfTheMonth(){return this.data.commaBetweenDayX0AndX1OfTheMonth}commaOnDayX0OfTheMonth(){return this.data.commaOnDayX0OfTheMonth}commaEveryHour(){return this.data.commaEveryHour}commaEveryX0Years(){return this.data.commaEveryX0Years}commaStartingX0(){return this.data.commaStartingX0}daysOfTheWeek(){return this.data.daysOfTheWeek}monthsOfTheYear(){return this.data.monthsOfTheYear}}const loadConstrueLocale=e=>{(import_cronstrue.default.default?import_cronstrue.default.default:import_cronstrue.default).initialize({load(t){t[e==null?void 0:e.lang]=new CronstrueLocale(e==null?void 0:e.cronstrue)}})},AppLangContext=(0,import_react2.createContext)({});AppLangContext.displayName="AppLangContext";const useAppLangContext=()=>(0,import_react2.useContext)(AppLangContext);function AntdConfigProvider(e){var t;const o=e,{remoteLocale:r}=o,i=Y(o,["remoteLocale"]),n=useAPIClient(),{i18n:a}=(0,import_react_i18next.useTranslation)(),{data:l,loading:c}=useRequest({url:"app:getLang",params:{locale:n.auth.locale}},{onSuccess(u){var m,d,p,h,g,_;const f=n.auth.locale;(m=u==null?void 0:u.data)!=null&&m.lang&&!f&&(n.auth.setLocale((d=u==null?void 0:u.data)==null?void 0:d.lang),a.changeLanguage((p=u==null?void 0:u.data)==null?void 0:p.lang)),Object.keys(((h=u==null?void 0:u.data)==null?void 0:h.resources)||{}).forEach(v=>{var C,S;a.addResources((C=u==null?void 0:u.data)==null?void 0:C.lang,v,((S=u==null?void 0:u.data)==null?void 0:S.resources[v])||{})}),loadConstrueLocale(u==null?void 0:u.data),import_client.dayjs.locale((g=u==null?void 0:u.data)==null?void 0:g.moment),window.cronLocale=(_=u==null?void 0:u.data)==null?void 0:_.cron},manual:!r});return c?(0,import_jsx_runtime.jsx)("div",{style:{textAlign:"center",marginTop:20},children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{})}):(0,import_jsx_runtime.jsx)(AppLangContext.Provider,{value:l==null?void 0:l.data,children:(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,P(x({popupMatchSelectWidth:!1},i),{locale:((t=l==null?void 0:l.data)==null?void 0:t.antd)||{},children:e.children}))})}class AntdConfigPlugin extends Plugin{load(){return z(this,null,function*(){var t;this.app.use(AntdConfigProvider,((t=this.options)==null?void 0:t.config)||{})})}}const PinnedPluginListContext=(0,import_react2.createContext)({items:{}});PinnedPluginListContext.displayName="PinnedPluginListContext";const SettingsMenu=()=>{var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=useCurrentAppInfo(),{token:i}=useToken(),n=((e=r==null?void 0:r.data)==null?void 0:e.lang)==="zh-CN",a=[{key:"nocobase",disabled:!0,label:(0,import_jsx_runtime.jsxs)("div",{style:{cursor:"text"},children:[(0,import_jsx_runtime.jsx)("div",{style:{color:i.colorText},children:"NocoBase"}),(0,import_jsx_runtime.jsxs)("div",{style:{fontSize:"0.8em",color:i.colorTextDescription},children:["v",(t=r==null?void 0:r.data)==null?void 0:t.version]})]})},{key:"divider_1",type:"divider"},{key:"homePage",label:(0,import_jsx_runtime.jsx)("a",{href:n?"https://www.nocobase.com/cn/":"https://www.nocobase.com",target:"_blank",rel:"noreferrer",children:o("Home page")})},{key:"userManual",label:(0,import_jsx_runtime.jsx)("a",{href:n?"https://docs-cn.nocobase.com/handbook":"https://docs.nocobase.com/handbook",target:"_blank",rel:"noreferrer",children:o("Handbook")})},{key:"license",label:(0,import_jsx_runtime.jsx)("a",{href:n?"https://www.nocobase.com/cn/agreement":"https://www.nocobase.com/en/agreement",target:"_blank",rel:"noreferrer",children:o("License")})}];return(0,import_jsx_runtime.jsx)(import_antd.Menu,{items:a})},helpClassName=import_css.css`
1557
+ `,children:(0,import_jsx_runtime.jsx)(import_antd.Menu,{selectedKeys:[(g==null?void 0:g.pluginKey)||g.topLevelName],style:{height:"calc(100vh - 46px)",overflowY:"auto",overflowX:"hidden"},onClick:({key:v})=>{var C;const S=m.find(b=>b.name===v);if(S.link){window.open(S.link,"_blank");return}return(C=S.children)!=null&&C.length?a(d(S.children)):a(S.path)},items:f})}),(0,import_jsx_runtime.jsxs)(import_antd.Layout.Content,{children:[g&&(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{className:r.pageHeader,style:{paddingBottom:((t=_.children)==null?void 0:t.length)>0&&_.showTabs!==!1?0:i.paddingSM},ghost:!1,title:_.title,footer:((o=_.children)==null?void 0:o.length)>0&&_.showTabs!==!1&&(0,import_jsx_runtime.jsx)(import_antd.Menu,{style:{marginLeft:-i.margin},onClick:({key:v})=>{const C=replaceRouteParams(n.pluginSettingsManager.getRoutePath(v),c);l.pathname!==C&&a(C)},selectedKeys:[g==null?void 0:g.name],mode:"horizontal",items:getMenuItems(_.children)})}),(0,import_jsx_runtime.jsx)("div",{className:r.pageContent,children:g?(0,import_jsx_runtime.jsx)(import_react_router_dom.Outlet,{}):(0,import_jsx_runtime.jsx)(AppNotFound,{})})]})]})})};class PMPlugin extends Plugin{load(){return z(this,null,function*(){this.addComponents(),this.addRoutes(),this.addSettings()})}addSettings(){this.app.pluginSettingsManager.add("system-settings",{icon:"SettingOutlined",title:'{{t("System settings")}}',Component:SystemSettingsPane,aclSnippet:"pm.system-settings.system-settings"})}addComponents(){this.app.addComponents({PluginManagerLink,SettingsCenterDropdown})}addRoutes(){this.app.router.add("admin.pm.list",{path:"/admin/pm/list",element:(0,import_jsx_runtime.jsx)(PluginManager,{})}),this.app.router.add("admin.pm.list-tab",{path:"/admin/pm/list/:tabName",element:(0,import_jsx_runtime.jsx)(PluginManager,{})}),this.app.router.add("admin.pm.list-tab-mdfile",{path:"/admin/pm/list/:tabName/:mdfile",element:(0,import_jsx_runtime.jsx)(PluginManager,{})}),this.app.router.add("admin.settings",{path:ADMIN_SETTINGS_PATH,element:(0,import_jsx_runtime.jsx)(AdminSettingsLayout,{})})}}const getChildrenKeys=(e=[],t=[])=>{for(const o of e)t.push(o.aclSnippet),o.children&&o.children.length&&getChildrenKeys(o.children,t);return t},SettingMenuContext=(0,import_react2.createContext)(null);SettingMenuContext.displayName="SettingMenuContext";const SettingCenterProvider=e=>{const t=(0,import_react2.useContext)(SettingsCenterContext);return(0,import_jsx_runtime.jsx)(SettingMenuContext.Provider,{value:t,children:e.children})},SettingsCenterConfigure=()=>{const e=useApp(),t=useRecord(),o=useAPIClient(),r=useCompile(),i=e.pluginSettingsManager.getList(!1),n=e.pluginSettingsManager.getAclSnippets(),[a,l]=(0,import_react2.useState)([]),c=(0,import_react2.useMemo)(()=>a.includes("pm.*")&&a.every(g=>!g.startsWith("!pm.")),[a]),{t:u}=(0,import_react_i18next.useTranslation)(),{loading:m,refresh:d}=useRequest({resource:"roles.snippets",resourceOf:t.name,action:"list",params:{paginate:!1}},{onSuccess(g){l((g==null?void 0:g.data)||[])}}),p=o.resource("roles.snippets",t.name),h=(g,_)=>z(void 0,null,function*(){const f=getChildrenKeys(_==null?void 0:_.children,[]).concat(_.aclSnippet);g?(yield p.add({values:f.map(v=>"!"+v)}),d()):(yield p.remove({values:f.map(v=>"!"+v)}),d()),import_antd.message.success(u("Saved successfully"))});return(0,import_jsx_runtime.jsx)(import_antd.Table,{className:antTableCell,loading:m,rowKey:"key",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:u("Plugin name"),render:g=>r(g)},{dataIndex:"accessible",title:(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:c,onChange:()=>z(void 0,null,function*(){const g=n.map(_=>"!"+_);c?yield p.add({values:g}):yield p.remove({values:g}),d(),import_antd.message.success(u("Saved successfully"))})})," ",u("Accessible")]}),render:(g,_)=>{const f=!a.includes("!"+_.aclSnippet);return(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:f,onChange:()=>h(f,_)})}}],dataSource:i.filter(g=>g.isTopLevel!==!1).map(g=>g.showTabs!==!1?g:(0,import_lodash.omit)(g,"children"))})},components=Object.freeze(Object.defineProperty({__proto__:null,MenuConfigure,PermissionContext,PermissionProvider,RoleConfigure,RoleResourceCollectionContext,RoleTable,RolesResourcesActions,ScopeSelect,SettingCenterPermissionProvider,SettingCenterProvider,SettingsCenterConfigure,StrategyActions,useRolesResourcesScopesSelectedRowKeys},Symbol.toStringTag,{value:"Module"})),schema2={type:"object",properties:{[(0,import_shared.uid)()]:{"x-component":"RoleTable"}}},ACLPane=()=>(0,import_jsx_runtime.jsx)(import_antd.Card,{"data-testid":"acl-pane-card",bordered:!1,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components,schema:schema2})});class ACLPlugin extends Plugin{load(){return z(this,null,function*(){this.app.addComponents({ACLCollectionFieldProvider,ACLActionProvider,ACLMenuItemProvider,ACLCollectionProvider})})}}class CronstrueLocale{constructor(t){this.data=t}atX0SecondsPastTheMinuteGt20(){return this.data.atX0SecondsPastTheMinuteGt20}atX0MinutesPastTheHourGt20(){return this.data.atX0MinutesPastTheHourGt20}commaMonthX0ThroughMonthX1(){return this.data.commaMonthX0ThroughMonthX1}commaYearX0ThroughYearX1(){return this.data.commaYearX0ThroughYearX1}use24HourTimeFormatByDefault(){return this.data.use24HourTimeFormatByDefault}anErrorOccuredWhenGeneratingTheExpressionD(){return this.data.anErrorOccuredWhenGeneratingTheExpressionD}everyMinute(){return this.data.everyMinute}everyHour(){return this.data.everyHour}atSpace(){return this.data.atSpace}everyMinuteBetweenX0AndX1(){return this.data.everyMinuteBetweenX0AndX1}at(){return this.data.at}spaceAnd(){return this.data.spaceAnd}everySecond(){return this.data.everySecond}everyX0Seconds(){return this.data.everyX0Seconds}secondsX0ThroughX1PastTheMinute(){return this.data.secondsX0ThroughX1PastTheMinute}atX0SecondsPastTheMinute(){return this.data.atX0SecondsPastTheMinute}everyX0Minutes(){return this.data.everyX0Minutes}minutesX0ThroughX1PastTheHour(){return this.data.minutesX0ThroughX1PastTheHour}atX0MinutesPastTheHour(){return this.data.atX0MinutesPastTheHour}everyX0Hours(){return this.data.everyX0Hours}betweenX0AndX1(){return this.data.betweenX0AndX1}atX0(){return this.data.atX0}commaEveryDay(){return this.data.commaEveryDay}commaEveryX0DaysOfTheWeek(){return this.data.commaEveryX0DaysOfTheWeek}commaX0ThroughX1(){return this.data.commaX0ThroughX1}commaAndX0ThroughX1(){return this.data.commaAndX0ThroughX1}first(){return this.data.first}second(){return this.data.second}third(){return this.data.third}fourth(){return this.data.fourth}fifth(){return this.data.fifth}commaOnThe(){return this.data.commaOnThe}spaceX0OfTheMonth(){return this.data.spaceX0OfTheMonth}lastDay(){return this.data.lastDay}commaOnTheLastX0OfTheMonth(){return this.data.commaOnTheLastX0OfTheMonth}commaOnlyOnX0(){return this.data.commaOnlyOnX0}commaAndOnX0(){return this.data.commaAndOnX0}commaEveryX0Months(){return this.data.commaEveryX0Months}commaOnlyInX0(){return this.data.commaOnlyInX0}commaOnTheLastDayOfTheMonth(){return this.data.commaOnTheLastDayOfTheMonth}commaOnTheLastWeekdayOfTheMonth(){return this.data.commaOnTheLastWeekdayOfTheMonth}commaDaysBeforeTheLastDayOfTheMonth(){return this.data.commaDaysBeforeTheLastDayOfTheMonth}firstWeekday(){return this.data.firstWeekday}weekdayNearestDayX0(){return this.data.weekdayNearestDayX0}commaOnTheX0OfTheMonth(){return this.data.commaOnTheX0OfTheMonth}commaEveryX0Days(){return this.data.commaEveryX0Days}commaBetweenDayX0AndX1OfTheMonth(){return this.data.commaBetweenDayX0AndX1OfTheMonth}commaOnDayX0OfTheMonth(){return this.data.commaOnDayX0OfTheMonth}commaEveryHour(){return this.data.commaEveryHour}commaEveryX0Years(){return this.data.commaEveryX0Years}commaStartingX0(){return this.data.commaStartingX0}daysOfTheWeek(){return this.data.daysOfTheWeek}monthsOfTheYear(){return this.data.monthsOfTheYear}}const loadConstrueLocale=e=>{(import_cronstrue.default.default?import_cronstrue.default.default:import_cronstrue.default).initialize({load(t){t[e==null?void 0:e.lang]=new CronstrueLocale(e==null?void 0:e.cronstrue)}})},AppLangContext=(0,import_react2.createContext)({});AppLangContext.displayName="AppLangContext";const useAppLangContext=()=>(0,import_react2.useContext)(AppLangContext);function AntdConfigProvider(e){var t;const o=e,{remoteLocale:r}=o,i=Y(o,["remoteLocale"]),n=useAPIClient(),{i18n:a}=(0,import_react_i18next.useTranslation)(),{data:l,loading:c}=useRequest({url:"app:getLang",params:{locale:n.auth.locale}},{onSuccess(u){var m,d,p,h,g,_;const f=n.auth.locale;(m=u==null?void 0:u.data)!=null&&m.lang&&!f&&(n.auth.setLocale((d=u==null?void 0:u.data)==null?void 0:d.lang),a.changeLanguage((p=u==null?void 0:u.data)==null?void 0:p.lang)),Object.keys(((h=u==null?void 0:u.data)==null?void 0:h.resources)||{}).forEach(v=>{var C,S;a.addResources((C=u==null?void 0:u.data)==null?void 0:C.lang,v,((S=u==null?void 0:u.data)==null?void 0:S.resources[v])||{})}),loadConstrueLocale(u==null?void 0:u.data),import_client.dayjs.locale((g=u==null?void 0:u.data)==null?void 0:g.moment),window.cronLocale=(_=u==null?void 0:u.data)==null?void 0:_.cron},manual:!r});return c?(0,import_jsx_runtime.jsx)("div",{style:{textAlign:"center",marginTop:20},children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{})}):(0,import_jsx_runtime.jsx)(AppLangContext.Provider,{value:l==null?void 0:l.data,children:(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,P(x({popupMatchSelectWidth:!1},i),{locale:((t=l==null?void 0:l.data)==null?void 0:t.antd)||{},children:e.children}))})}class AntdConfigPlugin extends Plugin{load(){return z(this,null,function*(){var t;this.app.use(AntdConfigProvider,((t=this.options)==null?void 0:t.config)||{})})}}const PinnedPluginListContext=(0,import_react2.createContext)({items:{}});PinnedPluginListContext.displayName="PinnedPluginListContext";const SettingsMenu=()=>{var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=useCurrentAppInfo(),{token:i}=useToken(),n=((e=r==null?void 0:r.data)==null?void 0:e.lang)==="zh-CN",a=[{key:"nocobase",disabled:!0,label:(0,import_jsx_runtime.jsxs)("div",{style:{cursor:"text"},children:[(0,import_jsx_runtime.jsx)("div",{style:{color:i.colorText},children:"NocoBase"}),(0,import_jsx_runtime.jsxs)("div",{style:{fontSize:"0.8em",color:i.colorTextDescription},children:["v",(t=r==null?void 0:r.data)==null?void 0:t.version]})]})},{key:"divider_1",type:"divider"},{key:"homePage",label:(0,import_jsx_runtime.jsx)("a",{href:n?"https://www.nocobase.com/cn/":"https://www.nocobase.com",target:"_blank",rel:"noreferrer",children:o("Home page")})},{key:"userManual",label:(0,import_jsx_runtime.jsx)("a",{href:n?"https://docs-cn.nocobase.com/handbook":"https://docs.nocobase.com/handbook",target:"_blank",rel:"noreferrer",children:o("Handbook")})},{key:"license",label:(0,import_jsx_runtime.jsx)("a",{href:n?"https://www.nocobase.com/cn/agreement":"https://www.nocobase.com/en/agreement",target:"_blank",rel:"noreferrer",children:o("License")})}];return(0,import_jsx_runtime.jsx)(import_antd.Menu,{items:a})},helpClassName=import_css.css`
1549
1558
  display: inline-block;
1550
1559
  vertical-align: top;
1551
1560
  width: 46px;