@nocobase/client 1.7.0 → 1.7.2
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/es/block-provider/TemplateBlockProvider.d.ts +0 -2
- package/es/index.mjs +50 -63
- package/lib/index.js +8 -8
- package/package.json +5 -5
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 q(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 q(this,null,function*(){return yield Promise.all(this.multiDataSources.map(t=>q(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 b;return{label:(b=n(v))==null?void 0:b.title,value:v}})}const d=(v,{exclude:b=[],depth:S=0,maxDepth:C,prefix:y=""})=>S>C?[]:r(v).map(F=>{var I;if(b.includes(F.name)||!F.interface||["sort","password","sequence"].includes(F.type)||o&&o(F))return;const T={type:"duplicate",tag:c((I=F.uiSchema)==null?void 0:I.title)||F.name},k=P(x({},T),{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},T),{displayType:t})),key:y?`${y}.${F.name}`:F.name,isLeaf:!0,field:F});return["belongsTo","belongsToMany"].includes(F.type)?(T.type="reference",k.type="reference",k.title=import_react2.default.createElement(TreeNode,P(x({},T),{type:"reference",displayType:t})),k.isLeaf=!1,k.children=p(F.target,{depth:S+1,maxDepth:C,prefix:k.key,exclude:systemKeys})):["hasOne","hasMany"].includes(F.type)&&(k.isLeaf=!1,k.children=d(F.target,{depth:S+1,maxDepth:C,prefix:k.key,exclude:["id",...systemKeys]})),k}).filter(Boolean),p=(v,{prefix:b,maxDepth:S,depth:C=0,exclude:y=[]})=>C>S?[]:r(v).map(F=>{var I;if(!F.target||!F.interface||y.includes(F.name))return;const T={type:"preloading",tag:c((I=F.uiSchema)==null?void 0:I.title)||F.name},k=b?`${b}.${F.name}`:F.name;return{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},T),{displayType:t})),key:k,isLeaf:!1,field:F,children:p(F.target,{prefix:k,depth:C+1,maxDepth:S,exclude:y})}}).filter(Boolean),h=v=>v.map(b=>P(x({},b),{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},b),{type:b.type,displayType:t})),children:b.children?h(b.children):null})),g=(0,import_react2.useCallback)((v,b,S)=>{var C,y;const F=b.index,I=(y=(C=u.initialValue)==null?void 0:C.items)==null?void 0:y[F];if(!v)return[];if(I!=null&&I.treeData||S)return h(S||I.treeData);try{return d(v,{exclude:["id",...systemKeys],maxDepth:1})}catch(T){return console.error(T),[]}},[]),_=(0,import_react2.useCallback)(v=>b=>new Promise(S=>{if(b.children.length)return b.children.forEach(C=>{loadChildren$1({node:C,traverseAssociations:p,traverseFields:d,systemKeys,fields:v})}),S(void 0);loadChildren$1({node:b,traverseAssociations:p,traverseFields:d,systemKeys,fields:v}),S(void 0)}),[]),f=(0,import_react2.useCallback)(v=>b=>{v.value=b},[]);return{collectionList:l,getEnableFieldTree:g,getOnLoadData:_,getOnCheck:f,getScopeDataSource:v=>{const b=r(v),S=(y,F)=>{var I,T;if(!y.interface)return;const k=a(y.interface);if(!(k!=null&&k.filterable))return;const{nested:$,children:M,operators:O}=k.filterable,D={name:y.name,title:((I=y==null?void 0:y.uiSchema)==null?void 0:I.title)||y.name,schema:y==null?void 0:y.uiSchema,operators:((T=O==null?void 0:O.filter)==null?void 0:T.call(O,R=>!(R!=null&&R.visible)||R.visible(y)))||[],interface:y.interface};if(!(y.target&&F>2)){if(F>2)return D;if(M!=null&&M.length&&(D.children=M),$){const R=r(y.target),L=C(R,F+1).filter(Boolean);D.children=D.children||[],D.children.push(...L)}return D}},C=(y,F)=>{const I=[];return y.forEach(T=>{const k=S(T,F);k&&I.push(k)}),I};return C(b,1)},useTitleFieldDataSource:v=>{const b=v.path.entire.replace("titleField","collection"),S=v.query(b).get("value"),C=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=C}}};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],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},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 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_dayjs.default)(e).startOf(r).format("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),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),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 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)=>q(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)=>q(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)=>q(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)=>q(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)=>q(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 getRenderContent(e,t,o,r,i){return q(this,null,function*(){var n,a;if(t&&e==="handlebars")try{const l=import_client.Handlebars.compile(t),c=getVariablesData(r),{$nDate:u}=((n=o==null?void 0:o.ctxRef)==null?void 0:n.current)||{},m={};Object.keys(u||{}).map(p=>{m[p]=u[p]()});const d=l(P(x(x({},(a=o==null?void 0:o.ctxRef)==null?void 0:a.current),c),{$nDate:m}));return yield i(d)}catch(l){return/VariablesProvider: .* is not found/.test(l.message)||console.log(l),t}else try{const l=yield replaceVariableValue(t,o,r);return yield i(l)}catch(l){return/VariablesProvider: .* is not found/.test(l.message)||console.log(l),t}})}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});const NAMESPACE_UI_SCHEMA="ui-schema-storage";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 q(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 q(this,null,function*(){return yield Promise.all(this.multiDataSources.map(t=>q(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 b;return{label:(b=n(v))==null?void 0:b.title,value:v}})}const d=(v,{exclude:b=[],depth:S=0,maxDepth:C,prefix:y=""})=>S>C?[]:r(v).map(F=>{var I;if(b.includes(F.name)||!F.interface||["sort","password","sequence"].includes(F.type)||o&&o(F))return;const T={type:"duplicate",tag:c((I=F.uiSchema)==null?void 0:I.title)||F.name},k=P(x({},T),{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},T),{displayType:t})),key:y?`${y}.${F.name}`:F.name,isLeaf:!0,field:F});return["belongsTo","belongsToMany"].includes(F.type)?(T.type="reference",k.type="reference",k.title=import_react2.default.createElement(TreeNode,P(x({},T),{type:"reference",displayType:t})),k.isLeaf=!1,k.children=p(F.target,{depth:S+1,maxDepth:C,prefix:k.key,exclude:systemKeys})):["hasOne","hasMany"].includes(F.type)&&(k.isLeaf=!1,k.children=d(F.target,{depth:S+1,maxDepth:C,prefix:k.key,exclude:["id",...systemKeys]})),k}).filter(Boolean),p=(v,{prefix:b,maxDepth:S,depth:C=0,exclude:y=[]})=>C>S?[]:r(v).map(F=>{var I;if(!F.target||!F.interface||y.includes(F.name))return;const T={type:"preloading",tag:c((I=F.uiSchema)==null?void 0:I.title)||F.name},k=b?`${b}.${F.name}`:F.name;return{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},T),{displayType:t})),key:k,isLeaf:!1,field:F,children:p(F.target,{prefix:k,depth:C+1,maxDepth:S,exclude:y})}}).filter(Boolean),h=v=>v.map(b=>P(x({},b),{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},b),{type:b.type,displayType:t})),children:b.children?h(b.children):null})),g=(0,import_react2.useCallback)((v,b,S)=>{var C,y;const F=b.index,I=(y=(C=u.initialValue)==null?void 0:C.items)==null?void 0:y[F];if(!v)return[];if(I!=null&&I.treeData||S)return h(S||I.treeData);try{return d(v,{exclude:["id",...systemKeys],maxDepth:1})}catch(T){return console.error(T),[]}},[]),_=(0,import_react2.useCallback)(v=>b=>new Promise(S=>{if(b.children.length)return b.children.forEach(C=>{loadChildren$1({node:C,traverseAssociations:p,traverseFields:d,systemKeys,fields:v})}),S(void 0);loadChildren$1({node:b,traverseAssociations:p,traverseFields:d,systemKeys,fields:v}),S(void 0)}),[]),f=(0,import_react2.useCallback)(v=>b=>{v.value=b},[]);return{collectionList:l,getEnableFieldTree:g,getOnLoadData:_,getOnCheck:f,getScopeDataSource:v=>{const b=r(v),S=(y,F)=>{var I,T;if(!y.interface)return;const k=a(y.interface);if(!(k!=null&&k.filterable))return;const{nested:$,children:M,operators:O}=k.filterable,D={name:y.name,title:((I=y==null?void 0:y.uiSchema)==null?void 0:I.title)||y.name,schema:y==null?void 0:y.uiSchema,operators:((T=O==null?void 0:O.filter)==null?void 0:T.call(O,R=>!(R!=null&&R.visible)||R.visible(y)))||[],interface:y.interface};if(!(y.target&&F>2)){if(F>2)return D;if(M!=null&&M.length&&(D.children=M),$){const R=r(y.target),L=C(R,F+1).filter(Boolean);D.children=D.children||[],D.children.push(...L)}return D}},C=(y,F)=>{const I=[];return y.forEach(T=>{const k=S(T,F);k&&I.push(k)}),I};return C(b,1)},useTitleFieldDataSource:v=>{const b=v.path.entire.replace("titleField","collection"),S=v.query(b).get("value"),C=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=C}}};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],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),TemplateBlockProvider=({onTemplateLoaded:e,children:t})=>{const[o,r]=(0,import_react2.useState)(!1),i=(0,import_react2.useCallback)(()=>{r(!0),setTimeout(()=>{e==null||e()})},[e]),n=(0,import_react2.useMemo)(()=>({templateFinished:o,onTemplateSuccess:i}),[i,o]);return(0,import_jsx_runtime.jsx)(TemplateBlockContext.Provider,{value:n,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},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 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_dayjs.default)(e).startOf(r).format("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),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),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 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)=>q(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)=>q(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)=>q(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)=>q(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)=>q(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 getRenderContent(e,t,o,r,i){return q(this,null,function*(){var n,a;if(t&&e==="handlebars")try{const l=import_client.Handlebars.compile(t),c=getVariablesData(r),{$nDate:u}=((n=o==null?void 0:o.ctxRef)==null?void 0:n.current)||{},m={};Object.keys(u||{}).map(p=>{m[p]=u[p]()});const d=l(P(x(x({},(a=o==null?void 0:o.ctxRef)==null?void 0:a.current),c),{$nDate:m}));return yield i(d)}catch(l){return/VariablesProvider: .* is not found/.test(l.message)||console.log(l),t}else try{const l=yield replaceVariableValue(t,o,r);return yield i(l)}catch(l){return/VariablesProvider: .* is not found/.test(l.message)||console.log(l),t}})}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});const NAMESPACE_UI_SCHEMA="ui-schema-storage";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 q(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=Te(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 q(this,null,function*(){yield this.initStaticPlugins(e),this.loadRemotePlugins&&(yield this.initRemotePlugins())})}initStaticPlugins(){return q(this,arguments,function*(e=[]){try{for(var t=Te(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 q(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=Te(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 q(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 q(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=W(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=W(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=W(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=W(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=W(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=()=>q(this,null,function*(){console.log("onerror",this.readyState,this._reconnectTimes)}),t.onclose=r=>q(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,b=l(c),S=(0,import_react2.useCallback)(R=>{v?v(b(R,{isInSubTable:i})):r(u,b(R,{isInSubTable:i}),{onSuccess:m})},[v,b,i,r,u,m]),{wrapSSR:C,hashId:y,componentCls:F}=useSchemaInitializerStyles(),[I,T]=(0,import_react2.useState)(!1),{token:k}=import_antd.theme.useToken(),$=useNiceDropdownMaxHeight([I]),M=(0,import_react2.useMemo)(()=>x({options:t,style:_},f),[f,t,_]),O=(0,import_react2.useMemo)(()=>import_css.css`
|
|
24
24
|
.ant-popover-inner {
|
|
25
25
|
padding: ${`${k.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=W(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:()=>q(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 q(this,null,function*(){})}beforeLoad(){return q(this,null,function*(){})}load(){return q(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))};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.7.0",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.7.0","@nocobase/sdk":"1.7.0","@nocobase/utils":"1.7.0",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",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-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=>q(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=>q(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=>q(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=>q(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=>q(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 q(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 b;if(!v)return null;if(typeof v!="string")return v;const S=(0,import_get.default)(n,v);return(b=S==null?void 0:S[LAZY_COMPONENT_KEY])!=null?b:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,b)=>{const S=C=>{Object.keys(C).forEach(y=>{const F=C[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(I=>{d.decoratorProps[I]=F[I],p["x-decorator-props"][I]=F[I]})),y==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(I=>{d.componentProps[I]=F[I],p["x-component-props"][I]=F[I]}))})};if(typeof v=="string"){const C={};return(0,import_set.default)(C,v,b),S(C)}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,b)=>{_.remove(v,b)},[_]),insertAdjacent:(0,import_react2.useCallback)((v,b,S)=>{_.insertAdjacent(v,b,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=W(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$4);const n=i();return x(x({},r),n)},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;function useParsedFilter({filterOption:e}){const{parseFilter:t,findVariable:o}=useParseDataScopeFilter(),[r,i]=(0,import_react2.useState)({}),[n,a]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const l=()=>q(this,null,function*(){a(!0);const u=yield t(e);a(!1),i(u)});l();const c=import_lodash.default.debounce(l,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:u}){return u.startsWith("$")&&u!=="$and"&&u!=="$or"},transformValue(u){if(!isVariable$1(u))return u;const m=getVariableName(u),d=o(m);let p=null;const h=getPath(u).split(".");return h.forEach((g,_)=>{const f=h.slice(0,_+1).join("."),v=(0,import_client.getValuesByPath)({[m]:(d==null?void 0:d.ctx)||{}},f);import_lodash.default.isEmpty(v)||(p=v)}),p}}),c,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),t,o]),{filter:r,parseVariableLoading:n}}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);return!c.current&&l?(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};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"},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)=>q(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>q(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)=>q(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)=>q(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]],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]),{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])||i!=null&&i.type)return!0;const a=o(`${r}.${n}`);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 b=m;const S=o.find(I=>I.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)&&(b=m(S,h)),import_lodash.default.isFunction(d)&&(d=d(S));const C=((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:[{[b]:{[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(I=>removeNullCondition(I)),h.defaultFilter]);h.doFilter(P(x({},C),{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(),b=useRecord(),S=((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:C}=useParsedFilter({filterOption:S}),y=(0,import_react2.useMemo)(()=>f(g.name)||v(g==null?void 0:g["x-collection-field"]),[g]),F=b==null?void 0:b[y==null?void 0:y.sourceKey],I=(0,import_react2.useMemo)(()=>{const T=["oho","o2m"].includes(y==null?void 0:y.interface);return mergeFilter([mergeFilter([T&&!isInFilterFormBlock(g)&&y!=null&&y.foreignKey&&!h?{[y.foreignKey]:{$is:null}}:null,C]),T&&F!==void 0&&F!==null&&!isInFilterFormBlock(g)&&y!=null&&y.foreignKey&&!h?{[y.foreignKey]:{$eq:F}}:null],"$or")},[y==null?void 0:y.interface,y==null?void 0:y.foreignKey,g,C,F,h]);return(0,import_react2.useMemo)(()=>P(x({resource:y==null?void 0:y.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:I})}),[y==null?void 0:y.target,d,I,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=W(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:()=>q(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 q(this,null,function*(){})}beforeLoad(){return q(this,null,function*(){})}load(){return q(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))};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.7.2",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.7.2","@nocobase/sdk":"1.7.2","@nocobase/utils":"1.7.2",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",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-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=>q(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=>q(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=>q(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=>q(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=>q(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 q(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 b;if(!v)return null;if(typeof v!="string")return v;const S=(0,import_get.default)(n,v);return(b=S==null?void 0:S[LAZY_COMPONENT_KEY])!=null?b:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,b)=>{const S=C=>{Object.keys(C).forEach(y=>{const F=C[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(I=>{d.decoratorProps[I]=F[I],p["x-decorator-props"][I]=F[I]})),y==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(I=>{d.componentProps[I]=F[I],p["x-component-props"][I]=F[I]}))})};if(typeof v=="string"){const C={};return(0,import_set.default)(C,v,b),S(C)}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,b)=>{_.remove(v,b)},[_]),insertAdjacent:(0,import_react2.useCallback)((v,b,S)=>{_.insertAdjacent(v,b,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=W(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$4);const n=i();return x(x({},r),n)},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;function useParsedFilter({filterOption:e}){const{parseFilter:t,findVariable:o}=useParseDataScopeFilter(),[r,i]=(0,import_react2.useState)({}),[n,a]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const l=()=>q(this,null,function*(){a(!0);const u=yield t(e);a(!1),i(u)});l();const c=import_lodash.default.debounce(l,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:u}){return u.startsWith("$")&&u!=="$and"&&u!=="$or"},transformValue(u){if(!isVariable$1(u))return u;const m=getVariableName(u),d=o(m);let p=null;const h=getPath(u).split(".");return h.forEach((g,_)=>{const f=h.slice(0,_+1).join("."),v=(0,import_client.getValuesByPath)({[m]:(d==null?void 0:d.ctx)||{}},f);import_lodash.default.isEmpty(v)||(p=v)}),p}}),c,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),t,o]),{filter:r,parseVariableLoading:n}}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);return!c.current&&l?(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};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"},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)=>q(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>q(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)=>q(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)=>q(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]],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]),{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])||i!=null&&i.type)return!0;const a=o(`${r}.${n}`);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 b=m;const S=o.find(I=>I.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)&&(b=m(S,h)),import_lodash.default.isFunction(d)&&(d=d(S));const C=((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:[{[b]:{[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(I=>removeNullCondition(I)),h.defaultFilter]);h.doFilter(P(x({},C),{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(),b=useRecord(),S=((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:C}=useParsedFilter({filterOption:S}),y=(0,import_react2.useMemo)(()=>f(g.name)||v(g==null?void 0:g["x-collection-field"]),[g]),F=b==null?void 0:b[y==null?void 0:y.sourceKey],I=(0,import_react2.useMemo)(()=>{const T=["oho","o2m"].includes(y==null?void 0:y.interface);return mergeFilter([mergeFilter([T&&!isInFilterFormBlock(g)&&y!=null&&y.foreignKey&&!h?{[y.foreignKey]:{$is:null}}:null,C]),T&&F!==void 0&&F!==null&&!isInFilterFormBlock(g)&&y!=null&&y.foreignKey&&!h?{[y.foreignKey]:{$eq:F}}:null],"$or")},[y==null?void 0:y.interface,y==null?void 0:y.foreignKey,g,C,F,h]);return(0,import_react2.useMemo)(()=>P(x({resource:y==null?void 0:y.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:I})}),[y==null?void 0:y.target,d,I,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};
|
|
@@ -335,7 +335,7 @@ ${JSON.stringify(N,null,2)}`)},[u,c,l,i,r,I,t,a,n,g,o,_,S,T,C,y,h]),$=(0,import_
|
|
|
335
335
|
&:hover {
|
|
336
336
|
display: block !important;
|
|
337
337
|
}
|
|
338
|
-
`,GeneralSchemaDesigner=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),{disableInitializer:i,title:n,template:a,schemaSettings:l,contextValue:c,draggable:u=!0,showDataSource:m=!0}=x(x({},e),r["x-toolbar-props"]||{}),{dn:d,designable:p}=useDesignable(),h=(0,import_react.useField)(),{t:g}=(0,import_react_i18next.useTranslation)(),_=useCompile(),{getAriaLabel:f}=useGetAriaLabelOfDesigner(),v={dn:d,field:h,fieldSchema:r},{render:b,exists:S}=useSchemaSettingsRender(r["x-settings"]||l,r["x-settings-props"]),C=useGridRowContext(),y=useGridContext(),F=useDataSourceManager(),I=F==null?void 0:F.getDataSources(),T=useDataSource(),k=(I==null?void 0:I.length)>1&&T,$=["FormItem","ReadPrettyFormItem"].includes(a==null?void 0:a.componentName)?`${a==null?void 0:a.name} ${g("(Fields only)")}`:a==null?void 0:a.name,M=(0,import_react2.useMemo)(()=>{var O;return{insertPosition:"afterEnd",wrap:((O=C==null?void 0:C.cols)==null?void 0:O.length)>1?void 0:gridRowColWrap,Component:D=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},D),{role:"button","aria-label":f("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[f,(t=C==null?void 0:C.cols)==null?void 0:t.length]);return p?(0,import_jsx_runtime.jsx)(SchemaToolbarProvider,P(x({},c),{children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)("general-schema-designer",overrideAntdCSS,r["x-template-uid"]?"nb-in-template":""),children:[n&&(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("general-schema-designer-title",titleCss),children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:2,children:[(0,import_jsx_runtime.jsx)("span",{className:"title-tag",children:m&&k?`${_(k==null?void 0:k.displayName)} > ${_(n)}`:_(n)}),a&&(0,import_jsx_runtime.jsxs)("span",{className:"title-tag",children:[g("Reference template"),": ",$||g("Untitled")]})]})}),(0,import_jsx_runtime.jsx)("div",{className:"general-schema-designer-icons",children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,align:"center",children:[u&&(0,import_jsx_runtime.jsx)(DragHandler,{children:(0,import_jsx_runtime.jsx)(import_icons.DragOutlined,{role:"button","aria-label":f("drag-handler")})}),!i&&(y!=null&&y.InitializerComponent?(0,import_jsx_runtime.jsx)(y.InitializerComponent,x({},M)):(o=y==null?void 0:y.renderSchemaInitializer)==null?void 0:o.call(y,M)),S?b(c):(0,import_jsx_runtime.jsx)(SchemaSettingsDropdown,P(x({title:(0,import_jsx_runtime.jsx)(import_icons.MenuOutlined,{role:"button","aria-label":f("schema-settings"),style:{cursor:"pointer",fontSize:12}})},v),{children:e.children}))]})})]})})):null},InternalSchemaToolbar=import_react2.default.memo(e=>{var t;const o=(0,import_react.useFieldSchema)(),{title:r,initializer:i,settings:n,showBackground:a,spaceWrapperClassName:l,spaceWrapperStyle:c,showBorder:u=!0,draggable:m=!0,spaceClassName:d,spaceStyle:p,toolbarClassName:h,toolbarStyle:g={},container:_}=x(x({},e),(o==null?void 0:o["x-toolbar-props"])||{}),f=useCompile(),{draggable:v}=(0,import_react2.useContext)(SchemaComponentContext),{componentCls:b,hashId:S}=useStyles$g(),{t:C}=(0,import_react_i18next.useTranslation)(),{getAriaLabel:y}=useGetAriaLabelOfDesigner(),F=useDataSourceManager(),I=F==null?void 0:F.getDataSources(),T=useDataSource(),k=(I==null?void 0:I.length)>1&&T,$=useRefreshFieldSchema(),M=(0,import_react2.useRef)(C("Reference template")),O=(0,import_react2.useCallback)(()=>{$({refreshParentSchema:!0})},[$]),D=(0,import_react2.useMemo)(()=>{if(r){if(typeof r=="string")return[f(r)];if(Array.isArray(r))return r.length===1&&o["x-template-title"]?(M.current=C("Inherited template"),f([r[0],o["x-template-title"]])):f(r)}},[r,o]),{render:R,exists:L}=useSchemaSettingsRender(n||(o==null?void 0:o["x-settings"]),o==null?void 0:o["x-settings-props"]),{render:w,exists:j}=useSchemaInitializerRender(i||(o==null?void 0:o["x-initializer"]),o==null?void 0:o["x-initializer-props"]),B=useGridRowContext(),N=useGridContext(),E=(0,import_react2.useMemo)(()=>{var H;return{insertPosition:"afterEnd",wrap:((H=B==null?void 0:B.cols)==null?void 0:H.length)===1?gridRowColWrap:void 0,Component:J=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},J),{role:"button","aria-label":y("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[y,(t=B==null?void 0:B.cols)==null?void 0:t.length]),z=(0,import_react2.useMemo)(()=>m===!1||v===!1?null:(0,import_jsx_runtime.jsx)(DragHandler,{children:(0,import_jsx_runtime.jsx)(import_icons.DragOutlined,{role:"button","aria-label":y("drag-handler")})}),[m,y,v]),U=(0,import_react2.useMemo)(()=>{var H;if(i===!1)return null;if(j)return w(E);if(N!=null&&N.InitializerComponent||N!=null&&N.renderSchemaInitializer)return N!=null&&N.InitializerComponent?(0,import_jsx_runtime.jsx)(N.InitializerComponent,x({},E)):(H=N.renderSchemaInitializer)==null?void 0:H.call(N,E)},[N,i,E,j,w]),V=(0,import_react2.useMemo)(()=>n!==!1&&L?R():null,[L,R,n]),G=(0,import_react2.useRef)(null),Y="hidden";(0,import_react2.useEffect)(()=>{const H=G.current;let J=H==null?void 0:H.parentElement;for(;J&&J.clientHeight===0;)J=J.parentElement;const X=_||J;if(!X)return;function Q(){var ee;H&&(H.classList.remove(Y),(ee=e.onVisibleChange)==null||ee.call(e,!0))}function oe(){var ee;H&&(H.classList.add(Y),(ee=e.onVisibleChange)==null||ee.call(e,!1))}return X.addEventListener("mouseenter",Q),X.addEventListener("mouseleave",oe),()=>{X.removeEventListener("mouseenter",Q),X.removeEventListener("mouseleave",oe)}},[e.onVisibleChange,_]);const K=(0,import_react2.useMemo)(()=>x({border:u?"auto":0,background:a?"auto":0},g),[a,u,g]);return(0,import_jsx_runtime.jsxs)("div",{ref:G,className:(0,import_classnames.default)(b,S,h,"schema-toolbar",Y),style:K,children:[D&&(0,import_jsx_runtime.jsx)("div",{className:"toolbar-title",children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:2,children:[(0,import_jsx_runtime.jsx)("span",{className:"toolbar-title-tag",children:k?`${f(k==null?void 0:k.displayName)} > ${D[0]}`:D[0]},D[0]),D[1]&&(0,import_jsx_runtime.jsx)("span",{className:"toolbar-title-tag",children:`${M.current}: ${`${D[1]}`||C("Untitled")}`})]})}),(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("toolbar-icons",l),style:c,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,align:"center",className:d,style:p,children:[z,(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:O,children:U}),V]})})]})});InternalSchemaToolbar.displayName="InternalSchemaToolbar";const SchemaToolbarVisibleContext=(0,import_react2.createContext)(!1),SchemaToolbar=import_react2.default.memo(e=>{const{designable:t}=useDesignable(),[o,r]=(0,import_react2.useState)(!1),i=(0,import_react2.useCallback)(n=>{(0,import_react2.startTransition)(()=>{r(n)})},[]);return t?(0,import_jsx_runtime.jsx)(SchemaToolbarVisibleContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(InternalSchemaToolbar,P(x({},e),{onVisibleChange:i}))}):null});SchemaToolbar.displayName="SchemaToolbar";const ActionSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:!1,showBorder:!1,showBackground:!0},e)),BlockSchemaToolbar=e=>{const{t}=(0,import_react_i18next.useTranslation)(),o=useCollectionManager();let{name:r,title:i}=useCollection()||{};const n=useSchemaTemplate(),{association:a,collection:l}=useDataBlockProps()||{},c=useCompile(),{isMobileLayout:u}=useMobileLayout();if(a){const[g]=a.split("."),{name:_,title:f}=o.getCollection(g);r=_,i=f}const m=o.getCollectionField(a),d=o.getCollection(l||(m==null?void 0:m.target)),p=["FormItem","ReadPrettyFormItem"].includes(n==null?void 0:n.componentName)?`${n==null?void 0:n.name} ${t("(Fields only)")}`:n==null?void 0:n.name,h=(0,import_react2.useMemo)(()=>[getCollectionTitle({collectionTitle:i,collectionName:r,associationField:m,associationCollection:d,compile:c}),p].filter(Boolean),[i,r,m,d,c,p]);return(0,import_jsx_runtime.jsx)(SchemaToolbar,P(x({title:h},e),{draggable:!u}))};function getCollectionTitle(e){var t;const{collectionTitle:o,collectionName:r,associationField:i,compile:n,associationCollection:a}=e;return i?`${n(o||r)} > ${n(((t=i.uiSchema)==null?void 0:t.title)||i.name)} (${n((a==null?void 0:a.title)||(a==null?void 0:a.name))})`:n(o||r)}const useDetailsWithPaginationBlockParams=e=>{const{params:t}=e,{filter:o,parseVariableLoading:r}=useParsedFilter({filterOption:t==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>P(x({},t),{filter:o}),[JSON.stringify(o)]),parseVariableLoading:r}};function useDetailsWithPaginationDecoratorProps(e){let t;const{params:o,parseVariableLoading:r}=useDetailsWithPaginationBlockParams(e);return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t,params:o,parseVariableLoading:r}}const DetailsBlockContext=(0,import_react2.createContext)({});DetailsBlockContext.displayName="DetailsBlockContext";const InternalDetailsBlockProvider=e=>{var t,o,r;const{action:i,readPretty:n}=e,a=(0,import_react.useField)(),l=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({readPretty:n}),[n]),c=useCollection(),{resource:u,service:m}=useBlockRequestContext(),d=useCollectionParentRecord(),p=(i==="list"?(o=(t=m==null?void 0:m.data)==null?void 0:t.data)==null?void 0:o[0]:(r=m==null?void 0:m.data)==null?void 0:r.data)||{},h=(0,import_react2.useRef)(),g=(0,import_react2.useMemo)(()=>({action:i,form:l,field:a,service:m,resource:u,formBlockRef:h}),[i,a,l,u,m]);return a.loaded=!0,(0,import_jsx_runtime.jsx)(CurrentRecordContextProvider,{recordData:p,collectionName:c==null?void 0:c.name,children:(0,import_jsx_runtime.jsx)(DetailsBlockContext.Provider,{value:g,children:(0,import_jsx_runtime.jsx)("div",{ref:h,children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!1,record:p,parent:d==null?void 0:d.data,children:e.children})})})})},useCompatDetailsBlockParams=e=>{const t=(0,import_react.useFieldSchema)();let o,r=!1;if(t["x-use-decorator-props"])o=e==null?void 0:e.params,r=e==null?void 0:e.parseVariableLoading;else{const i=useDetailsWithPaginationBlockParams(e);o=i.params,r=i.parseVariableLoading}return{params:o,parseVariableLoading:r}},DetailsBlockProvider=withDynamicSchemaProps(e=>{const{params:t,parseVariableLoading:o}=useCompatDetailsBlockParams(e),r=useCollectionRecordData(),{association:i,action:n}=e,{__collection:a}=r||{},{designable:l}=useDesignable(),c=e.collection;let u=!0;!l&&a&&n==="get"&&!i&&(u=a===c);const m=(0,import_ahooks.useUpdate)();return!u||o?null:(0,import_jsx_runtime.jsx)(TemplateBlockProvider,{onTemplateLoaded:m,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"details"},e),{params:t,children:(0,import_jsx_runtime.jsx)(InternalDetailsBlockProvider,x({},e))}))})}),useDetailsBlockContext=()=>(0,import_react2.useContext)(DetailsBlockContext),useDetailsBlockProps=()=>{var e,t;const o=useDetailsBlockContext();return(0,import_react2.useEffect)(()=>{var r,i,n,a,l;if(!o.service.loading){const c=o.action==="list"?(n=(i=(r=o.service)==null?void 0:r.data)==null?void 0:i.data)==null?void 0:n[0]:(l=(a=o.service)==null?void 0:a.data)==null?void 0:l.data;o.form.reset().then(()=>{o.form.setInitialValues(c||{}),o.form.setValues(c||{})}).catch(console.error)}},[o.action,o.form,(t=(e=o.service)==null?void 0:e.data)==null?void 0:t.data,o.service.loading]),{form:o.form}};function useDetailsWithPaginationProps(){return useDetailsBlockProps()}function useDetailsDecoratorProps(e){const t=useParamsFromRecord(e);let o;return e.association&&(o=useDetailsParentRecord(e.association)),{params:t,parentRecord:o}}function useDetailsParentRecord(e){const t=(0,import_react.useFieldSchema)(),o=useCollectionRecordData(),r=useCollectionParentRecordData();if(e)return t["x-is-current"]?r:o}function useDetailsProps(){return useDetailsBlockProps()}const FormItemSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({showBorder:!1,showBackground:!0},e)),useHiddenForInherit=e=>{const t=useRecord(),{collection:o,isCusomeizeCreate:r,hidden:i}=e,{__collection:n}=t,a=useCollection(),{designable:l}=useDesignable(),c=useIsDetailBlock();if(!a)return{hidden:i||!1};let u=!1;c&&(u=!0,!l&&n&&(u=n===o));const m=a.name===((o==null?void 0:o.name)||o)&&!c||!a.name||!o;return{hidden:i||!u&&!m&&!r}};function useCreateFormBlockDecoratorProps(e){let t;const{hidden:o}=useHiddenForInherit(e);return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t,hidden:o}}function useCreateFormBlockProps(){return useFormBlockProps$1()}function useEditFormBlockDecoratorProps(e){const t=useFormBlockParams(e);let o;const{hidden:r}=useHiddenForInherit(e);return e.association&&(o=useDetailsParentRecord(e.association)),{params:t,parentRecord:o,hidden:r}}function useFormBlockParams(e){return useParamsFromRecord(e)}function useEditFormBlockProps(){return useFormBlockProps$1()}function useDataFormItemProps(){const e=useCollectionRecordData(),{form:t}=useFormBlockContext(),o=useSubFormValue(),{valueMap:r}=useSatisfiedActionValues({category:"style",formValues:(o==null?void 0:o.formValue)||(t==null?void 0:t.values)||e,form:t});return{wrapperStyle:r}}function useGridCardBlockParams(e){const{params:t}=e,{filter:o,parseVariableLoading:r}=useParsedFilter({filterOption:t==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>P(x({},t),{filter:o}),[o,t]),parseVariableLoading:r}}function useGridCardBlockDecoratorProps(e){const{params:t,parseVariableLoading:o}=useGridCardBlockParams(e);let r;return e.association&&(r=useParentRecordCommon(e.association)),{params:t,parentRecord:r,parseVariableLoading:o}}function useGridCardBlockItemProps(){return{}}function useGridCardBlockProps(){return{}}function useListBlockDecoratorProps(e){let t;return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t}}function useListBlockProps(){return{}}function useTableSelectorDecoratorProps(){}const useDragEnd=e=>{const{refresh:t}=useDesignable(),o=useAPIClient(),{t:r}=(0,import_react_i18next.useTranslation)();return(0,import_react2.useCallback)(i=>{var n,a,l,c,u,m,d,p,h,g,_,f,v,b,S;const{active:C,over:y}=i,F=(a=(n=C==null?void 0:C.data)==null?void 0:n.current)==null?void 0:a.schema,I=(c=(l=y==null?void 0:y.data)==null?void 0:l.current)==null?void 0:c.schema,T=(m=(u=y==null?void 0:y.data)==null?void 0:u.current)==null?void 0:m.insertAdjacent,k=(p=(d=y==null?void 0:y.data)==null?void 0:d.current)==null?void 0:p.breakRemoveOn,$=(g=(h=y==null?void 0:y.data)==null?void 0:h.current)==null?void 0:g.wrapSchema,M=(f=(_=y==null?void 0:y.data)==null?void 0:_.current)==null?void 0:f.onSuccess,O=(S=(b=(v=y==null?void 0:y.data)==null?void 0:v.current)==null?void 0:b.removeParentsIfNoChildren)!=null?S:!0;if(!F||!I){e==null||e(i);return}if(F===I){e==null||e(i);return}if(F.parent===I&&T==="beforeEnd"){e==null||e(i);return}const D=createDesignable({t:r,api:o,refresh:({refreshParentSchema:R=!0}={})=>t({refreshParentSchema:R}),current:I});if(D.loadAPIClientEvents(),F.parent===I.parent){D.insertBeforeBeginOrAfterEnd(F),e==null||e(i);return}if(T){D.insertAdjacent(T,F,{wrap:$,breakRemoveOn:k,removeParentsIfNoChildren:O,onSuccess:M}),e==null||e(i);return}},[o,e,t,r])},InternalDndContext=import_react2.default.memo(e=>{const{t}=(0,import_react_i18next.useTranslation)(),[o,r]=(0,import_react2.useState)(!0),i=(0,import_react2.useCallback)(a=>{var l,c,u;const{active:m}=a,d=(c=(l=m==null?void 0:m.data)==null?void 0:l.current)==null?void 0:c.schema;r(!!d),e!=null&&e.onDragStart&&((u=e==null?void 0:e.onDragStart)==null||u.call(e,a))},[e==null?void 0:e.onDragStart]),n=useDragEnd(e==null?void 0:e.onDragEnd);return(0,import_jsx_runtime.jsxs)(import_core2.DndContext,P(x({collisionDetection:import_core2.rectIntersection},e),{onDragStart:i,onDragEnd:n,children:[(0,import_jsx_runtime.jsx)(import_core2.DragOverlay,{dropAnimation:{duration:10,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:o&&(0,import_jsx_runtime.jsx)("span",{style:{whiteSpace:"nowrap"},children:t("Dragging")})}),e.children]}))});InternalDndContext.displayName="InternalDndContext";const DndContext=e=>(0,import_jsx_runtime.jsx)(InternalDndContext,x({},e)),useStyles$f=genStyleHook("nb-grid-in-css-in-js",e=>{const{componentCls:t}=e,o=e.marginBlock===e.marginLG?" !important":"";return{[t]:{position:"relative",".ColDivider":{flexShrink:0,width:`${e.marginBlock}px${o}`},".DraggableNode":{"&::before":{content:'" "',width:"100%",height:"100%",position:"absolute",cursor:"col-resize"},"&:hover":{"&::before":{background:"var(--colorBgSettingsHover) !important"}},width:`${e.marginBlock}px${o}`,height:"100%",position:"absolute",cursor:"col-resize"},".RowDivider":{height:`${e.marginBlock}px${o}`,width:"100%",position:"absolute",marginTop:`calc(-1 * ${e.marginBlock}px)${o}`},".CardRow":{display:"flex",position:"relative"},".showDivider":{margin:`0 calc(-1 * ${e.marginBlock}px)${o}`},".nb-grid-warp > button:last-child":{marginBottom:`${e.marginBlock}px`},".nb-grid-warp .nb-grid-warp > button:last-child":{marginBottom:`${e.margin}px`}}}}),GridRowContext=(0,import_react2.createContext)({});GridRowContext.displayName="GridRowContext";const GridColContext=(0,import_react2.createContext)({});GridColContext.displayName="GridColContext";const GridContext=(0,import_react2.createContext)({});GridContext.displayName="GridContext";const breakRemoveOnGrid=e=>e["x-component"]==="Grid",breakRemoveOnRow=e=>e["x-component"]==="Grid.Row",ColDivider=e=>{var t,o,r;const{token:i}=useToken$1(),n=(0,import_react2.useRef)(null),{dn:a,designable:l}=useDesignable(),{isOver:c,setNodeRef:u}=(0,import_core2.useDroppable)({id:e.id,data:e.data,disabled:!l}),m=(0,import_react2.useRef)(),d=(0,import_react2.useMemo)(()=>c?{backgroundColor:new import_tinycolor.TinyColor(i.colorSettings).setAlpha(.1).toHex8String()}:{},[c]),p=(r=(o=(t=(0,import_core2.useDndContext)().active)==null?void 0:t.data.current)==null?void 0:o.schema)==null?void 0:r.parent,h=(0,import_react2.useMemo)(()=>p?Object.keys(p.properties).length:0,[p]);let g=!0;if(h===1)if(e.first)g=p!==e.cols[0];else{const T=e.cols[e.index],k=e.cols[e.index+1];g=p!==T&&k!==p}const _=e.cols[e.index],f=e.cols[e.index+1],v=e.first||e.last||!l,{attributes:b,listeners:S,setNodeRef:C,isDragging:y}=(0,import_core2.useDraggable)({disabled:v,id:e.id,data:{dividerRef:m,prevSchema:_,nextSchema:f},attributes:{tabIndex:v?-1:0}}),[F,I]=(0,import_react2.useState)([0,0]);return(0,import_core2.useDndMonitor)({onDragStart(T){var k,$,M;const O=(M=($=(k=T.active)==null?void 0:k.data)==null?void 0:$.current)==null?void 0:M.dividerRef;if(!O||!l)return;n.current=T.active.id;const D=O.current,R=D.previousElementSibling,L=D.nextElementSibling;I([R.clientWidth,L.clientWidth])},onDragMove(T){if(!l||!y)return;n.current===T.active.id&&(n.current=n.current+"_move");const k=m.current,$=k.previousElementSibling,M=k.nextElementSibling;$.style.width=`${F[0]+T.delta.x}px`,M.style.width=`${F[1]-T.delta.x}px`},onDragEnd(T){var k;if(!l||!n.current||(k=n.current)!=null&&k.startsWith(T.active.id)&&!n.current.endsWith("_move")||F[0]<=0||F[1]<=0||(I([0,0]),!_||!f))return;const $=m.current,M=$.previousElementSibling,O=$.nextElementSibling;_["x-component-props"]=_["x-component-props"]||{},f["x-component-props"]=f["x-component-props"]||{};const D=$.clientWidth*(e.cols.length+1)/e.cols.length,R=(100*(M.getBoundingClientRect().width+D)/$.parentElement.clientWidth).toFixed(2),L=(100*(O.getBoundingClientRect().width+D)/$.parentElement.clientWidth).toFixed(2);import_lodash.default.set(_,"x-component-props.width",R),import_lodash.default.set(f,"x-component-props.width",L),a.emit("batchPatch",{schemas:[{"x-uid":_["x-uid"],"x-component-props":x({},_["x-component-props"])},{"x-uid":f["x-uid"],"x-component-props":x({},f["x-component-props"])}]})}}),(0,import_jsx_runtime.jsx)("div",{ref:T=>{g&&(u(T),m.current=T)},className:(0,import_classnames.default)("nb-col-divider","ColDivider"),style:d,children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:C},S),b),{className:e.first||e.last||!l?null:"DraggableNode"}))})},RowDivider=import_react2.default.memo(e=>{var t,o,r;const{token:i}=useToken$1(),{designable:n}=useDesignable(),{isOver:a,setNodeRef:l}=(0,import_core2.useDroppable)({id:e.id,data:e.data,disabled:!n}),[c,u]=(0,import_react2.useState)(!1),m=(0,import_react2.useMemo)(()=>a?{zIndex:c?1e3:-1,backgroundColor:new import_tinycolor.TinyColor(i.colorSettings).setAlpha(.1).toHex8String()}:{zIndex:c?1e3:-1},[c,a]),d=(0,import_core2.useDndContext)(),p=e.rows[e.index],h=(r=(o=(t=d.active)==null?void 0:t.data.current)==null?void 0:o.schema)==null?void 0:r.parent.parent,g=(0,import_react2.useMemo)(()=>h==null?void 0:h.mapProperties(f=>f["x-component"]==="Grid.Col").filter(Boolean).length,[h]);let _=!0;if(g===1)if(e.first)_=h!==e.rows[0];else{const f=e.rows[e.index+1];_=h!==p&&f!==h}return(0,import_core2.useDndMonitor)({onDragStart(f){n&&u(!0)},onDragMove(f){},onDragOver(f){},onDragEnd(f){n&&u(!1)},onDragCancel(f){n&&u(!1)}}),(0,import_jsx_runtime.jsx)("span",{ref:_?l:null,className:(0,import_classnames.default)("nb-row-divider","RowDivider"),style:m})});RowDivider.displayName="RowDivider";const wrapRowSchema=e=>{const t=new import_react.Schema({type:"void",name:`row_${(0,import_shared.uid)()}`,"x-uid":(0,import_shared.uid)(),"x-component":"Grid.Row"}),o=t.addProperty((0,import_shared.uid)(),{type:"void","x-uid":(0,import_shared.uid)(),"x-component":"Grid.Col"});return import_react.Schema.isSchemaInstance(e)&&(e.parent=o),o.addProperty(e.name,e),t},wrapColSchema=e=>{const t=new import_react.Schema({type:"void",name:`col_${(0,import_shared.uid)()}`,"x-uid":(0,import_shared.uid)(),"x-component":"Grid.Col"});return import_react.Schema.isSchemaInstance(e)&&(e.parent=t),t.addProperty(e.name,e),t},useRowProperties=()=>{const e=(0,import_react.useFieldSchema)();return(0,import_react2.useMemo)(()=>e.reduceProperties((t,o)=>(o["x-component"]==="Grid.Row"&&!o["x-hidden"]&&t.push(o),t),[]),[e])},useColProperties=()=>{const e=(0,import_react.useFieldSchema)();return(0,import_react2.useMemo)(()=>e.reduceProperties((t,o)=>(o["x-component"]==="Grid.Col"&&!o["x-hidden"]&&t.push(o),t),[]),[e])},DndWrapper=e=>e.dndContext===!1?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}):(0,import_jsx_runtime.jsx)(DndContext,P(x({},e.dndContext),{children:e.children})),useGridContext=()=>(0,import_react2.useContext)(GridContext),useGridRowContext=()=>(0,import_react2.useContext)(GridRowContext),getRowDividerData=import_lodash.default.memoize((e,t)=>({breakRemoveOn:breakRemoveOnGrid,wrapSchema:wrapRowSchema,insertAdjacent:t,schema:e})),Grid=(0,import_react.observer)(e=>{const{distributed:t,showDivider:o=!0}=e,r=(0,import_react2.useRef)(null),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{render:a}=useSchemaInitializerRender(n["x-initializer"],n["x-initializer-props"]),l=(0,import_react2.useCallback)(b=>a(b),[]),c=i.address.toString(),u=useRowProperties(),{setPrintContent:m}=useFormBlockContext(),{componentCls:d,hashId:p}=useStyles$f(),h=t===void 0?(n==null?void 0:n.parent["x-component"])==="Page"||(n==null?void 0:n.parent["x-component"])==="Tabs.TabPane":t;(0,import_react2.useEffect)(()=>{r.current&&(m==null||m(r.current))},[m]);const g=(0,import_react2.useMemo)(()=>({ref:r,fieldSchema:n,renderSchemaInitializer:a,InitializerComponent:l,showDivider:o}),[n,a,l,o]),_=useRefreshFieldSchema(),f=useRefreshComponent(),v=(0,import_react2.useCallback)(()=>{_==null||_(),f==null||f()},[f,_]);return(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:v,children:(0,import_jsx_runtime.jsx)(FilterBlockProvider,{children:(0,import_jsx_runtime.jsx)(GridContext.Provider,{value:g,children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("nb-grid-container"),children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`nb-grid ${d} ${p}`),ref:r,children:(0,import_jsx_runtime.jsxs)("div",{className:"nb-grid-warp",children:[(0,import_jsx_runtime.jsxs)(DndWrapper,{dndContext:e.dndContext,children:[o?(0,import_jsx_runtime.jsx)(RowDivider,{rows:u,first:!0,id:`${c}_0`,data:getRowDividerData(n,"afterBegin")}):null,u.map((b,S)=>(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[h?(0,import_jsx_runtime.jsx)(SchemaComponent,{name:b.name,schema:b,distributed:!0}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:b.name,schema:b,isUseFormilyField:!0}),o?(0,import_jsx_runtime.jsx)(RowDivider,{rows:u,index:S,id:`${c}_${S+1}`,data:getRowDividerData(b,"afterEnd")}):null]},S))]}),a()]})})})})})})},{displayName:"Grid"});Grid.Row=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=e.address.toString(),r=useColProperties(),{showDivider:i}=useGridContext(),n=(0,import_react2.useMemo)(()=>({schema:t,cols:r}),[t,r]);return(0,import_jsx_runtime.jsx)(GridRowContext.Provider,{value:n,children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)("nb-grid-row","CardRow",{showDivider:i}),children:[i&&(0,import_jsx_runtime.jsx)(ColDivider,{cols:r,first:!0,id:`${o}_0`,data:{breakRemoveOn:breakRemoveOnRow,wrapSchema:wrapColSchema,insertAdjacent:"afterBegin",schema:t}}),r.map((a,l)=>(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:a.name,schema:a,isUseFormilyField:!0}),i&&(0,import_jsx_runtime.jsx)(ColDivider,{cols:r,index:l,last:l===r.length-1,id:`${o}_${l+1}`,data:{breakRemoveOn:breakRemoveOnRow,wrapSchema:wrapColSchema,insertAdjacent:"afterEnd",schema:a}})]},l))]})})},{displayName:"Grid.Row"});Grid.Col=(0,import_react.observer)(e=>{const{cols:t=[]}=(0,import_react2.useContext)(GridRowContext),{showDivider:o}=useGridContext(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{token:n}=useToken$1(),{designable:a}=useDesignable(),l=(0,import_react2.useMemo)(()=>{var _;let f="";return t!=null&&t.length&&(f=`calc(${((_=r==null?void 0:r["x-component-props"])==null?void 0:_.width)||100/t.length}% - ${n.marginBlock}px * ${(o?t.length+1:0)/t.length})`),{width:f}},[t.length,r,o,n.marginBlock]),{isOver:c,setNodeRef:u}=(0,import_core2.useDroppable)({id:i.address.toString(),data:{insertAdjacent:"beforeEnd",schema:r,wrapSchema:_=>_},disabled:!a}),[m,d]=(0,import_react2.useState)(!1),p=(0,import_react2.useMemo)(()=>c?{background:`linear-gradient(to top, ${new import_tinycolor.TinyColor(n.colorSettings).setAlpha(.1).toHex8String()} 20%, transparent 20%)`,borderTopRightRadius:"10px",borderTopLeftRadius:"10px",height:"100%"}:{height:"100%"},[m,c]);(0,import_core2.useDndMonitor)({onDragStart(_){a&&d(!0)},onDragMove(_){},onDragOver(_){},onDragEnd(_){a&&d(!1)},onDragCancel(_){a&&d(!1)}});const h=(0,import_react2.useMemo)(()=>({cols:t,schema:r}),[t,r]),g=(0,import_react2.useMemo)(()=>x(x({},l),p),[p,l]);return(0,import_jsx_runtime.jsx)(GridColContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)("div",{ref:u,style:g,className:(0,import_classnames.default)("nb-grid-col",e.className),children:e.children})})},{displayName:"Grid.Col"});Grid.wrap=e=>({type:"void","x-component":"Grid.Row",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Grid.Col",properties:{[e.name||(0,import_shared.uid)()]:e}}}});const TableColumnSchemaToolbar=import_react2.default.memo(e=>(0,import_jsx_runtime.jsx)(GridRowContext.Provider,{value:null,children:(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:e.initializer||!1,showBorder:!1,showBackground:!0},import_lodash.default.omit(e,"initializer")))}));TableColumnSchemaToolbar.displayName="TableColumnSchemaToolbar";const useTableBlockProps=()=>{var e,t,o,r,i,n;const a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useDataBlockResource(),u=useDataBlockRequest(),{getDataBlocks:m}=useFilterBlock(),d=useTableBlockContextBasicValue(),p=(0,import_react2.useRef)(null);p.current={service:u,resource:c};const h=((e=u==null?void 0:u.data)==null?void 0:e.meta)||{},g=useTableElementRef(),_=(0,import_react2.useCallback)(()=>{var b;g!=null&&g.current&&((b=g.current.parentElement)==null||b.scrollIntoView({block:"start"}))},[g]),f=(0,import_react2.useMemo)(()=>({pageSize:h==null?void 0:h.pageSize,total:h==null?void 0:h.count,current:h==null?void 0:h.page,onChange:_}),[h==null?void 0:h.count,h==null?void 0:h.page,h==null?void 0:h.pageSize,_]),v=((t=u==null?void 0:u.data)==null?void 0:t.data)||[];return(0,import_react2.useEffect)(()=>{var b,S;if(!(u!=null&&u.loading)){const C=(S=(b=d.field)==null?void 0:b.data)==null?void 0:S.selectedRowKeys;a.data=a.data||{},(0,import_lodash.isEqual)(a.data.selectedRowKeys,C)||(a.data.selectedRowKeys=C)}},[a,u==null?void 0:u.data,u==null?void 0:u.loading,(r=(o=d.field)==null?void 0:o.data)==null?void 0:r.selectedRowKeys]),{optimizeTextCellRender:!0,value:v,childrenColumnName:d.childrenColumnName,loading:u==null?void 0:u.loading,showIndex:d.showIndex,dragSort:d.dragSort&&d.dragSortBy,rowKey:d.rowKey||((i=l==null?void 0:l["x-component-props"])==null?void 0:i.rowKey)||"id",pagination:((n=l==null?void 0:l["x-component-props"])==null?void 0:n.pagination)===!1?!1:f,onRowSelectionChange:(0,import_react2.useCallback)((b,S)=>{var C,y,F;d&&(d.field.data=((C=d.field)==null?void 0:C.data)||{},d.field.data.selectedRowKeys=b,d.field.data.selectedRowData=S,(F=(y=d.field)==null?void 0:y.onRowSelect)==null||F.call(y,b))},[]),onRowDragEnd:(0,import_react2.useCallback)(b=>q(void 0,[b],function*({from:S,to:C}){yield p.current.resource.move({sourceId:S[d.rowKey||"id"],targetId:C[d.rowKey||"id"],sortField:d.dragSort&&d.dragSortBy}),p.current.service.refresh()}),[d.rowKey,d.dragSort,d.dragSortBy]),onChange:(0,import_react2.useCallback)(({current:b,pageSize:S},C,y)=>{var F,I,T,k,$,M,O,D,R,L;const w=(T=(I=(F=l.parent)==null?void 0:F["x-decorator-props"])==null?void 0:I.params)==null?void 0:T.sort,j=y.order?y.order==="ascend"?[y.field]:[`-${y.field}`]:w||d.dragSortBy,B=S||((M=($=(k=l.parent)==null?void 0:k["x-decorator-props"])==null?void 0:$.params)==null?void 0:M.pageSize),N=P(x({},(R=(D=(O=p.current)==null?void 0:O.service)==null?void 0:D.params)==null?void 0:R[0]),{page:b||1,pageSize:B});j&&(N.sort=j),(L=p.current)==null||L.service.run(N)},[l.parent]),onClickRow:(0,import_react2.useCallback)((b,S,C)=>{const{targets:y,uid:F}=findFilterTargets(l),I=m();if(!y||!y.some(k=>I.some($=>$.uid===k.uid))){S(k=>k.length?[]:k);return}const T=I.find(k=>k.uid===l.parent["x-uid"]);I.forEach(k=>{var $,M,O,D;const R=y.find(E=>E.uid===k.uid);if(!R)return;const L=getSourceKey(T,R.field)||d.rowKey||"id",w=[b[L]],j=(($=k.service.params)==null?void 0:$[0])||{},B=((O=(M=k.service.params)==null?void 0:M[1])==null?void 0:O.filters)||{};if(C.includes(b[d.rowKey])){if((D=k.clearSelection)==null||D.call(k),k.dataLoadingMode==="manual")return k.clearData();delete B[F]}else B[F]={$and:[{[R.field||d.rowKey]:{[R.field?"$in":"$eq"]:w}}]};const N=mergeFilter([...Object.values(B).map(E=>removeNullCondition(E)),k.defaultFilter]);return k.doFilter(P(x({},j),{page:1,filter:N}),{filters:B})}),S(k=>k!=null&&k.includes(b[d.rowKey])?[]:[b[d.rowKey]])},[d.rowKey,l,m]),onExpand:(0,import_react2.useCallback)((b,S)=>{var C,y;(y=(C=d.field).onExpandClick)==null||y.call(C,b,S)},[])}};function getSourceKey(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 CollapseItemSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:!1},e));function useCollapseBlockDecoratorProps(){}function useFilterFormBlockDecoratorProps(){}function useFilterFormBlockProps(){return useFormBlockProps$1()}const useCollectOperator=()=>{const e=(0,import_react.useFieldSchema)(),{collectOperator:t,removeOperator:o}=useOperators();(0,import_react2.useEffect)(()=>()=>{o(e.name)},[e.name,o]),e["x-filter-operator"]&&t(e.name,e["x-filter-operator"])},useFormItemProps=()=>{useCollectOperator()},setFieldProps$1=(e,t,o)=>{(0,import_reactive.untracked)(()=>{e[t]===void 0&&(e[t]=o)})},setRequired$1=(e,t,o)=>{typeof t.required>"u"&&(e.required=!!o.required)},FilterCollectionFieldInternalField=e=>{var t,o,r,i,n,a;const l=useCompile(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),{getInterface:m}=useCollectionManager_deprecated(),{uiSchema:d,defaultValue:p,interface:h}=useCollectionField(),{isAllowToSetDefaultValue:g}=useIsAllowToSetDefaultValue(),_=m(h),f=((o=(t=_==null?void 0:_.filterable)==null?void 0:t.operators)==null?void 0:o.find((C,y)=>C.value===(u==null?void 0:u["x-filter-operator"])))||((i=(r=_==null?void 0:_.filterable)==null?void 0:r.operators)==null?void 0:i[0]),v=useComponent(((n=f==null?void 0:f.schema)==null?void 0:n["x-component"])||((a=u["x-component-props"])==null?void 0:a.component)||(d==null?void 0:d["x-component"])||"Input"),b=useFormBlockContext(),S=useDynamicComponentProps(d==null?void 0:d["x-use-component-props"],e);return(0,import_react2.useEffect)(()=>{var C;if(!d)return;const y=l(d);if(setFieldProps$1(c,"content",y["x-content"]),setFieldProps$1(c,"title",y.title),setFieldProps$1(c,"description",y.description),b!=null&&b.form){const I=g()?u.default||p:void 0;I!=null&&setFieldProps$1(c,"initialValue",I)}if(!c.validator&&(y["x-validator"]||u["x-validator"])){const I=(0,import_lodash.concat)([],y["x-validator"]||[],u["x-validator"]||[]);c.validator=I}u["x-disabled"]===!0&&(c.disabled=!0),u["x-read-pretty"]===!0&&(c.readPretty=!0),setRequired$1(c,u,y),c.dataSource=y.enum;const F=l(x(x(x({},((C=f==null?void 0:f.schema)==null?void 0:C["x-component-props"])||{}),y["x-component-props"]||{}),(u==null?void 0:u["x-component-props"])||{}))||{};c.componentProps=(0,import_shared.merge)(c.componentProps||{},F,S||{})},[d]),d?(0,import_jsx_runtime.jsx)(v,x(x({},e),S)):null},FilterCollectionField=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)();return(0,import_react.useField)(),(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback.Modal,onError:o=>console.log(o),children:(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:(0,import_jsx_runtime.jsx)(FilterCollectionFieldInternalField,x({},e))})})});FilterCollectionField.displayName="FilterCollectionField";const FilterFormBlockProvider=withDynamicSchemaProps(e=>{const t=(0,import_react.useFieldSchema)()["x-filter-operators"]||{};return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:{CollectionField:FilterCollectionField},children:(0,import_jsx_runtime.jsx)(CollectOperators,{defaultOperators:t,children:(0,import_jsx_runtime.jsx)(DatePickerProvider,{value:{utc:!1},children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:()=>!1,children:(0,import_jsx_runtime.jsx)(FormBlockProvider,P(x({name:"filter-form"},e),{confirmBeforeClose:!1}))})})})})}),FormFieldContext=(0,import_react2.createContext)({});FormFieldContext.displayName="FormFieldContext";const InternalFormFieldProvider=e=>{var t,o,r;const{action:i,readPretty:n,fieldName:a}=e,l=useFormBlockContext(),c=useCollectionParentRecordData();(t=l==null?void 0:l.updateAssociationValues)!=null&&t.includes(a)||(o=l==null?void 0:l.updateAssociationValues)==null||o.push(a);const u=(0,import_react.useField)(),m=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects(){(0,import_core.onFormValuesChange)(h=>{var g;(g=l==null?void 0:l.form)==null||g.setValuesIn(a,h.values)})},readPretty:n}),[]);(0,import_react2.useEffect)(()=>(0,import_reactive.autorun)(()=>{var h;const g=((h=l==null?void 0:l.form)==null?void 0:h.values[a])||{};m.reset(),(0,import_client.forEach)(g,(_,f)=>{_&&(m.values[f]=_)})}),[]);const{resource:d,service:p}=useBlockRequestContext();return p.loading?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(RecordProvider,{record:(r=p==null?void 0:p.data)==null?void 0:r.data,parent:c,children:(0,import_jsx_runtime.jsx)(FormFieldContext.Provider,{value:{action:i,form:m,field:u,service:p,resource:d,fieldName:a},children:e.children})})},WithoutFormFieldResource=(0,import_react2.createContext)(null);WithoutFormFieldResource.displayName="WithoutFormFieldResource";const FormFieldProvider=e=>(0,import_jsx_runtime.jsx)(WithoutFormFieldResource.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"form-field",block:"FormField"},e),{children:(0,import_jsx_runtime.jsx)(InternalFormFieldProvider,x({},e))}))}),useFormFieldContext=()=>(0,import_react2.useContext)(FormFieldContext),useFormFieldProps=()=>{const e=useFormFieldContext();return(0,import_react2.useEffect)(()=>{var t,o,r;(r=e==null?void 0:e.form)==null||r.setInitialValues((o=(t=e.service)==null?void 0:t.data)==null?void 0:o.data)},[]),{form:e.form}},TableFieldContext=(0,import_react2.createContext)({});TableFieldContext.displayName="TableFieldContext";const InternalTableFieldProvider=e=>{var t,o;const{params:r={},showIndex:i,dragSort:n,fieldName:a}=e,l=(0,import_react.useField)(),c=(0,import_react.useFieldSchema)(),{resource:u,service:m}=useBlockRequestContext(),d=useFormBlockContext(),p=useFormFieldContext(),h=p&&p.fieldName?`${p.fieldName}.${a}`:a;return(t=d==null?void 0:d.updateAssociationValues)!=null&&t.includes(h)||(o=d==null?void 0:d.updateAssociationValues)==null||o.push(h),(0,import_jsx_runtime.jsx)(TableFieldContext.Provider,{value:{field:l,fieldSchema:c,service:m,resource:u,params:r,showIndex:i,dragSort:n},children:e.children})};class TableFieldResource{constructor(t){A(this,"field"),A(this,"api"),A(this,"sourceId"),A(this,"resource"),this.field=t.field,this.api=t.api,this.sourceId=t.sourceId,this.resource=this.api.resource(t.resource,this.sourceId)}list(t){return q(this,null,function*(){if(this.field.data=this.field.data||{},this.field.data.changed)return console.log("list.dataSource",this.field.data.dataSource),{data:{data:this.field.data.dataSource}};if(!this.sourceId)return console.log("list.sourceId",this.field.data.dataSource),this.field.data.dataSource=[],{data:{data:[]}};const o=yield this.resource.list(t);return console.log("list",o),this.field.data.dataSource=o.data.data,{data:{data:o.data.data}}})}get(t){return q(this,null,function*(){console.log("get",t);const{filterByTk:o}=t;return{data:{data:this.field.data.dataSource[o]}}})}create(t){return q(this,null,function*(){console.log("create",t);const{values:o}=t;this.field.data.dataSource.push(o),this.field.data.changed=!0})}update(t){return q(this,null,function*(){console.log("update",t);const{filterByTk:o,values:r}=t;this.field.data.dataSource[o]=r,this.field.data.changed=!0})}destroy(t){return q(this,null,function*(){console.log("destroy",t);let{filterByTk:o}=t;Array.isArray(o)||(o=[o]),this.field.data.dataSource=this.field.data.dataSource.filter((r,i)=>!o.includes(i)),this.field.data.changed=!0})}}const WithoutTableFieldResource=(0,import_react2.createContext)(null);WithoutTableFieldResource.displayName="WithoutTableFieldResource";const TableFieldProvider=e=>(0,import_jsx_runtime.jsx)(WithoutTableFieldResource.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"table-field",block:"TableField"},e),{children:(0,import_jsx_runtime.jsx)(InternalTableFieldProvider,x({},e))}))}),useTableFieldContext=()=>(0,import_react2.useContext)(TableFieldContext),useTableFieldProps=()=>{var e,t,o,r,i,n,a,l;const c=(0,import_react.useField)(),u=useTableFieldContext();return(0,import_react2.useEffect)(()=>{var m,d,p,h,g;(m=u==null?void 0:u.service)!=null&&m.loading||(c.value=(p=(d=u==null?void 0:u.service)==null?void 0:d.data)==null?void 0:p.data,c.data=c.data||{},c.data.selectedRowKeys=(g=(h=u==null?void 0:u.field)==null?void 0:h.data)==null?void 0:g.selectedRowKeys)},[(t=(e=u==null?void 0:u.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys,(r=(o=u==null?void 0:u.service)==null?void 0:o.data)==null?void 0:r.data,(i=u==null?void 0:u.service)==null?void 0:i.loading,c]),{size:"middle",loading:(n=u==null?void 0:u.service)==null?void 0:n.loading,showIndex:u.showIndex,dragSort:u.dragSort,pagination:!1,required:(l=(a=u==null?void 0:u.fieldSchema)==null?void 0:a.parent)==null?void 0:l.required,rowKey:m=>{var d,p;return(p=(d=c.value)==null?void 0:d.indexOf)==null?void 0:p.call(d,m)},onRowSelectionChange(m,d){var p;u.field.data=((p=u==null?void 0:u.field)==null?void 0:p.data)||{},u.field.data.selectedRowKeys=m,u.field.data.selectedRowData=d},onChange({current:m,pageSize:d}){u.service.run({page:m,pageSize:d})}}},TableSelectorContext=(0,import_react2.createContext)({});TableSelectorContext.displayName="TableSelectorContext";const TableSelectorParamsContext=(0,import_react2.createContext)({});TableSelectorParamsContext.displayName="TableSelectorParamsContext";const useTableSelectorParams=()=>(0,import_react2.useContext)(TableSelectorParamsContext),TableSelectorParamsProvider=({params:e,children:t})=>{const o=useTableSelectorParams();try{e.filter=mergeFilter([o.filter,e.filter]),e=x(x({},o),e)}catch(r){console.error(r)}return(0,import_jsx_runtime.jsx)(TableSelectorParamsContext.Provider,{value:e,children:t})},InternalTableSelectorProvider=e=>{const{params:t,rowKey:o,extraFilter:r,expandFlag:i=!1}=e,n=(0,import_react.useField)(),{resource:a,service:l}=useBlockRequestContext(),[c,u]=(0,import_react2.useState)(i),m=useCollectionParentRecordData();return(0,import_jsx_runtime.jsx)(RecordProvider,{record:{},parent:m,children:(0,import_jsx_runtime.jsx)(TableSelectorContext.Provider,{value:{field:n,service:l,resource:a,params:t,extraFilter:r,rowKey:o,expandFlag:c,setExpandFlag:()=>{u(!c)}},children:e.children})})},recursiveParent=(e,t)=>e["x-component"]===t?e:e.parent&&(e==null?void 0:e["x-component"])!=="AssociationField.Viewer"?recursiveParent(e.parent,t):null,useAssociationNames$1=e=>{const{getCollectionFields:t}=useCollectionManager_deprecated(),o=t(e),r=new Set;for(const n of o)if(n.target){r.add(n.name);const a=t(n.target);for(const l of a)l.target&&r.add(`${n.name}.${l.name}`)}const i=(0,import_react.useFieldSchema)().reduceProperties((n,a)=>a["x-component"]==="TableV2.Selector"?a:n,new import_react.Schema({}));return(0,import_uniq.default)(i.reduceProperties((n,a)=>{if(a["x-component"]==="TableV2.Column"){const l=a.reduceProperties((c,u)=>{const[m]=u.name.split(".");return u["x-collection-field"]&&r.has(m)?u:c},null);if(l){const[c]=l.name.split(".");r.has(l.name)?n.push(l.name):r.has(c)&&n.push(c)}}return n},[]))},TableSelectorProvider=withDynamicSchemaProps(e=>{var t;const o=useTableSelectorParams(),r=(0,import_react.useFieldSchema)(),{getCollectionJoinField:i,getCollectionFields:n}=useCollectionManager_deprecated(),a=useRecord(),{getCollection:l}=useCollectionManager_deprecated(),{treeTable:c}=(r==null?void 0:r["x-decorator-props"])||{},u=recursiveParent(r,"CollectionField"),m=i(u==null?void 0:u["x-collection-field"]),d=l(m==null?void 0:m.collectionName),p=d==null?void 0:d.getPrimaryKey(),h=useAssociationNames$1(e.collection);let g=x({},e.params);e.dragSort&&(g.sort=["sort"]),(m==null?void 0:m.target)===(m==null?void 0:m.collectionName)&&d!=null&&d.tree&&c&&(g.tree=!0,u.name==="parent"&&(g.filter=P(x({},(t=g.filter)!=null?t:{}),{id:a[p]&&{$ne:a[p]}}))),Object.keys(g).includes("appends")||(g.appends=h);let _;if(m&&(["oho","o2m"].includes(m.interface)&&!isInFilterFormBlock(r)&&(a!=null&&a[m.sourceKey]?_={$or:[{[m.foreignKey]:{$is:null}},{[m.foreignKey]:{$eq:a==null?void 0:a[m.sourceKey]}}]}:_={[m.foreignKey]:{$is:null}}),["obo"].includes(m.interface)&&!isInFilterFormBlock(r))){const b=n(m.target).find(S=>S.foreignKey&&S.foreignKey===m.foreignKey);b&&(a!=null&&a[m.foreignKey]?_={$or:[{[`${b.name}.${b.foreignKey}`]:{$is:null}},{[`${b.name}.${b.foreignKey}`]:{$eq:a==null?void 0:a[m.foreignKey]}}]}:_={[`${b.name}.${b.foreignKey}`]:{$is:null}})}_&&(g!=null&&g.filter?g.filter={$and:[_,g.filter]}:g.filter=_);try{g.filter=mergeFilter([o.filter,g.filter]),g=x(x({},o),g)}catch(b){console.error(b)}const{filter:f,parseVariableLoading:v}=useParsedFilter({filterOption:g==null?void 0:g.filter});return!import_lodash.default.isEmpty(g==null?void 0:g.filter)&&import_lodash.default.isEmpty(f)||v?null:(g!=null&&g.filter&&(g.filter=f),(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{treeTable:c},children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"table-selector"},e),{params:g,children:(0,import_jsx_runtime.jsx)(InternalTableSelectorProvider,P(x({},e),{params:g,extraFilter:_}))}))}))}),useTableSelectorContext=()=>(0,import_react2.useContext)(TableSelectorContext),useTableSelectorProps$4=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,h,g,_;const f=(0,import_react.useField)(),v=useTableSelectorContext(),b=(0,import_react.useFieldSchema)(),{getCollectionJoinField:S}=useCollectionManager_deprecated(),C=recursiveParent(b,"CollectionField"),y=S(C==null?void 0:C["x-collection-field"]);return(0,import_react2.useEffect)(()=>{var F,I,T,k,$,M,O,D,R,L,w,j,B;if(!((F=v==null?void 0:v.service)!=null&&F.loading)){const N=(T=(I=v==null?void 0:v.service)==null?void 0:I.data)==null?void 0:T.data.map(E=>E);f.value=N,(k=f==null?void 0:f.setInitialValue)==null||k.call(f,N),f.data=f.data||{},f.data.selectedRowKeys=[],f.componentProps.pagination=f.componentProps.pagination||{},f.componentProps.pagination.pageSize=(O=(M=($=v==null?void 0:v.service)==null?void 0:$.data)==null?void 0:M.meta)==null?void 0:O.pageSize,f.componentProps.pagination.total=(L=(R=(D=v==null?void 0:v.service)==null?void 0:D.data)==null?void 0:R.meta)==null?void 0:L.count,f.componentProps.pagination.current=(B=(j=(w=v==null?void 0:v.service)==null?void 0:w.data)==null?void 0:j.meta)==null?void 0:B.page}},[y==null?void 0:y.foreignKey,(t=(e=v==null?void 0:v.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys,(r=(o=v==null?void 0:v.service)==null?void 0:o.data)==null?void 0:r.data,(a=(n=(i=v==null?void 0:v.service)==null?void 0:i.data)==null?void 0:n.meta)==null?void 0:a.count,(u=(c=(l=v==null?void 0:v.service)==null?void 0:l.data)==null?void 0:c.meta)==null?void 0:u.page,(p=(d=(m=v==null?void 0:v.service)==null?void 0:m.data)==null?void 0:d.meta)==null?void 0:p.pageSize,(h=v==null?void 0:v.service)==null?void 0:h.loading,f]),{loading:(g=v==null?void 0:v.service)==null?void 0:g.loading,showIndex:!1,dragSort:!1,rowKey:v.rowKey||"id",pagination:((_=b==null?void 0:b["x-component-props"])==null?void 0:_.pagination)===!1?!1:f.componentProps.pagination,onRowSelectionChange(F,I){var T;v.field.data=((T=v==null?void 0:v.field)==null?void 0:T.data)||{},v.field.data.selectedRowKeys=F,v.field.data.selectedRowData=I},onRowDragEnd(F){return q(this,arguments,function*({from:I,to:T}){yield v.resource.move({sourceId:I[v.rowKey||"id"],targetId:T[v.rowKey||"id"]}),v.service.refresh()})},onChange({current:F,pageSize:I}){var T;v.service.run(P(x({},(T=v.service.params)==null?void 0:T[0]),{page:F,pageSize:I}))}}},BlockSchemaComponentProvider=e=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:{TableFieldProvider,TableBlockProvider,TableSelectorProvider,FormBlockProvider,FilterFormBlockProvider,FormFieldProvider,DetailsBlockProvider,RecordLink,Slider:import_antd.Slider},scope:P(x({},bp),{useSourceIdFromRecord,useSourceIdFromParentRecord,useParamsFromRecord,useFormBlockProps:useFormBlockProps$1,useCreateFormBlockProps,useCreateFormBlockDecoratorProps,useEditFormBlockDecoratorProps,useEditFormBlockProps,useFormFieldProps,useDetailsBlockProps,useDetailsProps,useDetailsWithPaginationProps,useDetailsDecoratorProps,useDetailsWithPaginationDecoratorProps,useTableFieldProps,useTableBlockProps,useTableSelectorProps:useTableSelectorProps$4,useTableBlockDecoratorProps,useListBlockDecoratorProps,useListBlockProps,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,useGridCardBlockItemProps,useGridCardBlockProps,useFormItemProps,useDataFormItemProps}),children:e.children});class BlockSchemaComponentPlugin extends Plugin{load(){return q(this,null,function*(){this.addComponents(),this.addScopes()})}addComponents(){this.app.addComponents({TableFieldProvider,TableBlockProvider,TableSelectorProvider,FormBlockProvider,FilterFormBlockProvider,FormFieldProvider,DetailsBlockProvider,RecordLink,BlockSchemaToolbar,ActionSchemaToolbar,FormItemSchemaToolbar,CollapseItemSchemaToolbar,TableColumnSchemaToolbar,Slider:import_antd.Slider})}addScopes(){this.app.addScopes(P(x({},bp),{useSourceIdFromRecord,useSourceIdFromParentRecord,useParamsFromRecord,useFormBlockProps:useFormBlockProps$1,useCreateFormBlockProps,useCreateFormBlockDecoratorProps,useEditFormBlockDecoratorProps,useEditFormBlockProps,useFormFieldProps,useDetailsBlockProps,useDetailsProps,useDetailsWithPaginationProps,useDetailsDecoratorProps,useDetailsWithPaginationDecoratorProps,useTableFieldProps,useTableBlockProps,useTableSelectorProps:useTableSelectorProps$4,useTableBlockDecoratorProps,useListBlockDecoratorProps,useListBlockProps,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,useGridCardBlockProps,useGridCardBlockItemProps,useFormItemProps,useDataFormItemProps}))}}const uiSchemaTemplatesCollection={name:"uiSchemaTemplates",filterTargetKey:"key",targetKey:"key",fields:[{type:"integer",name:"name",interface:"input",uiSchema:{title:'{{ t("Template name") }}',type:"number","x-component":"Input",required:!0}}]},BlockTemplate=(0,import_react.observer)(e=>{const{templateId:t}=e,{getTemplateById:o}=useSchemaTemplateManager(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=(0,import_react2.useMemo)(()=>o(t),[t]),{onTemplateSuccess:l}=useTemplateBlockContext(),{isMobileLayout:c}=useMobileLayout(),u=m=>{var d,p;i["x-linkage-rules"]=((d=m==null?void 0:m.data)==null?void 0:d["x-linkage-rules"])||[],i.setProperties((p=m==null?void 0:m.data)==null?void 0:p.properties),l==null||l()};return a?(0,import_jsx_runtime.jsx)(BlockTemplateProvider,{dn:n,field:r,fieldSchema:i,template:a,children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{noForm:!0,uid:a==null?void 0:a.uid,onSuccess:u,schemaTransform:c?import_client.transformMultiColumnToSingleColumn:void 0})}):(0,import_jsx_runtime.jsx)(CollectionDeletedPlaceholder,{type:"Block template",name:t})},{displayName:"BlockTemplate"}),SchemaTemplateManagerContext=(0,import_react2.createContext)({});SchemaTemplateManagerContext.displayName="SchemaTemplateManagerContext";const regenerateUid=e=>{e.name=e["x-uid"]=(0,import_shared.uid)(),Object.keys(e.properties||{}).forEach(t=>{regenerateUid(e.properties[t])})},useSchemaTemplate=()=>{const{getTemplateBySchema:e}=useSchemaTemplateManager(),t=(0,import_react.useFieldSchema)(),o=t["x-uid"],r=t["x-template-key"];return(0,import_react2.useMemo)(()=>e(t),[o,r])},useSchemaTemplateManager=()=>{const{getInheritCollections:e}=useCollectionManager_deprecated(),{refresh:t,templates:o=[]}=(0,import_react2.useContext)(SchemaTemplateManagerContext),r=useAPIClient();return{templates:o,refresh:t,getTemplateSchemaByMode:(0,import_react2.useCallback)(i=>q(void 0,null,function*(){const{mode:n,template:a}=i;if(n==="copy"){const{data:l}=yield r.request({url:`/uiSchemas:getJsonSchema/${a.uid}?includeAsyncNode=true`}),c=(l==null?void 0:l.data)||{};return regenerateUid(c),(0,import_lodash.cloneDeep)(c)}else if(n==="reference")return{type:"void","x-component":"BlockTemplate","x-component-props":{templateId:a.key}}}),[r]),copyTemplateSchema:(0,import_react2.useCallback)(i=>q(void 0,null,function*(){const{data:n}=yield r.request({url:`/uiSchemas:getJsonSchema/${i.uid}?includeAsyncNode=true`}),a=(n==null?void 0:n.data)||{};return regenerateUid(a),(0,import_lodash.cloneDeep)(a)}),[r]),saveAsTemplate:(0,import_react2.useCallback)(i=>q(void 0,null,function*(){const{uid:n}=i,a=(0,import_shared.uid)();return yield r.resource("uiSchemas").saveAsTemplate({filterByTk:n,values:x({key:a},i)}),yield t(),{key:a}}),[r,t]),getTemplateBySchema:(0,import_react2.useCallback)(i=>{if(!i)return;const n=i["x-template-key"];if(n)return o==null?void 0:o.find(l=>l.key===n);const a=i["x-uid"];if(a)return o==null?void 0:o.find(l=>l.uid===a)},[o]),getTemplateBySchemaId:(0,import_react2.useCallback)(i=>i?o==null?void 0:o.find(n=>n.uid===i):null,[o]),getTemplateById:(0,import_react2.useCallback)(i=>o==null?void 0:o.find(n=>n.key===i),[o]),getTemplatesByCollection:(0,import_react2.useCallback)((i,n)=>{var a;const l=e(n,i).concat([n]);return((a=o==null?void 0:o.filter)==null?void 0:a.call(o,c=>(c.dataSourceKey||DEFAULT_DATA_SOURCE_KEY)===i&&l.includes(c.collectionName)))||[]},[e,o]),getTemplatesByComponentName:(0,import_react2.useCallback)(i=>{var n;return((n=o==null?void 0:o.filter)==null?void 0:n.call(o,a=>a.componentName===i))||[]},[o])}},options$1={resource:"uiSchemaTemplates",action:"list",params:{paginate:!1},refreshDeps:[]},RemoteSchemaTemplateManagerProvider=e=>{var t;const o=useAPIClient(),r=useRequest(options$1),i=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){const{data:a}=yield o.request(options$1);r.mutate(a)}),[o,r]),n=(0,import_react2.useMemo)(()=>{var a;return{templates:(a=r==null?void 0:r.data)==null?void 0:a.data,refresh:i}},[(t=r==null?void 0:r.data)==null?void 0:t.data,i]);return(0,import_jsx_runtime.jsx)(SchemaTemplateManagerContext.Provider,{value:n,children:e.children})};class RemoteSchemaTemplateManagerPlugin extends Plugin{load(){return q(this,null,function*(){this.addRoutes(),this.addComponents()})}addComponents(){this.app.addComponents({BlockTemplate})}addRoutes(){this.app.router.add("admin.plugins.block-templates-key",{path:"/admin/plugins/block-templates/:key",Component:"BlockTemplateDetails"})}}const CollectionTitle=e=>{const{dataSourceKey:t="main",collectionName:o}=useCollectionRecordData(),r=useDataSourceManager(),i=useCompile(),[n,a]=(0,import_react2.useMemo)(()=>{const l=r.getDataSource(t);if(l){const c=l.collectionManager.getCollection(o);return[l.displayName,(c==null?void 0:c.title)||o]}return[t,null]},[r,t,o]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[i(n)," ",">"," ",i(a)]})},useUpdateSchemaTemplateActionProps=()=>{const e=useUpdateActionProps(),{__parent:t}=useBlockRequestContext();return{onClick(){return q(this,null,function*(){var o,r;yield e.onClick(),(r=(o=t==null?void 0:t.service)==null?void 0:o.refresh)==null||r.call(o)})}}},useBulkDestroyTemplateProps=()=>{const e=useBulkDestroyActionProps(),t=useSchemaTemplateManager(),{service:o}=useBlockRequestContext();return{onClick(){return q(this,null,function*(){var r;yield e.onClick(),yield t.refresh(),(r=o==null?void 0:o.refresh)==null||r.call(o)})}}},useDestroyTemplateProps=()=>{const e=useDestroyActionProps(),{service:t}=useBlockRequestContext(),o=useSchemaTemplateManager();return{onClick(){return q(this,null,function*(){var r;yield e.onClick(),yield o.refresh(),(r=t==null?void 0:t.refresh)==null||r.call(t)})}}},uiSchemaTemplatesSchema={type:"object",properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"TableBlockProvider","x-decorator-props":{collection:uiSchemaTemplatesCollection,resource:"uiSchemaTemplates",action:"list",params:{pageSize:20,sort:["-createdAt"]},rowKey:"key",showIndex:!0,dragSort:!1},"x-component":"CardItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action","x-use-component-props":useBulkDestroyTemplateProps,"x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}},[(0,import_shared.uid)()]:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowSelection:{type:"checkbox"}},properties:{column1:{type:"void",title:'{{ t("Title") }}',"x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-collection-field":"uiSchemaTemplates.name","x-component":"CollectionField","x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},column2:{type:"void",title:'{{t("Collection display name")}}',"x-component":"TableV2.Column",properties:{"collection.title":{type:"string","x-component":CollectionTitle,"x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-component":"TableV2.Column",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-component":"Action.Link","x-component-props":{openMode:"drawer",refreshDataBlockRequest:!1},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{form:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:"uiSchemaTemplates",collection:uiSchemaTemplatesCollection,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":"uiSchemaTemplates.name",required:!0},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{submit:{title:'{{t("Submit")}}',"x-action":"submit","x-component":"Action","x-use-component-props":useUpdateSchemaTemplateActionProps,"x-component-props":{type:"primary",htmlType:"submit"},type:"void"}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":useDestroyTemplateProps,"x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}}}},BlockTemplatePage=()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{style:{backgroundColor:"white"},ghost:!1,title:e("Block templates")}),(0,import_jsx_runtime.jsx)("div",{style:{margin:"var(--nb-spacing)"},children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:uiSchemaTemplatesSchema})})]})},BlockTemplatesPane=()=>(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:uiSchemaTemplatesSchema}),AsDefaultTemplate=import_react2.default.forwardRef((e,t)=>{var o;const r=import_antd_v5.ArrayBase.useArray(),i=import_antd_v5.ArrayBase.useIndex(e.index),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Switch,P(x({},e),{checkedChildren:n("Default"),unCheckedChildren:n("Default"),checked:(o=r==null?void 0:r.field)==null?void 0:o.value[i].default,style:{transition:"all 0.25s ease-in-out",color:"rgba(0, 0, 0, 0.8)",fontSize:16,marginLeft:6,marginBottom:3},onChange:(a,l)=>{var c;l.stopPropagation(),r.field.value.splice(i,1,P(x({},(c=r==null?void 0:r.field)==null?void 0:c.value[i]),{default:a})),r.field.value.forEach((u,m)=>{var d;m!==i&&r.field.value.splice(m,1,P(x({},(d=r==null?void 0:r.field)==null?void 0:d.value[m]),{default:!1}))})},onClick:(a,l)=>{l.stopPropagation()}}))});AsDefaultTemplate.displayName="AsDefaultTemplate";const useStyles$e=genStyleHook("nb-array-collapse",e=>{const{componentCls:t}=e;return{[t]:{marginBottom:"10px"}}}),DataTemplateTitle=(0,import_react.observer)(e=>{var t;const o=import_antd_v5.ArrayBase.useArray(),r=import_antd_v5.ArrayBase.useIndex(e.index),{t:i}=(0,import_react_i18next.useTranslation)(),n=(t=o==null?void 0:o.field)==null?void 0:t.value[r];return(0,import_react2.useEffect)(()=>{var a,l;n.key||(n.key=(0,import_shared.uid)()),n.title||(n.title=`${i("Template name")} ${(l=(a=o==null?void 0:o.field)==null?void 0:a.value)==null?void 0:l.length}`)},[]),(0,import_jsx_runtime.jsx)(import_antd.Input.TextArea,{value:n.title,placeholder:i("Template name"),onChange:a=>{a.stopPropagation(),n.title=a.target.value},onBlur:a=>{a.stopPropagation(),n.title=a.target.value},autoSize:!0,style:{width:"70%",border:"none"},onClick:a=>{a.stopPropagation()}})}),isAdditionComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Addition"))>-1},isIndexComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Index"))>-1},isRemoveComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Remove"))>-1},isMoveUpComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"MoveUp"))>-1},isMoveDownComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"MoveDown"))>-1},isCopyComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Copy"))>-1},isOperationComponent$1=e=>isAdditionComponent$1(e)||isRemoveComponent$1(e)||isMoveDownComponent$1(e)||isMoveUpComponent$1(e)||isCopyComponent$1(e),range$1=e=>Array.from({length:e}).map((t,o)=>o),takeDefaultActiveKeys$1=(e,t)=>e<t?range$1(e):range$1(t),insertActiveKeys$1=(e,t)=>e.length<=t?e.concat(t):e.reduce((o,r)=>r<t?o.concat(r):r===t?o.concat([r,r+1]):o.concat(r+1),[]),ArrayCollapse$1=(0,import_react.observer)(e=>{const{componentCls:t,hashId:o}=useStyles$e(),r=(0,import_react.useField)(),i=Array.isArray(r.value)?r.value:[],[n,a]=(0,import_react2.useState)(takeDefaultActiveKeys$1(i.length,e.defaultOpenPanelCount)),l=(0,import_react.useFieldSchema)();if((0,import_react2.useEffect)(()=>{!r.modified&&i.length&&a(takeDefaultActiveKeys$1(i.length,e.defaultOpenPanelCount))},[i.length,r]),!l)throw new Error("can not found schema object");const c=()=>l.reduceProperties((d,p,h)=>isAdditionComponent$1(p)?(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:p,name:h}):d,null),u=()=>{if(!i.length)return(0,import_jsx_runtime.jsx)(import_antd.Card,{className:(0,import_classnames.default)(t,o,e.className),children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{})})},m=()=>(0,import_jsx_runtime.jsx)(import_antd.Collapse,P(x({},e),{activeKey:n,onChange:d=>a((0,import_shared.toArr)(d).map(Number)),className:(0,import_classnames.default)(t,o,e.className),children:i.map((d,p)=>{const h=Array.isArray(l.items)?l.items[p]||l.items[0]:l.items,g=r.query(`${r.address}.${p}`).get("componentProps"),_=h["x-component-props"],f=()=>{const S=`${(g==null?void 0:g.header)||_.header||r.title}`,C=r.address.concat(p),y=r.form.queryFeedbacks({type:"error",address:`${C}.**`});return(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase.Item,{index:p,record:()=>{var F;return(F=r.value)==null?void 0:F[p]},children:[(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:h,name:p,filterProperties:F=>!!isIndexComponent$1(F),onlyRenderProperties:!0}),y.length?(0,import_jsx_runtime.jsx)(import_antd.Badge,{size:"small",className:"errors-badge",count:y.length,children:S}):(0,import_jsx_runtime.jsx)(DataTemplateTitle,{item:d.initialValue||d,index:p})]})},v=(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase.Item,{index:p,record:d,children:[(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:h,name:p,filterProperties:S=>!!isOperationComponent$1(S),onlyRenderProperties:!0}),g==null?void 0:g.extra]}),b=(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:h,name:p,filterProperties:S=>!(isIndexComponent$1(S)||isOperationComponent$1(S))});return(0,import_react2.createElement)(import_antd.Collapse.Panel,P(x(x({},_),g),{forceRender:!0,key:p,header:f(),extra:v}),(0,import_jsx_runtime.jsx)(import_antd_v5.ArrayBase.Item,{index:p,record:d,children:b},p))})}));return(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase,{onAdd:d=>{a(insertActiveKeys$1(n,d))},onRemove:()=>{r.initialValue=r.value},children:[u(),m(),c()]})},{displayName:"ArrayCollapse"}),CollapsePanel$1=({children:e})=>(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:e});CollapsePanel$1.displayName="CollapsePanel";ArrayCollapse$1.defaultProps={defaultOpenPanelCount:5};ArrayCollapse$1.displayName="ArrayCollapse";ArrayCollapse$1.CollapsePanel=CollapsePanel$1;import_antd_v5.ArrayBase.mixin(ArrayCollapse$1);ArrayCollapse$1.Copy=import_react2.default.forwardRef((e,t)=>{var o;const r=(0,import_react.useField)(),i=import_antd_v5.ArrayBase.useArray(),n=import_antd_v5.ArrayBase.useIndex(e.index);return!i||((o=i.field)==null?void 0:o.pattern)!=="editable"?null:(0,import_jsx_runtime.jsx)(import_icons.CopyOutlined,P(x({},e),{style:{transition:"all 0.25s ease-in-out",color:"rgba(0, 0, 0, 0.8)",fontSize:"16px",marginLeft:6},ref:t,onClick:a=>{var l,c;if(r!=null&&r.disabled||(a.stopPropagation(),(l=i.props)!=null&&l.disabled))return;const u=(0,import_lodash.clone)((c=i==null?void 0:i.field)==null?void 0:c.value[n]);i.field.push(u),e.onClick&&e.onClick(a)}}))});ArrayCollapse$1.Copy.displayName="ArrayCollapse.Copy";(0,import_react.observer)(()=>{const{getCollectionFields:e,getCollectionField:t,getCollection:o,isTitleField:r}=useCollectionManager_deprecated(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=useCompile(),{formSchema:u,data:m}=n["x-designer-props"],{form:d}=useFormBlockContext(),p=i.componentProps.service.resource,h=o(p),g=e(p);if(!m)return(0,import_client.error)("data is required"),null;const _=()=>{var C,y;return((y=(C=m.config)==null?void 0:C[p])==null?void 0:y.filter)||{}},f=C=>{try{import_lodash.default.set(m,`config.${p}.filter`,removeNullCondition(C))}catch(y){(0,import_client.error)(y)}},v=()=>{var C,y;return((y=(C=m.config)==null?void 0:C[p])==null?void 0:y.titleField)||(h==null?void 0:h.titleField)||"id"},b=C=>{try{import_lodash.default.set(m,`config.${p}.titleField`,C)}catch(y){(0,import_client.error)(y)}},S=g.filter(C=>r(C)).map(C=>{var y;return{value:C==null?void 0:C.name,label:c((y=C==null?void 0:C.uiSchema)==null?void 0:y.title)||(C==null?void 0:C.name)}});return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{draggable:!1,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:p,defaultFilter:_(),form:d,onSubmit:({filter:C})=>{f(C);try{i.query("fieldReaction.items.*.layout.dataId").forEach(y=>{y.componentProps.service.resource===p&&(y.componentProps.service.params={filter:import_lodash.default.isEmpty(C)?{}:removeNullCondition(mergeFilter([C,getSelectedIdFilter(i.value)],"$or"))})})}catch(y){(0,import_client.error)(y)}u["x-data-templates"]=m,l.emit("patch",{schema:{"x-uid":u["x-uid"],"x-data-templates":m}}),l.refresh()}}),(0,import_jsx_runtime.jsx)(SelectItem,{title:a("Title field"),options:S,value:v(),onChange:C=>{b(C);try{i.query("fieldReaction.items.*.layout.dataId").forEach(F=>{F.componentProps.service.resource===p&&(F.componentProps.fieldNames.label=C,F.componentProps.targetField=t(`${p}.${C||(h==null?void 0:h.titleField)||"id"}`))})}catch(F){console.error(F)}u["x-data-templates"]=m;const y={"x-uid":u["x-uid"],"x-data-templates":m};l.emit("patch",{schema:y}),l.refresh()}},"title-field")]})},{displayName:"Designer"});function getSelectedIdFilter(e){return e?{id:{$eq:e}}:null}function SelectItem(e){const t=e,{title:o,options:r,value:i,onChange:n}=t,a=W(t,["title","options","value","onChange"]);return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:o},a),{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({popupMatchSelectWidth:!1,bordered:!1,value:i,onChange:n,options:r,style:{textAlign:"right",minWidth:100}},a))]})}))}const Tree$1=(0,import_react.connect)(import_antd.Tree,(0,import_react.mapProps)({value:"checkedKeys",dataSource:"treeData"}));Tree$1.displayName="Tree";const compatibleDataId=(e,t)=>e==null?void 0:e.map(o=>{var r;const i=o,{dataId:n}=i,a=W(i,["dataId"]),l=x({},a);return n&&(l.dataScope={$and:[{id:{$eq:n}}]},l.titleField=(l==null?void 0:l.titleField)||((r=t==null?void 0:t[o.collection])==null?void 0:r.titleField)||"id"),l}),FormDataTemplates=withDynamicSchemaProps((0,import_react.observer)(e=>{const{formSchema:t,designerCtx:o,defaultValues:r,collectionName:i}=useProps(e),{collectionList:n,getEnableFieldTree:a,getOnLoadData:l,getOnCheck:c,getScopeDataSource:u,useTitleFieldDataSource:m}=useCollectionState(i),{getCollection:d,getCollectionField:p}=useCollectionManager_deprecated(),{t:h}=(0,import_react_i18next.useTranslation)(),g=(0,import_react2.useMemo)(()=>(0,import_reactive.observable)(P(x({},r),{items:compatibleDataId((r==null?void 0:r.items)||[],r==null?void 0:r.config)})),[]),_=y=>{var F;const I=d(y);return p(`${y}.${((F=g==null?void 0:g.config[y])==null?void 0:F.titleField)||(I==null?void 0:I.titleField)||"id"}`)},f=y=>{var F,I;const T=d(y);return{label:getLabel(((I=(F=g.config)==null?void 0:F[y])==null?void 0:I.titleField)||(T==null?void 0:T.titleField)||"id"),value:"id"}},v=(y,F)=>{var I,T;const k=(T=(I=g.config)==null?void 0:I[y])==null?void 0:T.filter;return import_lodash.default.isEmpty(k)?{}:removeNullCondition(mergeFilter([k,getSelectedIdFilter(F)],"$or"))},b=(0,import_react2.useMemo)(()=>({ArrayCollapse:ArrayCollapse$1}),[]),S=(0,import_react2.useMemo)(()=>({getEnableFieldTree:a,getTargetField:_,getFieldNames:f,getFilter:v,getResource,getOnLoadData:l,getOnCheck:c,collectionName:i,getScopeDataSource:u,useTitleFieldDataSource:m}),[]),C=(0,import_react2.useMemo)(()=>({type:"object",properties:{items:{type:"array",default:g==null?void 0:g.items,"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{extra:[(0,import_jsx_runtime.jsx)(AsDefaultTemplate,{},"0")]},properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:{collection:{type:"string",title:'{{ t("Collection") }}',required:!0,description:h("If collection inherits, choose inherited collections as templates"),default:"{{ collectionName }}","x-display":n.length>1?"visible":"hidden","x-decorator":"FormItem","x-component":"Select","x-component-props":{options:n}},dataScope:{type:"object",title:'{{ t("Filter out a single piece or a group of records as a template") }}',"x-decorator":"FormItem","x-component":"Filter","x-component-props":{dynamicComponent:VariableInput},"x-decorator-props":{style:{marginBottom:"0px"}},required:!0,"x-reactions":[{dependencies:[".collection"],fulfill:{state:{disabled:"{{ !$deps[0] }}"},schema:{enum:"{{ getScopeDataSource($deps[0]) }}"}}}]},titleField:{type:"string","x-decorator":"FormItem",title:'{{ t("Title field") }}',"x-decorator-props":{tooltip:'{{t("The title field is used to identify the template record")}}'},"x-component":"Select",required:!0,"x-reactions":"{{useTitleFieldDataSource}}"},syncFromForm:{type:"void",title:'{{ t("Sync from form fields") }}',"x-component":"Action.Link","x-component-props":{type:"primary",style:{float:"right",position:"relative",zIndex:1200},useAction:()=>useSyncFromForm(t)}},fields:{type:"array",title:'{{ t("Template fields") }}',"x-decorator-props":{tooltip:'{{t("The selected fields will automatically populate the form")}}'},required:!0,description:h("Only the selected fields will be used as the initialization data for the form"),"x-decorator":"FormItem","x-component":Tree$1,"x-component-props":{treeData:[],checkable:!0,checkStrictly:!0,selectable:!1,loadData:"{{ getOnLoadData($self) }}",onCheck:"{{ getOnCheck($self) }}",rootStyle:{padding:"8px 0",border:"1px solid #d9d9d9",borderRadius:"2px",maxHeight:"30vh",overflow:"auto",margin:"2px 0"}},"x-reactions":[{dependencies:[".collection"],fulfill:{state:{disabled:"{{ !$deps[0] }}",componentProps:{treeData:"{{ getEnableFieldTree($deps[0], $self) }}"}}}}]}}},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"}}},properties:{add:{type:"void",title:'{{ t("Add template") }}',"x-component":"ArrayCollapse.Addition"}}},display:{type:"boolean","x-content":'{{ t("Enable form data template") }}',default:(g==null?void 0:g.display)!==!1,"x-decorator":"FormItem","x-component":"Checkbox"}}}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},o),{designable:!0}),children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:b,scope:S,schema:C})})}),{displayName:"FormDataTemplates"});function getLabel(e){return e||"label"}function getResource(e,t){return e!==t.componentProps.service.resource&&(t.value=void 0),e}const EnableChildCollections=withDynamicSchemaProps((0,import_react.observer)(e=>{const{defaultValues:t,collectionName:o}=useProps(e),r=(0,import_react.useForm)(),i=useCompile(),{getChildrenCollections:n}=useCollectionManager_deprecated(),a=n(o),l=u=>(m,d)=>{m.loading=!0,u(m,d).then(import_reactive.action.bound(p=>{m.dataSource=p,m.loading=!1,m.initialValue&&(m.disabled=!0)}))},c=u=>q(void 0,null,function*(){var m,d;const{childrenCollections:p}=((m=r.values)==null?void 0:m.enableChildren)||{};return(d=a.filter(h=>!p.find(g=>g.collection===h.name)||u.initialValue||h.name===u.value))==null?void 0:d.map(h=>({label:i(h.title),value:h.name}))});return(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{type:"object",properties:{childrenCollections:{type:"array",default:t==null?void 0:t.filter(u=>a.find(m=>m.name===u.collection)),"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"},collection:{type:"string","x-decorator":"FormItem",required:!0,"x-component":"Select","x-component-props":{style:{width:260}},"x-reactions":["{{useAsyncDataSource(loadData)}}"]},title:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{style:{width:235}}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{ t("Add collection") }}',"x-component":"ArrayItems.Addition"}}}}},scope:{useAsyncDataSource:l,loadData:c}})}),{displayName:"EnableChildCollections"}),ChildDynamicComponent=(0,import_react.observer)(e=>{const{rootCollection:t,onChange:o,value:r,collectionField:i}=e,n=(0,import_react.useFieldSchema)(),{currentFormSettings:a}=useCurrentFormVariable({collectionName:t,collectionField:i}),{currentObjectSettings:l}=useCurrentObjectVariable({schema:i==null?void 0:i.uiSchema,collectionField:i}),c=useCompile(),u=(0,import_react2.useMemo)(()=>[a,l].filter(Boolean),[a,l]),m=c(u);return(0,import_react2.useEffect)(()=>{o(n.default)},[]),(0,import_jsx_runtime.jsx)(Variable.Input,{value:r,onChange:d=>o(d),scope:m,style:{minWidth:"400px",marginRight:15},className:import_css.css`
|
|
338
|
+
`,GeneralSchemaDesigner=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),{disableInitializer:i,title:n,template:a,schemaSettings:l,contextValue:c,draggable:u=!0,showDataSource:m=!0}=x(x({},e),r["x-toolbar-props"]||{}),{dn:d,designable:p}=useDesignable(),h=(0,import_react.useField)(),{t:g}=(0,import_react_i18next.useTranslation)(),_=useCompile(),{getAriaLabel:f}=useGetAriaLabelOfDesigner(),v={dn:d,field:h,fieldSchema:r},{render:b,exists:S}=useSchemaSettingsRender(r["x-settings"]||l,r["x-settings-props"]),C=useGridRowContext(),y=useGridContext(),F=useDataSourceManager(),I=F==null?void 0:F.getDataSources(),T=useDataSource(),k=(I==null?void 0:I.length)>1&&T,$=["FormItem","ReadPrettyFormItem"].includes(a==null?void 0:a.componentName)?`${a==null?void 0:a.name} ${g("(Fields only)")}`:a==null?void 0:a.name,M=(0,import_react2.useMemo)(()=>{var O;return{insertPosition:"afterEnd",wrap:((O=C==null?void 0:C.cols)==null?void 0:O.length)>1?void 0:gridRowColWrap,Component:D=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},D),{role:"button","aria-label":f("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[f,(t=C==null?void 0:C.cols)==null?void 0:t.length]);return p?(0,import_jsx_runtime.jsx)(SchemaToolbarProvider,P(x({},c),{children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)("general-schema-designer",overrideAntdCSS,r["x-template-uid"]?"nb-in-template":""),children:[n&&(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("general-schema-designer-title",titleCss),children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:2,children:[(0,import_jsx_runtime.jsx)("span",{className:"title-tag",children:m&&k?`${_(k==null?void 0:k.displayName)} > ${_(n)}`:_(n)}),a&&(0,import_jsx_runtime.jsxs)("span",{className:"title-tag",children:[g("Reference template"),": ",$||g("Untitled")]})]})}),(0,import_jsx_runtime.jsx)("div",{className:"general-schema-designer-icons",children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,align:"center",children:[u&&(0,import_jsx_runtime.jsx)(DragHandler,{children:(0,import_jsx_runtime.jsx)(import_icons.DragOutlined,{role:"button","aria-label":f("drag-handler")})}),!i&&(y!=null&&y.InitializerComponent?(0,import_jsx_runtime.jsx)(y.InitializerComponent,x({},M)):(o=y==null?void 0:y.renderSchemaInitializer)==null?void 0:o.call(y,M)),S?b(c):(0,import_jsx_runtime.jsx)(SchemaSettingsDropdown,P(x({title:(0,import_jsx_runtime.jsx)(import_icons.MenuOutlined,{role:"button","aria-label":f("schema-settings"),style:{cursor:"pointer",fontSize:12}})},v),{children:e.children}))]})})]})})):null},InternalSchemaToolbar=import_react2.default.memo(e=>{var t;const o=(0,import_react.useFieldSchema)(),{title:r,initializer:i,settings:n,showBackground:a,spaceWrapperClassName:l,spaceWrapperStyle:c,showBorder:u=!0,draggable:m=!0,spaceClassName:d,spaceStyle:p,toolbarClassName:h,toolbarStyle:g={},container:_}=x(x({},e),(o==null?void 0:o["x-toolbar-props"])||{}),f=useCompile(),{draggable:v}=(0,import_react2.useContext)(SchemaComponentContext),{componentCls:b,hashId:S}=useStyles$g(),{t:C}=(0,import_react_i18next.useTranslation)(),{getAriaLabel:y}=useGetAriaLabelOfDesigner(),F=useDataSourceManager(),I=F==null?void 0:F.getDataSources(),T=useDataSource(),k=(I==null?void 0:I.length)>1&&T,$=useRefreshFieldSchema(),M=(0,import_react2.useRef)(C("Reference template")),O=(0,import_react2.useCallback)(()=>{$({refreshParentSchema:!0})},[$]),D=(0,import_react2.useMemo)(()=>{if(r){if(typeof r=="string")return[f(r)];if(Array.isArray(r))return r.length===1&&o["x-template-title"]?(M.current=C("Inherited template"),f([r[0],o["x-template-title"]])):f(r)}},[r,o]),{render:R,exists:L}=useSchemaSettingsRender(n||(o==null?void 0:o["x-settings"]),o==null?void 0:o["x-settings-props"]),{render:w,exists:j}=useSchemaInitializerRender(i||(o==null?void 0:o["x-initializer"]),o==null?void 0:o["x-initializer-props"]),B=useGridRowContext(),N=useGridContext(),E=(0,import_react2.useMemo)(()=>{var H;return{insertPosition:"afterEnd",wrap:((H=B==null?void 0:B.cols)==null?void 0:H.length)===1?gridRowColWrap:void 0,Component:J=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},J),{role:"button","aria-label":y("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[y,(t=B==null?void 0:B.cols)==null?void 0:t.length]),z=(0,import_react2.useMemo)(()=>m===!1||v===!1?null:(0,import_jsx_runtime.jsx)(DragHandler,{children:(0,import_jsx_runtime.jsx)(import_icons.DragOutlined,{role:"button","aria-label":y("drag-handler")})}),[m,y,v]),U=(0,import_react2.useMemo)(()=>{var H;if(i===!1)return null;if(j)return w(E);if(N!=null&&N.InitializerComponent||N!=null&&N.renderSchemaInitializer)return N!=null&&N.InitializerComponent?(0,import_jsx_runtime.jsx)(N.InitializerComponent,x({},E)):(H=N.renderSchemaInitializer)==null?void 0:H.call(N,E)},[N,i,E,j,w]),V=(0,import_react2.useMemo)(()=>n!==!1&&L?R():null,[L,R,n]),G=(0,import_react2.useRef)(null),Y="hidden";(0,import_react2.useEffect)(()=>{const H=G.current;let J=H==null?void 0:H.parentElement;for(;J&&J.clientHeight===0;)J=J.parentElement;const X=_||J;if(!X)return;function Q(){var ee;H&&(H.classList.remove(Y),(ee=e.onVisibleChange)==null||ee.call(e,!0))}function oe(){var ee;H&&(H.classList.add(Y),(ee=e.onVisibleChange)==null||ee.call(e,!1))}return X.addEventListener("mouseenter",Q),X.addEventListener("mouseleave",oe),()=>{X.removeEventListener("mouseenter",Q),X.removeEventListener("mouseleave",oe)}},[e.onVisibleChange,_]);const K=(0,import_react2.useMemo)(()=>x({border:u?"auto":0,background:a?"auto":0},g),[a,u,g]);return(0,import_jsx_runtime.jsxs)("div",{ref:G,className:(0,import_classnames.default)(b,S,h,"schema-toolbar",Y),style:K,children:[D&&(0,import_jsx_runtime.jsx)("div",{className:"toolbar-title",children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:2,children:[(0,import_jsx_runtime.jsx)("span",{className:"toolbar-title-tag",children:k?`${f(k==null?void 0:k.displayName)} > ${D[0]}`:D[0]},D[0]),D[1]&&(0,import_jsx_runtime.jsx)("span",{className:"toolbar-title-tag",children:`${M.current}: ${`${D[1]}`||C("Untitled")}`})]})}),(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("toolbar-icons",l),style:c,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,align:"center",className:d,style:p,children:[z,(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:O,children:U}),V]})})]})});InternalSchemaToolbar.displayName="InternalSchemaToolbar";const SchemaToolbarVisibleContext=(0,import_react2.createContext)(!1),SchemaToolbar=import_react2.default.memo(e=>{const{designable:t}=useDesignable(),[o,r]=(0,import_react2.useState)(!1),i=(0,import_react2.useCallback)(n=>{(0,import_react2.startTransition)(()=>{r(n)})},[]);return t?(0,import_jsx_runtime.jsx)(SchemaToolbarVisibleContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(InternalSchemaToolbar,P(x({},e),{onVisibleChange:i}))}):null});SchemaToolbar.displayName="SchemaToolbar";const ActionSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:!1,showBorder:!1,showBackground:!0},e)),BlockSchemaToolbar=e=>{const{t}=(0,import_react_i18next.useTranslation)(),o=useCollectionManager();let{name:r,title:i}=useCollection()||{};const n=useSchemaTemplate(),{association:a,collection:l}=useDataBlockProps()||{},c=useCompile(),{isMobileLayout:u}=useMobileLayout();if(a){const[g]=a.split("."),{name:_,title:f}=o.getCollection(g);r=_,i=f}const m=o.getCollectionField(a),d=o.getCollection(l||(m==null?void 0:m.target)),p=["FormItem","ReadPrettyFormItem"].includes(n==null?void 0:n.componentName)?`${n==null?void 0:n.name} ${t("(Fields only)")}`:n==null?void 0:n.name,h=(0,import_react2.useMemo)(()=>[getCollectionTitle({collectionTitle:i,collectionName:r,associationField:m,associationCollection:d,compile:c}),p].filter(Boolean),[i,r,m,d,c,p]);return(0,import_jsx_runtime.jsx)(SchemaToolbar,P(x({title:h},e),{draggable:!u}))};function getCollectionTitle(e){var t;const{collectionTitle:o,collectionName:r,associationField:i,compile:n,associationCollection:a}=e;return i?`${n(o||r)} > ${n(((t=i.uiSchema)==null?void 0:t.title)||i.name)} (${n((a==null?void 0:a.title)||(a==null?void 0:a.name))})`:n(o||r)}const useDetailsWithPaginationBlockParams=e=>{const{params:t}=e,{filter:o,parseVariableLoading:r}=useParsedFilter({filterOption:t==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>P(x({},t),{filter:o}),[JSON.stringify(o)]),parseVariableLoading:r}};function useDetailsWithPaginationDecoratorProps(e){let t;const{params:o,parseVariableLoading:r}=useDetailsWithPaginationBlockParams(e);return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t,params:o,parseVariableLoading:r}}const DetailsBlockContext=(0,import_react2.createContext)({});DetailsBlockContext.displayName="DetailsBlockContext";const InternalDetailsBlockProvider=e=>{var t,o,r;const{action:i,readPretty:n}=e,a=(0,import_react.useField)(),l=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({readPretty:n}),[n]),c=useCollection(),{resource:u,service:m}=useBlockRequestContext(),d=useCollectionParentRecord(),p=(i==="list"?(o=(t=m==null?void 0:m.data)==null?void 0:t.data)==null?void 0:o[0]:(r=m==null?void 0:m.data)==null?void 0:r.data)||{},h=(0,import_react2.useRef)(),g=(0,import_react2.useMemo)(()=>({action:i,form:l,field:a,service:m,resource:u,formBlockRef:h}),[i,a,l,u,m]);return m.loading&&!a.loaded?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(a.loaded=!0,(0,import_jsx_runtime.jsx)(CurrentRecordContextProvider,{recordData:p,collectionName:c==null?void 0:c.name,children:(0,import_jsx_runtime.jsx)(DetailsBlockContext.Provider,{value:g,children:(0,import_jsx_runtime.jsx)("div",{ref:h,children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!1,record:p,parent:d==null?void 0:d.data,children:e.children})})})}))},useCompatDetailsBlockParams=e=>{const t=(0,import_react.useFieldSchema)();let o,r=!1;if(t["x-use-decorator-props"])o=e==null?void 0:e.params,r=e==null?void 0:e.parseVariableLoading;else{const i=useDetailsWithPaginationBlockParams(e);o=i.params,r=i.parseVariableLoading}return{params:o,parseVariableLoading:r}},DetailsBlockProvider=withDynamicSchemaProps(e=>{const{params:t,parseVariableLoading:o}=useCompatDetailsBlockParams(e),r=useCollectionRecordData(),{association:i,action:n}=e,{__collection:a}=r||{},{designable:l}=useDesignable(),c=e.collection;let u=!0;!l&&a&&n==="get"&&!i&&(u=a===c);const m=(0,import_ahooks.useUpdate)();return!u||o?null:(0,import_jsx_runtime.jsx)(TemplateBlockProvider,{onTemplateLoaded:m,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"details"},e),{params:t,children:(0,import_jsx_runtime.jsx)(InternalDetailsBlockProvider,x({},e))}))})}),useDetailsBlockContext=()=>(0,import_react2.useContext)(DetailsBlockContext),useDetailsBlockProps=()=>{var e,t;const o=useDetailsBlockContext();return(0,import_react2.useEffect)(()=>{var r,i,n,a,l;if(!o.service.loading){const c=o.action==="list"?(n=(i=(r=o.service)==null?void 0:r.data)==null?void 0:i.data)==null?void 0:n[0]:(l=(a=o.service)==null?void 0:a.data)==null?void 0:l.data;o.form.reset().then(()=>{o.form.setInitialValues(c||{}),o.form.setValues(c||{})}).catch(console.error)}},[o.action,o.form,(t=(e=o.service)==null?void 0:e.data)==null?void 0:t.data,o.service.loading]),{form:o.form}};function useDetailsWithPaginationProps(){return useDetailsBlockProps()}function useDetailsDecoratorProps(e){const t=useParamsFromRecord(e);let o;return e.association&&(o=useDetailsParentRecord(e.association)),{params:t,parentRecord:o}}function useDetailsParentRecord(e){const t=(0,import_react.useFieldSchema)(),o=useCollectionRecordData(),r=useCollectionParentRecordData();if(e)return t["x-is-current"]?r:o}function useDetailsProps(){return useDetailsBlockProps()}const FormItemSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({showBorder:!1,showBackground:!0},e)),useHiddenForInherit=e=>{const t=useRecord(),{collection:o,isCusomeizeCreate:r,hidden:i}=e,{__collection:n}=t,a=useCollection(),{designable:l}=useDesignable(),c=useIsDetailBlock();if(!a)return{hidden:i||!1};let u=!1;c&&(u=!0,!l&&n&&(u=n===o));const m=a.name===((o==null?void 0:o.name)||o)&&!c||!a.name||!o;return{hidden:i||!u&&!m&&!r}};function useCreateFormBlockDecoratorProps(e){let t;const{hidden:o}=useHiddenForInherit(e);return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t,hidden:o}}function useCreateFormBlockProps(){return useFormBlockProps$1()}function useEditFormBlockDecoratorProps(e){const t=useFormBlockParams(e);let o;const{hidden:r}=useHiddenForInherit(e);return e.association&&(o=useDetailsParentRecord(e.association)),{params:t,parentRecord:o,hidden:r}}function useFormBlockParams(e){return useParamsFromRecord(e)}function useEditFormBlockProps(){return useFormBlockProps$1()}function useDataFormItemProps(){const e=useCollectionRecordData(),{form:t}=useFormBlockContext(),o=useSubFormValue(),{valueMap:r}=useSatisfiedActionValues({category:"style",formValues:(o==null?void 0:o.formValue)||(t==null?void 0:t.values)||e,form:t});return{wrapperStyle:r}}function useGridCardBlockParams(e){const{params:t}=e,{filter:o,parseVariableLoading:r}=useParsedFilter({filterOption:t==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>P(x({},t),{filter:o}),[o,t]),parseVariableLoading:r}}function useGridCardBlockDecoratorProps(e){const{params:t,parseVariableLoading:o}=useGridCardBlockParams(e);let r;return e.association&&(r=useParentRecordCommon(e.association)),{params:t,parentRecord:r,parseVariableLoading:o}}function useGridCardBlockItemProps(){return{}}function useGridCardBlockProps(){return{}}function useListBlockDecoratorProps(e){let t;return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t}}function useListBlockProps(){return{}}function useTableSelectorDecoratorProps(){}const useDragEnd=e=>{const{refresh:t}=useDesignable(),o=useAPIClient(),{t:r}=(0,import_react_i18next.useTranslation)();return(0,import_react2.useCallback)(i=>{var n,a,l,c,u,m,d,p,h,g,_,f,v,b,S;const{active:C,over:y}=i,F=(a=(n=C==null?void 0:C.data)==null?void 0:n.current)==null?void 0:a.schema,I=(c=(l=y==null?void 0:y.data)==null?void 0:l.current)==null?void 0:c.schema,T=(m=(u=y==null?void 0:y.data)==null?void 0:u.current)==null?void 0:m.insertAdjacent,k=(p=(d=y==null?void 0:y.data)==null?void 0:d.current)==null?void 0:p.breakRemoveOn,$=(g=(h=y==null?void 0:y.data)==null?void 0:h.current)==null?void 0:g.wrapSchema,M=(f=(_=y==null?void 0:y.data)==null?void 0:_.current)==null?void 0:f.onSuccess,O=(S=(b=(v=y==null?void 0:y.data)==null?void 0:v.current)==null?void 0:b.removeParentsIfNoChildren)!=null?S:!0;if(!F||!I){e==null||e(i);return}if(F===I){e==null||e(i);return}if(F.parent===I&&T==="beforeEnd"){e==null||e(i);return}const D=createDesignable({t:r,api:o,refresh:({refreshParentSchema:R=!0}={})=>t({refreshParentSchema:R}),current:I});if(D.loadAPIClientEvents(),F.parent===I.parent){D.insertBeforeBeginOrAfterEnd(F),e==null||e(i);return}if(T){D.insertAdjacent(T,F,{wrap:$,breakRemoveOn:k,removeParentsIfNoChildren:O,onSuccess:M}),e==null||e(i);return}},[o,e,t,r])},InternalDndContext=import_react2.default.memo(e=>{const{t}=(0,import_react_i18next.useTranslation)(),[o,r]=(0,import_react2.useState)(!0),i=(0,import_react2.useCallback)(a=>{var l,c,u;const{active:m}=a,d=(c=(l=m==null?void 0:m.data)==null?void 0:l.current)==null?void 0:c.schema;r(!!d),e!=null&&e.onDragStart&&((u=e==null?void 0:e.onDragStart)==null||u.call(e,a))},[e==null?void 0:e.onDragStart]),n=useDragEnd(e==null?void 0:e.onDragEnd);return(0,import_jsx_runtime.jsxs)(import_core2.DndContext,P(x({collisionDetection:import_core2.rectIntersection},e),{onDragStart:i,onDragEnd:n,children:[(0,import_jsx_runtime.jsx)(import_core2.DragOverlay,{dropAnimation:{duration:10,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:o&&(0,import_jsx_runtime.jsx)("span",{style:{whiteSpace:"nowrap"},children:t("Dragging")})}),e.children]}))});InternalDndContext.displayName="InternalDndContext";const DndContext=e=>(0,import_jsx_runtime.jsx)(InternalDndContext,x({},e)),useStyles$f=genStyleHook("nb-grid-in-css-in-js",e=>{const{componentCls:t}=e,o=e.marginBlock===e.marginLG?" !important":"";return{[t]:{position:"relative",".ColDivider":{flexShrink:0,width:`${e.marginBlock}px${o}`},".DraggableNode":{"&::before":{content:'" "',width:"100%",height:"100%",position:"absolute",cursor:"col-resize"},"&:hover":{"&::before":{background:"var(--colorBgSettingsHover) !important"}},width:`${e.marginBlock}px${o}`,height:"100%",position:"absolute",cursor:"col-resize"},".RowDivider":{height:`${e.marginBlock}px${o}`,width:"100%",position:"absolute",marginTop:`calc(-1 * ${e.marginBlock}px)${o}`},".CardRow":{display:"flex",position:"relative"},".showDivider":{margin:`0 calc(-1 * ${e.marginBlock}px)${o}`},".nb-grid-warp > button:last-child":{marginBottom:`${e.marginBlock}px`},".nb-grid-warp .nb-grid-warp > button:last-child":{marginBottom:`${e.margin}px`}}}}),GridRowContext=(0,import_react2.createContext)({});GridRowContext.displayName="GridRowContext";const GridColContext=(0,import_react2.createContext)({});GridColContext.displayName="GridColContext";const GridContext=(0,import_react2.createContext)({});GridContext.displayName="GridContext";const breakRemoveOnGrid=e=>e["x-component"]==="Grid",breakRemoveOnRow=e=>e["x-component"]==="Grid.Row",ColDivider=e=>{var t,o,r;const{token:i}=useToken$1(),n=(0,import_react2.useRef)(null),{dn:a,designable:l}=useDesignable(),{isOver:c,setNodeRef:u}=(0,import_core2.useDroppable)({id:e.id,data:e.data,disabled:!l}),m=(0,import_react2.useRef)(),d=(0,import_react2.useMemo)(()=>c?{backgroundColor:new import_tinycolor.TinyColor(i.colorSettings).setAlpha(.1).toHex8String()}:{},[c]),p=(r=(o=(t=(0,import_core2.useDndContext)().active)==null?void 0:t.data.current)==null?void 0:o.schema)==null?void 0:r.parent,h=(0,import_react2.useMemo)(()=>p?Object.keys(p.properties).length:0,[p]);let g=!0;if(h===1)if(e.first)g=p!==e.cols[0];else{const T=e.cols[e.index],k=e.cols[e.index+1];g=p!==T&&k!==p}const _=e.cols[e.index],f=e.cols[e.index+1],v=e.first||e.last||!l,{attributes:b,listeners:S,setNodeRef:C,isDragging:y}=(0,import_core2.useDraggable)({disabled:v,id:e.id,data:{dividerRef:m,prevSchema:_,nextSchema:f},attributes:{tabIndex:v?-1:0}}),[F,I]=(0,import_react2.useState)([0,0]);return(0,import_core2.useDndMonitor)({onDragStart(T){var k,$,M;const O=(M=($=(k=T.active)==null?void 0:k.data)==null?void 0:$.current)==null?void 0:M.dividerRef;if(!O||!l)return;n.current=T.active.id;const D=O.current,R=D.previousElementSibling,L=D.nextElementSibling;I([R.clientWidth,L.clientWidth])},onDragMove(T){if(!l||!y)return;n.current===T.active.id&&(n.current=n.current+"_move");const k=m.current,$=k.previousElementSibling,M=k.nextElementSibling;$.style.width=`${F[0]+T.delta.x}px`,M.style.width=`${F[1]-T.delta.x}px`},onDragEnd(T){var k;if(!l||!n.current||(k=n.current)!=null&&k.startsWith(T.active.id)&&!n.current.endsWith("_move")||F[0]<=0||F[1]<=0||(I([0,0]),!_||!f))return;const $=m.current,M=$.previousElementSibling,O=$.nextElementSibling;_["x-component-props"]=_["x-component-props"]||{},f["x-component-props"]=f["x-component-props"]||{};const D=$.clientWidth*(e.cols.length+1)/e.cols.length,R=(100*(M.getBoundingClientRect().width+D)/$.parentElement.clientWidth).toFixed(2),L=(100*(O.getBoundingClientRect().width+D)/$.parentElement.clientWidth).toFixed(2);import_lodash.default.set(_,"x-component-props.width",R),import_lodash.default.set(f,"x-component-props.width",L),a.emit("batchPatch",{schemas:[{"x-uid":_["x-uid"],"x-component-props":x({},_["x-component-props"])},{"x-uid":f["x-uid"],"x-component-props":x({},f["x-component-props"])}]})}}),(0,import_jsx_runtime.jsx)("div",{ref:T=>{g&&(u(T),m.current=T)},className:(0,import_classnames.default)("nb-col-divider","ColDivider"),style:d,children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:C},S),b),{className:e.first||e.last||!l?null:"DraggableNode"}))})},RowDivider=import_react2.default.memo(e=>{var t,o,r;const{token:i}=useToken$1(),{designable:n}=useDesignable(),{isOver:a,setNodeRef:l}=(0,import_core2.useDroppable)({id:e.id,data:e.data,disabled:!n}),[c,u]=(0,import_react2.useState)(!1),m=(0,import_react2.useMemo)(()=>a?{zIndex:c?1e3:-1,backgroundColor:new import_tinycolor.TinyColor(i.colorSettings).setAlpha(.1).toHex8String()}:{zIndex:c?1e3:-1},[c,a]),d=(0,import_core2.useDndContext)(),p=e.rows[e.index],h=(r=(o=(t=d.active)==null?void 0:t.data.current)==null?void 0:o.schema)==null?void 0:r.parent.parent,g=(0,import_react2.useMemo)(()=>h==null?void 0:h.mapProperties(f=>f["x-component"]==="Grid.Col").filter(Boolean).length,[h]);let _=!0;if(g===1)if(e.first)_=h!==e.rows[0];else{const f=e.rows[e.index+1];_=h!==p&&f!==h}return(0,import_core2.useDndMonitor)({onDragStart(f){n&&u(!0)},onDragMove(f){},onDragOver(f){},onDragEnd(f){n&&u(!1)},onDragCancel(f){n&&u(!1)}}),(0,import_jsx_runtime.jsx)("span",{ref:_?l:null,className:(0,import_classnames.default)("nb-row-divider","RowDivider"),style:m})});RowDivider.displayName="RowDivider";const wrapRowSchema=e=>{const t=new import_react.Schema({type:"void",name:`row_${(0,import_shared.uid)()}`,"x-uid":(0,import_shared.uid)(),"x-component":"Grid.Row"}),o=t.addProperty((0,import_shared.uid)(),{type:"void","x-uid":(0,import_shared.uid)(),"x-component":"Grid.Col"});return import_react.Schema.isSchemaInstance(e)&&(e.parent=o),o.addProperty(e.name,e),t},wrapColSchema=e=>{const t=new import_react.Schema({type:"void",name:`col_${(0,import_shared.uid)()}`,"x-uid":(0,import_shared.uid)(),"x-component":"Grid.Col"});return import_react.Schema.isSchemaInstance(e)&&(e.parent=t),t.addProperty(e.name,e),t},useRowProperties=()=>{const e=(0,import_react.useFieldSchema)();return(0,import_react2.useMemo)(()=>e.reduceProperties((t,o)=>(o["x-component"]==="Grid.Row"&&!o["x-hidden"]&&t.push(o),t),[]),[e])},useColProperties=()=>{const e=(0,import_react.useFieldSchema)();return(0,import_react2.useMemo)(()=>e.reduceProperties((t,o)=>(o["x-component"]==="Grid.Col"&&!o["x-hidden"]&&t.push(o),t),[]),[e])},DndWrapper=e=>e.dndContext===!1?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}):(0,import_jsx_runtime.jsx)(DndContext,P(x({},e.dndContext),{children:e.children})),useGridContext=()=>(0,import_react2.useContext)(GridContext),useGridRowContext=()=>(0,import_react2.useContext)(GridRowContext),getRowDividerData=import_lodash.default.memoize((e,t)=>({breakRemoveOn:breakRemoveOnGrid,wrapSchema:wrapRowSchema,insertAdjacent:t,schema:e})),Grid=(0,import_react.observer)(e=>{const{distributed:t,showDivider:o=!0}=e,r=(0,import_react2.useRef)(null),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{render:a}=useSchemaInitializerRender(n["x-initializer"],n["x-initializer-props"]),l=(0,import_react2.useCallback)(b=>a(b),[]),c=i.address.toString(),u=useRowProperties(),{setPrintContent:m}=useFormBlockContext(),{componentCls:d,hashId:p}=useStyles$f(),h=t===void 0?(n==null?void 0:n.parent["x-component"])==="Page"||(n==null?void 0:n.parent["x-component"])==="Tabs.TabPane":t;(0,import_react2.useEffect)(()=>{r.current&&(m==null||m(r.current))},[m]);const g=(0,import_react2.useMemo)(()=>({ref:r,fieldSchema:n,renderSchemaInitializer:a,InitializerComponent:l,showDivider:o}),[n,a,l,o]),_=useRefreshFieldSchema(),f=useRefreshComponent(),v=(0,import_react2.useCallback)(()=>{_==null||_(),f==null||f()},[f,_]);return(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:v,children:(0,import_jsx_runtime.jsx)(FilterBlockProvider,{children:(0,import_jsx_runtime.jsx)(GridContext.Provider,{value:g,children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("nb-grid-container"),children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`nb-grid ${d} ${p}`),ref:r,children:(0,import_jsx_runtime.jsxs)("div",{className:"nb-grid-warp",children:[(0,import_jsx_runtime.jsxs)(DndWrapper,{dndContext:e.dndContext,children:[o?(0,import_jsx_runtime.jsx)(RowDivider,{rows:u,first:!0,id:`${c}_0`,data:getRowDividerData(n,"afterBegin")}):null,u.map((b,S)=>(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[h?(0,import_jsx_runtime.jsx)(SchemaComponent,{name:b.name,schema:b,distributed:!0}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:b.name,schema:b,isUseFormilyField:!0}),o?(0,import_jsx_runtime.jsx)(RowDivider,{rows:u,index:S,id:`${c}_${S+1}`,data:getRowDividerData(b,"afterEnd")}):null]},S))]}),a()]})})})})})})},{displayName:"Grid"});Grid.Row=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=e.address.toString(),r=useColProperties(),{showDivider:i}=useGridContext(),n=(0,import_react2.useMemo)(()=>({schema:t,cols:r}),[t,r]);return(0,import_jsx_runtime.jsx)(GridRowContext.Provider,{value:n,children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)("nb-grid-row","CardRow",{showDivider:i}),children:[i&&(0,import_jsx_runtime.jsx)(ColDivider,{cols:r,first:!0,id:`${o}_0`,data:{breakRemoveOn:breakRemoveOnRow,wrapSchema:wrapColSchema,insertAdjacent:"afterBegin",schema:t}}),r.map((a,l)=>(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:a.name,schema:a,isUseFormilyField:!0}),i&&(0,import_jsx_runtime.jsx)(ColDivider,{cols:r,index:l,last:l===r.length-1,id:`${o}_${l+1}`,data:{breakRemoveOn:breakRemoveOnRow,wrapSchema:wrapColSchema,insertAdjacent:"afterEnd",schema:a}})]},l))]})})},{displayName:"Grid.Row"});Grid.Col=(0,import_react.observer)(e=>{const{cols:t=[]}=(0,import_react2.useContext)(GridRowContext),{showDivider:o}=useGridContext(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{token:n}=useToken$1(),{designable:a}=useDesignable(),l=(0,import_react2.useMemo)(()=>{var _;let f="";return t!=null&&t.length&&(f=`calc(${((_=r==null?void 0:r["x-component-props"])==null?void 0:_.width)||100/t.length}% - ${n.marginBlock}px * ${(o?t.length+1:0)/t.length})`),{width:f}},[t.length,r,o,n.marginBlock]),{isOver:c,setNodeRef:u}=(0,import_core2.useDroppable)({id:i.address.toString(),data:{insertAdjacent:"beforeEnd",schema:r,wrapSchema:_=>_},disabled:!a}),[m,d]=(0,import_react2.useState)(!1),p=(0,import_react2.useMemo)(()=>c?{background:`linear-gradient(to top, ${new import_tinycolor.TinyColor(n.colorSettings).setAlpha(.1).toHex8String()} 20%, transparent 20%)`,borderTopRightRadius:"10px",borderTopLeftRadius:"10px",height:"100%"}:{height:"100%"},[m,c]);(0,import_core2.useDndMonitor)({onDragStart(_){a&&d(!0)},onDragMove(_){},onDragOver(_){},onDragEnd(_){a&&d(!1)},onDragCancel(_){a&&d(!1)}});const h=(0,import_react2.useMemo)(()=>({cols:t,schema:r}),[t,r]),g=(0,import_react2.useMemo)(()=>x(x({},l),p),[p,l]);return(0,import_jsx_runtime.jsx)(GridColContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)("div",{ref:u,style:g,className:(0,import_classnames.default)("nb-grid-col",e.className),children:e.children})})},{displayName:"Grid.Col"});Grid.wrap=e=>({type:"void","x-component":"Grid.Row",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Grid.Col",properties:{[e.name||(0,import_shared.uid)()]:e}}}});const TableColumnSchemaToolbar=import_react2.default.memo(e=>(0,import_jsx_runtime.jsx)(GridRowContext.Provider,{value:null,children:(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:e.initializer||!1,showBorder:!1,showBackground:!0},import_lodash.default.omit(e,"initializer")))}));TableColumnSchemaToolbar.displayName="TableColumnSchemaToolbar";const useTableBlockProps=()=>{var e,t,o,r,i,n;const a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useDataBlockResource(),u=useDataBlockRequest(),{getDataBlocks:m}=useFilterBlock(),d=useTableBlockContextBasicValue(),p=(0,import_react2.useRef)(null);p.current={service:u,resource:c};const h=((e=u==null?void 0:u.data)==null?void 0:e.meta)||{},g=useTableElementRef(),_=(0,import_react2.useCallback)(()=>{var b;g!=null&&g.current&&((b=g.current.parentElement)==null||b.scrollIntoView({block:"start"}))},[g]),f=(0,import_react2.useMemo)(()=>({pageSize:h==null?void 0:h.pageSize,total:h==null?void 0:h.count,current:h==null?void 0:h.page,onChange:_}),[h==null?void 0:h.count,h==null?void 0:h.page,h==null?void 0:h.pageSize,_]),v=((t=u==null?void 0:u.data)==null?void 0:t.data)||[];return(0,import_react2.useEffect)(()=>{var b,S;if(!(u!=null&&u.loading)){const C=(S=(b=d.field)==null?void 0:b.data)==null?void 0:S.selectedRowKeys;a.data=a.data||{},(0,import_lodash.isEqual)(a.data.selectedRowKeys,C)||(a.data.selectedRowKeys=C)}},[a,u==null?void 0:u.data,u==null?void 0:u.loading,(r=(o=d.field)==null?void 0:o.data)==null?void 0:r.selectedRowKeys]),{optimizeTextCellRender:!0,value:v,childrenColumnName:d.childrenColumnName,loading:u==null?void 0:u.loading,showIndex:d.showIndex,dragSort:d.dragSort&&d.dragSortBy,rowKey:d.rowKey||((i=l==null?void 0:l["x-component-props"])==null?void 0:i.rowKey)||"id",pagination:((n=l==null?void 0:l["x-component-props"])==null?void 0:n.pagination)===!1?!1:f,onRowSelectionChange:(0,import_react2.useCallback)((b,S)=>{var C,y,F;d&&(d.field.data=((C=d.field)==null?void 0:C.data)||{},d.field.data.selectedRowKeys=b,d.field.data.selectedRowData=S,(F=(y=d.field)==null?void 0:y.onRowSelect)==null||F.call(y,b))},[]),onRowDragEnd:(0,import_react2.useCallback)(b=>q(void 0,[b],function*({from:S,to:C}){yield p.current.resource.move({sourceId:S[d.rowKey||"id"],targetId:C[d.rowKey||"id"],sortField:d.dragSort&&d.dragSortBy}),p.current.service.refresh()}),[d.rowKey,d.dragSort,d.dragSortBy]),onChange:(0,import_react2.useCallback)(({current:b,pageSize:S},C,y)=>{var F,I,T,k,$,M,O,D,R,L;const w=(T=(I=(F=l.parent)==null?void 0:F["x-decorator-props"])==null?void 0:I.params)==null?void 0:T.sort,j=y.order?y.order==="ascend"?[y.field]:[`-${y.field}`]:w||d.dragSortBy,B=S||((M=($=(k=l.parent)==null?void 0:k["x-decorator-props"])==null?void 0:$.params)==null?void 0:M.pageSize),N=P(x({},(R=(D=(O=p.current)==null?void 0:O.service)==null?void 0:D.params)==null?void 0:R[0]),{page:b||1,pageSize:B});j&&(N.sort=j),(L=p.current)==null||L.service.run(N)},[l.parent]),onClickRow:(0,import_react2.useCallback)((b,S,C)=>{const{targets:y,uid:F}=findFilterTargets(l),I=m();if(!y||!y.some(k=>I.some($=>$.uid===k.uid))){S(k=>k.length?[]:k);return}const T=I.find(k=>k.uid===l.parent["x-uid"]);I.forEach(k=>{var $,M,O,D;const R=y.find(E=>E.uid===k.uid);if(!R)return;const L=getSourceKey(T,R.field)||d.rowKey||"id",w=[b[L]],j=(($=k.service.params)==null?void 0:$[0])||{},B=((O=(M=k.service.params)==null?void 0:M[1])==null?void 0:O.filters)||{};if(C.includes(b[d.rowKey])){if((D=k.clearSelection)==null||D.call(k),k.dataLoadingMode==="manual")return k.clearData();delete B[F]}else B[F]={$and:[{[R.field||d.rowKey]:{[R.field?"$in":"$eq"]:w}}]};const N=mergeFilter([...Object.values(B).map(E=>removeNullCondition(E)),k.defaultFilter]);return k.doFilter(P(x({},j),{page:1,filter:N}),{filters:B})}),S(k=>k!=null&&k.includes(b[d.rowKey])?[]:[b[d.rowKey]])},[d.rowKey,l,m]),onExpand:(0,import_react2.useCallback)((b,S)=>{var C,y;(y=(C=d.field).onExpandClick)==null||y.call(C,b,S)},[])}};function getSourceKey(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 CollapseItemSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:!1},e));function useCollapseBlockDecoratorProps(){}function useFilterFormBlockDecoratorProps(){}function useFilterFormBlockProps(){return useFormBlockProps$1()}const useCollectOperator=()=>{const e=(0,import_react.useFieldSchema)(),{collectOperator:t,removeOperator:o}=useOperators();(0,import_react2.useEffect)(()=>()=>{o(e.name)},[e.name,o]),e["x-filter-operator"]&&t(e.name,e["x-filter-operator"])},useFormItemProps=()=>{useCollectOperator()},setFieldProps$1=(e,t,o)=>{(0,import_reactive.untracked)(()=>{e[t]===void 0&&(e[t]=o)})},setRequired$1=(e,t,o)=>{typeof t.required>"u"&&(e.required=!!o.required)},FilterCollectionFieldInternalField=e=>{var t,o,r,i,n,a;const l=useCompile(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),{getInterface:m}=useCollectionManager_deprecated(),{uiSchema:d,defaultValue:p,interface:h}=useCollectionField(),{isAllowToSetDefaultValue:g}=useIsAllowToSetDefaultValue(),_=m(h),f=((o=(t=_==null?void 0:_.filterable)==null?void 0:t.operators)==null?void 0:o.find((C,y)=>C.value===(u==null?void 0:u["x-filter-operator"])))||((i=(r=_==null?void 0:_.filterable)==null?void 0:r.operators)==null?void 0:i[0]),v=useComponent(((n=f==null?void 0:f.schema)==null?void 0:n["x-component"])||((a=u["x-component-props"])==null?void 0:a.component)||(d==null?void 0:d["x-component"])||"Input"),b=useFormBlockContext(),S=useDynamicComponentProps(d==null?void 0:d["x-use-component-props"],e);return(0,import_react2.useEffect)(()=>{var C;if(!d)return;const y=l(d);if(setFieldProps$1(c,"content",y["x-content"]),setFieldProps$1(c,"title",y.title),setFieldProps$1(c,"description",y.description),b!=null&&b.form){const I=g()?u.default||p:void 0;I!=null&&setFieldProps$1(c,"initialValue",I)}if(!c.validator&&(y["x-validator"]||u["x-validator"])){const I=(0,import_lodash.concat)([],y["x-validator"]||[],u["x-validator"]||[]);c.validator=I}u["x-disabled"]===!0&&(c.disabled=!0),u["x-read-pretty"]===!0&&(c.readPretty=!0),setRequired$1(c,u,y),c.dataSource=y.enum;const F=l(x(x(x({},((C=f==null?void 0:f.schema)==null?void 0:C["x-component-props"])||{}),y["x-component-props"]||{}),(u==null?void 0:u["x-component-props"])||{}))||{};c.componentProps=(0,import_shared.merge)(c.componentProps||{},F,S||{})},[d]),d?(0,import_jsx_runtime.jsx)(v,x(x({},e),S)):null},FilterCollectionField=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)();return(0,import_react.useField)(),(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback.Modal,onError:o=>console.log(o),children:(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:(0,import_jsx_runtime.jsx)(FilterCollectionFieldInternalField,x({},e))})})});FilterCollectionField.displayName="FilterCollectionField";const FilterFormBlockProvider=withDynamicSchemaProps(e=>{const t=(0,import_react.useFieldSchema)()["x-filter-operators"]||{};return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:{CollectionField:FilterCollectionField},children:(0,import_jsx_runtime.jsx)(CollectOperators,{defaultOperators:t,children:(0,import_jsx_runtime.jsx)(DatePickerProvider,{value:{utc:!1},children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:()=>!1,children:(0,import_jsx_runtime.jsx)(FormBlockProvider,P(x({name:"filter-form"},e),{confirmBeforeClose:!1}))})})})})}),FormFieldContext=(0,import_react2.createContext)({});FormFieldContext.displayName="FormFieldContext";const InternalFormFieldProvider=e=>{var t,o,r;const{action:i,readPretty:n,fieldName:a}=e,l=useFormBlockContext(),c=useCollectionParentRecordData();(t=l==null?void 0:l.updateAssociationValues)!=null&&t.includes(a)||(o=l==null?void 0:l.updateAssociationValues)==null||o.push(a);const u=(0,import_react.useField)(),m=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects(){(0,import_core.onFormValuesChange)(h=>{var g;(g=l==null?void 0:l.form)==null||g.setValuesIn(a,h.values)})},readPretty:n}),[]);(0,import_react2.useEffect)(()=>(0,import_reactive.autorun)(()=>{var h;const g=((h=l==null?void 0:l.form)==null?void 0:h.values[a])||{};m.reset(),(0,import_client.forEach)(g,(_,f)=>{_&&(m.values[f]=_)})}),[]);const{resource:d,service:p}=useBlockRequestContext();return p.loading?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(RecordProvider,{record:(r=p==null?void 0:p.data)==null?void 0:r.data,parent:c,children:(0,import_jsx_runtime.jsx)(FormFieldContext.Provider,{value:{action:i,form:m,field:u,service:p,resource:d,fieldName:a},children:e.children})})},WithoutFormFieldResource=(0,import_react2.createContext)(null);WithoutFormFieldResource.displayName="WithoutFormFieldResource";const FormFieldProvider=e=>(0,import_jsx_runtime.jsx)(WithoutFormFieldResource.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"form-field",block:"FormField"},e),{children:(0,import_jsx_runtime.jsx)(InternalFormFieldProvider,x({},e))}))}),useFormFieldContext=()=>(0,import_react2.useContext)(FormFieldContext),useFormFieldProps=()=>{const e=useFormFieldContext();return(0,import_react2.useEffect)(()=>{var t,o,r;(r=e==null?void 0:e.form)==null||r.setInitialValues((o=(t=e.service)==null?void 0:t.data)==null?void 0:o.data)},[]),{form:e.form}},TableFieldContext=(0,import_react2.createContext)({});TableFieldContext.displayName="TableFieldContext";const InternalTableFieldProvider=e=>{var t,o;const{params:r={},showIndex:i,dragSort:n,fieldName:a}=e,l=(0,import_react.useField)(),c=(0,import_react.useFieldSchema)(),{resource:u,service:m}=useBlockRequestContext(),d=useFormBlockContext(),p=useFormFieldContext(),h=p&&p.fieldName?`${p.fieldName}.${a}`:a;return(t=d==null?void 0:d.updateAssociationValues)!=null&&t.includes(h)||(o=d==null?void 0:d.updateAssociationValues)==null||o.push(h),(0,import_jsx_runtime.jsx)(TableFieldContext.Provider,{value:{field:l,fieldSchema:c,service:m,resource:u,params:r,showIndex:i,dragSort:n},children:e.children})};class TableFieldResource{constructor(t){A(this,"field"),A(this,"api"),A(this,"sourceId"),A(this,"resource"),this.field=t.field,this.api=t.api,this.sourceId=t.sourceId,this.resource=this.api.resource(t.resource,this.sourceId)}list(t){return q(this,null,function*(){if(this.field.data=this.field.data||{},this.field.data.changed)return console.log("list.dataSource",this.field.data.dataSource),{data:{data:this.field.data.dataSource}};if(!this.sourceId)return console.log("list.sourceId",this.field.data.dataSource),this.field.data.dataSource=[],{data:{data:[]}};const o=yield this.resource.list(t);return console.log("list",o),this.field.data.dataSource=o.data.data,{data:{data:o.data.data}}})}get(t){return q(this,null,function*(){console.log("get",t);const{filterByTk:o}=t;return{data:{data:this.field.data.dataSource[o]}}})}create(t){return q(this,null,function*(){console.log("create",t);const{values:o}=t;this.field.data.dataSource.push(o),this.field.data.changed=!0})}update(t){return q(this,null,function*(){console.log("update",t);const{filterByTk:o,values:r}=t;this.field.data.dataSource[o]=r,this.field.data.changed=!0})}destroy(t){return q(this,null,function*(){console.log("destroy",t);let{filterByTk:o}=t;Array.isArray(o)||(o=[o]),this.field.data.dataSource=this.field.data.dataSource.filter((r,i)=>!o.includes(i)),this.field.data.changed=!0})}}const WithoutTableFieldResource=(0,import_react2.createContext)(null);WithoutTableFieldResource.displayName="WithoutTableFieldResource";const TableFieldProvider=e=>(0,import_jsx_runtime.jsx)(WithoutTableFieldResource.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"table-field",block:"TableField"},e),{children:(0,import_jsx_runtime.jsx)(InternalTableFieldProvider,x({},e))}))}),useTableFieldContext=()=>(0,import_react2.useContext)(TableFieldContext),useTableFieldProps=()=>{var e,t,o,r,i,n,a,l;const c=(0,import_react.useField)(),u=useTableFieldContext();return(0,import_react2.useEffect)(()=>{var m,d,p,h,g;(m=u==null?void 0:u.service)!=null&&m.loading||(c.value=(p=(d=u==null?void 0:u.service)==null?void 0:d.data)==null?void 0:p.data,c.data=c.data||{},c.data.selectedRowKeys=(g=(h=u==null?void 0:u.field)==null?void 0:h.data)==null?void 0:g.selectedRowKeys)},[(t=(e=u==null?void 0:u.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys,(r=(o=u==null?void 0:u.service)==null?void 0:o.data)==null?void 0:r.data,(i=u==null?void 0:u.service)==null?void 0:i.loading,c]),{size:"middle",loading:(n=u==null?void 0:u.service)==null?void 0:n.loading,showIndex:u.showIndex,dragSort:u.dragSort,pagination:!1,required:(l=(a=u==null?void 0:u.fieldSchema)==null?void 0:a.parent)==null?void 0:l.required,rowKey:m=>{var d,p;return(p=(d=c.value)==null?void 0:d.indexOf)==null?void 0:p.call(d,m)},onRowSelectionChange(m,d){var p;u.field.data=((p=u==null?void 0:u.field)==null?void 0:p.data)||{},u.field.data.selectedRowKeys=m,u.field.data.selectedRowData=d},onChange({current:m,pageSize:d}){u.service.run({page:m,pageSize:d})}}},TableSelectorContext=(0,import_react2.createContext)({});TableSelectorContext.displayName="TableSelectorContext";const TableSelectorParamsContext=(0,import_react2.createContext)({});TableSelectorParamsContext.displayName="TableSelectorParamsContext";const useTableSelectorParams=()=>(0,import_react2.useContext)(TableSelectorParamsContext),TableSelectorParamsProvider=({params:e,children:t})=>{const o=useTableSelectorParams();try{e.filter=mergeFilter([o.filter,e.filter]),e=x(x({},o),e)}catch(r){console.error(r)}return(0,import_jsx_runtime.jsx)(TableSelectorParamsContext.Provider,{value:e,children:t})},InternalTableSelectorProvider=e=>{const{params:t,rowKey:o,extraFilter:r,expandFlag:i=!1}=e,n=(0,import_react.useField)(),{resource:a,service:l}=useBlockRequestContext(),[c,u]=(0,import_react2.useState)(i),m=useCollectionParentRecordData();return(0,import_jsx_runtime.jsx)(RecordProvider,{record:{},parent:m,children:(0,import_jsx_runtime.jsx)(TableSelectorContext.Provider,{value:{field:n,service:l,resource:a,params:t,extraFilter:r,rowKey:o,expandFlag:c,setExpandFlag:()=>{u(!c)}},children:e.children})})},recursiveParent=(e,t)=>e["x-component"]===t?e:e.parent&&(e==null?void 0:e["x-component"])!=="AssociationField.Viewer"?recursiveParent(e.parent,t):null,useAssociationNames$1=e=>{const{getCollectionFields:t}=useCollectionManager_deprecated(),o=t(e),r=new Set;for(const n of o)if(n.target){r.add(n.name);const a=t(n.target);for(const l of a)l.target&&r.add(`${n.name}.${l.name}`)}const i=(0,import_react.useFieldSchema)().reduceProperties((n,a)=>a["x-component"]==="TableV2.Selector"?a:n,new import_react.Schema({}));return(0,import_uniq.default)(i.reduceProperties((n,a)=>{if(a["x-component"]==="TableV2.Column"){const l=a.reduceProperties((c,u)=>{const[m]=u.name.split(".");return u["x-collection-field"]&&r.has(m)?u:c},null);if(l){const[c]=l.name.split(".");r.has(l.name)?n.push(l.name):r.has(c)&&n.push(c)}}return n},[]))},TableSelectorProvider=withDynamicSchemaProps(e=>{var t;const o=useTableSelectorParams(),r=(0,import_react.useFieldSchema)(),{getCollectionJoinField:i,getCollectionFields:n}=useCollectionManager_deprecated(),a=useRecord(),{getCollection:l}=useCollectionManager_deprecated(),{treeTable:c}=(r==null?void 0:r["x-decorator-props"])||{},u=recursiveParent(r,"CollectionField"),m=i(u==null?void 0:u["x-collection-field"]),d=l(m==null?void 0:m.collectionName),p=d==null?void 0:d.getPrimaryKey(),h=useAssociationNames$1(e.collection);let g=x({},e.params);e.dragSort&&(g.sort=["sort"]),(m==null?void 0:m.target)===(m==null?void 0:m.collectionName)&&d!=null&&d.tree&&c&&(g.tree=!0,u.name==="parent"&&(g.filter=P(x({},(t=g.filter)!=null?t:{}),{id:a[p]&&{$ne:a[p]}}))),Object.keys(g).includes("appends")||(g.appends=h);let _;if(m&&(["oho","o2m"].includes(m.interface)&&!isInFilterFormBlock(r)&&(a!=null&&a[m.sourceKey]?_={$or:[{[m.foreignKey]:{$is:null}},{[m.foreignKey]:{$eq:a==null?void 0:a[m.sourceKey]}}]}:_={[m.foreignKey]:{$is:null}}),["obo"].includes(m.interface)&&!isInFilterFormBlock(r))){const b=n(m.target).find(S=>S.foreignKey&&S.foreignKey===m.foreignKey);b&&(a!=null&&a[m.foreignKey]?_={$or:[{[`${b.name}.${b.foreignKey}`]:{$is:null}},{[`${b.name}.${b.foreignKey}`]:{$eq:a==null?void 0:a[m.foreignKey]}}]}:_={[`${b.name}.${b.foreignKey}`]:{$is:null}})}_&&(g!=null&&g.filter?g.filter={$and:[_,g.filter]}:g.filter=_);try{g.filter=mergeFilter([o.filter,g.filter]),g=x(x({},o),g)}catch(b){console.error(b)}const{filter:f,parseVariableLoading:v}=useParsedFilter({filterOption:g==null?void 0:g.filter});return!import_lodash.default.isEmpty(g==null?void 0:g.filter)&&import_lodash.default.isEmpty(f)||v?null:(g!=null&&g.filter&&(g.filter=f),(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{treeTable:c},children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"table-selector"},e),{params:g,children:(0,import_jsx_runtime.jsx)(InternalTableSelectorProvider,P(x({},e),{params:g,extraFilter:_}))}))}))}),useTableSelectorContext=()=>(0,import_react2.useContext)(TableSelectorContext),useTableSelectorProps$4=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,h,g,_;const f=(0,import_react.useField)(),v=useTableSelectorContext(),b=(0,import_react.useFieldSchema)(),{getCollectionJoinField:S}=useCollectionManager_deprecated(),C=recursiveParent(b,"CollectionField"),y=S(C==null?void 0:C["x-collection-field"]);return(0,import_react2.useEffect)(()=>{var F,I,T,k,$,M,O,D,R,L,w,j,B;if(!((F=v==null?void 0:v.service)!=null&&F.loading)){const N=(T=(I=v==null?void 0:v.service)==null?void 0:I.data)==null?void 0:T.data.map(E=>E);f.value=N,(k=f==null?void 0:f.setInitialValue)==null||k.call(f,N),f.data=f.data||{},f.data.selectedRowKeys=[],f.componentProps.pagination=f.componentProps.pagination||{},f.componentProps.pagination.pageSize=(O=(M=($=v==null?void 0:v.service)==null?void 0:$.data)==null?void 0:M.meta)==null?void 0:O.pageSize,f.componentProps.pagination.total=(L=(R=(D=v==null?void 0:v.service)==null?void 0:D.data)==null?void 0:R.meta)==null?void 0:L.count,f.componentProps.pagination.current=(B=(j=(w=v==null?void 0:v.service)==null?void 0:w.data)==null?void 0:j.meta)==null?void 0:B.page}},[y==null?void 0:y.foreignKey,(t=(e=v==null?void 0:v.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys,(r=(o=v==null?void 0:v.service)==null?void 0:o.data)==null?void 0:r.data,(a=(n=(i=v==null?void 0:v.service)==null?void 0:i.data)==null?void 0:n.meta)==null?void 0:a.count,(u=(c=(l=v==null?void 0:v.service)==null?void 0:l.data)==null?void 0:c.meta)==null?void 0:u.page,(p=(d=(m=v==null?void 0:v.service)==null?void 0:m.data)==null?void 0:d.meta)==null?void 0:p.pageSize,(h=v==null?void 0:v.service)==null?void 0:h.loading,f]),{loading:(g=v==null?void 0:v.service)==null?void 0:g.loading,showIndex:!1,dragSort:!1,rowKey:v.rowKey||"id",pagination:((_=b==null?void 0:b["x-component-props"])==null?void 0:_.pagination)===!1?!1:f.componentProps.pagination,onRowSelectionChange(F,I){var T;v.field.data=((T=v==null?void 0:v.field)==null?void 0:T.data)||{},v.field.data.selectedRowKeys=F,v.field.data.selectedRowData=I},onRowDragEnd(F){return q(this,arguments,function*({from:I,to:T}){yield v.resource.move({sourceId:I[v.rowKey||"id"],targetId:T[v.rowKey||"id"]}),v.service.refresh()})},onChange({current:F,pageSize:I}){var T;v.service.run(P(x({},(T=v.service.params)==null?void 0:T[0]),{page:F,pageSize:I}))}}},BlockSchemaComponentProvider=e=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:{TableFieldProvider,TableBlockProvider,TableSelectorProvider,FormBlockProvider,FilterFormBlockProvider,FormFieldProvider,DetailsBlockProvider,RecordLink,Slider:import_antd.Slider},scope:P(x({},bp),{useSourceIdFromRecord,useSourceIdFromParentRecord,useParamsFromRecord,useFormBlockProps:useFormBlockProps$1,useCreateFormBlockProps,useCreateFormBlockDecoratorProps,useEditFormBlockDecoratorProps,useEditFormBlockProps,useFormFieldProps,useDetailsBlockProps,useDetailsProps,useDetailsWithPaginationProps,useDetailsDecoratorProps,useDetailsWithPaginationDecoratorProps,useTableFieldProps,useTableBlockProps,useTableSelectorProps:useTableSelectorProps$4,useTableBlockDecoratorProps,useListBlockDecoratorProps,useListBlockProps,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,useGridCardBlockItemProps,useGridCardBlockProps,useFormItemProps,useDataFormItemProps}),children:e.children});class BlockSchemaComponentPlugin extends Plugin{load(){return q(this,null,function*(){this.addComponents(),this.addScopes()})}addComponents(){this.app.addComponents({TableFieldProvider,TableBlockProvider,TableSelectorProvider,FormBlockProvider,FilterFormBlockProvider,FormFieldProvider,DetailsBlockProvider,RecordLink,BlockSchemaToolbar,ActionSchemaToolbar,FormItemSchemaToolbar,CollapseItemSchemaToolbar,TableColumnSchemaToolbar,Slider:import_antd.Slider})}addScopes(){this.app.addScopes(P(x({},bp),{useSourceIdFromRecord,useSourceIdFromParentRecord,useParamsFromRecord,useFormBlockProps:useFormBlockProps$1,useCreateFormBlockProps,useCreateFormBlockDecoratorProps,useEditFormBlockDecoratorProps,useEditFormBlockProps,useFormFieldProps,useDetailsBlockProps,useDetailsProps,useDetailsWithPaginationProps,useDetailsDecoratorProps,useDetailsWithPaginationDecoratorProps,useTableFieldProps,useTableBlockProps,useTableSelectorProps:useTableSelectorProps$4,useTableBlockDecoratorProps,useListBlockDecoratorProps,useListBlockProps,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,useGridCardBlockProps,useGridCardBlockItemProps,useFormItemProps,useDataFormItemProps}))}}const uiSchemaTemplatesCollection={name:"uiSchemaTemplates",filterTargetKey:"key",targetKey:"key",fields:[{type:"integer",name:"name",interface:"input",uiSchema:{title:'{{ t("Template name") }}',type:"number","x-component":"Input",required:!0}}]},BlockTemplate=(0,import_react.observer)(e=>{const{templateId:t}=e,{getTemplateById:o}=useSchemaTemplateManager(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=(0,import_react2.useMemo)(()=>o(t),[t]),{onTemplateSuccess:l}=useTemplateBlockContext(),{isMobileLayout:c}=useMobileLayout(),u=m=>{var d,p;i["x-linkage-rules"]=((d=m==null?void 0:m.data)==null?void 0:d["x-linkage-rules"])||[],i.setProperties((p=m==null?void 0:m.data)==null?void 0:p.properties),l==null||l()};return a?(0,import_jsx_runtime.jsx)(BlockTemplateProvider,{dn:n,field:r,fieldSchema:i,template:a,children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{noForm:!0,uid:a==null?void 0:a.uid,onSuccess:u,schemaTransform:c?import_client.transformMultiColumnToSingleColumn:void 0})}):(0,import_jsx_runtime.jsx)(CollectionDeletedPlaceholder,{type:"Block template",name:t})},{displayName:"BlockTemplate"}),SchemaTemplateManagerContext=(0,import_react2.createContext)({});SchemaTemplateManagerContext.displayName="SchemaTemplateManagerContext";const regenerateUid=e=>{e.name=e["x-uid"]=(0,import_shared.uid)(),Object.keys(e.properties||{}).forEach(t=>{regenerateUid(e.properties[t])})},useSchemaTemplate=()=>{const{getTemplateBySchema:e}=useSchemaTemplateManager(),t=(0,import_react.useFieldSchema)(),o=t["x-uid"],r=t["x-template-key"];return(0,import_react2.useMemo)(()=>e(t),[o,r])},useSchemaTemplateManager=()=>{const{getInheritCollections:e}=useCollectionManager_deprecated(),{refresh:t,templates:o=[]}=(0,import_react2.useContext)(SchemaTemplateManagerContext),r=useAPIClient();return{templates:o,refresh:t,getTemplateSchemaByMode:(0,import_react2.useCallback)(i=>q(void 0,null,function*(){const{mode:n,template:a}=i;if(n==="copy"){const{data:l}=yield r.request({url:`/uiSchemas:getJsonSchema/${a.uid}?includeAsyncNode=true`}),c=(l==null?void 0:l.data)||{};return regenerateUid(c),(0,import_lodash.cloneDeep)(c)}else if(n==="reference")return{type:"void","x-component":"BlockTemplate","x-component-props":{templateId:a.key}}}),[r]),copyTemplateSchema:(0,import_react2.useCallback)(i=>q(void 0,null,function*(){const{data:n}=yield r.request({url:`/uiSchemas:getJsonSchema/${i.uid}?includeAsyncNode=true`}),a=(n==null?void 0:n.data)||{};return regenerateUid(a),(0,import_lodash.cloneDeep)(a)}),[r]),saveAsTemplate:(0,import_react2.useCallback)(i=>q(void 0,null,function*(){const{uid:n}=i,a=(0,import_shared.uid)();return yield r.resource("uiSchemas").saveAsTemplate({filterByTk:n,values:x({key:a},i)}),yield t(),{key:a}}),[r,t]),getTemplateBySchema:(0,import_react2.useCallback)(i=>{if(!i)return;const n=i["x-template-key"];if(n)return o==null?void 0:o.find(l=>l.key===n);const a=i["x-uid"];if(a)return o==null?void 0:o.find(l=>l.uid===a)},[o]),getTemplateBySchemaId:(0,import_react2.useCallback)(i=>i?o==null?void 0:o.find(n=>n.uid===i):null,[o]),getTemplateById:(0,import_react2.useCallback)(i=>o==null?void 0:o.find(n=>n.key===i),[o]),getTemplatesByCollection:(0,import_react2.useCallback)((i,n)=>{var a;const l=e(n,i).concat([n]);return((a=o==null?void 0:o.filter)==null?void 0:a.call(o,c=>(c.dataSourceKey||DEFAULT_DATA_SOURCE_KEY)===i&&l.includes(c.collectionName)))||[]},[e,o]),getTemplatesByComponentName:(0,import_react2.useCallback)(i=>{var n;return((n=o==null?void 0:o.filter)==null?void 0:n.call(o,a=>a.componentName===i))||[]},[o])}},options$1={resource:"uiSchemaTemplates",action:"list",params:{paginate:!1},refreshDeps:[]},RemoteSchemaTemplateManagerProvider=e=>{var t;const o=useAPIClient(),r=useRequest(options$1),i=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){const{data:a}=yield o.request(options$1);r.mutate(a)}),[o,r]),n=(0,import_react2.useMemo)(()=>{var a;return{templates:(a=r==null?void 0:r.data)==null?void 0:a.data,refresh:i}},[(t=r==null?void 0:r.data)==null?void 0:t.data,i]);return(0,import_jsx_runtime.jsx)(SchemaTemplateManagerContext.Provider,{value:n,children:e.children})};class RemoteSchemaTemplateManagerPlugin extends Plugin{load(){return q(this,null,function*(){this.addRoutes(),this.addComponents()})}addComponents(){this.app.addComponents({BlockTemplate})}addRoutes(){this.app.router.add("admin.plugins.block-templates-key",{path:"/admin/plugins/block-templates/:key",Component:"BlockTemplateDetails"})}}const CollectionTitle=e=>{const{dataSourceKey:t="main",collectionName:o}=useCollectionRecordData(),r=useDataSourceManager(),i=useCompile(),[n,a]=(0,import_react2.useMemo)(()=>{const l=r.getDataSource(t);if(l){const c=l.collectionManager.getCollection(o);return[l.displayName,(c==null?void 0:c.title)||o]}return[t,null]},[r,t,o]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[i(n)," ",">"," ",i(a)]})},useUpdateSchemaTemplateActionProps=()=>{const e=useUpdateActionProps(),{__parent:t}=useBlockRequestContext();return{onClick(){return q(this,null,function*(){var o,r;yield e.onClick(),(r=(o=t==null?void 0:t.service)==null?void 0:o.refresh)==null||r.call(o)})}}},useBulkDestroyTemplateProps=()=>{const e=useBulkDestroyActionProps(),t=useSchemaTemplateManager(),{service:o}=useBlockRequestContext();return{onClick(){return q(this,null,function*(){var r;yield e.onClick(),yield t.refresh(),(r=o==null?void 0:o.refresh)==null||r.call(o)})}}},useDestroyTemplateProps=()=>{const e=useDestroyActionProps(),{service:t}=useBlockRequestContext(),o=useSchemaTemplateManager();return{onClick(){return q(this,null,function*(){var r;yield e.onClick(),yield o.refresh(),(r=t==null?void 0:t.refresh)==null||r.call(t)})}}},uiSchemaTemplatesSchema={type:"object",properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"TableBlockProvider","x-decorator-props":{collection:uiSchemaTemplatesCollection,resource:"uiSchemaTemplates",action:"list",params:{pageSize:20,sort:["-createdAt"]},rowKey:"key",showIndex:!0,dragSort:!1},"x-component":"CardItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action","x-use-component-props":useBulkDestroyTemplateProps,"x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}},[(0,import_shared.uid)()]:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowSelection:{type:"checkbox"}},properties:{column1:{type:"void",title:'{{ t("Title") }}',"x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-collection-field":"uiSchemaTemplates.name","x-component":"CollectionField","x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},column2:{type:"void",title:'{{t("Collection display name")}}',"x-component":"TableV2.Column",properties:{"collection.title":{type:"string","x-component":CollectionTitle,"x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-component":"TableV2.Column",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-component":"Action.Link","x-component-props":{openMode:"drawer",refreshDataBlockRequest:!1},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{form:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:"uiSchemaTemplates",collection:uiSchemaTemplatesCollection,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":"uiSchemaTemplates.name",required:!0},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{submit:{title:'{{t("Submit")}}',"x-action":"submit","x-component":"Action","x-use-component-props":useUpdateSchemaTemplateActionProps,"x-component-props":{type:"primary",htmlType:"submit"},type:"void"}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":useDestroyTemplateProps,"x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}}}},BlockTemplatePage=()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{style:{backgroundColor:"white"},ghost:!1,title:e("Block templates")}),(0,import_jsx_runtime.jsx)("div",{style:{margin:"var(--nb-spacing)"},children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:uiSchemaTemplatesSchema})})]})},BlockTemplatesPane=()=>(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:uiSchemaTemplatesSchema}),AsDefaultTemplate=import_react2.default.forwardRef((e,t)=>{var o;const r=import_antd_v5.ArrayBase.useArray(),i=import_antd_v5.ArrayBase.useIndex(e.index),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Switch,P(x({},e),{checkedChildren:n("Default"),unCheckedChildren:n("Default"),checked:(o=r==null?void 0:r.field)==null?void 0:o.value[i].default,style:{transition:"all 0.25s ease-in-out",color:"rgba(0, 0, 0, 0.8)",fontSize:16,marginLeft:6,marginBottom:3},onChange:(a,l)=>{var c;l.stopPropagation(),r.field.value.splice(i,1,P(x({},(c=r==null?void 0:r.field)==null?void 0:c.value[i]),{default:a})),r.field.value.forEach((u,m)=>{var d;m!==i&&r.field.value.splice(m,1,P(x({},(d=r==null?void 0:r.field)==null?void 0:d.value[m]),{default:!1}))})},onClick:(a,l)=>{l.stopPropagation()}}))});AsDefaultTemplate.displayName="AsDefaultTemplate";const useStyles$e=genStyleHook("nb-array-collapse",e=>{const{componentCls:t}=e;return{[t]:{marginBottom:"10px"}}}),DataTemplateTitle=(0,import_react.observer)(e=>{var t;const o=import_antd_v5.ArrayBase.useArray(),r=import_antd_v5.ArrayBase.useIndex(e.index),{t:i}=(0,import_react_i18next.useTranslation)(),n=(t=o==null?void 0:o.field)==null?void 0:t.value[r];return(0,import_react2.useEffect)(()=>{var a,l;n.key||(n.key=(0,import_shared.uid)()),n.title||(n.title=`${i("Template name")} ${(l=(a=o==null?void 0:o.field)==null?void 0:a.value)==null?void 0:l.length}`)},[]),(0,import_jsx_runtime.jsx)(import_antd.Input.TextArea,{value:n.title,placeholder:i("Template name"),onChange:a=>{a.stopPropagation(),n.title=a.target.value},onBlur:a=>{a.stopPropagation(),n.title=a.target.value},autoSize:!0,style:{width:"70%",border:"none"},onClick:a=>{a.stopPropagation()}})}),isAdditionComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Addition"))>-1},isIndexComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Index"))>-1},isRemoveComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Remove"))>-1},isMoveUpComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"MoveUp"))>-1},isMoveDownComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"MoveDown"))>-1},isCopyComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Copy"))>-1},isOperationComponent$1=e=>isAdditionComponent$1(e)||isRemoveComponent$1(e)||isMoveDownComponent$1(e)||isMoveUpComponent$1(e)||isCopyComponent$1(e),range$1=e=>Array.from({length:e}).map((t,o)=>o),takeDefaultActiveKeys$1=(e,t)=>e<t?range$1(e):range$1(t),insertActiveKeys$1=(e,t)=>e.length<=t?e.concat(t):e.reduce((o,r)=>r<t?o.concat(r):r===t?o.concat([r,r+1]):o.concat(r+1),[]),ArrayCollapse$1=(0,import_react.observer)(e=>{const{componentCls:t,hashId:o}=useStyles$e(),r=(0,import_react.useField)(),i=Array.isArray(r.value)?r.value:[],[n,a]=(0,import_react2.useState)(takeDefaultActiveKeys$1(i.length,e.defaultOpenPanelCount)),l=(0,import_react.useFieldSchema)();if((0,import_react2.useEffect)(()=>{!r.modified&&i.length&&a(takeDefaultActiveKeys$1(i.length,e.defaultOpenPanelCount))},[i.length,r]),!l)throw new Error("can not found schema object");const c=()=>l.reduceProperties((d,p,h)=>isAdditionComponent$1(p)?(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:p,name:h}):d,null),u=()=>{if(!i.length)return(0,import_jsx_runtime.jsx)(import_antd.Card,{className:(0,import_classnames.default)(t,o,e.className),children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{})})},m=()=>(0,import_jsx_runtime.jsx)(import_antd.Collapse,P(x({},e),{activeKey:n,onChange:d=>a((0,import_shared.toArr)(d).map(Number)),className:(0,import_classnames.default)(t,o,e.className),children:i.map((d,p)=>{const h=Array.isArray(l.items)?l.items[p]||l.items[0]:l.items,g=r.query(`${r.address}.${p}`).get("componentProps"),_=h["x-component-props"],f=()=>{const S=`${(g==null?void 0:g.header)||_.header||r.title}`,C=r.address.concat(p),y=r.form.queryFeedbacks({type:"error",address:`${C}.**`});return(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase.Item,{index:p,record:()=>{var F;return(F=r.value)==null?void 0:F[p]},children:[(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:h,name:p,filterProperties:F=>!!isIndexComponent$1(F),onlyRenderProperties:!0}),y.length?(0,import_jsx_runtime.jsx)(import_antd.Badge,{size:"small",className:"errors-badge",count:y.length,children:S}):(0,import_jsx_runtime.jsx)(DataTemplateTitle,{item:d.initialValue||d,index:p})]})},v=(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase.Item,{index:p,record:d,children:[(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:h,name:p,filterProperties:S=>!!isOperationComponent$1(S),onlyRenderProperties:!0}),g==null?void 0:g.extra]}),b=(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:h,name:p,filterProperties:S=>!(isIndexComponent$1(S)||isOperationComponent$1(S))});return(0,import_react2.createElement)(import_antd.Collapse.Panel,P(x(x({},_),g),{forceRender:!0,key:p,header:f(),extra:v}),(0,import_jsx_runtime.jsx)(import_antd_v5.ArrayBase.Item,{index:p,record:d,children:b},p))})}));return(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase,{onAdd:d=>{a(insertActiveKeys$1(n,d))},onRemove:()=>{r.initialValue=r.value},children:[u(),m(),c()]})},{displayName:"ArrayCollapse"}),CollapsePanel$1=({children:e})=>(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:e});CollapsePanel$1.displayName="CollapsePanel";ArrayCollapse$1.defaultProps={defaultOpenPanelCount:5};ArrayCollapse$1.displayName="ArrayCollapse";ArrayCollapse$1.CollapsePanel=CollapsePanel$1;import_antd_v5.ArrayBase.mixin(ArrayCollapse$1);ArrayCollapse$1.Copy=import_react2.default.forwardRef((e,t)=>{var o;const r=(0,import_react.useField)(),i=import_antd_v5.ArrayBase.useArray(),n=import_antd_v5.ArrayBase.useIndex(e.index);return!i||((o=i.field)==null?void 0:o.pattern)!=="editable"?null:(0,import_jsx_runtime.jsx)(import_icons.CopyOutlined,P(x({},e),{style:{transition:"all 0.25s ease-in-out",color:"rgba(0, 0, 0, 0.8)",fontSize:"16px",marginLeft:6},ref:t,onClick:a=>{var l,c;if(r!=null&&r.disabled||(a.stopPropagation(),(l=i.props)!=null&&l.disabled))return;const u=(0,import_lodash.clone)((c=i==null?void 0:i.field)==null?void 0:c.value[n]);i.field.push(u),e.onClick&&e.onClick(a)}}))});ArrayCollapse$1.Copy.displayName="ArrayCollapse.Copy";(0,import_react.observer)(()=>{const{getCollectionFields:e,getCollectionField:t,getCollection:o,isTitleField:r}=useCollectionManager_deprecated(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=useCompile(),{formSchema:u,data:m}=n["x-designer-props"],{form:d}=useFormBlockContext(),p=i.componentProps.service.resource,h=o(p),g=e(p);if(!m)return(0,import_client.error)("data is required"),null;const _=()=>{var C,y;return((y=(C=m.config)==null?void 0:C[p])==null?void 0:y.filter)||{}},f=C=>{try{import_lodash.default.set(m,`config.${p}.filter`,removeNullCondition(C))}catch(y){(0,import_client.error)(y)}},v=()=>{var C,y;return((y=(C=m.config)==null?void 0:C[p])==null?void 0:y.titleField)||(h==null?void 0:h.titleField)||"id"},b=C=>{try{import_lodash.default.set(m,`config.${p}.titleField`,C)}catch(y){(0,import_client.error)(y)}},S=g.filter(C=>r(C)).map(C=>{var y;return{value:C==null?void 0:C.name,label:c((y=C==null?void 0:C.uiSchema)==null?void 0:y.title)||(C==null?void 0:C.name)}});return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{draggable:!1,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:p,defaultFilter:_(),form:d,onSubmit:({filter:C})=>{f(C);try{i.query("fieldReaction.items.*.layout.dataId").forEach(y=>{y.componentProps.service.resource===p&&(y.componentProps.service.params={filter:import_lodash.default.isEmpty(C)?{}:removeNullCondition(mergeFilter([C,getSelectedIdFilter(i.value)],"$or"))})})}catch(y){(0,import_client.error)(y)}u["x-data-templates"]=m,l.emit("patch",{schema:{"x-uid":u["x-uid"],"x-data-templates":m}}),l.refresh()}}),(0,import_jsx_runtime.jsx)(SelectItem,{title:a("Title field"),options:S,value:v(),onChange:C=>{b(C);try{i.query("fieldReaction.items.*.layout.dataId").forEach(F=>{F.componentProps.service.resource===p&&(F.componentProps.fieldNames.label=C,F.componentProps.targetField=t(`${p}.${C||(h==null?void 0:h.titleField)||"id"}`))})}catch(F){console.error(F)}u["x-data-templates"]=m;const y={"x-uid":u["x-uid"],"x-data-templates":m};l.emit("patch",{schema:y}),l.refresh()}},"title-field")]})},{displayName:"Designer"});function getSelectedIdFilter(e){return e?{id:{$eq:e}}:null}function SelectItem(e){const t=e,{title:o,options:r,value:i,onChange:n}=t,a=W(t,["title","options","value","onChange"]);return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:o},a),{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({popupMatchSelectWidth:!1,bordered:!1,value:i,onChange:n,options:r,style:{textAlign:"right",minWidth:100}},a))]})}))}const Tree$1=(0,import_react.connect)(import_antd.Tree,(0,import_react.mapProps)({value:"checkedKeys",dataSource:"treeData"}));Tree$1.displayName="Tree";const compatibleDataId=(e,t)=>e==null?void 0:e.map(o=>{var r;const i=o,{dataId:n}=i,a=W(i,["dataId"]),l=x({},a);return n&&(l.dataScope={$and:[{id:{$eq:n}}]},l.titleField=(l==null?void 0:l.titleField)||((r=t==null?void 0:t[o.collection])==null?void 0:r.titleField)||"id"),l}),FormDataTemplates=withDynamicSchemaProps((0,import_react.observer)(e=>{const{formSchema:t,designerCtx:o,defaultValues:r,collectionName:i}=useProps(e),{collectionList:n,getEnableFieldTree:a,getOnLoadData:l,getOnCheck:c,getScopeDataSource:u,useTitleFieldDataSource:m}=useCollectionState(i),{getCollection:d,getCollectionField:p}=useCollectionManager_deprecated(),{t:h}=(0,import_react_i18next.useTranslation)(),g=(0,import_react2.useMemo)(()=>(0,import_reactive.observable)(P(x({},r),{items:compatibleDataId((r==null?void 0:r.items)||[],r==null?void 0:r.config)})),[]),_=y=>{var F;const I=d(y);return p(`${y}.${((F=g==null?void 0:g.config[y])==null?void 0:F.titleField)||(I==null?void 0:I.titleField)||"id"}`)},f=y=>{var F,I;const T=d(y);return{label:getLabel(((I=(F=g.config)==null?void 0:F[y])==null?void 0:I.titleField)||(T==null?void 0:T.titleField)||"id"),value:"id"}},v=(y,F)=>{var I,T;const k=(T=(I=g.config)==null?void 0:I[y])==null?void 0:T.filter;return import_lodash.default.isEmpty(k)?{}:removeNullCondition(mergeFilter([k,getSelectedIdFilter(F)],"$or"))},b=(0,import_react2.useMemo)(()=>({ArrayCollapse:ArrayCollapse$1}),[]),S=(0,import_react2.useMemo)(()=>({getEnableFieldTree:a,getTargetField:_,getFieldNames:f,getFilter:v,getResource,getOnLoadData:l,getOnCheck:c,collectionName:i,getScopeDataSource:u,useTitleFieldDataSource:m}),[]),C=(0,import_react2.useMemo)(()=>({type:"object",properties:{items:{type:"array",default:g==null?void 0:g.items,"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{extra:[(0,import_jsx_runtime.jsx)(AsDefaultTemplate,{},"0")]},properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:{collection:{type:"string",title:'{{ t("Collection") }}',required:!0,description:h("If collection inherits, choose inherited collections as templates"),default:"{{ collectionName }}","x-display":n.length>1?"visible":"hidden","x-decorator":"FormItem","x-component":"Select","x-component-props":{options:n}},dataScope:{type:"object",title:'{{ t("Filter out a single piece or a group of records as a template") }}',"x-decorator":"FormItem","x-component":"Filter","x-component-props":{dynamicComponent:VariableInput},"x-decorator-props":{style:{marginBottom:"0px"}},required:!0,"x-reactions":[{dependencies:[".collection"],fulfill:{state:{disabled:"{{ !$deps[0] }}"},schema:{enum:"{{ getScopeDataSource($deps[0]) }}"}}}]},titleField:{type:"string","x-decorator":"FormItem",title:'{{ t("Title field") }}',"x-decorator-props":{tooltip:'{{t("The title field is used to identify the template record")}}'},"x-component":"Select",required:!0,"x-reactions":"{{useTitleFieldDataSource}}"},syncFromForm:{type:"void",title:'{{ t("Sync from form fields") }}',"x-component":"Action.Link","x-component-props":{type:"primary",style:{float:"right",position:"relative",zIndex:1200},useAction:()=>useSyncFromForm(t)}},fields:{type:"array",title:'{{ t("Template fields") }}',"x-decorator-props":{tooltip:'{{t("The selected fields will automatically populate the form")}}'},required:!0,description:h("Only the selected fields will be used as the initialization data for the form"),"x-decorator":"FormItem","x-component":Tree$1,"x-component-props":{treeData:[],checkable:!0,checkStrictly:!0,selectable:!1,loadData:"{{ getOnLoadData($self) }}",onCheck:"{{ getOnCheck($self) }}",rootStyle:{padding:"8px 0",border:"1px solid #d9d9d9",borderRadius:"2px",maxHeight:"30vh",overflow:"auto",margin:"2px 0"}},"x-reactions":[{dependencies:[".collection"],fulfill:{state:{disabled:"{{ !$deps[0] }}",componentProps:{treeData:"{{ getEnableFieldTree($deps[0], $self) }}"}}}}]}}},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"}}},properties:{add:{type:"void",title:'{{ t("Add template") }}',"x-component":"ArrayCollapse.Addition"}}},display:{type:"boolean","x-content":'{{ t("Enable form data template") }}',default:(g==null?void 0:g.display)!==!1,"x-decorator":"FormItem","x-component":"Checkbox"}}}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},o),{designable:!0}),children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:b,scope:S,schema:C})})}),{displayName:"FormDataTemplates"});function getLabel(e){return e||"label"}function getResource(e,t){return e!==t.componentProps.service.resource&&(t.value=void 0),e}const EnableChildCollections=withDynamicSchemaProps((0,import_react.observer)(e=>{const{defaultValues:t,collectionName:o}=useProps(e),r=(0,import_react.useForm)(),i=useCompile(),{getChildrenCollections:n}=useCollectionManager_deprecated(),a=n(o),l=u=>(m,d)=>{m.loading=!0,u(m,d).then(import_reactive.action.bound(p=>{m.dataSource=p,m.loading=!1,m.initialValue&&(m.disabled=!0)}))},c=u=>q(void 0,null,function*(){var m,d;const{childrenCollections:p}=((m=r.values)==null?void 0:m.enableChildren)||{};return(d=a.filter(h=>!p.find(g=>g.collection===h.name)||u.initialValue||h.name===u.value))==null?void 0:d.map(h=>({label:i(h.title),value:h.name}))});return(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{type:"object",properties:{childrenCollections:{type:"array",default:t==null?void 0:t.filter(u=>a.find(m=>m.name===u.collection)),"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"},collection:{type:"string","x-decorator":"FormItem",required:!0,"x-component":"Select","x-component-props":{style:{width:260}},"x-reactions":["{{useAsyncDataSource(loadData)}}"]},title:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{style:{width:235}}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{ t("Add collection") }}',"x-component":"ArrayItems.Addition"}}}}},scope:{useAsyncDataSource:l,loadData:c}})}),{displayName:"EnableChildCollections"}),ChildDynamicComponent=(0,import_react.observer)(e=>{const{rootCollection:t,onChange:o,value:r,collectionField:i}=e,n=(0,import_react.useFieldSchema)(),{currentFormSettings:a}=useCurrentFormVariable({collectionName:t,collectionField:i}),{currentObjectSettings:l}=useCurrentObjectVariable({schema:i==null?void 0:i.uiSchema,collectionField:i}),c=useCompile(),u=(0,import_react2.useMemo)(()=>[a,l].filter(Boolean),[a,l]),m=c(u);return(0,import_react2.useEffect)(()=>{o(n.default)},[]),(0,import_jsx_runtime.jsx)(Variable.Input,{value:r,onChange:d=>o(d),scope:m,style:{minWidth:"400px",marginRight:15},className:import_css.css`
|
|
339
339
|
.ant-input {
|
|
340
340
|
width: 100% !important;
|
|
341
341
|
}
|
|
@@ -517,7 +517,7 @@ ${JSON.stringify(N,null,2)}`)},[u,c,l,i,r,I,t,a,n,g,o,_,S,T,C,y,h]),$=(0,import_
|
|
|
517
517
|
& > .ant-space-item:last-child {
|
|
518
518
|
flex-shrink: 0;
|
|
519
519
|
}
|
|
520
|
-
`},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":o,"x-component-props":{placeholder:'{{t("Value")}}',useTypedConstant:!0,changeOnSelect:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}},properties:{add:{type:"void",title:'{{t("Add parameter")}}',"x-component":"ArrayItems.Addition"}}}),[o]),l=(0,import_react2.useMemo)(()=>({type:"boolean","x-content":e("Open in new window"),"x-decorator":"FormItem","x-component":"Checkbox","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}}),[e]);return{urlSchema:r,paramsSchema:a,openInNewWindowSchema:l,modeSchema:i,htmlSchema:n}},LinkMenuItem=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:o}=useGlobalTheme(),{componentCls:r,hashId:i}=useStyles$h(),{urlSchema:n,paramsSchema:a,openInNewWindowSchema:l}=useURLAndHTMLSchema(),c=useParentRoute(),{createRoute:u}=useNocoBaseRoutes(),m=useDataSourceManager(),d=useCollectionManager(),p=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){const h=yield FormDialog(e("Add link"),()=>{var S;const C=(0,import_history.createMemoryHistory)();return(0,import_jsx_runtime.jsx)(DataSourceManagerProvider,{dataSourceManager:m,children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{instance:d,dataSource:(S=d==null?void 0:d.dataSource)==null?void 0:S.key,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.Router,{location:C.location,navigator:C,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t.scope,components:x({},t.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:e("Menu item title"),required:!0,"x-component":"Input","x-decorator":"FormItem"},icon:{title:e("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"},href:n,params:a,openInNewWindow:l}}})})})})})})},o).open({initialValues:{openInNewWindow:!0}}),{title:g,href:_,params:f,icon:v,openInNewWindow:b}=h;yield u({type:NocoBaseDesktopRouteType.link,title:g,icon:v,parentId:c==null?void 0:c.id,options:{href:_,params:f,openInNewWindow:b}})}),[t.components,t.scope,e,o]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,{title:e("Link"),onClick:p,className:`${r} ${i}`})},useInsertPageSchema=()=>{const e=useAPIClient();return(0,import_react2.useCallback)(t=>q(void 0,null,function*(){yield e.request({method:"POST",url:"/uiSchemas:insert",data:t})}),[e])},PageMenuItem=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:o}=useGlobalTheme(),{componentCls:r,hashId:i}=useStyles$h(),n=useParentRoute(),{createRoute:a}=useNocoBaseRoutes(),l=useInsertPageSchema(),c=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){const u=yield FormDialog(e("Add page"),()=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t.scope,components:x({},t.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:e("Menu item title"),required:!0,"x-component":"Input","x-decorator":"FormItem"},icon:{title:e("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}})})}),o).open({initialValues:{}}),m=(0,import_shared.uid)(),d=(0,import_shared.uid)(),p=(0,import_shared.uid)(),h=(0,import_shared.uid)();yield a({type:NocoBaseDesktopRouteType.page,title:u.title,icon:u.icon,parentId:n==null?void 0:n.id,schemaUid:d,menuSchemaUid:m,enableTabs:!1,children:[{type:NocoBaseDesktopRouteType.tabs,schemaUid:p,tabSchemaName:h,hidden:!0}]}),l(getPageMenuSchema({pageSchemaUid:d,tabSchemaUid:p,tabSchemaName:h}))}),[a,l,t==null?void 0:t.components,t==null?void 0:t.scope,n==null?void 0:n.id,e,o]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,{title:e("Page"),onClick:c,className:`${r} ${i}`})};function getPageMenuSchema({pageSchemaUid:e,tabSchemaUid:t,tabSchemaName:o}){return{type:"void","x-component":"Page",properties:{[o]:{type:"void","x-component":"Grid","x-initializer":"page:addBlock",properties:{},"x-uid":t,"x-async":!0}},"x-uid":e}}const GroupItem$1=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:o}=useGlobalTheme(),{componentCls:r,hashId:i}=useStyles$h(),n=useParentRoute(),{createRoute:a}=useNocoBaseRoutes(),l=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){const c=yield FormDialog(e("Add group"),()=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t.scope,components:x({},t.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:e("Menu item title"),"x-component":"Input","x-decorator":"FormItem",required:!0},icon:{title:e("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}})})}),o).open({initialValues:{}}),{title:u,icon:m}=c,d=(0,import_shared.uid)();yield a({type:NocoBaseDesktopRouteType.group,title:u,icon:m,parentId:n==null?void 0:n.id,schemaUid:d})}),[t.components,t.scope,e,o]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,{title:e("Group"),onClick:l,className:`${r} ${i}`})},menuItemInitializer_deprecated=new SchemaInitializer({name:"MenuItemInitializers",insertPosition:"beforeEnd",icon:"PlusOutlined",title:'{{t("Add menu item")}}',style:{width:"100%"},items:[{name:"group",Component:GroupItem$1},{name:"page",Component:PageMenuItem},{name:"link",Component:LinkMenuItem}]}),menuItemInitializer=new SchemaInitializer({name:"menuInitializers:menuItem",insertPosition:"beforeEnd",icon:"PlusOutlined",title:'{{t("Add menu item")}}',items:[{name:"group",Component:GroupItem$1},{name:"page",Component:PageMenuItem},{name:"link",Component:LinkMenuItem}]}),useMenuTranslation=()=>(0,import_react_i18next.useTranslation)("lm-desktop-routes"),components$5={TreeSelect:import_antd_v5.TreeSelect},toItems$2=(e,{t,compile:o})=>{var r;const i=[];for(const n of e){if(n.type===NocoBaseDesktopRouteType.tabs)continue;const a={label:isVariable$1(n.title)?o(n.title):t(n.title),value:`${n.id}||${n.type}`};((r=n.children)==null?void 0:r.length)>0&&(a.children=toItems$2(n.children,{t,compile:o})),i.push(a)}return i},insertPositionToMethod$1={beforeBegin:"insertBefore",afterEnd:"insertAfter"},findPrevSibling=(e,t)=>{if(t)for(let o=0;o<e.length;o++){const r=e[o];if(r.id===t.id)return e[o-1];if(r.children){const i=findPrevSibling(r.children,t);if(i)return i}}},findNextSibling=(e,t)=>{if(t)for(let o=0;o<e.length;o++){const r=e[o];if(r.id===t.id)return e[o+1];if(r.children){const i=findNextSibling(r.children,t);if(i)return i}}},RemoveRoute=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{modal:t}=import_antd.App.useApp(),{deleteRoute:o}=useNocoBaseRoutes(),r=useCurrentRoute(),{allAccessRoutes:i}=useAllAccessDesktopRoutes(),n=useNavigateNoUpdate(),a=useCurrentPageUid();return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:"Delete",eventKey:"remove",onClick:()=>{t.confirm({title:e("Delete menu item"),content:e("Are you sure you want to delete it?"),onOk:()=>q(void 0,null,function*(){if((r==null?void 0:r.id)!=null&&(yield o(r.id)),a!==(r==null?void 0:r.schemaUid)&&!findRouteBySchemaUid(a,r==null?void 0:r.children))return;const l=findPrevSibling(i,r),c=findNextSibling(i,r);n(l||c?`/admin/${(l==null?void 0:l.schemaUid)||(c==null?void 0:c.schemaUid)}`:"/")})})},children:e("Delete")})},InsertMenuItems$1=e=>{const{eventKey:t,title:o,insertPosition:r}=e,{t:i}=(0,import_react_i18next.useTranslation)(),{urlSchema:n,paramsSchema:a,openInNewWindowSchema:l}=useURLAndHTMLSchema(),c=useCurrentRoute(),u=(c==null?void 0:c.type)===NocoBaseDesktopRouteType.group,{createRoute:m,moveRoute:d}=useNocoBaseRoutes(),p=useInsertPageSchema();return!u&&r==="beforeEnd"?null:(0,import_jsx_runtime.jsxs)(SchemaSettingsSubMenu,{eventKey:t,title:o,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{eventKey:`${r}group`,title:i("Group"),schema:{type:"object",title:i("Add group"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:i("Menu item title"),required:!0,"x-component-props":{}},icon:{title:i("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}},onSubmit:h=>q(void 0,[h],function*({title:g,icon:_}){var f;const v=(0,import_shared.uid)(),b=r==="beforeEnd"?c==null?void 0:c.id:c==null?void 0:c.parentId,{data:S}=yield m({type:NocoBaseDesktopRouteType.group,title:g,icon:_,parentId:b||void 0,schemaUid:v});insertPositionToMethod$1[r]&&(yield d({sourceId:(f=S==null?void 0:S.data)==null?void 0:f.id,targetId:c==null?void 0:c.id,sortField:"sort",method:insertPositionToMethod$1[r]}))})}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{eventKey:`${r}page`,title:i("Page"),schema:{type:"object",title:i("Add page"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:i("Menu item title"),required:!0,"x-component-props":{}},icon:{title:i("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}},onSubmit:h=>q(void 0,[h],function*({title:g,icon:_}){var f;const v=(0,import_shared.uid)(),b=(0,import_shared.uid)(),S=(0,import_shared.uid)(),C=(0,import_shared.uid)(),y=r==="beforeEnd"?c==null?void 0:c.id:c==null?void 0:c.parentId,{data:F}=yield m({type:NocoBaseDesktopRouteType.page,title:g,icon:_,parentId:y||void 0,schemaUid:b,menuSchemaUid:v,enableTabs:!1,children:[{type:NocoBaseDesktopRouteType.tabs,schemaUid:S,tabSchemaName:C,hidden:!0}]});insertPositionToMethod$1[r]&&(yield d({sourceId:(f=F==null?void 0:F.data)==null?void 0:f.id,targetId:c==null?void 0:c.id,sortField:"sort",method:insertPositionToMethod$1[r]})),p(getPageMenuSchema({pageSchemaUid:b,tabSchemaUid:S,tabSchemaName:C}))})}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{eventKey:`${r}link`,title:i("Link"),schema:{type:"object",title:i("Add link"),properties:{title:{title:i("Menu item title"),required:!0,"x-component":"Input","x-decorator":"FormItem"},icon:{title:i("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"},href:n,params:a,openInNewWindow:l}},onSubmit:h=>q(void 0,[h],function*({title:g,icon:_,href:f,params:v,openInNewWindow:b}){var S;const C=(0,import_shared.uid)(),y=r==="beforeEnd"?c==null?void 0:c.id:c==null?void 0:c.parentId,{data:F}=yield m({type:NocoBaseDesktopRouteType.link,title:g,icon:_,parentId:y||void 0,schemaUid:C,options:{href:f,params:v,openInNewWindow:b}});insertPositionToMethod$1[r]&&(yield d({sourceId:(S=F==null?void 0:F.data)==null?void 0:S.id,targetId:c==null?void 0:c.id,sortField:"sort",method:insertPositionToMethod$1[r]}))})})]})},EditMenuItem=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react2.useMemo)(()=>({type:"object",title:e("Edit menu item"),properties:{title:{title:e("Menu item title"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}},icon:{title:e("Menu item icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}),[e]),o=useCurrentRoute(),{urlSchema:r,paramsSchema:i,openInNewWindowSchema:n}=useURLAndHTMLSchema(),a=(0,import_react2.useMemo)(()=>({title:o.title,icon:o.icon}),[o.title,o.icon]);o.type===NocoBaseDesktopRouteType.link&&(t.properties.href=r,t.properties.params=i,t.properties.openInNewWindow=n,a.href=o.options.href,a.params=o.options.params,a.openInNewWindow=o.options.openInNewWindow!==!1);const{updateRoute:l}=useNocoBaseRoutes(),c=(0,import_react2.useCallback)(({title:u,icon:m,href:d,params:p,openInNewWindow:h})=>{o.id!==void 0&&l(o.id,{title:u,icon:m,options:d||p?{href:d,params:p,openInNewWindow:h}:void 0})},[]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:e("Edit"),eventKey:"edit",schema:t,initialValues:a,onSubmit:c})},HiddenMenuItem=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=useCurrentRoute(),{updateRoute:o}=useNocoBaseRoutes(),{modal:r}=import_antd.App.useApp();return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:e("Hidden"),checked:t.hideInMenu,onChange:i=>{r.confirm({title:e("Are you sure you want to hide this menu?"),icon:(0,import_jsx_runtime.jsx)(import_icons.ExclamationCircleFilled,{}),content:e("After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it."),onOk(){return q(this,null,function*(){t.id!==void 0&&(yield o(t.id,{hideInMenu:!!i}))})}})}})},MoveToMenuItem=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react2.useCallback)(u=>{(0,import_core.onFieldChange)("target",m=>{var d,p;const[,h]=((p=(d=m==null?void 0:m.value)==null?void 0:d.split)==null?void 0:p.call(d,"||"))||[];m.query("position").take(g=>{g.dataSource=h===NocoBaseDesktopRouteType.group?[{label:e("Before"),value:"beforeBegin"},{label:e("After"),value:"afterEnd"},{label:e("Inner"),value:"beforeEnd"}]:[{label:e("Before"),value:"beforeBegin"},{label:e("After"),value:"afterEnd"}]})})},[e]),o=useCompile(),{allAccessRoutes:r}=useAllAccessDesktopRoutes(),i=(0,import_react2.useMemo)(()=>toItems$2(r,{t:e,compile:o}),[]),n=(0,import_react2.useMemo)(()=>({type:"object",title:e("Move to"),properties:{target:{title:e("Target"),enum:i,required:!0,"x-decorator":"FormItem","x-component":"TreeSelect","x-component-props":{}},position:{title:e("Position"),required:!0,enum:[{label:e("Before"),value:"beforeBegin"},{label:e("After"),value:"afterEnd"}],default:"afterEnd","x-component":"Radio.Group","x-decorator":"FormItem"}}}),[i,e]),{moveRoute:a}=useNocoBaseRoutes(),l=useCurrentRoute(),c=(0,import_react2.useCallback)(u=>q(void 0,[u],function*({target:m,position:d}){var p;const[h]=((p=m==null?void 0:m.split)==null?void 0:p.call(m,"||"))||[];if(!h||h===void 0||!l)return;const g={beforeBegin:"insertBefore",afterEnd:"insertAfter"},_=d==="beforeEnd"?{targetScope:{parentId:h}}:{targetId:h};yield a(x({sourceId:l.id,sortField:"sort",method:g[d]},_))}),[l,a]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:e("Move to"),eventKey:"move-to",components:components$5,effects:t,schema:n,onSubmit:c})},EditTooltip$1=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=useCurrentRoute(),{updateRoute:o}=useNocoBaseRoutes(),r=(0,import_react2.useMemo)(()=>({type:"object",title:e("Edit tooltip"),properties:{tooltip:{"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}}),[e]),i=(0,import_react2.useMemo)(()=>({tooltip:t.tooltip}),[t.tooltip]),n=(0,import_react2.useCallback)(({tooltip:a})=>{t.id!==void 0&&o(t.id,{tooltip:a})},[t.id,o]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:e("Edit tooltip"),eventKey:"edit-tooltip",schema:r,initialValues:i,onSubmit:n})},menuItemSettings=new SchemaSettings({name:"menuSettings:menuItem",items:[{name:"edit",Component:EditMenuItem},{name:"editTooltip",Component:EditTooltip$1},{name:"hidden",Component:HiddenMenuItem},{name:"moveTo",Component:MoveToMenuItem},{name:"divider",type:"divider"},{name:"insertbeforeBegin",Component:()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(InsertMenuItems$1,{eventKey:"insertbeforeBegin",title:e("Insert before"),insertPosition:"beforeBegin"})}},{name:"insertafterEnd",Component:()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(InsertMenuItems$1,{eventKey:"insertafterEnd",title:e("Insert after"),insertPosition:"afterEnd"})}},{name:"insertbeforeEnd",Component:()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(InsertMenuItems$1,{eventKey:"insertbeforeEnd",title:e("Insert inner"),insertPosition:"beforeEnd"})}},{name:"divider",type:"divider"},{name:"delete",sort:100,Component:RemoveRoute}]}),iconStyle=import_css.css`
|
|
520
|
+
`},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":o,"x-component-props":{placeholder:'{{t("Value")}}',useTypedConstant:!0,changeOnSelect:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}},properties:{add:{type:"void",title:'{{t("Add parameter")}}',"x-component":"ArrayItems.Addition"}}}),[o]),l=(0,import_react2.useMemo)(()=>({type:"boolean","x-content":e("Open in new window"),"x-decorator":"FormItem","x-component":"Checkbox","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}}),[e]);return{urlSchema:r,paramsSchema:a,openInNewWindowSchema:l,modeSchema:i,htmlSchema:n}},LinkMenuItem=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:o}=useGlobalTheme(),{componentCls:r,hashId:i}=useStyles$h(),{urlSchema:n,paramsSchema:a,openInNewWindowSchema:l}=useURLAndHTMLSchema(),c=useParentRoute(),{createRoute:u}=useNocoBaseRoutes(),m=useDataSourceManager(),d=useCollectionManager(),p=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){const h=yield FormDialog(e("Add link"),()=>{var S;const C=(0,import_history.createMemoryHistory)();return(0,import_jsx_runtime.jsx)(DataSourceManagerProvider,{dataSourceManager:m,children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{instance:d,dataSource:(S=d==null?void 0:d.dataSource)==null?void 0:S.key,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.Router,{location:C.location,navigator:C,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t.scope,components:x({},t.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:e("Menu item title"),required:!0,"x-component":"Input","x-decorator":"FormItem"},icon:{title:e("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"},href:n,params:a,openInNewWindow:l}}})})})})})})},o).open({initialValues:{openInNewWindow:!0}}),{title:g,href:_,params:f,icon:v,openInNewWindow:b}=h;yield u({type:NocoBaseDesktopRouteType.link,title:g,icon:v,parentId:c==null?void 0:c.id,options:{href:_,params:f,openInNewWindow:b}})}),[t.components,t.scope,e,o]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,{title:e("Link"),onClick:p,className:`${r} ${i}`})},useInsertPageSchema=()=>{const e=useAPIClient();return(0,import_react2.useCallback)(t=>q(void 0,null,function*(){yield e.request({method:"POST",url:"/uiSchemas:insert",data:t})}),[e])},PageMenuItem=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:o}=useGlobalTheme(),{componentCls:r,hashId:i}=useStyles$h(),n=useParentRoute(),{createRoute:a}=useNocoBaseRoutes(),l=useInsertPageSchema(),c=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){const u=yield FormDialog(e("Add page"),()=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t.scope,components:x({},t.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:e("Menu item title"),required:!0,"x-component":"Input","x-decorator":"FormItem"},icon:{title:e("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}})})}),o).open({initialValues:{}}),m=(0,import_shared.uid)(),d=(0,import_shared.uid)(),p=(0,import_shared.uid)(),h=(0,import_shared.uid)();yield a({type:NocoBaseDesktopRouteType.page,title:u.title,icon:u.icon,parentId:n==null?void 0:n.id,schemaUid:d,menuSchemaUid:m,enableTabs:!1,children:[{type:NocoBaseDesktopRouteType.tabs,schemaUid:p,tabSchemaName:h,hidden:!0}]}),l(getPageMenuSchema({pageSchemaUid:d,tabSchemaUid:p,tabSchemaName:h}))}),[a,l,t==null?void 0:t.components,t==null?void 0:t.scope,n==null?void 0:n.id,e,o]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,{title:e("Page"),onClick:c,className:`${r} ${i}`})};function getPageMenuSchema({pageSchemaUid:e,tabSchemaUid:t,tabSchemaName:o}){return{type:"void","x-component":"Page",properties:{[o]:{type:"void","x-component":"Grid","x-initializer":"page:addBlock",properties:{},"x-uid":t,"x-async":!0}},"x-uid":e}}const GroupItem$1=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:o}=useGlobalTheme(),{componentCls:r,hashId:i}=useStyles$h(),n=useParentRoute(),{createRoute:a}=useNocoBaseRoutes(),l=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){const c=yield FormDialog(e("Add group"),()=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t.scope,components:x({},t.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:e("Menu item title"),"x-component":"Input","x-decorator":"FormItem",required:!0},icon:{title:e("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}})})}),o).open({initialValues:{}}),{title:u,icon:m}=c,d=(0,import_shared.uid)();yield a({type:NocoBaseDesktopRouteType.group,title:u,icon:m,parentId:n==null?void 0:n.id,schemaUid:d})}),[t.components,t.scope,e,o]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,{title:e("Group"),onClick:l,className:`${r} ${i}`})},menuItemInitializer_deprecated=new SchemaInitializer({name:"MenuItemInitializers",insertPosition:"beforeEnd",icon:"PlusOutlined",title:'{{t("Add menu item")}}',style:{width:"100%"},items:[{name:"group",Component:GroupItem$1},{name:"page",Component:PageMenuItem},{name:"link",Component:LinkMenuItem}]}),menuItemInitializer=new SchemaInitializer({name:"menuInitializers:menuItem",insertPosition:"beforeEnd",icon:"PlusOutlined",title:'{{t("Add menu item")}}',items:[{name:"group",Component:GroupItem$1},{name:"page",Component:PageMenuItem},{name:"link",Component:LinkMenuItem}]}),useMenuTranslation=()=>(0,import_react_i18next.useTranslation)("lm-desktop-routes"),components$5={TreeSelect:import_antd_v5.TreeSelect},toItems$2=(e,{t,compile:o})=>{var r;const i=[];for(const n of e){if(n.type===NocoBaseDesktopRouteType.tabs)continue;const a={label:isVariable$1(n.title)?o(n.title):t(n.title),value:`${n.id}||${n.type}`};((r=n.children)==null?void 0:r.length)>0&&(a.children=toItems$2(n.children,{t,compile:o})),i.push(a)}return i},insertPositionToMethod$1={beforeBegin:"insertBefore",afterEnd:"insertAfter"},findPrevSibling=(e,t)=>{if(t)for(let o=0;o<e.length;o++){const r=e[o];if(r.id===t.id)return e[o-1];if(r.children){const i=findPrevSibling(r.children,t);if(i)return i}}},findNextSibling=(e,t)=>{if(t)for(let o=0;o<e.length;o++){const r=e[o];if(r.id===t.id)return e[o+1];if(r.children){const i=findNextSibling(r.children,t);if(i)return i}}},RemoveRoute=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{modal:t}=import_antd.App.useApp(),{deleteRoute:o}=useNocoBaseRoutes(),r=useCurrentRoute(),{allAccessRoutes:i}=useAllAccessDesktopRoutes(),n=useNavigateNoUpdate(),a=useCurrentPageUid();return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:"Delete",eventKey:"remove",onClick:()=>{t.confirm({title:e("Delete menu item"),content:e("Are you sure you want to delete it?"),onOk:()=>q(void 0,null,function*(){if((r==null?void 0:r.id)!=null&&(yield o(r.id)),a!==(r==null?void 0:r.schemaUid)&&!findRouteBySchemaUid(a,r==null?void 0:r.children))return;const l=findPrevSibling(i,r),c=findNextSibling(i,r);n(l||c?`/admin/${(l==null?void 0:l.schemaUid)||(c==null?void 0:c.schemaUid)}`:"/")})})},children:e("Delete")})},InsertMenuItems$1=e=>{const{eventKey:t,title:o,insertPosition:r}=e,{t:i}=(0,import_react_i18next.useTranslation)(),{urlSchema:n,paramsSchema:a,openInNewWindowSchema:l}=useURLAndHTMLSchema(),c=useCurrentRoute(),u=(c==null?void 0:c.type)===NocoBaseDesktopRouteType.group,{createRoute:m,moveRoute:d}=useNocoBaseRoutes(),p=useInsertPageSchema();return!u&&r==="beforeEnd"?null:(0,import_jsx_runtime.jsxs)(SchemaSettingsSubMenu,{eventKey:t,title:o,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{eventKey:`${r}group`,title:i("Group"),schema:{type:"object",title:i("Add group"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:i("Menu item title"),required:!0,"x-component-props":{}},icon:{title:i("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}},onSubmit:h=>q(void 0,[h],function*({title:g,icon:_}){var f;const v=(0,import_shared.uid)(),b=r==="beforeEnd"?c==null?void 0:c.id:c==null?void 0:c.parentId,{data:S}=yield m({type:NocoBaseDesktopRouteType.group,title:g,icon:_,parentId:b||void 0,schemaUid:v});insertPositionToMethod$1[r]&&(yield d({sourceId:(f=S==null?void 0:S.data)==null?void 0:f.id,targetId:c==null?void 0:c.id,sortField:"sort",method:insertPositionToMethod$1[r]}))})}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{eventKey:`${r}page`,title:i("Page"),schema:{type:"object",title:i("Add page"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:i("Menu item title"),required:!0,"x-component-props":{}},icon:{title:i("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}},onSubmit:h=>q(void 0,[h],function*({title:g,icon:_}){var f;const v=(0,import_shared.uid)(),b=(0,import_shared.uid)(),S=(0,import_shared.uid)(),C=(0,import_shared.uid)(),y=r==="beforeEnd"?c==null?void 0:c.id:c==null?void 0:c.parentId,{data:F}=yield m({type:NocoBaseDesktopRouteType.page,title:g,icon:_,parentId:y||void 0,schemaUid:b,menuSchemaUid:v,enableTabs:!1,children:[{type:NocoBaseDesktopRouteType.tabs,schemaUid:S,tabSchemaName:C,hidden:!0}]});insertPositionToMethod$1[r]&&(yield d({sourceId:(f=F==null?void 0:F.data)==null?void 0:f.id,targetId:c==null?void 0:c.id,sortField:"sort",method:insertPositionToMethod$1[r]})),p(getPageMenuSchema({pageSchemaUid:b,tabSchemaUid:S,tabSchemaName:C}))})}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{eventKey:`${r}link`,title:i("Link"),schema:{type:"object",title:i("Add link"),properties:{title:{title:i("Menu item title"),required:!0,"x-component":"Input","x-decorator":"FormItem"},icon:{title:i("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"},href:n,params:a,openInNewWindow:l}},onSubmit:h=>q(void 0,[h],function*({title:g,icon:_,href:f,params:v,openInNewWindow:b}){var S;const C=(0,import_shared.uid)(),y=r==="beforeEnd"?c==null?void 0:c.id:c==null?void 0:c.parentId,{data:F}=yield m({type:NocoBaseDesktopRouteType.link,title:g,icon:_,parentId:y||void 0,schemaUid:C,options:{href:f,params:v,openInNewWindow:b}});insertPositionToMethod$1[r]&&(yield d({sourceId:(S=F==null?void 0:F.data)==null?void 0:S.id,targetId:c==null?void 0:c.id,sortField:"sort",method:insertPositionToMethod$1[r]}))})})]})},EditMenuItem=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react2.useMemo)(()=>({type:"object",title:e("Edit menu item"),properties:{title:{title:e("Menu item title"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}},icon:{title:e("Menu item icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}),[e]),o=useCurrentRoute(),{urlSchema:r,paramsSchema:i,openInNewWindowSchema:n}=useURLAndHTMLSchema(),a=(0,import_react2.useMemo)(()=>({title:o.title,icon:o.icon}),[o.title,o.icon]);o.type===NocoBaseDesktopRouteType.link&&(t.properties.href=r,t.properties.params=i,t.properties.openInNewWindow=n,a.href=o.options.href,a.params=o.options.params,a.openInNewWindow=o.options.openInNewWindow!==!1);const{updateRoute:l}=useNocoBaseRoutes(),c=(0,import_react2.useCallback)(({title:u,icon:m,href:d,params:p,openInNewWindow:h})=>{o.id!==void 0&&l(o.id,{title:u,icon:m,options:d||p?{href:d,params:p,openInNewWindow:h}:void 0})},[]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:e("Edit"),eventKey:"edit",schema:t,initialValues:a,onSubmit:c})},HiddenMenuItem=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=useCurrentRoute(),{updateRoute:o}=useNocoBaseRoutes(),{modal:r}=import_antd.App.useApp();return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:e("Hidden"),checked:t.hideInMenu,onChange:i=>{r.confirm({title:e("Are you sure you want to hide this menu?"),icon:(0,import_jsx_runtime.jsx)(import_icons.ExclamationCircleFilled,{}),content:e("After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it."),onOk(){return q(this,null,function*(){t.id!==void 0&&(yield o(t.id,{hideInMenu:!!i}))})}})}})},MoveToMenuItem=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react2.useCallback)(u=>{(0,import_core.onFieldChange)("target",m=>{var d,p;const[,h]=((p=(d=m==null?void 0:m.value)==null?void 0:d.split)==null?void 0:p.call(d,"||"))||[];m.query("position").take(g=>{g.dataSource=h===NocoBaseDesktopRouteType.group?[{label:e("Before"),value:"beforeBegin"},{label:e("After"),value:"afterEnd"},{label:e("Inner"),value:"beforeEnd"}]:[{label:e("Before"),value:"beforeBegin"},{label:e("After"),value:"afterEnd"}]})})},[e]),o=useCompile(),{allAccessRoutes:r}=useAllAccessDesktopRoutes(),i=(0,import_react2.useMemo)(()=>[...toItems$2(r,{t:e,compile:o}),{label:"",value:"",disabled:!0},{label:"",value:"",disabled:!0}],[]),n=(0,import_react2.useMemo)(()=>({type:"object",title:e("Move to"),properties:{target:{title:e("Target"),enum:i,required:!0,"x-decorator":"FormItem","x-component":"TreeSelect","x-component-props":{}},position:{title:e("Position"),required:!0,enum:[{label:e("Before"),value:"beforeBegin"},{label:e("After"),value:"afterEnd"}],default:"afterEnd","x-component":"Radio.Group","x-decorator":"FormItem"}}}),[i,e]),{moveRoute:a}=useNocoBaseRoutes(),l=useCurrentRoute(),c=(0,import_react2.useCallback)(u=>q(void 0,[u],function*({target:m,position:d}){var p;const[h]=((p=m==null?void 0:m.split)==null?void 0:p.call(m,"||"))||[];if(!h||h===void 0||!l)return;const g={beforeBegin:"insertBefore",afterEnd:"insertAfter"},_=d==="beforeEnd"?{targetScope:{parentId:h}}:{targetId:h};yield a(x({sourceId:l.id,sortField:"sort",method:g[d]},_))}),[l,a]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:e("Move to"),eventKey:"move-to",components:components$5,effects:t,schema:n,onSubmit:c})},EditTooltip$1=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=useCurrentRoute(),{updateRoute:o}=useNocoBaseRoutes(),r=(0,import_react2.useMemo)(()=>({type:"object",title:e("Edit tooltip"),properties:{tooltip:{"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}}),[e]),i=(0,import_react2.useMemo)(()=>({tooltip:t.tooltip}),[t.tooltip]),n=(0,import_react2.useCallback)(({tooltip:a})=>{t.id!==void 0&&o(t.id,{tooltip:a})},[t.id,o]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:e("Edit tooltip"),eventKey:"edit-tooltip",schema:r,initialValues:i,onSubmit:n})},menuItemSettings=new SchemaSettings({name:"menuSettings:menuItem",items:[{name:"edit",Component:EditMenuItem},{name:"editTooltip",Component:EditTooltip$1},{name:"hidden",Component:HiddenMenuItem},{name:"moveTo",Component:MoveToMenuItem},{name:"divider",type:"divider"},{name:"insertbeforeBegin",Component:()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(InsertMenuItems$1,{eventKey:"insertbeforeBegin",title:e("Insert before"),insertPosition:"beforeBegin"})}},{name:"insertafterEnd",Component:()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(InsertMenuItems$1,{eventKey:"insertafterEnd",title:e("Insert after"),insertPosition:"afterEnd"})}},{name:"insertbeforeEnd",Component:()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(InsertMenuItems$1,{eventKey:"insertbeforeEnd",title:e("Insert inner"),insertPosition:"beforeEnd"})}},{name:"divider",type:"divider"},{name:"delete",sort:100,Component:RemoveRoute}]}),iconStyle=import_css.css`
|
|
521
521
|
.anticon {
|
|
522
522
|
line-height: 16px !important;
|
|
523
523
|
}
|
|
@@ -622,7 +622,7 @@ ${JSON.stringify(N,null,2)}`)},[u,c,l,i,r,I,t,a,n,g,o,_,S,T,C,y,h]),$=(0,import_
|
|
|
622
622
|
}
|
|
623
623
|
}
|
|
624
624
|
`),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:b}=useSchemaInitializer(),S=(0,import_react2.useMemo)(()=>{if(c&&c.length>0)return[{key:i,style:o,className:a,label:p||h(m),onClick:C=>{l||C.key!==i||(r&&(b==null||b(!1)),d==null||d(P(x({},C),{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:C=>{C.stopPropagation(),r&&(b==null||b(!1)),d==null||d({event:C,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=W(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=W(t,["type","Component","component","children","useVisible","useChildren","useComponentProps","hideIfNoChildren","componentProps","sort"]),h=l(),g=c(),_=useFindComponent(),f=r||i,v=!f&&o&&typeComponentMap[o],b=(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:b}),[p,v,g,m,b]);if(!a()||!o&&!f)return null;const C=_(v?typeComponentMap[o]:f);return!C||u&&!b?null:(0,import_jsx_runtime.jsx)(SchemaInitializerItemContext.Provider,{value:S,children:(0,import_jsx_runtime.jsx)(C,P(x(x({},m),g),{children:b}))})});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&¤tName!==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,b=u(v,f.name,h);_.push(P(x({},f),{children:b}))}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=W(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)(),b=useActionContext();return{run(){return q(this,null,function*(){yield u==null?void 0:u(),b.setVisible(!1),v.reset()})}}},[u]),h=(0,import_react2.useCallback)(()=>{const v=(0,import_react.useForm)(),b=useActionContext();return{run(){return q(this,null,function*(){yield v.validate();try{yield m==null?void 0:m(v.values),b.setVisible(!1),v.reset()}catch(S){console.error(S)}})}}},[m]),g=(0,import_react2.useMemo)(()=>import_react2.default.forwardRef(({onClick:v},b)=>(0,import_jsx_runtime.jsx)(SchemaInitializerActionModalItemComponent,{onClick:v,ref:b,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=W(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=W(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 W(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+`
|
|
625
|
-
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(j){var B,N;for(B=0;B<j.length;B++)if(N=j[B],N===".")j.splice(B,1),B-=1;else if(N===".."){if(B===0||B===1&&j[2]===".."||j[B-1]==="..")continue;B>0&&(j.splice(B-1,2),B-=2)}}function v(j,B,N){var E,z,U,V,G,Y,K,H,J,X,Q,oe,ee=B&&B.split("/"),ie=a.map,ae=ie&&ie["*"];if(j&&(j=j.split("/"),K=j.length-1,a.nodeIdCompat&&jsSuffixRegExp.test(j[K])&&(j[K]=j[K].replace(jsSuffixRegExp,"")),j[0].charAt(0)==="."&&ee&&(oe=ee.slice(0,ee.length-1),j=oe.concat(j)),f(j),j=j.join("/")),N&&ie&&(ee||ae)){U=j.split("/");e:for(V=U.length;V>0;V-=1){if(Y=U.slice(0,V).join("/"),ee){for(G=ee.length;G>0;G-=1)if(z=getOwn(ie,ee.slice(0,G).join("/")),z&&(z=getOwn(z,Y),z)){H=z,J=V;break e}}!X&&ae&&getOwn(ae,Y)&&(X=getOwn(ae,Y),Q=V)}!H&&X&&(H=X,J=Q),H&&(U.splice(0,J,H),j=U.join("/"))}return E=getOwn(a.pkgs,j),E||j}function b(j){isBrowser&&each(scripts(),function(B){if(B.getAttribute("data-requiremodule")===j&&B.getAttribute("data-requirecontext")===r.contextName)return B.parentNode.removeChild(B),!0})}function S(j){var B=getOwn(a.paths,j);if(B&&isArray(B)&&B.length>1)return B.shift(),r.require.undef(j),r.makeRequire(null,{skipMap:!0})([j]),!0}function C(j){var B,N=j?j.indexOf("!"):-1;return N>-1&&(B=j.substring(0,N),j=j.substring(N+1,j.length)),[B,j]}function y(j,B,N,E){var z,U,V,G,Y=null,K=B?B.name:null,H=j,J=!0,X="";return j||(J=!1,j="_@r"+(g+=1)),G=C(j),Y=G[0],j=G[1],Y&&(Y=v(Y,K,E),U=getOwn(d,Y)),j&&(Y?N?X=j:U&&U.normalize?X=U.normalize(j,function(Q){return v(Q,K,E)}):X=j.indexOf("!")===-1?v(j,K,E):j:(X=v(j,K,E),G=C(X),Y=G[0],X=G[1],N=!0,z=r.nameToUrl(X))),V=Y&&!U&&!N?"_unnormalized"+(_+=1):"",{prefix:Y,name:X,parentMap:B,unnormalized:!!V,url:z,originalName:H,isDefine:J,id:(Y?Y+"!"+X:X)+V}}function F(j){var B=j.id,N=getOwn(l,B);return N||(N=l[B]=new r.Module(j)),N}function I(j,B,N){var E=j.id,z=getOwn(l,E);hasProp(d,E)&&(!z||z.defineEmitComplete)?B==="defined"&&N(d[E]):(z=F(j),z.error&&B==="error"?N(z.error):z.on(B,N))}function T(j,B){var N=j.requireModules,E=!1;B?B(j):(each(N,function(z){var U=getOwn(l,z);U&&(U.error=j,U.events.error&&(E=!0,U.emit("error",j)))}),E||req.onError(j))}function k(){globalDefQueue.length&&(each(globalDefQueue,function(j){var B=j[0];typeof B=="string"&&(r.defQueueMap[B]=!0),m.push(j)}),globalDefQueue=[])}i={require:function(j){return j.require?j.require:j.require=r.makeRequire(j.map)},exports:function(j){if(j.usingExports=!0,j.map.isDefine)return j.exports?d[j.map.id]=j.exports:j.exports=d[j.map.id]={}},module:function(j){return j.module?j.module:j.module={id:j.map.id,uri:j.map.url,config:function(){return getOwn(a.config,j.map.id)||{}},exports:j.exports||(j.exports={})}}};function $(j){delete l[j],delete c[j]}function M(j,B,N){var E=j.map.id;j.error?j.emit("error",j.error):(B[E]=!0,each(j.depMaps,function(z,U){var V=z.id,G=getOwn(l,V);G&&!j.depMatched[U]&&!N[V]&&(getOwn(B,V)?(j.defineDep(U,d[V]),j.check()):M(G,B,N))}),N[E]=!0)}function O(){var j,B,N=a.waitSeconds*1e3,E=N&&r.startTime+N<new Date().getTime(),z=[],U=[],V=!1,G=!0;if(!t){if(t=!0,eachProp(c,function(Y){var K=Y.map,H=K.id;if(Y.enabled&&(K.isDefine||U.push(Y),!Y.error)){if(!Y.inited&&E)S(H)?(B=!0,V=!0):(z.push(H),b(H));else if(!Y.inited&&Y.fetched&&K.isDefine&&(V=!0,!K.prefix))return G=!1}}),E&&z.length)return j=makeError("timeout","Load timeout for modules: "+z,null,z),j.contextName=r.contextName,T(j);G&&each(U,function(Y){M(Y,{},{})}),(!E||B)&&V&&(isBrowser||isWebWorker)&&!n&&(n=setTimeout(function(){n=0,O()},50)),t=!1}}o=function(j){this.events=getOwn(u,j.id)||{},this.map=j,this.shim=getOwn(a.shim,j.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},o.prototype={init:function(j,B,N,E){E=E||{},!this.inited&&(this.factory=B,N?this.on("error",N):this.events.error&&(N=bind(this,function(z){this.emit("error",z)})),this.depMaps=j&&j.slice(0),this.errback=N,this.inited=!0,this.ignore=E.ignore,E.enabled||this.enabled?this.enable():this.check())},defineDep:function(j,B){this.depMatched[j]||(this.depMatched[j]=!0,this.depCount-=1,this.depExports[j]=B)},fetch:function(){if(!this.fetched){this.fetched=!0,r.startTime=new Date().getTime();var j=this.map;if(this.shim)r.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return j.prefix?this.callPlugin():this.load()}));else return j.prefix?this.callPlugin():this.load()}},load:function(){var j=this.map.url;p[j]||(p[j]=!0,r.load(this.map.id,j))},check:function(){if(!(!this.enabled||this.enabling)){var j,B,N=this.map.id,E=this.depExports,z=this.exports,U=this.factory;if(!this.inited)hasProp(r.defQueueMap,N)||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{z=r.execCb(N,U,E,z)}catch(G){j=G}else z=r.execCb(N,U,E,z);if(this.map.isDefine&&z===void 0&&(B=this.module,B?z=B.exports:this.usingExports&&(z=this.exports)),j)return j.requireMap=this.map,j.requireModules=this.map.isDefine?[this.map.id]:null,j.requireType=this.map.isDefine?"define":"require",T(this.error=j)}else z=U;if(this.exports=z,this.map.isDefine&&!this.ignore&&(d[N]=z,req.onResourceLoad)){var V=[];each(this.depMaps,function(G){V.push(G.normalizedMap||G)}),req.onResourceLoad(r,this.map,V)}$(N),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var j=this.map,B=j.id,N=y(j.prefix);this.depMaps.push(N),I(N,"defined",bind(this,function(E){var z,U,V,G=getOwn(h,this.map.id),Y=this.map.name,K=this.map.parentMap?this.map.parentMap.name:null,H=r.makeRequire(j.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){E.normalize&&(Y=E.normalize(Y,function(J){return v(J,K,!0)})||""),U=y(j.prefix+"!"+Y,this.map.parentMap,!0),I(U,"defined",bind(this,function(J){this.map.normalizedMap=U,this.init([],function(){return J},null,{enabled:!0,ignore:!0})})),V=getOwn(l,U.id),V&&(this.depMaps.push(U),this.events.error&&V.on("error",bind(this,function(J){this.emit("error",J)})),V.enable());return}if(G){this.map.url=r.nameToUrl(G),this.load();return}z=bind(this,function(J){this.init([],function(){return J},null,{enabled:!0})}),z.error=bind(this,function(J){this.inited=!0,this.error=J,J.requireModules=[B],eachProp(l,function(X){X.map.id.indexOf(B+"_unnormalized")===0&&$(X.map.id)}),T(J)}),z.fromText=bind(this,function(J,X){var Q=j.name,oe=y(Q),ee=useInteractive;X&&(J=X),ee&&(useInteractive=!1),F(oe),hasProp(a.config,B)&&(a.config[Q]=a.config[B]);try{req.exec(J)}catch(ie){return T(makeError("fromtexteval","fromText eval for "+B+" failed: "+ie,ie,[B]))}ee&&(useInteractive=!0),this.depMaps.push(oe),r.completeLoad(Q),H([Q],z)}),E.load(j.name,H,z,a)})),r.enable(N,this),this.pluginMaps[N.id]=N},enable:function(){c[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(j,B){var N,E,z;if(typeof j=="string"){if(j=y(j,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[B]=j,z=getOwn(i,j.id),z){this.depExports[B]=z(this);return}this.depCount+=1,I(j,"defined",bind(this,function(U){this.undefed||(this.defineDep(B,U),this.check())})),this.errback?I(j,"error",bind(this,this.errback)):this.events.error&&I(j,"error",bind(this,function(U){this.emit("error",U)}))}N=j.id,E=l[N],!hasProp(i,N)&&E&&!E.enabled&&r.enable(j,this)})),eachProp(this.pluginMaps,bind(this,function(j){var B=getOwn(l,j.id);B&&!B.enabled&&r.enable(j,this)})),this.enabling=!1,this.check()},on:function(j,B){var N=this.events[j];N||(N=this.events[j]=[]),N.push(B)},emit:function(j,B){each(this.events[j],function(N){N(B)}),j==="error"&&delete this.events[j]}};function D(j){hasProp(d,j[0])||F(y(j[0],null,!0)).init(j[1],j[2])}function R(j,B,N,E){j.detachEvent&&!isOpera?E&&j.detachEvent(E,B):j.removeEventListener(N,B,!1)}function L(j){var B=j.currentTarget||j.srcElement;return R(B,r.onScriptLoad,"load","onreadystatechange"),R(B,r.onScriptError,"error"),{node:B,id:B&&B.getAttribute("data-requiremodule")}}function w(){var j;for(k();m.length;){if(j=m.shift(),j[0]===null)return T(makeError("mismatch","Mismatched anonymous define() module: "+j[j.length-1]));D(j)}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:T,configure:function(j){if(j.baseUrl&&j.baseUrl.charAt(j.baseUrl.length-1)!=="/"&&(j.baseUrl+="/"),typeof j.urlArgs=="string"){var B=j.urlArgs;j.urlArgs=function(z,U){return(U.indexOf("?")===-1?"?":"&")+B}}var N=a.shim,E={paths:!0,bundles:!0,config:!0,map:!0};eachProp(j,function(z,U){E[U]?(a[U]||(a[U]={}),mixin(a[U],z,!0,!0)):a[U]=z}),j.bundles&&eachProp(j.bundles,function(z,U){each(z,function(V){V!==U&&(h[V]=U)})}),j.shim&&(eachProp(j.shim,function(z,U){isArray(z)&&(z={deps:z}),(z.exports||z.init)&&!z.exportsFn&&(z.exportsFn=r.makeShimExports(z)),N[U]=z}),a.shim=N),j.packages&&each(j.packages,function(z){var U,V;z=typeof z=="string"?{name:z}:z,V=z.name,U=z.location,U&&(a.paths[V]=z.location),a.pkgs[V]=z.name+"/"+(z.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(l,function(z,U){!z.inited&&!z.map.unnormalized&&(z.map=y(U,null,!0))}),(j.deps||j.callback)&&r.require(j.deps||[],j.callback)},makeShimExports:function(j){function B(){var N;return j.init&&(N=j.init.apply(global,arguments)),N||j.exports&&getGlobal(j.exports)}return B},makeRequire:function(j,B){B=B||{};function N(E,z,U){var V,G,Y;return B.enableBuildCallback&&z&&isFunction(z)&&(z.__requireJsBuild=!0),typeof E=="string"?isFunction(z)?T(makeError("requireargs","Invalid require call"),U):j&&hasProp(i,E)?i[E](l[j.id]):req.get?req.get(r,E,j,N):(G=y(E,j,!1,!0),V=G.id,hasProp(d,V)?d[V]:T(makeError("notloaded",'Module name "'+V+'" has not been loaded yet for context: '+e+(j?"":". Use require([])")))):(w(),r.nextTick(function(){w(),Y=F(y(null,j)),Y.skipMap=B.skipMap,Y.init(E,z,U,{enabled:!0}),O()}),N)}return mixin(N,{isBrowser,toUrl:function(E){var z,U=E.lastIndexOf("."),V=E.split("/")[0],G=V==="."||V==="..";return U!==-1&&(!G||U>1)&&(z=E.substring(U,E.length),E=E.substring(0,U)),r.nameToUrl(v(E,j&&j.id,!0),z,!0)},defined:function(E){return hasProp(d,y(E,j,!1,!0).id)},specified:function(E){return E=y(E,j,!1,!0).id,hasProp(d,E)||hasProp(l,E)}}),j||(N.undef=function(E){k();var z=y(E,j,!0),U=getOwn(l,E);U.undefed=!0,b(E),delete d[E],delete p[z.url],delete u[E],eachReverse(m,function(V,G){V[0]===E&&m.splice(G,1)}),delete r.defQueueMap[E],U&&(U.events.defined&&(u[E]=U.events),$(E))}),N},enable:function(j){var B=getOwn(l,j.id);B&&F(j).enable()},completeLoad:function(j){var B,N,E,z=getOwn(a.shim,j)||{},U=z.exports;for(k();m.length;){if(N=m.shift(),N[0]===null){if(N[0]=j,B)break;B=!0}else N[0]===j&&(B=!0);D(N)}if(r.defQueueMap={},E=getOwn(l,j),!B&&!hasProp(d,j)&&E&&!E.inited){if(a.enforceDefine&&(!U||!getGlobal(U)))return S(j)?void 0:T(makeError("nodefine","No define call for "+j,null,[j]));D([j,z.deps||[],z.exportsFn])}O()},nameToUrl:function(j,B,N){var E,z,U,V,G,Y,K,H=getOwn(a.pkgs,j);if(H&&(j=H),K=getOwn(h,j),K)return r.nameToUrl(K,B,N);if(req.jsExtRegExp.test(j))G=j+(B||"");else{for(E=a.paths,z=j.split("/"),U=z.length;U>0;U-=1)if(V=z.slice(0,U).join("/"),Y=getOwn(E,V),Y){isArray(Y)&&(Y=Y[0]),z.splice(0,U,Y);break}G=z.join("/"),G+=B||(/^data\:|^blob\:|\?/.test(G)||N?"":".js"),G=(G.charAt(0)==="/"||G.match(/^[\w\+\.\-]+:/)?"":a.baseUrl)+G}return a.urlArgs&&!/^blob\:/.test(G)?G+a.urlArgs(j,G):G},load:function(j,B){req.load(r,j,B)},execCb:function(j,B,N,E){return B.apply(E,N)},onScriptLoad:function(j){if(j.type==="load"||readyRegExp.test((j.currentTarget||j.srcElement).readyState)){interactiveScript=null;var B=L(j);r.completeLoad(B.id)}},onScriptError:function(j){var B=L(j);if(!S(B.id)){var N=[];return eachProp(l,function(E,z){z.indexOf("_@r")!==0&&each(E.depMaps,function(U){if(U.id===B.id)return N.push(z),!0})}),T(makeError("scripterror",'Script error for "'+B.id+(N.length?'", needed by: '+N.join(", "):'"'),j,[B.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)?i.length===0:!o.truthy(i)},$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.length!==n.length)return!0;for(let a=0;a<i.length;a++)if(i[a]!==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 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),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 q(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 q(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}))}}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)(),b=a(),{fieldSchema:S}=useColumnSchema$1()||{};return{title:typeof n=="function"?n(v):f(n),width:m,schema:i(x(x({},g),_)),onSubmit(C){const y=getNewSchema({fieldSchema:p,parentSchemaKey:o,value:C,valueKeys:r});return S?(h.emit("patch",{schema:y}),h.refresh()):h.deepMerge(y),b==null?void 0:b(C)}}}}}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 b=getNewSchema({fieldSchema:m,schemaKey:n,value:v});d?(p.emit("patch",{schema:b}),p.refresh()):p.deepMerge(b)}}}}};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 b=getNewSchema({fieldSchema:u,schemaKey:r,value:f});g?(m.emit("patch",{schema:b}),m.refresh()):m.deepMerge(b)}}}}}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)=>q(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)(()=>{q(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=W(t,["collection","association","dataSource","children","hidden"]),{dn:c}=useDesignable();return a?null:(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:b}=useTemplateBlockContext(),S=y=>{var F;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 I=i.filterByTk===void 0?import_lodash.default.omit(i,"filterByTk"):i,T=x(x({},I),y);return(F=o[r])==null?void 0:F.call(o,T).then(k=>k.data)},C=(...y)=>v!=null&&v()&&!b?null:(a||S)(...y);return useRequest((...y)=>q(this,null,function*(){const[F,I]=yield Promise.all([C(...y),requestParentRecordData({sourceId:c,association:u,parentRecord:m,api:d,headers:h,sourceKey:g})]);return F&&(F.parentRecord=I==null?void 0:I.data),F}),P(x({},l),{manual:t==="manual",ready:!!r,refreshDeps:[r,_,f,o,u,m,c,b]}))}function requestParentRecordData(e){return q(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])||{},b=((f=(_=this.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};delete b[h];const S=mergeFilter([...Object.values(b).map(C=>removeNullCondition(C)),(t==null?void 0:t.filter)||{}]);this.service.run(P(x({},v),{page:1,filter:S}),{filters:b})},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=>q(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(".")}}}`,b=f.selectionStart||0,S=i.substring(0,b)+v+i.substring(b,i.length),C=b+v.length;n(S),m(C)},[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},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"])||{},[b,S]=(0,import_react2.useState)(!1);useCompile(),(0,import_react2.useEffect)(()=>{S(!0),q(void 0,null,function*(){setTimeout(()=>q(void 0,null,function*(){const F=yield getRenderContent(v,i,_,f,parseMarkdown);g(F)})),S(!1)})},[i,_,f,v]);const C=useMarkdownHeight(),y=useVariableOptions({collectionField:{uiSchema:l},form:d,record:p,uiSchema:l,noDisabled:!0});return(0,import_react2.useEffect)(()=>{registerQrcodeWebComponent()},[]),b?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):a!=null&&a.editable?(0,import_jsx_runtime.jsx)(MarkdownEditor,P(x({scope:y},e),{className:!0,defaultValue:i,onCancel:()=>{a.editable=!1,m==null||m()},onSubmit:F=>q(void 0,null,function*(){a.editable=!1,l["x-component-props"]!=null||(l["x-component-props"]={}),l["x-component-props"].content=F,a.componentProps.content=F,u==null||u(l),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":{content:F}}})})})):(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:C||"100%",overflowY:C?"auto":"null"}),dangerouslySetInnerHTML:{__html:h}})}),{displayName:"MarkdownVoid"}),MarkdownVoid=e=>(0,import_jsx_runtime.jsx)(FlagProvider,{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=W(o,["children"]);const{token:n}=useToken(),a=i,{title:l,description:c}=a,u=W(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)();useCollection(),console.log(),(0,import_react2.useEffect)(()=>{const f=setTimeout(()=>{if(h.current){const v=c?h.current.parentElement.parentElement.parentElement.offsetHeight:n.fontSizeLG*n.lineHeightLG+n.padding*2-1;p(v)}else d&&p(0)},500);return()=>clearTimeout(f)},[l,c]);const _=(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"}})]});return(0,import_jsx_runtime.jsx)(BlockItemCardContext.Provider,{value:{titleHeight:d},children:(0,import_jsx_runtime.jsx)(import_antd.Card,P(x({ref:t,bordered:!1,style:m},u),{title:_,children:r}))})});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)(()=>q(this,null,function*(){var _,f,v,b;const{assignedValues:S={},overwriteValues:C}=(_=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={},I=Object.keys(S).map(T=>q(this,null,function*(){const k=S[T],$=n(T);if(isVariable$1(k)){const{value:M}=(yield d==null?void 0:d.parseVariable(k,p))||{};M!=null&&(F[T]=transformVariableValue(M,{targetCollectionField:$}))}else k!==""&&(F[T]=k)}));if(yield Promise.all(I),(f=u==null?void 0:u["x-component-props"])==null?void 0:f.addChild){const T=a();y[(v=T==null?void 0:T.name)!=null?v:"parent"]=g,y[(b=T==null?void 0:T.foreignKey)!=null?b:"parentId"]=g==null?void 0:g.id}return x(x(x({},y),C),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",b=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[],S=useLocalVariables$1(),C=useVariables$1();return{onClick(){return q(this,null,function*(){var y,F;const{onSuccess:I,skipValidator:T,triggerWorkflows:k}=(y=m==null?void 0:m["x-action-settings"])!=null?y:{},{manualClose:$,redirecting:M,redirectTo:O,successMessage:D,actionAfterSuccess:R}=I||{};T||(yield r.submit());const L=yield f();d.data=i.data||{},d.data.loading=!0;try{const w=yield n[v]({values:L,filterKeys:b,filterByTk:t,triggerWorkflows:k!=null&&k.length?k.map(B=>[B.workflowKey,B.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});let j=O;if(O&&(j=yield getVariableValue(O,{variables:C,localVariables:[...S,{name:"$record",ctx:new Proxy((F=w==null?void 0:w.data)==null?void 0:F.data,{})}]})),(R==="previous"||!R&&M!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=w,!D){import_antd.message.success(g("Saved successfully")),yield resetFormCorrectly(r),(M&&!R||R==="redirect")&&j&&((0,import_client.isURL)(j)?window.location.href=j:u(j));return}$?h.success({title:p(D),onOk:()=>q(this,null,function*(){yield resetFormCorrectly(r),(M&&!R||R==="redirect")&&j&&((0,import_client.isURL)(j)?window.location.href=j:u(j))})}):(import_antd.message.success(p(D)),yield resetFormCorrectly(r),(M&&!R||R==="redirect")&&j&&((0,import_client.isURL)(j)?window.location.href=j:u(j)))}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(),b=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},C=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return q(this,null,function*(){var F,I,T,k,$,M;const O=m.map(V=>V.name),{assignedValues:D={},onSuccess:R,overwriteValues:L,skipValidator:w,triggerWorkflows:j}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},B=(I=a==null?void 0:a["x-component-props"])==null?void 0:I.addChild,{successMessage:N}=R||{},E={},z=Object.keys(D).map(V=>q(this,null,function*(){const G=D[V],Y=d(V);if(isVariable$1(G)){const{value:K}=(yield v==null?void 0:v.parseVariable(G,b))||{};K&&(E[V]=transformVariableValue(K,{targetCollectionField:Y}))}else G!==""&&(E[V]=G)}));yield Promise.all(z),w||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:O,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if(B){const V=p();U[(T=V==null?void 0:V.name)!=null?T:"parent"]=f,U[(k=V==null?void 0:V.foreignKey)!=null?k:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const V=yield r[C]({values:x(x(x({},U),L),E),filterKeys:y,triggerWorkflows:j!=null&&j.length?j.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0});if(u.data.loading=!1,u.data.data=V,(M=($=i==null?void 0:i.service)==null?void 0:$.refresh)==null||M.call($),n==null||n(!1),l==null||l(!0),!N)return;import_antd.message.success(g(N))}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)=>q(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>q(void 0,null,function*(){var h,g,_,f;if(!a.find(C=>C.uid===p.uid))return;const v=((h=p.service.params)==null?void 0:h[0])||{},b=((_=(g=p.service.params)==null?void 0:g[1])==null?void 0:_.filters)||{};b[l]=c();const S=mergeFilter([...Object.values(b).map(C=>removeNullCondition(C)),p.defaultFilter]);if(import_lodash.default.isEmpty(b[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(b[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(b[l])?p.clearData():p.doFilter(P(x({},v),{page:1,filter:S}),{filters:b})})))}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)();t.data=t.data||{};const o=(0,import_react.useForm)();return{onClick(){return q(this,null,function*(){yield o.submit(),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:()=>q(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 q(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 q(this,null,function*(){var f,v,b,S;const{assignedValues:C={},onSuccess:y,skipValidator:F,triggerWorkflows:I}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:T,redirecting:k,redirectTo:$,successMessage:M,actionAfterSuccess:O}=y||{},D={},R=Object.keys(C).map(j=>q(this,null,function*(){const B=C[j],N=p(j);if(isVariable$1(B)){const{value:E}=(yield u==null?void 0:u.parseVariable(B,m))||{};E&&(D[j]=transformVariableValue(E,{targetCollectionField:N}))}else B!==""&&(D[j]=B)}));yield Promise.all(R),F===!1&&(yield l.submit());const L=yield e.update({filterByTk:r,values:x({},D),triggerWorkflows:I!=null&&I.length?I.map(j=>[j.workflowKey,j.context].filter(Boolean).join("!")).join(","):void 0});let w=$;$&&(w=yield getVariableValue($,{variables:u,localVariables:[...m,{name:"$record",ctx:new Proxy((v=L==null?void 0:L.data)==null?void 0:v.data,{})}]})),(O==="previous"||!O&&k!==!0)&&(h==null||h(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(S=(b=t==null?void 0:t.service)==null?void 0:b.refresh)==null||S.call(b),M&&(T?c.success({title:a(M),onOk:()=>q(this,null,function*(){(k&&!O||O==="redirect")&&w&&((0,import_client.isURL)(w)?window.location.href=w:n(w))})}):(import_antd.message.success(a(M)),(k&&!O||O==="redirect")&&w&&((0,import_client.isURL)(w)?window.location.href=w:n(w))))})}}},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(),b=useVariables$1();useRecord();const{name:S,getField:C}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return q(this,null,function*(){var I;const{assignedValues:T={},onSuccess:k,updateMode:$}=(I=u==null?void 0:u["x-action-settings"])!=null?I:{},{manualClose:M,redirecting:O,redirectTo:D,successMessage:R,actionAfterSuccess:L}=k||{};f.data=i.data||{},f.data.loading=!0;const w={},j=Object.keys(T).map(B=>q(this,null,function*(){const N=T[B],E=C(B);if(isVariable$1(N)){const{value:z}=(yield b==null?void 0:b.parseVariable(N,y))||{};z&&(w[B]=transformVariableValue(z,{targetCollectionField:E}))}else N!==""&&(w[B]=N)}));yield Promise.all(j),(L==="previous"||!L&&O!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_($==="selected"?"Update selected data?":"Update all data?"),onOk(){return q(this,null,function*(){var B,N,E,z;const{filter:U}=(N=(B=l.params)==null?void 0:B[0])!=null?N:{},V={values:x({},w),filter:U,forceUpdate:!1};if($==="selected"){if(!(p!=null&&p.length)){import_antd.message.error(_("Please select the records to be updated")),f.data.loading=!1;return}V.filter={$and:[{[d||"id"]:{$in:p}}]}}V.filter||(V.forceUpdate=!0);try{yield n.update(V)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(z=(E=a==null?void 0:a.service)==null?void 0:E.refresh)==null||z.call(E),R&&(M?v.success({title:g(R),onOk:()=>q(this,null,function*(){(O&&!L||L==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:h(D))})}):(import_antd.message.success(g(R)),(O&&!L||L==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:h(D))))})},onCancel(){return q(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:b}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:C}=useFormActiveFields()||{};return{onClick(){return q(this,null,function*(){var y,F,I,T;const{skipValidator:k,onSuccess:$,requestSettings:M}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:O,redirecting:D,redirectTo:R,successMessage:L,actionAfterSuccess:w}=$||{},j=i==null?void 0:i["x-action"];if(!M.url)return;k!==!0&&j==="customize:form:request"&&(yield a.submit());const B=M.headers?JSON.parse(M.headers):{},N=M.params?JSON.parse(M.params):{},E=M.data?JSON.parse(M.data):{};if(j==="customize:form:request"&&["POST","PUT","PATCH"].includes(M.method)){const U=l.map(G=>G.name),V=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(C==null?void 0:C("form"))||[]});Object.assign(E,V)}const z={url:renderTemplate(M.url,{currentRecord:h,currentUser:_}),method:M.method,headers:(0,import_client.parse)(B)({currentRecord:h,currentUser:_}),params:(0,import_client.parse)(N)({currentRecord:h,currentUser:_}),data:(0,import_client.parse)(E)({currentRecord:h,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},z)),f.data.loading=!1,m instanceof TableFieldResource||(I=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||I.call(F),(T=p==null?void 0:p.refresh)==null||T.call(p),j==="customize:form:request"&&(w==="previous"||!w&&D!==!0)&&(b==null||b(!1)),L||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(D&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:o(R))),O?S.success({title:n(L),onOk:()=>q(this,null,function*(){(D&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:o(R))})}):import_antd.message.success(n(L))}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(),b=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(C,y){return q(this,null,function*(){var F,I;const{assignedValues:T={},onSuccess:k,overwriteValues:$,skipValidator:M,triggerWorkflows:O}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:D,redirecting:R,redirectTo:L,successMessage:w,actionAfterSuccess:j}=k||{},B={},N=Object.keys(T).map(U=>q(this,null,function*(){const V=T[U],G=m(U);if(isVariable$1(V)){const{value:Y}=(yield v==null?void 0:v.parseVariable(V,b))||{};Y&&(B[U]=transformVariableValue(Y,{targetCollectionField:G}))}else V!==""&&(B[U]=V)}));yield Promise.all(N),M||(yield e.submit());const E=u.map(U=>U.name),z=getFormValues({filterByTk:t,field:o,form:e,fieldNames:E,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({},z),$),B)},f),{updateAssociationValues:g,triggerWorkflows:O!=null&&O.length?O.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0}));h.data.loading=!1,y&&(y==null||y());let V=L;if(L&&(V=yield getVariableValue(L,{variables:v,localVariables:[...b,{name:"$record",ctx:new Proxy((I=U==null?void 0:U.data)==null?void 0:I.data,{})}]})),(j==="previous"||!j&&R!==!0)&&(n==null||n(!1)),a==null||a(!1),!w)return;D?_.success({title:p(w),onOk:()=>q(this,null,function*(){yield e.reset(),(R&&!j||j==="redirect")&&V&&((0,import_client.isURL)(V)?window.location.href=V:c(V))})}):(import_antd.message.success(p(w)),(R&&!j||j==="redirect"||j==="redirect")&&V&&((0,import_client.isURL)(V)?window.location.href=V:c(V)))}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 q(this,null,function*(){var d,p,h,g,_,f,v;const{triggerWorkflows:b}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:b!=null&&b.length?b.map(F=>[F.workflowKey,F.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:S=0,page:C=0,pageSize:y=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};if(S%y===1&&C!==1){const F=(h=o.params[0])==null?void 0:h.page,I=(_=(g=o.data)==null?void 0:g.meta)==null?void 0:_.totalPage;F===I&&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 q(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 q(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 q(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(b=>{const S={};return n.map(C=>{S[C]=b[C]}),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 q(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(b){return q(this,null,function*(){var S,C;const y=(C=(S=_.service)==null?void 0:S.params)==null?void 0:C[0];_.service.run(P(x({},y),{page:b}))})},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`
|
|
625
|
+
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(j){var B,N;for(B=0;B<j.length;B++)if(N=j[B],N===".")j.splice(B,1),B-=1;else if(N===".."){if(B===0||B===1&&j[2]===".."||j[B-1]==="..")continue;B>0&&(j.splice(B-1,2),B-=2)}}function v(j,B,N){var E,z,U,V,G,Y,K,H,J,X,Q,oe,ee=B&&B.split("/"),ie=a.map,ae=ie&&ie["*"];if(j&&(j=j.split("/"),K=j.length-1,a.nodeIdCompat&&jsSuffixRegExp.test(j[K])&&(j[K]=j[K].replace(jsSuffixRegExp,"")),j[0].charAt(0)==="."&&ee&&(oe=ee.slice(0,ee.length-1),j=oe.concat(j)),f(j),j=j.join("/")),N&&ie&&(ee||ae)){U=j.split("/");e:for(V=U.length;V>0;V-=1){if(Y=U.slice(0,V).join("/"),ee){for(G=ee.length;G>0;G-=1)if(z=getOwn(ie,ee.slice(0,G).join("/")),z&&(z=getOwn(z,Y),z)){H=z,J=V;break e}}!X&&ae&&getOwn(ae,Y)&&(X=getOwn(ae,Y),Q=V)}!H&&X&&(H=X,J=Q),H&&(U.splice(0,J,H),j=U.join("/"))}return E=getOwn(a.pkgs,j),E||j}function b(j){isBrowser&&each(scripts(),function(B){if(B.getAttribute("data-requiremodule")===j&&B.getAttribute("data-requirecontext")===r.contextName)return B.parentNode.removeChild(B),!0})}function S(j){var B=getOwn(a.paths,j);if(B&&isArray(B)&&B.length>1)return B.shift(),r.require.undef(j),r.makeRequire(null,{skipMap:!0})([j]),!0}function C(j){var B,N=j?j.indexOf("!"):-1;return N>-1&&(B=j.substring(0,N),j=j.substring(N+1,j.length)),[B,j]}function y(j,B,N,E){var z,U,V,G,Y=null,K=B?B.name:null,H=j,J=!0,X="";return j||(J=!1,j="_@r"+(g+=1)),G=C(j),Y=G[0],j=G[1],Y&&(Y=v(Y,K,E),U=getOwn(d,Y)),j&&(Y?N?X=j:U&&U.normalize?X=U.normalize(j,function(Q){return v(Q,K,E)}):X=j.indexOf("!")===-1?v(j,K,E):j:(X=v(j,K,E),G=C(X),Y=G[0],X=G[1],N=!0,z=r.nameToUrl(X))),V=Y&&!U&&!N?"_unnormalized"+(_+=1):"",{prefix:Y,name:X,parentMap:B,unnormalized:!!V,url:z,originalName:H,isDefine:J,id:(Y?Y+"!"+X:X)+V}}function F(j){var B=j.id,N=getOwn(l,B);return N||(N=l[B]=new r.Module(j)),N}function I(j,B,N){var E=j.id,z=getOwn(l,E);hasProp(d,E)&&(!z||z.defineEmitComplete)?B==="defined"&&N(d[E]):(z=F(j),z.error&&B==="error"?N(z.error):z.on(B,N))}function T(j,B){var N=j.requireModules,E=!1;B?B(j):(each(N,function(z){var U=getOwn(l,z);U&&(U.error=j,U.events.error&&(E=!0,U.emit("error",j)))}),E||req.onError(j))}function k(){globalDefQueue.length&&(each(globalDefQueue,function(j){var B=j[0];typeof B=="string"&&(r.defQueueMap[B]=!0),m.push(j)}),globalDefQueue=[])}i={require:function(j){return j.require?j.require:j.require=r.makeRequire(j.map)},exports:function(j){if(j.usingExports=!0,j.map.isDefine)return j.exports?d[j.map.id]=j.exports:j.exports=d[j.map.id]={}},module:function(j){return j.module?j.module:j.module={id:j.map.id,uri:j.map.url,config:function(){return getOwn(a.config,j.map.id)||{}},exports:j.exports||(j.exports={})}}};function $(j){delete l[j],delete c[j]}function M(j,B,N){var E=j.map.id;j.error?j.emit("error",j.error):(B[E]=!0,each(j.depMaps,function(z,U){var V=z.id,G=getOwn(l,V);G&&!j.depMatched[U]&&!N[V]&&(getOwn(B,V)?(j.defineDep(U,d[V]),j.check()):M(G,B,N))}),N[E]=!0)}function O(){var j,B,N=a.waitSeconds*1e3,E=N&&r.startTime+N<new Date().getTime(),z=[],U=[],V=!1,G=!0;if(!t){if(t=!0,eachProp(c,function(Y){var K=Y.map,H=K.id;if(Y.enabled&&(K.isDefine||U.push(Y),!Y.error)){if(!Y.inited&&E)S(H)?(B=!0,V=!0):(z.push(H),b(H));else if(!Y.inited&&Y.fetched&&K.isDefine&&(V=!0,!K.prefix))return G=!1}}),E&&z.length)return j=makeError("timeout","Load timeout for modules: "+z,null,z),j.contextName=r.contextName,T(j);G&&each(U,function(Y){M(Y,{},{})}),(!E||B)&&V&&(isBrowser||isWebWorker)&&!n&&(n=setTimeout(function(){n=0,O()},50)),t=!1}}o=function(j){this.events=getOwn(u,j.id)||{},this.map=j,this.shim=getOwn(a.shim,j.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},o.prototype={init:function(j,B,N,E){E=E||{},!this.inited&&(this.factory=B,N?this.on("error",N):this.events.error&&(N=bind(this,function(z){this.emit("error",z)})),this.depMaps=j&&j.slice(0),this.errback=N,this.inited=!0,this.ignore=E.ignore,E.enabled||this.enabled?this.enable():this.check())},defineDep:function(j,B){this.depMatched[j]||(this.depMatched[j]=!0,this.depCount-=1,this.depExports[j]=B)},fetch:function(){if(!this.fetched){this.fetched=!0,r.startTime=new Date().getTime();var j=this.map;if(this.shim)r.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return j.prefix?this.callPlugin():this.load()}));else return j.prefix?this.callPlugin():this.load()}},load:function(){var j=this.map.url;p[j]||(p[j]=!0,r.load(this.map.id,j))},check:function(){if(!(!this.enabled||this.enabling)){var j,B,N=this.map.id,E=this.depExports,z=this.exports,U=this.factory;if(!this.inited)hasProp(r.defQueueMap,N)||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{z=r.execCb(N,U,E,z)}catch(G){j=G}else z=r.execCb(N,U,E,z);if(this.map.isDefine&&z===void 0&&(B=this.module,B?z=B.exports:this.usingExports&&(z=this.exports)),j)return j.requireMap=this.map,j.requireModules=this.map.isDefine?[this.map.id]:null,j.requireType=this.map.isDefine?"define":"require",T(this.error=j)}else z=U;if(this.exports=z,this.map.isDefine&&!this.ignore&&(d[N]=z,req.onResourceLoad)){var V=[];each(this.depMaps,function(G){V.push(G.normalizedMap||G)}),req.onResourceLoad(r,this.map,V)}$(N),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var j=this.map,B=j.id,N=y(j.prefix);this.depMaps.push(N),I(N,"defined",bind(this,function(E){var z,U,V,G=getOwn(h,this.map.id),Y=this.map.name,K=this.map.parentMap?this.map.parentMap.name:null,H=r.makeRequire(j.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){E.normalize&&(Y=E.normalize(Y,function(J){return v(J,K,!0)})||""),U=y(j.prefix+"!"+Y,this.map.parentMap,!0),I(U,"defined",bind(this,function(J){this.map.normalizedMap=U,this.init([],function(){return J},null,{enabled:!0,ignore:!0})})),V=getOwn(l,U.id),V&&(this.depMaps.push(U),this.events.error&&V.on("error",bind(this,function(J){this.emit("error",J)})),V.enable());return}if(G){this.map.url=r.nameToUrl(G),this.load();return}z=bind(this,function(J){this.init([],function(){return J},null,{enabled:!0})}),z.error=bind(this,function(J){this.inited=!0,this.error=J,J.requireModules=[B],eachProp(l,function(X){X.map.id.indexOf(B+"_unnormalized")===0&&$(X.map.id)}),T(J)}),z.fromText=bind(this,function(J,X){var Q=j.name,oe=y(Q),ee=useInteractive;X&&(J=X),ee&&(useInteractive=!1),F(oe),hasProp(a.config,B)&&(a.config[Q]=a.config[B]);try{req.exec(J)}catch(ie){return T(makeError("fromtexteval","fromText eval for "+B+" failed: "+ie,ie,[B]))}ee&&(useInteractive=!0),this.depMaps.push(oe),r.completeLoad(Q),H([Q],z)}),E.load(j.name,H,z,a)})),r.enable(N,this),this.pluginMaps[N.id]=N},enable:function(){c[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(j,B){var N,E,z;if(typeof j=="string"){if(j=y(j,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[B]=j,z=getOwn(i,j.id),z){this.depExports[B]=z(this);return}this.depCount+=1,I(j,"defined",bind(this,function(U){this.undefed||(this.defineDep(B,U),this.check())})),this.errback?I(j,"error",bind(this,this.errback)):this.events.error&&I(j,"error",bind(this,function(U){this.emit("error",U)}))}N=j.id,E=l[N],!hasProp(i,N)&&E&&!E.enabled&&r.enable(j,this)})),eachProp(this.pluginMaps,bind(this,function(j){var B=getOwn(l,j.id);B&&!B.enabled&&r.enable(j,this)})),this.enabling=!1,this.check()},on:function(j,B){var N=this.events[j];N||(N=this.events[j]=[]),N.push(B)},emit:function(j,B){each(this.events[j],function(N){N(B)}),j==="error"&&delete this.events[j]}};function D(j){hasProp(d,j[0])||F(y(j[0],null,!0)).init(j[1],j[2])}function R(j,B,N,E){j.detachEvent&&!isOpera?E&&j.detachEvent(E,B):j.removeEventListener(N,B,!1)}function L(j){var B=j.currentTarget||j.srcElement;return R(B,r.onScriptLoad,"load","onreadystatechange"),R(B,r.onScriptError,"error"),{node:B,id:B&&B.getAttribute("data-requiremodule")}}function w(){var j;for(k();m.length;){if(j=m.shift(),j[0]===null)return T(makeError("mismatch","Mismatched anonymous define() module: "+j[j.length-1]));D(j)}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:T,configure:function(j){if(j.baseUrl&&j.baseUrl.charAt(j.baseUrl.length-1)!=="/"&&(j.baseUrl+="/"),typeof j.urlArgs=="string"){var B=j.urlArgs;j.urlArgs=function(z,U){return(U.indexOf("?")===-1?"?":"&")+B}}var N=a.shim,E={paths:!0,bundles:!0,config:!0,map:!0};eachProp(j,function(z,U){E[U]?(a[U]||(a[U]={}),mixin(a[U],z,!0,!0)):a[U]=z}),j.bundles&&eachProp(j.bundles,function(z,U){each(z,function(V){V!==U&&(h[V]=U)})}),j.shim&&(eachProp(j.shim,function(z,U){isArray(z)&&(z={deps:z}),(z.exports||z.init)&&!z.exportsFn&&(z.exportsFn=r.makeShimExports(z)),N[U]=z}),a.shim=N),j.packages&&each(j.packages,function(z){var U,V;z=typeof z=="string"?{name:z}:z,V=z.name,U=z.location,U&&(a.paths[V]=z.location),a.pkgs[V]=z.name+"/"+(z.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(l,function(z,U){!z.inited&&!z.map.unnormalized&&(z.map=y(U,null,!0))}),(j.deps||j.callback)&&r.require(j.deps||[],j.callback)},makeShimExports:function(j){function B(){var N;return j.init&&(N=j.init.apply(global,arguments)),N||j.exports&&getGlobal(j.exports)}return B},makeRequire:function(j,B){B=B||{};function N(E,z,U){var V,G,Y;return B.enableBuildCallback&&z&&isFunction(z)&&(z.__requireJsBuild=!0),typeof E=="string"?isFunction(z)?T(makeError("requireargs","Invalid require call"),U):j&&hasProp(i,E)?i[E](l[j.id]):req.get?req.get(r,E,j,N):(G=y(E,j,!1,!0),V=G.id,hasProp(d,V)?d[V]:T(makeError("notloaded",'Module name "'+V+'" has not been loaded yet for context: '+e+(j?"":". Use require([])")))):(w(),r.nextTick(function(){w(),Y=F(y(null,j)),Y.skipMap=B.skipMap,Y.init(E,z,U,{enabled:!0}),O()}),N)}return mixin(N,{isBrowser,toUrl:function(E){var z,U=E.lastIndexOf("."),V=E.split("/")[0],G=V==="."||V==="..";return U!==-1&&(!G||U>1)&&(z=E.substring(U,E.length),E=E.substring(0,U)),r.nameToUrl(v(E,j&&j.id,!0),z,!0)},defined:function(E){return hasProp(d,y(E,j,!1,!0).id)},specified:function(E){return E=y(E,j,!1,!0).id,hasProp(d,E)||hasProp(l,E)}}),j||(N.undef=function(E){k();var z=y(E,j,!0),U=getOwn(l,E);U.undefed=!0,b(E),delete d[E],delete p[z.url],delete u[E],eachReverse(m,function(V,G){V[0]===E&&m.splice(G,1)}),delete r.defQueueMap[E],U&&(U.events.defined&&(u[E]=U.events),$(E))}),N},enable:function(j){var B=getOwn(l,j.id);B&&F(j).enable()},completeLoad:function(j){var B,N,E,z=getOwn(a.shim,j)||{},U=z.exports;for(k();m.length;){if(N=m.shift(),N[0]===null){if(N[0]=j,B)break;B=!0}else N[0]===j&&(B=!0);D(N)}if(r.defQueueMap={},E=getOwn(l,j),!B&&!hasProp(d,j)&&E&&!E.inited){if(a.enforceDefine&&(!U||!getGlobal(U)))return S(j)?void 0:T(makeError("nodefine","No define call for "+j,null,[j]));D([j,z.deps||[],z.exportsFn])}O()},nameToUrl:function(j,B,N){var E,z,U,V,G,Y,K,H=getOwn(a.pkgs,j);if(H&&(j=H),K=getOwn(h,j),K)return r.nameToUrl(K,B,N);if(req.jsExtRegExp.test(j))G=j+(B||"");else{for(E=a.paths,z=j.split("/"),U=z.length;U>0;U-=1)if(V=z.slice(0,U).join("/"),Y=getOwn(E,V),Y){isArray(Y)&&(Y=Y[0]),z.splice(0,U,Y);break}G=z.join("/"),G+=B||(/^data\:|^blob\:|\?/.test(G)||N?"":".js"),G=(G.charAt(0)==="/"||G.match(/^[\w\+\.\-]+:/)?"":a.baseUrl)+G}return a.urlArgs&&!/^blob\:/.test(G)?G+a.urlArgs(j,G):G},load:function(j,B){req.load(r,j,B)},execCb:function(j,B,N,E){return B.apply(E,N)},onScriptLoad:function(j){if(j.type==="load"||readyRegExp.test((j.currentTarget||j.srcElement).readyState)){interactiveScript=null;var B=L(j);r.completeLoad(B.id)}},onScriptError:function(j){var B=L(j);if(!S(B.id)){var N=[];return eachProp(l,function(E,z){z.indexOf("_@r")!==0&&each(E.depMaps,function(U){if(U.id===B.id)return N.push(z),!0})}),T(makeError("scripterror",'Script error for "'+B.id+(N.length?'", needed by: '+N.join(", "):'"'),j,[B.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)?i.length===0:!o.truthy(i)},$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.length!==n.length)return!0;for(let a=0;a<i.length;a++)if(i[a]!==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 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),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 q(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 q(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}))}}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)(),b=a(),{fieldSchema:S}=useColumnSchema$1()||{};return{title:typeof n=="function"?n(v):f(n),width:m,schema:i(x(x({},g),_)),onSubmit(C){const y=getNewSchema({fieldSchema:p,parentSchemaKey:o,value:C,valueKeys:r});return S?(h.emit("patch",{schema:y}),h.refresh()):h.deepMerge(y),b==null?void 0:b(C)}}}}}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 b=getNewSchema({fieldSchema:m,schemaKey:n,value:v});d?(p.emit("patch",{schema:b}),p.refresh()):p.deepMerge(b)}}}}};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 b=getNewSchema({fieldSchema:u,schemaKey:r,value:f});g?(m.emit("patch",{schema:b}),m.refresh()):m.deepMerge(b)}}}}}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)=>q(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)(()=>{q(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=W(t,["collection","association","dataSource","children","hidden"]),{dn:c}=useDesignable();return a?null:(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]),v=b=>{var S;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 C=i.filterByTk===void 0?import_lodash.default.omit(i,"filterByTk"):i,y=x(x({},C),b);return(S=o[r])==null?void 0:S.call(o,y).then(F=>F.data)};return useRequest((...b)=>q(this,null,function*(){const[S,C]=yield Promise.all([(a||v)(...b),requestParentRecordData({sourceId:c,association:u,parentRecord:m,api:d,headers:h,sourceKey:g})]);return S&&(S.parentRecord=C==null?void 0:C.data),S}),P(x({},l),{manual:t==="manual",ready:!!r,refreshDeps:[r,_,f,o,u,m,c]}))}function requestParentRecordData(e){return q(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])||{},b=((f=(_=this.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};delete b[h];const S=mergeFilter([...Object.values(b).map(C=>removeNullCondition(C)),(t==null?void 0:t.filter)||{}]);this.service.run(P(x({},v),{page:1,filter:S}),{filters:b})},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=>q(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(".")}}}`,b=f.selectionStart||0,S=i.substring(0,b)+v+i.substring(b,i.length),C=b+v.length;n(S),m(C)},[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},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"])||{},[b,S]=(0,import_react2.useState)(!1);useCompile(),(0,import_react2.useEffect)(()=>{S(!0),q(void 0,null,function*(){setTimeout(()=>q(void 0,null,function*(){const F=yield getRenderContent(v,i,_,f,parseMarkdown);g(F)})),S(!1)})},[i,_,f,v]);const C=useMarkdownHeight(),y=useVariableOptions({collectionField:{uiSchema:l},form:d,record:p,uiSchema:l,noDisabled:!0});return(0,import_react2.useEffect)(()=>{registerQrcodeWebComponent()},[]),b?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):a!=null&&a.editable?(0,import_jsx_runtime.jsx)(MarkdownEditor,P(x({scope:y},e),{className:!0,defaultValue:i,onCancel:()=>{a.editable=!1,m==null||m()},onSubmit:F=>q(void 0,null,function*(){a.editable=!1,l["x-component-props"]!=null||(l["x-component-props"]={}),l["x-component-props"].content=F,a.componentProps.content=F,u==null||u(l),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":{content:F}}})})})):(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:C||"100%",overflowY:C?"auto":"null"}),dangerouslySetInnerHTML:{__html:h}})}),{displayName:"MarkdownVoid"}),MarkdownVoid=e=>(0,import_jsx_runtime.jsx)(FlagProvider,{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=W(o,["children"]);const{token:n}=useToken(),a=i,{title:l,description:c}=a,u=W(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)();useCollection(),console.log(),(0,import_react2.useEffect)(()=>{const f=setTimeout(()=>{if(h.current){const v=c?h.current.parentElement.parentElement.parentElement.offsetHeight:n.fontSizeLG*n.lineHeightLG+n.padding*2-1;p(v)}else d&&p(0)},500);return()=>clearTimeout(f)},[l,c]);const _=(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"}})]});return(0,import_jsx_runtime.jsx)(BlockItemCardContext.Provider,{value:{titleHeight:d},children:(0,import_jsx_runtime.jsx)(import_antd.Card,P(x({ref:t,bordered:!1,style:m},u),{title:_,children:r}))})});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)(()=>q(this,null,function*(){var _,f,v,b;const{assignedValues:S={},overwriteValues:C}=(_=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={},I=Object.keys(S).map(T=>q(this,null,function*(){const k=S[T],$=n(T);if(isVariable$1(k)){const{value:M}=(yield d==null?void 0:d.parseVariable(k,p))||{};M!=null&&(F[T]=transformVariableValue(M,{targetCollectionField:$}))}else k!==""&&(F[T]=k)}));if(yield Promise.all(I),(f=u==null?void 0:u["x-component-props"])==null?void 0:f.addChild){const T=a();y[(v=T==null?void 0:T.name)!=null?v:"parent"]=g,y[(b=T==null?void 0:T.foreignKey)!=null?b:"parentId"]=g==null?void 0:g.id}return x(x(x({},y),C),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",b=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[],S=useLocalVariables$1(),C=useVariables$1();return{onClick(){return q(this,null,function*(){var y,F;const{onSuccess:I,skipValidator:T,triggerWorkflows:k}=(y=m==null?void 0:m["x-action-settings"])!=null?y:{},{manualClose:$,redirecting:M,redirectTo:O,successMessage:D,actionAfterSuccess:R}=I||{};T||(yield r.submit());const L=yield f();d.data=i.data||{},d.data.loading=!0;try{const w=yield n[v]({values:L,filterKeys:b,filterByTk:t,triggerWorkflows:k!=null&&k.length?k.map(B=>[B.workflowKey,B.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});let j=O;if(O&&(j=yield getVariableValue(O,{variables:C,localVariables:[...S,{name:"$record",ctx:new Proxy((F=w==null?void 0:w.data)==null?void 0:F.data,{})}]})),(R==="previous"||!R&&M!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=w,!D){import_antd.message.success(g("Saved successfully")),yield resetFormCorrectly(r),(M&&!R||R==="redirect")&&j&&((0,import_client.isURL)(j)?window.location.href=j:u(j));return}$?h.success({title:p(D),onOk:()=>q(this,null,function*(){yield resetFormCorrectly(r),(M&&!R||R==="redirect")&&j&&((0,import_client.isURL)(j)?window.location.href=j:u(j))})}):(import_antd.message.success(p(D)),yield resetFormCorrectly(r),(M&&!R||R==="redirect")&&j&&((0,import_client.isURL)(j)?window.location.href=j:u(j)))}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(),b=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},C=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return q(this,null,function*(){var F,I,T,k,$,M;const O=m.map(V=>V.name),{assignedValues:D={},onSuccess:R,overwriteValues:L,skipValidator:w,triggerWorkflows:j}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},B=(I=a==null?void 0:a["x-component-props"])==null?void 0:I.addChild,{successMessage:N}=R||{},E={},z=Object.keys(D).map(V=>q(this,null,function*(){const G=D[V],Y=d(V);if(isVariable$1(G)){const{value:K}=(yield v==null?void 0:v.parseVariable(G,b))||{};K&&(E[V]=transformVariableValue(K,{targetCollectionField:Y}))}else G!==""&&(E[V]=G)}));yield Promise.all(z),w||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:O,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if(B){const V=p();U[(T=V==null?void 0:V.name)!=null?T:"parent"]=f,U[(k=V==null?void 0:V.foreignKey)!=null?k:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const V=yield r[C]({values:x(x(x({},U),L),E),filterKeys:y,triggerWorkflows:j!=null&&j.length?j.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0});if(u.data.loading=!1,u.data.data=V,(M=($=i==null?void 0:i.service)==null?void 0:$.refresh)==null||M.call($),n==null||n(!1),l==null||l(!0),!N)return;import_antd.message.success(g(N))}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)=>q(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>q(void 0,null,function*(){var h,g,_,f;if(!a.find(C=>C.uid===p.uid))return;const v=((h=p.service.params)==null?void 0:h[0])||{},b=((_=(g=p.service.params)==null?void 0:g[1])==null?void 0:_.filters)||{};b[l]=c();const S=mergeFilter([...Object.values(b).map(C=>removeNullCondition(C)),p.defaultFilter]);if(import_lodash.default.isEmpty(b[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(b[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(b[l])?p.clearData():p.doFilter(P(x({},v),{page:1,filter:S}),{filters:b})})))}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)();t.data=t.data||{};const o=(0,import_react.useForm)();return{onClick(){return q(this,null,function*(){yield o.submit(),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:()=>q(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 q(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 q(this,null,function*(){var f,v,b,S;const{assignedValues:C={},onSuccess:y,skipValidator:F,triggerWorkflows:I}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:T,redirecting:k,redirectTo:$,successMessage:M,actionAfterSuccess:O}=y||{},D={},R=Object.keys(C).map(j=>q(this,null,function*(){const B=C[j],N=p(j);if(isVariable$1(B)){const{value:E}=(yield u==null?void 0:u.parseVariable(B,m))||{};E&&(D[j]=transformVariableValue(E,{targetCollectionField:N}))}else B!==""&&(D[j]=B)}));yield Promise.all(R),F===!1&&(yield l.submit());const L=yield e.update({filterByTk:r,values:x({},D),triggerWorkflows:I!=null&&I.length?I.map(j=>[j.workflowKey,j.context].filter(Boolean).join("!")).join(","):void 0});let w=$;$&&(w=yield getVariableValue($,{variables:u,localVariables:[...m,{name:"$record",ctx:new Proxy((v=L==null?void 0:L.data)==null?void 0:v.data,{})}]})),(O==="previous"||!O&&k!==!0)&&(h==null||h(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(S=(b=t==null?void 0:t.service)==null?void 0:b.refresh)==null||S.call(b),M&&(T?c.success({title:a(M),onOk:()=>q(this,null,function*(){(k&&!O||O==="redirect")&&w&&((0,import_client.isURL)(w)?window.location.href=w:n(w))})}):(import_antd.message.success(a(M)),(k&&!O||O==="redirect")&&w&&((0,import_client.isURL)(w)?window.location.href=w:n(w))))})}}},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(),b=useVariables$1();useRecord();const{name:S,getField:C}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return q(this,null,function*(){var I;const{assignedValues:T={},onSuccess:k,updateMode:$}=(I=u==null?void 0:u["x-action-settings"])!=null?I:{},{manualClose:M,redirecting:O,redirectTo:D,successMessage:R,actionAfterSuccess:L}=k||{};f.data=i.data||{},f.data.loading=!0;const w={},j=Object.keys(T).map(B=>q(this,null,function*(){const N=T[B],E=C(B);if(isVariable$1(N)){const{value:z}=(yield b==null?void 0:b.parseVariable(N,y))||{};z&&(w[B]=transformVariableValue(z,{targetCollectionField:E}))}else N!==""&&(w[B]=N)}));yield Promise.all(j),(L==="previous"||!L&&O!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_($==="selected"?"Update selected data?":"Update all data?"),onOk(){return q(this,null,function*(){var B,N,E,z;const{filter:U}=(N=(B=l.params)==null?void 0:B[0])!=null?N:{},V={values:x({},w),filter:U,forceUpdate:!1};if($==="selected"){if(!(p!=null&&p.length)){import_antd.message.error(_("Please select the records to be updated")),f.data.loading=!1;return}V.filter={$and:[{[d||"id"]:{$in:p}}]}}V.filter||(V.forceUpdate=!0);try{yield n.update(V)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(z=(E=a==null?void 0:a.service)==null?void 0:E.refresh)==null||z.call(E),R&&(M?v.success({title:g(R),onOk:()=>q(this,null,function*(){(O&&!L||L==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:h(D))})}):(import_antd.message.success(g(R)),(O&&!L||L==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:h(D))))})},onCancel(){return q(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:b}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:C}=useFormActiveFields()||{};return{onClick(){return q(this,null,function*(){var y,F,I,T;const{skipValidator:k,onSuccess:$,requestSettings:M}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:O,redirecting:D,redirectTo:R,successMessage:L,actionAfterSuccess:w}=$||{},j=i==null?void 0:i["x-action"];if(!M.url)return;k!==!0&&j==="customize:form:request"&&(yield a.submit());const B=M.headers?JSON.parse(M.headers):{},N=M.params?JSON.parse(M.params):{},E=M.data?JSON.parse(M.data):{};if(j==="customize:form:request"&&["POST","PUT","PATCH"].includes(M.method)){const U=l.map(G=>G.name),V=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(C==null?void 0:C("form"))||[]});Object.assign(E,V)}const z={url:renderTemplate(M.url,{currentRecord:h,currentUser:_}),method:M.method,headers:(0,import_client.parse)(B)({currentRecord:h,currentUser:_}),params:(0,import_client.parse)(N)({currentRecord:h,currentUser:_}),data:(0,import_client.parse)(E)({currentRecord:h,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},z)),f.data.loading=!1,m instanceof TableFieldResource||(I=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||I.call(F),(T=p==null?void 0:p.refresh)==null||T.call(p),j==="customize:form:request"&&(w==="previous"||!w&&D!==!0)&&(b==null||b(!1)),L||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(D&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:o(R))),O?S.success({title:n(L),onOk:()=>q(this,null,function*(){(D&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:o(R))})}):import_antd.message.success(n(L))}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(),b=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(C,y){return q(this,null,function*(){var F,I;const{assignedValues:T={},onSuccess:k,overwriteValues:$,skipValidator:M,triggerWorkflows:O}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:D,redirecting:R,redirectTo:L,successMessage:w,actionAfterSuccess:j}=k||{},B={},N=Object.keys(T).map(U=>q(this,null,function*(){const V=T[U],G=m(U);if(isVariable$1(V)){const{value:Y}=(yield v==null?void 0:v.parseVariable(V,b))||{};Y&&(B[U]=transformVariableValue(Y,{targetCollectionField:G}))}else V!==""&&(B[U]=V)}));yield Promise.all(N),M||(yield e.submit());const E=u.map(U=>U.name),z=getFormValues({filterByTk:t,field:o,form:e,fieldNames:E,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({},z),$),B)},f),{updateAssociationValues:g,triggerWorkflows:O!=null&&O.length?O.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0}));h.data.loading=!1,y&&(y==null||y());let V=L;if(L&&(V=yield getVariableValue(L,{variables:v,localVariables:[...b,{name:"$record",ctx:new Proxy((I=U==null?void 0:U.data)==null?void 0:I.data,{})}]})),(j==="previous"||!j&&R!==!0)&&(n==null||n(!1)),a==null||a(!1),!w)return;D?_.success({title:p(w),onOk:()=>q(this,null,function*(){yield e.reset(),(R&&!j||j==="redirect")&&V&&((0,import_client.isURL)(V)?window.location.href=V:c(V))})}):(import_antd.message.success(p(w)),(R&&!j||j==="redirect"||j==="redirect")&&V&&((0,import_client.isURL)(V)?window.location.href=V:c(V)))}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 q(this,null,function*(){var d,p,h,g,_,f,v;const{triggerWorkflows:b}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:b!=null&&b.length?b.map(F=>[F.workflowKey,F.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:S=0,page:C=0,pageSize:y=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};if(S%y===1&&C!==1){const F=(h=o.params[0])==null?void 0:h.page,I=(_=(g=o.data)==null?void 0:g.meta)==null?void 0:_.totalPage;F===I&&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 q(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 q(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 q(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(b=>{const S={};return n.map(C=>{S[C]=b[C]}),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 q(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(b){return q(this,null,function*(){var S,C;const y=(C=(S=_.service)==null?void 0:S.params)==null?void 0:C[0];_.service.run(P(x({},y),{page:b}))})},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`
|
|
626
626
|
.ant-pagination-simple-pager {
|
|
627
627
|
display: none !important;
|
|
628
628
|
}
|
|
@@ -658,7 +658,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
658
658
|
> .ant-formily-item-label {
|
|
659
659
|
display: none !important;
|
|
660
660
|
}
|
|
661
|
-
`,FormItem=withDynamicSchemaProps((0,import_react.observer)(e=>{var t,o,r;useEnsureOperatorsValid();const i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{addActiveFieldName:a}=useFormActiveFields()||{},{wrapperStyle:l}=useDataFormItemProps(),{t:c}=(0,import_react_i18next.useTranslation)();useParseDefaultValue(),useLazyLoadDisplayAssociationFieldsOfForm(),useLinkageRulesForSubTableOrSubForm(),(0,import_react2.useEffect)(()=>{a==null||a(n.name)},[a,n.name]),i.title=c(i.title,{ns:NAMESPACE_UI_SCHEMA});const u=(o=(t=n["x-decorator-props"])==null?void 0:t.showTitle)!=null?o:!0,m=(0,import_react2.useMemo)(()=>{if(i.description&&i.description!=="")return typeof i.description=="string"?(0,import_jsx_runtime.jsx)("div",{dangerouslySetInnerHTML:{__html:HTMLEncode(c(i.description,{ns:NAMESPACE_UI_SCHEMA})).split(`
|
|
661
|
+
`,FormItem=withDynamicSchemaProps((0,import_react.observer)(e=>{var t,o,r;useEnsureOperatorsValid();const i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{addActiveFieldName:a}=useFormActiveFields()||{},{wrapperStyle:l}=useDataFormItemProps(),{t:c}=(0,import_react_i18next.useTranslation)();useParseDefaultValue(),useLazyLoadDisplayAssociationFieldsOfForm(),useLinkageRulesForSubTableOrSubForm(),(0,import_react2.useEffect)(()=>{a==null||a(n.name)},[a,n.name]),i.title=i.title&&c(i.title,{ns:NAMESPACE_UI_SCHEMA});const u=(o=(t=n["x-decorator-props"])==null?void 0:t.showTitle)!=null?o:!0,m=(0,import_react2.useMemo)(()=>{if(i.description&&i.description!=="")return typeof i.description=="string"?(0,import_jsx_runtime.jsx)("div",{dangerouslySetInnerHTML:{__html:HTMLEncode(c(i.description,{ns:NAMESPACE_UI_SCHEMA})).split(`
|
|
662
662
|
`).join("<br/>")}}):i.description},[i.description]),d=(0,import_react2.useMemo)(()=>(0,import_css.cx)(formItemWrapCss,{[formItemLabelCss]:u===!1}),[u]);return(r=i.data)!=null&&r.hidden?null:(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{allowNull:!0,children:(0,import_jsx_runtime.jsx)(BlockItem,{className:(0,import_css.cx)("nb-form-item",import_css.css`
|
|
663
663
|
.ant-formily-item-layout-horizontal .ant-formily-item-control {
|
|
664
664
|
max-width: ${u===!1||n["x-component"]!=="CollectionField"?"100% !important":null};
|
|
@@ -737,7 +737,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
737
737
|
}
|
|
738
738
|
}
|
|
739
739
|
}
|
|
740
|
-
`,children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:c.address,schema:a,onlyRenderProperties:!0,isUseFormilyField:!0})})}))})})},Def=e=>e.children,FormDecorator=e=>{const t=e,{form:o,children:r,disabled:i}=t,n=W(t,["form","children","disabled"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useAttach(o.createVoidField(P(x({},a.props),{basePath:""}))),u=useComponent(l["x-component"],Def);return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},n),{children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:c,children:(0,import_jsx_runtime.jsx)(u,P(x({},a.componentProps),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:c.address,schema:l,onlyRenderProperties:!0,isUseFormilyField:!0})}))})}))})})},getLinkageRules=e=>{let t=null;return e.mapProperties(o=>{o["x-linkage-rules"]&&(t=o["x-linkage-rules"])}),t},WithForm=e=>{var t,o;const{form:r}=e,i=(0,import_react.useFieldSchema)(),{setFormValueChanged:n}=useActionContext(),a=useVariables$1(),l=useLocalVariables$1({currentForm:r}),{templateFinished:c}=useTemplateBlockContext(),{loading:u
|
|
740
|
+
`,children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:c.address,schema:a,onlyRenderProperties:!0,isUseFormilyField:!0})})}))})})},Def=e=>e.children,FormDecorator=e=>{const t=e,{form:o,children:r,disabled:i}=t,n=W(t,["form","children","disabled"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useAttach(o.createVoidField(P(x({},a.props),{basePath:""}))),u=useComponent(l["x-component"],Def);return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},n),{children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:c,children:(0,import_jsx_runtime.jsx)(u,P(x({},a.componentProps),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:c.address,schema:l,onlyRenderProperties:!0,isUseFormilyField:!0})}))})}))})})},getLinkageRules=e=>{let t=null;return e.mapProperties(o=>{o["x-linkage-rules"]&&(t=o["x-linkage-rules"])}),t},WithForm=e=>{var t,o;const{form:r}=e,i=(0,import_react.useFieldSchema)(),{setFormValueChanged:n}=useActionContext(),a=useVariables$1(),l=useLocalVariables$1({currentForm:r}),{templateFinished:c}=useTemplateBlockContext(),{loading:u}=useDataBlockRequest()||{},m=useApp(),d=((o=getLinkageRules(i)||((t=i.parent)==null?void 0:t["x-linkage-rules"]))==null?void 0:o.filter(h=>!h.disabled))||[],{confirmBeforeClose:p=!0}=useDataBlockProps()||{};return(0,import_react2.useEffect)(()=>{const h=(0,import_shared.uid)();return r.addEffects(h,()=>{(0,import_core.onFormInputChange)(()=>{n==null||n(p)})}),e.disabled&&(r.disabled=e.disabled),()=>{r.removeEffects(h)}},[r,e.disabled,n,p]),(0,import_react2.useEffect)(()=>{if(u)return;const h=(0,import_shared.uid)(),g=[];return setTimeout(()=>{r.addEffects(h,()=>{forEachLinkageRule(d,(_,f)=>{var v;if((v=_.targetFields)!=null&&v.length){const b=_.targetFields.join(",");(0,import_core.onFieldInit)(`*(${b})`,(S,C)=>{g.push(bindLinkageRulesToFiled({field:S,linkageRules:d,formValues:C.values,localVariables:l,action:_,rule:f,variables:a},m.jsonLogic))})}})})}),()=>{r.removeEffects(h),g.forEach(_=>{_()})}},[d,c,u]),i["x-decorator"]==="FormV2"?(0,import_jsx_runtime.jsx)(FormDecorator,x({},e)):(0,import_jsx_runtime.jsx)(FormComponent,x({},e))},WithoutForm=e=>{const t=(0,import_react.useFieldSchema)(),{setFormValueChanged:o}=useActionContext(),{confirmBeforeClose:r=!0}=useDataBlockProps()||{},i=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({validateFirst:!0,disabled:e.disabled,effects(){(0,import_core.onFormInputChange)(n=>{o==null||o(r)})}}),[r]);return t["x-decorator"]==="FormV2"?(0,import_jsx_runtime.jsx)(FormDecorator,x({form:i},e)):(0,import_jsx_runtime.jsx)(FormComponent,x({form:i},e))},formLayoutCss=import_css.css`
|
|
741
741
|
.ant-formily-item-feedback-layout-loose {
|
|
742
742
|
margin-bottom: 12px;
|
|
743
743
|
}
|
|
@@ -1173,7 +1173,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
1173
1173
|
}
|
|
1174
1174
|
}
|
|
1175
1175
|
}
|
|
1176
|
-
`,children:(0,import_jsx_runtime.jsx)(import_react_js_cron.Cron,x({setValue:o,locale:window.cronLocale},r))})},ReadPretty$4=e=>{const t=useAPIClient().auth.getLocale(),o=(0,import_react2.useMemo)(()=>{try{return import_cronstrue.default.toString(e.value,{locale:t,use24HourTimeFormat:!0})}catch{return(0,import_client.error)(`The '${e.value}' is not a valid cron expression`),e.value}},[e.value]);return e.value?(0,import_jsx_runtime.jsx)("span",{children:o}):null},Cron=(0,import_react.connect)(Input,(0,import_react.mapReadPretty)(ReadPretty$4));Cron.ReadPretty=ReadPretty$4;const CronSetInternal=e=>{var t;const{onChange:o,value:r}=e,{getField:i}=useCollection_deprecated(),n=(0,import_react.useFieldSchema)(),a=(t=i(n==null?void 0:n.name))==null?void 0:t.uiSchema.enum,l=useCompile(),[c,u]=(0,import_react2.useState)({label:"{{t('Custom')}}",value:"@daily"}),m=(0,import_react2.useMemo)(()=>(e.options||[]).concat(a||[]).concat([c]).map(h=>P(x({},h),{label:l(h.label)})),[e.options,c]);(0,import_react2.useEffect)(()=>{typeof r>"u"||r===null||m.find(h=>h.value===r)||u(P(x({},c),{value:r}))},[m,r]);const d=(0,import_react2.useMemo)(()=>r===c.value,[r,c]),p=(h,g=!1)=>{g&&u(P(x({},c),{value:h})),o(h)};return(0,import_jsx_runtime.jsxs)("fieldset",{children:[(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({popupMatchSelectWidth:!1,allowClear:!0},e),{value:r,options:m,onChange:h=>p(h)})),d?(0,import_jsx_runtime.jsx)(Cron,{value:r,onChange:h=>p(h,!0),allowedDropdowns:["period","week-days","months","month-days"],allowedPeriods:["year","month","week","day"]}):null]})},ReadPretty$3=e=>{var t;const{value:o}=e,r=useCompile(),i=(0,import_react.useFieldSchema)(),n=useCollection(),a=(t=n==null?void 0:n.getField(i==null?void 0:i.name))==null?void 0:t.uiSchema.enum,l=(0,import_react2.useMemo)(()=>(e.options||[]).concat(a||[]),[e.options]),c=(0,import_react2.useMemo)(()=>{var u;return o&&((u=l==null?void 0:l.find(m=>m.value===o))==null?void 0:u.label)},[l,o]);return(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:!0,children:o&&(c?r(c):(0,import_jsx_runtime.jsx)(Cron.ReadPretty,x({},e)))})},CronSet=(0,import_react.connect)(CronSetInternal,(0,import_react.mapReadPretty)(ReadPretty$3)),Details=withDynamicSchemaProps(withSkeletonComponent(e=>{const
|
|
1176
|
+
`,children:(0,import_jsx_runtime.jsx)(import_react_js_cron.Cron,x({setValue:o,locale:window.cronLocale},r))})},ReadPretty$4=e=>{const t=useAPIClient().auth.getLocale(),o=(0,import_react2.useMemo)(()=>{try{return import_cronstrue.default.toString(e.value,{locale:t,use24HourTimeFormat:!0})}catch{return(0,import_client.error)(`The '${e.value}' is not a valid cron expression`),e.value}},[e.value]);return e.value?(0,import_jsx_runtime.jsx)("span",{children:o}):null},Cron=(0,import_react.connect)(Input,(0,import_react.mapReadPretty)(ReadPretty$4));Cron.ReadPretty=ReadPretty$4;const CronSetInternal=e=>{var t;const{onChange:o,value:r}=e,{getField:i}=useCollection_deprecated(),n=(0,import_react.useFieldSchema)(),a=(t=i(n==null?void 0:n.name))==null?void 0:t.uiSchema.enum,l=useCompile(),[c,u]=(0,import_react2.useState)({label:"{{t('Custom')}}",value:"@daily"}),m=(0,import_react2.useMemo)(()=>(e.options||[]).concat(a||[]).concat([c]).map(h=>P(x({},h),{label:l(h.label)})),[e.options,c]);(0,import_react2.useEffect)(()=>{typeof r>"u"||r===null||m.find(h=>h.value===r)||u(P(x({},c),{value:r}))},[m,r]);const d=(0,import_react2.useMemo)(()=>r===c.value,[r,c]),p=(h,g=!1)=>{g&&u(P(x({},c),{value:h})),o(h)};return(0,import_jsx_runtime.jsxs)("fieldset",{children:[(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({popupMatchSelectWidth:!1,allowClear:!0},e),{value:r,options:m,onChange:h=>p(h)})),d?(0,import_jsx_runtime.jsx)(Cron,{value:r,onChange:h=>p(h,!0),allowedDropdowns:["period","week-days","months","month-days"],allowedPeriods:["year","month","week","day"]}):null]})},ReadPretty$3=e=>{var t;const{value:o}=e,r=useCompile(),i=(0,import_react.useFieldSchema)(),n=useCollection(),a=(t=n==null?void 0:n.getField(i==null?void 0:i.name))==null?void 0:t.uiSchema.enum,l=(0,import_react2.useMemo)(()=>(e.options||[]).concat(a||[]),[e.options]),c=(0,import_react2.useMemo)(()=>{var u;return o&&((u=l==null?void 0:l.find(m=>m.value===o))==null?void 0:u.label)},[l,o]);return(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:!0,children:o&&(c?r(c):(0,import_jsx_runtime.jsx)(Cron.ReadPretty,x({},e)))})},CronSet=(0,import_react.connect)(CronSetInternal,(0,import_react.mapReadPretty)(ReadPretty$3)),Details=withDynamicSchemaProps(withSkeletonComponent(e=>{const t=useDataBlockRequestData(),o=(0,import_react.useFieldSchema)();return import_lodash.default.isEmpty(t==null?void 0:t.data)?(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:o.properties.pagination,name:"pagination"})]}):(0,import_jsx_runtime.jsx)("div",{className:"nb-details",children:(0,import_jsx_runtime.jsx)(FormWithDataTemplates,x({},e))})}),{displayName:"NocoBaseDetails"}),Divider=(0,import_react.connect)(e=>{const{color:t,borderColor:o}=e;return(0,import_jsx_runtime.jsx)(import_antd.Divider,P(x({},e),{type:"horizontal",style:{color:t,borderColor:o},orientationMargin:"0"}))},(0,import_react.mapProps)(e=>x({orientation:"left"},e))),actionDesignerCss=import_css.css`
|
|
1177
1177
|
position: relative;
|
|
1178
1178
|
&:hover {
|
|
1179
1179
|
.general-schema-designer {
|